web-dev-qa-db-fra.com

Suppression de mots non anglais du texte à l'aide de Python

Je fais un exercice de nettoyage des données sur python et le texte que je nettoie contient des mots italiens que je voudrais supprimer. J'ai cherché en ligne si je pouvais le faire sur = Python en utilisant une trousse à outils comme nltk.

Par exemple, étant donné du texte:

"Io andiamo to the beach with my amico."

Je voudrais me retrouver avec:

"to the beach with my" 

Quelqu'un connaît-il un moyen de procéder? Toute aide serait très appréciée.

13
Andre Croucher

Vous pouvez utiliser le corpus words de NLTK:

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'

Malheureusement, Io se trouve être un mot anglais. En général, il peut être difficile de décider si un mot est anglais ou non.

25
DYZ