instant-segment/README.md

29 lines
1.7 KiB
Markdown
Raw Normal View History

2020-12-16 09:38:59 +00:00
![Cover logo](./cover.svg)
2020-12-15 20:02:22 +00:00
# instant-segment: fast English word segmentation in Rust
2020-06-17 20:11:06 +00:00
2020-12-15 20:02:22 +00:00
[![Build status](https://github.com/InstantDomainSearch/instant-segment/workflows/CI/badge.svg)](https://github.com/InstantDomainSearch/instant-segment/actions?query=workflow%3ACI)
2020-06-17 20:11:06 +00:00
[![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE-APACHE)
2020-12-15 20:02:22 +00:00
instant-segment is a fast Apache-2.0 library for English word segmentation.
2020-06-17 20:11:06 +00:00
It is based on the Python [wordsegment][python] project written by Grant Jenkins,
which is in turn based on code from Peter Norvig's chapter [Natural Language
Corpus Data][chapter] from the book [Beautiful Data][book] (Segaran and Hammerbacher, 2009).
The data files in this repository are derived from the [Google Web Trillion Word
Corpus][corpus], as described by Thorsten Brants and Alex Franz, and [distributed][distributed] by the
Linguistic Data Consortium. Note that this data **"may only be used for linguistic
education and research"**, so for any other usage you should acquire a different data set.
2020-12-15 20:02:22 +00:00
For the microbenchmark included in this repository, instant-segment is ~17x faster than
2020-06-17 20:11:06 +00:00
the Python implementation. Further optimizations are planned -- see the [issues][issues].
The API has been carefully constructed so that multiple segmentations can share
the underlying state (mainly the unigram and bigram maps) to allow parallel usage.
[python]: https://github.com/grantjenks/python-wordsegment
[chapter]: http://norvig.com/ngrams/
[book]: http://oreilly.com/catalog/9780596157111/
[corpus]: http://googleresearch.blogspot.com/2006/08/all-our-n-gram-are-belong-to-you.html
[distributed]: https://catalog.ldc.upenn.edu/LDC2006T13
2020-12-15 20:02:22 +00:00
[issues]: https://github.com/InstantDomainSearch/instant-segment/issues