title: Word Sense Disambiguation for Arabic text with NLTK
body: <p>NLTK allows me to disambiguate text with <code>nltk.wsd.lesk</code>, e.g. </p>
  
  <pre><code>&gt;&gt;&gt; from nltk.corpus import wordnet as wn
  &gt;&gt;&gt; from nltk.wsd import lesk
  &gt;&gt;&gt; sent = "I went to the bank to deposit money"
  &gt;&gt;&gt; ambiguous = "deposit"
  &gt;&gt;&gt; lesk(sent, ambiguous, pos='v')
  Synset('deposit.v.02')
  </code></pre>
  
  <p><a href="https://github.com/alvations/pywsd" rel="nofollow"><code>PyWSD</code></a> does the same but it's only for English text.</p>
  
  <hr>
  
  <p>NLTK supports arabic wordnet from the <a href="http://compling.hss.ntu.edu.sg/omw/" rel="nofollow">Open Multilingual WordNet</a>, e.g.</p>
  
  <pre><code>&gt;&gt;&gt; wn.synsets('deposit', pos='v')[1].lemma_names(lang='arb')
  [u'\u0623\u064e\u0648\u0652\u062f\u064e\u0639\u064e']
  &gt;&gt;&gt; print wn.synsets('deposit', pos='v')[1].lemma_names(lang='arb')[0]
  أَوْدَعَ
  </code></pre>
  
  <p>Also, the synsets are indexed for Arabic:</p>
  
  <pre><code>&gt;&gt;&gt; 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')]
  </code></pre>
  
  <p>But how could i disambiguate Arabic texts and extract concepts from a query using nltk? </p>
  
  <p>I was wondering if it is possible to use Lesk algorithm to deal with Arabic texts through nltk?</p>