Stopwords filtern

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Neelia
User
Beiträge: 5
Registriert: Freitag 3. Februar 2023, 07:36

Ich habe hier einen tokenisierten Text (podcastanfang) in dem ich gerne die Stopwords (deutsch) herausfiltern möchte.
Dabei erscheint mir immer wieder eine Fehlermeldung (invalid syntax). Ich verstehe aber leider nicht was das Problem ist.

Kann mir da jemand weiterhelfen ?

Code: Alles auswählen

filtered_token = [in podcastanfang if podcastanfang not in stopwords.words('german')]
clean_token='\n'.join(filtered_token) with open(path + txt, 'r', encoding="utf-8") as output: 
    output.write(clean_tokens)
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

Ich denke nicht, dass man das with-statement so verwenden kann. Das sollte schon in einer eigenen Zeile stehen.
Woher hast du die Information, dass das so gehen sollte?
Neelia
User
Beiträge: 5
Registriert: Freitag 3. Februar 2023, 07:36

__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Grundsätzlich bitte auch immer die passende Fehlermeldung liefern, denn nicht immer kann das einfach erraten werden.

Hier sind diverse Probleme, die einfach kein gültiges Python sind. Die erste Zeile soll sowas wie eine List-Comprehension sein? Die hat aber eine ganz andere Form:

Code: Alles auswählen

results = [expression for thing in things if condition]
Ich *vermute* mal bei dir sollte sowas stehen

Code: Alles auswählen

filtred_token = [token for token in podcastanfang if token not in stopwords.words("german")]
Wobei jetzt nicht klar ist, wie podcastanfang wirklich aussieht. Ich unterstelle hier eine Liste von Worten.

Die Zeile danach ist auch gurkig: das with Statement gehört auf eine eigene Zeile, nicht hintereinander geklatscht an das erstellen von clean_token.
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Neelia hat geschrieben: Samstag 4. Februar 2023, 11:49 https://fortext.net/routinen/lerneinhei ... g-mit-nltk#

von dieser Webseite
Da steht das with aber auch auf einer eigenen Zeile.
Neelia
User
Beiträge: 5
Registriert: Freitag 3. Februar 2023, 07:36

Also Podcastanfang stellt ein String dar, in dem mehrere Textdateien zusammengefasst worden sind. Und diesen String wollte ich von den Stopwords bereinigt haben.
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Dann musst du den erstmal in eine Liste von Wörtern Wandeln. Zb mit der Methode split von dem String-Objekt.
Antworten