Подробное описание проблемы. Предположим, у вас есть набор электронных писем. В дополнение к корпусу у вас также есть связанные теги для электронных писем. Учитывая новое электронное письмо, как можно связать тег с новым электронным письмом.

Хотя существует множество способов и подходов к тегированию электронных писем. От простых до более сложных. В этой статье мы рассмотрим простые функции, которые могут помочь в этом.

Предварительная обработка электронной почты:

  • Токенизировать корпус электронной почты
  • Нижний регистр — корпус электронной почты
  • Удалить стоп-слова из корпуса электронной почты
  • Применение стемминга к корпусу электронной почты
  • Применить LDA или LSI к нормализованному корпусу слов

Для каждого нового входящего электронного письма вы теперь можете использовать вектор моделирования темы для набора слов, принадлежащих электронному письму. Это даст вам векторное представление электронной почты или вектор моделирования темы для электронной почты.

Предварительная обработка тегов:

  • Соберите исторические электронные письма, принадлежащие электронным письмам. Пакет слов, связанный с тегом, будет нормализованным словом, принадлежащим электронным письмам. Примените LDA, чтобы получить вектор тематической модели для тега

Возможности:

  • Косинусное сходство между вектором моделирования темы электронной почты И вектором моделирования темы тега
  • Количество слов в теме письма
  • Длина тела электронной почты
  • Категориальное кодирование в поле From
  • Логический флаг, указывающий, был ли ответ на электронное письмо
  • Логический флаг, указывающий, было ли электронное письмо переадресовано

Подготовка набора функций и обучение

Для каждого тега подготовьте набор данных. Каждое электронное письмо, для которого присутствует тег, имеет положительную метку. Каждое электронное письмо, для которого не установлен тег, мы помечаем как отрицательный ярлык. Для заданного тега обучить случайный лес как бинарный классификатор. Обучите N классификаторов, по одному для каждого тега.

Учимся ранжировать и Рейтинг по очкам

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