Dieses Repository bietet bereinigte Listen der häufigsten Wörter und N-Gramme (Folgen von n Wörtern), einschließlich einiger englischer Übersetzungen, des Google Books Ngram Corpus (v3/20200217, alle Sprachen) sowie anpassbaren Python-Code, der diese Listen reproduziert.
Listen mit den häufigsten N-Grammen werden getrennt nach Sprache und N bereitgestellt. Verfügbare Sprachen sind Chinesisch (vereinfacht), Englisch, englische Belletristik, Französisch, Deutsch, Hebräisch, Italienisch, Russisch und Spanisch. n reicht von 1 bis 5. In den bereitgestellten Listen sind die Sprachunterkorpora auf Bücher beschränkt, die in den Jahren 2010–2019 veröffentlicht wurden, aber im Python-Code können sowohl dies als auch die Anzahl der am häufigsten enthaltenen n-Gramme angepasst werden.
Die Listen befinden sich im Verzeichnis ngrams. Für alle Sprachen außer Hebräisch werden bereinigte Listen bereitgestellt
Für Hebräisch werden aufgrund der geringen Korpusgröße nur die 200 häufigsten 4-Gramm-Sprachen und die 80 häufigsten 5-Gramm-Sprachen bereitgestellt.
Alle bereinigten Listen enthalten auch die Häufigkeit, mit der jedes N-Gramm im Korpus vorkommt (seine Häufigkeit, Spalte freq
). Für 1-Gramm (Wörter) gibt es zwei zusätzliche Spalten:
cumshare
, das für jedes Wort den kumulierten Anteil aller Wörter im Korpus enthält, der aus diesem Wort und allen häufigeren Wörtern besteht.en
, das die englische Übersetzung des Wortes enthält, die mit der Google Cloud Translate API erhalten wurde (nur für nicht-englische Sprachen).Hier sind die ersten 10 Zeilen von 1grams_french.csv:
ngram | Frequenz | cumshare | de |
---|---|---|---|
de | 1380202965 | 0,048 | von |
la | 823756863 | 0,077 | Die |
et | 651571349 | 0,100 | Und |
le | 614855518 | 0,121 | Die |
A | 577644624 | 0,142 | bei |
l' | 527188618 | 0,160 | Die |
les | 503689143 | 0,178 | ihnen |
de | 390657918 | 0,191 | In |
des | 384774428 | 0,205 | des |
Die direkt im Ngrams-Verzeichnis gefundenen Listen wurden bereinigt und sind für die Entwicklung von Sprachlernmaterialien vorgesehen. Das Unterverzeichnis ngrams/more enthält ungereinigte und weniger bereinigte Versionen, die beispielsweise für Linguisten von Nutzen sein könnten:
0_raw
),1a_no_pos
) beibehalten.1b_with_pos
),2_removed
). Um eine Motivation dafür zu liefern, warum es beim Erlernen einer Sprache eine gute Idee sein kann, zuerst die häufigsten Wörter zu erlernen, wird die folgende Grafik bereitgestellt.
Für jede Sprache wird der Häufigkeitsrang jedes 1-Gramms (d. h. Wortes) auf der x-Achse und der cumshare
auf der y-Achse aufgetragen. So kann man beispielsweise nach dem Erlernen der 1000 häufigsten französischen Wörter mehr als 70 % aller Wörter (einschließlich Duplikate) verstehen, die in einem typischen Buch vorkommen, das zwischen 2010 und 2019 in der Version 20200217 des französischen Google Books Ngram Corpus veröffentlicht wurde.
Für andere n-Gramm als 1-Gramm sind die Erträge beim Erlernen der häufigsten nicht so hoch, da es so viele mögliche Wortkombinationen gibt. Dennoch lernen Menschen tendenziell besser, wenn sie Dinge im Kontext lernen. Daher könnte eine Verwendung davon darin bestehen, für jedes 1-Gramm gängige Beispielphrasen zu finden. Ein anderer Ansatz ist der folgende: Angenommen, man möchte die 1000 häufigsten Wörter einer Sprache lernen. Dann könnte man zum Beispiel eine Minimalliste der gebräuchlichsten 4-Gramm-Wörter erstellen, die diese 1000 Wörter umfassen, und diese lernen.
Obwohl die N-Gramm-Listen im Hinblick auf das Erlernen von Sprachen bereinigt wurden und einige englische Übersetzungen enthalten, sind sie nicht dazu gedacht, direkt zum Lernen verwendet zu werden, sondern eher als Zwischenressourcen für die Entwicklung von Materialien zum Sprachenlernen zu dienen. Die bereitgestellten Übersetzungen geben nur das englische Wort an, das der gebräuchlichsten Bedeutung des Wortes am nächsten kommt. Darüber hinaus ist das Ngram-Korpus von Google Books je nach den Zielen des Sprachenlernens möglicherweise nicht das beste Korpus für Lernmaterialien – siehe nächster Abschnitt.
Dieses Repository basiert auf dem Google Books Ngram Corpus Version 3 (mit der Versionskennung 20200217), das von Google hier als N-Gram-Listen verfügbar gemacht wird. Dies sind auch die Daten, die dem Google Books Ngram Viewer zugrunde liegen. Das Korpus ist eine von Google anhand der Qualität der optischen Zeichenerkennung und Metadaten ausgewählte Teilmenge der von Google digitalisierten Bücher und enthält etwa 6 % aller jemals veröffentlichten Bücher (1, 2, 3).
Bei der Beurteilung der Qualität eines Korpus sind sowohl seine Größe als auch seine Repräsentativität für die Art des Materials, an dem man interessiert ist, wichtig.
Das Google Books Ngram-Korpus Version 3 ist riesig, wie diese Tabelle mit der Anzahl der darin enthaltenen Wörter nach Sprache und Unterkorpus zeigt:
Sprache | # Wörter, alle Jahre | # Wörter, 2010–2019 |
---|---|---|
chinesisch | 10.778.094.737 | 257.989.144 |
Englisch | 1.997.515.570.677 | 283.795.232.871 |
Amerikanisches Englisch | 1.167.153.993.435 | 103.514.367.264 |
Britisches Englisch | 336.950.312.247 | 45.271.592.771 |
Englische Belletristik | 158.981.617.587 | 73.746.188.539 |
Französisch | 328.796.168.553 | 35.216.041.238 |
Deutsch | 286.463.423.242 | 57.039.530.618 |
hebräisch | 7.263.771.123 | 76.953.586 |
Italienisch | 120.410.089.963 | 15.473.063.630 |
Russisch | 89.415.200.246 | 19.648.780.340 |
Spanisch | 158.874.356.254 | 17.573.531.785 |
Beachten Sie, dass sich diese Zahlen auf die Gesamtzahl der Wörter beziehen, nicht auf die Anzahl der eindeutigen Wörter. Sie enthalten auch viele Wörter, die keine gültigen Wörter sind, aber aufgrund der Größe des Korpus werden die Bereinigungsschritte nur für die häufigsten Wörter durchgeführt, sodass die Anzahl der Wörter, die nach der Bereinigung im gesamten Korpus verbleiben würden, nicht verfügbar ist. Darüber hinaus lädt Google nur Wörter hoch, die mehr als 40 Mal vorkommen, während diese Zählungen auch Wörter umfassen, die seltener vorkommen.
Wir sehen, dass selbst nach der Beschränkung der Sprachunterkorpora auf Bücher, die in den letzten 10 verfügbaren Jahren veröffentlicht wurden, die Anzahl der Wörter für jedes Unterkorpus immer noch mehr als 15 Milliarden beträgt, mit Ausnahme von Chinesisch und Hebräisch. Dies ist wesentlich größer als bei allen anderen gebräuchlichen Korpora, die scheinbar nie mehr als ein paar Milliarden Wörter enthalten und oft viel kleiner sind (4).
Bei der Repräsentativität kommt es auf den Verwendungszweck an. Das Google Books Ngram Corpus enthält nur Bücher (keine Zeitschriften, gesprochene Sprache, Websites usw.). Jede Buchausgabe ist höchstens einmal enthalten. Die meisten dieser Bücher stammen aus einer kleinen Anzahl großer Universitätsbibliotheken, „über 40“ in Version 1 des Korpus, während ein kleinerer Teil direkt von Verlagen bezogen wird (1). Wenn man beispielsweise beabsichtigt, dieses Korpus zum Erlernen einer Sprache zu verwenden, in der man hauptsächlich Bücher von der Art liest, an denen große Universitätsbibliotheken interessiert sind, dann sind die Wörter in diesem Korpus wahrscheinlich ziemlich repräsentativ für die Wortpopulation denen man in Zukunft begegnen könnte.
Der Code, der alles produziert, befindet sich im Python-Verzeichnis. Jede .py-Datei ist ein Skript, das über die Befehlszeile mit python python/filename
ausgeführt werden kann, wobei das Arbeitsverzeichnis das Verzeichnis sein muss, das das Python-Verzeichnis enthält. Jede .py-Datei hat oben einen Einstellungsabschnitt und zusätzliche Reinigungseinstellungen können mithilfe der Dateien in python/extra_settings angegeben werden. Die Standardeinstellungen wurden so gewählt, dass der Code einigermaßen schnell ausgeführt wird und die resultierende Repository-Größe einigermaßen klein bleibt.
Optional können Sie zunächst „create_source_data_lists.py“ aus dem Repository-Stammverzeichnis ausführen, um den Ordner „source-data“ mit Listen von Links zu den Google-Quelldatendateien neu zu erstellen.
Führen Sie download_and_extract_most_freq.py aus dem Repository-Stammverzeichnis aus, um jede in den Quelldaten aufgeführte Datei (eine „.gz-Datei“) herunterzuladen und die häufigsten N-Gramme darin in eine Liste zu extrahieren, die in ngrams/more/{lang}/most_freq_ngrams_per_gz_file
gespeichert ist. ngrams/more/{lang}/most_freq_ngrams_per_gz_file
. Um Computerressourcen zu schonen, wird jede .gz-Datei danach sofort gelöscht. Da die Listen der häufigsten N-Gramme pro .gz-Datei mit den Standardeinstellungen immer noch rund 36 GB belegen, wird nur eine Beispielliste auf GitHub hochgeladen: ngrams_1-00006-of-00024.gz.csv. Zu diesem Zeitpunkt wurde noch keine Bereinigung durchgeführt, daher sehen die Rohdaten wie folgt aus.
Führen Sie „gather_and_clean.py“ aus, um alle N-Gramm in Listen der insgesamt häufigsten zu sammeln und diese Listen zu bereinigen (Einzelheiten finden Sie im nächsten Abschnitt).
Führen Sie google_cloud_translate.py aus, um mithilfe der Google Cloud Translate-API englische Übersetzungen zu allen nicht-englischen 1-Grammen hinzuzufügen (dazu ist ein API-Schlüssel erforderlich, siehe Dateikopf). Standardmäßig werden nur 1-Gramm übersetzt, und zwar nur ins Englische. Durch Ändern der Einstellungen kann jedoch jedes N-Gramm in jede von Google unterstützte Sprache übersetzt werden. Google schreibt Übersetzungen nach dem Zufallsprinzip groß und versucht daher, dies zu korrigieren. Darüber hinaus wird eine begrenzte Anzahl manueller Korrekturen mithilfe von „manual_translations_1grams.csv“ vorgenommen.
Schließlich erzeugt graph_1grams_cumshare_rank.py graph_1grams_cumshare_rank_light.svg und seine dunkle Version.
Mit Ausnahme der Bereinigung der Google-Übersetzungen werden alle Bereinigungsschritte in Gather_and_clean.py durchgeführt.
Die folgenden Reinigungsschritte werden programmgesteuert durchgeführt:
"'"
beginnt"'"
, " "
und ","
werden entfernt"-"
für Russisch und """
für HebräischDarüber hinaus wurden die folgenden Reinigungsschritte manuell durchgeführt, wobei die englischen Übersetzungen als Entscheidungshilfe dienten:
extra_{n}grams_to_exclude.csv
.Bei der manuellen Entscheidung, welche Wörter ein- und ausgeschlossen werden sollen, wurden die folgenden Regeln angewendet. Ausgeschlossen sind : Personennamen (einige Ausnahmen: Jesus, Gott), Städtenamen (einige Ausnahmen: wenn sie sich stark vom Englischen unterscheiden und häufig genug vorkommen), Firmennamen, Abkürzungen (einige Ausnahmen, z. B. ma, pa), Wortteile, Wörter in die falsche Sprache (außer wenn sie allgemein verwendet wird). Nicht ausschließen : Ländernamen, Namen ethnischer/nationaler Personengruppen, geografische Namen (z. B. Flüsse, Ozeane), umgangssprachliche Begriffe, Interjektionen.
Eine sorgfältig erstellte Liste aller Wörter im englischen Teil des Google Books Ngram Corpus (Version 20200217), sortiert nach Häufigkeit, finden Sie im Repository hackerb9/gwordlist.
Eine umfangreiche Liste von Frequenzlisten in vielen Sprachen ist auf Wiktionary verfügbar.
Was noch zu tun bleibt, ist die abschließende manuelle Bereinigung für Hebräisch und die Bereinigung der Listen der n-Gramm für n > 1. Ein Problem, das in Zukunft möglicherweise behoben werden könnte, besteht darin, dass einige der letzteren „“ als Wort enthalten . Es könnte auch wünschenswert sein, gebräuchlichere Abkürzungen aufzunehmen. Für die Korpora für amerikanisches Englisch und britisches Englisch werden keine separaten N-Gramm-Listen bereitgestellt. Natürlich bleiben einige Fehler bestehen.
Der Inhalt dieses Repositorys ist unter der Creative Commons Attribution 3.0 Unported License lizenziert. Problemberichte und Pull-Requests sind herzlich willkommen!