Яндекс патентует метод автоматического создания тезауруса путем анализа контекста, в котором встречаются слова и фразы в больших массивах текста. Система определяет семантические связи (синонимы, антонимы, гиперонимы) на основе схожести их окружения и частоты совместного употребления в предложениях. Созданный тезаурус используется для модификации и расширения поисковых запросов.
Описание
Какую задачу решает
Патент решает задачу автоматического построения семантической базы данных (тезауруса) без дорогостоящей ручной разметки. Это позволяет поисковой системе понимать сложные отношения между словами и фразами (лексическими единицами) — синонимию, антонимию, иерархию (общее/частное, целое/часть). Цель — улучшить качество поиска за счет Query Expansion и Query Modification, чтобы находить релевантные документы, даже если в них используются термины, отличные от запроса пользователя (например, поиск по «Японский гастропаб», когда на страницах используется «izakaya»).
Что запатентовано
Запатентован метод автоматического генерирования цифрового тезауруса на основе анализа корпуса текстов. Суть изобретения заключается в применении принципов дистрибутивной семантики с конкретным набором правил для классификации типа семантической связи. Система формализует контекст термина через Context Parameter и использует комбинацию метрик — схожесть контекстов (Similarity), включение контекстов (Inclusion) и совместную встречаемость терминов в предложении (Co-occurrence) — для определения типа связи.
Как это работает
Система анализирует текст и определяет лексические единицы (слова/фразы). Для каждой единицы изучается N соседних слов (Sequential Units) во всех случаях ее употребления. На основе этого создается Context Parameter — профиль типичного окружения единицы. Затем система сравнивает профили двух разных единиц. Например, если профили очень похожи (высокий Similarity Parameter), но сами единицы редко встречаются в одном предложении (низкий Co-occurrence Parameter), они классифицируются как синонимы. Если профили похожи и единицы часто встречаются вместе, они классифицируются как антонимы. Если профиль одной единицы включен в профиль другой (высокий Inclusion Parameter), определяется иерархическая связь.
Актуальность для SEO
Высокая. Понимание семантических отношений между терминами является фундаментом современного поиска и NLP. Автоматическое построение тезаурусов и графов знаний на основе корпусов текстов (используя дистрибутивную семантику) — стандартная практика. Хотя современные нейросетевые модели (эмбеддинги) могут использовать более сложные представления контекста, логика различения синонимов, антонимов и иерархий, описанная в патенте, остается крайне актуальной.
Важность для SEO
Влияние на SEO критическое (9/10). Патент описывает фундаментальный механизм, с помощью которого Яндекс строит свое понимание языка и связей между концепциями, и подтверждает, что эти данные используются для модификации поисковых запросов. Это напрямую влияет на то, как широко или узко Яндекс интерпретирует значение слов на странице и в запросе. Понимание этого механизма необходимо для построения эффективной контент-стратегии, основанной на семантической широте и контекстуальной точности.
Детальный разбор
Термины и определения
- Context Parameter (Параметр Контекста)
- Векторное представление контекста лексической единицы. Включает список окружающих ее последовательных единиц (Sequential Units) и частоту совместной встречаемости каждой из них с данной лексической единицей.
- Co-occurrence Parameter (Параметр Совместной Встречаемости)
- Метрика, указывающая на частоту, с которой две анализируемые лексические единицы встречаются вместе в рамках одного предложения в анализируемом тексте.
- Inclusion Parameter (Параметр Включения)
- Асимметричная метрика, показывающая степень включения контекста одной лексической единицы в контекст другой. Используется для определения иерархических связей (гиперним/гипоним, холоним/мероним).
- Lexical Unit (Лексическая Единица)
- Базовый элемент анализа. Может быть отдельным словом (с «логическим значением», т.е. существительное, глагол и т.д.) или фразой (устойчивым словосочетанием).
- Lexical Unit Relation Parameter (Параметр Отношения Лексических Единиц)
- Итоговый результат анализа, указывающий на тип семантической связи (например, синоним, антоним, иерархия).
- Semantic Link (Семантическая Связь)
- Отношение между лексическими единицами. Делится на неиерархические (синонимы, антонимы, ассоциации) и иерархические (гиперним-гипоним, холоним-мероним).
- Sequential Units (Последовательные Единицы)
- Контекстное окно. N-ное количество единиц (слов или фраз), которые непосредственно предшествуют и/или следуют за анализируемой лексической единицей в тексте.
- Similarity Parameter (Параметр Схожести)
- Метрика, указывающая на степень схожести между двумя параметрами контекста.
Ключевые утверждения (Анализ Claims)
Патент описывает систему автоматического построения тезауруса, основанную на дистрибутивной семантике и наборе эвристических правил с пороговыми значениями (Thresholds) для классификации семантических связей.
Claim 1 (Независимый пункт): Описывает основной процесс и логику классификации неиерархических связей.
- Система получает цифровой текст (состоящий из предложений) и парсит его, определяя первую (LU1) и вторую (LU2) лексические единицы.
- Для LU1 и LU2 генерируются Параметры Контекста (CP1 и CP2) на основе анализа соседних единиц (Sequential Units) и частоты их совместной встречаемости.
- Определяется Параметр Отношения путем выполнения двух анализов:
- Вычисление Параметров Включения (Inclusion Parameters — IP): IP1 (CP1 в CP2) и IP2 (CP2 в CP1).
- Вычисление Параметра Схожести (Similarity Parameter — SP) между CP1 и CP2.
- Вычисление Параметра Совместной Встречаемости (Co-occurrence Parameter — CoP) – частоты появления LU1 и LU2 в одном предложении.
- Логика Классификации (Ключевой элемент Claim 1): Если оба Параметра Включения (IP1 и IP2) НИЖЕ Порога 1 (т.е. связь неиерархическая), то отношение определяется как:
- Синонимичное: Если SP ВЫСОКИЙ (выше Порога 2) И CoP НИЗКИЙ (ниже Порога 3). (Схожий контекст, но редко используются вместе).
- Антонимичное: Если SP ВЫСОКИЙ (выше Порога 4) И CoP ВЫСОКИЙ (выше Порога 5). (Схожий контекст и часто используются вместе, например, для контраста).
- Ассоциативная связь: Если SP НИЖЕ (ниже Порога 6).
- Результат сохраняется в базе данных семантических отношений.
A. Interrelation Analysis (Анализ взаимосвязи контекстов):
B. Analysis of Entry Co-occurrence (Анализ совместной встречаемости):
Claim 7 (Зависимый от 1): Описывает логику классификации иерархических связей.
- Если один из Параметров Включения (IP1 или IP2) выше порогового значения (т.е. контекст одной единицы значительно шире и включает контекст другой), отношение классифицируется как гипероним-гипоним (например, животное-собака).
Claim 8 и 9 (Зависимые): Описывают логику определения отношений часть-целое (холоним-мероним) с привлечением третьей лексической единицы (LU3).
- Если контексты двух единиц (LU1, LU2) включены в контекст третьей (LU3), И при этом LU1 и LU2 НЕ похожи друг на друга (Схожесть ниже порога), то это отношение холоним-мероним. (Например, «крыло» и «двигатель» включены в «самолет», но «крыло» и «двигатель» не похожи).
Где и как применяется
Патент описывает инфраструктурный процесс, который происходит офлайн, но результаты его работы напрямую влияют на онлайн-обработку запросов.
Офлайн-процессы (Построение Тезауруса)
CRAWLING & INDEXING (Обработка данных): Система использует большой корпус текстов (например, проиндексированные веб-ресурсы) в качестве входных данных. Происходит лингвистический анализ: парсинг, токенизация, определение грамматических типов, лемматизация (упомянута в Claim 4) и идентификация лексических единиц (слов и фраз). Компонент Text Processing Application выполняет основную работу по расчету параметров и классификации связей. Результаты сохраняются в Semantic Relationship Database (Цифровой Тезаурус).
Онлайн-процессы (Применение Тезауруса)
Патент явно указывает (Description, Col 21-22), что сгенерированный тезаурус используется поисковым сервером для модификации входящих запросов.
QUERY PROCESSING – Понимание Запросов: При получении запроса сервер обращается к тезаурусу.
- Query Modification/Expansion: Система генерирует измененные запросы (altered queries), используя синонимы, гиперонимы или ассоциативные связи из тезауруса для расширения поиска и увеличения полноты выдачи.
RANKING – Ранжирование: Тезаурус используется для оценки релевантности документа расширенному запросу. Патент также упоминает, что идентификация антонимов может использоваться для фильтрации или ранжирования результатов.
На что влияет
- Все типы контента и запросов: Механизм является фундаментальным для понимания языка и влияет на обработку всех типов текстового контента и запросов.
- Полнота и Точность Поиска: Улучшает полноту (Recall) за счет синонимов и гиперонимов, и может улучшать точность (Precision) за счет понимания антонимов и ассоциаций.
- Языковые ограничения: Метод является языконезависимым (может применяться к любому языку), хотя предобработка (например, лемматизация, определение фраз) может требовать языкоспецифичных правил (в описании упоминаются примеры для русского и английского).
Когда применяется
Генерация тезауруса применяется периодически в офлайн-режиме по мере обновления корпуса текстов. Применение тезауруса (модификация запроса) активируется при обработке поискового запроса пользователя онлайн.
Пошаговый алгоритм
Этап 1: Подготовка данных и извлечение контекста
- Сбор данных: Получение корпуса цифровых текстов.
- Парсинг и Лингвистический Анализ: Разбиение текста на предложения. Токенизация, определение грамматических типов, лемматизация.
- Определение Лексических Единиц (LU): Идентификация значимых слов (имеющих «логическое значение») и фраз (на основе частоты или синтаксических правил).
- Извлечение Окружения: Для каждого вхождения LU определяется N смежных последовательных единиц (Sequential Units) в предложении.
- Генерация Параметра Контекста (CP): Для каждой LU создается профиль (CP), содержащий список всех ее Sequential Units и частоту их совместной встречаемости с LU.
Этап 2: Анализ отношений между парой единиц (L1 и L2)
- Расчет Параметра Совместной Встречаемости (Co-occurrence — CoP): Вычисление частоты появления L1 и L2 в одном предложении.
- Расчет Параметра Схожести (Similarity — SP): Сравнение CP1 и CP2 для определения схожести контекстов (например, используя коэффициент Серенсена-Дайса или корреляцию Спирмена-Кендалла).
- Расчет Параметров Включения (Inclusion — IP): Определение степени включения CP1 в CP2 (IP1) и CP2 в CP1 (IP2).
Этап 3: Определение типа семантической связи (Применение правил и порогов)
- Проверка на Иерархию:
- Если IP1 ИЛИ IP2 ВЫШЕ Порога: Связь определяется как Иерархическая (Гиперним-Гипоним). (Далее могут применяться правила для Холоним-Мероним с участием третьей LU).
- Проверка на Неиерархическую связь: Если оба IP НИЖЕ Порога:
- Если SP ВЫСОКИЙ:
- Если CoP НИЗКИЙ: Связь Синонимичная.
- Если CoP ВЫСОКИЙ: Связь Антонимичная.
- Если SP СРЕДНИЙ/НИЗКИЙ: Связь Ассоциативная или Отсутствует.
- Если SP ВЫСОКИЙ:
Этап 4: Сохранение
- Запись в Тезаурус: Сохранение пары (L1, L2) и определенного типа связи в Semantic Relationship Database.
Какие данные и как использует
Данные на входе
- Контентные факторы:
- Текст документа: Основной источник данных. Анализируется порядок слов и фраз.
- Грамматические типы (Части речи): Используются для идентификации лексических единиц (например, существительных, глаголов) и для фильтрации незначимых слов (предлогов, союзов) при определении фраз и контекста.
- Структурные факторы:
- Границы предложений: Критически важны, так как совместная встречаемость (Co-occurrence Parameter) и часто контекст (Sequential Units) определяются в рамках одного предложения.
Какие метрики используются и как они считаются
- Frequency of Co-occurrence (Частота Совместной Встречаемости в Контексте): Подсчет количества раз, когда определенная Sequential Unit появляется рядом с анализируемой Lexical Unit. Основа для Context Parameter.
- Co-occurrence Parameter (CoP): Подсчет частоты появления двух анализируемых Lexical Units в одном предложении.
- Similarity Parameter (SP): Рассчитывается путем сравнения двух Context Parameters. В Description упоминаются конкретные методы расчета:
- Коэффициент Серенсена-Дайса (Sorensen-Dice coefficient) — для сравнения схожести наборов Sequential Units.
- Коэффициент ранговой корреляции Спирмена-Кендалла (Spearman-Kendall rank correlation coefficient) — для сравнения схожести частот.
- Inclusion Parameter (IP): Рассчитывается путем определения количества Sequential Units одного контекста, которые включены в другой контекст.
- Пороговые значения (Thresholds): Система использует множество предопределенных (эмпирически установленных) порогов (Thresholds 1-9 упомянуты в Claims) для принятия решений о типе связи на основе рассчитанных метрик.
- Лемматизация: Патент (Claim 4) упоминает лемматизацию лексических единиц и слов текста перед определением частоты совместной встречаемости для нормализации данных.
Выводы
- Контекст определяет семантику (Дистрибутивная семантика): Яндекс использует анализ окружения термина (Context Parameter) для автоматического понимания его значения и связей. Слова со схожим окружением считаются семантически близкими.
- Четкие правила для различения синонимов и антонимов: Ключевой механизм патента — использование Co-occurrence Parameter. Синонимы имеют схожий контекст, но редко встречаются вместе в предложении. Антонимы имеют схожий контекст и часто встречаются вместе (для контраста).
- Иерархии определяются через включение контекстов: Иерархические отношения (гиперним-гипоним) определяются, если контекст одного термина является подмножеством контекста другого (высокий Inclusion Parameter).
- Прямое применение для модификации запросов: Сгенерированный тезаурус активно используется для расширения (Query Expansion) и модификации поисковых запросов пользователя в реальном времени.
- Важность структуры предложения: Алгоритм сильно зависит от корректного определения границ предложений для расчета ключевых метрик (контекста и совместной встречаемости).
Практика
Best practices (это мы делаем)
- Использование естественного синонимического ряда: Активно используйте синонимы в контенте, но делайте это естественно. Так как система ищет синонимы для расширения запроса, это повышает релевантность. Важно: используйте синонимы в схожих контекстах, но преимущественно в разных предложениях, чтобы поддерживать низкий Co-occurrence Parameter.
- Формирование четкого контекста (Contextual Signals): Убедитесь, что ключевые термины окружены релевантными QBST фразами (Sequential Units). Это формирует четкий Context Parameter, позволяя системе правильно определить семантику термина и его связи с другими понятиями в тезаурусе.
- Структурирование иерархии контента (Гиперонимы и Гипонимы): При создании контента явно прорабатывайте иерархию понятий. Убедитесь, что контекст более узких терминов (гипонимов) естественно включается в контекст более общих терминов (гиперонимов). Это поможет системе рассчитать Inclusion Parameter и подтверждает важность построения Topical Authority.
- Использование антонимов для сравнений и обзоров: Используйте антонимы и противопоставления в контенте. Патент подтверждает, что система распознает антонимы, когда они встречаются в схожем контексте и часто в рамках одних и тех же предложений (высокий Co-occurrence). Это может улучшить ранжирование по запросам, подразумевающим сравнение.
- Четкая структура предложений: Пишите грамматически корректно. Алгоритм опирается на границы предложений для расчета ключевых метрик.
Worst practices (это делать не надо)
- Перечисление синонимов в одном предложении (Keyword/Synonym Stuffing): Перечисление синонимов через запятую в одном предложении искусственно увеличивает Co-occurrence Parameter. Согласно логике патента, это может привести к тому, что система классифицирует эти термины как антонимы или ассоциации, а не как синонимы.
- Неоднозначный или размытый контекст: Использование ключевых слов в несвойственном им окружении или в слишком общем контексте приведет к формированию неточного Context Parameter и неправильной интерпретации семантики термина системой.
- Игнорирование структуры предложений: Создание контента в виде длинных списков или набора фраз без четких границ предложений затрудняет работу алгоритма, основанного на анализе контекста внутри предложения.
Стратегическое значение
Патент подтверждает стратегический курс Яндекса на семантический поиск и автоматизированное понимание языка. Он демонстрирует конкретный механизм, лежащий в основе Query Expansion. Для SEO это подчеркивает важность работы не с отдельными ключевыми словами, а с семантическими кластерами и темами. Стратегия должна фокусироваться на создании контента, который предоставляет четкие контекстуальные сигналы и охватывает весь спектр семантических отношений (синонимы, иерархии, ассоциации) в рамках выбранной ниши.
Практические примеры
Сценарий 1: Оптимизация под синонимы (Автомобиль vs Машина)
- Цель: Убедиться, что Яндекс считает «автомобиль» и «машина» синонимами.
- Действие (Правильно): Использовать оба термина в схожих контекстах (например, связанных с покупкой, характеристиками), но в разных предложениях.
Пример: «При выборе нового автомобиля важно учитывать расход топлива. Также эта машина отличается высоким уровнем безопасности.» (Низкий Co-occurrence). - Действие (Неправильно): «Мы продаем автомобили и машины недорого.» (Высокий Co-occurrence).
Сценарий 2: Построение иерархии (Гиперонимия)
- Цель: Показать Яндексу, что «кроссовки» и «кеды» являются типами «спортивной обуви».
- Действие: Создать текст, где контекст «спортивной обуви» (L1) шире и включает контексты «кроссовок» (L2) и «кед» (L3).
- Реализация: «Выбор спортивной обуви (L1) зависит от активности. Беговые кроссовки (L2) должны иметь амортизацию… Кеды (L3) для скейтбординга требуют плоской подошвы… Вся наша спортивная обувь (L1) отличается качеством.» (Система увидит, что Inclusion Parameter для L2 в L1 и L3 в L1 высок).
Вопросы и ответы
В чем суть этого патента Яндекса?
Патент описывает автоматизированную систему для построения тезауруса — базы данных, хранящей отношения между словами и фразами (синонимы, антонимы, иерархии). Система определяет эти отношения на основе того, насколько похожи контексты (окружающие слова), в которых эти термины употребляются, и как часто они встречаются вместе в одном предложении. Это делается без ручного труда лингвистов.
Как система отличает синонимы от антонимов, если они используются в похожих контекстах?
Ключевое различие заключается в частоте их совместного употребления в одном предложении (Co-occurrence Parameter). И синонимы, и антонимы имеют схожие контексты (высокий Similarity Parameter). Однако синонимы редко используются вместе, так как они взаимозаменяемы (низкий Co-occurrence). Антонимы же часто используются вместе для сравнения или контраста (высокий Co-occurrence).
Как это влияет на использование синонимов в SEO-текстах?
Это критически важно. Если вы перечисляете синонимы через запятую в одном предложении, вы искусственно увеличиваете их Co-occurrence Parameter. Это может помешать системе распознать их как синонимы и даже привести к ошибочной классификации их как антонимов. Синонимы следует использовать естественно, распределяя их по тексту в схожих контекстах, но в разных предложениях.
Что такое «Параметр Включения» (Inclusion Parameter) и как он работает?
Параметр Включения показывает, насколько контекст одного термина включен в контекст другого. Если он высок, система определяет иерархическую связь (Гиперним-Гипоним). Например, контекст слова «лабрадор» будет подмножеством контекста слова «собака». Это позволяет Яндексу понимать структуру темы и определять Topical Authority.
Как именно Яндекс использует этот сгенерированный тезаурус в поиске?
Патент явно указывает, что тезаурус используется для модификации и расширения поисковых запросов (Query Expansion). Система может автоматически добавлять синонимы или более общие термины (гиперонимы) к запросу пользователя для увеличения полноты выдачи и поиска документов, релевантных по смыслу, даже если в них нет точных слов из запроса.
Насколько важна грамматика и структура предложений для этого алгоритма?
Критически важна. Алгоритм полагается на точное определение границ предложений для двух целей: 1) Ограничения контекста (N смежных слов) и 2) Расчета Co-occurrence Parameter (встречаемость именно внутри одного предложения). Грамматически некорректные тексты могут нарушить работу алгоритма.
Работает ли этот алгоритм только для отдельных слов или для фраз тоже?
Он работает как для слов, так и для фраз. В патенте используется термин «Lexical Unit» (Лексическая единица), который явно определяется как слово или группа из двух или более слов (фраза). Система умеет идентифицировать устойчивые словосочетания и анализировать их контекст как единое целое.
Использует ли этот алгоритм нейросети или эмбеддинги типа BERT/YATI?
Патент описывает классический подход к дистрибутивной семантике, основанный на подсчете частот совместной встречаемости и применении жестких правил с пороговыми значениями (Thresholds). Он не упоминает нейросетевые эмбеддинги. Хотя современные системы Яндекса используют YATI, данный патент фокусируется на статистическом методе генерации тезауруса.
Что такое отношения «холоним-мероним» и как они определяются?
Это отношения типа «Целое-Часть» (например, «Автомобиль» – холоним, «Двигатель» – мероним). Согласно патенту, они определяются, когда контексты двух разных частей (меронимов) включены в контекст целого (холонима), но при этом контексты самих частей не похожи друг на друга. Например, «двигатель» и «колесо» часто упоминаются в контексте «автомобиля», но сами по себе имеют разный контекст.
Является ли генерация тезауруса real-time процессом?
Нет. Генерация тезауруса — это ресурсоемкий офлайн-процесс анализа большого корпуса текстов. Затем, уже в режиме реального времени (онлайн), при обработке запроса пользователя, поисковая система обращается к этому готовому тезаурусу для его модификации и ранжирования.