Java - Как найти слово склонен формы в большой строке?

У меня есть случайное текстовое содержимое в строковой переменной. Я хочу посмотреть на все словосочетания конкретного слова, указанного пользователем.

Пример: если пользователь ищет слово "вспомогательный", ему следует перехватить все вхождения "вспомогательный, вспомогательный, вспомогательный, вспомогательный" в строке.

Вопрос заключается в следующем: есть ли библиотека Java для автоматического обнаружения таких перегибов в указанной строке?

Примечание: я видел библиотеку Java под названием WolframAlpha, которая утверждает, что она это делает, и вот ее веб-интерфейс, но я не вижу, чтобы эта библиотека работала, и нет никакого руководства по ее использованию.

3 ответа

Прежде всего, это не библиотека Java, это язык Wolfram, ранее известный как Mathematica. Он имеет JLink и может вызываться из Java, но у вас должен быть запущен Wolfram Kernel, который выполняет код.

Это называется обработка естественного языка, и это огромное, сложное поле. Я возился с несколькими проблемами, но все, что я могу сказать, это сложнее, чем сложно, если вы хотите получить надежное решение.

Что-то, на что Вы могли бы хотеть взглянуть, было бы: Стэнфордский НЛП

Это называется словом stemming. Сначала вам нужно (для конкретного языка) получить основание:

assisting -> assist using -ance, -ing, -ly, -s, -ed etcetera.
sought -> search using an exception list

Затем выполните поиск, возможно, с помощью регулярного выражения (Matcher.find). Шаблон:

"\\bassist\\p{L}*"
"\\b(search|sought)\\p{L}"

Для префиксов без учета прецедента все равно будет сложнее, но в общем случае фразы - это окончания слов в английском. Затем идет поиск синонимов.

Словари там часто называют корпусами. Поиск по "бесплатному английскому корпусу" даст результаты.

\\b = граница словаp{L}* = 0 или больше (*) буквы

Проверьте это..

Я не знаю, насколько велико ваше требование, но вы всегда можете использовать викисловарь и проанализировать ваши данные??

Проверьте этот вопрос. Может помочь

Другие вопросы по тегам