项目作者: isi-nlp

项目描述 :
Natural Language EnCoder-Decoder: word, char, bpe etc
高级语言: Python
项目地址: git://github.com/isi-nlp/nlcodec.git
创建时间: 2019-08-03T09:55:49Z
项目社区:https://github.com/isi-nlp/nlcodec

开源协议:Apache License 2.0

下载


NLCodec

image
Travis (.com)

📕 Docs: https://isi-nlp.github.io/nlcodec

A set of (low level) Natural Language Encoder-Decoders (codecs), that are useful in preprocessing stage of
NLP pipeline. These codecs include encoding of sequences into one of the following:

  1. Character
  2. Word
  3. BPE based subword
  4. Class

It provides python (so embed into your app) and CLI APIs (use it as stand alone tool).

There are many BPE implementations available already, but this one provides differs:

  1. Pure python implementation that is easy to modify anything to try new ideas.
    (other implementations require c++/rust expertise to modify the core)
  2. An easily shareable and inspectable model file. It is a simple text that can be inspected with less or cut. It includes info on which pieces were put together and what frequencies etc.
  3. Reasonably faster than the other pure python implementations. Under the hood tries, doubly linked lists, max-heaps, hash maps etc data-structures to boost performance.
  4. PySpark backend for extracting term frequencies from large datasets.

Installation

Please run only one of these

  1. # Install from pypi (preferred)
  2. $ pip install nlcodec --ignore-installed
  3. # Clone repo for development mode
  4. git clone https://github.com/isi-nlp/nlcodec
  5. cd nlcodec
  6. pip install --editable .

pip installer registers these CLI tools in your PATH:

  • nlcodec — CLI for learn, encode, decode. Same as python -m nlcodec
  • nlcodec-learn — CLI for learn BPE, with PySpark backend. Same as python -m nlcodec.learn
  • nlcodec-db — CLI for bitextdb. python -m nlcodec.bitextdb
  • nlcodec-freq — CLI for extracting word and char frequencies using spark backend.

Docs are available at

Citation

Refer to https://arxiv.org/abs/2104.00290
To-appear: ACL 2021 Demos

  1. @article{DBLP:journals/corr/abs-2104-00290,
  2. author = {Thamme Gowda and
  3. Zhao Zhang and
  4. Chris A. Mattmann and
  5. Jonathan May},
  6. title = {Many-to-English Machine Translation Tools, Data, and Pretrained Models},
  7. journal = {CoRR},
  8. volume = {abs/2104.00290},
  9. year = {2021},
  10. url = {https://arxiv.org/abs/2104.00290},
  11. archivePrefix = {arXiv},
  12. eprint = {2104.00290},
  13. timestamp = {Mon, 12 Apr 2021 16:14:56 +0200},
  14. biburl = {https://dblp.org/rec/journals/corr/abs-2104-00290.bib},
  15. bibsource = {dblp computer science bibliography, https://dblp.org}
  16. }

Authors