1

Мы используем большой общий список фраз спама как часть нашей системы фильтрации спама. Любые совпадения в теме или теле сообщения электронной почты приводят к тому, что они попадают прямо в наш размещенный карантин Office 365.

Сегодня я заметил, что наш первый ложноположительный результат был отправлен на карантин. Я хочу выяснить, какие слова или фразы соответствуют чему-либо в списке фраз, чтобы я мог удалить его из списка, но не смог его найти (из-за большого количества ключевых слов и фраз, которые мы сейчас имеем в списке).

Все в настоящее время в документе блокнота. Я думал об использовании Beyond Compare, но не понимаю, как это может работать в этой ситуации.

Как выделить совпадения между исходным сообщением и списком ключевых слов / фраз?

1 ответ1

1

Если каждая ключевая фраза находится на отдельной строке, то проще всего использовать командный файл:

@echo off
(for /F "tokens=*" %%i in (keywords.txt) do findstr /C:"%%i" /N /I message.txt) > result.txt

Сохраните его как filter.bat и запустите из командной строки. keywords.txt - это имя файла с ключевыми словами, например

spammer1
spammer2
mr. spammer3

и message.txt должен содержать рассматриваемое сообщение:

Hi, I am spammer2. Give me money

regards,
Mr. spammer3

После запуска сценария соответствующие номера строк будут выведены в results.txt:

1:Hi, I am spammer2. Give me money
4:Mr. spammer3

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .