- upd: Яндекс открыл исходники и написал документацию по Томита-Парсеру, этот репозиторий больше не актуален, пользуйтесь этим: http://api.yandex.ru/tomita/ *
poor-python-yandex-tomita-parser, как видно из названия, попытка облегчить использование доступного для скачивания Томита-парсера компании Яндекс с языком Python.
На момент написания этой обертки, Томита-парсер для широкого круга лиц доступен исключительно в виде запускаемого бинарника, что не дает, например, сделать из него демон, и сильно влияет на производительность потому что его инициализация и запуск происходит при каждом запросе. Потому используйте данную однофайловую обертку или в образовательных целях, или же думайте как жить с имеющейся производительностью. Будем надеяться, что в будущем Яндекс выпустит более удобные обертки для запуска Томита-парсера, позволив на полную использовать его скорость.
Инструкция по применению:
- Ознакомиться с лицензионным соглашением и скачать исполняемый файл Томита-парсера под вашу платформу: http://api.yandex.ru/tomita/
- Распаковать и положить исполняемый файл на видное или удобное для вас место (для примера я положил в ~/tomita-mac).
- Потратить вечер на изучение документации и примеров: http://api.yandex.ru/tomita/doc/tutorial/concept/about.xml
- Ничего не понять, но не сдаться и найти еще больше примеров (например, этот http://www.slideshare.net/Tatiana.lando/tomita)
- Воспользовавшись данной оберткой написать что-то типа:
from main import TomitaParser
tomita = TomitaParser("/tomita-mac", "/poor-python-yandex-tomita-parser/examples/config.proto", debug=True)
facts, leads = tomita.run(u"здесь текст для обработки, конечно же в utf-8")
print "Facts:", facts
print "Leads:", leads
Пути должны быть абсолютные. В config.proto должны отсутствовать дескрипторы File, которые перенаправляют вывод в файл, весь ввод/вывод должен осуществляться через STDIN/STDOUT, ввод в формате plain, вывод — xml. Это проверяется методом validate_config, позже для ускорение работы проверку можно отключить передав validate=False в конструктор TomitaParser.