中文分词工具盘点之SnowNLP
- - 标点符SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,这里没有用NLTK,所有的算法都是自己实现的,并且自带了一些训练好的字典. 中文分词( Character-Based Generative Model).
SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,这里没有用NLTK,所有的算法都是自己实现的,并且自带了一些训练好的字典。
主要特性:
安装:
pip install snownlp
示例代码:
from snownlp import SnowNLP s1 = SnowNLP('这个东西真心很赞') print(s1.words) print(list(s1.tags)) print(s1.sentiments) print(s1.pinyin) s2 = SnowNLP('「繁體字」「繁體中文」的叫法在臺灣亦很常見。') print(s2.han) text = ''' 自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。 它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。 自然语言处理是一门融语言学、计算机科学、数学于一体的科学。 因此,这一领域的研究将涉及自然语言,即人们日常使用的语言, 所以它与语言学的研究有着密切的联系,但又有重要的区别。 自然语言处理并不是一般地研究自然语言, 而在于研制能有效地实现自然语言通信的计算机系统, 特别是其中的软件系统。因而它是计算机科学的一部分。 ''' s3 = SnowNLP(text) print(s3.keywords(3)) print(s3.summary(3)) print(s3.sentences) s4 = SnowNLP([['这篇', '文章'], ['那篇', '论文'], ['这个']]) print(s4.tf) print(s4.idf) print(s4.sim([u'文章']))
输出内容:
['这个', '东西', '真心', '很', '赞'] [('这个', 'r'), ('东西', 'n'), ('真心', 'd'), ('很', 'd'), ('赞', 'Vg')] 0.9769551298267365 ['zhe', 'ge', 'dong', 'xi', 'zhen', 'xin', 'hen', 'zan'] 「繁体字」「繁体中文」的叫法在台湾亦很常见。 ['语言', '自然', '计算机'] ['因而它是计算机科学的一部分', '自然语言处理是计算机科学领域与人工智能领域中的一个重要方向', '自然语言处理是一门融语言学、计算机科学、数学于一体的科学'] ['自然语言处理是计算机科学领域与人工智能领域中的一个重要方向', '它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法', '自然语言处理是一门融语言学、计算机科学、数学于一体的科学', '因此', '这一领域的研究将涉及自然语言', '即人们日常使用的语言', '所以它与语言学的研究有着密切的联系', '但又有重要的区别', '自然语言处理并不是一般地研究自然语言', '而在于研制能有效地实现自然语言通信的计算机系统', '特别是其中的软件系统', '因而它是计算机科学的一部分'] [{'这篇': 1, '文章': 1}, {'那篇': 1, '论文': 1}, {'这个': 1}] {'这篇': 0.5108256237659907, '文章': 0.5108256237659907, '那篇': 0.5108256237659907, '论文': 0.5108256237659907, '这个': 0.5108256237659907} [0.4686473612532025, 0, 0]
参考链接: https://github.com/isnowfy/snownlp
The post 中文分词工具盘点之SnowNLP appeared first on 标点符.
Related posts: