Einführung
Python ist eine äußerst flexible und mächtige Programmiersprache, die in den Bereichen Datenanalyse und Statistik zum Standard gehört. Dank eines reichhaltigen Ökosystems an Bibliotheken, die speziell für die Textanalyse und die Verarbeitung natürlicher Sprache (NLP) entwickelt wurden, eignet sich Python hervorragend für die Arbeit mit textbasierten Daten.
In dieser Herausforderung nutzen wir die Fähigkeiten von Python, um statistische Analysen auf einer Sammlung von Textdateien durchzuführen. Wir werden untersuchen, wie sich aussagekräftige Erkenntnisse direkt aus Textdaten gewinnen lassen.
Gesamtwortzahl ermitteln
Im Ordner home/labex/files finden Sie mehrere Textdateien.
Ihre Aufgabe ist es, ein Python-Skript namens word_count.py zu schreiben, das alle diese Textdateien einliest und die Gesamtzahl der Wörter über alle Dateien hinweg berechnet.
Beachten Sie bitte, dass Satzzeichen nicht als Wörter zählen. Beispielsweise enthält die Datei "java" genau 111 Wörter.
Anforderungen
- Das Skript muss bei der Ausführung die Gesamtzahl der Wörter in der Konsole ausgeben.
Häufigste Wörter finden
Nachdem Sie die Gesamtzahl der Wörter ermittelt haben, besteht der nächste Schritt darin, die drei am häufigsten vorkommenden Wörter in allen Textdateien zu identifizieren. Erstellen Sie hierfür ein Python-Skript namens top_3_high_frequencies.py. Das Skript soll diese Top-3-Wörter zusammen mit ihrer jeweiligen Häufigkeit in absteigender Reihenfolge in der Konsole ausgeben.
Die Ausgabe sollte beispielsweise so aussehen:
python top_3_high_frequencies.py
## print word and frequency in console
word1 20
word2 15
word3 13
Anforderungen
- Das Skript muss die drei häufigsten Wörter und deren Anzahl bei der Ausführung in der Konsole ausgeben.
- Die Zählung unterscheidet zwischen Groß- und Kleinschreibung (Case-Sensitive), d. h. "Wort" und "wort" werden als unterschiedliche Wörter behandelt.
- Satzzeichen gelten nicht als Teil eines Wortes und müssen bei der Zählung ignoriert werden.
Wörter nach Position ordnen
Betrachten wir nun die Reihenfolge der Wörter innerhalb jeder Datei. Was wäre, wenn wir das jeweils erste Wort aus jeder Datei sammeln wollten, dann das jeweils zweite Wort und so weiter?
Ihre Aufgabe ist es, ein Python-Skript namens step3_code.py zu entwickeln, das das n-te Wort aus jeder Eingabedatei extrahiert und diese in eine neue Datei namens output/n schreibt. Dabei steht 'n' für die Wortposition (beginnend bei 1). Die Ergebnisdateien sollen im Verzeichnis /home/labex/project/output/ erstellt werden.
Wenn wir beispielsweise die ersten Wörter jeder Datei nehmen, sollte der Inhalt von output/1 wie folgt aussehen:
## output/1, start count with 1.
CentOS Java A Python Ubuntu
Entsprechend sollte für das 100. Wort (sofern vorhanden) der Inhalt von output/100 so aussehen:
## output/100, the 100-th file, only java, linux and program have 100-th word.
applications and the
Anforderungen
- Der Ordner
outputmuss sich unter/home/labex/project/befinden. - Die Reihenfolge, in der die Dateien eingelesen werden, ist nicht vorgegeben; entscheidend ist nur die Wortposition innerhalb der jeweiligen Datei.
- Satzzeichen zählen nicht als Wörter und müssen entfernt werden.
Zusammenfassung
In dieser Python-Herausforderung haben Sie gelernt, wie man Python für grundlegende Textdatenanalysen einsetzt. Sie haben geübt, Wörter zu zählen, die häufigsten Begriffe zu identifizieren und Wörter basierend auf ihrer Position aus mehreren Dateien zu extrahieren und in neue Dateien zu schreiben. Durch den Abschluss dieser Aufgabe haben Sie wertvolle Fähigkeiten im Umgang mit Textdaten in Python erworben, die eine solide Grundlage für fortgeschrittene Aufgaben in der Textverarbeitung bilden.



