Il peut arriver que vous ayez besoin du texte brut de Wikipédia, par exemple parce que vous avez besoin d'un échantillon pour apprendre le traitement du langage naturel. Il existe un OSS appelé wikiextractor qui extrait le corps de l'article des données de vidage fournies par Wikipédia, alors notez comment l'utiliser.
How to Use
Tout d'abord, clonez https://github.com/attardi/wikiextractor et copiez WikiExtractor.py
dans votre répertoire de travail.
python WikiExtractor.py <path_to_the_wikipedia_dump_file>
Il semble que vous puissiez spécifier directement jawiki-latest-pages-articles.xml.bz2
etc. sans décompresser le fichier de vidage.
Fichier de vidage XML de Wikipedia
curl https://dumps.wikimedia.org/jawiki/latest/jawiki-latest-pages-articles.xml.bz2 -o jawiki-latest-pages-articles.xml.bz2
Si vous souhaitez spécifier l'année en détail, récupérez-la ici: [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: téléchargement de la base de données)
L'état de traitement d'environ 4 millions de titres est affiché dans le journal standard. Le traitement prend des dizaines de minutes à plusieurs heures.
Un répertoire appelé «texte» est créé et les fichiers sont créés avec la structure suivante.
/text
├─/AA
│ ├─wiki_00
│ ├─wiki_01
│ :
│ └─wiki_99
├─/AB
│ ├─wiki_00
| :
│ └─wiki_99
:
├─/AZ
| ├─wiki_00
| :
├─/BA
| ├─wiki_00
: :
Les articles de Wkipedia sont classés dans l'ordre ABC (ordre alphabétique pour le Wiki japonais) dans l'ordre de ʻAA`.
Chaque wiki_XX
est du texte brut et le format est le suivant. Il peut également être sorti au format Json (décrit plus loin).
<doc id="" revid="" url="" title="">
... (Texte de l'article)
</doc>
python WikiExtractor.py <input_path> --processes <process_num> -o <output_path> --json -b <n[KMG]>
--- processus: spécifiez comme --processes 8
, spécifiez le nombre de cœurs de processeur et procédez à plusieurs processus.
---- json: Sort avec json chaque ligne.
{"id": "", "revid": "", "url":"", "title": "", "text": "..."}
--- b: Par défaut, chaque fichier wiki_XX
est séparé par 1 Mo. Vous pouvez assouplir la limite en spécifiant -b 1G
. Si vous voulez que la sortie soit un fichier, - b Si vous faites quelque chose comme 5G
, il sera généré dans un fichier.
Lorsque vous l'utilisez dans le traitement du langage naturel, il peut être pratique d'avoir un fichier texte.
cat text/*/* > jawiki.txt
Recommended Posts