【问题标题】:does gensim.corpora wikiCorpus work only with bz2 file?gensim.corpora wikiCorpus 是否仅适用于 bz2 文件?
【发布时间】:2021-12-12 07:18:58
【问题描述】:

我正在尝试加载 wiki 转储 (.gz) 并在 gensim word2vec 中使用它。我在终端中使用 bzip2 将其转换为 bz2 但 Wikicorpus 类似乎拒绝该文件。有人可以解释一下如何以简单的方式从 wiki 转储中获取文本吗? 谢谢

【问题讨论】:

  • “似乎拒绝文件”是什么意思? (是否有错误消息?您可以将其添加到您的问题中吗?)您想从哪里阅读哪个 wiki 转储?是什么让您认为您需要将文件从其原始格式转换,以及您使用“终端”中的什么命令来执行此操作?
  • 我将一个 .gz wiki 抽象转储传递给 wikiCorpus 类,而不是来自 link 的 pages-articles bz2。在文档link 中,支持的转储格式为 wiki--pages-articles.xml.bz2 和 wiki-latest-pages-articles.xml.bz2。因此,Gensim 出现命名空间错误。我想使用一个抽象转储 .gz 来创建一个带有抽象文本的 gensim word2vec 模型。我是解析 xml 的新手。还有其他方法吗?

标签: python nlp gensim wikipedia dump


【解决方案1】:

Gensim 中的 WikiCorpus 实用程序类需要 pages-articles 转储,而不是仅包含摘要的不同转储。

要读取另一种格式,您需要编写自己的代码。

你可以尝试一些事情:

  • 研究 source for the WikiCorpus class 并将其用作您自己代码的模型,并对其进行调整以从其他转储中读取不同的元素。
  • 使用其他一些实用程序,例如command-line tool jq 或类似工具,将感兴趣的 XML 元素中的相关文本转储到纯文本文件中,然后您可以逐行读取该文件在 Python 中(进一步预处理/标记,甚至直接提供给 Gensim 的 LineSentence 助手类)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-13
    • 1970-01-01
    • 2021-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-12
    • 2012-11-01
    相关资源
    最近更新 更多