Как стать автором
Обновить

Комментарии 8

Интересная разработка! Могли бы вы подсказать, где вы планируете применять эту библиотеку?
Добрый день. После создания семантического модуля мы планируем сделать на его базе Cloud REST Service по анализу текстов. С его помощью любой желающий сможет построить семантическую сеть текста, вычленить главные объекты и посмотреть на связи.

Далее мы попробуем сделать UI который бы показывал все эти данные. Это поможет начать использование технологии конечными пользователями. Сам я использовал первую версию для обработки новостей. Намного проще глянуть на граф связей главных объектов новости и перечень фактов на базе которых новость построена чем перечитывать саму новость. Это существенно повысило мой КПД при работ с навозными потоками.

В далекой перспективе мы планируем сделать динамический анализатор информационных потоков. На вход источник информации (например RSS) на выходе уведомления если в данном источнике появилось что-то значимое. Например, представьте, что Линус Торвальдс перешел работать в Microsoft имея семантический граф новостной сферы ИТ наш анализатор с легкостью поймет что это либо «вранье» либо «сенсация». Подобный анализатор не просто упростит работу с новостными потоками конечным клиентам, он собственно будет способен проводить первичную обработку этих самых потоков выдавая клиентам важную, обработанную информацию.

Все выше сказанное уже так или иначе было реализовано в рамках подготовки кандидатской, сейчас лишь переделываем это в человеческом виде и на Java 8. Но есть еще кое что, что возможно потенциально, но не было реализовано практически — создание на базе данной технологии чатом-бота. Но о том как это возможно и наших планах в двух словах не рассказать)
developer., developer, developer,

Раз уж вы продолжаете строить модель языка по тексту, то возможно будет удобнее вначале получить модель морфологии.
В противном случае словарь получается очень странный: знаки пунктуации лезут.
Также я сомневаюсь, что из текущего словаря будет удобно строить морфологию, так как нет контекста.
Вы правы по поводу необходимости получения модели морфологии вначале. При подсчете качества мы именно так и делаем, не уверен почему в консольном клиенте морфология опускается и сразу строится словарь. Добавлю это в issue для CLI. Думаю основная проблема что у нас пока еще нету стандартного Pipeline модуля для работы с AIF так что на вход одного компонента можно подать выход другого минуя некоторые важные ступени.
Не совсем понимаю, как вы делаете объединение токеннов в одно слово? Скажем, в английском большой проблемы нет, там просто можно взять, отбросить часть в конце и получится правильное слово, а в русском, насколько знаю, автоматические методы работают плохо, например есть у вас токены

путы,

и

пути, путей, путь

При всей похожести это совершенно разные слова (путь и путы), а любой автоматический способ приведения (ну за исключением кропотливого ввода всех возможных правил склонения русского языка или использования словаря всех русских слов) будет делать ошибки на подобных словах. А их достаточно много, чтобы сделать подобный автоматический разбор не очень полезным для большинства применений.
Вы абсолютно правы в отношении проблемы текущего словаря. Именно по этому мы ввели 2 определения: слово и семантическое слово.

Слово — подмножество языка, в которое входят токены, схожее между собой.
Семантическое слово — подмножество языка, в которое входят токены, имеющие схожий контекст использования.


После того как будет закончен семантический модуль мы сможем проводить семантический анализ каждого слова что даст возможность разбить обычное слово на семантические слова. Именно на этом этапе можно будет отделить «путы» от «пути», «путей», «путь». Так что уже в Alpha4 мы планируем поддерживать этот функционал.
Интересно, не окажутся ли у вас «и» и «или» одним словом…
Посмотрим, очень может быть что в первых релизах — окажутся (просто уверен в этом)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации