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.11-cp37-abi3-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | deb42e0e7564d11c3c03141f6df4278b1edda0d0b28f23a060ae21ef2909f726 |
|
MD5 | e9f77189b290e906f6b8e4813625bcb9 |
|
BLAKE2b-256 | b15ede949af2ed0e7f563101251b0dab30976c3db8b7c935204d2ad7778f2558 |
Hashes for ltp_extension-0.1.11-cp37-abi3-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5798a8f45b892a8add917ee37c9fba6df1ecf9d38e465a73d6cc23a79a2dff3d |
|
MD5 | 981756756f0dc8e04986d9d6d68db83f |
|
BLAKE2b-256 | 107114920083a2d8585eb0b6f35a7d6ef1719a371c622999ace9beaf3644f5bf |
Hashes for ltp_extension-0.1.11-cp37-abi3-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14669cefb70ed90bbab96f956a172988ea5dfd8607905cec10fc93187630b8f3 |
|
MD5 | 1bc6cdb512f97a162757a7a96907548b |
|
BLAKE2b-256 | 0779abab6f7a3a5e0179ea7f14fd18a46dad4983c3aea196fb44d403c4738dde |
Hashes for ltp_extension-0.1.11-cp37-abi3-musllinux_1_2_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91667e05114976b1cf7ff3ddca22f1b951ae455dc9c560c2c668314b3c82410e |
|
MD5 | e517af3c178d161a364d9b2a65babbc4 |
|
BLAKE2b-256 | d428181afb9d9737652f17e25150d79fc967b7fad488be63e4000b6d7f3bded9 |
Hashes for ltp_extension-0.1.11-cp37-abi3-musllinux_1_2_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c90a95d777b6e9f22030be949101423cd153d981c73aa6042948e2430fe9e410 |
|
MD5 | aef7705c4b0fa4e775dceb5f976e2dac |
|
BLAKE2b-256 | 24b68a3db58bf900f43d1d87ddc090fead3d7b1181dc1b942613cebc85f45b12 |
Hashes for ltp_extension-0.1.11-cp37-abi3-musllinux_1_2_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 017c376530f443f6d3462daa43606015b4075fbddf213cf7b3ae2fc063597f9b |
|
MD5 | c0abf625dbca0f10fc52d4fec0d81120 |
|
BLAKE2b-256 | ba2be80237454621f9277cd95347bf6aaab4337ffdf2ba759d793987e052d660 |
Hashes for ltp_extension-0.1.11-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6abeca525263fe48bb02149673d223f5c7d273512eba5c8558a19d2155862b2e |
|
MD5 | 62e44b95bf543074bc6034d333e7d009 |
|
BLAKE2b-256 | f9ef5bf08c654b412dff0c0229bff542a2914da1e15ec061982a8436420ee535 |
Hashes for ltp_extension-0.1.11-cp37-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69d6817cfc5d4495ec82e7794c98eed83a2a1969894a97cd9f1408b59be23e32 |
|
MD5 | c316da83b521a484026bc4079168cdf3 |
|
BLAKE2b-256 | d55bbceb892f9f48d7920e21e489d8b21904b3ce3da7d2f9fa6076163d24a4a8 |
Hashes for ltp_extension-0.1.11-cp37-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eefb12dfc4431629ea53802906217ef13afa75e707fc8634dd0ea8955a5aace1 |
|
MD5 | c1417ca4713203076b4c6394964f6d8b |
|
BLAKE2b-256 | 9fa24df4f47eb04947b7c8c07616423b36d5fcd2a0e28c12f97e0f4a79e251a3 |
Hashes for ltp_extension-0.1.11-cp37-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 227c9bc6784ee6796e34c6d591172ff8168a495ffc3d616db1256aaaac92c69b |
|
MD5 | 60615fd983ab9340cf4d6da3e39921ae |
|
BLAKE2b-256 | 438839d5346ba90a1ccb5c616f4488d98d2097a966f9720209d99fee3f56178a |
Hashes for ltp_extension-0.1.11-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 576494df54010ddc642ecfec9ab0d774f72ac632d1c2b9c83c265d2c6771646f |
|
MD5 | 2a7bd1e94ab5f201a10710b9fb01e86d |
|
BLAKE2b-256 | 208b3e1ea3bcceae01a866d0d94bb2ef2678aa2fce5d25d278e6d5f74c41b68c |
Hashes for ltp_extension-0.1.11-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 475f8d163967e0a112d5ac2ee9d90b0688c7695784948eda555f98516dbe5701 |
|
MD5 | f9b32ef3275854163f056f856db35f93 |
|
BLAKE2b-256 | 4fccc9f43b4ae73ea3e9fd0578a5716db9bef5482108e75247c662d7608c5cc3 |
Hashes for ltp_extension-0.1.11-cp37-abi3-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72d0130069303b7cf12bd68033d30d382c14739707972ab93ab255b2e6495d53 |
|
MD5 | e087f3fc2e08d4cb27cbafcaef8fe8d8 |
|
BLAKE2b-256 | 8e45f01fb2877bce8ae6b625e4204a0ba2223ceda791bf2fab6466697d7f70ed |
Hashes for ltp_extension-0.1.11-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ddeb4ddf3fbd7f5a8e9963643caac4c2d9355992a761283cfe1a07cb42ea8cf2 |
|
MD5 | 3febc25ea2fcc51dff87be37be9083b0 |
|
BLAKE2b-256 | a4e1ebd452c489f84a5200431b147032aa3c0e2784c589d7527ef6c79804d9c3 |
Hashes for ltp_extension-0.1.11-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9e020f792aa349fc933ef0ab59b816ca2fd43df7355fc9bc2c0ed497d1510ec |
|
MD5 | c0d844bdf6f20406ed9be72fa308bfbf |
|
BLAKE2b-256 | af78869c4cb654d65dd91e99fb2f6ce278c32057178ecc0e1f4963443b161a8d |