jieba中文分词库及应用

  • 1.jieba库是优秀的中文分词第三方库。
  • 2.jieba库的分词模式
  • 2.jieba库的一些操作函数


1.jieba库是优秀的中文分词第三方库。

英文文本中,各个单词间本来就有空格将它们隔开,而在中文文本里面,词语和词语之间是相连的,不能通过简单的以空格来切片文章(通过str.split(" ")方法),因此就需要用到jieba库

2.jieba库的分词模式

1.jieba分词依靠中文词库。利用一个中文词库,确定中文字符之间的关联概率。当然我还也可以自定义地向词库中添加内容(如果是近几年刚开始出现的名词比如大数据云计算这些就需要自己添加)或者删除内容(自定义停用词库,所谓停用词库就是不允许划分出的词语例如把人名当做一个词语…)等等。
2.jieba库的3种分词模式
以及方法
精确模式:把文本精确地切分开,不存在冗余单词(重复单词)。
lt1=jieba.lcut(s)#精确模式全模式:把文中所有可能的词语都扫描出来,存在冗余
lt2=jieba.lcut(s,cut_all=True)#全模式搜索引擎模式:在精确模式的基础上,对长词再次切分。
lt3=jieba.lcut_for_search(s)#搜索引擎模式

三种方法中的s表示字符串,lt1,lt2,lt3是它们的返回值,是列表类型

2.jieba库的一些操作函数

1.向词库中添加自定义词语:jieba.add_word(w)
jieba.add_word("大数据") 2.添加自定义词库(字典):jieba.load_userdict(f)
jieba.load_userdict('./addword.txt')

f为文件路径,可以使用绝对路径相对路径两种:
在文件中词语的格式是一行:词语 词频 词性(词频和词性可以省略)
绝对路径jieba.load_userdict('E:\\Python Project\\Crouse\\03.25-experiment1\\addword')(用\来连接各路径)
或者jieba.load_userdict(r'E:\Python Project\Crouse\03.25-experiment1\addword')(在正常的绝对路径前面加上r)
或者jieba.load_userdict('E:/Python Project/Crouse/03.25-experiment1/addword')(用反单斜杠来连接各路径)
相对路径jieba.load_userdict('./addword.txt')(./表示当前文件所在目录,可以省略;…/表示文件所在目录的上一级目录)
3.添加停用词库
分词中有时会有一些频率非常高的无效词语出现,影响词频结果,可使用停用词表。
操作步骤:
—下载或创建停用词表
—停用词表的分词结果存入列表中
—在统计分词词频的过程中,判断时是否在停用词表中,再使用get()方法累加
从外部文件读取停用词表的代码如下:
stopwords=[line.strip() for line in open(f,'r',encoding='utf-8').readlines()] f表示停用词表的文件路径,r表示以read读的方式来获取文件信息,stopwords的类型是列表,上式属于列表推导式