Каков наилучший способ представления коллекции документов в векторе фиксированной длины? - PullRequest
0 голосов
/ 13 июня 2019

Я пытаюсь построить глубокие нейронные сети, которые принимают набор документов и предсказывают категорию, к которой он принадлежит.

Поскольку число документов в каждой коллекции не фиксировано, моей первой попыткой было получить сопоставление документов из doc2vec и использовать среднее значение.

Точность обучения составляет 90%, а точность тестирования - 60%.

Есть ли лучший способ представления коллекции документов в виде вектора фиксированной длины, чтобы можно было захватить общие слова?

1 Ответ

0 голосов
/ 13 июня 2019

Описание вашего процесса пока немного расплывчато и неясно - вы можете добавить больше деталей к вашему вопросу.

Обычно Doc2Vec конвертирует каждый документ в вектор, а не в «коллекцию документов».

Если вы попытались свернуть коллекцию в один вектор - например, путем усреднения множества документов-документов или вычисления вектора для синтетического документа со словами всех вложенных документов - вы можете потерятьценная многомерная структура.

"Предсказать категорию" было бы типичной проблемой "классификации", и с кучей документов (представленных их векторными документами) и известными метками вы можете попробовать различные виды классификаторов.

Из вашего описания я подозреваю, что вы, возможно, просто сворачиваете категорию в один вектор, а затем классифицируете новые документы, проверяя, к какому существующему вектору категории они ближе всего.Это может сработать - это неопределенно подход K-Nearest-Neighbours, но с каждой категорией сводится к одному итоговому вектору, а не к полному набору известных примеров, и каждая классификация выполняется путем рассмотрения только одного ближайшего соседа.Это налагает на процесс простоту, которая может не соответствовать «формам» реальных категорий, а также может достигаться истинный классификатор KNN или другие классификаторы.

Если точность данных испытаний падает намного ниже той, которая наблюдается во время обучения, это может указывать на то, что происходит значительное «переоснащение»: модели (ы) по существу запоминают идиосинкразии данных обучения для «обмана» при ответах на основена произвольных корреляциях, а не на изучении обобщаемых правил.Уменьшение размеров вашей модели , например, путем уменьшения размерности ваших доку-векторов, может помочь в таких ситуациях, предоставляя модели меньше дополнительного состояния, в котором можно запомнить особенности данных обучения.Также может помочь больше данных - поскольку «шум» в более многочисленных разнообразных примерах имеет тенденцию к самоуничтожению, а не к достижению той ошибочной важности, которая может быть изучена в меньших наборах данных.

Существуют и другие способы преобразованиятекст переменной длины в вектор фиксированной длины, многие из которых основаны на более глубоких алгоритмах обучения.Но они могут быть еще более требовательными к обучению, и кажется, что у вас могут быть другие факторы, которые нужно улучшить, прежде чем пытаться использовать их вместо Doc2Vec.

...