Локализация, гео и персонализация

Рейтинг: 71.7% · 16 голосов
Полный курс об устройстве веб-поиска: обход, индексирование, факторы ранжирования, нейропоиск, поведенческие сигналы, антиспам, SEO. 23 модуля по главам с разбором и обсуждением.
Ответить
Аватара пользователя
kirill_ir
Сообщения: 25
Зарегистрирован: 11 май 2026, 05:31

Локализация, гео и персонализация

Сообщение kirill_ir »

Оглавление курса (23)
  1. Введение
  2. Теоретический фундамент (Information Retrieval)
  3. Краулинг (обход)
  4. Идентичность документа: каноникализация и дубли
  5. Индексирование и хранение
  6. Обработка и понимание запроса
  7. Текстовая релевантность
  8. Анализ ссылочного графа
  9. Таксономия факторов ранжирования
  10. Машинное обучение ранжированию (Learning-to-Rank)
  11. Нейросетевой поиск (Neural IR)
  12. Поведенческие сигналы и клик-модели
  13. Каскад ранжирования и обслуживание (serving)
  14. Инфраструктура и распределённое обслуживание
  15. Метапоиск и федерация источников
  16. Группировка, схлопывание, разнообразие
  17. Постранжирование, антиспам и качество выдачи
  18. Свежесть и реалтайм
  19. Локализация, гео и персонализация (вы здесь)
  20. Измерение качества и эксперименты
  21. SEO: оптимизация под факторы
  22. Этика, приватность и борьба со злоупотреблениями
  23. Capstone: сквозной проект
Часть V · ~10 ч · Сложность: (средний) · Пререквизиты: Модуль 5, Модуль 12
Обзор модуля

До сих пор мы строили ранжирование так, будто релевантность документа запросу — свойство пары (q, d) и больше ничего. На практике это упрощение. Один и тот же запрос «доставка пиццы», «налоговая декларация» или «погода» означает разное для пользователя в разных городах, странах и языковых контурах; запрос «футбол» в сезон местного дерби и в межсезонье ждёт разного; а у двух разных людей, набравших «ягуар», в голове может быть кошка, автомобиль или операционная система. Релевантность на самом деле — свойство тройки (q, d, u, c): запроса, документа, пользователя u и контекста c (место, время, язык, устройство, история сессии). Этот модуль — о том, как поисковая система учитывает это, оставаясь при этом полезной, предсказуемой и не нарушающей приватность.

В сквозном конвейере «обход → индекс → факторы → ранжирование → выдача → постобработка → измерение» локализация и персонализация — это дополнительные источники признаков и переранжирующие сигналы, которые подмешиваются в каскад (Модуль 12) и в постранжирование. Гео- и языковые признаки уточняют, какие документы вообще являются кандидатами и как их скорить; персональные признаки уточняют порядок внутри уже релевантного множества. Понимание запроса из Модуля 5 здесь становится контекстно-зависимым: интент P(intent | q) превращается в P(intent | q, u, c).

После модуля студент будет понимать: как документ и запрос привязываются к региону и как считается гео-релевантность; чем языковой контур отличается от странового и как они влияют на отбор и ранжирование; как устроена персонализация по истории, профилю и сессии, и почему она резко повышает риск переобучения и непредсказуемости; и где проходят инженерные, продуктовые и этические границы персонализации — приватность и эффект «пузыря фильтров».
Внимание. Это средний по сложности модуль ((средний)), но глава 18.3 (персонализация) — продвинутая ((продвинутый)): там появляются проблемы редких данных, обратной связи (feedback loop), холодного старта и отделения персонального сигнала от общего. Если контекстное ранжирование ново — закрепите гео-контур (18.1–18.2) прежде, чем браться за персонализацию.
Как читать по трекам
  • Студент — обязательны 18.1 (модель гео-привязки документа и запроса, гео-релевантность как фактор) и 18.3 (что персонализируется, источники сигналов, риски переобучения и feedback loop). Глава 18.2 — на уровне идей (язык ≠ страна, контуры). Глава 18.4 — обязательна концептуально (приватность, пузырь фильтров): это связка с этикой (Модуль 21).
  • Инженер — всё обязательно. Особое внимание: инженерные заметки о хранении гео-индекса и геокодировании, о пайплайне признаков сессии в реальном времени, о холодном старте и о приватных техниках (агрегация, дифференциальная приватность, on-device). Важна архитектурная развязка «общий скор → персональный переранжер».
  • SEO — главы 18.1 (региональное продвижение, привязка бизнеса к локации, локальная выдача) и 18.2 (мультиязычность, разметка языковых/региональных версий, аналог hreflang). Из 18.3–18.4 — как персонализация искажает наблюдаемые позиции и почему «своя» выдача не равна выдаче пользователя. SEO-врезки разбросаны по всему модулю.
  • Смешанный — последовательно весь модуль; формальные модели гео-затухания и разложения скора в 18.3 можно бегло просмотреть при первом проходе и вернуться позже.
Карта модуля
  • 18.1. Региональная привязка документа и запроса; гео-релевантность — как документ и запрос получают регион, что такое локальный/гео-чувствительный запрос, гео-затухание и гео-фактор в каскаде. (средний)
  • 18.2. Языковые и страновые контуры ранжирования — язык ≠ страна, отбор по контуру, мультиязычные документы, аналог hreflang, межъязыковой поиск. (средний)
  • 18.3. Персонализация: история запросов, профиль, контекст сессии — три горизонта персонализации, источники признаков, архитектура переранжирования, переобучение и feedback loop, холодный старт. (продвинутый)
  • 18.4. Границы персонализации: приватность и «пузырь фильтров» — когда персонализация вредит, приватные техники, разнообразие против эха, прозрачность и контроль пользователя. (средний)
Глава 18.1. Региональная привязка документа и запроса; гео-релевантность (средний)

Цели обучения

После главы студент сможет:
  • Объяснить, почему релевантность многих запросов зависит от местоположения и чем гео-чувствительный запрос отличается от гео-нейтрального.
  • Описать, как документ получает региональную привязку (контент, контакты, домен, ссылочное и поведенческое окружение) и как — запрос (явный регион, геолокация устройства, история).
  • Формализовать гео-релевантность как функцию расстояния/принадлежности и встроить гео-фактор в каскад ранжирования (Модуль 12).
  • Различать глобальную, страновую и локальную (city-level) гранулярность гео-сигнала.
  • Оценить влияние гео-привязки на отбор кандидатов и на стратегию локального SEO.
Конспект

Зачем поиску география

Часть запросов имеет смысл только относительно места. «Аптека рядом», «эвакуатор», «суши» подразумевают здесь и сейчас; «загранпаспорт» или «детский сад» — административно привязаны к региону пользователя; «погода» или «пробки» бессмысленны без локации. Это гео-чувствительные (geo-sensitive, locally biased) запросы. Другая часть — «теорема Пифагора», «рецепт безе», «кто написал „Войну и мир“» — от места не зависит (гео-нейтральные). Между ними — широкий серый слой запросов с локальным интентом по умолчанию: «ресторан» почти всегда «ресторан рядом», но «ресторан на Марсе» — нет.
Интуиция. Гео-сигнал — это ещё одна ось релевантности. Текстовая релевантность отвечает «о том ли это документ»; гео-релевантность — «для моего ли это места». Идеальный по тексту документ о ремонте обуви в другом городе для запроса «ремонт обуви» почти бесполезен — как идеальная статья на языке, которого пользователь не знает (это уже 18.2).
Задача распадается на три части: (1) привязать документ к региону(ам), к которым он относится; (2) привязать запрос к региону, относительно которого его оценивать; (3) посчитать гео-релевантность пары и подмешать её в скоринг и отбор.

Как документ получает регион

У документа нет «поля регион» — его приходится выводить из множества слабых сигналов:

Код: Выделить всё

Источник сигнала          |  Что даёт                                                        |  Надёжность
--------------------------+------------------------------------------------------------------+------------------------------------------------------
Контент и контакты        |  адрес, телефон с кодом города, упоминания топонимов, индекс     |  высокая, если структурно (микроразметка организации)
Доменная зона             |  .ru, .de, .fr → страна; геодомены                               |  средняя (страна, не город)
Язык контента             |  сужает множество стран                                          |  слабая (язык ≠ страна, 18.2)
Хостинг/IP сервера        |  страна размещения                                               |  очень слабая (CDN, облака размывают)
Ссылочное окружение       |  на кого ссылаются и кто ссылается, их регионы                   |  средняя, косвенная
Поведение                 |  из каких регионов кликают и удовлетворяются                     |  сильная, но накопительная
Явные сигналы вебмастера  |  региональная привязка в инструментах для вебмастеров, разметка  |  высокая, но декларативная
Результат — не одна точка, а профиль гео-привязки: документ может быть локальным (один город), региональным, страновым или глобальным. Сетевой магазин с доставкой по всей стране и пиццерия в одном районе — разные гео-профили, и система должна их различать.
Инженерная заметка. Гео-привязка документа хранится как набор (geo_id, weight, confidence), где geo_id — узел гео-онтологии (район ⊂ город ⊂ регион ⊂ страна), weight — сила связи, confidence — уверенность извлечения. Для бизнес-объектов отдельно ведётся геокод (широта/долгота) точки. Извлечение топонимов из текста — отдельная задача (toponym resolution / geoparsing) с классической неоднозначностью: «Москва» — город, река, несколько населённых пунктов; разрешается по контексту и популярности.
Как запрос получает регион

Запрос привязывается к региону по убыванию явности:
  1. Явный топоним в запросе — «пиццерия Казань», «нотариус Тверская». Регион выделяется при понимании запроса (Модуль 5) и обычно перекрывает остальные сигналы.
  2. Заданный пользователем регион — выбранный в интерфейсе город/страна.
  3. Геолокация устройства — GPS/Wi-Fi/сотовые (точная) или по IP (грубая, на уровне города/региона).
  4. История и профиль — обычный регион пользователя как приор (это уже мостик к 18.3).
  5. Дефолт страны/языкового контура — последний рубеж.
Заблуждение. «Регион запроса — это просто страна по IP.» IP даёт грубую и часто неверную привязку (мобильные сети, VPN, корпоративные шлюзы маршрутизируют через другой город). Поэтому IP — лишь один сигнал среди многих и почти никогда не единственный. Явный топоним и заданный регион сильнее.
Ещё система должна оценить степень локальности интента — P(local | q): вероятность, что запросу нужен локальный ответ. Для «суши» она высока, для «фотосинтез» близка к нулю. Эту вероятность учат на поведении (кликают ли пользователи разных регионов по разным документам на один запрос — признак локальности) и на лингвистике запроса.

Гео-релевантность как функция

Когда есть регион запроса g_q (или точка p_q) и гео-профиль документа, гео-релевантность считается как затухание с расстоянием/несоответствием. Несколько рабочих форм:
  • Точка–точка (для бизнесов с геокодом): geo(d, q) = exp(−dist(p_d, p_q) / τ), где dist — расстояние (метрическое или по времени в пути), τ — масштаб затухания (характерный радиус интереса). Близко → ≈1, далеко → →0.
  • Принадлежность региону: geo(d, q) = match(g_q, region_profile(d)) — насколько регион запроса покрывается гео-профилем документа (тот же город → 1, та же страна другой город → частично, другая страна → 0 для локального интента).
  • Смешанная: для запросов «вокруг меня» — расстояние; для административных («МФЦ») — принадлежность.
Масштаб τ зависит от категории: радиус интереса к кофейне — сотни метров, к автосалону — десятки километров, к роддому — город. Поэтому τ часто делают категорийным.
Пример. Запрос «кофе» от точки p_q. Кофейня A в 200 м: dist=0.2 км, при τ=1 км → geo≈exp(−0.2)=0.82. Кофейня B в 5 км: geo≈exp(−5)=0.0067. Даже если B чуть лучше по отзывам, гео-фактор почти обнуляет её для запроса с локальным интентом. Для запроса «лучшая кофейня в городе» интент шире — τ берётся больше, и B возвращается в игру.
Гео-фактор в каскаде

Гео-сигнал входит в систему на двух уровнях (см. Модуль 12):
  • Отбор кандидатов (L0/L1). Для сильно локальных запросов индекс сужают географически: берут только документы с подходящим гео-профилем (гео-индекс по сетке/гео-хэшу). Это и точность, и экономия — не скорить пол-страны для запроса «парикмахерская рядом».
  • Ранжирование (L2/L3). Гео-релевантность — один из признаков LTR-модели наряду с текстовыми и поведенческими. Её вес модель выучивает сама, и он тем больше, чем выше P(local | q).

Код: Выделить всё

score(d | q, c) = f_LTR( text_features(d,q),
                         link_features(d),
                         behavior_features(d,q),
                         geo(d, q, c),          # гео-релевантность
                         P_local(q),            # модулятор веса гео
                         ... )
Инженерная заметка. Геопоиск кандидатов реализуют через гео-индексы: геохэш (geohash), сетки S2/H3, R-деревья. Запрос «в радиусе R от точки» превращается в выборку по ячейкам, покрывающим круг, с последующим точным отсевом по расстоянию. Это переносит дорогую гео-фильтрацию на дешёвую стадию отбора, а точное затухание считается уже на немногих кандидатах.
SEO-врезка (региональное продвижение). Чтобы попадать в локальную выдачу: (1) дайте системе чёткую гео-привязку — структурированный адрес и телефон (микроразметка организации), карточку бизнеса в профильных сервисах, согласованные NAP-данные (Name–Address–Phone) по всему вебу; (2) для нескольких филиалов — отдельные посадочные страницы по городам/районам с уникальным локальным контентом, а не один список адресов; (3) помните, что у локальной выдачи свой набор факторов (близость, отзывы, полнота карточки) поверх обычных; (4) геопривязка по .домену-зоне и хостингу слаба — не полагайтесь на неё, давайте явные структурные сигналы.
Внимание. Гранулярность сигнала должна совпадать с гранулярностью интента. Привязка документа к стране бесполезна для запроса «аптека рядом» (нужен район), а попытка приписать глобальному справочному документу один город — вредна (он не локальный, и сужение по гео его несправедливо отсечёт). Гео-нейтральные документы нельзя загонять в гео-фильтр.
Частые заблуждения
Заблуждение. «Если добавить в текст название города много раз, документ станет локальным для этого города.» Текстовое упоминание — слабый и легко спамящийся сигнал. Сильную привязку дают структурные данные (адрес, геокод, карточка) и поведение пользователей региона. Переспам топонимами ловится антиспамом (Модуль 16).
Заблуждение. «Гео-релевантность — отдельный финальный фильтр после ранжирования.» Чаще это и стадия отбора (сужение индекса), и признак внутри LTR, чей вес зависит от локальности запроса. Жёсткий пост-фильтр опасен: обнулит полезные нелокальные результаты для запросов со смешанным интентом.
Лаба / практика

Дано: 8 документов-бизнесов с координатами, рейтингом (0–5) и текстовой релевантностью к запросу «кофе» (0–1); точка пользователя p_q; две категории τ (кофейня τ=1 км, гипермаркет τ=15 км). (1) Посчитайте geo(d,q)=exp(−dist/τ) для подходящего τ. (2) Соберите итоговый скор как 0.5·text + 0.2·rating/5 + 0.3·geo и отсортируйте. (3) Повторите для P_local низкой («лучший кофе в стране»): обнулите гео-вес и пересортируйте. Сравните топы. Время ~45 мин. Критерий «сделано»: при высоком P_local близкие бизнесы поднялись над далёкими-но-лучшими; при низком — порядок определяется текстом и рейтингом; объяснено влияние τ и P_local.

Контрольные вопросы
  1. Чем гео-чувствительный запрос отличается от гео-нейтрального? Приведите по два примера и один пограничный.
  2. Перечислите источники гео-привязки документа и расположите их по надёжности. Почему IP сервера слаб?
  3. Что такое гео-профиль документа и почему одной точки недостаточно?
  4. Запишите две формы гео-релевантности (точка–точка и принадлежность) и объясните роль τ.
  5. На каких стадиях каскада участвует гео-сигнал и чем отличается его роль на отборе и на ранжировании?
  6. Что такое P(local | q) и как её оценивают по поведению?
  7. Почему жёсткий гео-пост-фильтр опаснее, чем гео-признак в LTR?
  8. Сформулируйте для SEO три действия, повышающих локальную видимость, и одно бесполезное.
Глава 18.2. Языковые и страновые контуры ранжирования (средний)

Цели обучения

После главы студент сможет:
  • Разделять язык, страну и регион как независимые оси и объяснить, почему их смешение — частая ошибка.
  • Описать языковой/страновой контур (locale) и его роль в отборе и ранжировании.
  • Обрабатывать мультиязычные и многорегиональные документы и связи между их версиями (аналог hreflang).
  • Объяснить идею межъязыкового поиска (cross-lingual retrieval) и когда он нужен.
  • Сформулировать правила мультиязычного SEO без дублирования и каннибализации.
Конспект

Язык, страна, регион — три разные оси

Их постоянно путают, а это независимые измерения:
  • Язык (language) — на каком языке написан/нужен контент: ru, en, de.
  • Страна/регион (country/region) — для какой юрисдикции/рынка контент: цены, законы, доставка, локальные реалии.
  • Гео (geo) — физическое место (глава 18.1).
Интуиция. Эти оси пересекаются, но не совпадают. Швейцарец читает по-немецки, по-французски или по-итальянски — один регион, три языка. Испанский нужен и в Испании, и в Мексике, и в Аргентине — один язык, разные страны (разные цены, реалии, даже лексика). Англоязычный эмигрант в другой стране хочет интерфейс на родном языке, но локальные результаты по месту жительства. Сводить всё к «стране по IP» — значит выдать ему чужой язык.
Контур / локаль (locale) — рабочая комбинация (язык, регион), например ru-RU, de-CH, es-MX. Поиск ведётся в рамках контура: он задаёт язык интерфейса и подсказок, приоритетный язык контента, страновой набор реалий и дефолты форматов (даты, валюта).

Определение языка запроса и пользователя
  • Язык запроса определяется по символам/словам (для коротких запросов ненадёжно: «table» — англ. или фр.?), по языку интерфейса, по истории. Двуязычные пользователи смешивают языки даже в одном запросе.
  • Предпочтения пользователя — заявленные языки (часто упорядоченный список: «немецкий, затем английский») плюс выученные из поведения.
  • Страновой контур — заданный пользователем регион или дефолт по сигналам (глава 18.1), но независимо от языка.
Заблуждение. «Определять язык запроса по стране пользователя.» Нет: язык — отдельный сигнал. Пользователь в одной стране может искать на другом языке (эмигранты, билингвы, профессиональная терминология на английском). Контур — это пара осей, а не одна.
Контур в отборе и ранжировании

Языково-страновой контур работает похоже на гео-фактор, но мягче:
  • Отбор. Документы не на языке(ах) пользователя обычно понижаются или отсекаются — но не всегда жёстко: для нишевых/научных запросов англоязычный результат полезен, даже если контур русский. Поэтому язык — чаще сильный признак, чем жёсткий фильтр.
  • Ранжирование. Совпадение языка документа и предпочтений пользователя, совпадение странового контура (релевантна ли версия именно этому рынку) — признаки LTR. Их вес зависит от запроса: для «купить X» страновой контур критичен (цены, доставка), для «история Рима» — нет.

Код: Выделить всё

locale_match(d, u) = w_lang · lang_fit(lang(d), prefs(u))
                   + w_country · country_fit(region(d), region(u))
где lang_fit учитывает упорядоченный список языков пользователя (первый язык — вес 1, второй — меньше), а country_fit — насколько страновая версия документа соответствует рынку пользователя.
Пример. Пользователь de-CH (немецкий, Швейцария), запрос «Versicherung» (страховка). Документы: (A) немецкая версия для Германии — язык совпал, страна нет (цены/законы DE); (B) немецкая версия для Швейцарии — совпало всё; (C) французская для Швейцарии — страна совпала, язык нет. Порядок при коммерческом интенте: B ≻ A ≻ C (страна важнее для покупки), но для пользователя, чей второй язык французский, C может обойти A.
Мультиязычные и многорегиональные документы

Сайт часто существует в нескольких языковых/страновых версиях одного контента: example.com/de/, example.com/fr/, example.com/en-us/, example.com/en-gb/. Для системы это вызов: версии — не дубли (их нельзя схлопывать каноникализацией, Модуль 3), но и не независимы (это один контент на разных языках/для разных рынков).

Решение — механизм объявления альтернатив (аналог hreflang): каждая версия декларирует свои (язык, регион) и ссылается на все остальные версии-альтернативы. Это даёт системе три вещи: (1) понять, что это семья версий одного контента; (2) для пользователя контура X показать именно версию X, а не случайную; (3) не считать версии дублями и не наказывать за «дублирующийся контент».

Код: Выделить всё

<альтернатива lang="de" region="DE"  url="…/de-de/">
<альтернатива lang="de" region="CH"  url="…/de-ch/">
<альтернатива lang="fr" region="CH"  url="…/fr-ch/">
<альтернатива lang="en"              url="…/en/">      # язык без региона
<альтернатива default                url="…/en/">      # запасной вариант
Инженерная заметка. Декларации альтернатив должны быть взаимными и согласованными: если A ссылается на B как на французскую версию, B обязана ссылаться обратно. Односторонние или конфликтующие объявления игнорируются как ненадёжные. Система всё равно проверяет декларации поведением и контентом — заявленный язык, не совпадающий с фактическим, обнуляет доверие к разметке.
SEO-врезка (мультиязычность). (1) Каждой языковой/страновой версии — свой стабильный URL и взаимная разметка альтернатив со всеми остальными версиями плюс x-default-аналог для непокрытых контуров. (2) Не подменяйте язык по IP без возможности переключиться — это ломает индексирование и раздражает пользователя. (3) Переводите контент по-настоящему, а не только интерфейс: «тонкие» автопереводы — кандидат на понижение. (4) Не путайте мультиязычность с дублированием: правильно связанные версии не каннибализируют друг друга; несвязанные — конкурируют за один контур и размывают сигналы.
Межъязыковой поиск

Иногда нужное знание есть только на другом языке (узкая тема, документация, наука). Межъязыковой поиск (cross-lingual retrieval) позволяет по запросу на одном языке находить документы на другом: запрос переводится (или, в нейропоиске, запрос и документ кодируются в общее многоязычное пространство эмбеддингов, где близость не зависит от языка — связь с Модулем 10). Результат при показе может сопровождаться переводом. Это включают осознанно — для большинства навигационных и коммерческих запросов чужой язык не нужен.
Заблуждение. «Документ на чужом языке всегда нерелевантен.» Для нишевых информационных запросов авторитетный источник на английском может быть лучшим ответом, чем слабый на родном языке. Поэтому язык — взвешиваемый признак, а не абсолютный запрет; его вес зависит от запроса и от доступности контента на языке пользователя.
Частые заблуждения
Заблуждение. «Язык и страна — одно и то же, достаточно одной настройки.» Это две независимые оси. de-DE, de-CH, de-AT — один язык, три рынка; es-ES и es-MX — один язык, разные реалии. Контур всегда пара.
Заблуждение. «Перевод страницы создаёт дубль, и его понизят.» Корректно связанные через альтернативы переводы — не дубли, а версии. Понижают за необъявленные копии и за машинный перевод без ценности, а не за честную локализацию.
Лаба / практика

Дано: контент в 4 версиях с заявленными (lang, region): de-DE, de-CH, fr-CH, en (+ x-default=en); таблица взаимных деклараций альтернатив (с одной намеренно односторонней). Три пользователя: de-CH, fr-CH, it-IT. (1) Постройте граф альтернатив, найдите несогласованную связь и отметьте её как недоверенную. (2) Для каждого пользователя выберите версию по правилам (точное совпадение контура → совпадение языка → x-default). (3) Объясните выбор для it-IT (нет ни языка, ни региона). Время ~40 мин. Критерий «сделано»: для de-CH/fr-CH выбраны точные версии, для it-IT — x-default, односторонняя связь помечена недоверенной с объяснением последствий.

Контрольные вопросы
  1. Назовите три независимые оси и приведите пример, где язык и страна расходятся.
  2. Что такое контур (locale) и из чего он состоит? Почему страну нельзя выводить из языка?
  3. Как язык участвует в отборе и ранжировании? Почему он чаще признак, а не жёсткий фильтр?
  4. Чем мультиязычные версии отличаются от дублей и почему их нельзя схлопывать?
  5. Что декларирует механизм альтернатив (аналог hreflang) и почему связи должны быть взаимными?
  6. Что такое межъязыковой поиск и как его реализуют в нейропоиске?
  7. Для SEO: как связать языковые версии, чтобы не было каннибализации? Что делает подмена языка по IP?
Глава 18.3. Персонализация: история запросов, профиль, контекст сессии (продвинутый)

Цели обучения

После главы студент сможет:
  • Различать три горизонта персонализации: профиль (долгосрочный), история (среднесрочный), сессия (краткосрочный) — и их источники сигналов.
  • Спроектировать архитектуру «общий скор → персональный переранжер» и объяснить, почему персонализацию обычно делают как переранжирование, а не как замену базового ранжирования.
  • Оценить риски: разреженность данных, холодный старт, переобучение под пользователя и контур обратной связи (feedback loop).
  • Формализовать разложение скора на общий и персональный компоненты и роль доверия к персональному сигналу.
  • Измерить эффект персонализации корректно (онлайн/офлайн, с учётом смещения предъявления).
Конспект

Что вообще персонализируется и насколько

Персонализация — это сдвиг ранжирования под конкретного пользователя на основе того, что система о нём знает. Но не всё стоит персонализировать. Полезность сильно зависит от типа запроса:
  • Навигационные («сайт банка X») — персонализация почти бесполезна и опасна: ответ один для всех.
  • Однозначные информационные («температура кипения воды») — персонализация лишняя.
  • Неоднозначные («ягуар», «питон», «ласка») — персонализация ценна: история помогает разрешить интент (программист → язык, зоолог → животное).
  • Повторные/возвратные («та статья, что я читал», повторный поиск) — персонализация очень ценна.
  • С предпочтениями (рецепты, музыка, шопинг) — персонализация уместна (диета, бренд, ценовой сегмент).
Интуиция. Персонализация — не «переписать выдачу под человека», а разрешить остаточную неопределённость, которую общий сигнал снять не смог. Если общий интент ясен (навигация), персонализировать нечего. Чем шире P(intent | q), тем больше пользы от P(intent | q, u).
Три горизонта: профиль, история, сессия

Код: Выделить всё

Горизонт                 |  Окно                            |  Сигналы                                                                          |  Что разрешает
-------------------------+----------------------------------+-----------------------------------------------------------------------------------+-----------------------------------------------------------
Профиль (долгосрочный)   |  месяцы/годы                     |  устойчивые интересы, язык, регион, демография (агрегированно), категории кликов  |  стабильные предпочтения (тематика, язык, ценовой сегмент)
История (среднесрочный)  |  дни/недели                      |  прошлые запросы и клики по темам, повторные визиты                               |  тематический приор, возврат к ранее найденному
Сессия (краткосрочный)   |  минуты, текущая серия запросов  |  предыдущие запросы и клики в этой сессии, отказы, переформулировки               |  сиюминутный интент, дизамбигуация по контексту
Сессионный сигнал — самый сильный и самый безопасный: он почти не нарушает приватность (тут же забывается) и точнее всего отражает текущую задачу.
Пример (сессионная дизамбигуация). Серия запросов в одной сессии: «питон установка» → «питон pip ошибка» → «питон». На третьем, коротком и неоднозначном запросе сессия уже однозначно говорит: интент — язык программирования, не змея. Система поднимает технические результаты, хотя сам запрос «питон» неоднозначен. Это и есть P(intent | q, c_session).
Инженерная заметка. Сессионные признаки должны вычисляться в реальном времени в пределах запроса: предыдущие запросы/клики сессии агрегируются в компактный контекст-вектор (темы, сущности, кликнутые домены) и подаются в переранжер. Бюджет — единицы миллисекунд, поэтому контекст держат в горячем хранилище сессии, а не пересчитывают из сырого лога.
Архитектура: общий скор → персональный переранжер

Персонализацию почти никогда не вшивают в базовое ранжирование. Типовая развязка:

Код: Выделить всё

1. Базовый каскад (Модуль 12) выдаёт топ-N кандидатов
   с ОБЩИМ скором score_base(d | q)  — одинаковым для всех.
2. Персональный переранжер берёт эти N и пересортирует их,
   добавляя персональные признаки:
      score_pers(d | q, u, c) = score_base(d|q)
                              + β(q,u) · Δ_pers(d | q, u, c)
   где Δ_pers — персональный сдвиг, β — доверие к персонализации.
Почему именно переранжирование топ-N, а не персональный отбор из всего индекса:
  • Дёшево и безопасно. Переставить 50–100 кандидатов дёшево; персональный отбор из миллиардов — нет.
  • Не теряем общерелевантное. Базовый каскад гарантирует, что в топ-N попали объективно релевантные документы; персонализация лишь меняет их порядок, не выдумывая своих.
  • Управляемость. β(q, u) — единая «ручка силы»: на навигационных запросах β→0 (персонализацию глушим), на неоднозначных с богатой историей β выше.
Внимание. β должна зависеть и от запроса, и от уверенности в пользователе. Сильная персонализация при бедных данных о пользователе или на запросе с ясным общим интентом — прямой путь к ухудшению выдачи. По умолчанию персонализация должна быть консервативной: лучше недо-персонализировать, чем выдать пользователю не то.
Персональный сдвиг и доверие

Δ_pers собирается из совпадений документа с профилем/историей/сессией: тематическое сходство с интересами, совпадение языка/региона предпочтений (связь с 18.1–18.2), кликал ли пользователь раньше этот домен, был ли документ уже посещён. Доверие β растёт с объёмом и свежестью данных о пользователе и падает с однозначностью запроса:

Код: Выделить всё

β(q, u) = g( 1 − P_navigational(q),     # чем неоднозначнее — тем выше
             data_richness(u),          # чем больше истории — тем выше
             freshness(u) )             # свежие сигналы важнее
Заблуждение. «Персонализация = заменить общий скор на персональный.» Нет. Персональный сигнал почти всегда аддитивная поправка к общему, с ограниченным влиянием. Заменять опасно: бедные/шумные персональные данные разрушат объективно хорошую общую выдачу.
Три большие проблемы персонализации

(1) Разреженность и холодный старт. О новом пользователе (или в режиме инкогнито) система почти ничего не знает — персонализировать нечем. Решения: опираться на контурные дефолты (гео, язык — главы 18.1–18.2), на сессию (она есть всегда), на сегментные приоры (поведение похожих когорт), пока не накопится личная история. Холодный старт документа — зеркальная проблема: новый документ не имеет персональной обратной связи.

(2) Переобучение под пользователя (over-personalization). Если давить слишком сильно, система запирает пользователя в его прошлом: показывает только то, что он уже кликал, и перестаёт показывать новое и альтернативное. Это и продуктовая, и этическая проблема — прямой мост к «пузырю фильтров» (глава 18.4).

(3) Контур обратной связи (feedback loop). Самая коварная. Система персонализирует → пользователь кликает по поднятому → этот клик становится сигналом «ему это нравится» → система поднимает ещё сильнее. Возникает самоподтверждающаяся петля: модель учится на данных, которые сама же и сгенерировала. Без коррекции это сужает выдачу и закрепляет случайные ранние предпочтения как «истину».
Интуиция (feedback loop). Пользователь кликает по тому, что показали, а не по тому, что объективно лучшее. Если показали персонализированно, клик подтверждает персонализацию — даже если непоказанная альтернатива была бы лучше. Сигнал смещён предъявлением (presentation/position bias, Модуль 11), и наивное обучение на нём усиливает само себя.
Инженерная заметка. Петлю разрывают: (1) исследованием (exploration) — иногда показывать не-персонализированные/новые результаты, чтобы собрать несмещённый сигнал; (2) коррекцией смещения предъявления при обучении (inverse-propensity weighting, контрфактическая оценка — связь с Модулем 11); (3) затуханием старых сигналов, чтобы прошлое не закреплялось навечно; (4) удержанием базового общего скора как якоря (архитектура переранжирования выше), не давая персонализации полностью оторваться от объективной релевантности.
Как измерять эффект персонализации

Измерять трудно именно из-за смещения и петли:
  • Онлайн A/B (Модуль 19) — золотой стандарт, но метрики надо брать на уровне сессии/долгого периода (удовлетворённость, доля успешных сессий, возвраты), а не сиюминутный CTR: персонализация легко «накручивает» клик, ухудшая исход.
  • Офлайн на логах — только с коррекцией смещения предъявления (контрфактические оценки), иначе измеряем собственную петлю.
  • Held-out пользователи / интерливинг — сравнение персонализированной и неперсонализированной выдачи на тех же пользователях устойчивее, чем сравнение между группами.
Заблуждение. «Рост CTR доказывает пользу персонализации.» CTR смещён предъявлением и петлёй: подняв то, что человек и так кликает, легко получить +CTR при нулевой или отрицательной пользе. Доказательство — улучшение исхода сессии/удержания, измеренное с коррекцией смещения.
SEO-врезка. Из-за персонализации «ваша» выдача не равна выдаче пользователя. Проверять позиции «как я вижу» бессмысленно: ваша история и регион искажают её. Используйте обезличенный/региональный замер, агрегированные данные о видимости из инструментов вебмастера, и понимайте, что для возвратных пользователей бренд, который они уже посещали, поднимается — то есть удержание аудитории влияет на видимость не только через прямой трафик.
Частые заблуждения
Заблуждение. «Чем больше персонализации, тем лучше выдача.** Сверх меры персонализация переобучается, запирает в пузыре и портит навигационные/однозначные запросы. Польза немонотонна по силе β; оптимум — консервативный и зависящий от запроса.
Заблуждение. «Персонализация заменяет общее ранжирование.» Она его переранжирует поверх общего скора в пределах топ-N, как аддитивная поправка с ограниченным доверием β, а не как самостоятельный источник кандидатов.
Лаба / практика

Дано: топ-10 кандидатов на неоднозначный запрос «питон» с score_base и тематической меткой (tech / animal); профиль пользователя interest=tech (0.8); сессия из двух предыдущих tech-запросов. (1) Постройте Δ_pers(d) как сходство темы документа с интересами/сессией. (2) Соберите score_pers = score_base + β·Δ_pers для трёх β (0, 0.3, 1.0) и сравните топы. (3) Смоделируйте один шаг feedback loop: пользователь кликает по поднятому tech-документу, увеличьте его персональный вес и пересортируйте. Опишите, как это сужает выдачу за 3 итерации. (4) Предложите механизм исследования, разрывающий петлю. Время ~60 мин. Критерий «сделано»: показан рост tech в топе с ростом β; продемонстрировано схлопывание разнообразия в петле; предложен и обоснован механизм exploration + якорь базового скора.

Контрольные вопросы
  1. Для каких типов запросов персонализация полезна, а для каких вредна? Почему она «разрешает остаточную неопределённость»?
  2. Опишите три горизонта персонализации и их сигналы. Почему сессия — самый сильный и безопасный?
  3. Почему персонализацию делают как переранжирование топ-N, а не как персональный отбор из индекса? Назовите три причины.
  4. Запишите разложение score_pers и объясните роль β(q,u). От чего она зависит?
  5. Что такое холодный старт пользователя и документа? Как с ним бороться?
  6. Объясните контур обратной связи на конкретном примере. Какими четырьмя приёмами его разрывают?
  7. Почему рост CTR не доказывает пользу персонализации? Как мерить правильно?
  8. Что такое over-personalization и как он связан с «пузырём фильтров»?
Глава 18.4. Границы персонализации: приватность и «пузырь фильтров» (средний)

Цели обучения

После главы студент сможет:
  • Сформулировать, где персонализация перестаёт помогать и начинает вредить пользователю и обществу.
  • Объяснить эффект «пузыря фильтров» (filter bubble) и эхо-камеры и их механику через feedback loop (18.3).
  • Перечислить приватные техники персонализации: агрегация, минимизация, on-device, дифференциальная приватность.
  • Спроектировать механизмы прозрачности и контроля пользователя над персонализацией.
  • Связать ограничения персонализации с этикой поиска (Модуль 21).
Конспект

Две границы: приватность и искажение картины мира

Персонализация требует данных о человеке и меняет то, что он видит. Отсюда две принципиально разные группы рисков:
  • Приватность. Чтобы персонализировать, надо собирать, хранить и обрабатывать историю запросов, кликов, мест — чувствительные данные, по которым реконструируется личность, здоровье, убеждения, перемещения.
  • Искажение информационной картины (пузырь фильтров). Подстраиваясь под пользователя, система может перестать показывать то, что расширяет кругозор, оспаривает взгляды или просто отличается от прошлого — особенно опасно для спорных, политических, медицинских тем.
Интуиция. Полезная персонализация снимает шум (показать кофейню рядом, язык программирования вместо змеи). Вредная — фильтрует содержание (показывать только согласные с тобой мнения, прятать альтернативы). Граница между «удобно» и «манипулятивно» проходит по тому, лишает ли персонализация пользователя выбора, который он бы сделал, зная о нём.
Пузырь фильтров и эхо-камера

Пузырь фильтров (filter bubble) — состояние, когда персонализация (и поведенческое ранжирование, Модуль 11) систематически прячет от пользователя информацию, не совпадающую с его прошлым поведением и взглядами. Эхо-камера (echo chamber) — усиление этого эффекта обратной связью: пользователь видит и кликает согласное → система показывает ещё больше согласного → взгляд закрепляется.

Механика — прямой результат feedback loop из 18.3: без коррекции персонализация монотонно сужает разнообразие. Особенно вредно на запросах с общественной значимостью (новости, политика, здоровье), где доступ к разным точкам зрения — общественное благо, а не вопрос удобства.
Внимание. Степень эффекта — предмет научного спора: исследования показывают, что для большинства информационных запросов выдача разных людей пересекается куда сильнее, чем гласит сильная версия гипотезы, и что собственный выбор источников человеком влияет больше, чем алгоритм. Но направление риска бесспорно: непроверяемая персонализация без диверсификации сужает кругозор. Поэтому это инженерная задача, а не только философская.
Когда персонализацию надо ослаблять или выключать

Не все запросы равны. Разумная политика:
  • Глушить β на навигационных и однозначных запросах (нечего разрешать).
  • Ограничивать на запросах общественной значимости (новости, политика, здоровье): гарантировать разнообразие источников и точек зрения поверх персонализации — связь с диверсификацией (Модуль 15).
  • Усиливать на явно «вкусовых» запросах (рецепты, развлечения, шопинг), где персональные предпочтения и есть интент.
  • Всегда оставлять базовый общий скор как якорь (архитектура 18.3), чтобы выдача не отрывалась от объективной релевантности.
Заблуждение. «Раз пузырь фильтров вреден, персонализацию надо отключить вовсе.** Это другая крайность. Сессионная дизамбигуация, гео, язык — полезны и почти безвредны. Проблема не в персонализации как таковой, а в её бесконтрольном применении к содержательным/спорным темам без диверсификации и прозрачности.
Приватные техники персонализации

Персонализировать, минимизируя риск приватности:

Код: Выделить всё

Техника                                              |  Идея                                                                                         |  Цена
-----------------------------------------------------+-----------------------------------------------------------------------------------------------+----------------------------------
Минимизация данных                                   |  хранить только нужное, агрегированно, недолго                                                |  меньше сигнала
Агрегация/когорты                                    |  персонализировать по *группе* похожих, не по индивиду                                        |  грубее
On-device                                            |  хранить и применять профиль на устройстве пользователя; сервер видит лишь результат          |  сложнее, слабее серверной модели
Дифференциальная приватность (differential privacy)  |  добавлять калиброванный шум, чтобы по выходу нельзя было восстановить вклад одного человека  |  потеря точности на шум
Сессионность вместо профиля                          |  использовать только текущую сессию, забывать после                                           |  нет долгосрочного приора
Анонимизация/псевдонимизация                         |  разорвать связь сигналов с личностью                                                         |  риск реидентификации
Инженерная заметка. Дифференциальная приватность даёт формальную гарантию: распределение выхода почти не меняется от наличия/отсутствия данных одного пользователя (параметр ε задаёт силу). Применяется при обучении моделей и сборе агрегированной статистики, а не к выдаче одного запроса. On-device персонализация (профиль и переранжер на клиенте) радикально снижает риск, но ограничена ресурсами устройства и сложнее в отладке.
Внимание. Режим «инкогнито»/без входа должен реально означать отсутствие долгосрочной персонализации, а не её видимость. Сессионная персонализация в нём допустима (она эфемерна), но профиль и история — нет. Несоответствие декларации и поведения — нарушение доверия и часто закона.
Прозрачность и контроль пользователя

Этическая и во многих юрисдикциях правовая норма: пользователь должен знать о персонализации и управлять ею.
  • Прозрачность. Объяснимость («показано, потому что вы недавно искали X»); пометка персонализированных блоков.
  • Контроль. Переключатель персонализации; просмотр/удаление истории; режим без персонализации; управление категориями интересов.
  • Дефолты. Консервативная персонализация по умолчанию; явное согласие на сбор чувствительных данных (правовое требование во многих юрисдикциях — связь с Модулем 21).
SEO-врезка. Персонализация и приватные режимы означают: (1) нет единой «объективной» выдачи — позиция зависит от пользователя, региона, истории; замеряйте обезличенно и агрегированно; (2) удержание и возвратность аудитории влияют на видимость у этих пользователей — то есть ценность бренда и лояльности конвертируется в видимость; (3) в режимах без персонализации (инкогнито, новые пользователи) работают контурные дефолты — гео и язык остаются главными управляемыми сигналами.
Частые заблуждения
Заблуждение. «Пузырь фильтров — это просто паранойя, выдача у всех почти одинаковая.» Эмпирически сильная версия гипотезы переоценена, но направление риска реально: без диверсификации и коррекции петли персонализация монотонно сужает разнообразие, и на спорных темах это вредно. Отрицать риск так же неверно, как преувеличивать.
Заблуждение. «Анонимизация = приватность.» Деанонимизация по совокупности признаков (история запросов — почти отпечаток личности) хорошо известна. Реальные гарантии дают минимизация, дифференциальная приватность и on-device, а не переименование идентификатора.
Лаба / практика

Дано: набор из 10 запросов с метками «навигационный / однозначный / вкусовой / общественно значимый» и профиль пользователя со склонностью к одной точке зрения. (1) Для каждого запроса назначьте политику персонализации (β высокий/низкий/ноль) и обоснуйте. (2) Для общественно значимого запроса спроектируйте механизм гарантии разнообразия точек зрения поверх персонализации (используйте идеи диверсификации из Модуля 15). (3) Опишите минимальный набор данных, который вам достаточно хранить, и предложите для него приватную технику (агрегация / on-device / DP / только сессия) с обоснованием цены. (4) Спроектируйте UI прозрачности и контроля (что показать и чем управлять). Время ~55 мин. Критерий «сделано»: политики согласованы с типами запросов; для спорной темы предусмотрена диверсификация; выбор приватной техники обоснован через trade-off; перечислены конкретные элементы прозрачности и контроля.

Контрольные вопросы
  1. Назовите две принципиально разные группы рисков персонализации и приведите пример каждой.
  2. Что такое пузырь фильтров и эхо-камера? Как они связаны с feedback loop из 18.3?
  3. На каких типах запросов персонализацию ослабляют или глушат и почему?
  4. Перечислите приватные техники персонализации и их цену. Чем on-device лучше серверной модели по приватности?
  5. Что гарантирует дифференциальная приватность и к чему она применяется (и к чему нет)?
  6. Почему анонимизация не равна приватности? Что такое реидентификация?
  7. Какие механизмы прозрачности и контроля должны быть у пользователя? Что должен реально означать режим инкогнито?
  8. Как связать ослабление персонализации на спорных темах с диверсификацией выдачи (Модуль 15)?
Итоги модуля
  1. Релевантность контекстна. На практике это свойство не пары (q, d), а тройки (q, d, u, c): запроса, документа, пользователя и контекста (место, время, язык, сессия). Локализация и персонализация — механизмы учёта u и c.
  2. Гео-релевантность — отдельная ось наряду с текстовой. Документ получает гео-профиль из множества сигналов (контент/адрес, домен, поведение, разметка), запрос — регион по убыванию явности (топоним → заданный регион → геолокация → история). Гео-релевантность — затухание с расстоянием/несоответствием, масштаб τ категориен; гео входит и в отбор (гео-индекс), и в LTR с весом, зависящим от P(local | q).
  3. Язык, страна и гео — три независимые оси. Контур (locale) — пара (язык, регион). Язык — чаще признак, чем жёсткий фильтр. Мультиязычные версии — не дубли: их связывают механизмом альтернатив (аналог hreflang) для выбора нужной версии и защиты от мнимого дублирования; межъязыковой поиск находит ответы на других языках через общее многоязычное пространство.
  4. Персонализация разрешает остаточную неопределённость, а не переписывает выдачу. Полезна на неоднозначных/возвратных/вкусовых запросах, вредна на навигационных и однозначных. Три горизонта — профиль, история, сессия; сессия — самый сильный и безопасный сигнал.
  5. Архитектурно персонализация — это переранжирование топ-N поверх общего скора как аддитивная поправка score_base + β·Δ_pers с управляемым доверием β(q,u), а не персональный отбор из индекса и не замена базового ранжирования. Базовый скор служит якорем.
  6. Три большие проблемы: разреженность/холодный старт, переобучение под пользователя и контур обратной связи (feedback loop). Петлю разрывают исследованием, коррекцией смещения предъявления, затуханием сигналов и удержанием базового якоря. CTR обманчив — мерить надо исход сессии с коррекцией смещения.
  7. Границы персонализации — приватность и пузырь фильтров. Приватность защищают минимизацией, агрегацией, on-device и дифференциальной приватностью. Сужение кругозора (особенно на спорных темах) ограничивают диверсификацией поверх персонализации (Модуль 15), прозрачностью и пользовательским контролем.
  8. Главное: локализация и персонализация мощны, но немонотонны по силе — оптимум консервативен и зависит от запроса; их нельзя оценивать по локальным метрикам (CTR), а только по полезности сессии и с учётом приватности и общественных эффектов (Модуль 21).
Глоссарий модуля
  • Контекстная релевантность — релевантность как функция тройки (q, d, u, c): запрос, документ, пользователь, контекст.
  • Гео-чувствительный (locally biased) запрос — запрос, ответ на который зависит от местоположения; гео-нейтральный — не зависит.
  • P(local | q) — вероятность, что запросу нужен локальный ответ; модулятор веса гео-фактора.
  • Гео-профиль документа — набор (geo_id, weight, confidence) региональных привязок документа; для бизнеса — ещё геокод (координаты).
  • Геокодирование / разрешение топонимов (geocoding / toponym resolution) — сопоставление адреса/названия места координатам и узлу гео-онтологии с разрешением неоднозначности.
  • Гео-затухание — убывание гео-релевантности с расстоянием/несоответствием, например exp(−dist/τ); τ — категорийный масштаб.
  • Гео-индекс (geohash, S2/H3, R-дерево) — структура для быстрой выборки документов в географической области на стадии отбора.
  • NAP-данные (Name–Address–Phone) — согласованные имя/адрес/телефон бизнеса по вебу как сигнал локальной привязки.
  • Язык / страна / гео — три независимые оси контекста; их смешение — частая ошибка.
  • Контур / локаль (locale) — рабочая пара (язык, регион), например de-CH.
  • lang_fit / country_fit — компоненты соответствия документа языковым и страновым предпочтениям пользователя.
  • Механизм альтернатив (аналог hreflang) — взаимные декларации языковых/страновых версий одного контента для выбора нужной версии и защиты от мнимого дублирования; x-default — запасная версия.
  • Межъязыковой поиск (cross-lingual retrieval) — поиск документов на одном языке по запросу на другом, через перевод или общее многоязычное эмбеддинг-пространство.
  • Персонализация — сдвиг ранжирования под пользователя для разрешения остаточной неопределённости интента.
  • Горизонты персонализации — профиль (долгосрочный), история (среднесрочный), сессия (краткосрочный).
  • Сессионная дизамбигуация — разрешение интента текущего запроса по предыдущим запросам/кликам той же сессии.
  • Персональный переранжер — стадия, пересортирующая топ-N общего ранжирования по персональным признакам.
  • score_pers = score_base + β·Δ_pers — разложение скора на общий компонент и персональную поправку; β(q,u) — доверие к персонализации.
  • Холодный старт (cold start) — отсутствие данных о новом пользователе или новом документе для персонализации.
  • Переобучение под пользователя (over-personalization) — чрезмерная персонализация, запирающая пользователя в его прошлом.
  • Контур обратной связи (feedback loop) — самоусиление: система персонализирует → пользователь кликает по показанному → сигнал подтверждает персонализацию.
  • Исследование (exploration) — намеренный показ не-персонализированных/новых результатов для сбора несмещённого сигнала и разрыва петли.
  • Пузырь фильтров (filter bubble) — систематическое сокрытие от пользователя информации, не совпадающей с его прошлым поведением/взглядами.
  • Эхо-камера (echo chamber) — усиление пузыря обратной связью: согласное закрепляется.
  • Дифференциальная приватность (differential privacy) — формальная гарантия, что выход почти не зависит от данных одного пользователя; сила задаётся ε.
  • On-device персонализация — хранение и применение профиля на устройстве пользователя без передачи на сервер.
  • Реидентификация (re-identification) — восстановление личности по совокупности «обезличенных» признаков.
Связи с другими модулями
  • Опирается на Модуль 5 (понимание запроса) — гео- и языковая привязка запроса, оценка P(local|q) и интента — продолжение классификации запросов; контекст превращает P(intent|q) в P(intent|q,u,c).
  • Опирается на Модуль 12 (каскад ранжирования) — гео-, языковые и персональные сигналы входят как признаки LTR и как стадии отбора/переранжирования; overfetch и развязка «общий скор → персональный переранжер» — каскадные решения.
  • Связан с Модулем 10 (нейропоиск) — общее многоязычное эмбеддинг-пространство для межъязыкового поиска; тематическое сходство для Δ_pers.
  • Связан с Модулем 11 (поведенческие сигналы) — персонализация и feedback loop наследуют смещение предъявления/позиции; коррекция (inverse-propensity, контрфактика) общая.
  • Связан с Модулем 3 (каноникализация) — мультиязычные версии нельзя схлопывать как дубли; механизм альтернатив дополняет каноникализацию.
  • Связан с Модулем 15 (диверсификация) — диверсификация поверх персонализации — главный инструмент против пузыря фильтров.
  • Связан с Модулем 19 (оценка и эксперименты) — эффект персонализации мерят на уровне сессии с коррекцией смещения, не по CTR.
  • Перетекает в Модуль 16 (антиспам) — переспам топонимами и фальшивые гео/языковые сигналы — манипуляции, нейтрализуемые антиспамом.
  • Перетекает в Модуль 21 (этика) — приватность, согласие, прозрачность, пузырь фильтров и общественная значимость — этический контур всего модуля.
Материалы для углубления
  • Классические и обзорные работы по геопоиску и локальной релевантности (geoparsing, toponym resolution, гео-индексы — geohash, S2, H3).
  • Литература по многоязычному и межъязыковому информационному поиску (cross-lingual / multilingual IR, многоязычные эмбеддинги).
  • Работы по персонализации поиска и контекстному ранжированию (сессионный контекст, дизамбигуация по истории).
  • Литература по смещениям обратной связи и контрфактическому обучению ранжированию (presentation/position bias, inverse-propensity weighting, off-policy evaluation).
  • Исследования эффекта «пузыря фильтров» и эхо-камер (включая критические эмпирические работы, оспаривающие сильную версию гипотезы).
  • Материалы по приватности данных: дифференциальная приватность (определение через ε, федеративное обучение, on-device), минимизация и реидентификация.
  • Обзоры по оценке персонализированного поиска (интерливинг, held-out пользователи, метрики уровня сессии).
👍2 ❤️3 🔥1 😄 🤔3
Аватара пользователя
righty
Сообщения: 1
Зарегистрирован: 17 май 2026, 13:36

Re: Локализация, гео и персонализация

Сообщение righty »

по гео вопрос - вы подмешиваете локацию как отдельную фичу в модель или жёстко фильтруете кандидатов по радиусу до ранжирования? для 'доставка пиццы' второе вроде безопаснее, иначе релевантный текст перебьёт расстояние.
👍1 ❤️1 🔥 😄 🤔1
Аватара пользователя
qemuhacker
Сообщения: 1
Зарегистрирован: 14 май 2026, 03:10

Re: Локализация, гео и персонализация

Сообщение qemuhacker »

ага, теперь понятно почему персонализацию надо держать слабой по умолчанию. перекрутили историю кликов - и человек на 'python' видит только то что уже читал, фильтр-пузырь налицо. свежий интент важнее старых кликов.
👍 ❤️2 🔥2 😄 🤔
Аватара пользователя
sayonara
Сообщения: 1
Зарегистрирован: 08 июн 2026, 04:19

Re: Локализация, гео и персонализация

Сообщение sayonara »

у нас на проде персонализация дала прирост метрик в среднем, но на навигационных запросах только шумела - юзер ищет конкретный сайт, ему гео и история до лампочки. пришлось гасить перс для navigational интента.
👍1 ❤️1 🔥1 😄 🤔
Ответить
← Предыдущая глава
Свежесть и реалтайм
Следующая глава →
Измерение качества и эксперименты

Все главы курса «Поисковые системы: индексирование, факторы ранжирования и формирование выдачи»

Поделиться темой: ✈ Telegram VK

Вернуться в «Поисковые системы: индекс, факторы, выдача»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость