import jieba
jieba.setLogLevel(jieba.logging.INFO)
import jieba.analyse
# 支持四种分词模式
# 1、使用paddle模式,利用PaddlePaddle深度学习框架,训练序列标注(双向GRU)网络模型实现分词
seg_list= jieba.cut("我来到北京清华大学",use_paddle=True)
print("paddle模式: " + '/'.join(seg_list))
# 2、全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义
seg_list= jieba.cut("我来到北京清华大学",cut_all=True)
print("全模式: " + "/ ".join(seg_list))
# 3、精确模式,试图将句子最精确地切开,适合文本分析
seg_list= jieba.cut("我来到北京清华大学",cut_all=False)
print("精确模式: " + "/ ".join(seg_list))
# 4、搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词
seg_list= jieba.cut_for_search("小明硕士毕业于中国科学院计算所,后在日本京都大学深造",HMM=False)
print("搜索引擎模式: " + ", ".join(seg_list))
# 5、HMM 参数用来控制是否使用 HMM 模型
seg_list= jieba.cut("我来到北京清华大学",HMM=True)
print("使用 HMM 模型: " + "/ ".join(seg_list))
# 6、默认是精确模式
seg_list= jieba.cut("我来到北京清华大学")
print("默认精简模式: " + ", ".join(seg_list))
# jieba.cut 以及 jieba.cut_for_search 返回的结构都是一个可迭代的 generator,jieba.lcut 以及 jieba.lcut_for_search 直接返回list
# 基于 TF-IDF 算法的关键词抽取
# s为待提取的文本,topK为返回几个权重最大的关键词(默认20),withWeight为是否一并返回关键词权重值(默认False),allowPOS设置包括指定词性的词(默认空)
s= "此外,公司拟对全资子公司吉林欧亚置业有限公司增资4.3亿元,增资后,吉林欧亚置业注册资本由7000万元增加到5亿元。吉林欧亚置业主要经营范围为房地产开发及百货零售等业务。目前在建吉林欧亚城市商业综合体项目。2013年,实现营业收入0万元,实现净利润-139.13万元。"
for x, win jieba.analyse.extract_tags(s,topK=10,withWeight=True,allowPOS=()):
print('%s %s' % (x, w))
# 基于 TextRank 算法的关键词抽取
for x, win jieba.analyse.textrank(s,topK=10,withWeight=True,allowPOS=('ns','n','vn','v')):
print('%s %s' % (x, w))
# n 普通名词;f 方位名词;s 处所名词;t 时间;nr 人名;ns 地名;nt 机构名;nw 作品名;nz 其他专名;v 普通动词;vd 动副词;vn 名动词;a 形容词;ad 副形词;an 名形词;d 副词;m 数量词;q 量词;r 代词;p 介词;c 连词;u 助词;xc 其他虚词;w 标点符号;PER 人名;LOC 地名;ORG 机构名;TIME 时间
# 命令行分词,python -m jieba news.txt > cut_result.txt