目前市场上大部分自然语言处理库是针对英文的,例如TextBlob,而SnowNLP是一个处理中文文本内容的由python写的类库,和TextBlob不同的是,没有用NLTK,所有的算法都是自己实现的,并且自带了一些训练好的字典。
(一)分词
顾名思义,分词就是把一段文章分成一个个具有明确意思的词或者词组,例如:
(二)词性标注
词性标注就是给每个单词标注意思,例如:
(三)断句
断句,就是把一段话分成不同句子,例如:
(四)情绪判断
情感判断就是判断一句话的情绪是正面的还是负面的,返回值是分析这句话为正面情绪的概率,越接近1表示正面情绪,而越接近表示负面情绪,例如:
在此前的一篇文章《Python实现评论情感分析案例》 中,用到的就是这个功能来分析从豆瓣上用Python爬虫爬下来的电影《肖申克的救赎》的短评。
(五)拼音
拼音,就是给一段话中的每个字注音,不过,这个注音没有音标的,例如:
(六)繁体转简体
顾名思义,这个功能可以将繁体转为简体,看到网上那么多可以繁体字转为简体的功能就不需要太惊奇了,这个功能其实很简单的,例如:
(七)关键词抽取
从一段话里,抽取出关键词,例如:
(八)概括总结文意
从一段话里概括出主要意思来,上学学习语文时候的概括中心思想,例如:
(九)信息量衡量
TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。TF词频越大越重要,但是文中会的“的”,“你”等无意义词频很大,却信息量几乎为,这种情况导致单纯看词频评价词语重要性是不准确的,因此加入了IDF,IDF的主要思想是:如果包含词条t的文档越少,也就是n越小,IDF越大,则说明词条t越重要。TF-IDF综合起来,才能准确的综合的评价一词对文本的重要性。
(十)文本相似性
判断给出的两个文本相似程度。
上面这两个的例子写到了一起,因为有点关联,直接看代码和运行结果:
SnowNLP是一个非常有价值的Python类库,利用这个类库处理中文文本变得非常简单,很多使用其他技术手段很难实现的功能用了这个库就可以非常简单地实现出来。另外,这个类库是Python写的,因此可以定制,可以优化,可以增加一些更加有意思的功能。Python的魅力就在于此!
领取专属 10元无门槛券
私享最新 技术干货