J'ai du texte stocké dans une chaîne python.
Ce que je veux
- Identifier les mots clés de ce texte.
- pour identifier les N-grammes dans ce texte (idéalement plus que les bi et tri grammes).
Gardez à l'esprit...
- Le texte peut être petit (par exemple, de la taille d'un tweet).
- Le texte peut être de taille moyenne (par exemple, la taille d'un article de presse).
- Le texte peut être volumineux (de la taille d'un livre ou d'un chapitre, par exemple).
Ce que j'ai
J'utilise déjà nltk pour décomposer le corpus en tokens et supprimer les mots d'arrêt :
# split across any non-word character
tokenizer = nltk.tokenize.RegexpTokenizer('[^\w\']+', gaps=True)
# tokenize
tokens = tokenizer.tokenize(text)
# remove stopwords
tokens = [w for w in tokens if not w in nltk.corpus.stopwords.words('english')]
Je connais le BigramCollocationFinder et le TrigramCollectionFinder qui font exactement ce que je recherche pour ces deux cas.
La question
J'ai besoin de conseils pour les n-grams d'ordre supérieur, pour améliorer les types de résultats qui proviennent de BCF et TCF, et de conseils sur la meilleure façon d'identifier les mots clés individuels les plus uniques.
Merci beaucoup !