NLP Классификация документов
Есть набор документов - контракты, акты, служебки и т.д. Необходимо в последующем проверять соответствие нового документа одному из классов (контракт? акт? и т.д.) В каком направлении идти? Может быть есть алгоритм такого анализа? Какими библиотеками пользоваться? Пока набрел на Gensim.
Ответы (1 шт):
Для начала стоит определиться с предобработкой документов. То есть, в каком виде требуется представить исходный документ. Это может быть вектор с частотами слов в документе (bag-of-words), а может быть сумма из векторов слов word2vec. В обоих случаях подойдёт библиотека gensim. Bag-of-words можно создать как обычный, так и с TF-IDF частотами для каждого слова. Также можно найти примеры использования своеобразного гибрида bag-of-words с word2vec подходом (вектор слова просто домножается на IDF слова)
Просле предобработки документов уже можно подумать о классификаторе. Он может быть как и простой (разнообразие таких можно найти в библиотеке sklearn), так и нейронный (keras, tensorflow, pytorch). Если рассматривать простой классификатор, то легче всего начать с решающего дерева, который рассматривает bag-of-words как набор правил и делает вывод по каждому документу.