jieba分词
示例代码:
import jieba
s = '我爱你伟大的中华人民共和国!人生苦短,我爱python!'
# 精确匹配 默认模式
ret1 = jieba.lcut(s, cut_all=False) # 默认是False
print(ret1)
# 全匹配
ret2 = jieba.lcut(s, cut_all=True)
print(ret2)
# 精确匹配
ret3 = jieba.lcut_for_search(s)
print(ret3)
运行结果:
词性标注
示例代码:
import jieba.posseg as pseg
s = '我爱你伟大的中华人民共和国!人生苦短,今天我要好好学习python!'
# 默认匹配
ret1 = pseg.lcut(s)
print(ret1)
ret2 = pseg.lcut(s, use_paddle=True) # 看源码似乎需要安装
print(ret2)
运行结果:
paddle模式的词性对照表如下:
关键字提取
基于 TF-IDF 算法进行关键词提取,也可以基于TextRank 算法。 TF-IDF 算法与 elasticsearch 中使用的算法是一样的。
示例代码:
import jieba.analyse
s = '我爱你伟大的中华人民共和国!人生苦短,今天我要好好学习python!'
topk = 3
# 使用tf-idf算法提取关键词
tags = jieba.analyse.extract_tags(s, topk)
print(tags)
# 使用textrank算法提取关键词
tags2 = jieba.analyse.textrank(s, topk, withWeight=True)
print(tags2)
运行结果: