Python中很好用的中文分词组件
分词模式
精确模式,试图将句子最精确地切开,适合文本分析;
全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;
搜索引擎模式,在精确模式的基础上,对长词再次切分,适合用于搜索引擎分词。
功能
1.分词
jieba.cut 方法接受三个输入参数: 需要分词的字符串;cut_all 参数用来控制是否采用全模式;HMM 参数用来控制是否使用 HMM 模型
jieba.cut_for_search 方法接受两个参数:需要分词的字符串;是否使用 HMM 模型。该方法适合用于搜索引擎构建倒排索引的分词,粒度比较细
示例
1 | # encoding=utf-8 |
输出
1 | 【全模式】: 我/ 来到/ 北京/ 清华/ 清华大学/ 华大/ 大学 |
2.词典
载入: jieba.load_userdict(file_name) 其中file_name 为文件类对象或自定义词典的路径. 词典格式和 dict.txt 一样,一个词占一行;每一行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开,顺序不可颠倒。
动态修改: 使用 add_word(word, freq=None, tag=None) 和 del_word(word) 可在程序中动态修改词典。使用 suggest_freq(segment, tune=True) 可调节单个词语的词频,使其能(或不能)被分出来。
示例
1 | '/'.join(jieba.cut('如果放到post中将出错。', HMM=False))) print( |
3.过滤
利用 jiaba 来做一个简单过滤器,这个在实际的应用中十分常用。比如有的词“的”,“地”,“得”,对数据分析没有什么实际作用,但是文章中大量的这类词又会占据大量的存储资源,因此我们要过滤掉这类词。
示例
1 | stopwords = ('的', '地', '得') #停用词表 |