Project description

#SnowNLP: Simplified Chinese Text Processing

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

~~~~{python}

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]

~~~~

## Features

* 中文分词([Character-Based Generative Model](http://aclweb.org/anthology//Y/Y09/Y09-2047.pdf))

* 词性标注([TnT](http://aclweb.org/anthology//A/A00/A00-1031.pdf) 3-gram 隐马)

* 情感分析(现在训练数据主要是买卖东西时的评价,所以对其他的一些可能效果不是很好,待解决)

* 文本分类(Naive Bayes)

* 转换成拼音

* 繁体转简体

* 提取文本关键词([TextRank](http://acl.ldc.upenn.edu/acl2004/emnlp/pdf/Mihalcea.pdf)算法)

* 提取文本摘要([TextRank](http://acl.ldc.upenn.edu/acl2004/emnlp/pdf/Mihalcea.pdf)算法)

* tf,idf

* Tokenization(分割成句子)

* 文本相似([BM25](http://en.wikipedia.org/wiki/Okapi_BM25))

* 支持python3(感谢[erning](https://github.com/erning))

## Get It now

~~~~

$ pip install snownlp

~~~~

## 关于训练

现在提供训练的包括分词,词性标注,情感分析,而且都提供了我用来训练的原始文件

以分词为例

分词在`snownlp/seg`目录下

~~~~{python}

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`指向刚训练好的文件即可

## License

MIT licensed.

Project details

Project links

Statistics

View statistics for this project via Libraries.io, or by using our public dataset on Google BigQuery

Meta

License: MIT License (UNKNOWN)

Author: isnowfy

Maintainers

Classifiers

Development Status

Intended Audience

Programming Language

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for snownlp, version 0.11.1

Filename, size

File type

Python version

Upload date

Hashes

Filename, size

snownlp-0.11.1.tar.gz

(39.3 MB)

File type

Source

Python version

None

Upload date

Apr 5, 2014

Hashes

View

Close

Hashes for snownlp-0.11.1.tar.gz

Hashes for snownlp-0.11.1.tar.gz

Algorithm

Hash digest

SHA256

d66025d2c018ed5eb9702ae3f1251f3876e23335aa797c116a328cda24d95c05

Copy

MD5

c1c326d2947923fc1a97158e83abab02

Copy

BLAKE2-256

ea20aab6ea00d321fbf8d9145f502e70cc476f71f1c116abba52cca59b842212

Copy

python snownlp_snownlp · PyPI相关推荐

  1. python查看pypi第三方库可安装的全部版本

    运行下面的代码即可: import json from urllib import request from pkg_resources import parse_version import ssl ...

  2. 发布自己的Python包(Pypi)

    发布自己的Python包(Pypi) 我们经常使用 Pypi 来安装包,但是有时候我们也想要发布自己的 Pypi 包,有可能我们写了一个特别牛的包,也有可能我们只是想使用自己常用的一些轮子,可能这是我 ...

  3. Python打包PyPI上传实践

    1.新建目录文件 2.requirement.txt文件内容输入requests==2.18.4 3.setup.py文件内容如下: from setuptools import find_packa ...

  4. python的pypi安装_python pip及安装包安装

    python 微信聊天 D:\untitled\hello.py 入口 web禁止登陆.. 安装命令: 手动安装: D:\python\setuptools-41.2.0>python setu ...

  5. 使用镜像服务器加速你的Python PyPi

    在天朝,最和谐的事情莫过于"连接被重置".这件事情暂时无法解决,真是令人痛心.很多个人时候我们个人可以借助很多工具来绕过,但是假如在开发生产环境中,这也是比较困扰的事情了,比如Py ...

  6. 树莓派安装python模块_树莓派引脚编号、pypi说明和安装

    树莓派引脚电平是3.3V. 关于引脚的编号,不同的库会有不同的编号: pypi-说明和安装 这个库完整的名字是raspberry-gpio-python,通过这个库可以方便地用python操作树莓派的 ...

  7. pypi.python.org_在Pypi上发布自己的Python包

    使用Python编程的都知道,Python的包安装非常的方便,一般都是可以pip来安装搞定: sudo pip install 最近因为项目上的需要,发布了一个自己的pypi Python包,这里我大 ...

  8. 【python工具篇】pip和pypi

    PyPI - the Python Package Index The Python Package Index is a repository of software for the Python ...

  9. 详解Python 3.6.x程序打包并发布至pypi的完整过程

    以我昨天刚编写的一个投票小程序tkinter_vote.py为例. 第一步,在命令行中安装所需要的工具,pip install setuptools wheel twine 第二步,编写相应的setu ...

  10. Python发布自己的模块到Pypi

    学习Python我们已经感受到他的强大之处,内置模块和强大的第三方模块,省去了我们重复造轮子的过程,but 谁没有一颗想造轮子的心,今天来发布一个自己的轮子 先解释下PyPI,PyPI(Python ...

最新文章

  1. 如何将github上的 lib fork之后通过podfile 改变更新源到自己fork的地址
  2. mysql 数据库的导入和导出
  3. 在visualstudio中使用Qt
  4. DeepMatching文献总结:图像拼接、图像匹配、图像检索
  5. python debug
  6. Xshell 无法连接虚拟机中的ubuntu的问题
  7. 2017.8.9 老C的键盘 思考记录
  8. 计算机专业是安大好还是合工大好,合肥工业大学和安徽大学哪个比较好?2019年志愿填报参考!...
  9. Android 设置电话号码拦截(黑名单)
  10. 图扑软件数字孪生 | 基于 BIM 技术的可视化管理系统
  11. linux libpng dev,linux下实用图形库--libpng下载地址及说明
  12. wpf 修改输入框 光标_WPF中鼠标光标的设置
  13. 用户收货地址管理后端实现
  14. (附源码)ssm教材管理系统 毕业设计 011229
  15. 如何将PDF转成PPT?为什么转换后不能编辑
  16. 两行代码读入fasta文件
  17. win10自带vc运行库吗?
  18. eos节点服务器_eos区块链php开发包
  19. mysql排名第一_SQL查询排名第二名的信息
  20. 【图】上海居住证办理指南

热门文章

  1. RedisTemplate使用lua脚本
  2. 微小区客户成功服务流程
  3. 微小区2018年度物业缴费数据报告
  4. ImageMagick图片转PDF
  5. 数据库理论:计算机数据库技术在信息管理中的应用分析
  6. 自然语言处理NLP技术里程碑、知识结构、研究方向和机构导师(公号回复“NLP总结”下载彩标PDF典藏版资料)
  7. 520用Java制作一个表白app
  8. 一款号称最适合程序员的编程字体(JetBrains Mono)专为开发人员设计。
  9. hermite插值matlab代码,hermite插值以及两种MATLAB程序
  10. python广州地图_广东省客户数量地图展示,如何通过python实现?