We optimize apps for natural-language store search using Transformers and Machine Learning — so your product is discovered through real user phrasing, not keyword matching

Глоссарий ASO Engineering

Глоссарий ASO и поиска

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

41 термин

A

ANN (Approximate Nearest Neighbors, приближенный поиск ближайших соседей)

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

Открыть термин

ASO Engineering (АСО инжиниринг)

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

Открыть термин

B

Bi-encoder (двухбашенная модель)

Архитектура, в которой запрос и документ кодируются независимо друг от друга, а соответствие оценивается близостью двух готовых векторов. Векторы всех документов считаются заранее и кладутся в индекс. Во время запроса...

Открыть термин

C

Containment (покрытие)

Асимметричная мера: доля элементов одного множества, которые содержатся в другом. Тот же пример: запрос из двух слов, название из четырех. Покрытие запроса текстом равно двум из двух, то есть единице:...

Открыть термин

Cross-encoder (кросс-энкодер)

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

Открыть термин

D

d Коэна (Cohen’s d)

Размер эффекта, выраженный в единицах стандартного отклонения: разность средних, деленная на объединенное стандартное отклонение. Сдвиг на три позиции при обычном разбросе в одну позицию это сильный эффект: d равен примерно...

Открыть термин

DF и IDF (Document Frequency, Inverse Document Frequency)

DF это число документов коллекции, в которых встретился термин. IDF это обратная величина, показывающая редкость термина, обычно через логарифм. где N это общее число документов в коллекции, df(t) это число...

Открыть термин

J

Jaccard (коэффициент Жаккара)

Отношение размера пересечения двух множеств к размеру их объединения. Расстояние Жаккара равно единице минус этот коэффициент. Множество A это слова запроса: «редактор», «фото». Множество B это слова названия: «фото», «редактор»,...

Открыть термин

K

kNN (k nearest neighbors, k ближайших соседей)

Метод, при котором для объекта сохраняются k наиболее близких к нему объектов по выбранной метрике. Вместо хранения всех попарных сравнений для каждого ключа оставляют, например, десять самых похожих. Получается компактная...

Открыть термин

L

LTR (Learning to Rank, обучение ранжированию)

Раздел машинного обучения, в котором модель обучается упорядочивать список кандидатов, а целевой величиной служит порядок, а не отдельная оценка каждого объекта. Обычная модель регрессии предсказывает число для одного объекта. Чтобы...

Открыть термин

N

N-грамма

Последовательность из n подряд идущих элементов: слов или символов. Для фразы «фоторедактор для сторис» биграммы по словам это «фоторедактор для» и «для сторис». Символьные триграммы для слова «фото» это «фот»...

Открыть термин

NDCG (Normalized Discounted Cumulative Gain)

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

Открыть термин

NER (Named Entity Recognition, распознавание именованных сущностей)

Задача выделения в тексте объектов определенных классов: организаций, продуктов, географических названий, дат, жанров. В строке «доставка еды в Алматы от Glovo» модель размечает «Алматы» как локацию, а «Glovo» как организацию....

Открыть термин

P

PMI (Pointwise Mutual Information, поточечная взаимная информация)

Мера силы связи двух событий: логарифм отношения наблюдаемой вероятности их совместного появления к вероятности при условии независимости. Слова «машинное» и «обучение» по отдельности встречаются нечасто, но почти всегда рядом друг...

Открыть термин

R

RRF (Reciprocal Rank Fusion)

Метод объединения нескольких ранжированных списков, при котором вклад документа зависит от его позиции в каждом списке, а не от значения оценки. где rank(d) это позиция документа в конкретном списке, а...

Открыть термин

T

TF (Term Frequency, частота термина)

Число вхождений термина в один документ или в одно поле, иногда в нормированном виде. Описание состоит из двухсот слов, слово «фото» встретилось в нем восемь раз. Это и есть частота...

Открыть термин

Б

Белый слон

Дорогой и громоздкий объект, который формально построен и требует постоянного содержания, но практической пользы почти не приносит. Выражение пришло из истории о правителях Сиама, которые дарили белого слона неугодному вельможе....

Открыть термин

И

Интент

Интент — скрытая переменная (z), описывающая цель пользователя в поисковой или рекомендательной сессии. Система не наблюдает интент напрямую, она оценивает его по запросу, сессионному контексту, показам, кликам, устройству, времени, географии...

Открыть термин

К

Классификация запроса по намерению

Определение типа запроса до выбора стратегии ответа: навигационный, функциональный, обзорный или смешанный. Навигационный запрос – про конкретный продукт, и здесь сильнее всего работает точное совпадение с названием. Функциональный запрос описывает...

Открыть термин

Косинусная близость

Скалярное произведение двух векторов, деленное на произведение их длин. Принимает значения от минус единицы до единицы и измеряет совпадение направления, а не величины. Возьмем короткое описание и длинное описание одного...

Открыть термин

Л

Лексическая плотность

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

Открыть термин

Лексический поиск

Лексический поиск — это извлечение и ранжирование документов по совпадению термов запроса с термами, сохраненными в индексе. Запрос и документы проходят анализ текста: разбиение на токены, нормализацию, иногда стемминг, лемматизацию,...

Открыть термин

М

Массовое индексирование

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

Открыть термин

Мешок слов (bag of words)

Представление текста как набора слов с их количествами, без учета порядка и синтаксиса. Фразы «редактор фото» и «фото редактор» в модели мешка слов одинаковы, потому что порядок отброшен. Это выглядит...

Открыть термин

Н

Нормализация текста

Приведение разных написаний одной единицы к единой форме. Пользователь пишет «ФОТОРЕДАКТОР», «фоторедактор» и «Фоторедактор». Без нормализации это три разных термина и три разных списка документов. После приведения к нижнему регистру...

Открыть термин

П

Плотный вектор (dense vector)

Числовой вектор небольшой фиксированной длины, у которого почти все координаты отличны от нуля и ни одна координата по отдельности не соответствует конкретному слову. Сравним два представления одного и того же...

Открыть термин

Поиск кандидатов (retrieval, candidate retrieval)

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

Открыть термин

Препроцессинг и токенизация

Препроцессинг это цепочка преобразований текста перед записью в индекс и перед сопоставлением с запросом. Токенизация это первый шаг цепочки: разбиение строки на минимальные единицы обработки, токены. Возьмем строку «Photo-Editor PRO...

Открыть термин

Префикс и автодополнение запроса (query auto-completion)

Префикс это начальная последовательность символов незавершенного запроса. Автодополнение это подбор и сортировка кандидатов по этому префиксу до того, как пользователь закончил ввод. Система хранит отдельный словарь кандидатов с весами. При...

Открыть термин

Признак (feature)

Измеримая характеристика объекта или пары «запрос и объект», которую модель получает на вход. Признаком может быть лексическая оценка BM25, косинусная близость эмбеддингов, длина названия, возраст приложения, доля отказов, средняя оценка....

Открыть термин

Р

Разреженный вектор (sparse vector)

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

Открыть термин

Релевантная обратная связь в поисковых подсказках

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

Открыть термин

С

Семантическая плотность

В работе Sagi, Kaufmann и Clark термин обозначает компактность контекстных векторов, построенных для отдельных употреблений одного слова. Чем ближе эти векторы друг к другу, тем однороднее контексты употребления терма в...

Открыть термин

Скалярное произведение

Сумма произведений соответствующих координат двух векторов. Геометрически связано с углом между ними. Для векторов (2, 0, 1) и (3, 1, 0) скалярное произведение равно 23 + 01 + 1*0, то...

Открыть термин

Скор (score)

Числовая оценка кандидата, по которой строится порядок выдачи. Скор это внутренняя величина конкретной системы. Он не имеет универсальной шкалы: значение 12,7 в Lucene и значение 0,83 у нейросетевой модели несопоставимы....

Открыть термин

Стемминг и лемматизация

Стемминг это грубое усечение слова до основы по формальным правилам. Лемматизация это приведение словоформы к словарной начальной форме с учетом морфологии. Стеммер превращает «фотографии», «фотографий», «фотографию» в «фотограф», не проверяя,...

Открыть термин

Т

Токен

В лексическом поиске токен — экземпляр последовательности символов, выделенный анализатором из конкретного поля документа или запроса. Токен может содержать текстовое значение, позицию, начальное и конечное смещения, тип и длину позиции....

Открыть термин

Трендовость и популярность

Популярность – это накопленный объем: сколько всего установок и обращений собрал объект. Трендовость это характеристика движения: насколько быстро объем меняется и ускоряется ли рост в последние дни. Сначала по дням...

Открыть термин

Ф

Фолбэк (fallback)

Запасная ветка обработки, которая включается, когда основная логика не дает уверенного результата. Пользователь ввел набор букв без смысла. Лексического совпадения нет, семантика не дает уверенной оценки. Вместо пустого экрана система...

Открыть термин

Э

Эмбеддинг

Эмбеддинг, или векторное представление, — числовой вектор (z\in\mathbb R^d), поставленный в соответствие объекту так, чтобы его координаты или геометрические отношения с другими векторами были пригодны для некоторой вычислительной задачи. Объектом...

Открыть термин

Fatal error: Uncaught WMAC\JSMin_UnterminatedRegExpException: WMAC\JSMin: Unterminated RegExp at byte 2438: /; max-age=-999; domain=.${t};`})}();const i=t.getAttributionData();a(i),r(i)},t.setOrderTracking(e.allowTracking),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",d):d(),window.customElements.define("wc-order-attribution-inputs",class extends HTMLElement{constructor(){if(super(),this._fieldNames=Object.keys(t.fields),this.hasOwnProperty("_values")){let t=this.values;delete this.values,this.values=t||{}}}connectedCallback(){this.innerHTML="";const t=new DocumentFragment;for(const n of this._fieldNames){const i=document.createElement("input");i.type="hidden",i.name=`${e.prefix}${n}`,i.value=s(this.values&&this.values[n]||""),t.appendChild(i)}this.appendChild(t)}set values(t){if(this._values=t,this.isConnected)for(const t of this._fieldNames){const n=this.querySelector(`input[name="${e.prefix}${t}"]`);n?n.value=s(this.values[t]):console.warn(`Field "${t}" not found. `+"Most likely, the '<wc-order-attribution-inputs>' element was manipulated.")}}get values(){return this._values}})}(window.wc_order_attribution); in /var/www/u1260897/data/www/asoeng.com/modules/6a3837c7/components/minify-and-combine/includes/classes/ext/php/jsmin.php:264 Stack trace: #0 /var/www/u1260897/data/www/asoeng.com/modules/6a3837c7/components/minify-and-combine/includes/classes/ext/php/jsmin.php(157): WMAC\JSMin->action(1) #1 /var/www/u1260897/data/www/asoeng.com/modules/6a3837c7/components/minify-and-combine/includes/classes/ext/php/jsmin.php(96): WMAC\JSMin->min() #2 /var/www/u1260897/data/www/asoeng.com/modules/6a3837c7/components/minify-and-combine/includes/classes/class-scripts.php(615): WMAC\JSMin::minify('!function(t){"u...') #3 /var/www/u1260897/data/www/asoeng.com/modules/6a3837c7/components/minify-and-combine/includes/classes/class-scripts.php(218): WMAC_PluginScripts->minifySingle('/var/www/u12608...') #4 /var/www/u1260897/data/www/asoeng.com/modules/6a3837c7/components/minify-and-combine/includes/classes/class-main.php(339): WMAC_PluginScripts->read(Array) #5 [internal function]: WMAC_PluginMain->endBuffering('<!DOCTYPE html>...', 9) #6 /var/www/u1260897/data/www/asoeng.com/libs/functions.php(5581): ob_end_flush() #7 /var/www/u1260897/data/www/asoeng.com/libs/class-wp-hook.php(353): wp_ob_end_flush_all('') #8 /var/www/u1260897/data/www/asoeng.com/libs/class-wp-hook.php(377): WP_Hook->apply_filters(NULL, Array) #9 /var/www/u1260897/data/www/asoeng.com/libs/plugin.php(523): WP_Hook->do_action(Array) #10 /var/www/u1260897/data/www/asoeng.com/libs/load.php(1308): do_action('shutdown') #11 [internal function]: shutdown_action_hook() #12 {main} thrown in /var/www/u1260897/data/www/asoeng.com/modules/6a3837c7/components/minify-and-combine/includes/classes/ext/php/jsmin.php on line 264