我在一个阿拉伯语维基百科转储上看到一个使用维基语料库的代码,我知道这个过程需要很长时间才能执行,我还四处搜索了执行时得到的警告,上面说:
(UserWarning: detected Windows; aliasing chunkize to chunkize_serial
warnings.warn("detected Windows; aliasing chunkize to chunkize_serial"))
回答说没关系,没什么大不了的,只是警告而已。 但是等了3天左右,没有任何反应!我开始怀疑它是否真的能在阿拉伯语转储文件上工作,或者我必须在将阿拉伯语转储文件传递给Wikicorpus对象之前进行某种预处理? 数据大小约为989.6 MB。 我用两个打印命令围绕WikiCorpus代码行,以了解它何时开始执行,何时完成执行,如下所示:
print('start WikiCorpus')
wiki = WikiCorpus(self.in_f)
print('finish WikiCorpus')
其中self.inf是阿拉伯语维基百科转储,如下所示:(/文件所在的路径/arwiki-20200201-pages-articles.xml.bz2),但在运行时从未到达第二个print命令
它应该可以工作,特别是如果阿拉伯语有明确的单词分隔符(如单词之间的空格)
然而,考虑到
gensim
&;大多数相关的Python数据科学库在其他地方得到了更多的开发/测试/使用;在多处理方面存在一些Windows特有的奇怪之处。如果你可以选择在另一个操作系统上工作,这会使事情变得更容易最近还有一个问题描述了
en
转储的类似问题&WikiCorpus
–有一些想法需要检查my answer there,但不清楚询问者是否解决了问题此外,在Windows中使用依赖Python
multiprocessing
的代码时,可能特别需要将代码设置为“主”块,如果其他进程重新导入文件,则不会重新运行该块,并调用Windows特定的freeze_support()
函数。见some recent discussion of a related matter on the gensim project list相关问题 更多 >
编程相关推荐