سؤال

أنا بحاجة إلى استخدام وردنيت في التطبيق القائم على جافا.أريد أن:

  • البحث عن المتزامنة

  • ابحث عن التشابه / الارتباط بين المتزامنة

بلدي التطبيق يستخدم الرسوم البيانية ردف وأنا أعلم أن هناك نقاط النهاية سباركل مع وردنيت ، ولكن أعتقد أنه من الأفضل أن يكون نسخة محلية من مجموعة البيانات ، لأنها ليست كبيرة جدا.

لقد وجدت الجرار التالية:

ماذا تنصح لبلدي التطبيق?

هل من الممكن استخدام مكتبة بيرل من التطبيق جافا عبر بعض الارتباطات?

شكراً!مولون

هل كانت مفيدة؟

المحلول

يمكنني استخدام فكي للأشياء وردنيت العادية لأنها سهلة الاستخدام.لمقاييس التشابه ، على الرغم من أنني استخدم المكتبة الموجودة هنا.ستحتاج أيضا إلى التنزيل هذا مجلد ، يحتوي على بيانات وردنيت وكوربوس التي تمت معالجتها مسبقا ، حتى تعمل.يمكن استخدام التعليمات البرمجية مثل هذا ، على افتراض أنك وضعت هذا المجلد في آخر يسمى "ليب" في مجلد المشروع الخاص بك:

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), ، إلخ.لسوء الحظ ، وثائق المصدر ليست جافادوك ، لذلك ستحتاج إلى فحصها يدويا.يمكن تنزيل المصدر هنا.

الخوارزميات المتاحة هي:

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();

أيضا ، فإنه يتطلب منك أن يكون ملف جرة لمعهد ماساتشوستس للتكنولوجيا جوي

نصائح أخرى

هناك وظيفة في الفكين للعثور على أجهزة WordForms مماثلة هنا التفاصيل:

Public Adjectivesysysetset [] GetSimilar () يلقي WordNetException وهنا رابط يمكنك التحقق من: http://lyle.smu.edu/~tspell/jaws/doc/edu/smu/dspell/wordnet/wordsynset.html هذا الارتباط الذي يقوم باتحاد التفاصيل التي يمكنك استخدامها.

لست متأكدا مما إذا كان الفكين أو JWNL يوفر طرق لحساب التشابه بين التغلبات، لكنني جربت كليهما من أجل البحث ووجدت الفك أسهل في الاستخدام.على وجه التحديد، بسيط: giveacodicetagpre. كان

أسهل بالنسبة لي لفهم من متطلبات jwnl file_properties.xml.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top