TAWT (Tools for Automated Work with Text) - набор инструментов для работы с текстом на русском языке.
Цель:
- Как часто бывает, что новичок в компьютерной лингвистки не находит подходящий парсер текста или не находит открытую морфологическую библиотеку, пытается придумать и реализовать свой инструментарий и тратит время на это, хотя это не его основная цель? Поэтому первая цель, предоставить новичку удобные и простые инструменты для работы с текстом. Чтобы убрать издержки на написание инструментов, которые применяются при каждом анализе текста.
- Пул инструментов должен релизовать самые первые этапы анализа: графоматический, морфологический, семантико-синтаксический, а также выделение словосочетаний, выделение понятий и накапливание их в единой базе данных для последующей обработке (для последующего исследований).
- Инструменты должны быть максимально слабосвязанные, чтобы при изменении в одном инструменте не влияли на другой инструмент и при этом была возможность заменять какой-то инструмент на другой (сторонний инструмент/библиотеку).
Структурная схема взаимодействия между инструментами TATT, показа в упрощённой диаграмме (https://photos.app.goo.gl/uuOYj9hUfuByphhM2).
В TAWT входит:
- Parser - графематический парсер (https://github.com/jalexpr/Parser/).
- JMorfMorf - морфологическая библиотека (https://github.com/jalexpr/JMorfSdk). Библиотека имеет 5млн. словоформ, 390 т.
уникальных слов.При загрузке занимает 500-600МБ оперативной памяти. Занимает 120мб на диске. Время загрузки 15 секунд.
Благодаря реализации на основе HashMap выборка характеристик происходит с высокой скоростью. Библиотека имеет два режима:
- Режим генерации слова из слова в начальной форме по заданным характеристикам.
- Режим анализа слова и возвращения его морфологических характеристик (реализован полностью).
- GAMA (Graphematic and morphological analysis) – прослойка, позволяющая не заморачиваться подключением парсера и морфологическим разбором. На вход принимает String – на выходе распарсенные слова с их морфологическими характеристиками. (https://github.com/jalexpr/Gama)
- SPN v2 (Search possible notion) - поиск потенциальных понятий с помощью выделение словосочетаний. Предыдущая версия SPN доступна тут (https://github.com/jalexpr/SPN). В данном варианте выступает, как инструмент выделение словосочетаний.
- Инструмент работы с БД словосочетаний – (не реализован)
- БД по частоту словосочетаний - (разворачивается тут http://textanalysis.ru/, будет доступно, после написания инструменты работы с БД словосочетаний).
- AWF (ambiguity words filter) – фильтру устранения неоднозначности слова. Один из ключевых инструментов разработанный в этом комплексе инструментов, аналог реализован в первых версиях SPN. Реализация показала, что удается с более 50% точностью устранить неоднозначность слова. Поэтому этот фильтр и вынесен в отдельный инструмент, его применение возможно отдельно от SPN. Интерфейс такой же как при общении с SPN. (https://github.com/jalexpr/AWFilter)
- RFC (rules for compatibility) - правила сочетаемости слов) - в планах вынести в облако, для динамически обновления правил без необходимости перекомпиляции всех инструментов.
- MS (morphological structures) - единая, изменение, которое не потребует перекомпиляции инструментов. При этом структура гарантирует 100% совместимость инструментов между собою. Единственные условия: структура наследуется от интерфейса List и использует определенную вложенность. (Реализовано https://github.com/jalexpr/MorphologicalStructures).
Лицензия: Apache License 2.0