Technique pour enlever les mots communs (et leurs versions plurielles) d'une chaîne

J'essaie de trouver des tags(mots-clés) pour une recette de l'analyse d'une longue chaîne de texte. Le texte contient des ingrédients de la recette, les directions et un court texte de présentation.

Que pensez-vous serait le moyen le plus efficace pour supprimer les mots de la liste de balises?

Par le commun des mots, je veux dire des mots comme: 'le', 'en', 'y', 'leurs' etc.

J'ai 2 méthodes que je peux utiliser, qui pensez-vous est le plus efficace en termes de vitesse et connaissez-vous un moyen plus efficace, je pourrais faire cela?

Méthodologie 1:
- Déterminer le nombre de fois que chaque mot se produit(à l'aide des Collections de la bibliothèque)
- Avoir une liste de mots courants et de supprimer tous les "Mots Communs" de l'objet de Collection, en essayant de supprimer la clé de l'objet de Collection, si elle existe.
- Par conséquent, la vitesse sera déterminée par la longueur de la variable delims

import collections from Counter
delim     = ['there','there\'s','theres','they','they\'re'] 
# the above will end up being a really long list!
word_freq = Counter(recipe_str.lower().split())
for delim in set(delims):
    del word_freq[delim]
return freq.most_common()

Méthodologie 2:
- Pour les mots courants qui peuvent être pluriel, regarder chaque mot dans la recette de la chaîne, et de vérifier si elle a partiellement contient les non-pluriel version d'une parole commune. Par exemple; Pour la chaîne "Il y a un test de" vérifier chaque mot pour voir si elle contient des "y" et le supprimer si il n'.

delim         = ['this','at','them'] # words that cant be plural
partial_delim = ['there','they',] # words that could occur in many forms
word_freq     = Counter(recipe_str.lower().split())
for delim in set(delims):
    del word_freq[delim]
# really slow 
for delim in set(partial_delims):
    for word in word_freq:
        if word.find(delim) != -1:
           del word_freq[delim]
return freq.most_common()

source d'informationauteur Jake M