Зачем использовать TaggedBrownCorpus при обучении gensim doc2vec

В настоящее время я использую настраиваемый корпус с документами с тегами

class ClassifyCorpus(object):
    def __iter__(self):
        with open(train_data) as fp:
            for line in fp:
                splt = line.split(':')
                id = splt[0]
                text = splt[1].replace('\n', '')
                yield TaggedDocument(text.split(), [id])

Глядя на исходный код Brown Corpus, можно увидеть, что он просто читает из каталога и обрабатывает теги документов за меня.

Я протестировал его и не заметил улучшения скорости обучения.


person Borislav Stoilov    schedule 29.11.2018    source источник


Ответы (1)


Вы не должны использовать TaggedBrownCorpus. Это просто демонстрационный класс для чтения определенного крошечного демонстрационного набора данных, который включен в gensim для модульных тестов и вводных руководств.

Он делает все разумным для этого формата данных на диске, но любой другой эффективный способ преобразования ваших данных в повторяющуюся последовательность TaggedDocument-подобных объектов ничем не хуже.

Так что не стесняйтесь использовать это как модель, если это помогает, но не рассматривайте это как требование или «лучшую практику».

person gojomo    schedule 29.11.2018