Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Не совсем понятно 21.10.05 22:55 Число просмотров: 2983
Автор: Heller <Heller> Статус: Elderman
|
> С такой модификацией. > Считаем какой-то вес (хоть сумму символов, хоть еще что) не > для всего сообщения, а для некоторых кусков (нужно выбрать > оптимальный их размер). Сравнивать не только значения > весов, но и количество "совпавших" элементов, их общее > количество и схожесть их между собой. > Пример: > abcd | emkf | fdmp | zz > добавляем в начало: > zzza | bcde | mkff | dmpz | z > > Таким образом сильно будут отличапться только > первыйэлемент. Честно говоря не заметил, чтобы остальные элементы, кроме первого, были сильно похожи. Как по хешам, так и по количеству повторяющихся символов. То ли я не так понял, то ли где-то ошибка. Этот вариант возможен, если выбирать длинные блоки, но это чаще всего невозможно из-за малого размера сообщений. Потом, в этом случае, ИМХО, достаточно делать то-то одно - либо считать количество символов в каждом блоке, либо счтать checksum для каждого блока.
> Здесь нужно будет создавать дерево или хэш > для сохранения веов. Зачем? Сообщения не большие и хранить нужно максимум два-три посладних. Простой массив хорошо пойдет.
> Для выбора кнстант, по которым можноопределить похожие > элементы, можно обучить систему -- анализировать сообщения > разных пользователей, корректировать свою чувствительность.
Меня это натолкнуло на похожий метод, но более простой и эффективный, ИМХО. Делается почти всё то же самое:
1. Разбиваем оба сообщения на небольшие блоки.
2. Сравниваем количество одинаковых символов для каждой пары соответствующих блоков обоих сообщений, записываем полученную последовательность.
Например: Админ- де|бил,ха-хаха! |Щас т|ебе с|айт з|афлуж|у!!! Админ-д!|ебил,хах|а-ха!Щас |тебе |сайт |зафлу|жу!!!
5, 4, 4, 4, 4, 4, 4, 4, 4 (последний блок можно не рассматривать).
Получается, что в целом - отличие в символах для каждой пары блоков постоянно, за исключением конечно числа блоков. Соответственно, пара таких сообщений является флудом. Для надежности можно проводить анализ два раза с разной длиной блоков, а длину блока выбирать исходя из длины сообщения.
|
|
|