[PYTHON] Verwendung von WikiExtractor.py

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.

Basic

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.

Ausgabeformat

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>

Empfohlene Optionen

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.

Ich möchte in eine Datei ausgeben

Wenn Sie es für die Verarbeitung natürlicher Sprache verwenden, kann es zweckmäßig sein, eine Textdatei zu haben.

cat text/*/* > jawiki.txt

Referenz

Recommended Posts

Verwendung von WikiExtractor.py
Wie benutzt man Python-Shell
Hinweise zur Verwendung von tf.data
Verwendung von virtualenv
Wie benutzt man Seaboan?
Wie man Shogun benutzt
Verwendung von Pandas 2
Verwendung von Virtualenv
Verwendung von numpy.vectorize
Verwendung von pytest_report_header
Wie man teilweise verwendet
Wie man Bio.Phylo benutzt
Verwendung von SymPy
Wie man x-means benutzt
Verwendung von IPython
Verwendung von virtualenv
Wie benutzt man Matplotlib?
Verwendung von iptables
Wie benutzt man numpy?
Verwendung von TokyoTechFes2015
Wie benutzt man venv
Verwendung des Wörterbuchs {}
Wie benutzt man Pyenv?
Verwendung der Liste []
Wie man Python-Kabusapi benutzt
Verwendung von OptParse
Verwendung von return
Wie man Imutils benutzt
Verwendung von Qt Designer
Verwendung der Suche sortiert
[gensim] Verwendung von Doc2Vec
python3: Verwendung der Flasche (2)
Verstehen Sie, wie man Django-Filter verwendet
Verwendung des Generators
[Python] Verwendung von Liste 1
Verwendung von FastAPI ③ OpenAPI
Wie benutzt man Python Argparse?
Verwendung von IPython Notebook
Wie man Pandas Rolling benutzt
[Hinweis] Verwendung von virtualenv
Verwendung von Redispy-Wörterbüchern
Python: Wie man pydub benutzt
[Python] Verwendung von checkio
[Go] Verwendung von "... (3 Perioden)"
So bedienen Sie GeoIp2 von Django
[Python] Verwendung von input ()
Wie benutzt man den Dekorateur?
[Einführung] Verwendung von open3d
Wie benutzt man Python Lambda?
So verwenden Sie Jupyter Notebook
[Python] Verwendung von virtualenv
python3: Verwendung der Flasche (3)
python3: Wie man eine Flasche benutzt
So verwenden Sie Google Colaboratory
Verwendung von Python-Bytes
Verwendung von cron (persönliches Memo)
Python: So verwenden Sie Async mit