【米尔MYS-8MMX】米尔MYS-8MMQ6-8E2D-180-C应用四——NLP使用自定义词典
<div class='showpostmsg'><p style="text-indent:21.0000pt; text-align:justify"><span style="font-size:10.5pt"><span style="font-family:Calibri"><span style="font-size:10.5000pt"><span style="font-family:宋体"><font face="宋体">在上篇(</font><font face="Calibri">https://bbs.eeworld.com.cn/thread-1178634-1-1.html</font><font face="宋体">)中,我们在米尔</font><font face="Calibri">MYS-8MMQ6-8E2D-180-C</font><font face="宋体">的板卡上尝试对词性进行了标注,发现</font><font face="Calibri">jieba</font><font face="宋体">缺省库中的词性识别并不是特别准确,同时而且分词还存在一些问题,本篇进一步学习</font><font face="Calibri">NLP</font><font face="宋体">,并尝试解决这些问题。</font></span></span></span></span></p><p style="text-indent:21.0000pt; text-align:justify"><span style="font-size:10.5pt"><span style="font-family:Calibri"><span style="font-size:10.5000pt"><span style="font-family:宋体"><font face="宋体">解决上述词典质量不佳问题的最简单方法就是重建一个词典,但那样的话,工作量实在太大,好在</font><font face="Calibri">jieba</font><font face="宋体">里面,支持多词典的叠加使用,可以使用类似</font><font face="Calibri">jieba.add_word('</font><font face="宋体">阿紫道</font><font face="Calibri">',tag='err')</font><font face="宋体">直接屏蔽识别错误的词语,也可以使用类似</font><font face="Calibri">jieba.load_userdict("wg.txt")</font><font face="宋体">重新加载词典。</font></span></span></span></span></p>
<p style="text-indent:21.0000pt; text-align:justify"><span style="font-size:10.5pt"><span style="font-family:Calibri"><span style="font-size:10.5000pt"><span style="font-family:宋体"><font face="宋体">作为一个武侠迷,花了近两周时间做了一个金庸武侠招式的字典,自定义了拳、掌(爪)、腿、刀、剑等各种招式的字典,加载成功以后尝试运行,结果如下:</font></span></span></span></span></p>
<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:Calibri"><span style="font-size:10.5000pt"><span style="font-family:宋体"><font face="宋体">射雕英雄传:</font></span></span></span></span></p>
<p style="text-align:justify"> </p>
<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:Calibri"><span style="font-size:10.5000pt"><span style="font-family:宋体"><font face="宋体">天龙八部:</font></span></span></span></span></p>
<p style="text-align:justify"> </p>
<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:Calibri"><span style="font-size:10.5000pt"><span style="font-family:宋体"><font face="宋体"> 发现似乎有点什么不对劲,刀法里面的那个“不要”是哪里来的呢?</font></span></span></span></span></p>
<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:Calibri"><span style="font-size:10.5000pt"><span style="font-family:宋体"><font face="宋体"> 自定义的字典很明确是没有这个的,那么只可能是</font><font face="Calibri">jiaba</font><font face="宋体">自己带进来的了,这个词应该是非常常用的。</font></span></span></span></span></p>
<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:Calibri"><span style="font-size:10.5000pt"><span style="font-family:宋体"><font face="宋体"> 搜索</font><font face="Calibri">dict.txt</font><font face="宋体">文件,找到在</font><font face="Calibri">/usr/lib/python2.7/site-packages/jieba/dict.txt</font><font face="宋体">。</font></span></span></span></span></p>
<p style="text-align:justify"> </p>
<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:Calibri"><span style="font-size:10.5000pt"><span style="font-family:宋体"><font face="宋体"> 可以看到不要被标注成为了“</font><font face="Calibri">df</font></span></span><span style="font-size:10.5000pt"><span style="font-family:宋体"><font face="宋体">”,与我们自定义的“刀法”缩写重合了,造成了误判;而且在词典中,仅有这一个“</font></span></span><span style="font-size:10.5000pt"><span style="font-family:宋体"><font face="Calibri">df</font></span></span><span style="font-size:10.5000pt"><span style="font-family:宋体"><font face="宋体">”标记,推测是标记写错了,可以在代码中直接将“不要”改为</font></span></span><span style="font-size:10.5000pt"><span style="font-family:宋体"><font face="Calibri">v</font><font face="宋体">,再尝试执行:</font></span></span></span></span></p>
<p style="text-align:justify"> </p>
<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:Calibri"><span style="font-size:10.5000pt"><span style="font-family:宋体"><font face="宋体"> 很明显,刀法中的“不要”就已经没有了。自定义词典功能验证成功。</font></span></span></span></span></p>
<p style="text-align:justify"> </p>
<p style="text-align:justify"> </p>
<p style="text-align:justify"> </p>
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> <p>词典功能验证成功,说明金庸武侠招式的字典招式挺管用,,,,,</p>
<p>很有意思呀这个。</p>
<p>谢谢分享,NLP接触少,现在看来也挺有意思的。</p>
页:
[1]