Wörter zählen Statistik?

... komplette Frage anzeigen

2 Antworten

Das geht mit jeder Skript und Programmiersprache relativ einfach.

Beispiel in Python:

text = 'Das ist das Haus vom Nikolaus, und das nebenan vom Weihnachtsmann!'
collections.Counter(word for word in re.split('\\\\W+', text.lower()) if len(word) >= 2).most_common()

Wie gesagt, das ist ein ganz triviales Problem, und vor allem gängige NLP-Bibliotheken bieten diesbzgl. viele vorgefertigte Funktionen an, aber um ein bisschen Programmieren wirst du vermutlich nicht rumkommen.

Nehmen wir mal an, dein Text liegt in einer Textdatei mit dem Namen "nikolaus.txt", und sieht so aus:

Das ist das Haus vom Nikolaus
und das nebenan vom Weihnachtsmann!

... dann liefert dir dieser Einzeiler:

grep -ioP '\\w{2,}' nikolaus.txt | tr '[:upper:]' '[:lower:]' | sort | uniq -c | sort -nr

... folgendes Ergebnis:

3 das
2 vom
1 weihnachtsmann
1 und
1 nikolaus
1 nebenan
1 ist
1 haus

Also alle Wörter bestehend aus 2 oder mehr Zeichen, wobei Groß- und Kleinschreibung zusammen gefasst wird, absteigend nach Häufigkeit sortiert.

Das ist das, was du möchtest, oder? :)

Also entweder, du nimmst eins der beiden Skripte oder bastelst dir selbst etwas. Allerdings kann ich mir nicht so richtig vorstellen, dass es dafür in dem Textverarbeitungsprogramm deiner Wahl (Word, OpenOffice, LibreOffice, AbiWord, etc.) keine Funktion, oder zumindest ein Plugin gibt.

Naja, viel Erfolg! :)

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Roderic
18.12.2015, 03:54

Der Vollständigkeit halber sollte man aber erwähnen, das GREP ein Tool ist, das bei jedem Linux/Unix eine Selbstverständlichkeit ist...

...aber in einem gewöhnlichen Windows System nicht vorliegt.

Man muss es nachinstallieren:

http://gnuwin32.sourceforge.net/packages/grep.htm

1