Rust Extension For Language Technology Platform(Python).
Project description
Language | version |
---|---|
Python | |
Rust |
LTP extension For Python
LTP for Rust 对 Python 的绑定,用于提升 LTP 的速度,以及加入传统机器学习算法实现的中文信息处理工具。
method | ltp 3.0(c++) | ap(1) | ap(8) | pa | pa-i(0.5) | pa-ii(0.5) |
---|---|---|---|---|---|---|
cws | 97.83 | 97.93 | 97.67 | 97.90 | 97.90 | 97.93 |
pos | 98.35 | 98.41 | 98.30 | 98.39 | 98.39 | 98.38 |
ner | 94.17 | 94.28 | 93.42 | 94.02 | 94.06 | 93.95 |
自行编译安装
maturin build --release -m python/extension/Cargo.toml --out dist --no-default-features --features="malloc"
# or 针对cpu优化
maturin build --release -m python/extension/Cargo.toml --out dist --no-default-features --features="malloc" -- -C target-cpu=native
features
- 分句
- 任务
- 中文分词(cws)
- 对数字、英文、网址、邮件的处理
- 支持自定义词典
- 词性标注(pos)
- 支持自定义词典
- 命名实体识别(ner)
- 中文分词(cws)
- 算法
- 平均感知机(ap)
- 单线程平均感知机
- 多线程平均感知机
- 被动攻击算法(pa)
- 平均感知机(ap)
- 模型量化
- 在线学习
- 增量学习
性能测试
评测环境
- Python 3.10
- MacBook Pro (16-inch, 2019)
- 处理器: 2.6 GHz 六核Intel Core i7
- 内存: 16 GB 2667 MHz DDR4
注: 速度测试文件大小为 33.85 MB / 305041 行
分词
我们选择Jieba、Pkuseg、Thulac等国内代表分词软件与 LTP 做性能比较,根据第二届国际汉语分词测评发布的国际中文分词测评标准,对不同软件进行了速度和准确率测试。
在第二届国际汉语分词测评中,共有四家单位提供的测试语料(Academia Sinica、 City University 、Peking University(PKU) 、Microsoft Research(MSR)), 在评测提供的资源icwb2-data 中包含了来自这四家单位的训练集(icwb2-data/training)、测试集(icwb2-data/testing), 以及根据各自分词标准而提供的相应测试集的标准答案(icwb2-data/gold).在icwb2-data/scripts目录下含有对分词进行自动评分的perl脚本score。
我们在统一测试环境下,对若干流行分词软件和 LTP 进行了测试,使用的模型为各分词软件自带模型。在PKU和MSR测试集评测结果如下:
Algorithm | Speed(KB/s) | PKU(F1) | MSR(F1) |
---|---|---|---|
Jieba | 982.49 | 81.8 | 81.3 |
Pkuseg | 109.72 | 93.4 | 87.3 |
Thulac | 48.13 | 94.0 | 87.9 |
Thulac[Fast] | 1133.21 | 同上 | 同上 |
LTP 3(pyltp) | 451.20 | 95.3 | 88.3 |
LTP legacy(1) | 1603.63 | 95.2 | 87.7 |
LTP legacy(2) | 2869.42 | 同上 | 同上 |
LTP legacy(4) | 4949.38 | 同上 | 同上 |
LTP legacy(8) | 6803.88 | 同上 | 同上 |
LTP legacy(16) | 7745.16 | 同上 | 同上 |
注:括号内为线程数量
注2:Jieba的词表是在人民日报数据集上统计的
流水线
除了分词以外,我们也测试了 LTP 三个任务(分词、词性标注、命名实体识别)流水线的速度:
Algorithm | Speed(KB/s) |
---|---|
LTP 3(pyltp) | 153.10 |
LTP legacy(1) | 508.74 |
LTP legacy(2) | 899.25 |
LTP legacy(4) | 1598.03 |
LTP legacy(8) | 2267.48 |
LTP legacy(16) | 2452.34 |
注:括号内为线程数量
注2:速度数据在人民日报命名实体测试数据上获得,速度计算方式均为所有任务顺序执行的结果。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for ltp_extension-0.1.10-cp37-abi3-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25c117d06229725456c56980da47ec6bf43c51796de4ed87ddb9386b621d217c |
|
MD5 | 0bd9493bf0ab6a8787d108fe207bdcf3 |
|
BLAKE2b-256 | 20387b299103712be2217645f51e6fdafe4e449153dab7695d03a659879454b1 |
Hashes for ltp_extension-0.1.10-cp37-abi3-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e2be692f2ff99c03ada7376e4e0b7cfbc7956faf94314066ac9499203423674 |
|
MD5 | 9825362eabbbe1113fb07a8ae0f35370 |
|
BLAKE2b-256 | a44475dfb3045b113d803d174313dd3800fb3d280465ae7c18276599481e9ee3 |
Hashes for ltp_extension-0.1.10-cp37-abi3-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2bbf7bc671d9b2d942a08cef1c120320dd924c1ed455c71a1dba778d4d4e5c37 |
|
MD5 | a5fce44c9684566829053ec6ac163367 |
|
BLAKE2b-256 | 92673b904f49dc24c4d62197177958dc3786d6ff95dc13a6378c1c72f580e8b8 |
Hashes for ltp_extension-0.1.10-cp37-abi3-musllinux_1_2_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8407632621a5e2939ae7d2937ce9e019d74d1f66400a15a0a97ea2fb269c6cbc |
|
MD5 | a459e43c0914a0c743b33778735c3369 |
|
BLAKE2b-256 | 32bc9d85ed2b5c1574f02e3e4fde8c067ee0c06c8ffefc1ee26f3aaa65d95dca |
Hashes for ltp_extension-0.1.10-cp37-abi3-musllinux_1_2_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a912253d0fda30f70a80e80bd892e74b742d552c8170bb547c9947b42560166 |
|
MD5 | 8bb4c3550144b0b46ba7b093cdebd002 |
|
BLAKE2b-256 | d5bdb24db2466b9285c999ba973aa55127ba270070ac6ba3e2a325b78be5d64b |
Hashes for ltp_extension-0.1.10-cp37-abi3-musllinux_1_2_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc1e5224a0f15c6ea7d0437feedc41b6a90c30cbe3ba0971ffa93ea02981ce57 |
|
MD5 | 8d29fc7b3753635ab33a87d21b04277e |
|
BLAKE2b-256 | 2a3de39f5286f975688857adc74d344dd3ae7b17562689430ab66c3fc9fd9971 |
Hashes for ltp_extension-0.1.10-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff969e4357401b418ba90e52f1d08d6ad00eebf847781a72ed183f9af5115fae |
|
MD5 | 698e18b1d0d166bb194dad759b1f1208 |
|
BLAKE2b-256 | d33aa7aa7ad091ec251ea9e7870844a90184b34fed30a3c3ccc163b8b3bd1400 |
Hashes for ltp_extension-0.1.10-cp37-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7f0ee565dff51aedcaa2631c6e0f03fb4c2ce637a395517e9d9298c55b30f90 |
|
MD5 | c04f1f2e25823017c8edbbe4adca04ee |
|
BLAKE2b-256 | 350a9c0ece0c800dad6afebaed837d9bec1c9b1f9e24bc620fba7481476c6092 |
Hashes for ltp_extension-0.1.10-cp37-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9c2254248c6a1675e227a9e21498ca04876794a724c3f225de0b65ca2160293 |
|
MD5 | 8219fc4226033f0c298430122c886c83 |
|
BLAKE2b-256 | 6cc2d20e39beeede05e98e52299da9ac9b1cefdef873eef9c0a4d1d7f25ffdf5 |
Hashes for ltp_extension-0.1.10-cp37-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a6fbf7bffa99d32e6db4fe2e52273ac929923f68b8b0e67ffb2691af09162d7 |
|
MD5 | 470c2cfcbb12beb605bdf973175d7aa7 |
|
BLAKE2b-256 | edaa0474c4122f54470ef623d8c40096b7d09c256f0cd5a6235951a080123c84 |
Hashes for ltp_extension-0.1.10-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ce04a9ff2070b37af18f26613c3fb40ad350f0f4429ec7c5180f7b5f6350d0e |
|
MD5 | a692b713c90ba77413ba47f80fb245ed |
|
BLAKE2b-256 | 19ee593e1d3e4c2097cad913d592f277387b8e851468e988deca27ae5bab218a |
Hashes for ltp_extension-0.1.10-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56dcc134b83cdf0f17bfd641a999524d781effaa1b8d4f5064767ebaa1cac1c1 |
|
MD5 | e7701b54d0153827993b5025be0deb0e |
|
BLAKE2b-256 | 14d7394d6a7e8067f73d913499e9d9e259346a90943a1622aa6d7b2c0c127d98 |
Hashes for ltp_extension-0.1.10-cp37-abi3-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5bc9184bba0fcaaf16555dd3c32be1b4ca337d6fb6c93b455ff2da10462b3f4c |
|
MD5 | 9a6db26f22683932b06a4db385dc0305 |
|
BLAKE2b-256 | 8622b7c65c5594a3e0828b26b3c5195f9d43233b22b6868e1d099afc4306686e |
Hashes for ltp_extension-0.1.10-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8edfa1d69c850cbf0fceb5fae75a30105fffab268c959b8e25ef17d4b3b6d8f4 |
|
MD5 | ca2fad21ec18f2b7b70b8ea7f4510929 |
|
BLAKE2b-256 | 02dbb46c8fd77dbb36af964b878f960fc91bb4812582a653c277afb47e0208e2 |
Hashes for ltp_extension-0.1.10-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4dafb35977a01e8bf73c50476dd648eb82ba7fd8e0f4a2e3a100ec9676fae18 |
|
MD5 | c107dc9b235487b74a663bc8527f5e83 |
|
BLAKE2b-256 | ce06ce20cbcf9dde6f70c76a5bf83ae5b2113e116b3b3964dd5ff1814e9dcfbc |