Google использует модель идентификации вакансий для преодоления ограничений поиска по ключевым словам в сфере трудоустройства. Система обучается на основе таксономии профессий, генерируя векторы для вакансий с использованием специализированных весовых коэффициентов (Inverse Occupation Frequency и Occupation Derivative). Это позволяет системе понимать, что запросы вроде «Patent Guru» соответствуют профессии «Патентный поверенный», и возвращать релевантные вакансии, даже если ключевые слова не совпадают.
Описание
Какую задачу решает
Патент решает проблему ограничений традиционного поиска по ключевым словам в контексте поиска работы (Job Search). Проблема заключается в том, что работодатели часто используют разную терминологию и уникальные названия для одной и той же профессии (например, «Software Guru», «Software Ninja» и «Software Engineer»). Поиск, основанный только на совпадении ключевых слов, не сможет найти релевантные вакансии, если термины в запросе не совпадают с терминами в названии вакансии. Изобретение улучшает качество поиска работы, позволяя системе идентифицировать релевантные вакансии независимо от конкретных ключевых слов.
Что запатентовано
Запатентована система (Job Identification Model), которая использует машинное обучение и обработку естественного языка для классификации названий вакансий и поисковых запросов в соответствии со стандартизированной таксономией профессий (Occupation Taxonomy). Суть изобретения заключается в методе генерации векторов (Occupation Vectors и Query Vectors) с использованием специфических весовых коэффициентов, таких как Inverse Occupation Frequency (обратная частота по профессиям) и Occupation Derivative (производная по профессиям). Эти векторы используются для определения наиболее подходящей профессии для запроса, что позволяет извлекать релевантные вакансии, проиндексированные по этой профессии.
Как это работает
Система работает в два этапа: обучение и выполнение.
Обучение (Офлайн):
- Система определяет словарь векторов и таксономию профессий.
- Собираются размеченные обучающие данные (название вакансии + соответствующая профессия).
- Названия вакансий нормализуются (удаляется шум: зарплата, локация и т.д.).
- Для каждого элемента генерируется Occupation Vector с использованием специализированных весовых коэффициентов (Inverse Occupation Frequency и Occupation Derivative).
- Эти векторы связываются с соответствующими профессиями в таксономии.
Выполнение (Онлайн):
- Система получает поисковый запрос о работе.
- Запрос нормализуется и преобразуется в Query Vector.
- Similarity Engine сравнивает Query Vector с Occupation Vectors в таксономии и рассчитывает Confidence Scores (оценки уверенности) для каждой профессии.
- Выбирается профессия с наивысшей оценкой уверенности.
- Система извлекает вакансии, связанные с этой профессией, из индекса вакансий (Job Posting Index) и предоставляет их пользователю.
Актуальность для SEO
Высокая. Патент описывает фундаментальные механизмы, лежащие в основе специализированных вертикальных поисковых систем, таких как Google Jobs. Понимание того, как система классифицирует вакансии и интерпретирует запросы за пределами простого совпадения ключевых слов, критически важно для оптимизации контента в этой вертикали. Методы векторизации и классификации на основе таксономии являются стандартом в современном поиске информации.
Важность для SEO
Влияние на SEO для вертикали поиска работы (Google Jobs) является критическим (8/10). Патент демонстрирует, что релевантность в поиске работы определяется не совпадением ключевых слов, а тем, насколько точно система классифицирует вакансию или запрос в рамках своей Occupation Taxonomy. Для SEO-специалистов, работающих с сайтами вакансий или корпоративными разделами карьеры, понимание этого механизма определяет стратегию создания и оптимизации контента. Успех зависит от того, насколько четко контент вакансии сигнализирует о принадлежности к определенной профессии в таксономии Google.
Детальный разбор
Термины и определения
- Confidence Score (Оценка уверенности)
- Метрика, рассчитываемая Similarity Engine, которая указывает на вероятность того, что Query Vector правильно классифицирован в рамках определенной профессии в таксономии.
- Inverse Occupation Frequency (IDF) (Обратная частота по профессиям)
- Весовой коэффициент, основанный на количестве профессий в таксономии, в которых присутствует данный термин. Отражает, насколько специфичен термин для конкретной профессии.
- Job Identification Model (Модель идентификации вакансий)
- Основная система, описанная в патенте, которая классифицирует запросы и вакансии для улучшения поиска работы.
- Job Posting Index (Индекс вакансий)
- База данных, которая индексирует известные вакансии на основе типа профессии, используя Occupation Taxonomy.
- Occupation Derivative (DD) (Производная по профессиям)
- Весовой коэффициент, основанный на плотности термина по всем профессиям в таксономии. Отражает, насколько сильно термин может дифференцировать (различать) профессии.
- Occupation Taxonomy (Таксономия профессий)
- Структурированный список предопределенных профессий и соответствующих им кодов (Occupation Codes). Используется для классификации обучающих данных и поисковых запросов.
- Occupation Vector (Вектор профессии)
- Числовое представление размеченного обучающего элемента (например, названия вакансии), сгенерированное с использованием специализированных весовых коэффициентов (IDF, DD). Используется для обучения модели.
- Query Vector (Вектор запроса)
- Числовое представление поискового запроса пользователя, сгенерированное тем же методом, что и Occupation Vector.
- Similarity Engine (Механизм оценки схожести)
- Компонент системы, который сравнивает Query Vector с Occupation Vectors в таксономии для расчета Confidence Scores.
- Term Frequency (TF) (Частота термина)
- Весовой коэффициент, основанный на количестве появлений термина в названии вакансии.
- Text Normalization Unit (Блок нормализации текста)
- Компонент, отвечающий за очистку и стандартизацию названий вакансий и запросов. Удаляет шум, такой как информация о зарплате, графике работы, локации, названии компании и т.д.
- Vector Vocabulary (Словарь векторов)
- Набор терминов (униграммы, биграммы и т.д.), используемых для генерации векторов. Определяется во время обучения и фиксируется для использования в продакшене.
Ключевые утверждения (Анализ Claims)
Claim 1 (Независимый пункт): Описывает полный цикл работы системы для поиска работы.
- Определение словаря векторов и таксономии профессий.
- Получение размеченных обучающих данных (Название вакансии + Профессия).
- Генерация Occupation Vector для каждого элемента. Ключевой момент: весовой коэффициент (feature weight) рассчитывается на основе двух значений: (i) Inverse Occupation Frequency (IDF) и (ii) Occupation Derivative (DD).
- Ассоциация каждого Occupation Vector с профессией в таксономии (обучение).
- Получение поискового запроса.
- Генерация Query Vector (первого вектора) на основе запроса.
- Расчет Confidence Score для каждой профессии в таксономии, указывающего, насколько вектор запроса соответствует профессии.
- Выбор профессии с наивысшим Confidence Score.
- Получение вакансий, используя выбранную профессию.
- Предоставление результатов поиска.
Ядро изобретения заключается в использовании комбинации IDF и DD для взвешивания признаков при генерации векторов в контексте классификации коротких текстов (вакансий).
Claim 4 (Зависимый от 1): Уточняет формулу расчета весового коэффициента.
Весовой коэффициент основан на сумме (i) значения, представляющего Inverse Occupation Frequency, и (ii) одной трети значения, представляющего Occupation Derivative.
Формула расчета веса признака: . Это конкретная реализация, направленная на оптимизацию классификации коротких текстов вакансий.
Где и как применяется
Этот патент описывает архитектуру специализированной поисковой системы (вертикального поиска), конкретно предназначенной для поиска работы. Он затрагивает несколько этапов стандартной архитектуры поиска.
CRAWLING – Сканирование и Сбор данных
Система собирает данные о вакансиях (Job Posting Data) из множества источников в интернете.
INDEXING – Индексирование и извлечение признаков
Этот этап критически важен и делится на две части: Обучение модели и Индексирование вакансий.
Обучение (Офлайн):
- Сбор и разметка: Получение обучающих данных (labeled training data items) и их хранение в Text Corpus.
- Нормализация: Обработка названий вакансий с помощью Text Normalization Unit для удаления шума.
- Генерация признаков и векторов: Vector Generation Unit создает Occupation Vectors, используя словарь и специфические веса (IDF+DD/3).
- Обучение таксономии: Векторы ассоциируются с профессиями в Occupation Taxonomy.
Индексирование (Офлайн/Около-реалтайм):
Новые вакансии обрабатываются, классифицируются с использованием обученной модели и сохраняются в Job Posting Index, организованном по профессиям.
QUNDERSTANDING – Понимание Запросов
Основное применение патента в реальном времени.
- Нормализация запроса: Входящий запрос обрабатывается Text Normalization Unit.
- Генерация вектора запроса: Vector Generation Unit создает Query Vector.
- Классификация запроса: Similarity Engine использует Query Vector и обученную Occupation Taxonomy для определения наиболее вероятной профессии (Occupation) и расчета Confidence Score.
RANKING – Ранжирование (Отбор кандидатов)
На этом этапе система использует результат этапа QUNDERSTANDING (выбранную профессию) для быстрого отбора кандидатов из Job Posting Index. Это заменяет традиционный поиск по ключевым словам.
Входные данные:
- Обучающие данные (Названия вакансий, Коды профессий).
- Поисковый запрос пользователя.
- Сырые данные о вакансиях из интернета.
Выходные данные:
- Обученная Occupation Taxonomy с ассоциированными Occupation Vectors.
- Классификация запроса (Выбранная профессия).
- Набор релевантных вакансий.
На что влияет
- Конкретные типы контента: Влияет исключительно на контент, связанный с трудоустройством: вакансии (Job Postings), резюме (упоминаются как возможный источник обучающих данных) и поисковые запросы о работе.
- Специфические запросы: Наибольшее влияние оказывается на запросы, где используется нестандартная, креативная или неоднозначная терминология для описания должностей (например, «Гуру», «Ниндзя», «Самурай» в названиях).
- Конкретные ниши или тематики: Влияет на все ниши в контексте поиска работы.
Когда применяется
- Триггеры активации: Алгоритм активируется при получении поискового запроса, который система идентифицирует как запрос о поиске работы (Job Search Query).
- Временные рамки: Обучение модели происходит офлайн периодически. Классификация запросов и извлечение вакансий происходит в реальном времени при каждом запросе.
Пошаговый алгоритм
Процесс А: Обучение модели (Training Phase — Офлайн)
- Определение словаря и таксономии: Определяется Vector Vocabulary (на основе корпуса текстов) и Occupation Taxonomy (список профессий).
- Сбор данных: Получение размеченных обучающих данных (labeled training data), где каждая запись содержит название вакансии и код профессии.
- Нормализация текста: Text Normalization Unit обрабатывает названия вакансий. Удаляется информация о зарплате, графике, локации, компании, знаки препинания, числа и т.д.
- Генерация векторов профессий: Vector Generation Unit создает Occupation Vector для каждой записи.
- Рассчитывается Inverse Occupation Frequency (IDF) для каждого термина.
- Рассчитывается Occupation Derivative (DD) для каждого термина.
- Вес признака (Feature Weight) вычисляется по формуле (например, IDF + DD/3).
- Ассоциация и обучение: Каждый Occupation Vector связывается с соответствующим кодом профессии в Occupation Taxonomy.
Процесс Б: Обработка запроса (Execution Phase — Онлайн)
- Получение запроса: Система получает запрос о работе от пользователя.
- Нормализация запроса: Запрос обрабатывается Text Normalization Unit.
- Генерация вектора запроса: Vector Generation Unit создает Query Vector, используя тот же словарь и методы взвешивания, что и при обучении.
- Расчет схожести и уверенности: Similarity Engine сравнивает Query Vector с Occupation Vectors в таксономии. Для каждой профессии рассчитывается Confidence Score (например, на основе векторного расстояния).
- Выбор профессии: Выбирается профессия с наивысшим Confidence Score (или несколько, если они превышают порог).
- Извлечение вакансий: Система запрашивает Job Posting Index, используя выбранную профессию, для получения релевантных вакансий.
- Предоставление результатов: Полученные вакансии предоставляются пользователю в виде результатов поиска.
Какие данные и как использует
Данные на входе
Патент фокусируется на обработке текстовых данных, связанных с вакансиями.
- Контентные факторы: Ключевыми данными являются названия вакансий (Job Titles) из обучающих данных и текст поискового запроса (Search Query). В патенте также упоминается, что обучающие данные могут включать описания работы из резюме.
- Структурные данные (Разметка): Используются метки профессий (Occupation Codes), присвоенные обучающим данным вручную или автоматически.
Какие метрики используются и как они считаются
Система использует несколько ключевых метрик для генерации векторов и классификации.
1. Term Frequency (TF)
- Описание: Частота появления термина в названии вакансии.
- Расчет: Количество вхождений термина W в текст.
2. Inverse Occupation Frequency (IDF)
- Описание: Метрика, показывающая, насколько специфичен термин для профессии.
- Расчет: Логарифм отношения общего числа профессий (D) к числу профессий, в которых встречается термин (df). .
3. Occupation Derivative (DD)
- Описание: Метрика, показывающая, насколько хорошо термин различает профессии.
- Расчет: Анализируется плотность термина (DS) в каждой профессии (отношение числа примеров с термином к общему числу примеров в профессии). Плотности сортируются по убыванию. DD определяется как наибольшая разница между соседними значениями плотности.
4. Feature Weight (Вес признака)
- Описание: Итоговый вес термина в векторе.
- Расчет: Комбинация IDF и DD. Патент предлагает несколько вариантов, включая FW = IDF + DD, FW = IDF + 3*DD, и конкретно защищает вариант FW = IDF + DD/3 (Claim 4).
5. Confidence Score
- Описание: Вероятность того, что запрос принадлежит к определенной профессии.
- Расчет: Основан на анализе расстояния между Query Vector и Occupation Vectors в числовом пространстве признаков. Чем меньше расстояние, тем выше оценка уверенности.
Выводы
- Переход от ключевых слов к классификации: В контексте поиска работы Google не полагается на традиционное сопоставление ключевых слов. Вместо этого используется сложная модель машинного обучения (Job Identification Model) для классификации как запроса, так и контента вакансии в рамках стандартизированной Occupation Taxonomy.
- Специфические веса для коротких текстов: Патент подчеркивает, что стандартные методы взвешивания (вероятно, имеется в виду TF-IDF) неэффективны для очень коротких документов, таких как названия вакансий. Google разработал и запатентовал специфический гибридный подход, комбинирующий Inverse Occupation Frequency (IDF) и Occupation Derivative (DD).
- Важность дифференциации терминов: Occupation Derivative (DD) играет ключевую роль. Эта метрика измеряет, насколько хорошо термин помогает отличить одну профессию от другой. Термины с высоким DD имеют больший вес в классификации.
- Нормализация критична: Система агрессивно очищает названия вакансий и запросы от «шума» (зарплата, тип занятости, локация, название компании). Это означает, что основная классификация происходит на основе оставшихся терминов, непосредственно описывающих суть работы.
- Таксономия как источник истины: Релевантность определяется тем, насколько хорошо контент соответствует профессии в Occupation Taxonomy. Если вакансия или запрос не могут быть уверенно классифицированы, они могут не появиться в релевантной выдаче.
Практика
Best practices (это мы делаем)
Рекомендации применимы к оптимизации сайтов вакансий (Job Boards) и корпоративных разделов карьеры для вертикали Google Jobs.
- Используйте четкие и стандартизированные названия должностей: Несмотря на то, что система умеет распознавать креативные названия («Ниндзя», «Гуру»), использование стандартных, общепринятых названий должностей повышает вероятность правильной классификации (более высокий Confidence Score). Название должно четко отражать суть профессии.
- Фокусируйтесь на дифференцирующих терминах в названии: Включайте в название термины, которые имеют высокий Occupation Derivative – те, которые четко отличают эту роль от смежных. Например, «Патентный поверенный» лучше, чем просто «Юрист».
- Обеспечьте чистоту данных в JobTitle: Убедитесь, что в поле названия вакансии (и в соответствующем поле микроразметки JobPosting) нет посторонней информации. Зарплата, город, тип занятости (Full-time/Part-time), название компании должны быть вынесены в соответствующие поля. Text Normalization Unit удалит их, но лучше предоставить чистые данные изначально.
- Используйте семантически богатые описания: Хотя патент фокусируется на названиях для обучения, полное описание вакансии также важно для общей релевантности и может использоваться системой для подтверждения классификации. Используйте терминологию, синонимы и описания задач, соответствующие стандартному пониманию профессии в Occupation Taxonomy.
- Внедряйте полную микроразметку JobPosting: Используйте схему JobPosting максимально полно. Это помогает Google корректно извлекать и интерпретировать данные о вакансии, снижая зависимость от текстовой нормализации.
Worst practices (это делать не надо)
- Перегружать название вакансии дополнительной информацией: Включение в название таких элементов как «($100k)», «(Remote)» или «Срочно!» не поможет ранжированию, так как эта информация будет удалена на этапе нормализации и не повлияет на генерацию вектора.
- Использовать слишком общие или неоднозначные названия: Названия вроде «Менеджер» или «Специалист» без уточнения области имеют низкий Occupation Derivative и могут быть неправильно классифицированы или получат низкий Confidence Score.
- Пытаться манипулировать ключевыми словами (Keyword Stuffing): Повторение ключевых слов в названии (если не используется чисто TF) не даст значительного преимущества, так как веса основаны на IDF и DD, а не только на частоте термина в документе.
- Использовать исключительно креативные/брендовые названия без контекста: Если вы называете продавца «Sales Samurai», убедитесь, что остальной контент вакансии четко указывает на то, что это роль в продажах, чтобы помочь системе корректно классифицировать вакансию.
Стратегическое значение
Патент подтверждает стратегию Google по структурированию данных и использованию машинного обучения для понимания контента в специализированных вертикалях. Для поиска работы ключевым фактором успеха является alignment (соответствие) контента вакансии той таксономии профессий, которую использует Google. Долгосрочная стратегия должна фокусироваться на качестве данных, четкости описаний и использовании структурированных данных (Schema.org) для минимизации неопределенности при классификации вакансий.
Практические примеры
Сценарий: Оптимизация названия вакансии для Google for Jobs
Плохой пример названия: «(Срочно!) Ищем Junior/Mid-Level SEO Специалиста в Москве, $1500 (Бонусы)»
Процесс обработки системой:
- Нормализация: Text Normalization Unit удаляет шум (пунктуацию, локацию, зарплату, уровень, призывы).
- Результат нормализации (вероятный): «SEO Специалист».
- Векторизация и Классификация: Система генерирует вектор для «SEO Специалист» и классифицирует его.
Хороший пример названия (в поле title разметки JobPosting): «SEO Специалист (Специалист по поисковой оптимизации)»
Действия SEO-специалиста:
- Разместить чистое название в поле title.
- Разместить «Москва» в поле jobLocation.
- Разместить информацию о зарплате в baseSalary.
- Указать уровень (Junior/Mid-Level) в описании.
Ожидаемый результат: Вакансия точно классифицируется по профессии и содержит всю необходимую информацию для сниппета, не мешая работе Job Identification Model.
Вопросы и ответы
Означает ли этот патент, что ключевые слова больше не важны при оптимизации вакансий?
Нет, ключевые слова по-прежнему важны, но изменился механизм их использования. Они важны не для прямого сопоставления с запросом, а как признаки для классификации вакансии в Occupation Taxonomy. Система оценивает, насколько комбинация ключевых слов в названии соответствует определенной профессии, используя веса Inverse Occupation Frequency (IDF) и Occupation Derivative (DD).
Что такое Occupation Derivative (DD) и почему это важно?
Occupation Derivative (DD) – это метрика, которая измеряет, насколько хорошо термин помогает отличить одну профессию от другой. Если термин встречается только в одной профессии (высокий DD), он получает больший вес. Если термин встречается во многих профессиях (например, «специалист»), у него низкий DD. Для SEO это означает, что нужно использовать термины, которые максимально точно специфицируют роль.
Как рассчитывается вес признака (Feature Weight) согласно патенту?
Патент предлагает несколько формул, но конкретно защищает (в Claim 4) формулу: Вес = IDF + DD/3. Это означает, что вес термина складывается из его обратной частоты по профессиям (IDF) плюс одна треть его производной по профессиям (DD). Это специфический гибридный подход для классификации коротких текстов.
Как система обрабатывает информацию о зарплате или локации в названии вакансии?
Система использует Text Normalization Unit для агрессивной очистки названий вакансий и запросов. Информация о зарплате, локации, графике работы, типе занятости и названии компании идентифицируется и удаляется перед генерацией вектора. Эта информация не участвует в классификации профессии.
Применяется ли этот механизм в основном поиске Google или только в Google Jobs?
Патент описывает Job Identification Model, специально разработанный для решения проблем поиска работы. Хотя общие принципы векторизации и классификации используются в основном поиске, специфические методы взвешивания (IDF + DD/3) и использование Occupation Taxonomy разработаны именно для вертикали Jobs.
Как узнать, какие профессии есть в Occupation Taxonomy Google?
Патент не раскрывает сам список профессий. Occupation Taxonomy является внутренним ресурсом Google, который создается и обновляется на основе анализа рынка труда и обучающих данных. SEO-специалистам следует ориентироваться на общепринятые стандарты индустрии и анализировать выдачу Google Jobs, чтобы понять, как группируются вакансии.
Что делать, если моя вакансия неправильно классифицируется в Google Jobs?
Необходимо пересмотреть название и описание вакансии. Убедитесь, что название четкое, не содержит шума и использует термины, которые однозначно идентифицируют профессию (высокий DD). Также проверьте корректность микроразметки JobPosting. Изменение названия на более стандартизированное обычно помогает исправить классификацию.
Влияет ли описание вакансии на классификацию, или только название?
В патенте для обучения модели в первую очередь используются размеченные названия вакансий (Job Titles). Однако упоминается, что обучающие данные могут включать и другие источники, например, описания из резюме. Логично предположить, что полное описание вакансии также анализируется системой для подтверждения классификации, основанной на названии.
Как система обрабатывает новые или только появляющиеся профессии?
Система зависит от обучающих данных и Occupation Taxonomy. Чтобы новые профессии были распознаны, они должны быть добавлены в таксономию, и система должна быть переобучена на новых размеченных данных, включающих эти профессии. До этого момента новые роли могут классифицироваться в ближайшие существующие категории.
Могу ли я использовать креативные названия вакансий, такие как «Гуру» или «Ниндзя»?
Да, можете. Система спроектирована так, чтобы распознавать такие названия, если они присутствовали в обучающих данных и были связаны с конкретной профессией. Однако для повышения уверенности системы (Confidence Score) рекомендуется сочетать креативные термины с четкими идентификаторами профессии (например, «Software Ninja» вместо просто «Ninja»).