[原创] 【米尔MYS-8MMX】米尔MYS-8MMQ6-8E2D-180-C应用四——NLP使用自定义词典

tobot   2021-9-19 00:17 楼主

在上篇(https://bbs.eeworld.com.cn/thread-1178634-1-1.html)中,我们在米尔MYS-8MMQ6-8E2D-180-C的板卡上尝试对词性进行了标注,发现jieba缺省库中的词性识别并不是特别准确,同时而且分词还存在一些问题,本篇进一步学习NLP,并尝试解决这些问题。

解决上述词典质量不佳问题的最简单方法就是重建一个词典,但那样的话,工作量实在太大,好在jieba里面,支持多词典的叠加使用,可以使用类似jieba.add_word('阿紫道',tag='err')直接屏蔽识别错误的词语,也可以使用类似jieba.load_userdict("wg.txt")重新加载词典。

作为一个武侠迷,花了近两周时间做了一个金庸武侠招式的字典,自定义了拳、掌(爪)、腿、刀、剑等各种招式的字典,加载成功以后尝试运行,结果如下:

射雕英雄传:

image-20210919001609-1.png  

天龙八部:

image-20210919001609-2.png  

    发现似乎有点什么不对劲,刀法里面的那个“不要”是哪里来的呢?

    自定义的字典很明确是没有这个的,那么只可能是jiaba自己带进来的了,这个词应该是非常常用的。

    搜索dict.txt文件,找到在/usr/lib/python2.7/site-packages/jieba/dict.txt

image-20210919001610-3.png  

    可以看到不要被标注成为了“df”,与我们自定义的“刀法”缩写重合了,造成了误判;而且在词典中,仅有这一个“df”标记,推测是标记写错了,可以在代码中直接将“不要”改为v,再尝试执行:

image-20210919001610-4.png  

    很明显,刀法中的“不要”就已经没有了。自定义词典功能验证成功。

 

 

 

回复评论 (3)

词典功能验证成功,说明金庸武侠招式的字典招式挺管用,,,,,

点赞  2021-9-19 08:04

很有意思呀这个。

没有什么不可以,我就是我,不一样的烟火! 
点赞  2021-9-19 14:37

谢谢分享,NLP接触少,现在看来也挺有意思的。

默认摸鱼,再摸鱼。2022、9、28
点赞  2021-9-22 18:01
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复