Java API для Семантического Сходства / Связанности между двумя "СЛОВАМИ"
Мне нужно выяснить семантическое сходство / родство между двумя входными словами. Следующие слова похожи или связаны в реальном мире:
- genuineness, genuine, genuinely, valid, reality, fact, really
- painter, painting, paint
Ниже приведен мой код, который я взял отсюда
ILexicalDatabase db = new NictWordNet();
RelatednessCalculator lin = new Lin(db);
RelatednessCalculator wup = new WuPalmer(db);
RelatednessCalculator path = new Path(db);
String w1 = "truth";
String w2 = "genuine";
System.out.println(lin.calcRelatednessOfWords(w1, w2));
System.out.println(wup.calcRelatednessOfWords(w1, w2));
System.out.println(path.calcRelatednessOfWords(w1, w2));
Я использую WS4J Api (ws4j1.0.1.jar) с Java 1.7 в затмении 3.4. Я получаю следующие результаты, которые не имеют смысла или, возможно, мое восприятие неверно.
Если мой подход неверен, пожалуйста, дайте мне знать, если я хочу определить сходство между словами, то какие другие API я должен был использовать.
1 ответ
Похоже, что слова не найдены в наборе данных, который вы настроили, и поэтому просто возвращает оценку 0.0
Например, следующие бессмысленные слова приводят к 0.0
также:
ILexicalDatabase db = new NictWordNet();
RelatednessCalculator lin = new Lin(db);
RelatednessCalculator wup = new WuPalmer(db);
RelatednessCalculator path = new Path(db);
String w1 = "iamatotallycompletelyfakewordwithagermanwordinsidevergnügen";
String w2 = "iamevenmorefakeandstrangerossiskajafoderatsija";
System.out.println(lin.calcRelatednessOfWords(w1, w2));
System.out.println(wup.calcRelatednessOfWords(w1, w2));
System.out.println(path.calcRelatednessOfWords(w1, w2));
К сожалению, я не могу сказать, на что похожа ваша конфигурация, и предоставленная вами ссылка, похоже, не работает (больше, по крайней мере). Однако JAR для ws4j 1.0.1 в Google Code включает в себя свой собственный файл информационного контента (с именем ic-semcor.dat), который настроен в файле Similarity.conf:
# ----------------------------------------------------------------------
# The following option is supported by :
# res, lin, jcn
infocontent = ic-semcor.dat
# Specifies the name of an information content file under
# data/. The value of this option must be the name of a
# file, or a relative or absolute path name. The default
# value of this option ic-semcor.dat.
Используя эту настройку, я получаю те же результаты для слов, перечисленных в вашей таблице. Таким образом, вы должны смотреть больше в конфигурации человека RelatednessCalculator
реализации для различных метрик.