以jieba为首的主流分词工具总结
工具篇
下面列了几个较为主流的分词工具(排名不分先后,大家自行试用),相关的paper请在订阅号「夕小瑶的卖萌屋」后台回复【中文分词】领取。
1 Jieba
说到分词工具第一个想到的肯定是家喻户晓的“结巴”中文分词,主要算法是前面讲到的基于统计的最短路径词图切分,近期还内置了百度飞桨的预训练模型+大规模蒸馏的前沿分词模型。
github项目地址:https://github.com/fxsjy/jieba
2 THULAC(THU Lexical Analyzer for Chinese)
由清华大学自然语言处理与社会人文计算实验室研制推出的一套中文词法分析工具包,具有中文分词和词性标注功能。该工具所采用的分词模型为结构化感知机。更多算法细节请参考github项目和阅读论文原文。
github项目地址:https://github.com/thunlp/THULAC
论文链接:https://www.mitpressjournals.org/doi/pdf/10.1162/coli.2009.35.4.35403
使用示例:
#THULAC
#pip install thulac
import thulac
sentence = "不会讲课的程序员不是一名好的算法工程师"
thu1 = thulac.thulac(seg_only=True) #只分词
text = thu1.cut(sentence, text=True) #进行一句话分词
print("THULAC: " + text)
#output
#Model loaded succeed
#THULAC: 不 会 讲课 的 程序员 不 是 一 名 好 的 算法 工程师
3 NLPIR-ICTCLAS汉语分词系统
北京理工大学海量语言信息处理与云计算工程研究中心大数据搜索与挖掘实验室( Big Data Search and Mining Lab.BDSM@BIT)发布。是基于层次HMM的分词库,将分词、POS、NER等都纳入到了一个层次HMM的框架之下联合训练得到。
主页:http://ictclas.nlpir.org/github
项目地址:https://github.com/tsroten/pynlpir
使用示例:
#NLPIR-ICTCLAS
#pip install pynlpir
import pynlpir
sentence = "不会讲课的程序员不是一名好的算法工程师"
pynlpir.open()
tokens = [x[0] for x in pynlpir.segment(sentence)]
print("NLPIR-TCTCLAS: " + " ".join(tokens))
pynlpir.close()
#output
#NLPIR-TCTCLAS: 不 会 讲课 的 程序员 不 是 一 名 好 的 算法 工程
4 LTP
哈工大出品,同THULAC一样,LTP也是基于结构化感知器(Structured Perceptron, SP),以最大熵准则学习的分词模型。
项目主页:https://www.ltp-cloud.com/github
项目地址:https://github.com/HIT-SCIR/ltp
论文链接:http://jcip.cipsc.org.cn/CN/abstract/abstract1579.shtml
使用示例:使用前需下载分词模型(http://ltp.ai/download.html)
5 HanLP
HanLP是随《自然语言处理入门》配套开源的一系列NLP算法库。除了经典的1.x版本在不断迭代更新以外,今年还全新推出了2.0版本。1.x版本有有基于词典的分词工具和基于CRF的切词模型。2.0版本开源了基于深度学习算法的分词工具。
1.x版本
github项目地址:https://github.com/hankcs/pyhanlp
2.0版本
github地址:https://github.com/hankcs/HanLP/tree/doc-zh
使用示例:要求Python 3.6以上使用
#HanLP
#v2.0
#pip install hanlp
import hanlp
sentence = "不会讲课的程序员不是一名好的算法工程师"
tokenizer = hanlp.load('PKU_NAME_MERGED_SIX_MONTHS_CONVSEG')
tokens = tokenizer(sentence)
print("hanlp 2.0: " + " ".join(tokens))
#output
#hanlp 2.0: 不 会 讲课 的 程序员 不 是 一 名 好 的 算法 工程
6 Stanford CoreNLP
斯坦福推出的切词工具,可以支持多种语言。算法核心是基于CRF模型。
github项目地址:https://github.com/Lynten/stanford-corenlp
论文链接:https://nlp.stanford.edu/pubs/sighan2005.pdf
使用示例:需要先从stanford官网下载中文切词模型(https://stanfordnlp.github.io/CoreNLP/)
###stanford CoreNLP
#pip install stanfordcorenlp
from stanfordcorenlp import StanfordCoreNLP
sentence = "不会讲课的程序员不是一名好的算法工程师"
with StanfordCoreNLP(r'stanford-chinese-corenlp-2018-10-05-models', lang='zh') as nlp:
print("stanford: " + " ".join(nlp.word_tokenize(sentence)))
相关文章
- 开源混淆工具ProGuard配置详解及配置实例
- 通过命令行工具远程注销用户
- web安全在线工具梳理
- mysql之工具的使用总结(mac版本)
- python工具——xmind
- Linux fedora35安装crontab定时任务工具
- TypeScript里的工具类型Partial的用法
- unicode转中文的工具
- Atitit 重复文件清理工具 按照文件名 目录 1. 原理,1 1.1. If base filex exist dele other files1 1.2. Get getStartIdex
- Atitit mongodb 使用总结 1.1. 下载有点不太好下载不像mysql导出都是。。70M1 1.2. gui工具Robomongo(MongoDB/GUI管理工具) v1.0.3 官方
- Atitit常见需求分析方法与工具链 attilax大总结
- Atitit 团队工具链体系打造---提升团队效率的一些通用软件 attilax总结
- Atitit. 注册表操作查询 修改 api与工具总结 java c# php js python 病毒木马的原理
- Atitit.文件搜索工具 attilax 总结
- atitit.系统架构图 的设计 与工具 attilax总结
- paip.sqlite 管理最好的工具 SQLite Expert 最佳实践总结
- 【nodejs工具】nodejs开发辅助工具nodemon
- Android 常有的Utils工具类总结
- 【Android 性能优化】布局渲染优化 ( GPU 过度绘制优化总结 | CPU 渲染过程 | Layout Inspector 工具 | View Tree 分析 | 布局组件层级分析 )
- 前端MVC Vue2学习总结(六)——axios与跨域HTTP请求、Lodash工具库
- 用C#Winform写个简单的批量清空文件内容和删除文件的小工具
- PostgreSQL的学习心得和知识总结(三十四)|PostgreSQL数据库中的代码覆盖工具(gcov、lcov)的使用及代码覆盖率测试(coverage)
- PostgreSQL的学习心得和知识总结(二十)|阿里开源ETL工具dataX的使用全解
- 虚拟机内Ubuntu如何打开摄像头+解决cheese工具黑屏问题
- 深度学习工具caffe具体安装指南
- [虚拟工具] Virtual box;虚拟技术的一点总结
- Android EditText判断输入字符串的工具类集合