Gensim doc2ve c тренинг по нграммам - PullRequest
1 голос
/ 21 февраля 2020

У меня есть несколько тысяч документов, которые я хотел бы использовать в модели gensim doc2ve c, но у меня есть только 5грамм для каждого из документов, а не полные тексты в их исходном порядке слов. В руководстве doc2ve c на веб-сайте gensim (https://radimrehurek.com/gensim/auto_examples/tutorials/run_doc2vec_lee.html) создается корпус с полными текстами, а затем модель обучается на этом корпусе. Это выглядит примерно так:

[TaggedDocument(words=['hundreds', 'of', 'people', 'have', 'been', 'forced', 'to', 'vacate', 'their', 'homes', 'in', 'the', 'southern',...], tags=[1]), TaggedDocument(words=[.....], tags=[2]),...]

Можно ли создать учебный корпус, где каждый документ состоит из списка из 5 грамм, а не из списка слов в их первоначальном порядке?

1 Ответ

0 голосов
/ 24 февраля 2020

Если у вас есть «все» 5 граммов из документов - возможно, даже в том порядке, в котором они появились - должна быть возможность сшить оригиналы документов (или почти эквивалентные псевдодокументы), как если бы 5 граммов были кусочками головоломки или домино.

(Например, найдите 1-й 5-грамм либо по порядковому положению в ваших данных, либо найдя 5-граммовый, у которого 4-prefix-tokens isn 't любые другие 5-граммовые' 4-суффикс-токены. Затем найдите его преемника, сопоставив его 4-суффикс-токены с 4-префиксными токенами другого кандидата 5-грамм. Если в любой момент у вас есть более одного Кандидат «начало» или «продолжение», вы можете попробовать любой вариант и продолжать идти до тех пор, пока не добьетесь финиша sh или не достигнете тупика - поиск согласованных цепочек на глубине 1 - & если тупик, то сделайте резервную копию и попробуйте другой. Хотя, возможно, вы могли бы просто выбрать другой хороший стартовый 5-грамм и продолжить, рискуя немного исказить документ и повторить несколько токенов. Куча таких ошибок не будет иметь большого эффекта на окончательные результаты в большом корпусе.)

В качестве альтернативы, режим PV-DBOW (dm=0) не использует контекст- windows или соседние слова - поэтому получение точного исходного порядка слов не Неважно, просто стоящие документы с нужными словами в любом порядке. Поэтому просто объединение всех 5 граммов создает разумный псевдодокумент, особенно если вы затем отбрасываете 4/5 любого слова (чтобы учесть тот факт, что любое одно слово в оригинале делает c, за исключением самого начала или конец, появляется в 5 5 граммов).

...