jiojio
- 基于CPU的高性能、持续迭代模型、简便中文分词器
a convenient Chinese word segmentation tool
<a alt="License">
<img src="https://img.shields.io/github/license/dongrixinyu/jiojio?color=crimson" /></a>
<a alt="Size">
<img src="https://img.shields.io/badge/size-82.1m-orange" /></a>
<a alt="Downloads">
<img src="https://pepy.tech/badge/jiojio/month" /></a>
<a alt="Version">
<img src="https://img.shields.io/badge/version-1.2.6-green" /></a>
<a href="https://github.com/dongrixinyu/jiojio/pulse" alt="Activity">
<img src="https://img.shields.io/github/commit-activity/m/dongrixinyu/jiojio?color=blue" /></a>
适用场景
功能
-
基于 C 的 Python 接口分词器,CPU 单进程运行性能达 13.4 万字/秒,多个分词工具性能对比
-
网页版 JioNLP源站,可快速试用分词、词性标注功能
-
基于 CRF 算法,精细优化的 字符特征工程,模型特征说明
-
对模型文件的尽力压缩,使用 np.float8
精度类型,500万特征参数,模型文件大小30M,方便 pip 安装
-
添加自定义词典兼容静态、动态两种方式,流程一致性强,词典配置说明
-
将规则加入模型,有效克服某些类型文本受限于模型处理的情况,分词-添加正则
-
支持词性标注功能,与 JioNLP 联合实现关键短语抽取、新闻地域识别 等功能
安装
$ pip install jiojio
$ git clone https://github.com/dongrixinyu/jiojio
$ cd jiojio
$ pip install .
如使用 windows 或 mac 等操作系统或其它硬件,则没有直接可调用 C 的库,程序默认直接调用纯 Python 进行分词,因此速度会慢。可以使用以下方式安装编译 C 库。以下方式仅供参考,在熟悉 C 语言后进行调试使用。
$ git clone https://github.com/dongrixinyu/jiojio
$ cd jiojio/jiojio/jiojio_cpp
$ ./compiler.sh
使用
>>> import jiojio
>>> jiojio.init()
>>> print(jiojio.cut('开源软件应秉持全人类共享的精神,搞封闭式是行不通的。'))
# ['开源', '软件', '应', '秉持', '全人类', '共享', '的', '精神', ',', '搞', '封闭式', '是', '行', '不通', '的', '。']
# 可通过 jiojio.help() 获取基本使用方式说明
# 可通过 print(jiojio.init.__doc__) 获取模型初始化的各类参数
关于 jiojio 分词器的一些问答
TODO
交流群聊
- 欢迎加入自然语言处理NLP交流群,搜索wx公众号“JioNLP”,或扫以下码即可入群