web-dev-qa-db-fra.com

NLTK Langues disponibles pour les mots d'arrêt

Je me demande où je peux trouver la liste complète des langues prises en charge (et leurs clés) pour les mots d'arrêt NLTK.

Je trouve une liste dans https://pypi.org/project/stop-words/ Mais il ne contient pas les clés de chaque pays. Donc, il n'est pas clair si vous pouvez extraire la liste par simplement stopwords.words("Bulgarian"). En fait, cela lancera une erreur.

J'ai vérifié dans le site NLTK et il y a 4 documents correspondant à des "mots stops", mais aucun d'entre eux ne décrit cela. https://www.nltk.org/search.html?q=topwords&check_keywords=yes&area=default

Et rien n'est dit dans leur livre: http://www.nltk.org/book/ch02.html#stopwords_index_term

Alors, savez-vous où puis-je trouver la liste des clés?

7
gal007

Vérifiez d'abord si vous avez téléchargé nltk packages.
[.____] Sinon, vous ne pouvez pas le télécharger en utilisant ci-dessous:

import nltk
nltk.download()

Après cela, vous pouvez trouver des fichiers de langue stopword dans ci-dessous.

C:/Users/username/AppData/Roming/nltk_data/corpora/stopwords

Il y a 21 langues pris en charge par celui-ci (j'ai installé nltk quelques jours de retour, de sorte que ce nombre doit être à jour). Vous pouvez transmettre le nom de fichier comme paramètre dans

nltk.corpus.stopwords.words('langauage')

2
Sociopath
os.listdir('/root/nltk_data/corpora/stopwords/')

['hungarian',
 'swedish',
 'kazakh',
 'norwegian',
 'finnish',
 'arabic',
 'indonesian',
 'portuguese',
 'turkish',
 'azerbaijani',
 'slovene',
 'spanish',
 'danish',
 'nepali',
 'romanian',
 'greek',
 'dutch',
 'README',
 'tajik',
 'german',
 'english',
 'russian',
 'french',
 'italian']
5
Grad student at NU

Lorsque vous importez les mots d'arrêt en utilisant:

from nltk.corpus import stopwords
english_stopwords = stopwords.words(language)

vous récupérez les mots d'arrêt basés sur le fichierId (langue). Afin de voir toutes les langues d'arrêt disponibles disponibles, vous pouvez récupérer la liste des fichiers via:

from nltk.corpus import stopwords
print(stopwords.fileids())

dans le cas de NLTK V3.4.5, cela renvoie 23 langues:

['arabic', 
 'azerbaijani', 
 'danish', 
 'dutch', 
 'english', 
 'finnish', 
 'french', 
 'german', 
 'greek',
 'hungarian', 
 'indonesian', 
 'italian', 
 'kazakh', 
 'nepali', 
 'norwegian', 
 'portuguese', 
 'romanian', 
 'russian', 
 'slovene', 
 'spanish', 
 'swedish', 
 'tajik', 
 'turkish']
2
thechill