हाल ही में , pywsd
कोड का हिस्सामें NLTK
के 'खून बह रहा किनारे संस्करण में स्थलांतरित कर दिया गया हैमॉड्यूल, कोशिश:
>>> from nltk.wsd import lesk
>>> sent = 'I went to the bank to deposit my money'
>>> ambiguous = 'bank'
>>> lesk(sent, ambiguous)
Synset('bank.v.04')
>>> lesk(sent, ambiguous).definition()
u'act as the banker in a game or in gambling'
बेहतर WSD प्रदर्शन के लिए, NLTK
मॉड्यूल के बजाय pywsd
पुस्तकालय का उपयोग करें।आम तौर पर simple_lesk()
pywsd
से lesk
से बेहतर है। मैं NLTK
मॉड्यूल को जितना संभव हो सके अद्यतन करने की कोशिश करूंगा।
में क्रिस स्पेंसर्स टिप्पणी का जवाब है, Lesk एल्गोरिदम की सीमाओं कृपया ध्यान दें। मैं बस एल्गोरिदम का सटीक कार्यान्वयन कर रहा हूं। यह एक चांदी की गोली, http://en.wikipedia.org/wiki/Lesk_algorithm
इसके अलावा कृपया ध्यान दें कि नहीं है, हालांकि:
lesk("My cat likes to eat mice.", "cat", "n")
आप सही जवाब है, तो आप max_similarity()
की pywsd
कार्यान्वयन का उपयोग कर सकते देना नहीं है:
>>> from pywsd.similarity import max_similiarity
>>> max_similarity('my cat likes to eat mice', 'cat', 'wup', pos='n').definition
'feline mammal usually having thick soft fur and no ability to roar: domestic cats; wildcats'
>>> max_similarity('my cat likes to eat mice', 'cat', 'lin', pos='n').definition
'feline mammal usually having thick soft fur and no ability to roar: domestic cats; wildcats'
@ क्रिस, अगर आप एक पायथन setup.py चाहते हैं, तो बस एक विनम्र अनुरोध करें, मैं इसे लिखूंगा ...
यहां एक पायथन कार्यान्वयन है: https: // github .com/alvations/pywsd – alvas