wikidumps语料下载
wikidumps网址为en-wikidumps
wikidumps语料的处理
处理wikidumps语料可以用wikiextractor工具来提取。实现需要安装
pip install wikiextractor
然后可以有两种方法使用,一种是将库中的python模块用作脚本去运行
python -m wikiextractor.WikiExtractor enwiki-latest-pages-articles.xml.bz2
或者进入安装好的wikiextractor目录运行WikiExtractor.py来处理wikidumps预料
python WikiExtractor.py enwiki-latest-pages-articles.xml.bz2
一些常见的参数
1.-b 文件容量 ,例如:-b 100M 当输出文件达到100M时,自动新增文件,即可能生成多个文件
2.-o 输出文件的名称,可前面加路径,例如:-o AA_yue 或-o /extract/AA_yue,默认输出文件夹为text
处理后的文件格式为
<doc id="244" url="https://zh.wikipedia.org/wiki?curid=244" title="史家">
史家
歷史學家也稱歷史家、史學家、史家,指以撰写历史著作为职业或对历史学的创立、发展与应用付出努力的知识分子。历史学家包括历史记录的编撰者和史料的研究者。人們研究歷史必須倚靠前人所留下的記錄。歷史學家會研究過去所發生的事件和這些事件記錄的真確性,並將他們的研究記錄下來。歷史學家的研究對象可以是某人的經歷,某城市、某地或某國家的發展。根據他們不同的研究對象,歷史可有不同的分類,例如:
個人歷史
個人歷史,是有關某人過去發生的事做研究。
地方歷史
地方歷史,是有關某城市或某地曾發生事件的研究。
...
</doc>
<doc id="256" url="https://zh.wikipedia.org/wiki?curid=256" title="开放源代码">
...
</doc>
wikidumps语料按照title对齐
在线方式
在线方式可以使用特定的api,如wikipedia或者wikipediaapi,具体可见wikipedia使用指南和Wikipedia API使用指南。
离线方式
离线方式需要我们先下载好对齐语料,然后用工具处理,然后自己编写程序获取对齐信息。
首先从wikidumps中下载对齐所需的语料,其命名格式为
*-page.sql.gz
*-langlinks.sql.gz
其中*是个前缀,一般包含语种简写和时间信息。然后使用wikipedia-parallel-titles工具来生成标题对齐信息,该工具库中有一个build-corpus.sh
脚本,运行此脚本即可得到标题对齐文件,运行命令为./build-corpus.sh en zhwiki-latest > titles.txt
,该命令实现的是根据zhwiki-latest得到与en的标题对齐文件titles.txt。