jieba分词三种分词模式、⽤户⾃定义词典、停⽤词词典的使⽤
⽬录
三种分词模式
精确模式:试图将句⼦最精确地切分开,适合⽂本分析。
全模式:把句⼦中所有可以成词的词都扫描出来,速度⾮常快,但是不能解决歧义问题。
搜索引擎模式 :在精确模式的基础上,对长词再次进⾏切分,以提⾼召回率,适合搜索引擎分词。
⾃定义词典使⽤
当某些特定的词在jieba的词典中没有并且需要准确切分出来时,这是就需要在切分过程中引⼊⾃定义词典。⾃定义词典以TXT⽂件形式输⼊,每个词占据⼀⾏。然后再Python中读取即可。
⽰例:的内容为 :⾃媒体⼤学
jieba.load_urdict('')
jieba.lcut('我今天在⾃媒体⼤学吹了会⼉风',cut_all=Fal)# 精确模式
停⽤词词典的使⽤
买了机票打一成语实际应⽤中,很多语⽓助词或者⼈称代词都不是我们所关⼼的,在最终的结果中希望能够将其过滤掉,这时就需要建⽴停⽤词词典。
可以从⽹络上找到很多权威的中⽂停⽤词词典,在此基础上,可以再增加⼀些⾃定义的停⽤词,建⽴⾃⼰的停⽤词词典。
同样,⽤上⾯的案例,假如我们不希望分词结果中存在:‘我’、‘在’、‘了’。实现⽰例:
import jieba
stop_words =['我','在','了']
爱路护路绘画
河滨公园result =[k for k in jieba.lcut('我今天在⾃媒体⼤学吹了会⼉风',cut_all=Fal)if k not in stop_words]
雨声
print('引⼊停⽤词词典后结果:',result)
补充知识
梅雪争春未肯降1.中⽂语料库:
中⽂维基百科数据(dumps.wikimedia/zhwiki/): 维基百科提供了开放的词条⽂本整合下载,可以找到你需要的指定时间、指定语⾔、指定类型、指定内容的维基百科数据。
搜狗新闻语料库(download./resource/ca.php) :来⾃若⼲新闻站点2012年6⽉~7⽉期间国内、国际、体育、社会、娱乐等18个频道的新闻数据,提供URL和正⽂信息。
IMDB情感分析语料库(/tmdb/tmdb-movie-metadata) :互联⽹电影资料库(Internet Movie Databa,简称IMDb)是⼀个关于电影演员、电影、电视节⽬、电视明星和电影制作的在线数据库。IMDb的资料中包括了影⽚的众多信息、演员、⽚长、内容介绍、分级、评论等。对于电影的评分⽬前使⽤最多的就是IMDb评分。三键鼠标>八爪鱼怎么清洗
2.中⽂分词技术
规则分词:主要是通过⼈⼯设⽴词库,按照⼀定⽅式进⾏匹配切分,其实现简单⾼效,但对新词很难进⾏处理;
统计分词:能够较好应对新词发现等特殊场景,但太过于依赖语料的质量
混合分词(规则+统计):实践中的常⽤⽅式。
2.1 规则分词
⼀种机械的分词⽅法。主要是通过维护词典,在切分语句时,将语句的每个字符串与词表中的词进⾏逐⼀匹配,找到则切分,否则不予切分。根据匹配切分⽅式的不同,主要分为三种⽅法:
你的家我的家
正向最⼤匹配法
逆向最⼤匹配法:汉语中的偏正结构较多,若从后向前匹配,可以适当提⾼精确度。统计结果表明,单纯使⽤正向最⼤匹配的错误率为1/169,单纯使⽤逆向最⼤匹配的错误率为1/245。
双向最⼤匹配法:有研究表明,中⽂中90.0%左右的句⼦,正向和逆向最⼤匹配法完全重合且正确;只有⼤概9.0%的句⼦两种切分⽅法得到的结果不⼀样,但其中必有⼀个正确的;只有不到1.0%的句⼦,两种⽅法切分重合却是错的或者切分不同且都不对。
2.2 统计分词
主要思想:把每个词看做是由词的最⼩单位的各个字组成的,如果相连的字在不同的⽂本中出现的次数越多,就证明这相连的字很可能就是⼀个词。
统计分词⽅法不需要耗费⼈⼒维护词典,能较好地处理歧义和未登录词,是⽬前分词中⾮常主流的⽅法。但其分词的效果很依赖训练语料的质量,且计算量相较于机械分词要⼤得多。
语⾔模型
HMM模型(隐马尔可夫模型)
CRF模型(条件随机场模型)