互联网技术 / 互联网资讯 · 2024年1月1日

Snownlp: 一个自然语言处理库

上次在跟大家分享用Python在本地进行文本情感分析的时候,给大家介绍了一个Snownlp库,当时只跟大家介绍了一下它的情感分析功能,这次来跟大家详细的介绍一下它其它的强大的功能。

01定义和安装

我们先来看看官方对它的介绍:

SnowNLP是一个Python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,这里没有用NLTK,所有的算法都是自己实现的,并且自带了一些训练好的字典。注意本程序都是处理的unicode编码,所以使用时请自行decode成unicode。

它的安装命令如下:

pIP install snownlp 02功能介绍

它主要有九个功能,我们分别来给大家介绍一下这九个功能都是干什么的。

01分词功能

SnowNLP的分词功能,可以将文本内容对照着字典划分一个个词语字符串,如果不是词语的就单独成为一个字符串。代码如下:

a = SnowNLP(‘我非常的热爱学习!’) print(a.words)

自然语言处理库―Snownlp

02词性标注

SnowNLP的词性标注功能,可以对各个词语进行标注,让我们能够知道这个词语属于名词还是动词,或者其它词性。代码如下:

a = SnowNLP(‘我非常的热爱学习!’) for i in a.tags: print(i)

自然语言处理库―Snownlp

03情感分析

在之前的文章我们已经详细的介绍过了SnowNLP的情感分析功能,这里就不在过多介绍,用兴趣的小伙伴,可以看看这篇文章两种文本情感分析方式,你更pick哪一种?

04拼音标注

SnowNLP的拼音标准功能,可以给文本中所有文字进行拼音标注,这样以后再也不担心遇到生僻字不会读啦~~ 代码如下:

a = SnowNLP(‘我非常的热爱学习!’) print(a.pinyin)

自然语言处理库―Snownlp

05提取关键字和摘要

SnowNLP可以将文本中出现的关键字和文本摘要给提取出来,从而让我们可以更快速的了解文本讲述的内容。代码如下:

text = ‘计算机网络系统就是利用通信设备和线路将地理位置不同、功能独立的多个计算机系统互联起来,以功能完善的网络软件实现网络中资源共享和信息传递的系统。 通过计算机的互联,实现计算机之间的通信,从而实现计算机系统之间的信息、软件和设备资源的共享以及协同工作等功能, 其本质特征在于提供计算机之间的各类资源的高度共享,实现便捷地交流信息和交换思想。’ b=SnowNLP(text) key_word = b.keywords(5) #()中的数字,代表提取关键字数量 abs_word = b.summary(1) #()中的数字,代表提取摘要数量 print(key_word) print(abs_word)

自然语言处理库―Snownlp

06计算词频和逆文档频率

关键字的先后顺序是由TF-IDF值的大小来决定的,其中TF就是词频、IDF就是逆文档频率、词频很好理解就是一个词在文本中出现的频率,逆文档频率是在词频的基础上,给每个词分配一个“重要性”的权重,越常见的词分配的权重越低,越稀少的词,权重越高,这个权重就成为逆文档频率,它的大小和词语的常见性成反比。代码如下:

c = SnowNLP([[‘计算机’], [‘资源’], [‘系统’], [‘信息’], [‘功能’]]) print(c.tf) print(c.idf)

自然语言处理库―Snownlp

07繁体转简体

个人感觉这个技能较为冷门,现在基本上都是简体字了。(仅为个人意见,不喜勿喷。)代码如下:

d = SnowNLP() print(d.han)

自然语言处理库―Snownlp

08断句功能

SnowNLP可以按照”,”和“。”对文本进行断句处理。代码如下:

b=SnowNLP(text) print(b.sentences)

自然语言处理库―Snownlp

09文本相似度

e = SnowNLP([[‘计算机’,’资源’], [‘系统’], [‘信息’,’功能’] ]) print(e.sim([‘系统’])) print(e.sim([‘计算机’])) print(e.sim([‘功能’]))

自然语言处理库―Snownlp

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.

登录免费注册