SnowNLP: Simplified Chinese Text Processing

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]

Features

词性标注(TnT 3-gram 隐马)

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

文本分类(Naive Bayes)

转换成拼音(Trie树实现的最大匹配)

繁体转简体(Trie树实现的最大匹配)

提取文本关键词(TextRank算法)

提取文本摘要(TextRank算法)

tf,idf

Tokenization(分割成句子)

文本相似(BM25)

支持python3(感谢erning)

Get It now

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

License

MIT licensed.

python snownlp_GitHub - isnowfy/snownlp: Python library for processing Chinese text相关推荐

  1. Python资源列表-Awesome Python,收藏吧,基本全了

    记得当初学C/C++,留下的深刻印象就是严肃.谨慎,特别关注功能函数实现,写代码前会经常看书,怕自己犯低级又不可知的错误,像那些经典<C和指针>.<C缺陷和陷阱>.<编程 ...

  2. Python中第三方的库(library)、模块(module),包(package)的安装方法以及ImportError: No module named...

    Python中,想要安装第三方安装包,即third library,package等,对于熟悉的人来说,很简单. 但是对于新手,至少对于之前的我,很难,往往只是安装一个很小的包,都被搞得一头雾水. 现 ...

  3. python第三方库排行-Python模块汇总(常用第三方库)

    模块 定义 计算机在开发过程中,代码越写越多,也就越难以维护,所以为了编写可维护的代码,我们会把函数进行分组,放在不同的文件里.在python里,一个.py文件就是一个模块 优点: 提高代码的可维护性 ...

  4. 可爱的python测试开发库(python测试开发工具库汇总)

    2019独角兽企业重金招聘Python工程师标准>>> 欢迎转载,转载请注明来源: github地址 谢谢点赞 本文地址 Python测试开发库 参考资料 https://githu ...

  5. python第三方库排行-Python常用第三方库总结

    网络爬虫 网络请求 requests: Requests allows you to send HTTP/1.1 requests extremely easily. 一个处理http请求的客户端库, ...

  6. python怎么导入包-Python模块导入与包构建最佳实践

    [TOC] 最开始写程序的时候,都是一个文件里输入几行源码(python 的一个 web 框架bottle就特别强调自己是单文件框架).随着程程式变大变复杂,一个文件很难承载如此多的功能,因此将代码拆 ...

  7. 【python】整理的 Python 库

    常用库 Chardet字符编码探测器,可以自动检测文本.网页.xml的编码. colorama主要用来给文本添加各种颜色,并且非常简单易用. Prettytable主要用于在终端或浏览器端构建格式化的 ...

  8. python中文文档-Python语言、主要工具与类库中文文档

    Python是Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Python 提供了非常完善的基础代码库,覆盖了网络.文件.GUI.数据库.文本等大量 ...

  9. 学python的书-学习python求推荐一波书籍?

    豆瓣最受好评的20本Python书 No.1 Fluent Python(豆瓣评分:9.6) />Many programmers who learn Python basics fall in ...

  10. Python库集合--各个Python的功能介绍

    欢迎补充!!!! Chardet字符编码探测器,可以自动检测文本.网页.xml的编码. colorama主要用来给文本添加各种颜色,并且非常简单易用. Prettytable主要用于在终端或浏览器端构 ...

最新文章

  1. 【CV春季划】170分钟学习OpenCV与经典图像处理算法基础
  2. Jumping Jack
  3. 第三部分:Android 应用程序接口指南---第三节:应用程序资源---第四章 本地化...
  4. NDK 开发实战 - 封装 java 层 sdk 模型
  5. 畅玩4c刷android 9.0,华为畅玩4C电信版 CyanogenMod 13.0_Android_6.0.1 【HRT_chiwahfj】
  6. 如何使用Spring优雅地处理REST异常
  7. 使用Spring自定义注解实现任务路由
  8. EditPlus 5.0 中文免费版,不谢拿走
  9. oracle 应收 系统选项,Oracle财务系统应收账款模块操作手册
  10. 萤石云平台接入_萤石开放平台对接海康摄像头(一)
  11. H5 小程序直播教程,一看就会!
  12. nodejs android ios,NodeJs 搭建WebSocket Push Server Web Android iOS Client
  13. 连续仨月霸占牛客榜首!京东T8呕心巨作:700页JVM虚拟机实战手册
  14. 一种简单的MOS管直流电机驱动电路
  15. DIV布局——仿英雄联盟LOL首页(11页) 大学生简单个人静态HTML网页设计作品 DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载
  16. 【毕业设计】电商产品评论数据分析可视化(情感分析) - python 大数据
  17. CentOS 7安装Mongodb并使用Robo 3T远程测试连接
  18. Hexo-github日历图
  19. 辞退既然不给离职在证明的易迅天空公司
  20. 海思Hi3519A初体验(升级DEMO板开发环境,更新CPU主频)

热门文章

  1. idea运行lua脚本
  2. 【2021考研数学汤家凤高数辅导讲义】第四章 不定积分
  3. java i586什么意思_linux里面i386 i686 i486 i586代表什么?是什么意思
  4. 常见sql注入语句和xss注入语句
  5. sql注入工具的使用
  6. 用matplotlib画sigmoid函数
  7. jqgrid列表显示时间控件
  8. c语言怎么编程机器人,移动机器人(电子球)编程(c语言)
  9. win10 带编译器codeblocks下载
  10. 在Ubuntu 18.04中安装ROS操作系统