В обработке естественного языка (NLP) и информационном поиске, “шингл” (от англ. shingle) – это последовательность токенов (обычно слов), идущих подряд друг за другом в тексте. Количество токенов в одном шингле называется его размером.
Например, из предложения “Я люблю читать книги по вечерам” можно извлечь следующие шинглы размера 2 (биграммы):
Сравнение текстов. Шинглы позволяют определить степень схожести двух текстов. Чем больше одинаковых шинглов в двух текстах, тем больше вероятность, что они похожи по смыслу. Это используется, например, в системах антиплагиата.
Извлечение ключевых слов. Анализируя частоту встречаемости шинглов в тексте, можно выделить наиболее важные понятия и темы, которые он затрагивает.
Машинный перевод. Шинглы могут использоваться как базовые единицы перевода, что позволяет учитывать контекст и порядок слов при переводе фраз и предложений.
В зависимости от задачи, размер шингла может варьироваться. Например, для определения схожести коротких текстов могут использоваться шинглы размера 2-3, а для анализа больших документов – шинглы большего размера.
Использование шинглов – это один из многих подходов к анализу текста. В зависимости от конкретной задачи могут применяться и другие методы, например, лемматизация, стемминг, синтаксический анализ и т.д.
Как поисковые системы разделяют контент на шинглы
Поисковые системы используют пробелы и знаки препинания как естественные разделители для создания шинглов из текста.
Например, из фразы “красный вкусный арбуз” могут быть созданы следующие шинглы:
Важно отметить, что поисковые системы не просто механически разбивают текст на шинглы. Алгоритмы учитывают множество факторов для определения наиболее значимых шинглов, которые лучше всего отражают смысл текста.
Вот несколько дополнительных моментов, которые учитываются при разделении шинглов:
Стоп-слова (некоторые часто встречающиеся слова, такие как “и”, “или”, “но”) могут быть исключены из шинглов, так как они не несут существенной смысловой нагрузки.
Стемминг. Слова с разными окончаниями могут быть приведены к их основе (например, “играть”, “играет”, “играют” -> “игра”). Это позволяет сократить количество уникальных шинглов и улучшить поиск по словоформам.
Взвешивание. Не все шинглы одинаково важны. Алгоритмы ранжирования присваивают больший вес шинглам, которые встречаются чаще в релевантных документах и реже в нерелевантных.
Разделение текста на шинглы учитывает множество факторов для обеспечения точности и релевантности поиска.
С каким размером шингла работают поисковые алгоритмы
К сожалению, поисковые системы не разглашают точный размер шингла, используемый в его поисковом алгоритме. Более того, маловероятно, что используются фиксированные размеры шингла для всех случаев.
Скорее всего, поисковики применяет динамический подход, выбирая оптимальный размер шингла в зависимости от различных факторов:
Длина и сложность запроса. Для коротких запросов могут использоваться более короткие шинглы (например, биграммы или триграммы), в то время как для длинных и специфичных запросов могут применяться более длинные шинглы, чтобы точнее определить контекст и намерение пользователя.
Тематика: в зависимости от области знаний, к которой относится запрос, Google может отдавать предпочтение шинглам разного размера. Например, для технических запросов могут использоваться более длинные шинглы, включающие специализированные термины.
Язык запроса. Размер шингла может варьироваться в зависимости от морфологии и синтаксиса языка. Например, для языков с более сложной морфологией, таких как русский, могут использоваться более короткие шинглы.
Важно понимать, что алгоритм Google постоянно развивается и совершенствуется, поэтому точная информация о размере шингла и других параметрах алгоритма недоступна публично.