Целевое слово Senserelate: предоставить "лучшую" альтернативу для конечных пользователей
Вступление к моей проблеме: пользователи могут искать термины, а RitaWordNet предоставляет метод getSenseIds() для получения связанных значений. В настоящее время я использую WS4J (WordNet Similarity for Java, http://code.google.com/p/ws4j/), который использует разные алгоритмы для определения расстояния. Поиск "пользователь" имеет такой результат:
- пользователь
- эксплуататор
- потребитель наркотиков
Лин-расстояние измеряется путем сравнения двух членов в WS4J (с targetWord, я полагаю?):
- Сходство между: user и: user = 1.7976931348623157E308
- Сходство между: пользователь и: эксплуататор = 0,1976958835785797
Я хотел бы вернуть конечному пользователю предположение, что "пользовательский" смысл является наиболее актуальным / правильным ответом, но проблема в том, что это зависит от остальной части предложения.
Пример: "Старик регулярно пользовался общественным транспортом", "Молодой человек стал наркоманом, изучая НЛП..".
Я предполагаю, что в проекте Senserelate есть что-то, что я пропускаю. Эта тема также была найдена во время моего поиска: алгоритм устранения неоднозначности слов (алгоритм Lesk)
Надеюсь, кто-то получил мой вопрос:)
1 ответ
Возможно, вы захотите попробовать WordNet::SenseRelate::AllWords - на сайте http://maraca.d.umn.edu/ есть демоверсия.