Поиск корней слова в Java с помощью Wordnet - PullRequest
1 голос
/ 17 февраля 2012

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

В процессе я получил вопрос . Я пытаюсь реализовать этот алгоритм, который был указан в качестве ответа.

Но моя главная проблема заключается в нахождении «произведения, обратного числу узлов между двумя узлами»

как мне найти количество узлов между двумя словами.

Когда я пытаюсь использовать гиперонимы, он возвращает набор слов, которые на один уровень выше текущего слова в иерархии

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

for the 1th meaning of application the hypernyms are 
request petition postulation 
for the 2th meaning of application the hypernyms are 
use usage utilization utilisation employment exercise 
for the 3th meaning of application the hypernyms are 
program programme computer program computer programme 
for the 4th meaning of application the hypernyms are 
manual labor manual labour 
for the 5th meaning of application the hypernyms are 
remedy curative cure therapeutic 
for the 6th meaning of application the hypernyms are 
effort elbow grease exertion travail sweat 

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

Пожалуйста, помогите, я срочно нуждаюсь

1 Ответ

1 голос
/ 18 февраля 2012

Алгоритм, на который вы ссылаетесь, меня немного смущает.Я предполагаю, что у вас та же цель, что и у другого человека, который задал вопрос: найти подходящие синонимы для слова.Это задание можно разделить на два этапа:

  1. устранить неоднозначность слова, для которого вы собираетесь найти синонимы, так что вы получите one смысл только
  2. getего синонимы

Даже если вам нужен доступ к гипернимкам, сначала нужно выполнить шаг 1, используя алгоритм Леска , это упрощенная версия или один из альтернативы .Тогда у вас есть только гипернымы для этого смысла.

Для устранения неоднозначности вам не нужно вычислять расстояние до узла (по крайней мере, как часть Lesk), вам просто нужно сравнить глоссыкаждый, чтобы найти наиболее вероятное значение.Не стесняйтесь комментировать, если это не ясно или если я не правильно понял вопрос.

...