Вопрос

Мне нужно использовать WordNet в приложении на основе Java. Я хочу:

Это было полезно?

Решение

Я использую челюсти для обычных материалов Wordnet, потому что это легко использовать. Однако для метрик сходства я использую библиотеку, расположенную здесь . Вам также нужно будет скачать Это папка , содержащая предварительно обработанные данные WordNet и Corpus, для его работы. Код можно использовать, как это, предполагая, что вы поместили эту папку в другом под названием «Lib» в папке проекта:

JWS ws = new JWS("./lib", "3.0");
Resnik res = ws.getResnik();
TreeMap<String, Double> scores1 = res.res(word1, word2, partOfSpeech);
for(Entry<String, Double> e: scores1.entrySet())
    System.out.println(e.getKey() + "\t" + e.getValue());
System.out.println("\nhighest score\t=\t" + res.max(word1, word2, partOfSpeech) + "\n\n\n");
.

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

hobby#n#1,gardening#n#1 2.6043996588901104
hobby#n#2,gardening#n#1 -0.0
hobby#n#3,gardening#n#1 -0.0
highest score   =   2.6043996588901104
.

Есть также методы, которые позволяют вам указать, какое чувство либо / оба слова: res(String word1, int senseNum1, String word2, partOfSpeech) и т. Д. К сожалению, исходная документация не является javadoc, поэтому вам нужно будет осмотреть его вручную. Источник можно скачать Здесь .

Доступные алгоритмы:

JWSRandom(ws.getDictionary(), true, 16.0);//random number for baseline
Resnik res = ws.getResnik();
LeacockAndChodorowlch = ws.getLeacockAndChodorow();
AdaptedLesk adLesk = ws.getAdaptedLesk();
AdaptedLeskTanimoto alt = ws.getAdaptedLeskTanimoto();
AdaptedLeskTanimotoNoHyponyms altnh = ws.getAdaptedLeskTanimotoNoHyponyms();
HirstAndStOnge hso = ws.getHirstAndStOnge();
JiangAndConrath jcn = ws.getJiangAndConrath();
Lin lin = ws.getLin();
WuAndPalmer wup = ws.getWuAndPalmer();
.

Кроме того, требует от вас файл JAR для MIT's JWI

Другие советы

Есть функция в челюстях, чтобы найти аналогичные слова Вот детали:

Общественные прилагательные [] goodimilar () бросает wordnetexception и вот ссылка, которую вы можете проверить: http://ylyle.smu.edu/~tspell/jaws/doc/edu/smu/tspell/wordnet/adjectsynse.html Эта ссылка на это содержит детали, которые вы можете использовать.

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

    // Specifying the Database Directory
    System.setProperty("wordnet.database.dir", "C:/WordNet/2.1/dict/");
.

было легче понять, чем требование JWNL File_Properties.xml.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top