如何在一个 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
我需要一个巨大的自然文本文件来进行机器学习,而维基百科转储非常适合此目的。那么,如何在没有 xml 标签(只是内容)的情况下以某种语言(非英语)下载几 gb 的文本?
您可以从 dumps.wikimedia.org 中获取您选择的维基百科的所有内容。您可能需要 *wiki-20160501-pages-articles.xml
个文件之一。然后,您可以使用 xmlstarlet:
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