1. Предпосылки
Функции приложения «Карта» можно просто разделить на три части: позиционирование, поиск и навигация, которые решают проблемы, где, куда идти и как идти. В сценарии поиска AutoNavi Map вводом является географически связанный поисковый запрос, местоположение пользователя, поверхность приложения и другая информация, а выводом является POI, который хочет пользователь. Как более точно найти интересующую пользователей точку интереса и повысить удовлетворенность — это наиболее важный показатель для оценки результатов поиска.
Поисковую систему обычно можно разделить на три части: анализ запроса, отзыв и сортировка.Анализ запроса в основном заключается в том, чтобы попытаться понять значение, выраженное в запросе, и дать рекомендации по отзыву и сортировке.
Анализ запросов при поиске по карте включает не только общие технологии НЛП, такие как сегментация слов, анализ компонентов, синонимы и исправление ошибок при общем поиске, но также включает конкретные методы понимания намерений, такие как анализ города, анализ «где что» и анализ планирования пути.
Намерение запроса в некоторых распространенных сценариях карты выражается следующим образом:
2. Общая техническая архитектура
Подобно общей архитектуре поиска, архитектура поиска карты включает три основные части: анализ запросов, отзыв и сортировку. Априори вводимая пользователем информация может пониматься как выражение различных намерений, и в то же время выдается запрос на попытку получения результата поиска. Апостериорно, когда получены результаты поиска каждого намерения, делается всестороннее суждение и выбирается тот, который дает наилучший эффект.
Понимание конкретных намерений можно разделить на две части: базовый анализ запросов и прикладной анализ запросов.Базовый анализ запросов в основном использует некоторые общие методы НЛП для понимания запроса, включая анализ, компонентный анализ, пропуск, синонимы, исправление ошибок и т. д. Применение анализа запросов в основном направлено на решение конкретных задач на карте, включая анализ целевого города пользователя, является ли он выражением «где+что», является ли он выражением потребностей планирования пути от А до Б и т. д.
Общая технологическая эволюция обработки текста в этой области прошла через процесс основанного на правилах, постепенного внедрения машинного обучения и полного применения машинного обучения. Поскольку модуль поиска является онлайн-сервисом с высокой степенью параллелизма, существуют относительно жесткие условия для внедрения глубоких моделей, однако по мере постепенного решения проблемы производительности мы постепенно внедряем технологию глубокого обучения из различных поднаправлений для проведения новой раунд эффектов продвигать.
В последние годы технологии в области НЛП быстро развиваются. Такие модели, как bert и XLNet, доминируют в списке одна за другой. Мы постепенно унифицируем каждую подзадачу анализа запросов, используем унифицированное векторное представление для выражения потребностей пользователя и выполняем Многозадачность seq2seq в то же время Обучение на основе дальнейшего улучшения эффекта также может гарантировать, что система не будет слишком раздутой.
В этой статье представлена эволюция связанных технологий за последние несколько лет в области обработки географического текста для поиска по картам AutoNavi. Мы выберем некоторые моменты и представим их в двух частях.Последняя часть в основном знакомит с некоторыми распространенными методами анализа запросов в поисковых системах, включая исправление ошибок, перезапись и пропуск. Следующая часть посвящена уникальной технологии анализа запросов в сцене карты, включая анализ города, анализ «где что» и планирование пути.
3. Эволюция технологии общего анализа запросов
3.1 Исправление ошибок
В поисковых системах поисковый запрос (запрос), введенный пользователем, часто пишется с ошибками. Если вы напрямую получите неправильный запрос, вы не получите результатов, которые хочет пользователь. Поэтому, будь то обычная поисковая система или вертикальная поисковая система, запрос пользователя будет скорректирован, и с наибольшей вероятностью будет получен запрос, который пользователь хочет найти.
При текущем поиске по карте около 6%-10% пользовательских запросов будут введены неправильно, поэтому исправление ошибок в запросах является очень важным модулем поиска по карте, который может значительно улучшить поиск для пользователя.
В поисковых системах проблемы с низкой частотой и средними и длинными хвостами часто сложно решить, и они также являются основными проблемами, с которыми сталкиваются модули исправления ошибок. Кроме того, существует очевидная разница между поиском по карте и обычным поиском.Структура запроса поиска по карте более заметна, а фрагменты в запросе часто содержат определенную информацию о местоположении.Как эффективно использовать структурированную информацию в запросе для лучше определить намерение пользователя. Это уникальная задача для исправления ошибок карты.
Общие ошибочные классификации
(1) Пиньинь такой же или похожий, например: логистический парк Паньцяо — логистический парк Панцяо. (2) глифы похожи, например: Хэбэй Маоли-Хэбэй Чанли (3) Несколько символов или отсутствующие символы, например: Quanzhou Zhoudingjie-Quanzhoudingjie
Статус исправления ошибок
Оригинальный модуль исправления ошибок включает в себя множество методов отзыва, таких как:
Исправление ошибок пиньинь: в основном решает проблему исправления ошибок пиньинь для коротких запросов.Пиньинь точно такой же или нечеткий звук используется в качестве кандидата на исправление ошибок. Исправление орфографических ошибок : также называется исправлением ошибок слов, близких к форме, путем обхода и замены слов, близких к форме, фильтрации по популярности запроса и добавления кандидатов. Комбинированное исправление ошибок: исправление ошибок и замена выполняются с помощью модели перевода, а ресурсы в основном представляют собой различные ресурсы замены, добытые посредством выравнивания запросов.
Проблема 1: метод отзыва несовершенен. В настоящее время основные стратегии отзыва модуля исправления ошибок запросов включают повторный вызов пиньинь, повторный вызов глифа и повторный вызов ресурса замены. Для случаев с низкой частотой возможность решения ограничена.
Проблема 2: метод сортировки нецелесообразен. Исправление ошибок разбивается на несколько независимых модулей по методу отзыва, а соответствующий отзыв и сортировка выполняются соответственно, что нецелесообразно.
Технологическая трансформация
Преобразование 1: исправление ошибок сущностей на основе пространственных отношений Исходное исправление ошибок в основном основано на сегменте интеллектуального анализа сеанса пользователя для замены ресурсов, поэтому возможности решения низкочастотных проблем ограничены. Но проблема длинного хвоста часто концентрируется на низких частотах, поэтому проблема с низкими частотами является текущей болевой точкой.
Большая разница между поиском по карте и обычными поисковыми системами заключается в том, что поисковые запросы по карте более структурированы, например, Shoukai Plaza, No. 10, Furong Street, Chaoyang District, Beijing. Мы можем выполнить структурную сегментацию запроса (то есть работу компонентного анализа в карте), чтобы получить такое структурированное описание с категориями: Пекин [город] Район Чаоян [район и округ] Улица Фужун [дорога] № 10 [ суффикс адреса двери] первый открытый квадрат [общая сущность].
В то же время у нас есть достоверные данные о географических знаниях, мы используем авторитетную базу данных географических объектов для построения базы данных индекса дерева префиксов + дерева суффиксов, извлекаем предполагаемую часть исправления ошибок, чтобы выполнить отзыв молнии в базе данных индекса, и используем логическое членство в базе данных сущностей.Отношение фильтрует результаты исправления ошибок. Практика показала, что этот метод оказывает очевидное влияние на низкочастотную зональность или ошибки сущностей.
Вычисление сходства глифов на основе корня
В упомянутой выше стратегии сортировки расстояние редактирования глифа используется как важная функция сортировки.Здесь мы разработали стратегию расчета сходства глифа на основе радикала, которая является более точной и точной для расчета расстояния редактирования. Информация о китайских иероглифах включает список корневых разделенных слов китайского иероглифа и количество штрихов китайского иероглифа.
Модернизация 2: Рефакторинг стратегии сортировки Исходная стратегия отзыва и стратегия сортировки связаны, что приводит к разным ссылкам отзыва, и возникает ситуация, когда одна теряет другую. Чтобы в полной мере использовать преимущества различных методов отзыва, необходимо срочно отделить отзыв от сортировки и оптимизировать глобальную сортировку. Для этого мы добавляем модуль сортировки, который делит процесс на два этапа: отзыв и сортировка.
Для этой проблемы сортировки здесь мы ссылаемся на практику в отрасли и используем парный gbrrank для обучения модели.
Образец конструкции
Создавайте образцы, комбинируя онлайн-вывод с ручной проверкой.
функциональная конструкция (1) Семантические признаки. например, статистические языковые модели. (2) Тепловые характеристики. пв, клик и т.д. (3) Основные характеристики. Редактируйте расстояние, функции сегментации и композиции слов, кумулятивные функции распределения и т. д.
Здесь решаются две болевые точки модуля исправления ошибок, одна из которых — большинство проблем исправления низкочастотных ошибок в сцене карты. Другой - реконструировать процесс модуля, отделить отзыв и сортировку и полностью использовать роль каждой ссылки отзыва.После обновления метода отзыва необходимо переобучить только модель сортировки, что делает модуль более разумным и упрощает задел для последующего глубокого обновления модели хороший фундамент. Позже, в рамках этой структуры, мы выполнили исправление ошибок и отзыв seq2seq через глубокую модель и добились дополнительных преимуществ.
3.2 Переписывание
Исправление ошибок, как способ преобразования запросов, имеет много ограничений.Для некоторых нетипичных выражений преобразования запросов в стратегии есть пробелы. Например, query=Yongcheng New Rural Cooperative Office, целевая POI — это Yongcheng New Rural Cooperative Service Hall. Низкочастотный запрос пользователя часто не дает хорошего поискового эффекта, но по сути семантика пользовательского описания схожа с высокочастотным запросом основных пои.
Здесь мы предлагаем идею перезаписи запросов, которая может переписывать низкочастотные запросы в высокочастотные запросы с аналогичной семантикой, чтобы лучше соответствовать разнообразным выражениям потребностей пользователей.
Это реализация с нуля. Существуют различные запросы, высказанные пользователями, и очевидно, что использование правил для их выражения неисчерпаемо.Интуитивная идея состоит в том, чтобы вызывать по вектору, но способ векторного вызова, вероятно, будет слишком обобщенным и не подходящим для поиска сцен карты. Это все вопросы, которые необходимо учитывать в процессе практики.
план
фаза отзыва
этап сортировки Пример сборки Исходный запрос и набор кандидатов высокочастотного запроса вычисляют семантическое сходство, выбирают TOPK семантического сходства и вручную аннотируют обучающие выборки.
функциональная конструкция
1. Основные функции текста 2. Изменить расстояние 3. Сочетание функций
выбор модели
Дробная регрессия с xgboost
стадия фильтрации Чрезмерное обобщение запроса посредством отзыва вектора очень серьезно, поэтому для того, чтобы его можно было применить в сцене карты, добавляется модель выравнивания. Используются две модели статистического выравнивания, giza и fastalign.Эксперименты показывают, что эффект от них почти одинаков, но fastalign лучше, чем giza по производительности, поэтому был выбран fastalign.
Переписывание запроса заполняет пробелы, которые не могут быть удовлетворены некоторыми низкочастотными выражениями в исходном модуле анализа запросов.В отличие от явных выражений преобразования запросов синонимов или исправления ошибок, векторное представление предложений является неявным выражением подобных запросов и имеет его соответствующие преимущества.
Векторное представление и отзыв также являются попытками постепенно начать применять модели глубокого обучения. Синонимы, перезапись и исправление ошибок — это три основных способа преобразования запросов в карте.В прошлом они были относительно разбросаны по модулю карты, каждый из которых выполнял свои обязанности, и будут перекрывающиеся части. В последующих итеративных обновлениях мы представили унифицированную модель преобразования запросов для преобразования.Получив преимущества, мы также избавились от исторической нагрузки, вызванной множеством правил и связыванием моделей в прошлом.
3.2 Опустить
В сценарии поиска по карте есть много запросов, содержащих недопустимые слова. Если вы попытаетесь вспомнить все запросы, вы не сможете вспомнить действительные результаты. Например, город Сямэнь искал «Комната 1101, 11-й этаж, Операционный центр Синьцзечуан, Парк высоких технологий Сяньхоу, район Хули, станция Xianhou brt». Это требует намерения поиска.Без очевидного экранирования основной термин используется для вызова набора кандидатов на целевые POI, который может дополнить отзыв, когда результаты поиска бесплодны или отзыв плохой.
В процессе опущения суждения возникает проблема априорного и апостериорного баланса. Отсутствие намерения является априорным суждением, но ожидаемый результат состоит в том, чтобы иметь возможность эффективно вспомнить POI, что тесно связано со статусом поля отзыва POI. Как сохранить априорную согласованность в процессе разработки стратегии и в то же время получить относительно хорошие результаты в апостериорных POI — трудная часть исключения модулей.
Исходный модуль elision в основном основан на правилах, и основной особенностью зависимости от правил является функция анализа восходящих компонентов. Благодаря подгонке на основе правил существует большое пространство для оптимизации эффекта модели. Кроме того, надежность модели невысока из-за сильной зависимости от компонентного анализа.
Технологическая трансформация
Преобразование пропущенного модуля в основном завершает обновление правил до модели crf, а модель глубокого обучения также применяется в автономном режиме для помощи в создании образцов.
выбор модели
Определение того, какие части запроса являются основными, а какие можно опустить, представляет собой проблему маркировки последовательностей. При выборе мелкой модели очевидно, что мы используем модель crf.
функциональная конструкция
черта термина. Используются взвешенные признаки, части речи, априорные признаки словаря и т. д. Характеристики ингредиентов. Все еще использую функции компонентного анализа. Статистические характеристики. Левая и правая граничная энтропия статистического сегмента, энтропия городского распределения и т. д. дискретизируются путем бинирования.
Образец конструкции
На первом этапе проекта мы использовали метод использования онлайн-стратегии для грубой маркировки и аутсорсинга тонкой маркировки и построили 10 000 образцов уровня для обучения модели crf.
Однако разнообразие пропуска запроса очень велико, и недостаточно использовать выборки уровня 10 000. Когда онлайн-модель не может быстро применить глубокую модель, мы используем метод бустинга для построения большого количества выборок в автономном режиме с с помощью обобщающей способности глубинной модели.
Исключив модуль, мы завершили переход от правил к машинному обучению и внедрили другие функции, помимо компонентов, для повышения надежности модели. При этом цикл построения выборки осуществляется с помощью автономного глубокого обучения, что улучшает разнообразие выборок и приближает модель к потолку crf.
При последующем моделировании глубокой модели мы постепенно избавились от зависимости от особенностей компонентного анализа, напрямую смоделировали запрос к ядру хит-пои, построили большое количество выборок и добились дальнейших преимуществ.