/ Модель

Характеристики

Контекст
514 токенов
Параметры
305 млн
Лицензия
Apache 2.0
Архитектура
xlm-roberta · dense
Базовая модель
xlm-roberta-base
Библиотека
sentence-transformers
Опубликована
25 авг 2026

anchor-pairs

Ранжирование текстаТекст → score3 профессии

Кросс-энкодер для определения, следует ли объединить два поисковых запроса в одну страницу, прежде всего при кластеризации ключевых слов в гемблинг-нише.

22скачиваний за 30 дней0лайковвеса обновлены26 авг 2026

Бенчмарки

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

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Ранжирование» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

anchor-pairs — дообученный Krasovskiy на FacebookAI/xlm-roberta-base кросс-энкодер для оценки того, должны ли два поисковых запроса вести на одну страницу. Модель предназначена прежде всего для кластеризации ключевых слов при построении семантического ядра в гемблинг-нише: она оценивает пары запросов без обращения к поисковой выдаче и может помочь разобрать случаи с разными написаниями, синонимами или языками.

Модель построена на XLM-RoBERTa и содержит 305,2 млн параметров; она принимает пары текстов и выдаёт оценку для ранжирования или классификации. Карточка сообщает о контексте до 514 токенов и обучении на 1,2 млн пар запросов, собранных по страницам конкурентов. В заявленном тесте на гемблинг-данных anchor-pairs показала PR-AUC 0,9636; эти результаты относятся к описанной оценочной выборке и задаче.

Для других ниш авторы указывают худший результат, чем у базовой модели, и рекомендуют переобучение на профильных данных. Модель не определяет по одному запросу, является ли название провайдером игр или заведением. Лицензия — Apache-2.0.

Сценарии применения

  • кластеризация запросов казино по целевым страницам
  • определение, ведут ли варианты написания запроса на одну страницу
  • сопоставление синонимичных поисковых запросов
  • разбор пар запросов на разных языках в одном семантическом ядре
  • оценка релевантности пары запросов для поисковой страницы

Ограничения

Модель специализирована на гемблинг-нише и на других тематиках может уступать базовой модели; для переноса рекомендуется дообучение на профильных данных. По одному запросу она не различает провайдера игр и заведение.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

anchor-pairs

Отвечает на один вопрос: закрываются ли два поисковых запроса одной страницей или им нужны разные.

Это не мера похожести. «casino ohne lizenz» и «casino ohne einzahlung» похожи почти дословно, но это разные страницы. «one dollar deposit» и «1 dollar deposit» не похожи по написанию, а страница у них одна.

Модель заточена под гемблинг-нишу. Там она обучалась, там и мерялась; цифры ниже относятся к ней.

Зачем

При сборке семантического ядра ключевые слова надо разложить по будущим страницам сайта. Отраслевой способ — смотреть пересечение выдачи: если у двух запросов 7+ общих адресов в топ-10, это одна страница. Способ рабочий, но платный: на каждый запрос нужен вызов к выдаче, а запросов десятки тысяч.

Здесь модель обучена на решениях, которые выдача уже приняла, и дальше работает без неё.

Чем меряли

Порог выбран по PR-AUC, а не по доле верных ответов: классы неравные, и «доля верных» на них лжёт.

Три модели на одной оценочной выборке (20 000 пар, 42% положительных, сплит по группам-страницам, пересечение ноль), порог у всех подобран на обучающей половине:

модельPR-AUCточность при полноте 0.8
bge-m3, косинус эмбеддингов0,91290,8670
bge-reranker-v2-m3, готовый реранкер0,92340,8749
anchor-pairs0,96360,9637

Сравнение именно с обученным реранкером, а не только с эмбеддером: побить эмбеддер кросс-энкодером — слабое достижение, они разного класса.

Разброс между тремя сидами 0,0084 при прибавке 0,04 — прибавка в пять раз больше шума. Обучение занимает две минуты на одной 4090.

MCC не приводим, и вот почему. У модели он выходит 0,5136 против 0,7183 у готового реранкера — хуже, хотя PR-AUC заметно выше. Причина не в качестве разделения, а в пороге: он подбирается на обучающей половине, которую модель видела при обучении, и оценки там завышены. У необученных моделей такого расхождения нет. Честный порог требует третьей части, отложенной и от обучения, и от теста; у нас её нет.

Прежняя редакция карточки приводила MCC 0,8065. Это число снято: оно было получено подбором порога на самой оценочной выборке, то есть подглядыванием в ответ. PR-AUC и точность при полноте от порога не зависят и остаются в силе.

На чём училась

1,2 млн пар, собранных из поведения конкурентов: какие запросы реально стоят на одной странице у тех, кто уже ранжируется. Не чьё-то мнение и не разметка по образцу.

  • Сплит по группам-страницам, а не по парам. Иначе один и тот же запрос попадает и в обучение, и в проверку, и метрика показывает память, а не умение. Пересечение между частями — ноль.
  • Тяжёлые негативы: пары из соседних страниц, а не случайные. На случайных задача вырождается — их отличает и мешок слов.
  • Серая зона выдачи (2-6 общих адресов) выброшена: там нет ответа «да» или «нет», там ответ «соседние темы».

Где не работает

На чужих нишах она хуже базовой: PR-AUC 0,8723 против 0,9004 у bge-m3 на золоте из шести ниш (медицина, фриланс, B2B, веб-студия, медиа). Это не изъян, а следствие задачи: её растили под гемблинг. Для другой ниши берите базовую или переучите на своих данных.

Отдельно: провайдера игр от заведения по одному запросу отличить нельзя в принципе — «netent casino» это раздел, а не бренд. Эту границу закрывают справочники, а не модель.

Как пользоваться

from sentence_transformers import CrossEncoder

model = CrossEncoder("Krasovskiy/anchor-pairs")
pairs = [
    ["1 dollar deposit casino", "one dollar deposit casino canada"],
    ["best online casino ontario", "netent slots free play"],
]
print(model.predict(pairs))

Выше 0,5 — одна страница. Порог можно поднять, если важнее не склеить лишнего.

Родня

  • Krasovskiy/anchor-words — разметка слов запроса по типам (имя, гео, оплата, игра, оффер, провайдер);
  • Krasovskiy/kwcluster-variables — код кластеризатора и справочники.

Где её место в конвейере: честный замер 26 августа 2026

PR-AUC 0,9641 не отменяется — на своей задаче модель работает. Но на канадском ядре казино вопрос «одна страница или разные» удалось закрыть дешевле и точнее точным вхождением формы: если запрос содержит другой запрос ядра целиком (mgm casino ontario содержит mgm casino), это одна страница, и вызывать модель незачем.

Конвейер на таких правилах дал 11 755 страниц, из них 11 679 с плотностью 100% — каждый запрос группы содержит её главное слово. Считается четыре секунды на процессоре, без видеокарты.

Модель остаётся полезной там, где точного вхождения нет: разные написания без общих слов, синонимы, разные языки в одном ядре. В нише с устойчивыми именами заведений её работу делает порядок слоёв.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · sentence-transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
XLMRobertaForSequenceClassification
Ревизия весов
3e0c7e2

0 моделей