2011-06-06 16 views
7

मैं यह जानना चाहता हूं कि दो वेब पेज समान हैं या नहीं। क्या कोई सुझाव दे सकता है कि क्या वर्डनेट समानता के साथ पायथन एनएलटीके उपयोगी और कैसे काम करता है? इस मामले में इस्तेमाल होने वाला सबसे अच्छा समानता कार्य क्या है?दो वेब पृष्ठों के बीच समानता खोजने के लिए पायथन nltk का उपयोग कर?

+1

एनएलटीके अच्छी तरह से उपयोगी हो सकता है। ओपन स्रोत (ओपन सोर्स) ओ'रेली पुस्तक पर एक नज़र डालें - यह nltk.org पर प्रकाशित है यदि आप प्रिंट संस्करण को पा सकते हैं/बर्दाश्त नहीं कर सकते हैं। यह आपको सही दिशा में इंगित करना चाहिए क्योंकि इसमें एनएलटीके क्या कर सकता है। – winwaed

+0

[सुविधा के लिए पायथन 2 पुस्तक से लिंक] (http://www.nltk.org/book_1ed/) - वे वर्तमान में पाइथन 3 और एनएलटीके 3 – Ksofiac

+0

[पायथन 3 पुस्तक से लिंक] के लिए एक संशोधित संस्करण पर काम कर रहे हैं (http: //www.nltk.org/book/) – Ksofiac

उत्तर

14

spotsigs कागज joyceschan पतों सामग्री दोहराव का पता लगाने से उल्लेख लागू करने पर विचार और यह सोचा के लिए भोजन के बहुत सारे हैं।

यदि आप कुंजी शर्तों की त्वरित तुलना की तलाश में हैं, तो nltk मानक फ़ंक्शन पर्याप्त हो सकते हैं।

nltk आप द्वारा synsets निहित पर नज़र डालकर अपने शब्दों के समानार्थी खींच सकते हैं WordNet

>>> from nltk.corpus import wordnet 

>>> wordnet.synsets('donation') 
[Synset('contribution.n.02'), Synset('contribution.n.03')] 

>>> wordnet.synsets('donations') 
[Synset('contribution.n.02'), Synset('contribution.n.03')] 

यह बहुवचन को समझता है और यह आपको यह भी बताता भाषण का कौन सा हिस्सा पर्याय

से मेल खाती है के साथ

सिन्ससेट एक पेड़ में संग्रहित होते हैं जिसमें पत्तियों पर अधिक विशिष्ट शब्द होते हैं और रूट पर अधिक सामान्य होते हैं। जड़ शर्तों कहा जाता है hypernyms

आप कितने करीब शर्तों आम hypernym कर रहे हैं द्वारा समानता

भाषण के विभिन्न भागों से सावधान रहें माप सकते हैं NLTK रसोई की किताब वे नहीं है के अनुसार पथों को ओवरलैप करना है, इसलिए आपको उनके बीच समानता मापने की कोशिश नहीं करनी चाहिए।

कहो, आप दो शब्दों दान और उपहार है, तो आप उन्हें synsets से प्राप्त कर सकते हैं लेकिन इस उदाहरण में मैं उन्हें सीधे प्रारंभ:

>>> d = wordnet.synset('donation.n.01') 
>>> g = wordnet.synset('gift.n.01') 

रसोई की किताब की सिफारिश की वू-पामर समानता विधि

>>> d.wup_similarity(g) 
0.93333333333333335 

यह दृष्टिकोण आपको यह निर्धारित करने का एक त्वरित तरीका देता है कि संबंधित शर्तों से संबंधित शब्द क्या हैं। Natural Language Processing with Python पर एक नज़र डालें ताकि आप यह देखने के लिए टेक्स्ट के अपने विश्लेषण में मदद के लिए और क्या कर सकें।

+0

धन्यवाद दोस्त जो मददगार था। लेकिन, उन चीजों का उपयोग करके मैं शब्दों की एक जोड़ी के बीच समानता पा सकता हूं लेकिन मैं वाक्यों के लिए ऐसा कैसे कर सकता हूं। – station

+1

वाह! यह सेक्स या आइसक्रीम से बेहतर है! –

+1

@ user567797 कोई जांच नहीं। यह पेपर दो वाक्यों के बीच अर्थपूर्ण समानता को मापने के लिए एल्गोरिदम को रेखांकित करता है। http://www.google.com/url?sa=t&source=web&cd=2&ved=0CCYQFjAB&url=http%3A%2F%2Fwordnetdotnet.googlecode।कॉम% 2Fsvn% 2Ftrunk% 2FProjects% 2FThanh% 2FPaper% 2FWordNetDotNet_Semantic_Similarity.pdf और RCT = जम्मू q = समानता% 20sentences और Ei = XEruTanSLcXegQetyeSVDw और यूएसजी = AFQjCNF9fWcVrWZ4_cBZcfW_p7fFxaL_1A और sig2 = qY7LW7YWGzNXMhOOPS5Llw और सीएडी = RJA –

संबंधित मुद्दे