卯卯 | 炼就一手绝世刀法!

日出东海落西山,愁也一天,喜也一天。遇事不钻牛角尖,人也舒坦,心也舒坦!

结巴分词加载词典、调整词典优先分词、正则结合切分引文和汉字组合词、以及hanlp加载词典及配置

1,jieba分词及字典加载、未登录词处理,正则结合词典解决单单加载词典也无法解决的问题。

措施一:加载词典,然后调整加载的字典的词频。有些词还是会分布准确,可以分词后查看分词结果,将没分准的词拷贝到词典中,扩展词典。

image.png


措施二:结合措施一,处理有些在字典里有也无法准确分出的词的处理。例如III期,3期,35.3%等,我们需要结合正则表达式来处理。(思想:显示正则匹配没一行句子,匹配到那些特殊的词,例如3期、III期等,用“FLAGS”来代替,然后进行分词,再join这些词以空格或者‘/’来区分每一个词。再判断‘FLAGS’是否在已分好词的没一行中,如果某行含有‘FLAGS’,以"FLAGS"来分割,split(’FLAGS‘)——这样每一行中含有那些特殊词的位子就会在列表里没有了,

(注:此时的那些词都在我们利用正则匹配到的另一个列表中)。此时我们会有两个列表:一个是没有我们要匹配’III期,3期,‘这些词的列表,另一个是我们利用正则恰恰收集到这些词的列表。)
有了两个列表,我们就可以想办法写一个函数再将这两个列表安顺整合成一个列表,这样我们就可以完美的完成了分词了。

image.png

两个列表排序合并解析:

image.png


2,hanlp的使用以及hanlp也可以加载词典的使用。——hanlp是按照加载词典词的顺序要分词。

2.1hanlp的分词程序所引入的一个文件:tokenizer.py

image.png

image.png

2.2:有时候我们的分词,希望偏长词来匹配:例如:数据库设计、数据库,都是我们词典中的词,但是我们希望能分成’数据库设计‘而不是’数据库 /设计‘,那么我们就需要对我们的词典进行一个按词的长度来排序,因为hanlp是按照加载词典词的先后顺序来分词的。对我们词典中的词进行按词长来排序sort_dict_by_length.py :

image.pngimage.png

使用hanlp分词就很简单了。

from tokenizer import cut_hanlp

image.png


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«   2025年5月   »
1234
567891011
12131415161718
19202122232425
262728293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接
  • RainbowSoft Studio Z-Blog
  • 订阅本站的 RSS 2.0 新闻聚合

Powered By Z-BlogPHP 1.5.2 Zero

转载请注明文章出处!!!!!