Целевое слово Senserelate: предоставить "лучшую" альтернативу для конечных пользователей

Вступление к моей проблеме: пользователи могут искать термины, а RitaWordNet предоставляет метод getSenseIds() для получения связанных значений. В настоящее время я использую WS4J (WordNet Similarity for Java, http://code.google.com/p/ws4j/), который использует разные алгоритмы для определения расстояния. Поиск "пользователь" имеет такой результат:

  • пользователь
  • эксплуататор
  • потребитель наркотиков

http://wordnetweb.princeton.edu/perl/webwn?s=user&sub=Search+WordNet&o2=&o0=1&o8=1&o1=1&o7=&o5=&o9=&o6=&o3=&o4=&h=0

Лин-расстояние измеряется путем сравнения двух членов в WS4J (с targetWord, я полагаю?):

  • Сходство между: user и: user = 1.7976931348623157E308
  • Сходство между: пользователь и: эксплуататор = 0,1976958835785797

Я хотел бы вернуть конечному пользователю предположение, что "пользовательский" смысл является наиболее актуальным / правильным ответом, но проблема в том, что это зависит от остальной части предложения.

Пример: "Старик регулярно пользовался общественным транспортом", "Молодой человек стал наркоманом, изучая НЛП..".

Я предполагаю, что в проекте Senserelate есть что-то, что я пропускаю. Эта тема также была найдена во время моего поиска: алгоритм устранения неоднозначности слов (алгоритм Lesk)

Надеюсь, кто-то получил мой вопрос:)

1 ответ

Решение

Возможно, вы захотите попробовать WordNet::SenseRelate::AllWords - на сайте http://maraca.d.umn.edu/ есть демоверсия.

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