Вопрос или проблема
У меня есть проблема классификации, которую кажется, часто встречают, но я не могу найти название этой задачи и лучший способ моделирования этой проблемы.
Допустим, у меня есть серия событий, которые происходят последовательно во времени.
2 Янв - Я познакомился с хорошей девушкой на Тиндере - ACTION_TYPE = SOCIAL_EVENT
5 Янв - Я встретился с ней, было приятно - ACTION_TYPE = SOCIAL_EVENT
8 Янв - Я только что получил предложение о новой работе. Завтра встречусь с начальником - ACTION_TYPE = PROFESSIONAL_EVENT
10 Янв - Я встретился с ней, было приятно - ACTION_TYPE = PROFESSIONAL_EVENT
Это обучение с учителем, где у меня есть правильно размеченные временные линии для тренировки. Но во время предсказания, я должен размечать каждое отдельное событие.
Я начал с текстовой классификации текста, но не могу отличить события “5 Янв” и “10 Янв”.
Мой инстинкт – сочетать эту проблему с последовательной разметкой, с CRF-слоем в конце. Но было бы неплохо, если бы вы могли рассмотреть другие возможные решения, описанные в литературе.
Как бы вы смоделировали эту проблему? Известна ли эта проблема в литературе, и если да, как можно ее найти?
Можно представить проблему как классификацию. Признаки – это текст и день-месяц. Целевая переменная – одна из дискретных категорий (то есть SOCIAL_EVENT или PROFESSIONAL_EVENT).
В временных рядах вы используете данные из прошлого для предсказания будущего. Здесь вашему тексту на момент t нужно присвоить класс. Но ваши данные могут иметь отстающие данные в качестве входа или даже некоторую функцию агрегирования, основанную на прошлых N точках. В временных рядах мы используем среднее и стандартное отклонение по движущемуся окну.
Например, включая отстающие: Входные данные для вашей модели:
[текущий текст, предыдущий текст, текст перед предыдущим текстом]
Преобразовано с использованием мешка слов:
[слово 1 в тексте 1, ... ,слово n в тексте 1, слово 1 в тексте 2, ... , слово n в тексте 2 ...]
Здесь важна позиция, но нейронные сети могут это определить.
Поскольку ваши текстовые данные обладают последовательной природой, лучше всего выбрать последовательную классификацию, ниже представлены статьи и учебные материалы для получения дополнительной информации.
-
Краткий обзор классификации последовательностей: Эта статья обсуждает несколько расширений (обычной) классификации последовательностей
-
Классификация последовательностей с рекуррентными нейронными сетями LSTM на Python с использованием Keras : Классификация последовательностей – это задача предсказательного моделирования, в которой у вас есть некоторая последовательность входных данных во времени или пространстве, и задача состоит в том, чтобы предсказать категорию для этой последовательности. Здесь для классификации последовательностей используется модель LSTM.
-
Классификация временнó изменяющегося текста с помощью глубоких нейронных сетей: статья исследует эволюционные модели нейронных сетей для классификации временнó изменяющегося текста
-
Алгоритм поискового выделения последовательностей на основе текстовых данных: Пример из текстовых записей ошибок: эта статья использует алгоритм поискового выделения последовательностей в текстовых данных для выделения ошибок в текстовых записях. Вы можете использовать это
-
Последовательное обучение сверточных признаков для эффективной классификации текстов: в этой статье предлагается последовательная сверточная рецидивирующая сеть внимания (SCARN). Предлагаемая модель SCARN эффективно использует преимущества как рекуррентных, так и сверточных структур по сравнению с ранее предложенными рекуррентными сверточными моделями.
.
Ответ или решение
Введение в теорию последовательной классификации данных
Классификация временных последовательностей, где важен порядок предыдущих событий, представляет собой сложную задачу в области машинного обучения. В этом случае, каждая последовательность событий должна быть правильно классифицирована с учетом контекста и порядка, в котором события происходят. Такой подход особенно важен, когда события могут иметь схожий текст, но различные контексты, приводящие к разным классификациям.
Пример задачи
Рассмотрим последовательность событий, связанных с социальными и профессиональными действиями, такими как встречи с новым знакомым или начальником. Пусть нам необходимо классифицировать каждое из событий в одну из категорий: "СОЦИАЛЬНОЕ СОБЫТИЕ" или "ПРОФЕССИОНАЛЬНОЕ СОБЫТИЕ", принимая во внимание предыдущие действия. Например, события "5 января" и "10 января" могут содержать схожий текст, но в контексте последовательности они имеют разные метки.
Методы решения и применение
Существует несколько подходов для решения подобных задач, включая последовательные модели классификации, такие как CRF (Conditional Random Fields), LSTM (Long Short-Term Memory) и другие модели, работающие с временными рядами.
-
CRF (Условные случайные поля): Этот метод удобен для обработки последовательностей, где важны связи между соседними событиями. CRF может использоваться как завершающий слой над предобученными текстовыми моделями, обладая способностью учитывать структуру данных и взаимодействия между метками последовательности.
-
LSTM (Долгая краткосрочная память): Эти рекуррентные нейронные сети широко применяются для анализа последовательных данных. LSTM способна запоминать долгосрочные зависимости и учитывать порядок поступающих данных, что делает её полезной для задач, где важен контекст предыдущих событий.
-
Комбинированные модели: Использование гибридных архитектур, таких как SCARN (Sequential Convolutional Attentive Recurrent Network), позволяет объединить преимущества CNN и RNN, обеспечивая более точный анализ текстовой последовательности и её контекста.
В заключение, последовательная классификация данных, где важен порядок предыдущих событий, требует применения специализированных методов, способных учитывать как контекст, так и текстовое содержание данных. Выбор подхода зависит от сложности задачи, доступных данных и требований к точности классификации. Используя современные исследования и доступные инструменты, такие как LSTM и CRF, можно значительно улучшить качество анализа временных рядов и их классификацию.