Skip to content

Commit

Permalink
Add readme
Browse files Browse the repository at this point in the history
  • Loading branch information
alesapin authored Feb 7, 2018
1 parent 8bbd1da commit 8d1a469
Showing 1 changed file with 57 additions and 0 deletions.
57 changes: 57 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# xtok
## Описание
Простой графематический анализатор русского языка. Позволяет разбивать текст на токены нескольких типов:
* Слова: вода, tree, Маска, ПрИвЕт, Салтыков-Щедрин
* Знаки пунктуации: ,?!
* Разделители: \t, \n, \s
* Числа: 123, 5, 0213
* Цифробуквенные комплексы: АН512, doom4
* Иероглифы: ツ, 한자
* ASCII-симолы: #
Для каждого из типов токенов определяется собственная графематическая информаця, например регистр для слов, тип пунктуации и разделителя и т.п.

## Сборка
Система сборки взята из открытого проекта Яндекса [catboost](https://github.com/catboost/catboost). Она позволяет собирать статически линкуемые библиотеки и бинарники,
а также делать простые биндинги к python. Чтобы собрать бинарную утилиту:
```
1. ./ya make -r
```
Чтобы собрать и установить wheel для python:
```
1. cd xtok/python-package && python mk_wheel.py
2. sudo pip install xtok-0.1-версия_платформы.whl
```
## Использование
### Бинарник
```
1. cd xtok/tools && ./xtok --json --pretty
Привет!
{
"tokens":
[
{
"data":"Привет",
"token_type":"WORD",
"info":
[
"CYRILLIC",
"CAP_START"
]
},
{
"data":"!",
"token_type":"PUNCT",
"info":
[
"EXCLAMATION_MARK"
]
}
]
}
```
# python
```python
>>> from xtok import tokenize
>>> tokenize("Привет!")
[{'data': 'Привет', 'type': b'WORD', 'info': [b'CYRILLIC', b'CAP_START']}, {'data': '!', 'type': b'PUNCT', 'info': [b'EXCLAMATION_MARK']}]
```

0 comments on commit 8d1a469

Please sign in to comment.