Простой графематический анализатор русского языка. Позволяет разбивать текст на токены нескольких типов:
- Слова: вода, tree, Маска, ПрИвЕт, Салтыков-Щедрин
- Знаки пунктуации: ,?!
- Разделители: \t, \n, \s
- Числа: 123, 5, 0213
- Цифробуквенные комплексы: АН512, doom4
- Иероглифы: ツ, 한자
- ASCII-симолы: # Для каждого из типов токенов определяется собственная графематическая информаця, например регистр для слов, тип пунктуации и разделителя и т.п.
Система сборки взята из открытого проекта Яндекса 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" ] } ] } 2. cd xtok/tools && ./xtok --input ../data/greenlamp.txt --output tokens.txt #просто с токены с новой строки без информации >>> from xtok import tokenize >>> tokenize("Привет!") [{'data': 'Привет', 'type': b'WORD', 'info': [b'CYRILLIC', b'CAP_START']}, {'data': '!', 'type': b'PUNCT', 'info': [b'EXCLAMATION_MARK']}]