LTP(Language Technology Platform) 提供了一系列中文自然语言处理工具,用户可以使用这些工具对于中文文本进行分词、词性标注、句法分析等等工作。新版LTP采用原生Python实现,仅需运行 pip install ltp 即可安装使用。
from ltp import LTP
ltp = LTP() # 默认自动下载并加载 Small 模型
# ltp = LTP(path = "small|tiny")
# sent_list = ltp.sent_split(inputs, flag="all", limit=512)
segment, hidden = ltp.seg(["他叫汤姆去拿外衣。"])
pos = ltp.pos(hidden)
ner = ltp.ner(hidden)
srl = ltp.srl(hidden)
dep = ltp.dep(hidden)
sdp = ltp.sdp(hidden)
模型 | 大小 |
---|---|
Small | 170MB |
Tiny | 34MB |
备注: Tiny模型使用electra前三层进行初始化
模型 | 分词 | 词性 | 命名实体 | 依存句法 | 语义依存 | 语义角色 | 速度(句/S) | 模型大小 |
---|---|---|---|---|---|---|---|---|
LTP 3.X | 97.8 | 98.3 | 94.1 | 81.1 | 2.75 | 1940M | ||
LTP 4.0 (Small) | 98.4 | 98.2 | 94.3 | 88.0 | 79.9 | 77.2(端到端) | 12.58 | 171M |
LTP 4.0 (Tiny) | 96.8 | 97.2 | 91.6 | 82.6 | 75.5 | 68.1(端到端) | 29.53 | 34M |
测试环境如下:
- Python 3.7
- LTP 4.0 Batch Size = 1
- Centos 3.10.0-1062.9.1.el7.x86_64
- Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz
备注: 速度数据在人民日报命名实体测试数据上获得,速度计算方式均为所有任务顺序执行的结果。另外,语义角色标注与语义依存新旧版采用的语料不相同,因此无法直接比较(新版语义依存使用Semeval 2016语料,语义角色标注使用CTB语料)。
- 分词: Electra Small1 + Linear
- 词性: Electra Small + Linear
- 命名实体: Electra Small + Relative Transformer2 + Linear
- 依存句法: Electra Small + BiAffine + Eisner3
- 语义依存: Electra Small + BiAffine
- 语义角色: Electra Small + BiAffine + CRF
python setup.py sdist
python -m twine upload dist/*
- 冯云龙 <<[email protected]>>
- 语言技术平台面向国内外大学、中科院各研究所以及个人研究者免费开放源代码,但如上述机构和个人将该平台用于商业目的(如企业合作项目等)则需要付费。
- 除上述机构以外的企事业单位,如申请使用该平台,需付费。
- 凡涉及付费问题,请发邮件到 [email protected] 洽商。
- 如果您在 LTP 基础上发表论文或取得科研成果,请您在发表论文和申报成果时声明“使用了哈工大社会计算与信息检索研究中心研制的语言技术平台(LTP)”. 同时,发信给[email protected],说明发表论文或申报成果的题目、出处等。