NLP Классификация документов

Есть набор документов - контракты, акты, служебки и т.д. Необходимо в последующем проверять соответствие нового документа одному из классов (контракт? акт? и т.д.) В каком направлении идти? Может быть есть алгоритм такого анализа? Какими библиотеками пользоваться? Пока набрел на Gensim.


Ответы (1 шт):

Автор решения: roddar92

Для начала стоит определиться с предобработкой документов. То есть, в каком виде требуется представить исходный документ. Это может быть вектор с частотами слов в документе (bag-of-words), а может быть сумма из векторов слов word2vec. В обоих случаях подойдёт библиотека gensim. Bag-of-words можно создать как обычный, так и с TF-IDF частотами для каждого слова. Также можно найти примеры использования своеобразного гибрида bag-of-words с word2vec подходом (вектор слова просто домножается на IDF слова)

Просле предобработки документов уже можно подумать о классификаторе. Он может быть как и простой (разнообразие таких можно найти в библиотеке sklearn), так и нейронный (keras, tensorflow, pytorch). Если рассматривать простой классификатор, то легче всего начать с решающего дерева, который рассматривает bag-of-words как набор правил и делает вывод по каждому документу.

→ Ссылка