すべての文には、「推測」という言葉の何らかの形があります。つまり、推測、推測などです。
word in string
他の回答に示されている方法は、一般的に失敗します。たとえば、community
文に含まれる単語が見つかりませんcommunities
。
この場合、nltk.stem
パッケージで提供されるようなステミング アルゴリズムが必要になる場合があります。
from nltk.stem.snowball import EnglishStemmer
from nltk import word_tokenize
stemmer = EnglishStemmer()
stem_word = stemmer.stem
stem = stem_word(u"conjecture")
sentence = u'He conjectured that the interface was...'
words = word_tokenize(sentence)
found_words = [(i, w) for i, w in enumerate(words) if stem_word(w) == stem]
# -> [(1, u'conjectured')]
nltkには、正確に必要なものに応じて使用できる他のステムおよびトークン化メソッドがあります。
しかし、いくつかの単語は厄介な文字で始まります。
「厄介な文字」は、utf-8
バイトシーケンスをcp1252
次のように誤って処理した結果です。
>>> utf8bytes = u"microsoft smart quote (\u201c)".encode('utf-8')
>>> print utf8bytes.decode('cp1252')
microsoft smart quote (“)
>>> print utf8bytes.decode('utf-8')
microsoft smart quote (“)
むやみに文字化けしたテキストを削除するのではなく、代わりに文字エンコーディングを修正してください。
#AskObama のツイートが画面上で文字化けした理由: UTF-8、Unicode、ASCII、および ANSI のデコードを理解する 大統領はテレビで公開されたこの問題の例を示しています。
理解するには、すべてのソフトウェア開発者が絶対に、積極的にUnicodeと文字セットについて知る必要がある絶対最小値を読んでください(言い訳はありません!) .