Es kann vorkommen, dass Sie den Rohtext von Wikipedia benötigen, beispielsweise weil Sie ein Beispiel für das Erlernen der Verarbeitung natürlicher Sprache benötigen. Es gibt ein OSS namens wikiextractor, das den Artikelkörper aus den von Wikipedia bereitgestellten Dump-Daten extrahiert. Notieren Sie sich daher, wie Sie ihn verwenden.
How to Use
Klonen Sie zunächst https://github.com/attardi/wikiextractor und kopieren Sie WikiExtractor.py
in Ihr Arbeitsverzeichnis.
python WikiExtractor.py <path_to_the_wikipedia_dump_file>
Es scheint, dass Sie direkt jawiki-latest-pages-articles.xml.bz2
usw. angeben können, ohne die Dump-Datei zu dekomprimieren.
Wikipedia's XML Dump Datei
curl https://dumps.wikimedia.org/jawiki/latest/jawiki-latest-pages-articles.xml.bz2 -o jawiki-latest-pages-articles.xml.bz2
Wenn Sie das Jahr detailliert angeben möchten, rufen Sie es hier ab: [https://ja.wikipedia.org/wiki/Wikipedia:%E3%83%87%E3%83%BC% E3% 82% BF% E3% 83% 99% E3% 83% BC% E3% 82% B9% E3% 83% 80% E3% 82% A6% E3% 83% B3% E3% 83% AD% E3% 83% BC% E3% 83% 89](https://ja.wikipedia.org/wiki/Wikipedia: Datenbank-Download)
Der Verarbeitungsstatus von ungefähr 4 Millionen Titeln wird in das Standardprotokoll ausgegeben. Die Verarbeitung dauert mehrere zehn Minuten bis mehrere Stunden.
Ein Verzeichnis mit dem Namen "Text" wird erstellt, und Dateien werden mit der folgenden Struktur erstellt.
/text
├─/AA
│ ├─wiki_00
│ ├─wiki_01
│ :
│ └─wiki_99
├─/AB
│ ├─wiki_00
| :
│ └─wiki_99
:
├─/AZ
| ├─wiki_00
| :
├─/BA
| ├─wiki_00
: :
Wkipedia-Artikel sind in ABC-Reihenfolge (alphabetische Reihenfolge für japanisches Wiki) in der Reihenfolge von "AA" enthalten.
Jedes wiki_XX
ist einfacher Text und hat das folgende Format. Es kann auch im Json-Format (später beschrieben) ausgegeben werden.
<doc id="" revid="" url="" title="">
... (Artikel Text)
</doc>
python WikiExtractor.py <input_path> --processes <process_num> -o <output_path> --json -b <n[KMG]>
--- Prozesse: Geben Sie als "--processes 8" an, geben Sie die Anzahl der CPU-Kerne an und verarbeiten Sie in mehreren Prozessen.
---- json: Gibt mit json jede Zeile aus.
{"id": "", "revid": "", "url":"", "title": "", "text": "..."}
--- b: Standardmäßig ist jede wiki_XX
-Datei durch 1 MB getrennt. Sie können das Limit lockern, indem Sie -b 1G
angeben. Wenn Sie möchten, dass die Ausgabe eine Datei ist, - b Wenn Sie so etwas wie 5G
machen, wird es in eine Datei ausgegeben.
Wenn Sie es für die Verarbeitung natürlicher Sprache verwenden, kann es zweckmäßig sein, eine Textdatei zu haben.
cat text/*/* > jawiki.txt
Recommended Posts