NLTK позволяет мне устранять неоднозначность текста с помощью nltk.wsd.lesk
, например.Словосочетание Несознание для текста на арабском языке с помощью NLTK
>>> from nltk.corpus import wordnet as wn
>>> from nltk.wsd import lesk
>>> sent = "I went to the bank to deposit money"
>>> ambiguous = "deposit"
>>> lesk(sent, ambiguous, pos='v')
Synset('deposit.v.02')
PyWSD
делает то же самое, но это только для текста на английском языке.
NLTK поддерживает арабский WordNet из Open Multilingual WordNet, например
>>> wn.synsets('deposit', pos='v')[1].lemma_names(lang='arb')
[u'\u0623\u064e\u0648\u0652\u062f\u064e\u0639\u064e']
>>> print wn.synsets('deposit', pos='v')[1].lemma_names(lang='arb')[0]
أَوْدَعَ
Кроме того, synsets индексируются на арабском языке:
>>> wn.synsets(u'أَوْدَعَ', lang='arb')
[Synset('entrust.v.02'), Synset('deposit.v.02'), Synset('commit.v.03'), Synset('entrust.v.01'), Synset('consign.v.02')]
Но как я мог неоднозначность арабские тексты и концепции извлечения из запроса с использованием NLTK?
Мне было интересно, можно ли использовать алгоритм Леска для обработки арабских текстов через nltk?
Здравствуйте ALVAS , мне нужно знать от вас, если над переводом api все еще работает, или еще что-нибудь, что вы можете порекомендовать –