如何在一个 txt 文件中下载 wiki 部分

How can i download wiki part in one txt file

我需要一个巨大的自然文本文件来进行机器学习,而维基百科转储非常适合此目的。那么,如何在没有 xml 标签(只是内容)的情况下以某种语言(非英语)下载几 gb 的文本?

您可以从 dumps.wikimedia.org 中获取您选择的维基百科的所有内容。您可能需要 *wiki-20160501-pages-articles.xml 个文件之一。然后,您可以使用 xmlstarlet:

等工具从转储中删除所有 XML 标签
xml sel -t -c "//text()" fywiki-20160501-pages-articles.xml > articles.txt

但是,维基百科转储中的文本将是维基标记,而不是自然文本。你用 sed:

之类的东西去掉所有不是字母数字的东西
cat dump.txt | sed 's/\W/ /g'

这不会为您提供干净的语料库(例如,wikimarkup 关键字和 html 实体仍将在您的转储文件中),但它可能足够接近您的目的。

a期:

前往 dumps.wikimedia.org。找到符合您要求的转储。对于机器学习——最好的方法是下载“所有页面,仅限当前版本”的语言转储。下载并解压。

b期:

由于转储是 xml 文件,其内容具有 wiki 标记语法 - 必须将其转换为纯文本。我发现的最佳解决方案是使用此工具包 - https://github.com/yohasebe/wp2txt 。它不需要太多内存并且运行良好。

c相:

wp2txt 生成了数百个 10mb 的 txt 文件,因此我们需要将它们连接起来。使用

cat * > all.txt

在 nix 系统或

cat dump.txt | sed 's/\W/ /g'

为windows一个。

p.s。我还为 ML 案例找到了更好的半合法解决方案。解决方案是下载一些巨大的 txt 文献库。祝你学习愉快!

for Python 下载后试试这个。xml dump

pip 安装 wiki-dump-reader

https://pypi.org/project/wiki-dump-reader/