WikiCorpus 在 gensim 中执行什么文本处理?

What text processing does WikiCorpus perform in gensim?

我已经使用 gensim 在维基百科语料库上训练了一个 doc2vec 模型,我希望从不同的文档中检索向量。

我想知道当我用 WikiCorpus 函数训练我的模型时,它做了什么文本处理,例如删除标点符号,将所有文本变为小写,删除停用词等。

这很重要,因为我希望对我从中推断向量的文档执行相同的文本处理,以获得更大的 consistency/accuracy 我的模型。

要准确了解所做的工作,最好的参考是 WikiCorpus 本身的源代码,您可以在本地安装或在线查看:

https://github.com/RaRe-Technologies/gensim/blob/develop/gensim/corpora/wikicorpus.py

该文件中用于处理原始维基百科转储数据的关键函数包括 process_article()filter_wiki()remove_markup()——最终还使用了本地 tokenize() 函数,然后依赖于 gensim.utils 模块中的另一个 tokenize()

而且,WikiCorpus 实际上确实用 lower=True 参数调用 utils.tokenize() 来强制小写。

此外,utils.tokenize() 使用 simple_tokenize() 函数,虽然它没有明确删除标点符号的步骤,但通过 PAT_ALPHABETIC regex 查找标记,选择标记不以数字 (\d) 开头的单词字符 (\w)。