Как улучшить классификацию документов между двумя похожими документами

Вопрос или проблема

У меня есть задача классификации документов, где мне нужно определить, связан ли определённый документ с недвижимостью или нет. Я получаю URL веб-страницы, из которой извлекаю весь текст, а затем с помощью своей обученной модели, основанной на LSTM, классифицирую, относится ли она к объектам недвижимости. Здесь страница с объектом недвижимости означает, что страница должна говорить только об одном объекте, а не о нескольких.

Моя модель может получить один из следующих типов входных данных:

  1. URL, содержащий уникальное предложение по недвижимости и говорящий об этом конкретном объекте. Например, 1
  2. URL, содержащий список объектов недвижимости, соответствующий определённым критериям. Например, все объекты с тремя спальнями в определённом диапазоне арендной платы. Например, 2. Эти страницы я называю индексными страницами.
  3. Просто какой-то случайный URL с этих веб-сайтов брокеров, рассказывающий о их организации, достижениях, командах и т. д. Например, 3

Разные сайты показывают коллекции или списки объектов недвижимости по-разному. Некоторые сайты брокеров могут иметь список объектов недвижимости, где каждый объект является гиперссылкой и текстом (обычно заголовком объекта). В сценарии 2 элемент списка может содержать несколько дополнительных подробностей, помимо заголовка объекта. Первый случай моя модель классифицирует как не относящийся к недвижимости, но последний тип веб-страниц сбивает с толку, и модель имеет тенденцию классифицировать их как объекты недвижимости. В сценарии 3 модель также работает очень хорошо, пока размер текста на странице не слишком велик. Эти страницы могут говорить о проданном объекте недвижимости, о их видении и т. д.

Во время обучения моей модели я удалил все стоп-слова, знаки препинания, текст гиперссылок, текст полей формы с размером словаря 1000. Я не выполнял никакой лемматизации.

  • Как я могу улучшить классификацию, когда модель имеет высокую тенденцию идентифицировать эти индексные страницы (которые содержат много деталей о нескольких объектах недвижимости) как тоже относящиеся к недвижимости?
  • Должен ли я уменьшить размер словаря, поскольку, когда текст, извлечённый с веб-страницы, слишком большой, его идентифицируют как объект недвижимости?

Я обратился к этой ссылке, чтобы создать и обучить свою модель.

Я предпочёл бы использовать что-то вроде векторизации с помощью Sentence-BERT, чтобы вычислить коэффициент схожести текста целевой веб-страницы и некоторого эталонного набора данных. Эталонный набор данных должен содержать тексты для различных классов страниц.

Ответ или решение

Для улучшения классификации документов, особенно в случае, когда нужно различать похожие документы (например, страницы с уникальными объявлениями о недвижимости и индексные страницы с несколькими объявлениями), вам могут помочь несколько стратегий и подходов:

  1. Улучшение предобработки текста:

    • Лемматизация и стемминг: В дополнение к удалению стоп-слов и пунктуации, рассмотрите возможность использования лемматизации или стемминга, чтобы уменьшить разнообразие форм слов и улучшить обобщающую способность модели.
    • Разделение на фразы: Вместо работы с целыми документами рассмотрите возможность разделения текста на более короткие фразы или предложения, что позволит модели лучше захватывать контекст.
  2. Изменение архитектуры модели:

    • Дальнейшее усложнение модели: Возможно, полезно использовать более сложную архитектуру, такую как модели на основе трансформеров (например, BERT или его варианты). Эти модели могут лучше справляться с контекстом и различать между собой схожие тексты.
    • Многослойные LSTM: Если вы хотите остаться в рамках LSTM, попробуйте увеличить количество слоев и нейронов, а также использовать регуляризацию (например, Dropout) для предотвращения переобучения.
  3. Обогащение обучающего датасета:

    • Добавление контрарных примеров: Соберите больше примеров как для страниц о недвижимости, так и для индексных страниц. Это поможет улучшить способность модели различать разные классы.
    • Использование семантических векторов: Рассмотрите возможность применения таких подходов, как Sentence-BERT для получения векторного представления текстов и вычисления схожести с примерами из вашего датасета.
  4. Финетюнинг гиперпараметров:

    • Настройка размера словаря: Экспериментируйте с размером словаря и включением или исключением определенных типовых слов (например, названия характеристики недвижимости) из анализа.
    • Изменение порога классификации: Попробуйте различные пороги для принятия решения о том, что страница является страницей о недвижимости, это может помочь уменьшить число ложных срабатываний на индексных страницах.
  5. Оценка и мониторинг производительности:

    • Использование метрик: Регулярно оценивайте производительность вашей модели, используя метрики, такие как точность, полнота и F1-мера, для более подробного анализа классификации, особенно для прослеживания производительности на индексных страницах.
    • Кросс-валидация: При обучении модели используйте методы кросс-валидации для проверки надежности модели. Это поможет выявить, как модель работает на различных подвыборках данных.
  6. Интерактивное обучение:

    • Получение обратной связи на выходе модели: Рассмотрите возможность интеграции системы, где пользователи могут предоставлять обратную связь на классификацию, и используйте эту информацию для дальнейшего улучшения модели.

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

Оцените материал
Добавить комментарий

Капча загружается...