中文分词工具 MiNLP-Tokenizer

简介: 中文分词工具 MiNLP-Tokenizer

MiNLP-Tokenizer


1. 工具介绍


MiNLP-Tokenizer是小米AI实验室NLP团队自研的中文分词工具,基于深度学习序列标注模型实现,在公开测试集上取得了SOTA效果。其具备以下特点:


  • 分词效果好:基于深度学习模型在大规模语料上进行训练,粗、细粒度在SIGHAN 2005 PKU测试集上的F1分别达到95.7%和96.3%[注1]
  • 轻量级模型:精简模型参数和结构,模型仅有20MB
  • 词典可定制:灵活、方便的干预机制,根据用户词典对模型结果进行干预
  • 多粒度切分:提供粗、细粒度两种分词规范,满足各种场景需要
  • 调用更便捷:一键快速安装,API简单易用


注1:我们结合公司应用场景,制定了粗、细粒度分词规范,并按照规范对PKU测试集重新进行了标注(由于测试集版权限制,未包含在本项目中)。


2. 安装


pip全自动安装:

pip install minlp-tokenizer


适用环境:Python 3.5~3.7,TensorFlow>=1.15,<2


3. 使用API

from minlptokenizer.tokenizer import MiNLPTokenizer
tokenizer = MiNLPTokenizer(granularity='fine')  # fine:细粒度,coarse:粗粒度,默认为细粒度
print(tokenizer.cut('今天天气怎么样?'))


4. 自定义用户词典


  • 通过用户词典List添加:

from minlptokenizer.tokenizer import MiNLPTokenizer
tokenizer = MiNLPTokenizer(['word1', 'word2'], granularity='fine') #用户自定义干预词典传入


  • 通过文件路径方式添加

from minlptokenizer.tokenizer import MiNLPTokenizer
tokenizer = MiNLPTokenizer('/path/to/your/lexicon/file', granularity='coarse')  # 构造函数的参数为用户词典路径


5 体验感受


目前该工具处于开发阶段,可能之后的功能会逐步完善,比如词性标注、命名实体识别、依存句法分析,另外就是可能正如开发者所说模型比较轻量级,分词速度很快,长文本情况下还能保持精度,大家可以体验下


14.png

相关文章
|
8月前
|
自然语言处理 搜索推荐 算法
中文分词利器-jieba
中文分词利器-jieba
|
9月前
|
自然语言处理
pkuseg 和 jieba 分词对比测试,结果出乎意料...
pkuseg 和 jieba 分词对比测试,结果出乎意料...
|
10月前
|
自然语言处理 BI
|
机器学习/深度学习 自然语言处理 Python
|
自然语言处理
HanLP分词工具中的ViterbiSegment分词流程
本篇文章将重点讲解HanLP的ViterbiSegment分词器类,而不涉及感知机和条件随机场分词器,也不涉及基于字的分词器。因为这些分词器都不是我们在实践中常用的,而且ViterbiSegment也是作者直接封装到HanLP类中的分词器,作者也推荐使用该分词器,同时文本分类包以及其他一些自然语言处理任务包中的分词器也都间接使用了ViterbiSegment分词器。
1069 0
|
自然语言处理
Ansj与hanlp分词工具对比
一、Ansj1、利用DicAnalysis可以自定义词库: 2、但是自定义词库存在局限性,导致有些情况无效:比如:“不好用“的正常分词结果:“不好,用”。 (1)当自定义词库”好用“时,词库无效,分词结果不变。
1065 0
HanLP-分类模块的分词器介绍
最近发现一个很勤快的大神在分享他的一些实操经验,看了一些他自己关于hanlp方面的文章,写的挺好的!转载过来分享给大家!以下为分享原文(无意义的内容已经做了删除)如下图所示,HanLP的分类模块中单独封装了适用分类的分词器,当然这些分词器都是对HanLP提供的分词器的封装。
5953 0
|
自然语言处理 算法 测试技术
分词工具Hanlp基于感知机的中文分词框架
结构化感知机标注框架是一套利用感知机做序列标注任务,并且应用到中文分词、词性标注与命名实体识别这三个问题的完整在线学习框架,该框架利用
2045 0
|
自然语言处理 Java C++
Hanlp分词之CRF中文词法分析详解
这是另一套基于CRF的词法分析系统,类似感知机词法分析器,提供了完善的训练与分析接口。   CRF的效果比感知机稍好一些,然而训练速度较慢,也不支持在线学习。 默认模型训练自OpenCorpus/pku98/199801.txt,随hanlp 1.6.2以上版本发布。
3477 0
|
自然语言处理 算法 Java
pyhanlp 中文词性标注与分词简介
如果想要只获取词性也是可以的,因为原分词器返回的是Java中的ArrayList属性,list中的每个单元都是一个term类,因此我们也可以通过获取term中的word字段来直接获取词语,或者nature属性,直接获取词性。这一特征,我们在之后也会用到。
4440 0