jieba库,它是Python中一个重要的第三方中文分词函数库。
1.jieba的下载
由于jieba是一个第三方函数库,所以需要另外下载。电脑搜索“cmd”打开“命令提示符”,然后输入“pip install jieba”,稍微等等就下载成功。
(注:可能有些pip版本低,不能下载jieba库,需要手动升级pip至19.0.3的版本,在安装jieba库)
当你再次输入“pip install jieba”,显示如图,jieba库就下载成功。
2.jieba库的3种分词模式
精确模式:将句子最精确地切开,适合文本分析。
例:
全模式:把句子中所有可以成词的词语都扫描出来,速度非常快,但是不能消除歧义。
例:(“国是”,黑人问号)
搜索引擎模式:在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。
例:(没什么不同,可能我还没发现它的用处)
3.jieba应用
我选取了哈姆雷特(https://en.wikipedia.org/wiki/Hamlet#Act_I)的一小片段,txt形式存放在我的一个文件夹里,对它进行分词,输入代码:
def get_text(): txt = open("D://加油鸭~//hamlet.txt", "r",encoding='UTF-8').read() txt = txt.lower() for ch in '!"#$%&()*+,-./:;<=>?@[\\]^_‘{|}~': txt = txt.replace(ch, " ") # 将文本中特殊字符替换为空格 return txt hamletTxt = get_text() # 打开并读取文件 words = hamletTxt.split() # 对字符串进行分割,获得单词列表 counts = {} for word in words: if len(word) == 1: continue else: counts[word] = counts.get(word, 0) + 1 # 分词计算 items = list(counts.items()) items.sort(key=lambda x: x[1], reverse=True) for i in range(10): word, count = items[i] print("{0:<10}{1:>5}".format(word,count))
得到结果,如图:
最后,我们还可以做词云图,这个呢我下次再给大家分享吧,再见~