跳转到主要内容

nlcodec 是一组用于自然语言序列的编码方案。nlcodec.db 是一个高效存储和检索不同长度整数序列的层。

项目描述

NLCodec

image Travis (.com)

📕 文档: https://isi-nlp.github.io/nlcodec

一组(低级)自然语言编码器-解码器(编码器),在NLP管道的预处理阶段非常有用。这些编码器包括将序列编码为以下之一

  1. 字符
  2. 单词
  3. BPE 基于子词

它提供了 Python(可以嵌入到您的应用程序中)和 CLI API(作为独立工具使用)。

已经有许多 BPE 实现,但这个实现有所不同

  1. 纯 Python 实现,易于修改任何内容以尝试新想法。(其他实现需要 C++/Rust 专业知识来修改核心)
  2. 易于共享和检查的模型文件。这是一个简单的文本文件,可以用 lesscut 检查。它包含有关哪些部分被组合在一起以及频率等信息。
  3. 比其他纯 Python 实现更快。底层尝试使用双链表、最大堆、哈希表等数据结构来提高性能。
  4. 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。

文档可在以下位置找到

引用

请参阅 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 查看哈希值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页