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 реализации для различных метрик.

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