自然语言处理常用python库
·
一、jieba库
jieba库是python的中文分词库,利用汉字间的关联概率形成分词结果
1.1 jieba分词
import jieba
sent='小明硕士毕业于中国科学院计算所'
seg_list=jieba.lcut(sent,cut_all=True)
print('全模式:','/'.join(seg_list))
seg_lisl=jieba.lcut(sent)
print('精确模式:','/'.join(seg_list))
seg_list=jieba.cut(sent,cut_all=True)
print('默认精确模式:','/'.join(seg_list))
seg_list=jieba.lcut_for_search(sent)
print('搜索引擎模式:','/'.join(seg_list))
运行结果:

全模式:把句子中所有可以成词的词语都扫描出来
精确模式:将句子最精确地分开
搜索引擎模式:在精确模式的基础上,对长词再次切分
1.2 jieba词性分析
import jieba.posseg as posseg
text="小明硕士毕业于中国科学院计算所"
seg = posseg. cut(text)
print([se for se in seg])
运行结果:

1.3关键词提取
import jieba. analyse as analyse
text ="小明硕士毕业于中国科学院计算所"
#TF-IDF
tf_result = analyse. extract_tags(text, topK=5)
print('tf-idf:', tf_result)
#Texlrank
tr_resull = analyse. textrank(text, topK=5)
print('tcxtrank:', tf_result)
运行结果:

二、SnowNLP
SnowNLP的功能包括分词、情感分析、词性标注、转换拼音、繁体转简体等,它的优势在于情感分析能力
2.1中文分词
from snownlp import SnowNLP
text ="希望本无所谓有,也无所谓无,这就像地上的路,其实地上本没有路,走的人多了,也便成了路"
s = SnowNLP(text)
print(s.words)

2.2情感分析
from snownlp import SnowNLP
text1 ="这是我遇见的最棒的一家店,种类多,价格低,更喜欢的是服务质量很好"
text2="这是我遇见的最差的一家店,种类少,价格贵,更气人的是服务质量很差"
sl = SnowNLP(text1)
s2= SnowNLP(text2)
print(sl. sentiments)
print(s2.sentiments)

2.3词性标注
from snownlp import SnowNLP
text="哪里有天才,我只是把别人喝咖啡的功夫都用在了工作上了"
s=SnowNLP(text)
print(list (s.tags))

2.4转换成拼音
from snownlp import SnowNLP
text='哪里有天才,我只是把别人喝咖啡的功夫用在了工作上了'
s=SnowNLP(text)
print(s.pinyin)

2.5繁体转简体
from snownlp import SnowNLP
text='希望本無所謂有,也無所謂無,這就像地上的路,其實地上本沒有路,走的人多了,也便成了路'
s=SnowNLP(text)
print(s.han)

2.6提取文本关键字
from snownlp import SnowNLP
#提取文本关键字,总结三个关键词
text='随着顶层设计完成,全国政协按下信息化建设快进键;建设开通全国政协委员移动履职'
s=SnowNLP(text)
print(s.keywords(3))

2.7提取文本摘要
from snownlp import SnowNLP
#提取文本关键字,总结三个关键词
text='随着顶层设计完成,全国政协按下信息化建设快进键;建设开通全国政协委员移动履职'
s=SnowNLP(text)
print(s.summary(2))#总结两条摘要

2.8文本相似度
from snownlp import SnowNLP
#文本相似度
s=SnowNLP([['机器学习','人工智能'],['深度学习','自然语言处理'],['数据挖掘']])
articl1=['自然语言处理']
print(s.sim(articl1))

三、 WordCloud
词云图,对文中出现频率较高的“关键词予以视觉化展现”
import jieba
import wordcloud
txt="程序设计语言是开发者与计算机沟通的 “媒介”,它将人类可理解的逻辑、指令转化为计算机能识别的二进制代码,最终实现软件功能、系统开发、数据处理等各类数字化需求。从早期的机器语言到如今多样化的高级语言,程序设计语言已形成庞大且细分的体系,适配不同场景下的开发需求。"
w=wordcloud.WordCloud(width=1000,font_path='msyh',height=700)
w.generate("".join(jieba.lcut(txt)))
w.to_file("computerlanguage.png")

更多推荐
所有评论(0)