Как обучить вики с Doc2Vec Wiki с учетом регистра символов - PullRequest
0 голосов
/ 02 июня 2019

Я слежу за этим блогом, пытаясь обучить doc2vec в Википедии, используя gensim.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)

Любое предложение о том, как я могу опустить все случаи в вики-документе?

Кстати,Сейчас я использовал очень маленький размер файла, чтобы проверить, есть ли ошибки при запуске кода, поэтому это может быть причиной того, что infer_vector очень чувствителен к регистру.Может быть, эта проблема минимальна, если я использую фактический набор данных вики?

...