如何使用不区分大小写功能的Doc2Vec Wiki训练Wiki

时间:2019-06-02 20:43:08

标签: python-3.x mediawiki gensim doc2vec

我正在关注此博客,尝试使用gensim在Wikipedia语料库上训练doc2vec。 https://markroxor.github.io/gensim/static/notebooks/doc2vec-wikipedia.html

我注意到输出非常区分大小写。例如,

string1=model.infer_vector("machine Learning".split())
string2=model.infer_vector("computer Science".split())
spatial.distance.cosine(string1, string2)
output is 0.25

如果我更改输入的大小写,

string1=model.infer_vector("machine learning".split())
string2=model.infer_vector("computer science".split())
spatial.distance.cosine(string1, string2)
output is 1.0535

我认为在训练模型之前,我应该将所有内容都小写。但是,如上面的链接所示,我首先直接读取输入内容:

class TaggedWikiDocument(object):
    def __init__(self, wiki):
        self.wiki = wiki
        self.wiki.metadata = True
    def __iter__(self):
        for content, (page_id, title) in self.wiki.get_texts():
            yield TaggedDocument([c for c in content], [title])
wiki = WikiCorpus("enwiki-latest-pages-articles-sample2.xml.bz2")
documents = TaggedWikiDocument(wiki)

关于如何降低Wiki文档中所有案件的任何建议?

顺便说一句,我现在仅使用一个很小的文件大小来测试运行代码是否存在错误,因此这可能是infer_vector对大小写非常敏感的原因。如果我使用实际的Wiki数据集,也许这个问题是最小的?

0 个答案:

没有答案