[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
Hilfe bei einem Code - Untypische Wörter entfernen
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.
Zuletzt geändert von darktrym am Mittwoch 9. März 2016, 20:01, insgesamt 1-mal geändert.
https://github.com/amoibos/]Github[/url
Verstehe leider nicht, was du meinst.
Verstehe leider nicht, was du meinst.
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.
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.
- miracle173
- User
- Beiträge: 127
- Registriert: Samstag 6. Februar 2016, 00:28
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.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
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?
mfg miracle173
https://github.com/python-forum-de/Jump-N-Run-pydesw
https://github.com/python-forum-de/Jump-N-Run-pydesw
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
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
@merve28: Also sind ”untypische” Wörter die die am häufigsten vorkommen‽ Verwirrend!
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Ich war letzten Samstag bei einem Scooter Konzert und kann das nicht bestätigen! "Döp" ist ein absolut typisches Wort in dem Kontext
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert