- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
и он считает контрольную сумму для каждого слова из текста? ИМХО, не в ту степь.
Читайте внимательно, я не говорю что он считает для каждого слова, это просто пример, чтобы человек мог понять процесс.
В php и mysql есть функции определения "похожести" английского текста или похожести его звучания, как они работают не знаю (в исходники не заглядывал), но может быть взяты похожие алгоритмы.
Функция soundex.
Soundex-ключи имеют то свойство, что слова, произнесённые одинаково, дают тот же самый soundex-ключ и могут, таким образом, быть использованы для упрощения поиска в БД, где вы знаете произношение но не написание. Эта soundex-функция возвращает строку длиной в 4 символа, начиная с буквы.
К делу отношения не имеет.
Какой алгоритм я знаю и применяю...
Каждое слово в словаре для всех документов имеет свой индекс.
Берем документ и вычисялем частоту каждого слова в документе.
Для каждого документа имее скромную табличку типа
[индекс слова]:[колв-л слов]
Еще делаются слепки из такой таблицы, но это уже для удобства и скорости. + Порядок слов влияет конечно, там тоже свой метод, но загружать не буду.
Ищем по базе другие документы по определенной маске и при совпадении каких-то ключевых параметров и схожести текста по приведенной выше таблице процентов на 95%(все завсисит от обьема текста и логики) - поределяем документы как похожие.
С помощью нехитрых алгоримов можно достаточно точно определить похожесть страниц.
Другое дело, что возможны нежелательные погрешности и посему процент совпадения(исключаем доп. ключевые факторы) очень высок для признания документа похожим. С увеличением кол-ва документов в сети будут понижать эти проценты. // Это все образно было сказано.
Все конечно утрировано, но мне примерно такой алгоритм помогает фильтровать дубли.
Я не специалист по обработке больших обьемов данных( я по разработке комп. игр), это просто мое имхо. Строго не судить:) Интересно другие мнения услышать, сейчас как раз cms пишу для доски объявлений.
Всё очень просто он считает контрольную сумму, у одно и того же тектса контрольная сумма будет одна и таже.
допустим слово привет п-7 р-8 и-9 э-10 т-11 сумма равна 35 допустим. Если буквы поменять, то контрольная сумма останеться той же.
Каждая буква имеет код ANSI ||.
Можно подсчитывать контрольную сумму абзацами и так далее, но я думаю в яндексе как то подругому. Потому что был опыт эксперимента, когда берёшь текст большими частями и ставишь на страницы яндекс их не клеит и не банит.
А когда делал сайты с полностью похожими страницами через 3 недели пришёл робот зеркальщик и все сайты пропали.
советую почитать как организуется подсчет контрольных сумм
основное, что если в тексте поменять два символа местами, то контрольная сумма изменится
основной принцип -- каждый последующий знак зависит от его предыдущего
если считать контроьлную сумму как предложили Вы, то эффект электронной подписи был бы нулевой, ибо она основана как раз на контрольной сумме
Лично я когда полностью заимствую текст меняю знаки припинания, по логике с контрольной суммой (шинглом) это должно прокатывать.
а я-то грешным делом думаю, чего в Сети так много неграмотных текстов ;)
http://company.yandex.ru/articles/article10.html (середина статьи, подзаголовок "Качество индекса")
Очень похоже на формулу расчета коэффициента корреляции (коэффициента взаимосвязи) двух случайных выборок.
Очень похоже на формулу расчета коэффициента корреляции (коэффициента взаимосвязи) двух случайных выборок.
Программисты меня поймут. берёться допустим предложени или абзац. из анализируемой страницы и гоняеться по всй базе сайтов, беруться какие-то ключи скорее всего случайные, например несколько слов. После прогона появляется какая-то выборка. По этой выборке прогоняеться по более сложному алгоритму сравнения, т.е для каждого сравнения уделяется больше времени, ресурсов. После прогона мы получили более точную выборку со сравниваемой. И третьим этапом, можем вычислять зеркала или даже перепёртые страницы.
Возможно этапов больше. Возможно эти алгоритмы ещё в доработке. Но что-то по типу этого будет.
Простой сменой слов местами в предложении не обойтись. Тем более изменением знаков препинания.
Программисты меня поймут. берёться допустим предложени или абзац. из анализируемой страницы и гоняеться по всй базе сайтов, беруться какие-то ключи скорее всего случайные, например несколько слов. После прогона появляется какая-то выборка.
У меня много было опыта подобных разработок, некоторые схожи с вашим предложением.
У яндекса есть одно НО - размер базы.
Нужен какой-то быстрый алгоритм выборки.
Искать по предложению или абзацу - немного не правильно, очень долго, и не рационально.
Для документа должно быть посчитано несколько значений - слепков.
Слепок делается например по частоте слов, буквам, оригинальным словам и их комбинациям и т.д.
И уже по ним нужно делайть поиск и последующее сразвнение.
Как вы правильно сказали - процесс поэтапный.
Меня во всём этом безобразии смущает только одно, а именно моя поза, как владельца сайта на котором собраны произведения Пушкина, Лермонтова, Есенина... один сплошной копи-паст... и так оно и должно быть, ибо точные копии и хотят пользователи.
Такую позу, знаете ли, не в каждом немецком порнофильме найдёшь...
Функция soundex.
Soundex-ключи имеют то свойство, что слова, произнесённые одинаково, дают тот же самый soundex-ключ и могут, таким образом, быть использованы для упрощения поиска в БД, где вы знаете произношение но не написание. Эта soundex-функция возвращает строку длиной в 4 символа, начиная с буквы.
К делу отношения не имеет.
Я имел ввиду не только soundex, но и
http://php.net/similar_text
http://php.net/levenshtein
вот возможно примерно на таких алгоритмах и строится система поиска похожих текстов..
У меня много было опыта подобных разработок, некоторые схожи с вашим предложением.
У яндекса есть одно НО - размер базы.
Нужен какой-то быстрый алгоритм выборки.
Искать по предложению или абзацу - немного не правильно, очень долго, и не рационально.
Для документа должно быть посчитано несколько значений - слепков.
Слепок делается например по частоте слов, буквам, оригинальным словам и их комбинациям и т.д.
И уже по ним нужно делайть поиск и последующее сразвнение.
Как вы правильно сказали - процесс поэтапный.
По сути мы говорим об одном и том же. под абзацем я имел ввиду текст, который мы будем проверяь на уникальность :)
Про Пушкина. Не хотелось бы в поиске выйти на многотомник Пушкина. Если я на сайте публикую книгу, которая уже есть в сети, я загоняю её в архив. и пишу лишь название, автора и краткое описание. Т.е самое основное, по каким описанием пользователь будет её искать.