Skip to content
This repository was archived by the owner on Aug 8, 2019. It is now read-only.

jalexpr/TFWWT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 

Repository files navigation

TFWWT - комплекс инструментов для работы с текстом.


NB! Проект только недавно появился и полный функционал всех инструментов еще не реализован!
Цель:
1) Как часто бывает, что новичок в компьютерной лингвистки не находит подходящий парсер текста или не находит открытую морфологическую библиотеку, пытается придумать и реализовать свой инструментарий и тратит время на это, хотя это не его основная цель? Поэтому первая цель, предоставить новичку удобные и простые инструменты для работы с текстом. Чтобы убрать издержки на написание инструментов, которые применяются при каждом анализе текста.
2) Пул инструментов должен релизовать самые первые этапы анализа: графоматический, морфологический, синтаксический, а также выделение словосочетаний, выделение понятий и накапливание их в единой базе данных для последующей обработке (для последующего исследований).
3) Инструменты должны быть максимально слабосвязанные, чтобы при изменении в одном инструменте не влияли на другой инструмент и при этом была возможность заменять какой-то инструмент на другой (сторонний инструмент/библиотеку).

Структурная схема взаимодействия между инструментами TFWWT, показа в упрощённой диаграмме (https://photos.app.goo.gl/uuOYj9hUfuByphhM2).

В TFWWT входит:
1) Parser - парсер (https://github.com/jalexpr/Parser/).
2) JMorfMorf - морфологическая библиотека (https://github.com/jalexpr/JMorfSdk).
Библиотека имеет два режима:
1) Режим генерации слова из слова в начальной форме по заданным характеристикам.
2) Режим анализа слова и возвращения его морфологических характеристик (реализован полностью).
Библиотека имеет 5млн. словоформ, 390 т. уникальных слов.
При загрузке занимает 500-600МБ оперативной памяти. Занимает 120мб на диске. Время загрузки 15 секунд. Благодаря реализации на основе HashMap выборка характеристик происходит с высокой скоростью.
3) GAMA (Graphematic and morphological analysis) – прослойка, позволяющая не заморачиваться подключением парсера и морфологическим разбором. На вход принимает String – на выходе распарсенные слова с их морфологическими характеристиками (не весь функционал протестирован). (https://github.com/jalexpr/Gama)
4) SPN v2 (Search possible notion) - поиск потенциальных понятий с помощью выделение словосочетаний. Предыдущая версия SPN доступна тут (https://github.com/jalexpr/SPN). В данном варианте выступает, как инструмент выделение словосочетаний.
5) Инструмент работы с БД словосочетаний – (не реализован)
6) БД по частоту словосочетаний - (разворачивается тут http://textanalysis.ru/, будет доступно, после написания инструменты работы с БД словосочетаний).
7) AWFilter (ambiguity words filter) – фильтру устранения неоднозначности слова. Один из ключевых инструментов разработанный в этом комплексе инструментов, аналог реализован в первых версиях SPN. Реализация показала, что удается с более 50% точностью устранить неоднозначность слова. Поэтому этот фильтр и вынесен в отдельный инструмент, его применение возможно отдельно от SPN. Интерфейс такой же как при общении с SPN. (https://github.com/jalexpr/AWFilter)
8) RulesForCompatibility (правила сочетаемости слов) - в планах вынести в облако, для динамически обновления правил без необходимости перекомпиляции всех инструментов.
9) MorphologicalStructures - единая, изменение, которое не потребует перекомпиляции инструментов. При этом структура гарантирует 100% совместимость инструментов между собою. Единственные условия: структура наследуется от интерфейса List и использует определенную вложенность. (Реализовано https://github.com/jalexpr/MorphologicalStructures).

About

Tools for working with text

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors