Seite 1 von 1
Hilfe bei einem Code - Untypische Wörter entfernen
Verfasst: Mittwoch 9. März 2016, 19:43
von merve28
[Codebox=python file=Unbenannt.py][/Codebox]
Hallo, ich bin Programmieranfänger und bräuchte im Folgenden Hilfe:
Ich möchte aus einem Dokument untypische Wörter wie oh, yeah o. ä. entfernen und habe dafür folgenden Code geschrieben:
def unusual_words(text):
text_vocab = set(w.lower() for w in text if w.isalpha())
nonsense_words = set(w.lower() for w in ("C:\Python34\my_corpus\non_words"))
unusual = text_vocab - nonsense_words
return sorted(unusual)
Durch das "set" taucht bei der Ausgabe jedes Wort nur einmal auf, jedoch ist es für meine Arbeit wichtig, zu wissen, wie oft gewisse Wörter im Text vorkommen. Wie könnte ich den Code umändern, sodass nur untypische Wörter entfernt werden und alles weitere so bleibt? Set einfach weglassen funktioniert nicht, da dann eine Fehlermeldung kommt.
LG
Re: Hilfe bei einem Code - Untypische Wörter entfernen
Verfasst: Mittwoch 9. März 2016, 19:58
von darktrym
Geh einmal durch den Text und zähle via DefaultDict. Zwei Mengen finde ich hier in dem Kontext recht komisch, aber wenn das dein Ergebnis sein soll.
Re: Hilfe bei einem Code - Untypische Wörter entfernen
Verfasst: Mittwoch 9. März 2016, 20:00
von merve28
https://github.com/amoibos/]Github[/url
Verstehe leider nicht, was du meinst.
Re: Hilfe bei einem Code - Untypische Wörter entfernen
Verfasst: Mittwoch 9. März 2016, 20:02
von Sirius3
@merve28: nimm statt eines Sets einfach collections.Counter.
Re: Hilfe bei einem Code - Untypische Wörter entfernen
Verfasst: Mittwoch 9. März 2016, 20:07
von darktrym
Erstens entfernst du nicht nur alle untypischen Wörter, du zerstörst auch die Struktur mit deiner Menge. Und im Pseudocode:
Erstelle Filterliste
Gehe durch Liste der Wörter
Ist das Wort in der Filterliste wird's nicht übernommen und gezählt andernfalls einfach übernehmen.
Ich nehme mal an "gewisse Wörter" steht für die Anzahl wie oft der Filter griff.
Re: Hilfe bei einem Code - Untypische Wörter entfernen
Verfasst: Donnerstag 10. März 2016, 02:26
von miracle173
merve28 hat geschrieben:[Codebox=python file=Unbenannt.py][/Codebox]
Hallo, ich bin Programmieranfänger und bräuchte im Folgenden Hilfe:
Ich möchte aus einem Dokument untypische Wörter wie oh, yeah o. ä. entfernen und habe dafür folgenden Code geschrieben:
def unusual_words(text):
text_vocab = set(w.lower() for w in text if w.isalpha())
nonsense_words = set(w.lower() for w in ("C:\Python34\my_corpus\non_words"))
unusual = text_vocab - nonsense_words
return sorted(unusual)
Durch das "set" taucht bei der Ausgabe jedes Wort nur einmal auf, jedoch ist es für meine Arbeit wichtig, zu wissen, wie oft gewisse Wörter im Text vorkommen. Wie könnte ich den Code umändern, sodass nur untypische Wörter entfernt werden und alles weitere so bleibt? Set einfach weglassen funktioniert nicht, da dann eine Fehlermeldung kommt.
LG
Es ist eigentlich völlig unklar was du von deinem Programm erwartest. Sollen nun Wörter gezählt werden? In deinem Code bezeichnest du mit "unusual" genau die Wörter die du nicht als untypisch ansiehst.
Offenbar hast du eine liste von Wörtern in der Datei "non_words".
Willst du nun den Text erhalten, aus dem die Wörter, die in der Datei "non_words" entfernt wurden? Dann kannst du dich wohl nicht mit einer "set" zufrieden geben, wo ja die Textstruktur völlig zerstört wurde. Was willst du eigentlich erreichen mit deinem Programm?
Re: Hilfe bei einem Code - Untypische Wörter entfernen
Verfasst: Donnerstag 10. März 2016, 15:28
von merve28
Ja ich möchte am Ende ein Text haben, wo alle untypischen Wörter entfernt wurden und ja ich habe eine Datei mit einer Liste von untypischen Wörtern.
Allgemein geht es darum, dass ich aus vielen Texten die wichtigsten Wörter herausfinden möchte und da es sich bei meinen Texten um Lieder handelt kommen Wörter, wie oh, yeah etc. häufig vor und treten am Ende auch bei den häufigsten Wörtern auf. Um das zu verhindern möchte ich sie gerne aus meinen Texten entfernen. Und suche dafür einen Code, wo ich ohne set das hinbekomme
Re: Hilfe bei einem Code - Untypische Wörter entfernen
Verfasst: Donnerstag 10. März 2016, 16:45
von BlackJack
@merve28: Also sind ”untypische” Wörter die die am häufigsten vorkommen‽ Verwirrend!

Re: Hilfe bei einem Code - Untypische Wörter entfernen
Verfasst: Donnerstag 10. März 2016, 19:35
von merve28
ja, bei Lieder, die wenig Text haben und häufig nananananana gesungen wird, kommen solche untypischen Wörter am häufigsten vor.
Re: Hilfe bei einem Code - Untypische Wörter entfernen
Verfasst: Donnerstag 10. März 2016, 20:25
von Hyperion
Ich war letzten Samstag bei einem Scooter Konzert und kann das nicht bestätigen! "Döp" ist ein absolut typisches Wort in dem Kontext
