web-dev-qa-db-ja.com

Pythonを使用してテキストから英語以外の単語を削除する

pythonでデータクリーニング演習を行っています。クリーニング中のテキストには、削除したいイタリア語が含まれています。これを行うことができるかどうかをオンラインで検索しています。 Python nltkなどのツールキットを使用します。

たとえば、いくつかのテキストが与えられた場合:

"Io andiamo to the beach with my amico."

私は残されたい:

"to the beach with my" 

誰もこれを行う方法について知っていますか?どんな助けでも大歓迎です。

13
Andre Croucher

NLTKのwordsコーパスを使用できます。

import nltk
words = set(nltk.corpus.words.words())

sent = "Io andiamo to the beach with my amico."
" ".join(w for w in nltk.wordpunct_tokenize(sent) \
         if w.lower() in words or not w.isalpha())
# 'Io to the beach with my'

残念ながら、Ioはたまたま英語の単語です。一般的に、Wordが英語かどうかを判断するのは難しいかもしれません。

25
DYZ