FASPell icon indicating copy to clipboard operation
FASPell copied to clipboard

分享一个自己生成的特征文件 char_meta.txt

Open Lijiachen1018 opened this issue 4 years ago • 24 comments

char_meta.txt

约10MB大小,不能保证完全正确。

几行预览:

U+4E07	万	wan4,mo4;maan6,mak6;MAN,MWUK;MAN,BAN;vạn	⿱一⿰丿𠃌
U+4E08	丈	zhang4;zoeng6;CANG;JOU,CHOU;trượng	⿻一⿻㇇乀
U+4E09	三	san1;saam1,saam3;SAM;SAN;tam	⿱一⿱一一
U+4E0A	上	shang4,shang3;soeng5,soeng6;SANG;JOU,SHOU;thượng	⿱⿰丨一一
U+4E0B	下	xia4;haa5,haa6;HA;KA,GE;hạ	⿱一⿻丨丶
U+4E0C	丌	qi2,ji1;gei1;KI;KI,GI;null	⿱一⿰丿丨

生成过程

  • [x] 从Unihan_Readings.txt获取汉字的各个语言发音
    • [x] 汉语多音字kHanyuPinyin, kMandarin, kTGHZ2013, kXHC1983
    • [x] 各语言kCantonese, kKorean, kJapaneseOn, kVietnamese
  • [x] 从ids.txt遍历拆解汉字笔画,
    • [x] 拆解复杂字,在ids.txt提供了部件笔画的
    • [x] 部分简单字没有笔画,利用makemehanzi的笔画
    • [x] 获取所有中文笔画的集合,cjklib分解后只有1画的
    • [x] 还是部分简单字没有笔画,标注后再遍历(利用wiki dictionary和自己标)

Lijiachen1018 avatar Jul 24 '20 06:07 Lijiachen1018

前一阵还看到一个小米的小爱语音纠错 -> 微信文章

Lijiachen1018 avatar Jul 24 '20 06:07 Lijiachen1018

多谢分享 是不是应该拼音在前 笔画在后

huitang avatar Aug 04 '20 19:08 huitang

多谢分享 是不是应该拼音在前 笔画在后

确实反了,已经上传了新的😂

Lijiachen1018 avatar Aug 05 '20 01:08 Lijiachen1018

多谢分享

TianWuYuJiangHenShou avatar Aug 25 '20 08:08 TianWuYuJiangHenShou

感谢分享

mrb957600057 avatar Aug 27 '20 13:08 mrb957600057

感谢分享

michael-zhaoxy avatar Apr 02 '21 10:04 michael-zhaoxy

fine-tuned/ 这目录下的文件有吗 可以分享否

lwsbox avatar Jun 05 '21 06:06 lwsbox

没有吧 这个最好自己再自己的数据上训练

On Fri, Jun 4, 2021 at 11:39 PM lwsbox @.***> wrote:

fine-tuned/ 这目录下的文件有吗 可以分享否

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/iqiyi/FASPell/issues/33#issuecomment-855193662, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAOPKZCQX52GO6ULVESF74LTRHBA7ANCNFSM4PGNU5QQ .

huitang avatar Jun 08 '21 16:06 huitang

fine-tuned/ 这目录下的文件有吗 可以分享否

Google Drive

Lijiachen1018 avatar Jun 09 '21 06:06 Lijiachen1018

多谢分享 是不是应该拼音在前 笔画在后

确实反了,已经上传了新的😂

上传新的文件在哪呢

hudielv avatar Jun 17 '21 03:06 hudielv

Hi, 这个特征文件你有自己测试过吗,我试了下,发现用这个文件输出的田 由的相似度只有0.33, 去文件里找了下,发现它们的ids 为田: ⿵⿰丨𠃌⿱⿻一丨一 由:⿻⿴⿱⿰丨𠃌一一丨, 它们的编辑距离变成了6,这和作者的数据有明显的出入

hstk30 avatar Jun 23 '21 08:06 hstk30

我没用它这个文件,他这个IDS文件确实有问题

hudielv avatar Jun 23 '21 08:06 hudielv

@hudielv 那你是怎么做的?

hstk30 avatar Jun 23 '21 09:06 hstk30

嗯,好像又是对的,因为 @Lijiachen1018 生成的是树形的ids, 而我使用的是 levenshtein 的编辑距离, 我再测试下

hstk30 avatar Jun 23 '21 09:06 hstk30

嗯,好像又是对的,因为 @Lijiachen1018 生成的是树形的ids, 而我使用的是 levenshtein 的编辑距离, 我再测试下

为什么是树形的ids呢,难道不是和原论文一样的先序遍历序列嘛

wellhowtosay avatar Jul 19 '21 14:07 wellhowtosay

这个ids文件是树结构,但是有一个问题,就是单纯以笔画顺序来做ids(@Lijiachen1018),例如 田、由,本来字形很近似,却得到较大距离=7,导致测试结果跟例子(距离=1)不同。FASPell应该是根据字形统一优化了ids。 因此,想要好的效果,ids需要再优化。

huangxin168 avatar Oct 11 '21 07:10 huangxin168

嗯,好像又是对的,因为 @Lijiachen1018 生成的是树形的ids, 而我使用的是 levenshtein 的编辑距离, 我再测试下

ids规范就是树形的, 虽然是树形,也可以用来计算 levenshtein,也是有效的。FASPell应该是根据字形统一优化了ids。 论文说了,FASPell用的是简单的levenshtein,没有用TED: We do not use the tree-form IDS for two reasons even as it seems to make more sense intuitively. Firstly, even with the most efficient algorithm (Pawlik and Augsten, 2015, 2016) so far, tree edit distance (TED) has far greater time complexity than edit distance of strings (O(mn(m + n)) vs. O(mn)). Secondly, we did try TED in preliminary experiments, but there was no significant difference from using edit distance of strings in terms of spell checking performance.

huangxin168 avatar Oct 12 '21 08:10 huangxin168

fine-tuned/ 这目录下的文件有吗 可以分享否

Google Drive

这个fine-turned model试了下,效果不行,还没有直接用pretrained的好。 其实如果不是特定场景的应用,不需要fine-tuned model。 论文里说了: Note that we do not fine-tune the mask language model for OCR data because we learned in preliminary experiments that fine-tuning worsens performance for this type of data9.

huangxin168 avatar Oct 18 '21 13:10 huangxin168

这个特征文件有问题啊,使用这个特征文件计算出来的“田”和“由”相似度:

For character pair (由, 田): v-sim = 0.33333333333333337 p-sim = 0.09

使用作者提供的 char_meta.txt 部分数据计算得到: For character pair (由, 田): v-sim = 0.8888888888888888 p-sim = 0.09

是不是 stroke-level IDS 哪里出问题了啊?

zejunwang1 avatar Sep 16 '22 08:09 zejunwang1

这个特征文件有问题啊,使用这个特征文件计算出来的“田”和“由”相似度:

For character pair (由, 田): v-sim = 0.33333333333333337 p-sim = 0.09

使用作者提供的 char_meta.txt 部分数据计算得到: For character pair (由, 田): v-sim = 0.8888888888888888 p-sim = 0.09

是不是 stroke-level IDS 哪里出问题了啊?

问题已解决,在计算编辑距离前可以先对这份特征文件的 stroke-level IDS 进行排序,排序后计算出来的字形相似度就正确了。

zejunwang1 avatar Sep 16 '22 09:09 zejunwang1

请详细说一下怎么操作可以吗?感谢!

huangxin168 avatar Sep 16 '22 10:09 huangxin168

请详细说一下怎么操作可以吗?感谢!

对 田: ⿵⿰丨𠃌⿱⿻一丨一 和 由:⿻⿴⿱⿰丨𠃌一一丨 的 ids 先进行排序,再计算编辑距离

zejunwang1 avatar Sep 16 '22 13:09 zejunwang1

请详细说一下怎么操作可以吗?感谢!

对 田: ⿵⿰丨𠃌⿱⿻一丨一 和 由:⿻⿴⿱⿰丨𠃌一一丨 的 ids 先进行排序,再计算编辑距离

非常感谢!我试试看。

huangxin168 avatar Sep 16 '22 13:09 huangxin168

请详细说一下怎么操作可以吗?感谢!

对 田: ⿵⿰丨𠃌⿱⿻一丨一 和 由:⿻⿴⿱⿰丨𠃌一一丨 的 ids 先进行排序,再计算编辑距离

您好,可以解释一下怎么排序吗,谢谢

JasonCZH4 avatar Jan 12 '24 16:01 JasonCZH4