nlcodec 是一组用于自然语言序列的编码方案。nlcodec.db 是一个高效存储和检索不同长度整数序列的层。
项目描述
NLCodec
📕 文档: https://isi-nlp.github.io/nlcodec
一组(低级)自然语言编码器-解码器(编码器),在NLP管道的预处理阶段非常有用。这些编码器包括将序列编码为以下之一
- 字符
- 单词
- BPE 基于子词
- 类
它提供了 Python(可以嵌入到您的应用程序中)和 CLI API(作为独立工具使用)。
已经有许多 BPE 实现,但这个实现有所不同
- 纯 Python 实现,易于修改任何内容以尝试新想法。(其他实现需要 C++/Rust 专业知识来修改核心)
- 易于共享和检查的模型文件。这是一个简单的文本文件,可以用
less
或cut
检查。它包含有关哪些部分被组合在一起以及频率等信息。 - 比其他纯 Python 实现更快。底层尝试使用双链表、最大堆、哈希表等数据结构来提高性能。
- PySpark 后端用于从大型数据集中提取词频。
安装
请只运行以下之一
# Install from pypi (preferred)
$ pip install nlcodec --ignore-installed
# Clone repo for development mode
git clone https://github.com/isi-nlp/nlcodec
cd nlcodec
pip install --editable .
pip 安装器将这些 CLI 工具注册到您的 PATH 中
nlcodec
-- 用于学习、编码和解码的 CLI。与python -m nlcodec
相同nlcodec-learn
-- 用于学习的 BPE CLI,后端为 PySpark。与python -m nlcodec.learn
相同nlcodec-db
-- 用于 bitextdb 的 CLI。python -m nlcodec.bitextdb
nlcodec-freq
-- 使用 Spark 后端提取单词和字符频率的 CLI。
文档可在以下位置找到
- HTML 格式:https://isi-nlp.github.io/nlcodec(推荐)
- 本地:docs/intro.adoc
引用
请参阅 https://arxiv.org/abs/2104.00290 即将出现:ACL 2021 示例
@article{DBLP:journals/corr/abs-2104-00290,
author = {Thamme Gowda and
Zhao Zhang and
Chris A. Mattmann and
Jonathan May},
title = {Many-to-English Machine Translation Tools, Data, and Pretrained Models},
journal = {CoRR},
volume = {abs/2104.00290},
year = {2021},
url = {https://arxiv.org/abs/2104.00290},
archivePrefix = {arXiv},
eprint = {2104.00290},
timestamp = {Mon, 12 Apr 2021 16:14:56 +0200},
biburl = {https://dblp.org/rec/journals/corr/abs-2104-00290.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
作者
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解有关 安装软件包 的更多信息。
源分布
nlcodec-0.5.tar.gz (41.7 kB 查看哈希值)
构建分布
nlcodec-0.5-py3-none-any.whl (53.6 kB 查看哈希值)