0
votes

Supprimer des mots d'arrêt dans une liste d'une liste

Je voudrais supprimer les mots stops dans une liste d'une liste tout en conservant le format identique (c'est-à-dire une liste d'une liste)

suivi, c'est le code que j'ai déjà essayé p>

filtered_words
[['sentence', 'list'],
 ['sentence', 'another', 'list']]


5 commentaires

Pourriez-vous ajouter la fonction complète s'il vous plaît? Qu'est-ce qui vous donne cette sortie? filtré_words ?


Il peut être utile de rédiger votre sortie souhaitée.


Je viens de faire les modifications


Quel est votre stop_words ?


son de la NLTK.CORPUS Import Stopwords


3 Réponses :


1
votes

Vous pouvez utiliser iTertools une fois que vous avez le résultat dupliqué dans filtré_words - xxx

la sortie sort à être -

[["phrase", "autre", "liste"], ['phrase', 'liste']]]

j'ai suivi un lien sur Stackoverflow - Supprimer des doublons d'un Liste de la liste


0 commentaires

3
votes

Ce que vous faites mal, c'est ajouter lst code> à filtré_words code> à chaque fois que vous trouverez un mot motone non stop. C'est la raison pour laquelle vous avez 2 répétitions du fichier envoyé1 code> (il contient 2 mots non stops) et 3 répétitions du filtrage Sen2 code> (il contient 3 mots non stops). Il suffit d'ajouter une fois que vous avez examiné chaque phrase:

for s in sent_lower:
    lst = [j for j in s.split() if j not in stop_words]
    filtered_words.append(lst)


2 commentaires

Vous êtes les bienvenus. BTW, je viens d'ajouter une version optimisée du code.


Merci! Je savais qu'il y avait une meilleure façon de faire ça!



0
votes

Cela vous donnera le résultat souhaité

from nltk.corpus import stopwords
stop_words = stopwords.words('english')

sent1 = 'I have a sentence which is a list'
sent2 = 'I have a sentence which is another list'

sent1 = sent1.lower().split()
sent2 = sent2.lower().split()

l = [sent1, sent2]

for n, sent in enumerate(l):
    for stop_word in stop_words:
        sent = [word for word in sent if word != stop_word]
    l[n] = sent

print(l)


0 commentaires