Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Snownlp | 4,712 | 38 | 1 | 3 years ago | 17 | September 27, 2015 | 33 | mit | Python | |
Python library for processing Chinese text | ||||||||||
Go Ethereum Code Analysis | 2,476 | 5 months ago | 18 | |||||||
Gse | 2,151 | 14 | 14 | a month ago | 79 | May 19, 2022 | 6 | apache-2.0 | Go | |
Go efficient multilingual NLP and text segmentation; support English, Chinese, Japanese and others. | ||||||||||
Opencc4j | 348 | 5 | 15 days ago | 17 | January 08, 2022 | 6 | apache-2.0 | Java | ||
🇨🇳Open Chinese Convert is an opensource project for conversion between Traditional Chinese and Simplified Chinese.(java 中文繁简体转换) | ||||||||||
Genius | 229 | 1 | 4 years ago | 12 | March 07, 2018 | 2 | other | Python | ||
a chinese segment base on crf | ||||||||||
Ncchineseconverter | 115 | 1 | 6 years ago | 3 | April 14, 2015 | 1 | mit | Objective-C | ||
NCChineseConverter 是一个基于 Objective-C 的中文简繁正转换库. | ||||||||||
Segment | 98 | 9 | 5 days ago | 18 | April 23, 2020 | 1 | apache-2.0 | Java | ||
The jieba-analysis tool for java.(基于结巴分词词库实现的更加灵活优雅易用,高性能的 java 分词实现。支持词性标注。) | ||||||||||
Wordmaker | 88 | 8 years ago | 5 | C++ | ||||||
auto generate chinese words in huge text. | ||||||||||
Aiml Chinese | 14 | 4 years ago | 1 | Python | ||||||
中文 aiml 机器人实现,文档见: | ||||||||||
Trietreeservice | 10 | 10 years ago | C# | |||||||
SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,这里没有用NLTK,所有的算法都是自己实现的,并且自带了一些训练好的字典。注意本程序都是处理的unicode编码,所以使用时请自行decode成unicode。
from snownlp import SnowNLP
s = SnowNLP(u'这个东西真心很赞')
s.words # [u'这个', u'东西', u'真心',
# u'很', u'赞']
s.tags # [(u'这个', u'r'), (u'东西', u'n'),
# (u'真心', u'd'), (u'很', u'd'),
# (u'赞', u'Vg')]
s.sentiments # 0.9769663402895832 positive的概率
s.pinyin # [u'zhe', u'ge', u'dong', u'xi',
# u'zhen', u'xin', u'hen', u'zan']
s = SnowNLP(u'「繁體字」「繁體中文」的叫法在臺灣亦很常見。')
s.han # u'「繁体字」「繁体中文」的叫法
# 在台湾亦很常见。'
text = u'''
自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。
它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。
自然语言处理是一门融语言学、计算机科学、数学于一体的科学。
因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,
所以它与语言学的研究有着密切的联系,但又有重要的区别。
自然语言处理并不是一般地研究自然语言,
而在于研制能有效地实现自然语言通信的计算机系统,
特别是其中的软件系统。因而它是计算机科学的一部分。
'''
s = SnowNLP(text)
s.keywords(3) # [u'语言', u'自然', u'计算机']
s.summary(3) # [u'因而它是计算机科学的一部分',
# u'自然语言处理是一门融语言学、计算机科学、
# 数学于一体的科学',
# u'自然语言处理是计算机科学领域与人工智能
# 领域中的一个重要方向']
s.sentences
s = SnowNLP([[u'这篇', u'文章'],
[u'那篇', u'论文'],
[u'这个']])
s.tf
s.idf
s.sim([u'文章'])# [0.3756070762985226, 0, 0]
$ pip install snownlp
现在提供训练的包括分词,词性标注,情感分析,而且都提供了我用来训练的原始文件
以分词为例
分词在snownlp/seg
目录下
from snownlp import seg
seg.train('data.txt')
seg.save('seg.marshal')
# from snownlp import tag
# tag.train('199801.txt')
# tag.save('tag.marshal')
# from snownlp import sentiment
# sentiment.train('neg.txt', 'pos.txt')
# sentiment.save('sentiment.marshal')
这样训练好的文件就存储为seg.marshal
了,之后修改snownlp/seg/__init__.py
里的data_path
指向刚训练好的文件即可
MIT licensed.