title: how to get initial form of an English word - using python?
body: <p>I want to get initial form of natural English words, e.g.:</p>
  
  <pre><code>'words' -&gt; 'word'
  'Jhon'  -&gt; 'John'
  'openning' -&gt; 'open'
  </code></pre>
  
  <p>I have tried python Stemer lib:</p>
  
  <pre><code>st=Stemer.Stemer()
  for w in ('very', 'words', 'openning'):
  print st.stemWord(w),
  
  &gt;&gt;&gt;veri word open
  </code></pre>
  
  <p>i expect 'very' but instead got 'veri'</p>
  
  <p>then nltk.corpus.wordnet lib:</p>
  
  <pre><code>from nltk.corpus import wordnet
  wordnet.synsets( 'beans' )
  [Synset('bean.n.01'),
   &gt;&gt;&gt;Synset('bean.n.02'),
   &gt;&gt;&gt;Synset('bean.n.03'),
   &gt;&gt;&gt;Synset('attic.n.03'),
   &gt;&gt;&gt;Synset('bean.v.01')]
  </code></pre>
  
  <p>it give more info but not a quick dictionary. </p>
  
  <p>LancasterStemmer can not get 'english' as 'english':</p>
  
  <pre><code>from nltk.stem.lancaster import LancasterStemmer
  st = LancasterStemmer()
  st.stem('english')
  &gt;&gt;&gt;&gt;'engl'
  </code></pre>
  
  <p>enchant lib method check() and sugguest() is not suitable:</p>
  
  <pre><code>&gt;&gt;&gt; import enchant
  &gt;&gt;&gt; d = enchant.Dict("en_US")
  &gt;&gt;&gt; d.check("Hello")
  </code></pre>
  
  <p>Any method to get quick original form, for a document text?</p>