Close Menu
    Telegram
    SEO HARDCORE
    • Разборы патентов
      • Патенты Google
      • Патенты Яндекс
    • Скоро
      SEO инструменты
    • Скоро
      SEO аналитика
    SEO HARDCORE
    Разборы патентов • Патенты Google

    Как Google использует фильтры Блума, чтобы быстро решать, искать ли ответ в базе фактов (Knowledge Graph)

    BLOOM FILTERS FOR QUERY SIMULATION (Фильтры Блума для симуляции запросов)
    • US8239394B1
    • Google LLC
    • 2012-08-07
    • 2005-03-31
    2005 Knowledge Graph Патенты Google

    Google использует фильтры Блума для оптимизации доступа к своей базе фактов (Facts Repository/Knowledge Graph). Система быстро проверяет, содержатся ли термины запроса и потенциальные пары атрибут-значение в базе данных. Это позволяет избежать дорогостоящих операций поиска, если ответ заведомо отсутствует.

    • Описание
    • Детальный разбор
    • Выводы
    • Практика
    • Вопросы и ответы
    • Наверх

    Описание

    Какую задачу решает

    Патент решает проблему неэффективного использования ресурсов при обработке запросов к базе фактов (Facts Repository), например, Knowledge Graph. Доступ к этой базе данных является ресурсоемкой операцией. Изобретение позволяет быстро и с высокой вероятностью определить, что ответа на конкретный запрос в базе фактов нет, и тем самым избежать выполнения дорогостоящей операции доступа. Это оптимизирует распределение ресурсов (CPU, пропускная способность) поисковой системы.

    Что запатентовано

    Запатентована система ограничения доступа к базе данных с использованием фильтров Блума (Bloom Filters). Система симулирует (Query Simulation) операцию поиска в базе данных до ее фактического выполнения. Создаются отдельные фильтры Блума для различных полей базы фактов (например, Имя объекта, Атрибут, Значение). Запрос проверяется по этим фильтрам, и доступ разрешается только в том случае, если фильтры показывают высокую вероятность наличия информации.

    Как это работает

    Система работает как шлюз перед базой фактов:

    • Получение и нормализация: Запрос принимается и нормализуется (удаляются стоп-слова – extraneous terms).
    • Проверка терминов: Все оставшиеся термины проверяются по общему фильтру Блума (Term Bloom Filter). Если хотя бы одного термина нет в базе, процесс останавливается.
    • Парсинг запроса: Запрос разбирается несколькими способами для выявления потенциальных Имен объектов или пар Атрибут-Значение.
    • Проверка полей: Разобранные части проверяются по специализированным фильтрам (Name Bloom Filter, Attribute Bloom Filter, Value Bloom Filter).
    • Принятие решения: Если достигается определенный шаблон успеха (Success Pattern) — например, найдено совпадение в фильтре Имен ИЛИ найдена пара в фильтрах Атрибут+Значение — доступ к Facts Repository разрешается. В противном случае запрос блокируется.

    Актуальность для SEO

    Средняя/Высокая (с точки зрения инфраструктуры). Хотя патент подан в 2005 году, проблема оптимизации доступа к Knowledge Graph остается критически важной из-за его постоянно растущего размера. Фильтры Блума — это стандартный и эффективный инструмент для вероятностной проверки принадлежности элемента к множеству, и принципы, описанные в патенте, скорее всего, продолжают применяться для оптимизации внутренних процессов.

    Важность для SEO

    Минимальное влияние (1/10). Это инфраструктурный патент, описывающий внутреннюю оптимизацию эффективности Google. Он не описывает алгоритмы ранжирования, оценку качества контента или факторы, влияющие на позиции в органическом поиске. Он дает представление о том, как технически обрабатываются фактические запросы (потенциальные Direct Answers), но не предлагает прямых действий для SEO-оптимизации.

    Детальный разбор

    Термины и определения

    Attribute (Атрибут)
    Поле в базе фактов, описывающее характеристику объекта (например, «дата рождения»).
    Bloom Filter (Фильтр Блума)
    Вероятностная структура данных, которая используется для быстрой проверки принадлежности элемента к множеству. Может давать ложноположительные срабатывания, но никогда не дает ложноотрицательных.
    Bloom Filter Array (Массив фильтра Блума)
    Битовый массив, в котором хранятся результаты применения хеш-функций к элементам множества.
    Extraneous Terms (Стоп-слова)
    Общеупотребительные слова (артикли, предлоги), которые удаляются из запроса в процессе нормализации.
    Facts Query (Фактический запрос)
    Запрос, направленный на получение конкретной фактической информации (например, «столица Испании»).
    Facts Repository (База фактов)
    База данных, хранящая фактическую информацию в структурированном виде (например, Knowledge Graph). Состоит из Объектов, Атрибутов и Значений.
    Hashing Function (Хеш-функция)
    Функция, преобразующая входные данные (термин) в числовое значение (хеш), используемое как индекс в массиве фильтра Блума.
    Positive Result (Положительный результат)
    Выход фильтра Блума, указывающий на то, что элемент, вероятно, присутствует в множестве.
    Success Pattern (Шаблон успеха)
    Определенная комбинация положительных результатов от нескольких фильтров Блума, которая служит триггером для разрешения доступа к базе данных.
    Value (Значение)
    Поле в базе фактов, содержащее конкретное значение атрибута (например, «1 января 1980»).

    Ключевые утверждения (Анализ Claims)

    Claim 1 (Независимый пункт): Описывает основной метод ограничения доступа к базе данных.

    1. Применение нескольких фильтров Блума (соответствующих разным полям БД) к терминам в записи (запросе).
    2. Генерация набора выходных данных.
    3. Разрешение операции доступа к БД, если выходные данные соответствуют положительному результату (Positive Result).
    4. Возврат результата, если доступ был разрешен.

    Claim 5 (Зависимый): Детализирует предварительную обработку запроса.

    1. Применение операции нормализации (Normalization) к запросу.
    2. Применение «дополнительного фильтра Блума» (подразумевается Term Bloom Filter) к каждому из нормализованных терминов.
    3. Доступ разрешается, только если этот дополнительный фильтр также дал положительный результат (т.е. все термины присутствуют в базе).

    Claim 8 (Зависимый от 7): Описывает проверку на совпадение с Именем объекта.

    1. Сортировка терминов в запросе (например, по алфавиту).
    2. Применение первого фильтра Блума (подразумевается Name Bloom Filter) к отсортированной строке.
    3. Доступ разрешается, если этот фильтр дал положительный результат.

    Claims 10-11 (Зависимые): Описывают механизм парсинга запроса для выявления пар Атрибут-Значение.

    1. Парсинг терминов запроса несколькими способами для создания нескольких наборов разобранных терминов.
    2. Применение как минимум двух фильтров Блума (например, Attribute Bloom Filter и Value Bloom Filter) к этим наборам.
    3. Доступ разрешается, если результаты соответствуют положительному результату (т.е. найдена вероятная пара Атрибут+Значение).

    Claims 12-15 (Зависимые): Описывают конкретные эвристики парсинга.

    • Claim 12: Первый термин проверяется как Атрибут, отсортированные остальные термины — как Значение.
    • Claim 13: Первые два термина — как Атрибут, остальные — как Значение.
    • Claim 14: Последние два термина — как Атрибут, остальные — как Значение.
    • Claim 15: Последний термин — как Атрибут, остальные — как Значение.

    Во всех случаях доступ разрешается, если оба фильтра (Атрибут и Значение) дают положительный результат.

    Где и как применяется

    Изобретение является частью инфраструктуры обработки фактических запросов и затрагивает следующие этапы:

    QUNDERSTANDING – Понимание Запросов
    На этом этапе система должна классифицировать запрос как потенциальный Facts Query.

    RANKING / METASEARCH (Facts Search Engine Triggering)
    Основное применение патента. Система функционирует как шлюз (gatekeeper) непосредственно перед выполнением поиска в Facts Repository. Она используется для симуляции доступа и принятия решения о целесообразности выполнения ресурсоемкого поиска.

    Взаимодействие компонентов: Система (Facts Query Processing Controller) находится между основным сервером обработки запросов (Query Server) и базой фактов (Facts Repository, Facts Index). Она использует предварительно рассчитанные Bloom Filters для фильтрации запросов.

    Входные данные:

    • Поисковый запрос пользователя.
    • Предварительно созданные массивы фильтров Блума (Term, Name, Attribute, Value), сгенерированные на основе содержимого Facts Repository.

    Выходные данные:

    • Бинарное решение: разрешить или запретить доступ к Facts Repository для данного запроса.

    На что влияет

    • Специфические запросы: Влияет исключительно на обработку информационных запросов, направленных на поиск конкретных фактов (например, «высота Эйфелевой башни», «кто президент Франции»).
    • Типы контента: Влияет на возможность показа блоков с прямыми ответами (Direct Answers) или элементами Knowledge Graph. Не влияет на ранжирование стандартных органических результатов («синих ссылок»).

    Когда применяется

    • Условия работы: Алгоритм активируется, когда основная поисковая система идентифицирует запрос как потенциальный Facts Query.
    • Триггеры активации: Применяется непосредственно перед попыткой доступа к Facts Repository для экономии ресурсов.

    Пошаговый алгоритм

    Процесс симуляции доступа к базе фактов:

    1. Получение запроса: Система получает запрос, классифицированный как Facts Query.
    2. Нормализация: Удаление стоп-слов (Extraneous Terms) из запроса. Если остается только один термин, процесс может быть остановлен.
    3. Проверка терминов (Term Check): Каждый оставшийся термин проверяется с помощью Term Bloom Filter.
      • Если НЕТ (хотя бы один термин отсутствует): Доступ запрещен. СТОП.
      • Если ДА (все термины присутствуют): Перейти к шагу 4.
    4. Проверка Имени (Name Check): Термины запроса сортируются (например, по алфавиту). Полученная строка проверяется с помощью Name Bloom Filter.
      • Если ДА (совпадение найдено): Доступ РАЗРЕШЕН.
    5. Парсинг Атрибут/Значение (A/V Parsing): Запрос разбирается несколькими способами (эвристики из Claims 12-15), формируя кандидатов на пары Атрибут-Значение. Например: (Атрибут=Первое слово; Значение=Остальные слова, отсортированные).
    6. Проверка Атрибут/Значение (A/V Check): Для каждого кандидата Атрибут проверяется по Attribute Bloom Filter, а Значение — по Value Bloom Filter.
    7. Оценка шаблона успеха (Success Pattern Evaluation): Если для какого-либо кандидата оба фильтра (Атрибут И Значение) дают Positive Result.
      • Если ДА: Доступ РАЗРЕШЕН.
    8. Финальное решение: Если доступ был РАЗРЕШЕН на шаге 4 или 7, система выполняет фактический поиск в Facts Repository.

    Какие данные и как использует

    Данные на входе

    Патент фокусируется на инфраструктуре и использует следующие данные:

    • Контентные факторы: Термины, содержащиеся в поисковом запросе.
    • Системные данные: Предварительно рассчитанные Bloom Filter Arrays. Эти массивы генерируются офлайн путем хеширования всего содержимого Facts Repository, включая все Имена, Атрибуты, Значения и все отдельные Термины.

    Какие метрики используются и как они считаются

    • Методы вычислений: Используются Hashing Functions. Фильтр Блума не рассчитывает метрики релевантности или качества; он выполняет проверку принадлежности к множеству.
    • Параметры фильтров: Патент упоминает конкретные параметры реализации:
      • Размер: 2 байта (16 бит) на запись в фильтре.
      • Количество хеш-функций (k): 7.
      • Ожидаемый уровень ложноположительных срабатываний (False Positive Rate): менее 0.08%.
    • Метрики: Выходные данные фильтров являются бинарными (Positive Result или нет).
    • Агрегация данных (Success Patterns): Система использует логические комбинации результатов фильтров для принятия финального решения. Например: (Name_Filter=Positive) ИЛИ ((Attribute_Filter=Positive) И (Value_Filter=Positive)).

    Выводы

    Патент описывает внутренние процессы оптимизации Google без прямых рекомендаций для SEO. Основные выводы для понимания работы поиска:

    1. Эффективность превыше всего: Это чисто технический патент, направленный на повышение эффективности инфраструктуры, а не на улучшение качества ранжирования. Google активно избегает ненужных операций поиска в Knowledge Graph.
    2. Вероятностный подход к доступу: Система использует Bloom Filters для быстрой вероятностной оценки наличия ответа, прежде чем тратить ресурсы на точный поиск.
    3. Жесткая первичная фильтрация: Обязательное требование состоит в том, что все термины запроса (после нормализации) должны существовать в Facts Repository (проверка Term Bloom Filter). Если используется редкое слово, которого нет в базе фактов, запрос сразу отбрасывается.
    4. Эвристики парсинга запросов: Система использует набор предопределенных правил (эвристик) для попытки интерпретации запроса как Имени объекта или пары Атрибут-Значение. Это включает сортировку слов и разбор запроса с начала и с конца.
    5. Подтверждение структуры данных O-A-V: Патент подтверждает, что Google хранит фактические данные в формате Объект-Атрибут-Значение (Object-Attribute-Value) и создает специализированные индексы (и фильтры) для каждого из этих компонентов.

    Практика

    Патент описывает внутренние процессы оптимизации Google без прямых рекомендаций для SEO. Практическое применение ограничено пониманием механики работы фактических запросов.

    Best practices (это мы делаем)

    • Структурирование данных (O-A-V): Понимание того, что Google индексирует информацию в формате Объект-Атрибут-Значение, подчеркивает важность четкого структурирования контента. Используйте микроразметку (Schema.org) и семантическую верстку (таблицы, списки определений) для явного указания сущностей (Объектов) и их характеристик (Атрибутов и Значений). Это помогает системам извлечения фактов (которые наполняют Facts Repository).
    • Четкость формулировок: Поскольку система использует эвристики для парсинга запроса (например, пробуя первое слово как атрибут), полезно убедиться, что ваш контент использует стандартные и четкие названия атрибутов. Это может повысить вероятность того, что извлеченный факт будет соответствовать запросу пользователя.

    Worst practices (это делать не надо)

    • Попытки манипуляции фильтрами: Оптимизировать сайт под фильтры Блума невозможно. Это внутренние структуры данных, отражающие содержимое базы фактов Google.
    • Использование нестандартной терминологии: Использование слишком редких или нестандартных синонимов для обозначения атрибутов может привести к тому, что система парсинга не сможет корректно сопоставить запрос с фактом в базе, даже если он там есть.

    Стратегическое значение

    Стратегическое значение патента для SEO минимально. Он не влияет на стратегии органического продвижения, но полезен для понимания инфраструктуры, лежащей в основе Direct Answers и Knowledge Panels. Патент подтверждает важность перехода к Entity-based SEO: оптимизация под сущности и их свойства является ключом к видимости в блоках с фактической информацией.

    Практические примеры

    Сценарий: Анализ обработки фактического запроса

    Рассмотрим пример из патента: Запрос «Bob Smith date of birth».

    1. Нормализация: Удаляется «of». Запрос: «Bob Smith date birth».
    2. Term Check: Проверяется наличие слов «Bob», «Smith», «date», «birth» в Term Bloom Filter. Предположим, все есть.
    3. Name Check: Сортировка: «birth Bob date Smith». Проверка в Name Bloom Filter. Предположим, результат отрицательный.
    4. A/V Parsing (Эвристика 1): Атрибут=»Bob». Значение=»birth date Smith» (отсортировано). Проверка по фильтрам. Отрицательно.
    5. A/V Parsing (Эвристика из описания): Атрибут=»birth date» (последние два слова). Значение=»Bob Smith» (остальные слова). Проверка по фильтрам. Attribute Bloom Filter для «birth date» = Положительно. Value Bloom Filter для «Bob Smith» = Положительно.
    6. Результат: Success Pattern достигнут. Доступ к Facts Repository разрешен для поиска ответа.

    Вопросы и ответы

    Влияет ли этот патент на органическое ранжирование сайтов?

    Нет. Патент описывает исключительно механизм оптимизации доступа к внутренней базе фактов Google (Facts Repository). Он определяет, будет ли система *пытаться* найти прямой ответ на запрос в этой базе, но не влияет на то, как ранжируются веб-страницы в стандартной выдаче.

    Что такое фильтр Блума и зачем он нужен Google?

    Фильтр Блума — это структура данных, позволяющая быстро и компактно проверить, принадлежит ли элемент к множеству. Google использует его для экономии ресурсов: вместо того чтобы выполнять дорогостоящий поиск в огромной базе Knowledge Graph, система сначала спрашивает у фильтра Блума, есть ли вообще смысл искать этот факт.

    Что этот патент говорит нам о Knowledge Graph?

    Он подтверждает, что Google хранит данные в формате Объект-Атрибут-Значение (O-A-V) и создает отдельные индексы (и фильтры Блума) для каждого компонента. Также он показывает, что Google применяет сложные эвристики для интерпретации запроса и сопоставления его с этой структурой данных.

    Можно ли оптимизировать свой сайт под эти фильтры Блума?

    Нет, напрямую оптимизировать под них нельзя, так как это внутренние структуры данных Google. Однако можно оптимизировать контент так, чтобы Google было легче извлекать из него факты (используя Schema.org, четкую структуру). Чем больше фактов Google извлечет, тем полнее будет Facts Repository, который и формирует эти фильтры.

    Что такое «Term Bloom Filter» и почему он важен?

    Это фильтр, содержащий все отдельные слова, которые встречаются в базе фактов. Он используется для первичной проверки: если хотя бы одного слова из запроса нет в этом фильтре, система сразу понимает, что ответа в базе нет, и прекращает обработку. Это ключевой механизм отсева.

    Зачем система сортирует слова в запросе?

    Система сортирует слова (например, по алфавиту) для создания канонической формы запроса. Эта форма затем проверяется по Name Bloom Filter или Value Bloom Filter, чтобы определить, является ли комбинация слов именем объекта или значением, независимо от порядка слов, введенного пользователем.

    Что такое эвристики парсинга, описанные в патенте?

    Это набор правил, по которым система пытается угадать, какие слова в запросе являются Атрибутом, а какие — Значением. Например, система пробует считать Атрибутом первое слово, затем первые два слова, затем последнее слово, а оставшуюся часть запроса считает Значением.

    Если фильтр Блума дал положительный результат, гарантирует ли это показ прямого ответа (Direct Answer)?

    Нет. Положительный результат лишь *разрешает* системе выполнить фактический поиск в Facts Repository. Поиск все еще может не найти точного ответа (из-за ложноположительного срабатывания фильтра), или система может решить не показывать прямой ответ по другим причинам (например, низкая уверенность в точности).

    Почему этот патент важен, если он не влияет на SEO?

    Он важен для глубокого понимания инфраструктуры Google. Он раскрывает технические детали того, как обрабатываются фактические запросы и как Google оптимизирует нагрузку на свои системы, отвечающие за Knowledge Graph и прямые ответы.

    Используется ли эта система сейчас?

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

    Навигация
    • Описание
    • Детальный разбор
    • Выводы
    • Практика
    • Вопросы и ответы
    • Наверх
    Telegram
    © 2025 SEO HARDCORE

    Type above and press Enter to search. Press Esc to cancel.