|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Zahar Kiselev 2:5030/382.1 30 Nov 2001 00:27:22 To : All Subject : Сложный поиск в тексте --------------------------------------------------------------------------------
Есть идея сделать автоматический фильтр для фидошной почты, чтобы он вылавливал
из общего потока письма, содержащие слова, которые меня могут заинтересовать.
Предполагается кроме простого сравнения использовать еще и сравнение
с шаблонами, а также нечеткое сравнение по алгоритму Левенштейна.
Каждый из этих способов в отдельности - затруднений не вызывает.
Вопрос в том, как все это объединить в единый комплекс?
Чтобы в конфиге можно было бы написать такое выражение
("Fido" | "фидо") & "программа" & alike("почтовый") & ! "windows" & "*NIX"
- это будет ловить письма с обсуждением фидошного софта, причем не под
винды, а под юникс-подобные системы. Если выражение истинно - то письмо
копируется в отдельное место для последующего просмотра глазами.
Соответственно:
& - И
| - ИЛИ
! - не, отрицание следующего за ним члена выражения
() - скобки в математическом их понимании.
alike() - функция, реализующая нечеткое сравнение по Левенштейну и возвращающая
истину если считает что в письме встретилось что-то "похожее"
на ее аргумент.
последний член в выражении - в кавычках содержит шаблон, а не жестко заданную
строку.
Вопрос в том, как наиболее эффективно реализовать разбор этого выражения и
последующее применение его к тексту письма?
Может быть существуют где-то решения похожих задач? Hа что обратить внимание,
о чем почитать?
Zahar
--- Msged/LNX 6.1.0
* Origin: undefined location (2:5030/382.1)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/32883c065a6d.html, оценка из 5, голосов 10
|