有限状态语法编译
项目描述
OpenGrm Pynini
这是一个用于编译、优化和应用语法规则的Python扩展模块。规则可以编译成加权有限状态转换器、推栈转换器或多推栈转换器。它使用OpenFst有限状态转换器(FSTs)和FST存档(FArs)作为输入和输出。
该库主要是由 Kyle Gorman 开发的。
如果您在研究中使用了Pynini,我们将非常感谢您引用以下论文
K. Gorman. 2016. Pynini: A Python library for weighted finite-state grammar compilation. In Proc. ACL Workshop on Statistical NLP and Weighted Automata, 75-80.
(请注意,论文中的一些代码示例现在已过时,可能无法正常工作。)
依赖关系
- 符合标准的C++17编译器(GCC >= 7或Clang >= 700)
- 兼容的OpenFst最新版本(有关此版本的信息,请参阅
NEWS
),带有grm
扩展(即使用./configure --enable-grm
构建)和头文件 - Python 3.6+和头文件
安装说明
根据您的平台,安装Pynini有多种方式。
Windows
虽然Pynini既不是为Windows设计的,也没有在Windows上进行测试,但它可以使用Windows Subsystem for Linux(WSL)进行安装。只需进入WSL环境,然后按照下面的Linux说明进行操作。
MacOS
可以通过运行conda install -c conda-forge pynini
从conda-forge
安装预编译的库。
或者,可以从PyPI通过运行pip install pynini
从源代码构建。
最后,您可以在源代码树的任何位置运行bazel build //:all
使用Bazel从源代码构建。
Linux
可以通过运行conda install -c conda-forge pynini
从conda-forge
安装预编译的库。
或者,您可以通过运行pip install pynini
从PyPI安装预编译的manylinux
wheel。这将安装预编译的manylinux
wheel(如果适用于发布并与您的平台兼容),如果不适用,则从源代码构建和安装。与上面安装的conda-forge
选项不同,该选项还安装OpenFst和Graphviz,此选项不安装OpenFst或Graphviz命令行工具。有关构建和部署manylinux
wheel的说明,请参阅附带的Dockerfile
。
最后,您可以在源代码树的任何位置运行bazel build //:all
使用Bazel从源代码构建。
测试
要确认安装成功,请运行pip install -r requirements
,然后运行python tests/pynini_test.py
。如果所有测试都通过,最后一条将显示为OK
;成功的运行将在STDERR中记录一些错误(这是正常情况)。
Python版本支持
Pynini 2.0.0及以后版本支持Python 3。Pynini 2.1版本(及以后版本)放弃了对Python 2的支持。当前版本支持Python 3.8-3.13。
许可
Pynini采用Apache许可证发布。有关更多信息,请参阅LICENSE
。
有兴趣贡献吗?
有关更多信息,请参阅CONTRIBUTING
。
强制免责声明
这不是一个官方的Google产品。
项目详情
pynini-2.1.6.post1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d831ab53abb22c862fb56471b12edf26e77d2b02d1956f45f0259e6402493084 |
|
MD5 | 4980c77c4c392ee178c8551a27202007 |
|
BLAKE2b-256 | b87906049a733359a2da244c21a88df90828cf27eb0f7947ebb8b00653c7e93c |
pynini-2.1.6.post1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a5a38e074b9eaf7aa08c1cd286d5b7990ef9ccc28f4e5e8d31f09ba10729431d |
|
MD5 | fe69cfb142df9398ce366884455bfafa |
|
BLAKE2b-256 | e2236a487e8de16b151f5b9bfbd15d5b7969976d8bc5e79eaba8a33513dda6d8 |
pynini-2.1.6.post1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8bb8b57896df3ae01bc3a7e4018b90847d16b7a1f0430c1c0bc8a73d1e23baf6 |
|
MD5 | bbedfa2fb6e5e8bf8e2d0e9bb4440525 |
|
BLAKE2b-256 | 82227d3c5fc5ea2aabe87ce09cb14415cbf822c97bda283065f29da6de9aa23a |
哈希值 用于 pynini-2.1.6.post1-cp313-cp313-manylinux_2_28_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | afcbcd23eaed541c5619c47b20031055af7ded44980fe96c7e6d939fac81b91f |
|
MD5 | 9265b142ea413d7ee713a6b26d3ba840 |
|
BLAKE2b-256 | 1e057b2fd6fcaa33362e1bc99cf371273d1500e4b105c9f26ad0c65a43c68551 |
哈希值 用于 pynini-2.1.6.post1-cp312-cp312-manylinux_2_28_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ca567a454fefa7c9bf5180d4d9b4cb5d62f9f99fa326554076fe2a945dc2f776 |
|
MD5 | 32164462045dea980aa9a52a6c33071b |
|
BLAKE2b-256 | 62cf67f560932cbb12a0d7d69e14ed08e83e0ee1ca0ea1c019e486b21048e9b7 |
哈希值 用于 pynini-2.1.6.post1-cp311-cp311-manylinux_2_28_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 957a8b0d7b27a6c7ac15aae1e0e384d92e3ea2ef4e673188a8ccb92a3224e895 |
|
MD5 | 69693b7e4faa70a0b9594ec8b0fe8bb3 |
|
BLAKE2b-256 | b2595c2499971384041aa9a2ad16c02c5d70f6802d49cac08e234f265cd1bc67 |
哈希值 用于 pynini-2.1.6.post1-cp310-cp310-manylinux_2_28_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 10f0717fc6bf09330c41978e4d958a000b790b9b344cbc1117d33b008edf4fde |
|
MD5 | 46a2e22b4b0576ec9b783fc56b2b6111 |
|
BLAKE2b-256 | ad3abf7d70e896d3099999c0350c5deb4c7d404738f34b422ddb1481321009b2 |
哈希值 用于 pynini-2.1.6.post1-cp39-cp39-manylinux_2_28_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3c77d24d2111b7aeabfbdac69fbd52d512eb67481fa348b3e8e1e688cb63f792 |
|
MD5 | e8d7fc697d9c523508537bc456f9bc57 |
|
BLAKE2b-256 | 995c71df7fd882bfe38be0c74a52ba6748d91f49a30ccf155e0b3ea9203b1a84 |
哈希值 用于 pynini-2.1.6.post1-cp38-cp38-manylinux_2_28_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 89c282fc6d6e61781f1ab1ebd614b3db95f0d39cdbf662bdb2a78853d04dbdb0 |
|
MD5 | 5a722f9104e03f0ca0ad8af178047e48 |
|
BLAKE2b-256 | 6be4294de71581e44d350df42a22d1f4225ebfbab8f10942485df52a74fbc2fc |