最近玩公众号会话停不下来:玩转腾讯词向量:Game of Words(词语的加减游戏),准备把NLP相关的模块搬到线上,准确的说,搬到AINLP公众号后台对话,所以,趁着劳动节假期,给AINLP公众号后台聊天机器人添加了一项新技能:中文分词线上PK,例如在AINLP公众号后台对话输入:中文分词 我爱自然语言处理,就可以得到五款分词工具的分词结果:

现在的开源中文分词工具或者模块已经很丰富了,并且很多都有一些在封闭测试集上的效果对比数据,不过这仅仅只能展现这些分词工具在这个封闭测试集上的效果,并不能全面说明问题,个人觉得,选择一个适合自己业务的分词器可能更重要,有的时候,还需要加一些私人定制的词库。
这次首先选了5款中文分词工具,严格的来说,它们不完全是纯粹的中文分词工具,例如SnowNLP, Thulac, HanLP都是很全面的中文自然语言处理工具,这次,先试水它们的中文分词模块。安装这些模块其实很简单,只要按官方文档的方法安装即可,以下做个简单介绍,在Python3.x的环境下测试,Ubuntu16.04 或 MacOS 测试成功。
1) Jieba: https://github.com/fxsjy/jieba“结巴”中文分词:做最好的 Python 中文分词组件"Jieba" (Chinese for "to stutter") Chinese text segmentation: built to be the best Python Chinese word segmentation module.特点支持三种分词模式:精确模式,试图将句子最精确地切开,适合文本分析;全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。支持繁体分词支持自定义词典MIT 授权协议
安装:
代码对 Python 2/3 均兼容
全自动安装:easy_install jieba 或者 pip install jieba / pip3 install jieba
半自动安装:先下载 http://pypi.python.org/pypi/jieba/ ,解压后运行 python setup.py install
手动安装:将 jieba 目录放置于当前目录或者 site-packages 目录
中文分词示例:

2) SnowNLP: https://github.com/isnowfy/snownlpSnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,这里没有用NLTK,所有的算法都是自己实现的,并且自带了一些训练好的字典。注意本程序都是处理的unicode编码,所以使用时请自行decode成unicode。Features中文分词(Character-Based Generative Model)词性标注(TnT 3-gram 隐马)情感分析(现在训练数据主要是买卖东西时的评价,所以对其他的一些可能效果不是很好,待解决)文本分类(Naive Bayes)转换成拼音(Trie树实现的最大匹配)繁体转简体(Trie树实现的最大匹配)提取文本关键词(TextRank算法)提取文本摘要(TextRank算法)tf,idfTokenization(分割成句子)文本相似(BM25)支持python3(感谢erning)
安装:
$ pip install snownlp
中文分词示例:

3) PkuSeg: https://github.com/lancopku/pkuseg-pythonpkuseg多领域中文分词工具; The pkuseg toolkit for multi-domain Chinese word segmentation主要亮点pkuseg具有如下几个特点:多领域分词。不同于以往的通用中文分词工具,此工具包同时致力于为不同领域的数据提供个性化的预训练模型。根据待分词文本的领域特点,用户可以自由地选择不同的模型。 我们目前支持了新闻领域,网络领域,医药领域,旅游领域,以及混合领域的分词预训练模型。在使用中,如果用户明确待分词的领域,可加载对应的模型进行分词。如果用户无法确定具体领域,推荐使用在混合领域上训练的通用模型。各领域分词样例可参考 example.txt。更高的分词准确率。相比于其他的分词工具包,当使用相同的训练数据和测试数据,pkuseg可以取得更高的分词准确率。支持用户自训练模型。支持用户使用全新的标注数据进行训练。支持词性标注。编译和安装目前仅支持python3为了获得好的效果和速度,强烈建议大家通过pip install更新到目前的最新版本通过PyPI安装(自带模型文件):pip3 install pkuseg之后通过import pkuseg来引用建议更新到最新版本以获得更好的开箱体验:pip3 install -U pkuseg
中文分词示例:

4) THULAC: https://github.com/thunlp/THULAC-PythonTHULAC:一个高效的中文词法分析工具包THULAC(THU Lexical Analyzer for Chinese)由清华大学自然语言处理与社会人文计算实验室研制推出的一套中文词法分析工具包,具有中文分词和词性标注功能。THULAC具有如下几个特点:能力强。利用我们集成的目前世界上规模最大的人工分词和词性标注中文语料库(约含5800万字)训练而成,模型标注能力强大。准确率高。该工具包在标准数据集Chinese Treebank(CTB5)上分词的F1值可达97.3%,词性标注的F1值可达到92.9%,与该数据集上最好方法效果相当。速度较快。同时进行分词和词性标注速度为300KB/s,每秒可处理约15万字。只进行分词速度可达到1.3MB/s。编译和安装python版(兼容python2.x版和python3.x版)从github下载(需下载模型文件,见获取模型)将thulac文件放到目录下,通过 import thulac 来引用thulac需要模型的支持,需要将下载的模型放到thulac目录下。pip下载(自带模型文件)pip install thulac通过 import thulac 来引用
中文分词示例:

5) pyhanlp: https://github.com/hankcs/pyhanlp
pyhanlp: Python interfaces for HanLP
自然语言处理工具包HanLP的Python接口, 支持自动下载与升级HanLP,兼容py2、py3。
安装
pip install pyhanlp
注意pyhanlp安装之后使用的时候还会自动下载相关的数据文件,zip压缩文件600多M,速度有点慢,时间有点长
中文分词示例:

现在,可以拿起你的手机,对着AINLP公众号后台输入:中文分词 需要分词的内容,或者可以用语音输入:来,试试语音(识别)聊天(机器人)

jieba textrank关键词提取 python_五款中文分词工具在线PK: Jieba, SnowNLP, PkuSeg,THULAC, HanLP...相关推荐

  1. python 分词工具对比_五款中文分词工具在线PK: Jieba, SnowNLP, PkuSeg, THULAC, HanLP

    最近玩公众号会话停不下来: 玩转腾讯词向量:Game of Words(词语的加减游戏) ,准备把NLP相关的模块搬到线上,准确的说,搬到AINLP公众号后台对话,所以,趁着劳动节假期,给AINLP公 ...

  2. jieba库 python2.7 安装_Python中文分词工具大合集:安装、使用和测试

    这篇文章事实上整合了前面两篇文章的相关介绍,同时添加一些其他的Python中文分词相关资源,甚至非Python的中文分词工具,仅供参考. 首先介绍之前测试过的8款中文分词工具,这几款工具可以直接在AI ...

  3. python英文语义角色标注_八款中文词性标注工具使用及在线测试

    结束了中文分词工具的安装.使用及在线测试,开启中文词性标注在线测试之旅,一般来说,中文分词工具大多数都附带词性标注功能的,这里测试了之前在AINLP公众号上线的8款中文分词模块或者工具,发现它们都是支 ...

  4. Python中文分词工具大合集:安装、使用和测试

    转自:AINLP 这篇文章事实上整合了之前文章的相关介绍,同时添加一些其他的Python中文分词相关资源,甚至非Python的中文分词工具,仅供参考. 首先介绍之前测试过的8款中文分词工具,这几款工具 ...

  5. python 分词工具训练_Python中文分词工具大合集:安装、使用和测试

    这篇文章事实上整合了前面两篇文章的相关介绍,同时添加一些其他的Python中文分词相关资源,甚至非Python的中文分词工具,仅供参考. 首先介绍之前测试过的8款中文分词工具,这几款工具可以直接在AI ...

  6. 常用的中文分词工具介绍

    本文首先介绍下中文分词的基本原理,然后介绍下国内比较流行的中文分词工具,如jieba.SnowNLP.THULAC.NLPIR,上述分词工具都已经在github上开源,后续也会附上github链接,以 ...

  7. NLP笔记:中文分词工具简介

    中文分词工具简介 0. 引言 1. jieba分词 1. jieba分词的基本用法 2. jieba分词的进阶版用法 1. 全模式的分词 2. 自定义领域词表加入 3. 使用jieba进行关键词抽取 ...

  8. 资源 | Python中文分词工具大合集

    跟着博主的脚步,每天进步一点点 这篇文章事实上整合了之前文章的相关介绍,同时添加一些其他的Python中文分词相关资源,甚至非Python的中文分词工具,仅供参考. 首先介绍之前测试过的8款中文分词工 ...

  9. python关键词提取源码,python实现textrank关键词提取

    python实现textrank关键词提取 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  python实现textrank关键词提取.txt ] (友情提示:右键 ...

最新文章

  1. redis主从复制、高可用和集群
  2. 关于AVR单片机熔丝位的设置和拯救方法大全 AVR单片机熔丝位的设置和详细的拯救方法...
  3. 第十一周项目实践1 图基本算法库
  4. linux 查看nexus状态,在linux上搭建nexus私服(CentOS7)
  5. 关于sql中的with(nolock)
  6. 对称二叉树Python解法
  7. Codeforces Round #554 Div.2 E - Neko and Flashback
  8. 欢乐SSL初二组周六赛【2019.4.27】
  9. ES6——generator与yield
  10. 安装 RabbitMQ
  11. MySQL(22)--- NULL 值处理
  12. 21天Jmeter打卡Day11配置元件之CSV数据文件配置
  13. Process Node.js 进程
  14. notepad++ 自动保存设置
  15. Nginx location
  16. 746. Min Cost Climbing Stairs
  17. 阿里云宗志刚:云网一体,新一代洛神云网络平台
  18. VMware Workstation 11序列号
  19. android studio 汉化包 美化包
  20. 创建微信公众号测试号

热门文章

  1. js捕获键盘事件之keydown、keyup以及keypress
  2. 别再问我“输入URL到页面呈现”啦
  3. python京东预约抢购_Python实现京东秒杀功能代码
  4. 谢谢这世间,所有不动声色的善良
  5. SaaS爆发前夜,e签宝的选择与命运
  6. 美国国防部发布网络新战略,重点关注中国俄罗斯
  7. 国内程序员的Linux开发平台-Deepin
  8. 6-13图-拓扑排序
  9. 为Apple Watch设计:素描设计
  10. 网站运维如何监控云主机服务