Вопрос или проблема
У меня есть корпус из 23000 документов, которые нужно классифицировать на 5 различных категорий. У меня нет доступных помеченных данных, только текстовые документы свободной формы и ярлыки (да, ярлыки из одного слова, не темы).
Поэтому я следовал двухступенчатому подходу:
- Синтетически сгенерировать помеченные данные (используя метод пометки на основе правил, очевидно, что полнота очень низкая, ~ 1/8 документов помечены)
- Как-то использовать эти помеченные данные для определения ярлыков для других документов.
Я пробовал следующие подходы для второго шага:
- Моделирование тем на данных, классифицированных с помощью правил, для извлечения значимых терминов и использования значимых терминов для пометки оставшихся документов.
- Поиск значимых терминов с помощью векторизации предложений
- Использование векторизации предложений в качестве признаков для моего классификатора
Но мне не удалось добиться хороших результатов для моего классификатора документов. Есть ли другие методы, которые можно использовать для классификации документов?
Любая помощь будет очень ценна.
-
Вы можете просто закодировать документы с помощью BERT и сгруппировать документы на основе их содержания, при условии, что они достаточно различаются по типу содержимого, которое они содержат.
-
Другой подход заключается в том, чтобы обучить модель сегментации документов, которая будет сегментировать документы на основе их семантических структур, а затем классифицировать документы на основе их маскированных скелетов. Однако для этого потребуется большой набор данных для обучения. К счастью, вы можете найти один онлайн под названием PubLayNet. Дополните это несколькими представлениями ваших документов для лучшей обобщающей способности по тестовому набору.
Я читал о том, что второй подход применялся для классификации патентов, юридических документов, научных статей и т.д. С хорошими результатами. Однако это займет много времени на обучение.
Я рекомендую просто сгруппировать документы на основе их векторизации текста (пункт 1), а затем назвать кластеры. Если это не сработает удовлетворительно, попробуйте метод глубокого обучения для семантического маскирования документов.
Ответ или решение
Классификация документов в корпусе с использованием меток — это актуальная задача, особенно когда имеется значительное количество документов, но отсутствуют заранее размеченные данные. Рассмотрим более детально различные подходы к решению этой проблемы, исходя из вашей ситуации.
1. Создание размеченных данных
Ваш первоначальный подход к созданию размеченных данных с помощью правил — это целесообразный шаг, однако низкая полнота (recall) указывает на недостатки в этом методе. Возможно, вам стоит рассмотреть использование других методов генерации меток, таких как:
- Наблюдение за образцами: Анализ существующих документов для выявления возможных паттернов и формирования более точных правил.
- Человеческая проверка: Если есть такая возможность, привлечь экспертов для размечивания небольшого количества образцов, которые помогут улучшить качество разметки в дальнейших этапах.
2. Подбор эффективных методов классификации
Как вы уже упомянули, ваши попытки классифицировать документы с помощью различных методов не увенчались успехом. Однако стоит оценить и добавить несколько дополнительных стратегий:
A. Косвенная метка через кластеризацию
Вы можете использовать кластеризацию для группировки документов схожего содержания:
- Энкодеры на основе BERT: Эта модель позволяет создать векторные представления ваших документов, которые можно использовать для кластеризации. Подходы, такие как K-Means или DBSCAN, помогут разделить документы на группы. Далее метки групп можно будет вручную назначить, основываясь на их содержании.
B. Использование эмбеддингов предложений
Другая важная стратегия — это использование эмбеддингов предложений для:
- Извлечения значимых слов и фраз, которые можно использовать для создания более мощного представления текста.
- Строительства классификаторов, таких как Random Forest или SVM, используя эти эмбеддинги в качестве входных признаков.
C. Семантическая разметка документов
Вы также можете рассмотреть модели сегментации документов. Хотя это требует больших объемов данных для обучения, открытые наборы данных, такие как PubLayNet, могут помочь вам в достижении вашей цели:
- Используйте размеченные примеры для обучения модели, которая будет сегментировать документы по структурным элементам и предлагать классификацию на основе полученных сегментов.
3. Проверка и итерация
Важно понимать, что задача классификации документов — это итеративный процесс. Постоянно анализируйте результаты каждого подхода и рационально комбинируйте их для достижения лучших результатов:
- Анализ производительности: Постоянно проверяйте качество классификации и при необходимости корректируйте свои подходы.
- Обратная связь и доработка: На основе полученных результатов постепенно улучшайте вашу модель, в том числе путем добавления новых данных и корректировки параметров.
Заключение
Классификация 23000 документов с помощью меток является сложной задачей, особенно без заранее размеченных данных. Однако, благодаря комбинации кластеризации, семантической разметки и эмбеддингов, вы сможете достичь ваших целей. Рекомендуется начать с простых решений, таких как кластеризация и ручная разметка, постепенно переходя к более сложным методам, таким как обучение моделей сегментации. Продолжайте адаптировать вашу стратегию в зависимости от полученных результатов для достижения наиболее оптимального решения.