Адаптивная система фильтрации ненужных сообщений
Иллюстрации
Показать всеИзобретение относится к системам и способам для идентификации нежелательной информации. Система фильтрации данных содержит первый (начальный) фильтр, имеющий связанную с ним частоту позитивных ложных тревог и частоту негативных ложных тревог, и второй (новый) фильтр, который также используется для фильтрации сообщений, причем второй фильтр оценивается соответственно частоте позитивных ложных тревог и частоте негативных ложных тревог, связанных с первым фильтром. Данные, используемые для определения частот позитивных ложных тревог и негативных ложных тревог первого фильтра, используются для определения новых частот позитивных ложных тревог и негативных ложных тревог второго фильтра, в функции порога. Второй фильтр используется вместо первого фильтра, если для второго фильтра существует порог такой, что новые частоты позитивных ложных тревог и негативных ложных тревог второго фильтра совместно рассматриваются как лучшие, чем частоты позитивных ложных тревог и негативных ложных тревог первого фильтра. Технический результат - повышение эффективности за счет облегчения идентификации ненужной информации. 11 н. и 52 з.п. ф-лы, 10 ил.
Реферат
Перекрестные ссылки на связанные заявки
Настоящая заявка относится к следующим патентам и патентным заявкам, которые включены в настоящее описание во всей своей полноте: патент США 6161130 на «Способ, использующий вероятностный классификатор для обнаружения ненужных сообщений электронной почты путем автоматического обновления обучения и повторного обучения классификатора на основе обновления обучающего множества»; патентная заявка США № 09/448408 (номер дела поверенного 124243.01) на «Средство обучения системы классификации, использующей обратный перенос с максимальным запасом с вероятностным выходом», поданная 23 ноября 1999, и патентная заявка США № 10/278591 (номер дела поверенного 1150749.1) на «Способ и систему для идентификации ненужной электронной почты», поданная 23 октября 2002.
Область техники
Настоящее изобретение относится к системам и способам для идентификации нежелательной информации (например, ненужных сообщений электронной почты), более конкретно к адаптивному фильтру, который облегчает такую идентификацию.
Предшествующий уровень техники
С появлением глобальных коммуникационных сетей, таких как Интернет, появились коммерческие возможности для достижения огромного числа потенциальных потребителей. Электронная передача сообщений, в частности электронная почта, все более широко применяется в качестве средства распространения нежелательных рекламных сообщений и продвижений (также обозначаемых как «спам») среди сетевых пользователей.
По оценкам компании Radicati Group. Inc., специализирующейся на консалтинге и исследованиях рынка, в августе 2002 каждый день посылалось 2 миллиарда ненужных сообщений электронной почты, и ожидается, что это число будет утраиваться каждые два года. Для индивидуальных лиц и организаций (например, предприятий, правительственных агентств и т.д.) такие нежелательные сообщения все в большей степени причиняют беспокойство и зачастую являются оскорбительными. Как таковая, ненужная («макулатурная») электронная почта близка к тому, чтобы стать главной угрозой для заслуживающей доверия компьютерной среды.
Ключевым методом, используемым для пресечения ненужной электронной почты (спама), является использование систем/методов фильтрации. Один испытанный метод фильтрации основан на машинном методе обучения, при котором машинные обучающие фильтры присваивают входящему сообщению вероятность того, что сообщение является спамом. В этом методе в типовом случае извлекаются признаки из двух классов типовых сообщений (например, ненужные сообщения (спам) и полезные сообщения (не-спам)), и обучающий фильтр применяется для вероятностного различения этих двух классов. Поскольку многие признаки сообщения связаны с содержанием (например, слова, фразы в теме и/или в теле сообщения), такие типы фильтров обычно упоминаются как «фильтры, основанные на содержании».
Некоторые фильтры ненужной почты/спама являются адаптивными, важность чего заключается в том, что многоязычным пользователям и пользователям, которые говорят на редких языках, требуется фильтр, который может адаптироваться к их специфическим потребностям. Кроме того, не все пользователи имеют единое мнение в вопросе, что является ненужной почтой/спамом, а что нет. Соответственно, путем использования фильтра, который может неявно обучаться (например, путем наблюдения поведения пользователя), соответствующий фильтр может быть подстроен динамически для удовлетворения конкретных потребностей пользователя по идентификации сообщений.
Один подход к адаптации фильтрации состоит в запрашивании пользователя о маркировке сообщений как ненужных (спам) и как полезных (не-спам). К сожалению, такие методы обучения с интенсивными ручными операциями нежелательны для многих пользователей вследствие сложности, связанной с таким обучением, не говоря уже о затратах времени, требуемых для надлежащего осуществления такого обучения. Другой метод обучения адаптивного фильтра состоит в использовании неявных обучающих подсказок. Например, если пользователь отвечает на сообщение или посылает сообщение, то метод предполагает, что это сообщение не является спамом. Однако использование только таких подсказок для сообщений вводит статистические смещения в процесс обучения, давая в результате фильтры соответственно более низкой точности.
Еще один подход состоит в использовании всей пользовательской электронной почты для обучения, где первоначальные метки присваиваются существующим фильтром, и пользователь иногда переопределяет эти назначения явно выраженными подсказками (например, метод «пользовательской коррекции»), например, путем выбора опций, таких как «удалить как спам» и «не спам», и/или неявно выраженными подсказками. Хотя такой метод более эффективен, чем методы, описанные выше, он все равно обладает недостатками по сравнению с тем, что обеспечивает заявленное изобретение, как представлено в формуле изобретения.
Сущность изобретения
Ниже представлена упрощенная сущность изобретения для пояснения некоторых аспектов изобретения. Это краткое описание сущности изобретения не является исчерпывающей характеристикой изобретения. Оно не предназначено для идентификации ключевых и принципиально важных элементов изобретения или для определения объема изобретения. Его единственной целью является представление некоторых концепций изобретения в упрощенной форме в качестве введения в более детальное описание, как представлено далее.
Настоящее изобретение предусматривает систему и способ, которые обеспечивают использование имеющегося фильтра (например, начального фильтра или нового фильтра), наилучшим образом приспособленного для идентификации ненужных сообщений/спама. Изобретение использует начальный фильтр, который обеспечивает фильтрацию сообщений и имеет связанную с ним частоту ложных позитивных тревог (например, почта, не являющаяся спамом, некорректно классифицируется как спам) и частоту ложных негативных тревог (например, спам некорректно классифицируется как почта, не являющаяся спамом). Новый фильтр также используется для фильтрации сообщений - новый фильтр оценивается соответственно частоте ложных позитивных тревог и частоте ложных негативных тревог, связанных с начальным фильтром. Данные, используемые для определения частот ложных позитивных тревог и ложных негативных тревог начального фильтра, используются для определения новых частот ложных позитивных тревог и ложных негативных тревог нового фильтра, как функции порога.
Новый фильтр используется вместо начального фильтра, если для нового фильтра существует пороговое значение такое, что новые частоты ложных позитивных тревог и ложных негативных тревог нового фильтра совместно рассматриваются как лучшие, чем частоты ложных позитивных тревог и ложных негативных тревог начального фильтра. Новая частота ложных позитивных тревог и новая частота ложных негативных тревог определяются соответственно сообщениям, которые маркированы пользователем как спам и не-спам (например, с использованием процесса пользовательской коррекции). Процесс пользовательской коррекции включает в себя переопределение начальной классификации сообщения, при этом начальная классификация сообщения выполняется автоматически начальным фильтром, когда пользователь принимает сообщение. Порог может представлять собой одно пороговое значение или выбирается из множества генерированных пороговых значений. Если используется множество значений, то выбранное пороговое значение может быть определено путем выбора, например, среднего порогового значения в диапазоне приемлемых пороговых значений (например, пороговое значение с минимальной частотой ложных позитивных тревог или пороговое значение, которое максимизирует ожидаемую пользователем полезность на основе Р*-функции полезности). Альтернативно, пороговое значение может быть выбрано, только если частоты ложных позитивных тревог и ложных негативных тревог нового фильтра, по меньшей мере, такого же качества, что и соответствующие параметры начального фильтра при данном выбранном пороге, и одна лучше. Дополнительно, критерии выбора могут быть обеспечены таким образом, что новый фильтр выбирается, только если частоты для нового фильтра лучше, чем частота для начального фильтра не только при выбранном пороге, но и при других близких порогах.
Другой аспект изобретения предусматривает графический пользовательский интерфейс, который облегчает фильтрацию данных. Этот интерфейс обеспечивает интерфейс фильтрации, который осуществляет информационный обмен с системой конфигурации в связи с конфигурированием фильтра. Интерфейс обеспечивает множество выбираемых пользователем уровней фильтра, включая, по меньшей мере, один устанавливаемый по умолчанию, улучшенный и исключительный. Интерфейс обеспечивает различные инструментальные средства, которые облегчают выполнение вышеупомянутых системы и способа, соответствующих изобретению.
Для достижения вышеуказанных и связанных с ними целей далее описаны некоторые иллюстративные аспекты изобретения во взаимосвязи с последующим описанием и приложенными чертежами. Эти аспекты иллюстрируют некоторые из различных путей, которыми могут быть использованы принципы изобретения, причем настоящее изобретение предназначено для охвата всех таких аспектов и их эквивалентов. Другие преимущества и новые признаки изобретения поясняются в последующем детальном описании изобретения, иллюстрируемом чертежами.
Краткое описание чертежей
Фиг.1 - обобщенная блок-схема системы фильтрации в соответствии с настоящим изобретением.
Фиг.2 - график компромиссных требований по отношению к частоте перехвата.
Фиг.3 - блок-схема способа, соответствующего настоящему изобретению.
Фиг.4а и 4в - примеры пользовательских интерфейсов для конфигурирования адаптивной системы фильтрации ненужной электронной почты в соответствии с настоящим изобретением.
Фиг.5 - обобщенная блок-схема архитектуры обработки, использующей настоящее изобретение.
Фиг.6 - система с одним или более клиентскими компьютерами, которая облегчает многопользовательские входы в систему и фильтрацию входящих сообщений согласно способам, соответствующим настоящему изобретению.
Фиг.7 - система, в которой первоначальная фильтрация выполняется на сервере сообщений, а вторичная фильтрация выполняется на одном или более клиентах, в соответствии с настоящим изобретением.
Фиг.8 - блок-схема адаптивной системы фильтрации для полномасштабной реализации.
Фиг.9 - блок-схема компьютера, предназначенного для выполнения раскрытой архитектуры.
Детальное описание изобретения
Настоящее изобретение описывается далее со ссылками на чертежи, на которых одинаковыми ссылочными позициями обозначены сходные элементы на всех чертежах. В последующем изобретении, в целях объяснения, различные конкретные детали изложены для того, чтобы обеспечить более глубокое понимание сущности изобретения. Однако очевидно, что изобретение может быть реализовано без использования этих конкретных деталей. В других случаях хорошо известные структуры и устройства показаны на блок-схеме, чтобы облегчить описание настоящего изобретения.
Термины «компонент» и «система», как они использованы в настоящем описании, предназначены для ссылок на компьютерные объекты, в том числе аппаратные средства, комбинацию аппаратных средств и программного обеспечения, на программное обеспечение или исполняемое программное обеспечение. Например, компонент может представлять собой, без ограничения указанным, процесс, исполняемый на процессоре, процессор, объект, выполняемый модуль, поток выполнения, программу и/или компьютер. В качестве иллюстрации, как приложение, исполняемое на сервере, так и сервер могут являться компонентом. Один или более компонентов могут находиться в процессе и/или потоке выполнения, и компонент может быть локализован на компьютере или распределен между двумя и более компьютерами.
Настоящее изобретение может воплощать в себе различные схемы и/или методы вывода в связи с фильтрацией нежелательных сообщений. Термин «вывод», как он использован в настоящем описании, относится в целом к процессу обоснования или выводу умозаключения относительно состояний системы, среды и/или пользователя из набора наблюдений, реализованных посредством событий и/или данных. Вывод может использоваться для идентификации конкретного контекста или действия или может генерировать, например, распределение вероятности по состояниям. Вывод может быть вероятностным, то есть представлять собой вычисление распределения вероятностей по состояниям, представляющим интерес, на основе учета данных и событий. Вывод может также ссылаться на методы, используемые для образования событий более высоких уровней из набора событий и/или данных. Такой вывод приводит в результате к созданию новых событий или действий из набора наблюдаемых событий и/или сохраненных данных событий, независимо от того, коррелированны или нет события в ближайшей временной окрестности, и происходят ли события и данные из одного или нескольких источников событий или данных.
Также понятно, что хотя термин «сообщение» повсеместно используется в описании, этот термин не ограничен сообщениями электронной почты как таковыми, но может быть соответственно адаптирован для включения электронных сообщений иной формы, которые могут распространяться по соответствующей коммуникационной архитектуре. Например, приложения конференций, которые облегчают конференцию между двумя или более пользователями (например, программы интерактивного диалога и программы мгновенной отсылки сообщений), также могут использовать выгоды от фильтрации, раскрытые в настоящем изобретении, поскольку нежелательный текст может электронными средствами вкрапляться в нормальные сообщения интерактивного диалога, когда пользователи обмениваются сообщениями, и/или вводиться как начальное сообщение, завершающее сообщение или использовать все из указанного выше. В этом конкретном приложении фильтр может быть конфигурирован для автоматической фильтрации конкретного содержания сообщения (текста и изображений), чтобы перехватить и маркировать как спам нежелательное содержание (например, передачу рекламы, продвижение товаров или объявления).
На фиг.1 представлена блок-схема системы 100 обнаружения ненужных сообщений, соответствующая настоящему изобретению. Система 100 принимает входящий поток сообщений 102, который может фильтроваться для облегчения обнаружения ненужных сообщений и их устранения. Сообщения 102 принимаются в компонент 104 управления фильтром, который может маршрутизировать сообщения 102 между первым фильтром 106 (например, начальным фильтром) и вторым фильтром 108 (например, новым фильтром), в зависимости от критериев фильтрации, определенных в соответствии с адаптивным аспектом настоящего изобретения. Соответственно, если первый фильтр 106 определен как достаточно эффективный в обнаружении ненужных сообщений, второй фильтр 108 не используется и управление 104 фильтром будет продолжать маршрутизировать сообщения 102 на первый фильтр 106. Однако если второй фильтр 108 определен как, по меньшей мере, настолько же эффективный, как и первый фильтр 106, то управление 104 фильтром может принять решение маршрутизировать сообщения 102 на второй фильтр 108. Критерии, используемые для принятия такого решения, описаны более подробно ниже. При начальном использовании система 100 фильтрации может быть конфигурирована на установку предварительно заданного по умолчанию фильтра, так что сообщения 102 будут маршрутизироваться на первый фильтр 106 для фильтрации (например, как в типовом случае, когда первый фильтр 106 представляет собой явным образом обученный фильтр, поставленный вместе с конкретным продуктом).
На основе установок первого фильтра 106 сообщение, принятое в первый фильтр 106, будет запрашиваться на предмет ненужной информации, связанной с ненужными данными. Ненужная информация может включать в себя, без ограничения указанным, следующее: информацию отправителя (от отправителя, который известен как посылающий спам), такую как IP-адрес источника, имя отправителя, адрес электронной почты отправителя, доменное имя отправителя, неразборчивые буквенно-числовые строки в полях идентификатора; термины и фразы текста сообщения, обычно используемые в ненужной электронной почте, такие как "loan" (ссуда), "sex" (пол), "rate" (ставка), "limited offer" (ограниченное предложение), "buy now" (купить сейчас) и т.д.; особенности текста сообщения, такие как размер шрифта, цвет шрифта, использование специальных символов; и встроенные ссылки на всплывающие рекламные объявления. Нежелательные данные могут быть определены на основе, по меньшей мере частично, предварительно заданных, а также динамически определяемых критериев спама. Сообщение также запрашивается на предмет «хороших» данных, таких как слова, подобные "weather" (погода), "team" (команда), которые в типовом случае не появляются в ненужной почте или в почте от отправителя или IP-отправителя, который известен как посылающий только нужную почту. Понятно, что если продукт поставлялся без начального фильтра, без каких-либо установленных критериев фильтрации, то все сообщения проходят без маркировки сначала через фильтр 106 в почтовый ящик 112 пользователя для входящих сообщений (также обозначенный как выход первого фильтра). Понятно, что почтовый ящик 112 может просто представлять собой хранилище данных, расположенное в различных местоположениях (например, сервер, блок массовой памяти, клиентский компьютер, распределенная сеть и т.д.). Кроме того, понятно, что первый фильтр 106 и/или второй фильтр 108 могут использоваться множеством пользователей/компонентов, и что почтовый ящик 112 для входящих сообщений может быть подразделен для хранения сообщений отдельно для соответствующих пользователей/компонентов. Кроме того, система 100 может использовать множество вторичных фильтров 108, так что наиболее подходящий один из вторичных фильтров используется в связи с конкретной задачей. Такие аспекты настоящего изобретения описаны более детально ниже.
Когда пользователь просматривает сообщения почтового ящика, некоторые сообщения могут быть определены как ненужные, а другие нет. Это основано, отчасти, на явной маркировке ненужной почты или почты, не являющейся ненужной (спам, не-спам), пользователем, например, путем нажатия кнопки и на неявной маркировке сообщений посредством действий пользователя, связанных с конкретным сообщением. Сообщение может неявно определяться как не являющееся спамом на основе, например, следующих действий пользователя или процессов сообщения: сообщение прочитано и оставлено в почтовом ящике для входящей почты; сообщение прочитано и переслано; сообщение прочитано и помещено в какую-либо папку, но не в «корзину для мусора»; на сообщение отвечено; или пользователь открывает и редактирует сообщение. Другие пользовательские действия также могут быть определены как связанные с сообщениями, не являющимися спамом. Сообщение может неявно определяться как ненужное, например, на основе того, что сообщение не прочитано за неделю или сообщение удалено без прочтения. Таким образом, система 100 контролирует эти пользовательские действия (или процессы сообщения) посредством компонента 114 пользовательской коррекции. Эти пользовательские действия или процессы сообщений могут быть предварительно конфигурированы в компоненте 14 пользовательской коррекции, так что когда пользователь первоначально просматривает и выполняет действия над сообщениями, система 100 может начать формирование данных частоты ложных позитивных тревог и частоты ложных негативных тревог для первого фильтра 106. По существу, любое пользовательское действие (или процесс сообщения), предварительно не конфигурированное в блоке 114 пользовательской коррекции, будет автоматически позволять «неизвестному» сообщению проходить на выход 112 фильтра немаркированным до тех пор, пока система 100 не адаптируется для рассмотрения сообщений таких типов. Понятно, что термин «пользователь», как он использован в настоящем описании, предназначен для включения в него лица, группы лиц, компонента, а также комбинации, включающей в себя лицо (лица) и компонент(ы).
Когда сообщение в пользовательском почтовом ящике 112 для входящей почты принято как немаркированное сообщение, но в действительности является ненужным сообщением, система 100 обрабатывает это как значение ложных негативных данных. Компонент 114 пользовательской коррекции затем вводит эту ложную негативную информацию назад в компонент 104 управления фильтром в качестве значения данных, используемого для определения эффективности первого фильтра 106. С другой стороны, если первый фильтр маркирует сообщение как ненужное сообщение электронной почты, если оно в действительности не является ненужным сообщением, то система 100 обрабатывает это как значение ложных позитивных данных. Компонент 114 пользовательской коррекции затем вводит эту ложную позитивную информацию назад в компонент 104 управления фильтром в качестве значения данных, используемого для определения эффективности первого фильтра 106. Таким образом, когда пользователь корректирует сообщения, принимаемые в почтовом ящике 112 входящих сообщений, ложные негативные и ложные позитивные данные вырабатываются для первого фильтра 106.
Система 100 определяет, имеется ли порог для второго фильтра 108, такой, что частоты ложных позитивных тревог и ложных негативных тревог ниже (например, в пределах приемлемой вероятности), чем соответствующие значения для первого фильтра 106. Если это так, то система 100 выбирает один из приемлемых порогов. Система также может выбрать второй фильтр, когда частота ложных позитивных порог одинакового качества, а частота ложных негативных тревог лучше, или когда частота ложных негативных тревог одинакового качества, а частота ложных позитивных тревог лучше. Таким образом, настоящее изобретение обеспечивает определение того, имеется ли порог (и каким должен быть этот порог) для второго фильтра 108, который гарантирует, с приемлемой вероятностью, что второй фильтр обеспечивает одинаковую или лучшую полезность по отношению к обнаружению ненужных сообщений, независимо от конкретной функции полезности пользователя и от того, безошибочно ли пользователь скорректировал ошибки первого фильтра 106.
Система 100 обучает новый (или второй) фильтр 108 на основе потребности в новом обучении ввиду пользовательской проверки ложных позитивных и ложных негативных идентификаций. Более конкретно, система 100 использует данные, маркированные метками «спам» и «не-спам», определенными способом пользовательской коррекции. С использованием этих данных частота ложных позитивных тревог (например, не являющиеся ненужными сообщения ошибочно маркированы как ненужные) и частота ложных отрицательных тревог (например, ненужные сообщения ошибочно маркированы как не являющиеся ненужными) определяются для первого (то есть существующего или начального) фильтра 106. Те же самые данные используются для обучения нового (то есть второго) фильтра 108, то есть эти данные используются в связи с определением частот ложных позитивных и ложных негативных тревог в функции порога. Поскольку данные оценки являются теми же самыми, что и использованные для обучения второго фильтра, предпочтительно используется метод перекрестной проверки, известный специалистам в данной области техники, как более подробно пояснено ниже. Если второй набор данных определяется как того же качества, что и первый набор данных, то запускается второй фильтр 108. Компонент 104 управления затем маршрутизирует все входящие сообщения на второй фильтр 108 до тех пор, пока в процессе сравнения не будет определено, что фильтрация должна быть переведена назад к первому фильтру 106, который теперь имеет лучшие результаты фильтрации.
Один конкретный аспект изобретения основывается на двух предпосылках. Первая предпосылка состоит в том, что первая проверка (например, пользовательская коррекция) не содержит ошибок (например, пользователь не удаляет как ненужное то сообщение, которое не является ненужным). При этой предпосылке метки данных, хотя и всегда корректные, являются «по меньшей мере, настолько же корректными», что и метки, присвоенные первым фильтром 106. Таким образом, если второй фильтр 108 не менее полезен, чем существующий фильтр, согласно таким меткам, то истинная ожидаемая полезность второго фильтра 108 может быть не хуже, чем у первого фильтра 106. Вторая предпосылка состоит в том, что желательными являются более низкие частоты ложных позитивных тревог и ложных негативных тревог. В соответствии с этой предпосылкой, если обе частоты ошибок второго фильтра 108 не больше, чем соответствующие характеристики у первого фильтра 106, то второй фильтр 108, по меньшей мере, того же качества, что и первый фильтр 106, в отношении обнаружения ненужных сообщений, независимо от конкретной пользовательской функции полезности.
Одна причина того, что второй фильтр 108 может не всегда быть настолько же эффективным, что и первый фильтр, состоит в том, что второй фильтр основан на меньшем количестве данных, чем первый фильтр 106. Первый фильтр 106 может быть «начальным» фильтром, имеющим начальные данные, которые генерируются из данных других пользователей. По существу, большинство, если не все адаптивные фильтры поставляются с начальным фильтром, так что пользователю обеспечивается конфигурация фильтра, которая должна идентифицировать типовые ненужные сообщения электронной почты, не требуя от пользователя конфигурировать фильтр, что представляет хорошие возможности работы с новой моделью компьютера для неопытного пользователя. Другая причина состоит в том, что второй фильтр 108 может не всегда быть настолько эффективным, как первый фильтр 106. Это зависит от двух факторов: фильтры не являются идеальными, и они могут быть некалиброванными. Оба эти фактора обсуждаются ниже, и затем рассматривается вопрос определения того, является ли второй фильтр 108 лучшим.
На фиг.2 показан график, отражающий компромисс между эффективностью и вероятностью правильного определения (процент спама, маркированного корректным образом, определяемый как единица минус частота ложных негативных тревог) и частотой ложных позитивных тревог (процент ненужных сообщений, маркированных как не являющиеся ненужными). Как показано на чертеже, специалисту в данной области техники должно быть понятно, что ни один фильтр не является идеальным. Таким образом, существуют компромиссы между идентификацией и обнаружением большего количества ненужных сообщений и случайной неверной маркировкой сообщений, не являющихся ненужными, как ненужных сообщений. Этот компромисс эффективности (также определяемый здесь как вероятность точного определения) изображен на графике в виде характеристики, известной как кривая «приемник-оператор» (ROC) 200. Каждая точка кривой соответствует некоторому компромиссу. Пользователь выбирает «рабочую точку» для фильтра путем настройки порога вероятности или порог вероятности может быть предварительно установлен. Если вероятность р того, что сообщение представляет собой ненужное сообщение (как считается фильтром), превышает этот порог, то сообщение маркируется как ненужное сообщение. Таким образом, если пользователь принимает решение работать в режиме, где вероятность точного определения высока (то есть число ложных позитивных определений низка по сравнению с числом корректно маркированных сообщений), то рабочая точка на кривой 200 ближе к началу координат. Например, если пользователь выбирает рабочую точку А на ROC-кривой 200, то частота ложных позитивных тревог примерно равна 0.0007, а соответствующее значение по координате у для числа корректно маркированных сообщений примерно равно 0.45. Пользователь будет иметь округленную частоту точности фильтра 0.45/0.0007=643, то есть одно ложное позитивное сообщение примерно на каждые 643 сообщения, которые маркированы корректным образом. С другой стороны, если рабочая точка соответствует точке В, то более низкая частота точного определения вычисляется как примерно равная 0.72/0.01=72, что означает, что будет иметь место одно ложное позитивное сообщение примерно на каждые 72 сообщения, которые маркированы корректным образом.
Различные пользователи будут принимать такие компромиссные решения различным образом, по отношению к их индивидуальному уникальному набору предпочтений, т.е. на языке теории принятия решений различные пользователи имеют различные функции полезности для фильтрации ненужных сообщений. Например, один класс пользователей может быть индифферентным к некорректному маркированию не являющегося ненужным сообщения и к ошибке в обнаружении N ненужных сообщений. Для пользователей этого класса оптимальный порог (р*) вероятности для определения ненужного сообщения может быть определен посредством следующего сообщения:
p*=N/(N+D)
где N - число сообщений, и N может изменяться для разных пользователей класса.
Таким образом, пользователи в этом классе определяются как имеющие «функцию полезности р*». При этом, если пользователь имеет функцию полезности р*, и если второй фильтр откалиброван, то оптимальный порог может быть выбран автоматически, а именно порог должен устанавливаться на р*. Другому классу пользователей может быть желательным, чтобы не более Х% его сообщений электронной почты, не являющихся ненужными, маркировались как ненужные. Для этих пользователей оптимальный порог зависит от распределения вероятностей, которое второй фильтр 108 присваивает сообщениям.
Второе замечание состоит в том, что фильтры могут иметь возможность калибровки, а могут и не иметь ее. Калиброванный фильтр имеет свойство, заключающееся в том, что когда он определяет с вероятностью р, что множество сообщений электронной почты являются ненужными, то р из этих сообщений будут ненужными. Многие методы машинного обучения генерируют калиброванные фильтры, при условии, что пользователь скрупулезно корректирует ошибки существующих фильтров. Если пользователь корректирует ошибки только для части времени (например, менее 80%), то фильтры, вероятно, будут некалиброванными, то есть эти фильтры будут калиброванными по отношению к некорректным меткам, но некалиброванными по отношению к истинным меткам. Настоящее изобретение обеспечивает средство для определения, имеется ли порог (и каким должен быть такой порог) для второго фильтра 108, который гарантирует (с некоторой вероятностью), что второй фильтр 108 обеспечивает равную или лучшую полезность для пользователя, чем первый фильтр 106, независимо от пользовательской функции полезности и от того, насколько скрупулезно пользователь скорректировал ошибки существующего фильтра 106.
На фиг.3 показана блок-схема способа, соответствующего одному из аспектов изобретения. Для простоты объяснения способ показан и описан как последовательность действий, однако понятно, что настоящее изобретение не ограничено этим порядком действий, так как некоторые действия, в соответствии с настоящим изобретением, могут осуществляться в других порядках и/или одновременно с другими действиями, относительно того, что показано на чертежах и описано. Например, специалистам в данной области техники должно быть понятно, что способ может быть представлен как последовательность взаимосвязанных состояний или событий, например как на диаграмме состояний. Кроме того, не все показанные действия могут потребоваться для реализации способа, соответствующего изобретению.
Основной подход требует двух предпосылок. Первая предпосылка состоит в том, что пользовательские коррекции не содержат ошибок (например, ошибкой было бы, если пользователь удаляет как ненужное то сообщение, которое не является ненужным). При этой предпосылке метки данных, хотя и всегда корректные, являются «по меньшей мере, настолько же корректными», что и метки, присвоенные первым/начальным фильтром. Таким образом, если второй фильтр не менее полезен, чем первый фильтр, согласно таким меткам, то истинная ожидаемая полезность второго фильтра не хуже, чем у первого фильтра. Вторая предпосылка состоит в том, что все пользователи предпочитают более низкие частоты ложных позитивных тревог и ложных негативных тревог. В соответствии с этой предпосылкой, если обе частоты ошибок второго фильтра не выше, чем соответствующие характеристики у первого фильтра, то второй фильтр не хуже, чем первый фильтр, независимо от конкретной пользовательской функции полезности.
На этапе 300 первый и второй фильтр обеспечиваются средством взаимодействия (например, для изменения установок и общего управления настройкой и конфигурацией фильтров). На этапе 302 первый фильтр конфигурируется для автоматической фильтрации входящих сообщений в соответствии с одной или более настройками фильтра. Настройки могут включать в себя настройки, установленные по умолчанию, обеспеченные изготовителем. При приеме отфильтрованных сообщений (например, в папку «входящие») на этапе 304 сообщения просматриваются, и осуществляется определение (например, методом пользовательской коррекции), не были ли сообщения, не являющиеся ненужными, ошибочно маркированы как ненужные (например, ложные позитивные определения), и какие ненужные сообщения не были маркированы как ненужные (например, ложные негативные определения). На этапе 304 функция пользовательской коррекции может быть выполнена путем маркировки сообщений с ложным негативным определением как ненужная электронная почта, либо в явной форме, либо неявно, и удаления меток сообщений с ложным позитивным определением как не являющихся ненужными. Такая функция пользовательской коррекции обеспечивает вероятность точного определения для первого фильтра путем определения его данных частоты ложных позитивных тревог и ложных негативных тревог. На этапе 308 второй фильтр обучается в соответствии со скорректированными пользователем данными первого фильтра 106. Те же данные затем используются для определения вторых частот ложных позитивных тревог и ложных негативных тревог второго фильтра как функции порога, как указано на этапе 310. На этапе 312 определяется пороговое значение. Определение осуществляется относительно того, существует ли порог для второго фильтра, такой, что связанные частоты ложной позитивной и ложной негативной тревог ниже, чем эти частоты первого фильтра (с некоторой приемлемой вероятностью). То есть определяется, как показано на этапе 314, является ли частота точности второго фильтра (ТочностьВФ) лучше, чем частота точности первого фильтра (ТочностьПФ). Если да, то соответствующий порог выбирается и второй фильтр используется для фильтрации входящего сообщения, как показано на этапе 316. Если нет, то процесс переходит к этапу 318, где первый фильтр выполнят фильтрацию входящих сообщений. Процесс динамически циклируется путем выполнения вышеописанных действий, по мере необходимости.
Процесс анализа точности может происходить каждый раз, когда реализуется функция пользовательской коррекции, так что второй фильтр может использоваться или переводиться в неактивное состояние в любой момент на основе определения порога. Поскольку данные оценки первого фильтра являются теми же самыми, что и использованные для обучения второго фильтра, то используется процесс перекрестной проверки. А именно, данные сегментируются на k наборов (k - целое) для каждого процесса пользовательской коррекции, и для каждого набора данных второй фильтр обучается с использованием данных в других k-1 наборах. Эффективность (или точность) второго фильтра затем оценивается для выбранного набора из k-1 наборов. Другой возможностью является ожидание, пока N1 и N2 сообщений с метками «спам» и «не-спам», соответственно, не будут накоплены (например, N1=N2=1000), и затем повторение исполнения каждый раз, когда будут накоплены N3 и N4 дополнительных сообщений с метками «спам» и «не-спам» (например, N3=N4=100). Другой альтернативой является планирование такого процесса на основе календарного вре