ИДЕНТИФИКАЦИЯ СПАМА С ПОМОЩЬЮ ЛЕКСИЧЕСКИХ ВЕКТОРОВ (ВАРИАНТЫ)

Область техники
Настоящее изобретение относится к системам обнаружения спама в тексте почтовых сообщений и, более конкретно, к системам обнаружения спама в почтовых сообщениях с использованием лексических векторов.
Уровень техники
Почтовые спам сообщения стали настоящим бедствием для современных почтовых систем. По последним оценкам, в настоящее время около 60-80% трафика почтовых сообщений в Интернете является спамом. Спам, помимо того, что раздражает людей и отнимает их время, создавая большую нагрузку для почтовых провайдеров и на корпоративные сети. Для обычного пользователя процедура удаления спама заключается в нескольких кликах, то для крупных почтовых провайдеров, таких как Google, Yahoo, Microsoft, a также для больших корпораций, которые имеют собственные серверные решения для фильтрации спама, решение проблемы спама требует решения в промышленном масштабе. Например, перечисленным провайдерам необходимо отфильтровывать миллионы спам сообщений каждый час.
Также стоит отметить, что идет увеличение профессионализма генераторов спама. Большинство подходов, используемых генераторами спама, точно отражают и позаимствованы из тех методов, что используются профессиональными создателями вирусов. По оценкам на данный момент миллионы компьютеров, соединенных с Интернет, зомбированы., при этом эти компьютеры рассылают огромное число почтовых спам сообщений, а владельцы этих компьютеров не подозревают об этом.
В первое время, когда появились «эпидемии» спама, фильтр спама мог просматривать определенные ключевые слова, такие как «Виагра», «свободное предложение» и т.д., для того, чтобы отфильтровать все ненужные сообщения, то современный спам гораздо более сложен и нуждается в более совершенных фильтрах. Еще одной важной задачей для большого числа почтовых провайдеров и корпоративных почтовых серверов, является оптимизация производительности. Операцию по фильтрации спама необходимо сделать желательно почти мгновенно, в то время, как срок в несколько секунд считается неприемлемым, потому как спам фильтры начнут серьезно задерживать прием почтовых сообщений.
В то же время ошибочное срабатывание рассматривается как значительно больший вред, чем пропуск некоторого числа спам сообщений, особенно если учесть, что почтовое сообщение, которое было ложно идентифицировано как спам, никогда не дойдет до адресата или, в лучшем случае, дойдет до него уже гораздо позже.
Обычно многие имеющиеся способы обнаружения спама не являются идеальными. Например, не оказались успешными попытки создания фильтров для сортировки адресов массовой рассылки спама. Такие устройства фильтрации описаны, например, в патентах US 6266692, US 6321267, US 2003009698. Такие спам фильтры также требуют постоянного обновления, чтобы хранить актуальные перечни адресов отправителей массовых рассылок. Сортировка же почтовых сообщений по ключевым словам может быть только частично успешной, так как новые отправители и новые сообщения могут обходить или запутывать ключевые слова.
Таким образом, техническим результатом заявленного изобретения является повышение эффективности и скорости обнаружения текста спама в почтовых сообщениях посредством использования лексических векторов.
Сущность изобретения
Указанный технический результат достигается за счет того, что, согласно первому варианту реализации, система для обнаружения спама в электронном почтовом сообщении содержит:
базу данных, предназначенную для хранения для хранения спам текстов, их лексических векторов, а также идентификаторов для уникальных слов;
средство обработки слов, предназначенное для удаления малозначащих слов и обнаружения уникальных слов в тексте электронного почтового сообщения;
средство назначения идентификаторов, связанное со средством обработки слов и предназначенное для подсчета количества появлений слова в тексте и назначения идентификатора для каждого уникального слова в тексте электронного почтового сообщения, при этом идентификатором является число, соответствующее уникальному слову и числу появлений этого слова в тексте электронного почтового сообщения;
средство формирования лексического вектора, связанное со средством назначения идентификаторов и предназначенное для формирования лексического вектора текста электронного почтового сообщения на основе идентификаторов, назначенных упомянутым средством назначения идентификатора;
средство формирования набора контрольных значений, соединенное со средством для формирования лексического вектора и с базой данных, которое предназначено для формирования набора контрольных значений лексического вектора;
средство обработки элементов набора контрольных значений, связанное со средством формирования набора контрольных значений и предназначенное для обработки элементов набора контрольных значений и определения, является ли спамом текст почтового сообщения.
В одном из вариантов реализации система дополнительно содержащее средство вычисления длины лексического вектора и средство сравнения длин лексических векторов, при этом упомянутая база данных предназначена для хранения длин лексических векторов известных спам текстов, средство вычисления длины лексического вектора связано со средством формирования лексического вектора и предназначено для вычисления длины сформированного лексического вектора, а упомянутое средство сравнения длин лексических векторов, связано с базой данных и средством вычисления длины лексического вектора и предназначено для сравнения вычисленной длины лексического вектора с длинами лексических векторов известных спам текстов до того, как средство обработки набора контрольных значений осуществит обработку элементов набора контрольных значений.
Согласно второму варианту реализации система для обнаружения спама в тексте электронного почтового сообщения содержит:
базу данных, предназначенную для хранения числовых значений, соответствующих уникальным словам текста электронного почтового сообщения, известных спам текстов, их лексических векторов и длин этих лексических векторов, при этом к уникальным словам относятся слова, оставшиеся в тексте электронного почтового сообщения после исключения из него малозначащих слов;
средство формирования лексического вектора, соединенное с упомянутой базой данных и предназначенное для формирования лексического вектора текста электронного почтового сообщения на основе числовых значений, соответствующих уникальным словам, и числа возникновения уникальных слов в тексте электронного почтового сообщения;
средство вычисления длины лексического вектора, связанное со средством для формирования лексического вектора и предназначенное для вычисления длины сформированного лексического вектора;
средство сравнения длин лексических векторов, связано с базой данных и средством вычисления длины лексического вектора и предназначено для сравнения вычисленной длины лексического вектора с длинами лексических векторов известных спам текстов;
средство формирования набора контрольных значений, соединенное со средством сравнения длин лексических векторов и с упомянутой базой данных, и предназначенное для формирования набора контрольных значений сформированного лексического вектора;
средство обработки элементов набора контрольных значений, связанное со средством формирования набора контрольных значений и предназначенное для обработки элементов набора контрольных значений, и определения, является ли спамом текст почтового сообщения.
Согласно еще одному варианту реализации метод для обнаружения спама в тексте электронного почтового сообщения содержит:
фильтрацию текста и удаление малозначащих слов;
определение уникальных слов в тексте и частоты их появления;
присвоение идентификаторов словам:
формирование лексического вектора для текста;
формирование гистограммы для лексического вектора;
подсчет длины лексического вектора;
сравнение длины лексического вектора с длинами лексических векторов известных спам текстов;
формирование набора контрольных значений;
обработка элементов набора контрольных значений для определения, является ли спамом текст почтового сообщения.
Краткое описание прилагаемых чертежей
Сопровождающие чертежи предназначены для дополнительного понимания заявленного изобретения, составляют часть этого описания, иллюстрируют варианты реализации изобретения и совместно с описанием служат для объяснения принципов изобретения.
На чертежах:
Фиг.1 показывает фильтрацию текста, в соответствии с примерным вариантом реализации;
Фиг.2 показывает назначение идентификаторов для уникальных слов в тесте, в соответствии с примерным вариантом реализации;
Фиг.3 показывает набор контрольных значений текста в соответствии с примерным вариантом реализации;
Фиг.4 показывает блок-схему способ обнаружения спам в соответствии с примерным вариантом реализации;
Фиг.5 показывает систему для обнаружения спама в соответствии с первым вариантом реализации;
Фиг.6 показывает систему для обнаружения спама в соответствии со вторым вариантом реализации.
Подробное описание предпочтительных вариантов осуществления
Теперь будут описаны предпочтительные варианты реализации настоящего изобретения, примеры которой показаны на сопровождающих чертежах.
Согласно изобретению предоставляется система для обнаружения спама в тексте электронного почтового сообщения посредством использования лексических векторов.
Сначала будет подробно описан принцип обнаружения спама, который реализуется заявленной системой. Этот принцип, реализуемый заявленной системой, использует анализируемый лексический вектор текста и лексические вектора известных спам текстов, сохраненные в базе данных.
В соответствии с этим принципом идентифицируются уникальные слова и все их вариации в тексте электронного почтового сообщения (далее сообщения). Текст нормализуется морфологически (также это называется «лемматизация») для обнаружения вариаций одного и того же корневого слова (например, «Америка», «Американский», «Американец» и т.д.) и определяется число появлений (возникновений) каждого уникального слова в тексте. Шумовые слова удаляются (фильтруются). Идентификатор назначается для каждого уникального слова и его вариации в тексте. Затем лексический вектор текста создается на основе всех идентификаторов найденных в тексте, а сам набора контрольных значений формируется на основе лексического вектора.
Такой принцип обеспечивает более быстрый и более эффективный способ сравнения текста входящего электронного почтового сообщения с текстами известных спам сообщений, хранящимися в базе данных. Например, текст входящего сообщения, содержащий 100 слов, необходимо проверить на наличие содержания спама. Используется база данных Ln(k) известных спам текстов, каждое из которых содержит k слов (например, Ln=200 текстов и k=300 слов). Обычному спам фильтру для сравнения начального текста с каждым текстов в базе данных, потребуется сравнить все 100 слов со словами в текстах, сохраненных в базе данных. Другими словами, начальный текст будет проходиться 200 раз и будет сделано 100*Ln(k) сравнений. В этом примере потребуется сделать 100*200*300=60000000 сравнений для того, чтобы определить, совпадает ли текст сообщения с одним из текстов известных спам сообщений, сохраненных в базе данных.
Описываемый в данном изобретении метод на этом примере будет сравнивавать те же 100 слов со всеми словами, найденными в спам текстах, сохраненных в базе данных. При этом число всех различных слов в базе данных не превышает 20000, а число необходимых сравнений будет равно 100*Ln(k). Поэтому предложенный метод обеспечивает очень существенную оптимизацию процесса сравнения, что будет раскрыто в дальнейшем.
В соответствии с одним из вариантов реализации, идентификатор ID(N), где N является числом появления уникального слова (или его вариации) в тексте, формируется для всех уникальных слов с их вариациями в тексте входящего почтового сообщения, анализируемого для определения спама. К числу уникальных слов относятся те слова в тексте письма, которые не являются малозначащими. Затем формируется лексический вектор для текста, который включает все идентификаторы уникальных слов (или их морфологические вариации) в тексте.
В соответствии с описываемым принципом, лексические вектора используются следующим способом. Начальный текст почтового сообщения фильтруется, т.е. все часто используемые малозначащие слова (такие как, например, артикли, префиксы, различные формы глаголов «быть», «иметь», «делать» и т.д.) удаляются из текста. Фильтрация текста показана на фиг.1. Начальный текст 100 фильтруется посредством исключения всех малозначащих слов и создается фильтрованный текст 120, в котором оставшиеся слова являются уникальными словами. Также удаляются все знаки препинания.
1
1
В тексте 120, каждое уникальное слово, включающее в себя эти варианты, заменяются уникальным числовым идентификатором ID(N), как показано на фиг.2. В одном из вариантов реализации используется база данных, содержащая числовые значения, соответствующие уникальным словам. Идентификатор ID(N) основывается на числовых значениях, соответствующих конкретному слову, и на числе появлений (возникновений) соответствующего слова с тексте - N. Например, если слову «яблоко» назначается числовое значение ID и это слово появляется в тексте пять раз, тогда действительным идентификатором для этого слова является ID(5). Тогда лексический вектор 130 текста 120 может формироваться как множество идентификаторов ID(N) всех уникальных слов в тексте 120 и будет иметь следующий вид:
1
1
2
2
3
3
n
n
LEXV={ID(N), ID(N), ID(N),…ID(N)}.
1
2
3
N
База данных известного спама имеет N лексических векторов (LEXV, LEXV, LЕХV,… LEXV), соответствующих разным известным спам текстам. В одном из вариантов реализации гистограммы лексических векторов используются для сравнения лексических векторов. Для каждого идентификатора слова текста почтового сообщения формируется HIST [1…N] набор контрольных значений. Для каждого идентификатора слова в тексте почтового сообщения находят в базе данные лексические вектора текстов, содержащие такие же идентификаторы слов.
M
1
1
1
Например, в тексте с лексическим вектором LEXV, идентификатор ID(N) слова обнаруживается M раз. Сначала элементы набора контрольных значений заполняются нулями и затем соответствующие элементы набора контрольных значений HIST[M] заполняются (т.е. увеличиваются) следующим образом:
1
1
k
HIST[M]=HIST[M]+(N* M),
1
1
1
где N число идентификаторов слов ID(N), найденное в лексическом векторе текста LEXV начального сообщения, and k - корректирующий коэффициент. Примерный набор контрольных значений, сформированный таким способом, показан на фиг.3, иллюстрируется как гистограмма.
3
9
Например, слово «яблоко» найдено 5 раз в лексическом векторе LEXV тексте сообщения. Это слово также найдено 3 раза в лексическом векторе LEXV, оно также найдено 4 раза в лексическом векторе LEXV. Затем следующий элемент набора контрольных значений будет увеличен следующим образом:
k
HIST[2]=HIST[2]+(5* 3)
k
HIST[9]=HIST[9]+(5* 4)
1
2
3
N
1
2
3
N
1
1
В результате, может сформироваться набор контрольных значений, показанный на фиг.3. Затем вычисляются длина лексического вектора LEXV, а также вычисляются длина лексических векторов (LEXV, LEXV, LEXV,…LEXV). При этом длину лексических векторов (LEXV, LEXV, LEXV,…LEXV) можно подсчитать один раз заранее и затем использовать значения в дальнейшем. Это также экономит время работы предложенного метода. В соответствии с различными вариантами реализации, длина лексических векторов может вычисляться двумя путями. В одном из вариантов реализации длина LEN вычисляется как число идентификаторов уникальных слов в лексическом векторе текста. Например, если вектор LEXV имеет 15 идентификаторов уникальных слов, его длина будет LEN(LEXV)=15.
2
2
В другом варианте, длина LEN лексического вектора вычисляется как число всех уникальных слов, включая число из появления в лексическом векторе текста. Например, лексический вектор LEXV имеет 5 уникальных слов, при этом некоторые слова появляются один раз, но первое и четвертое слова обнаруживается в тексте 6 и 7 раз соответственно. Тогда длина лексического вектора текста будет LEN(LEXV)=6+1+1+7+1=16.
1
2
3
N
1
M
1
M
В соответствии с одним из вариантов реализации длина лексического вектора текста сообщения LEXV сравнивается с длиной каждых лексических векторов текста (LEXV, LEXV, LEXV,…LEXV), сохраненных в базе данных. Затем, если разница в длинах LEN (LEXV)-LEN (LEXV) не находится в заранее заданных пределах, вектор LEXV исключается из последующего рассмотрения.
Способ сравнения длин лексических векторов в одном из вариантов реализации может формулироваться следующим образом:
1
M
1
1
M
1
2*(LEN(LEXV)-LEN(LEXV))/(LEN(LEXV)+LEN(LEXV))
2
M
Такой же способ сравнения может использоваться и для LEN. Затем на последней фазе данного метода вычисляют контрольное значение CV. Контрольное значение СV для элемента М набора контрольных значений вычисляется следующим образом:
где HIST[M] является значением набора контрольных значений для элемента М, вычисленного, как описано выше:
1
1
k
HIST[M]=HIST[M]+(N*M),
1
1
1
где N является числом идентификаторов ID(N) слов, найденных в лексическом векторе тексте начального сообщения, и k является корректирующим коэффициентом.
Значение суммы лексического вектора вычисляется с помощью всех идентификаторов лексических векторов следующим образом:
i
2k
SUM(LEXV)=∑(N)
i
i
M
где N является числом появлений идентификатора ID в лексическом векторе LEXV анализируемого текста сообщения. Соответствующий коэффициент k определяется эмпирически. В одном из вариантов реализации он устанавливается равным 0,2. Оптимальным значением для коэффициента k является интервал значений 0,2-0,25. Например, если слово «Виагра» появляется в тексте порядка ста раз, коэффициент k устанавливает влияние этого слова на вычисленное контрольное значение СV.
M
M
M
Затем вычисленное контрольное значение СV сравнивается с заранее заданным диапазоном пороговых значений [0,1:1]. Если значение СV попадает в заданный диапазон, то считается, что лексический вектор известного спам текста LЕХV совпадает с лексическим вектором текста LEXV сообщения и, поэтому, текст сообщения, соответствующий LEXV, является спамом.
Рассмотрим вычисление суммы лексического вектора. Например, LEXV содержит три идентификатора, соответствующие уникальным словам «яблоко», «Виагра» и «ракета». Слову «яблоко» назначается числовое значение 87 и оно появляется 5 раз. Слову «Виагра» назначается числовое значение 15 и оно появляется 10 раз. Слову «ракета» назначается числовое значение 123 и оно появляется 3 раза.
Затем LEXV={87(5); 15(10); 123(3)} и сумма этого лексического вектора может вычисляться следующим образом:
Специалисту в уровне технике будет понятно, что разные уровни точности обнаружения спама с помощью описанного способа могут достигаться посредством изменения диапазона порогового значения. Например, диапазон порогового значения можно установить в [0,5:1], изменив таким образом вероятность обнаружения сообщения в качестве спама.
Блок-схема принципа обнаружения спама показывается на фиг.4. Текст сообщения фильтруется на этапе 410. Затем вычисляются уникальные слова с их вариациями в тексте на этапе 420. Также на этом этапе происходит лемматизация. После этого присваиваются идентификаторы для каждого уникального слова (и вариациям этих слов) на этапе 430, после чего на этапе 440 определяют число появлений каждого уникального слова в тексте. Затем формируется лексический вектор для текста на основе идентификаторов на этапе 450, после чего набор контрольных значений лексического вектора заполняется с помощью лексических векторов известных спам текстов, сохраненных в базе данных, на этапе 460.
На этапе 470 вычисляется длина лексического вектора, которая сравнивается с длинами лексических векторов известных спам текстов, сохраненных в базе данных (см. этап 480). Затем, если разница в длинах лексических векторов спам текстов из базы данных и длины лексического вектора анализируемого текста сообщения находится вне заранее установленного порогового диапазона, то эти лексические вектора известных спам текстов исключаются из последующего рассмотрения.
Контрольное значение для каждого элемента набора контрольных значений вычисляется на этапе 490. Затем на этапе 495, если контрольное значение, вычисленное на этапе 490, находится в пределах заранее установленного порогового диапазона, то текст сообщения рассматривается как спам. В противном случае, почтовое сообщение не является спамом.
Далее будет описана система обнаружения спама, реализующая описанный выше принцип.
Заявленная система спама, в соответствии с первым вариантом реализации, показана на фиг.5. Эта система 500 обнаружения спама содержит средство 520 обработки слов, средство 530 назначения идентификаторов, средство 540 формирования лексического вектора, средство 550 формирования набора контрольных значений, базу данных 560, средство 570 обработки элементов набора контрольных значений. При этом средство 520 обработки слов связано со средством 530 назначения идентификаторов, которое, в свою очередь, связано с базой данных 560 и со средством 540 формирования лексического вектора. Средство 540 формирования лексического вектора связано со средством 550 формирования набора контрольных значений, которое, в конце концов, связано с базой данных 560 и со средством 570 обработки элементов набора контрольных значений.
Согласно другому варианту реализации, как показано на фиг.6, система 500 содержит средство 540 формирования лексического вектора, средство 550 формирования набора контрольных значений, базу данных 560, средство 570 обработки элементов набора контрольных значений, средство 580 вычисления длины лексического вектора и средство 585 сравнения длин лексических векторов. Средство 540 формирования лексического вектора связано с базой данных 560 и со средством 580 вычисления длины лексического вектора, которое связано в свою очередь со средством 585 сравнения длин лексических векторов. Средство 585 сравнения длин лексических векторов связано с базой данных 560 и средством 550 формирования набора контрольных значений. Средство 550 формирования набора контрольных значений связано со средством 570 обработки элементов набора контрольных значений.
Средство 520 обработки слов предназначено для удаления малозначащих слов и обнаружения уникальных слов в тексте электронного почтового сообщения.
Средство 530 назначения идентификаторов предназначено для подсчета количества появлений слова в тексте и назначения идентификатора для каждого уникального слова в тексте электронного почтового сообщения. Идентификатором является число, соответствующее уникальному слову и числу появлений этого слова в тексте электронного почтового сообщения.
Средство 540 формирования лексического вектора, согласно первому варианту реализации системы, предназначено для формирования лексического вектора текста электронного почтового сообщения на основе идентификаторов, назначенных упомянутым средством 530 назначения идентификатора. Согласно второму варианту реализации, средство 540 формирования лексического вектора осуществляет удаление малозначащих слов и идентификацию уникальных слов в тексте, назначает идентификаторы словам и определяет число появлений каждого уникального слова в тексте сообщения, а также осуществляет формирование лексического вектора текста электронного почтового сообщения на основе идентификаторов.
Средство 550 формирования набора контрольных значений предназначено для формирования набора контрольных значений лексического вектора. Согласно второму варианту реализации, средство 550 формирования набора контрольных значений также производит отсев тех элементов, которые не прошли этап сравнения длин лексических векторов.
База данных 560 предназначена для хранения спам текстов, их лексических векторов, длин этих лексических векторов, а также числовых значений, которые назначаются каждому уникальному слову.
Средство 570 обработки набора контрольных значений предназначено для обработки элементов набора контрольных значений, чтобы выяснить насколько исходный текст совпадает с известными спам текстами.
Средство 580 вычисления длины лексического вектора предназначено для вычисления длины сформированного лексического вектора.
Средство 585 сравнения длин лексических векторов предназначено для сравнения вычисленной длины лексического вектора с длинами лексических векторов известных спам текстов.
Далее будет приведено подробное описание работы заявленной системы по первому варианту реализации описанного выше способа обнаружения спама.
Текст 510 поступает на средство 520 обработки слов, которое осуществляет фильтрацию текста с целью удаления малозначащих слов и обнаружения уникальных слов так, как это было подробно описано выше со ссылкой на фиг.1 и 4. Затем средство 530 назначения идентификаторов вычисляет количество появлений каждого уникального слова и назначает каждому уникальному слову соответствующее числовое значение, хранящееся в базе данных 560, и назначает идентификаторы каждому уникальному слову, как было подробно описано выше со ссылкой на фиг.1, 2 и 4. Идентификаторы ID(N) для каждого слова формируются на основе назначенного числового числа, которое, как выше отмечалось, назначается в зависимости от числа возникновения слов в тексте. Сформированные идентификаторы передаются от средства 530 назначения идентификаторов в средство формирования лексического вектора 540. Лексический вектор текста 510 в средстве 540 формируется на основе всех идентификаторов ID(N), сформированных для этого текста, как было подробно описано выше со ссылкой на фиг.1, 2 и 4.
Затем лексический вектор текста 510, сформированный в средстве 540, поступает на средство формирования 550 набора контрольных значений, где формируется набор контрольных значений лексического вектора, как было описано выше со ссылкой на фиг.3 и 4. Сформированный набор контрольных значений лексического вектора текста 510, затем, передается на средство 570 обработки элементов набора контрольных значений. Средство 570 обработки элементов набора контрольных значений осуществляет обработку элементов набора контрольных значений, как было описано выше со ссылкой на описание фиг.4. На основе результата работы средства 570 обработки элементов набора контрольных значений можно определить, относится ли анализируемый текст к спам сообщениям, как было подробно описано выше со ссылкой на фиг.4.
Теперь рассмотрим работу заявленной системы 500 обнаружения спама в соответствии со вторым вариантом реализации.
Текст 510 поступает на средство 540 формирования лексического вектора, которое осуществляет фильтрацию текста с целью удаления малозначащих слов и обнаружения уникальных слов так, как это было подробно описано выше. Затем это же средство 540 определяет каждое уникальное слово в тексте и количество их появлений и в зависимости от этого назначает каждому уникальному слову соответствующее числовое значение, хранящееся в базе данных 560. После чего это средство 540 назначает идентификаторы каждому уникальному слову, как было подробно описано выше. Идентификаторы ID(N) для каждого слова формируются на основе назначенного числового числа, которое, как выше отмечалось, назначается в зависимости от числа возникновения слов в тексте. Затем средство 540 осуществляет формирование лексического вектора на основе всех ID(N), сформированных для этого текста, как было подробно описано выше.
Затем лексический вектор текста 510, сформированный в средстве 540, поступает на средство 580 вычисления длины вектора, которое осуществляет вычисление длины вектора, как было описано выше. Затем полученная длина лексического вектора анализируемого текста и длины лексических векторов известных спам текстов, сохраненных в базе данных 560, поступают на средство 585 сравнения длин векторов, которое осуществляет сравнение полученных длин векторов и определяет, совпадают ли (в определенном пороговом диапазоне) длины лексических векторов известных спам текстов с длиной лексического вектора текста 510. Если средство 585 устанавливает, что результат сравнения векторов находится в приделах порогового диапазона, то элементы набора контрольных значений для этих спам текстов попадают к средству 550 формирования набора контрольных значений.
Средство 550 производит отсев тех элементов, которые не прошли этап сравнения длин лексических векторов и затем формирует набор контрольных значений, как было описано выше со ссылкой на описание фиг.4. Полученные набор контрольных значений попадает на средство 570 обработки элементов набора контрольных значений. На основе результата обработки средство 570 определяет, относится анализируемый текст к спам сообщениям, как было подробно описано выше со ссылкой на фиг.1, 3 и 4.
Из приведенного выше описания становится очевидным и понятным, что предложенная система для обнаружения спама обеспечивает эффективную идентификацию спама и преодолевает недостатки систем обнаружения спама, известных из существующего уровня техники.
Отметим, что все средства, входящие в состав заявленных систем, реализуются известными аппаратными средствами. Так, база данных 560 представляет собой память, которая имеет объем, необходимый для хранения спам текстов, лексических векторов и их длин, а также числовых значений, которые назначаются слову в зависимости от его появления в тексте. Средство 585 могут быть выполнено в виде компараторов, процессоров или других известных средств, которые осуществляют сравнение. Средство 520 обработки слов представляет собой широко известный из уровня техники фильтр, который осуществляет удаление малозначащих слов и определение уникальных слов. Средство 530 назначения идентификаторов, средство 540 формирования лексического вектора и средство 550 формирования набора контрольных значений могут быть выполнены в виде процессоров, контроллеров или любых других аппаратных средств обработки, которые могут выполнять те же функции, которые выполняют эти средства.
Предложенные системы для обнаружения спама могут использоваться в компьютерах общего назначения, например, обычных компьютерах или серверах. Такие компьютеры содержат процессор, системную память и системную шину, которая соединяет разные системные компоненты, включая системную память, с процессором. Системная шина может быть одной из нескольких типов шинной структуры, включая шину памяти или контроллер памяти, периферийной шиной и локальной шиной, использующей любую шинную архитектуру. Системная память включает в себя постоянную память (ROM) и оперативную память (RAM).
Базовая система ввода-вывода (BIOS), содержащая основные программы, которые помогают передавать информацию между элементами в компьютере, такую как во время запуска, сохраняется в ROM. Компьютер может дополнительно содержать накопитель на жестком диске для чтения с и записи на жесткий диск, накопитель на магнитных дисках для считывания с или записи на сменный магнитный диск, и накопитель на оптических дисках для чтения с или записи на сменный оптический диск, такой как CD-ROM, DVD-ROM или другие оптические носители.
Накопитель на жестком диске, накопитель на магнитных дисках и накопитель на оптических дисках также соединяются с системной шиной посредством интерфейса накопителя на жестком диске, интерфейса накопителя на магнитных дисках и интерфейса накопителя на оптических дисках, соответственно. Накопители и связанные с ними машиночитаемые носители обеспечивают энергонезависимое хранение машиночитаемых команд, структур данных, программных модулей и других данных для компьютера.
Компьютер может также содержать магнитные кассеты, карты флэш-памяти, цифровые видеодиски, картриджи Бернулли, оперативные памяти (RAM), постоянные памяти (ROM) и другие виды памяти.
Ряд программных модулей может быть сохранено на жестком диске, магнитном диске, оптическом диске, ROM или RAM, включая операционную систему (например, Windows™ 2000). Компьютер включает в себя также файловую систему, связанную с или включенную в операционную систему, такую как Windows NT™ File System (NTFS), одну или более прикладных программ, другие программные модули и данные программы. Пользователь может вводить команды и информацию в компьютер с помощью устройств ввода, таких как клавиатура и указательное устройство типа мышь.
Другие устройства ввода могут включать в себя микрофон, джойстик, игровой планшет, спутниковую антенну, сканер или т.п. Эти и другие устройства ввода соединены с процессором через интерфейс последовательного порта, который соединен с системной шиной. Следует отметить, что эти устройства ввода могут соединяться с другими интерфейсами, такими как параллельный порт или универсальный последовательный порт (USB). Монитор или другой тип устройства отображения также соединяется с системной шиной через интерфейс, такой как видеоадаптер. Кроме того компьютер может включать в себя другие периферийные устройства вывода, такие как динамики и принтеры.
Компьютер, в котором используются заявленные системы, работает в сетевой среде, использующей логические соединения с одним или более удаленными компьютерами. Удаленный компьютер (или компьютеры) могут быть другими компьютерами, серверами, маршрутизаторами, сетевыми PC, одноранговым устройством или другим общим сетевым узлом. Этот компьютер может быть подсоединен к локальной сети (LAN) или к глобальной сети (WAN), к сети в офисах, Интернету или Интранету.
Когда компьютер используется в сетевой среде LAN, компьютер соединяется с локальной сетью через сетевой интерфейс или адаптер. Когда используется в сетевой среде WAN, компьютер обычно включает в себя модем или другие средства для установления связи через глобальную сеть, такую как Интернет. Модем, который может быть внутренним или внешним, соединяется с системной шиной через интерфейс последовательного порта.
Имея описанные здесь предпочтительные варианты реализации, будет очевидным для специалиста в уровне техники, что достигнуты определенные преимущества описанных систем. Будет также понятно, что различные модификации, адаптации и альтернативные варианты реализации этих системы могут быть сделаны в объеме и сущности настоящего изобретения. Изобретение определяется нижеследующей формулой.