Шингл — лингвистическое сравнение текстов

Используемое с 1997 г. в области информатики англо-американское слово шингл (кирпич, черепица, вывеска) означает «элементарная частичка текста». Это могут быть идиомы, логические и причинно-следственные связки, экспрессии, художественные образы, литературные штампы и прочие речевые обороты, используемые для анализа уникальности и связности текста. В осмысленном тексте шинглы присутствуют в избытке относительно объёма текста, поскольку происходит их накладывание внахлёст.

Для чего нужны шинглы?

Лингвистические методы сравнения текстов (по их отрывкам) имеют низкую производительность, математические методы – функционально ограничены, а шинглы – это удачный способ соединения этих двух начал.

Поисковые машины, сервисы по типу антиплагиатов, международные новостные агентства и прочие нуждаются в повышении скорости и точности выявления сходства текстов. Впервые предложил к использованию для этого шинглы сотрудник Яху Андрей Бродер.

Шинглы также используют для размножения текстов, создавая осмысленные версии заменителей. Чем длиннее шингл, тем легче выполнить размножение, но сложнее обмануть поисковые машины и системы антиплагиата.

Простой синонимайз легко выявляется с помощью алгоритма шинглов

Какие бывают шинглы?

Оптимальная длина шингла 5–7 слов; рабочий диапазон – от трёх до десяти слов.
При ручной настройке сервисов антиплагиата можно выбрать большую длину шингла – для быстрой, но «грубой» проверки уникальности. Выставлять минимальную длину шингла не рекомендуют, поскольку даже чисто авторский текст популярной тематики может ошибочно попасть в категорию неуникальных либо «в борьбе за уникальность» будет искажён его смысл.

Автоматизированные системы поиска и проверка уникальности иногда применяют шинглы с постоянным числом слов, например, в четыре слова. А иногда – с переменным числом слов, скажем, при каждой следующей операции длина шингла меняется по алгоритму, в который заложен генератор псевдослучайных чисел.

Супершинглы, состоящие из 14 шинглов – это группы, выделенные для ускорения поисковых и проверочных операций. Применяют и мегашинглы (2×6 супершинглов).

Что такое алгоритм шинглов?

Алгоритм шинглов или метод шинглов – это инструмент сравнения текстов, например, поиска плагиата. Авторов и организаций у модификаций алгоритма шинглов много, причём свои практические приёмы они часто держат втайне как ноу-хау.

В общем случае алгоритм шинглов подразумевает следующий процесс, при участии хеширования:

  1. Канонизация текста – избавление текста от союзов, стоп-слов, знаков препинания, тегов и прочих сопутствующих деталей. Приведение существительных к именительному падежу и единственному числу или удаление приставок и окончаний.
  2. Разбивка на шинглы – выделение словосочетаний путём разделения текста на группы слов равной или различной длины, как правило, перекрывающие друг друга смежными словами (внахлёст, а не встык).
  3. Нахождение контрольных сумм. Чем сложнее алгоритм вычисления (обычно CRC или FCS), тем больше контрольная сумма.
  4. Формирование статистически значимых выборок для сравнения.
  5. Вычисление совпадающих последовательностей и обработка результатов.

Для специфического использования, например, создания систем антиспама, используют более сложные специализированные версии алгоритма.

Понравилась статья? Поделиться с друзьями:

ads