Яндекс патентует метод обучения системы исправления опечаток (Spell Correction). Система автоматически генерирует «реалистичные опечатки» для обучения, учитывая как частоту буквосочетаний в языке, так и физическое расстояние между клавишами на клавиатуре. Затем модель машинного обучения (MLA) валидирует исправления, используя внешние сигналы: частоту слов в URL, на веб-страницах и историю кликов пользователей по подсказкам «Возможно, вы искали…».
Описание
Какую задачу решает
Патент решает задачу повышения точности исправления опечаток в поисковых запросах. Он предлагает унифицированный подход к обработке ошибок, возникающих по разным причинам: неточный ввод (нажатие соседних клавиш, особенно на мобильных устройствах) и использование неправильной раскладки клавиатуры. Ключевая техническая проблема, которую решает изобретение, — это автоматизация создания большого и качественного набора обучающих данных («реалистичных опечаток») для модели машинного обучения без необходимости дорогостоящей ручной разметки.
Что запатентовано
Запатентован метод и система для обучения Machine Learning Algorithm (MLA), предназначенного для коррекции ошибок ввода. Суть изобретения заключается в способе автоматической генерации обучающих данных: «реалистичных опечаток» (Positive Reformulated Words) и «нереалистичных опечаток» (Negative Reformulated Words). Реалистичность определяется путем комбинирования лингвистической вероятности (частота последовательности символов в корпусе текстов) и физической вероятности ошибки (расстояние между клавишами на клавиатуре).
Как это работает
Система работает в двух фазах. На фазе обучения она берет слово из корпуса текстов (например, логов запросов) и генерирует варианты написания с помощью итеративного поиска (Beam Search). На каждом шаге рассчитывается Candidate Score Value, который комбинирует Co-occurrence Score (лингвистическая частотность) и Penalty Score (штраф за физическое расстояние между клавишами). Варианты с высоким скором помечаются как позитивные примеры, с низким — как негативные. Затем MLA обучается на этих парах (опечатка, оригинал), используя внешние признаки для валидации: встречаемость слов в URL (URL feature), в контенте веб-страниц (Word presence feature) и историю кликов пользователей по исправлениям в SERP (User-click feature). На фазе применения система использует обученный MLA для ранжирования кандидатов на исправление введенного пользователем запроса.
Актуальность для SEO
Высокая. Точное исправление опечаток и ошибок раскладки остается критически важной задачей для всех современных поисковых систем, особенно с учетом роста мобильного трафика. Описанные методы автоматической генерации обучающих выборок и использования поведенческих данных для валидации моделей машинного обучения крайне актуальны.
Важность для SEO
Влияние на SEO среднее (7/10). Хотя патент описывает инфраструктуру понимания запросов (Query Processing), а не ранжирования, он имеет важное значение для SEO. Он раскрывает конкретные сигналы, которые Яндекс использует для определения канонического (правильного) написания слов: поведение пользователей, частотность в URL и частотность в веб-контенте. Понимание этих механизмов критично при работе с новыми брендами, терминами или сайтами с нестандартным написанием, так как система может пытаться «исправить» их, если они не имеют достаточного подтверждения в индексе и поведении пользователей.
Детальный разбор
Термины и определения
- Candidate Score Value (Оценка кандидата)
- Метрика, оценивающая вероятность того, что данный символ является следующим символом после заданного префикса. Рассчитывается как комбинация Co-occurrence Score и Penalty Score.
- Co-occurrence Score Value (Оценка совместной встречаемости)
- Лингвистическая вероятность. Оценка того, насколько часто данный символ следует за заданным префиксом в корпусе текстов (например, в логах поисковых запросов).
- Corpus of Text (Корпус текстов)
- Набор текстовых данных, используемый для анализа частотности. В патенте используются ранее отправленные поисковые запросы, хранящиеся в Search Log Database.
- MLA (Machine Learning Algorithm / Алгоритм машинного обучения)
- Модель, которая обучается на сгенерированных данных для ранжирования кандидатов на исправление опечатки. Она использует внешние признаки для оценки качества исправления.
- Negative Reformulated Word (Негативное переформулированное слово)
- Искусственно сгенерированный вариант слова, имеющий низкий Candidate Score Value. Представляет собой нереалистичную опечатку.
- Penalty Score Value (Штрафная оценка)
- Физическая вероятность ошибки. Оценка, основанная на расстоянии между клавишей с правильным символом и клавишей с символом-кандидатом на стандартной раскладке клавиатуры (default keyboard layout). Чем дальше клавиши, тем выше штраф.
- Positive Reformulated Word (Позитивное переформулированное слово)
- Искусственно сгенерированный вариант слова, имеющий высокий Candidate Score Value. Представляет собой реалистичную опечатку (вероятную ошибку пользователя).
- Training Pair (Обучающая пара)
- Пара слов (Переформулированное слово, Исходное слово) с меткой (Label Value), используемая для обучения MLA.
- Features (Признаки для MLA)
- Характеристики обучающих пар, используемые MLA для ранжирования. Включают URL Feature, Word Presence Feature, User-Click Feature.
Ключевые утверждения (Анализ Claims)
Патент защищает два основных процесса: метод генерации обучающих данных и тренировки модели (Training Phase) и метод применения этой модели (In-use Phase).
Claim 1 (Независимый пункт): Описывает процесс генерации обучающих данных и тренировки MLA.
- Система берет исходное слово из корпуса текстов.
- Для префикса длины N выбираются символы-кандидаты для позиции N+1.
- Ключевой элемент: Расчет Candidate Score Value. Этот расчет включает:
- Определение Co-occurrence score (лингвистическая вероятность на основе корпуса).
- Определение Penalty score (физическая вероятность). Это делается путем определения местоположения клавиши для символа-кандидата и клавиши для истинного символа N+1 на стандартной клавиатуре, расчета расстояния между ними и назначения штрафа на основе этого расстояния.
- Корректировка Co-occurrence score с помощью Penalty score.
- Выбирается Первое подмножество (Top кандидаты с высоким скором) и Второе подмножество (остальные кандидаты).
- Генерируются Positive Reformulated Words (используя первое подмножество) и Negative Reformulated Words (используя второе подмножество). Они формируют обучающие пары с исходным словом и помечаются соответствующими метками.
- Обучение MLA: Для каждой пары определяются признаки (set of features), и MLA учится ранжировать пары на основе этих признаков.
Claim 8 (Независимый пункт): Описывает процесс применения системы (In-use Phase) для исправления введенного пользователем текста.
- Система получает текстовую фразу (запрос).
- Для слова из фразы генерируются кандидаты на исправление. Это включает расчет Candidate Score Value (комбинация Co-occurrence и Penalty Score, как в Claim 1).
- Выбирается заданное число лучших кандидатов (Candidate Words).
- Формируются пары: (Исходное слово, Кандидат на исправление).
- Для каждой пары определяются признаки (set of features).
- MLA ранжирует эти пары для определения наилучшего исправления.
- Генерируется модифицированная текстовая фраза, в которой исходное слово заменено лучшим кандидатом.
Claim 6 и Claim 11 (Зависимые пункты): Определяют, какие именно признаки (set of features) используются MLA для ранжирования. Это критически важные пункты для SEO.
- URL feature: Присутствие слов из пары в URL-адресах, хранящихся в базе краулера.
- Word presence feature: Присутствие слов из пары в контенте веб-ресурсов.
- User-click feature: Частота, с которой пользователи выбирали одно слово в качестве предложенного исправления (Suggested Search Query) в ответ на ввод другого слова из пары.
Где и как применяется
Изобретение применяется на этапе предобработки запроса, до основного этапа ранжирования.
QUERY PROCESSING – Понимание Запросов
Это основной слой применения патента. Когда пользователь вводит запрос, система исправления опечаток (Error Correction Application) активируется.
- Генерация кандидатов: Система генерирует возможные варианты исправления для слов в запросе, используя описанный механизм (Beam Search) с учетом лингвистических и физических вероятностей.
- Ранжирование кандидатов (MLA): Обученный MLA оценивает каждую пару (исходное слово, кандидат) на основе внешних признаков (URL, контент, поведение пользователей).
- Реформирование запроса: Исходный запрос может быть переписан с использованием наилучшего кандидата. Система может либо автоматически выполнить поиск по исправленному запросу, либо предложить его пользователю в качестве подсказки (Claim 15).
Офлайн-процессы (INDEXING / CRAWLING / Data Acquisition)
Значительная часть работы происходит офлайн и зависит от данных, собранных на других этапах:
- Сбор и обработка Corpus of Text (логи запросов) для расчета Co-occurrence scores.
- Сбор данных из Crawler Database (URL и контент) и Search Log Database (клики по исправлениям) для расчета признаков MLA.
- Генерация обучающих данных (Positive/Negative Reformulated Words) и обучение MLA.
На что влияет
- Специфические запросы: Наибольшее влияние оказывается на запросы, содержащие опечатки из-за близости клавиш или введенные в неверной раскладке.
- Новые термины и бренды: Система может оказывать негативное влияние на запросы, содержащие новые, редкие или нестандартно написанные слова (например, новые бренды), пытаясь «исправить» их на более частотные слова, если новые термины не имеют достаточного подтверждения в индексе (URL/Word Presence Features) и поведении пользователей (User-Click Feature).
- Типы устройств: Механизм учета физического расстояния между клавишами (Penalty Score) особенно важен для обработки запросов с мобильных устройств.
Когда применяется
Алгоритм применяется при обработке входящих поисковых запросов (In-use phase). Он может активироваться для каждого слова в запросе или только для слов, которые не найдены в словаре (как указано в описании патента).
Пошаговый алгоритм
Алгоритм состоит из двух основных фаз.
Фаза 1: Обучение (Training Phase)
Этап 1.1: Генерация обучающих данных
- Выбор слова: Из корпуса текстов (Search Logs) выбирается исходное слово (например, «apple»).
- Итеративное построение дерева (Beam Search):
- Выбирается префикс (например, «ap»). Определяются возможные следующие символы.
- Для каждого кандидата рассчитывается Candidate Score Value:
- Расчет Co-occurrence Score: Как часто кандидат следует за префиксом в логах.
- Расчет Penalty Score: Оценка расстояния на клавиатуре между клавишей кандидата и клавишей фактического следующего символа («p»).
- Корректировка: Candidate Score = Co-occurrence Score — Penalty Score (упрощенно).
- Выбор Топ-K кандидатов с наивысшей оценкой для продолжения ветви дерева (Первое подмножество). Остальные отбрасываются (Второе подмножество).
- Повторение процесса до достижения полной длины слова.
- Создание выборки:
- Генерация Positive Reformulated Words (реалистичные опечатки) из Топ-К путей.
- Генерация Negative Reformulated Words (нереалистичные опечатки) из отброшенных кандидатов.
- Формирование пар: Создаются Training Pairs (Реформулировка, Исходное слово) и присваиваются метки (Положительная/Отрицательная).
Этап 1.2: Обучение MLA
- Извлечение признаков: Для каждой обучающей пары вычисляется набор признаков (URL feature, Word presence feature, User-click feature).
- Обучение модели: MLA обучается предсказывать метку пары на основе признаков. Цель — научиться ранжировать пары так, чтобы правильные исправления были выше.
Фаза 2: Применение (In-use Phase)
- Получение запроса: Система получает запрос от пользователя (например, «appoe»).
- Генерация кандидатов: Для слова из запроса генерируется набор кандидатов на исправление с использованием механизма, аналогичного Этапу 1.1 (например, «apple», «apolo»).
- Формирование пар: Создаются пары (Кандидат, Исходное слово), например («apple», «appoe»).
- Извлечение признаков: Для каждой пары вычисляются признаки (URL, Word presence, User-click).
- Ранжирование MLA: Обученный MLA ранжирует пары кандидатов.
- Выбор и Модификация: Выбирается кандидат из пары с наивысшим рангом (например, «apple»). Исходное слово заменяется, и запрос отправляется в поиск или предлагается пользователю.
Какие данные и как использует
Данные на входе
Система использует разные данные для генерации кандидатов и для ранжирования MLA.
Для генерации кандидатов (Training и In-use фазы):
- Контентные/Лингвистические факторы: Тексты ранее выполненных поисковых запросов (Corpus of Text из Search Log Database). Используются для расчета Co-occurrence Score.
- Системные/Технические данные: Данные о стандартных раскладках клавиатуры (Default keyboard layout) и физическом расположении клавиш. Используются для расчета Penalty Score.
Для обучения и ранжирования MLA:
- Поведенческие факторы: История взаимодействий пользователей с SERP, в частности, клики по предложенным исправлениям запроса (User-click feature).
- Технические факторы (URL): URL-адреса из Crawler Database (URL feature).
- Контентные факторы: Контент веб-страниц из Crawler Database (Word presence feature).
Какие метрики используются и как они считаются
- Candidate Score Value: Комбинированная метрика для генерации кандидатов. Рассчитывается путем корректировки Co-occurrence Score Value с помощью Penalty Score Value.
- Co-occurrence Score Value: Рассчитывается как частота, с которой символ-кандидат следует за заданным префиксом в корпусе текстов.
- Penalty Score Value: Рассчитывается на основе физического расстояния между двумя клавишами на клавиатуре. Если символ отсутствует на стандартной раскладке, может назначаться константное значение штрафа.
- Признаки MLA (URL feature, Word presence feature, User-click feature): Рассчитываются как частоты встречаемости слов из пары в соответствующих источниках (URL, контент, логи кликов по исправлениям).
Выводы
- Автоматизация обучения Spell Correction: Основная ценность патента — в методе автоматической генерации реалистичных обучающих данных для системы исправления опечаток, что позволяет обучать сложные ML-модели без ручной разметки.
- Гибридная модель ошибок: Яндекс моделирует вероятность ошибки, учитывая как лингвистические факторы (частотность буквосочетаний в запросах), так и физические факторы (расположение клавиш). Это позволяет единой модели эффективно исправлять и опечатки (typos), и ошибки раскладки.
- Источники истины для валидации слов: Патент четко определяет три ключевых источника данных, которые MLA использует для валидации правильности написания слов и качества исправления:
- Встречаемость в URL-адресах (URL Feature).
- Встречаемость в контенте веб-страниц (Word Presence Feature).
- Поведение пользователей — клики по подсказкам «Возможно, вы искали…» (User-Click Feature).
- Риски для новых и нестандартных терминов: Если слово (например, новый бренд) редко встречается в индексе Яндекса и не имеет накопленной истории поведения пользователей, система с большей вероятностью может посчитать его опечаткой и попытаться «исправить» на более частотное слово.
Практика
Best practices (это мы делаем)
Выводы для SEO основаны на признаках, используемых MLA для валидации правильности слов:
- Оптимизация URL-адресов (URL Feature): Используйте корректно написанные, читаемые слова в ЧПУ. Это подтверждает, что Яндекс анализирует URL как надежный источник для определения правильности написания слов. Это критически важно для названий брендов, моделей и ключевых терминов.
- Насыщение авторитетных источников (Word Presence Feature): Обеспечивайте правильное написание терминов и брендов в основном контенте страниц и на внешних авторитетных площадках (например, Википедия, СМИ). Частота употребления слова на авторитетных ресурсах помогает системе валидировать его написание и не считать опечаткой.
- Мониторинг интерпретации брендовых запросов: Отслеживайте, не пытается ли Яндекс «исправить» ваше корректно написанное название бренда или термин. Если система предлагает исправление, это сигнал о том, что она не уверена в валидности исходного написания и требуется усиление сигналов (URL, Контент).
Worst practices (это делать не надо)
- Использование «оптимизированных» опечаток (Misspelling SEO): Стратегия намеренного использования опечаток в контенте или URL в надежде собрать трафик по ошибочным запросам неэффективна. Система активно учится исправлять такие запросы, опираясь на авторитетные источники и поведение пользователей.
- Нечитаемые или переоптимизированные URL: Использование URL, состоящих из идентификаторов или нестандартной транслитерации, не дает системе надежных сигналов для URL feature.
- Использование нестандартного написания без поддержки: Попытка продвижения слов с намеренно искаженным написанием (например, для креативного брендинга) может столкнуться с противодействием этой системы, если такое написание не закреплено в авторитетных источниках.
Стратегическое значение
Патент подтверждает стратегию Яндекса на глубокое понимание запросов с учетом многофакторного анализа. Он показывает, как данные всего веба (URL и контент) и поведение пользователей используются в качестве эталона языковой нормы уже на этапе обработки запроса. Долгосрочная SEO стратегия должна строиться на создании сильного, корректно написанного присутствия в сети, чтобы минимизировать риск неправильной интерпретации ключевых запросов, связанных с сайтом.
Практические примеры
Сценарий: Запуск нового бренда с редким названием и валидация его написания
Компания выводит на рынок новый бренд с необычным написанием, например, «Kryptex». Яндекс может изначально пытаться исправить его на более частотные «Cortex» или «Crypto».
- Задача SEO: Научить MLA Яндекса, что «Kryptex» — это не опечатка, минимизировав риск неправильного исправления запроса.
- Действия (основанные на признаках MLA):
- Усиление URL feature: Зарегистрировать домен kryptex.ru. Создать структуру сайта с URL вида kryptex.ru/about. Обеспечить быструю индексацию этих URL.
- Усиление Word presence feature: Разместить пресс-релизы и статьи на авторитетных ресурсах (СМИ, Википедия, отраслевые блоги), где многократно употребляется правильное написание «Kryptex».
- Формирование User-click feature (Косвенное влияние): Запустить рекламную кампанию для генерации брендового трафика. Когда пользователи вводят «Kryptex» и не кликают на предложенные исправления (или система перестает их предлагать), MLA получает сигнал о корректности слова.
- Ожидаемый результат: По мере накопления данных по этим трем признакам, MLA перестанет классифицировать «Kryptex» как опечатку и будет корректно обрабатывать запросы с этим брендом.
Вопросы и ответы
В чем основная новизна этого патента по сравнению со стандартными спеллчекерами?
Основная новизна заключается в методе автоматической генерации обучающей выборки «реалистичных опечаток» и в обучении единой модели для исправления разных типов ошибок (физические опечатки и ошибки раскладки). Система генерирует реалистичные ошибки, комбинируя статистику языка (Co-occurrence Score) с эвристиками физического расположения клавиш (Penalty Score). Это позволяет обучить MLA без дорогостоящей ручной разметки данных.
Какие признаки использует MLA для определения правильности слова? Это важно для SEO?
Да, это ключевой момент для SEO. Патент явно указывает три основных признака: URL feature (присутствие слова в URL-адресах), Word presence feature (присутствие слова в контенте веб-страниц, особенно авторитетных) и User-click feature (история кликов пользователей по предложенным исправлениям). Это означает, что Яндекс валидирует легитимность слова, проверяя, насколько широко оно используется в интернете и как его воспринимают пользователи.
Как рассчитывается Penalty Score и зачем он нужен?
Penalty Score (Штрафная оценка) рассчитывается на основе физического расстояния между клавишами на стандартной клавиатуре. Он нужен для того, чтобы снизить вес тех вариантов написания, которые статистически возможны, но маловероятны как физическая опечатка. Например, если клавиши расположены далеко друг от друга, штраф будет выше, что делает этот вариант менее «реалистичной опечаткой».
Может ли эта система навредить моему сайту, если у меня новый бренд с необычным названием?
Да, существует такой риск. Если название вашего бренда новое или редкое, у него будут низкие показатели URL feature и Word presence feature (оно редко встречается в индексе). Система может посчитать его опечаткой и попытаться исправить на более популярное слово. Для минимизации риска необходимо активно работать над присутствием бренда на авторитетных ресурсах и использовать корректное написание в URL.
Что такое Positive и Negative Reformulated Words?
Это искусственно сгенерированные данные для обучения MLA. Positive Reformulated Words — это варианты слова, которые система считает «реалистичными опечатками» (сгенерированы на основе высоких Candidate Score). Negative Reformulated Words — это маловероятные, нереалистичные опечатки. Они позволяют модели научиться отличать правдоподобные ошибки от случайного набора букв.
Влияет ли этот патент на ранжирование документов?
Прямого влияния на формулу ранжирования патент не оказывает. Он описывает этап предварительной обработки запроса (Query Processing). Однако косвенное влияние значительно: если запрос пользователя будет некорректно исправлен (или, наоборот, корректно исправлен), то ранжирование будет происходить по другому запросу, что может кардинально изменить выдачу и трафик на ваш сайт.
Стоит ли мне оптимизировать страницы под запросы с опечатками (Misspelling SEO)?
В большинстве случаев это неэффективно. Современные поисковые системы, благодаря системам, подобным описанной в патенте, хорошо справляются с исправлением опечаток автоматически. Система стремится привести запрос к каноническому виду. Фокусироваться стоит на создании качественного контента под правильные запросы.
Как наличие слова в Википедии влияет на эту систему?
В описании патента упоминается, что Word presence feature может рассчитываться на основе присутствия слова в авторитетных веб-ресурсах, таких как Wikipedia. Если слово присутствует в Википедии или других крупных авторитетных источниках, это значительно увеличивает его валидность в глазах системы и снижает вероятность того, что оно будет воспринято как опечатка.
Использует ли система данные о раскладке клавиатуры пользователя в реальном времени?
Патент этого не предполагает. Система использует предопределенную «стандартную раскладку клавиатуры» (Default Keyboard Layout) для расчета Penalty Score на этапе обучения и генерации кандидатов. Она не знает, какую именно раскладку использовал конкретный пользователь в момент ввода запроса, а опирается на статистические и эвристические модели.
Что подразумевается под User-click feature в контексте обучения?
Это данные из логов поиска, которые показывают, как часто пользователи, введя слово А (опечатку), кликали на предложенное системой исправление Б (например, в блоке «Возможно, вы искали…»). Если такие клики часты, это сильный сигнал для MLA, что Б действительно является коррекцией А. Этот поведенческий сигнал помогает модели валидировать связь между опечаткой и правильным словом.