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

    Как Google автоматически извлекает структурированные данные (цены, наличие) с меняющихся веб-страниц, используя историю атрибутов

    AUTOMATED DATA EXTRACTION SYSTEM BASED ON HISTORICAL OR RELATED DATA (Автоматизированная система извлечения данных на основе исторических или связанных данных)
    • US20180329873A1
    • Google LLC
    • 2018-11-15
    • 2015-04-08
    2015 Google Shopping Краулинг Патенты Google Техническое SEO

    Google использует систему для автоматического извлечения точных атрибутов (например, цен товаров) из веб-страниц, даже если их дизайн меняется. Система находит известные исторические значения на странице, определяет структурные шаблоны («анкоря») вокруг них и статистически проверяет их точность. Это позволяет Google обновлять данные для Google Shopping и Rich Results без зависимости от микроразметки.

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

    Описание

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

    Патент решает проблему точного и масштабируемого извлечения специфических атрибутов (например, цены, наличия товара, идентификаторов) из структурированных документов (веб-страниц), когда структура (шаблон) этих документов неизвестна, часто меняется или данные, предоставленные поставщиком контента (например, через микроразметку или фиды), могут быть некорректными. Система устраняет необходимость ручной проверки или написания индивидуальных парсеров для каждого сайта, позволяя агрегаторам контента (например, Google Shopping) автоматически получать актуальные данные.

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

    Запатентована система автоматического создания и валидации правил извлечения данных (Wrapper Induction) без предварительного знания структуры документа. Система использует исторические данные (historical attribute data) как обучающий сигнал. Она идентифицирует местоположение этих данных на странице, определяет структурные «анкоря» (Anchors), автоматически оценивает их точность на тестовой выборке и формирует приоритизированные наборы правил (Anchor Sets) для надежного извлечения текущих значений атрибутов.

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

    Ключевой механизм основан на использовании исторических данных для обучения:

    • Обнаружение: Система ищет известное историческое значение (например, старая цена $100 или стабильный идентификатор SKU/GTIN) в текущей версии документа.
    • Определение Анкоря (Anchor): Идентифицируются структурные элементы документа (например, HTML-теги, пути в DOM) вокруг найденного значения. Это формирует Anchor.
    • Валидация и Оценка Точности: Anchor тестируется на наборе документов с известными значениями атрибутов (test set). Рассчитывается показатель точности (accuracy) — как часто анкорь извлекает правильное значение.
    • Фильтрация и Группировка: Низкоточные анкоря отбрасываются. Оставшиеся группируются в наборы (Anchor Sets) для конкретных шаблонов страниц.
    • Приоритизация: Анкоря внутри набора ранжируются по точности.
    • Извлечение: При обработке новых документов система использует приоритизированный Anchor Set для извлечения актуального значения атрибута.

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

    Высокая. Автоматическое, точное и масштабируемое извлечение структурированных данных является критически важной задачей для функционирования Google Shopping, формирования Knowledge Graph и обработки Rich Results. Методы, позволяющие адаптироваться к постоянным изменениям в структуре веб-страниц без участия вебмастеров или полной зависимости от Schema.org, крайне актуальны.

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

    Патент имеет значительное влияние (7/10), особенно для E-commerce и сайтов, полагающихся на вертикальный поиск и расширенные сниппеты. Это механизм извлечения информации (Information Extraction), а не ранжирования. Если система не сможет надежно извлечь ключевые атрибуты (цена, наличие) из-за сложной или нестабильной структуры сайта, ресурс не будет эффективно представлен в соответствующих блоках поисковой выдачи (например, Google Shopping).

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

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

    Anchor (Анкорь)
    Идентифицированный путь в иерархии структуры документа (например, XPath или CSS-селектор), который указывает на местоположение значения атрибута. Формируется на основе структурных элементов (document elements), связанных с этим значением.
    Anchor Set (Набор анкорей)
    Группа Anchors, которые извлекают значения атрибутов из одного и того же шаблона структурированного документа (structured document template).
    Accuracy (Точность анкоря)
    Метрика, определяющая, насколько часто Anchor извлекает корректное значение атрибута. Рассчитывается путем тестирования на выборке документов с известными значениями (test set).
    Accuracy Threshold (Порог точности)
    Минимальное значение точности, необходимое для того, чтобы анкорь считался надежным и был сохранен системой.
    Attribute Value (Значение атрибута)
    Конкретная единица данных, которую необходимо извлечь (например, цена, product identifier, availability).
    Historical Attribute Data (Исторические данные атрибута)
    Известные прошлые значения атрибута. Используются как обучающий сигнал для обнаружения текущего местоположения атрибута на странице.
    Structured Document (Структурированный документ)
    Документ, в котором элементы структуры синтаксически отделимы от данных (например, HTML, XML, PDF, документы Word/Excel).
    Test Set (Тестовая выборка)
    Набор структурированных документов, для которых значения целевых атрибутов заранее известны. Используется для валидации и расчета точности Anchors.

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

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

    1. Система получает структурированный документ.
    2. Идентифицируются вхождения значения атрибута, которые совпадают с известным прошлым значением (known past value).
    3. Для каждого вхождения определяется Anchor (на основе связанных элементов документа).
    4. Валидация: Используя Anchor, система пытается извлечь значение атрибута из тестовой выборки (test set) документов с известными значениями.
    5. Расчет точности (Accuracy): Определяется точность Anchor на основе частоты правильного извлечения из test set. Важное условие: точность определяется только после выполнения предопределенного минимального количества попыток извлечения (predetermined minimum number of extractions).
    6. Фильтрация: Anchor удаляется, если его точность ниже порогового значения (accuracy threshold value).
    7. Группировка: Оставшиеся анкоря группируются в Anchor Set, если они работают с одним и тем же шаблоном документа.
    8. Приоритизация: Генерируются приоритизированные Anchor Sets, где анкоря ранжированы по точности. Этот рейтинг определяет порядок, в котором следует искать значение атрибута в документе.

    Claim 5 (Зависимый от 1): Уточняет процесс оптимизации анкорей. Анкоря, идентифицирующие схожие элементы документа, объединяются в единый Anchor (генерализация правил).

    Claim 7 (Зависимый от 1): Определяет критерии для группировки анкорей в Anchor Set. Анкоря могут быть сгруппированы, если: существует непустой набор документов, из которых каждый анкорь извлекает данные; один анкорь стабильно точнее другого; один анкорь работает там, где другой не извлекает ничего (комплементарность); или анкоря извлекают разные значения из одного документа (например, старая цена и цена со скидкой).

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

    Изобретение применяется в системах обработки и индексирования контента для извлечения структурированных данных.

    CRAWLING – Сканирование и Сбор данных
    На этом этапе система получает «сырые» структурированные документы (например, HTML-код страниц).

    INDEXING – Индексирование и извлечение признаков
    Это основной этап применения патента. Система выполняет две ключевые функции:

    1. Обучение (Learning/Wrapper Induction): Процесс генерации, валидации и приоритизации Anchors. Система анализирует документы, использует Historical Data и Test Sets для создания правил извлечения. Это может быть офлайн или непрерывный процесс.
    2. Извлечение (Feature Extraction): При обработке новых или обновленных документов система применяет уже сформированные приоритизированные Anchor Sets для извлечения актуальных значений атрибутов. Эти данные затем сохраняются в индексе.

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

    • Структурированные документы (HTML, XML, PDF и т.д.).
    • Индекс исторических значений атрибутов (Historical Attribute Data).
    • Тестовые наборы документов с известными значениями (Test Set) для этапа обучения.

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

    • Извлеченные актуальные значения атрибутов (цена, наличие и т.д.).
    • Сформированные и обновленные Anchor Sets с метриками Accuracy.

    На что влияет

    • Конкретные типы контента и ниши: Наибольшее влияние на E-commerce (извлечение цен, наличия, GTIN из каталогов). Также применимо к вакансиям, недвижимости, событиям, характеристикам товаров.
    • Форматы контента: Любые структурированные документы, включая HTML, XML, PDF, электронные таблицы и форматы текстовых редакторов.
    • Технические особенности: Система снижает зависимость Google от микроразметки Schema.org, позволяя извлекать или верифицировать данные напрямую из контента.

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

    • Условия работы: Алгоритм применяется при индексировании или обновлении документов, для которых требуется извлечение специфических атрибутов.
    • Триггеры активации (Обучение): Наличие достаточного объема исторических данных и тестовых выборок. Активируется при обнаружении новых шаблонов или снижении точности существующих Anchors (что указывает на изменение шаблона).
    • Частота применения (Извлечение): Постоянно, при каждом обходе страниц. Патент упоминает интервалы обхода, например, каждые 3, 12 или 24 часа.

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

    Процесс разделен на две фазы: Обучение (создание правил) и Извлечение (применение правил).

    Фаза А: Обучение (Генерация и Валидация Anchors)

    1. Получение данных: Система получает набор структурированных документов и доступ к историческим данным.
    2. Идентификация кандидатов: Поиск в документах вхождений, совпадающих с известными историческими значениями атрибута.
    3. Определение Anchors: Для каждого найденного вхождения определяются структурные элементы (путь в иерархии документа), формируя Anchor.
    4. Слияние и Генерализация: Схожие Anchors объединяются для уменьшения их количества и расширения применимости.
    5. Валидация на Test Set: Каждый Anchor применяется к тестовой выборке документов с известными значениями.
    6. Расчет Точности (Accuracy): Определяется частота корректного извлечения. Условие: расчет производится только после достижения минимального количества попыток (например, 10-1000 экстракций, упомянутых в патенте).
    7. Фильтрация: Анкоря с точностью ниже заданного порога (например, 60%) отбрасываются.
    8. Группировка (Anchor Sets): Анкоря группируются в наборы, если они применяются к одному и тому же шаблону документа.
    9. Приоритизация: Анкоря внутри каждого Anchor Set ранжируются по убыванию точности.

    Фаза Б: Извлечение (Применение Anchors)

    1. Получение нового документа: Система получает новый или обновленный документ (например, при краулинге).
    2. Применение Anchor Set: К документу применяется соответствующий приоритизированный Anchor Set. Поиск начинается с самого точного анкоря.
    3. Извлечение значения: Извлекается текущее значение атрибута.
    4. Сравнение и Обновление: Извлеченное значение сравнивается с последним известным значением в индексе. Если значение изменилось, индекс обновляется.

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

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

    Система использует следующие типы данных:

    • Структурные факторы: Иерархия и элементы документа (Document Elements) — теги, заголовки, пути (XPath/CSS). Эти данные являются основой для формирования Anchors.
    • Исторические данные: Известные прошлые значения атрибутов (Historical Attribute Data). Это критически важный входной сигнал для обучения системы.
    • Контентные факторы: Текстовое содержимое документов, которое анализируется на предмет наличия исторических значений.
    • Технические факторы: Тип структурированного документа (HTML, XML, PDF и т.д.).

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

    • Accuracy (Точность анкоря): Основная метрика качества анкоря. Рассчитывается как частота корректного извлечения значения из Test Set. Формула: (Количество правильных извлечений) / (Общее количество попыток извлечения).
    • Minimum Number of Extractions (Минимальное количество попыток): Пороговое значение для валидации точности. Точность считается надежной только после достижения этого порога. В патенте упоминаются примеры от 10 до 1000 попыток.
    • Accuracy Threshold (Порог точности): Минимально допустимая точность для сохранения Anchor. Анкоря ниже этого порога отбрасываются. В патенте упоминаются примеры от 20% до 95%, в одном из вариантов — 60%.

    Выводы

    1. Автоматизация извлечения данных (Wrapper Induction): Патент описывает сложную систему для автоматического создания правил парсинга без ручного вмешательства и без необходимости знания структуры сайта. Это позволяет Google масштабировать извлечение данных на миллионы сайтов.
    2. Устойчивость к изменениям шаблонов: Система разработана для адаптации к изменениям в дизайне и структуре сайтов. За счет постоянного переобучения на исторических данных и валидации точности Anchors, система может обнаруживать новые структурные паттерны и отбрасывать устаревшие.
    3. Исторические данные как источник истины: Ключевая особенность — использование прошлых значений атрибутов в качестве обучающего сигнала (supervision) для поиска их текущего местоположения. Стабильные атрибуты (например, GTIN) особенно ценны для этого процесса.
    4. Строгий контроль качества (Precision over Recall): Система применяет строгие методы валидации: обязательное тестирование на Test Set, требование минимального количества попыток и использование Accuracy Thresholds. Это указывает на приоритет точности (Precision) извлеченных данных.
    5. Важность структурной консистентности для SEO: Хотя система адаптивна, ее эффективность напрямую зависит от способности находить надежные Anchors. Сайты с консистентной и чистой структурой обеспечивают более быстрое и точное извлечение данных.

    Практика

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

    • Поддерживать консистентность структуры шаблонов: Обеспечьте максимальную согласованность HTML-структуры для однотипных страниц (например, карточек товаров). Чем стабильнее структура вокруг ключевых атрибутов (цена, наличие), тем легче системе сформировать надежные и долгоживущие Anchors.
    • Использовать чистый и семантический HTML: Применяйте понятную иерархию и семантические теги для ключевых данных. Это помогает системе идентифицировать значимые Document Elements и повышает точность извлечения.
    • Использование стабильных идентификаторов (GTIN, SKU): Наличие уникальных и стабильных идентификаторов продуктов на странице крайне важно. Они служат надежными историческими данными, которые система может использовать для идентификации Anchors и последующего извлечения других, более изменчивых атрибутов (таких как цена), даже если сама цена изменилась.
    • Обеспечение согласованности данных (Data Consistency): Гарантируйте соответствие между видимым контентом, разметкой Schema.org и фидами. Описанная система позволяет Google верифицировать данные и выявлять расхождения (например, Price Mismatch).
    • Мониторинг извлечения данных: Регулярно проверяйте, как Google извлекает данные с вашего сайта (например, в отчетах Google Merchant Center). Ошибки могут указывать на то, что система Anchors не смогла адаптироваться к изменениям на сайте.

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

    • Частое изменение фундаментальной структуры страниц: Радикальные изменения HTML-каркаса при редизайне или агрессивное A/B-тестирование структуры (не только стилей) могут временно «сломать» существующие Anchors Google, пока система не переобучится.
    • Использование обфусцированных или случайных CSS-классов/ID: Применение динамически генерируемых или неинформативных идентификаторов (например, некоторые реализации CSS-in-JS без статических имен) для элементов, содержащих ключевые атрибуты, затрудняет формирование стабильных Anchors.
    • Неконсистентное представление данных: Размещение одного и того же атрибута в разных структурных блоках на разных страницах одного типа заставляет систему создавать и поддерживать множество разных Anchors, снижая общую надежность.
    • Чрезмерное усложнение отображения атрибутов: Загрузка цены через многоуровневые асинхронные запросы без SSR или использование сложных скриптов может затруднить идентификацию надежных Anchors в отрендеренном DOM.

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

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

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

    Сценарий: Редизайн сайта E-commerce и влияние на Google Shopping

    1. Ситуация: Интернет-магазин проводит полный редизайн карточек товаров, изменяя HTML-структуру. Старая структура цены была <div class=»price-main»>$100</div>, новая стала <span id=»p-val»>$105</span>. Цена изменилась.
    2. Действие системы Google: При следующем обходе система пытается использовать существующий Anchor (нацеленный на div.price-main). Извлечение не удается.
    3. Краткосрочный результат: В Google Shopping могут временно отображаться устаревшие данные или товар может исчезнуть из-за невозможности верифицировать цену.
    4. Активация переобучения: Система запускает Фазу А (Обучение). Поскольку цена изменилась ($100 -> $105), она не может использовать старую цену как исторический анкорь. Вместо этого она использует другие стабильные атрибуты, например, GTIN или SKU товара, которые не изменились.
    5. Формирование нового Anchor: Система находит GTIN в новом шаблоне, определяет его структурный путь, а затем ищет связанные атрибуты (цену) относительно этого пути или в рамках общего шаблона страницы товара. Создается новый Anchor для цены (нацеленный на span#p-val).
    6. Восстановление: После успешной валидации и достижения порога точности новый Anchor активируется, и система корректно извлекает актуальную цену ($105). Время восстановления зависит от частоты краулинга и скорости набора статистики для валидации.

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

    Означает ли этот патент, что микроразметка (Schema.org) больше не нужна?

    Нет. Микроразметка остается лучшим способом явно предоставить Google структурированные данные. Описанная система является для Google альтернативным или верифицирующим механизмом. Она позволяет извлекать данные с сайтов, где разметки нет, или проверять корректность данных, предоставленных через разметку или фиды. Использование Schema.org страхует вас от возможных сбоев автоматического извлечения.

    Как этот механизм влияет на A/B-тестирование дизайна страниц?

    A/B-тестирование стилей (CSS) или текстов безопасно. Однако, если вы тестируете радикальные изменения HTML-структуры вокруг ключевых атрибутов, это может повлиять на стабильность извлечения данных. Система Anchors может воспринять разные варианты как разные шаблоны или снизить точность основного Anchor. Рекомендуется проводить такое тестирование осторожно и мониторить точность извлечения данных.

    Что такое «Исторические данные» (Historical Data) и откуда Google их берет?

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

    Почему система использует приоритизированные наборы анкорей (Anchor Sets)?

    Шаблон страницы может содержать несколько мест, где упоминается значение атрибута. Anchor Set содержит правила для этих мест, ранжированные по точности (Accuracy). Система сначала пытается использовать самый надежный (точный) анкорь, обеспечивая максимальное качество извлеченных данных.

    Как быстро система адаптируется к редизайну сайта?

    Патент не указывает точное время, но описывает процесс валидации. Система должна сформировать новый Anchor и проверить его, достигнув «минимального количества попыток извлечения» (до 1000 попыток по тексту патента) и порога точности (например, 60%). Скорость адаптации зависит от частоты краулинга и скорости накопления этой статистики. Это может занять от нескольких часов до нескольких дней.

    Может ли эта система извлечь цену, которая генерируется JavaScript?

    Да, если Google рендерит страницу. Патент оперирует понятием «структурированный документ» и «элементы документа», что соответствует DOM-дереву после рендеринга. Если JavaScript формирует структуру и вставляет значение, система сможет создать Anchor для этой структуры в отрендеренной версии.

    Что делать, если Google извлекает неправильные данные (например, старую цену вместо акционной)?

    Это означает, что Anchor, указывающий на старую цену, имеет более высокий рейтинг точности (Accuracy). Необходимо сделать акционную цену структурно более заметной и консистентной. Также убедитесь, что акционная цена корректно размечена с помощью Schema.org (Offer), чтобы предоставить явный сигнал.

    Влияет ли использование динамических CSS-классов (например, в CSS-in-JS) на работу системы?

    Да, это может негативно повлиять. Если классы или ID элементов постоянно меняются (обфускация, случайные имена), системе сложнее сформировать стабильный Anchor, основанный на этих элементах. Она будет вынуждена полагаться на более общие структурные пути (иерархию тегов), которые могут быть менее точными.

    Как система отличает цену от других числовых данных на странице (например, артикула)?

    Система использует исторические данные о ценах. Она ищет именно те числа, которые ранее были ценами. На этапе валидации Anchor проверяется на тестовой выборке: если анкорь стабильно извлекает правильную цену, он сохраняется. Если он часто извлекает другие данные, его точность для атрибута «цена» будет низкой, и он будет отброшен.

    На каких типах документов работает эта система?

    Патент указывает, что система работает с любыми «структурированными документами», где структура отделима от данных. В первую очередь это HTML и XML, но также упоминаются форматы word processing (Google Docs, Word), spreadsheets (Excel, Google Sheets) и PDF.

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

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