Meituan Knowledge Graph Вопросы и ответы Практика и исследование технологий

искусственный интеллект алгоритм
Meituan Knowledge Graph Вопросы и ответы Практика и исследование технологий

Ответ на вопрос, основанный на знаниях (KBQA), относится к заданному вопросу на естественном языке посредством семантического понимания и анализа вопроса, а затем с использованием базы знаний для запроса и обоснования, чтобы получить ответ. У Meituan есть большое количество консультационных вопросов по нескольким сценариям предпродажного, послепродажного и послепродажного обслуживания платформы. Основываясь на системе вопросов и ответов, мы помогаем продавцам повысить эффективность ответов на вопросы пользователей и быстрее решать проблемы пользователей с помощью автоматического интеллектуального ответа или рекомендуемого ответа. Основываясь на конкретной практике KBQA на сцене Meituan и статье, опубликованной на EMNLP 2021, эта статья представляет общий дизайн системы KBQA, прорывы в трудностях и исследование сквозных вопросов и ответов, надеясь быть полезно для студентов, занимающихся смежными исследованиями или вдохновленных.

1 Предыстория и проблемы

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

Для различных проблем интеллектуальная система ответов на вопросы Meituan включает в себя несколько решений:

  1. PairQA: Используйте технологию поиска информации, чтобы найти наиболее близкий ответ на текущий вопрос из вопросов, на которые уже ответило сообщество.
  2. DocQA: на основе технологии понимания прочитанного извлекайте фрагменты ответов из неструктурированной бизнес-информации и комментариев пользователей.
  3. KBQA (ответы на вопросы, основанные на знаниях): Основанный на технологии ответов на вопросы графа знаний, ответ основывается на структурированной информации о продавцах и товарах.

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

В вопросах пользователя есть много информационных консультаций о товарах, предприятиях, живописных местах, отелях и другой связанной базовой информации и правилах.На основе технологии KBQA информация на страницах товаров и бизнес-деталей может быть эффективно использована для решения такой информации. проблемы с консультацией. . После того, как пользователь вводит вопрос, система KBQA анализирует и понимает вопрос, заданный пользователем, на основе алгоритма машинного обучения, запрашивает и выводит структурированную информацию в базе знаний и, наконец, возвращает точный ответ пользователю. По сравнению с PairQA и DocQA, источники ответов KBQA — это в основном данные продавцов, что вызывает больше доверия. В то же время он может выполнять запросы с несколькими переходами, фильтрацию ограничений и лучше справляться со сложными онлайн-проблемами.

При практическом применении система KBQA сталкивается со многими проблемами, такими как:

  1. Различные бизнес-сценарии: На платформе Meituan существует множество бизнес-сценариев, включая отели, туризм, продукты питания и более десяти видов бизнеса в сфере жизнеобеспечения, и в разных сценариях существуют различия в намерениях пользователей, например, «сколько стоит завтрак?» Для гурманов. предприятия, вам нужно ответить Цена на душу населения, а для гостиничного бизнеса вам нужно ответить на детали цен в ресторанах в отеле.
  2. Проблема с ограничениями: Обычно в вопросе пользователя содержится много условий, например «Есть ли какие-либо скидки для студентов Запретного города?» Нам нужно отфильтровать льготные политики, связанные с Запретным городом, вместо того, чтобы отвечать пользователю на все льготные политики.
  3. проблема с несколькими переходами: проблема пользователя включает в себя путь, состоящий из нескольких узлов в графе знаний. Например, «во сколько открывается бассейн в отеле XX», нам нужно найти отель, бассейн и часы работы в графе.

Далее будет подробно описано, как мы разрабатываем высокоточную систему KBQA с малой задержкой, обрабатываем информацию, такую ​​как сцены и контексты, точно понимаем пользователей и фиксируем намерения пользователей, чтобы решить вышеуказанные задачи.

2 решения

Вход системы KBQA — это запрос пользователя, а выход — ответ. Общая архитектура показана на рис. 1 ниже. Верхний уровень — это прикладной уровень, включающий несколько записей, таких как диалог и поиск. После получения запроса пользователя онлайн-сервис KBQA вычисляет результат с помощью модуля сортировки понимания и отзыва запроса и, наконец, возвращает текст ответа. Помимо онлайн-сервисов, большое значение имеет также построение и хранение графов знаний. Пользователи будут интересоваться не только основной информацией о продавцах, но и задавать вопросы о точках обзора и информации об объектах, например, интересны ли живописные места и удобна ли парковка отеля. В ответ на вышеупомянутую проблему отсутствия официальных поставок мы создали набор процессов извлечения информации и мнений, которые могут извлекать ценную информацию из неструктурированных деловых представлений и комментариев пользовательского контента, чтобы повысить удовлетворенность пользователей консультациями. подробное введение.

图1 KBQA系统架构图

Для модели KBQA в настоящее время существует два основных решения, как показано на рис. 2 ниже:

图2 KBQA解决方案分类

  • на основе семантического разбора: Выполняйте углубленный синтаксический анализ вопросов, объединяйте результаты анализа в исполняемые логические выражения (например, SparQL) и запрашивайте ответы непосредственно из базы данных графа.
  • На основе информационного поиска: сначала проанализируйте основную сущность вопросительного предложения, а затем запросите несколько троек, связанных с основной сущностью, из KG, чтобы сформировать путь подграфа (также известный как подграф с несколькими переходами), а затем закодируйте и отсортируйте вопросительное предложение. и путь подграфа соответственно. , который возвращает путь с наибольшим количеством очков в качестве ответа.

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

Поэтому, учитывая преимущества обоих, мы принимаем схему, которая объединяет их. Как показано на Рисунке 3 ниже, весь процесс разделен на четыре этапа.В качестве примера возьмем вопрос «Есть ли в Запретном городе студенческие билеты по выходным?»:

图3 美团KBQA解决方案

  1. Понимание запроса: введите исходный запрос и выведите результат понимания запроса. Среди них Запрос будет синтаксически проанализирован, и будет определено, что основной объект пользовательского запроса — «Запретный город», сфера деятельности — «туризм», а тип вопроса — Односкачковый.
  2. идентификация отношений: Введите запрос, домен, результат синтаксического анализа, отношения кандидатов и выведите оценку каждого кандидата. В этом модуле мы используем анализ зависимостей, чтобы укрепить проблемную основу Query, вспомнить соответствующие отношения в сфере туризма, выполнить сопоставление и сортировку, а также определить отношения в Query как «билеты».
  3. отзыв подграфа: введите основные объекты и отношения, разрешенные в первых двух модулях, и выведите подграфы (несколько троек) в графе. В приведенном выше примере будут отозваны все подграфы, основным объектом которых является «Запретный город», а связью является «билет» в данных о туристическом бизнесе.
  4. сортировка ответов: Введите запрос и кандидаты подграфа, выведите баллы кандидатов подграфа, если Top1 соответствует определенному порогу, выведите в качестве ответа. По результатам синтаксического анализа условие ограничения идентифицируется как «голоса студентов», на основании которого осуществляется окончательная сортировка пар «Запрос-Ответ» и вывод удовлетворенных ответов.

Далее будет представлено наше строительство и исследование ключевых модулей.

2.1 Понимание запроса

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

  • Распознавание сущностей и связывание сущностей для вывода значимых связанных с бизнесом сущностей и типов в вопросах, таких как название компании, предмет, объект, толпа, время и т. д.
  • Анализ зависимостей: используйте результаты сегментации слов и распознавания частей речи в качестве входных данных для определения основной сущности вопроса, запрашиваемой информации и ограничений.

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

  • Чтобы улучшить способность распознавания слов OOV (вне словарного запаса), мы вводим знания в модель аннотации последовательности распознавания сущностей и используем известные предварительные знания, чтобы помочь в открытии новых знаний.
  • Учитывая проблему вложенности сущностей, наш модуль распознавания сущностей будет выводить как общие, так и подробные результаты, чтобы гарантировать, что последующие модули полностью понимают Query.
  • В сценарии длинного запроса, состоящего из вопросов и ответов, контекстная информация используется для связывания сущностей и получения идентификатора узла.

Наконец, модуль выводит тип каждого важного компонента в предложении, как показано на рисунке 4 ниже:

图4 Query理解流程及结果

Анализ зависимостей - это разновидность синтаксического анализа. Его цель - выявить асимметричное отношение доминирования между словами в предложении. В выходном результате он представлен направленной дугой. Дуга направлена ​​от подчиненного слова (dep) к доминирующему слово (голова). Для задачи KBQA мы определяем пять взаимосвязей, как показано на рисунке 5 ниже:

图5 依存类型定义

Существует два основных подхода к анализу зависимостей: на основе переходов и на основе графов. Анализ зависимостей на основе переходов моделирует построение синтаксического дерева зависимостей как серию операций, и модель предсказывает действия каждого шага (shift, left_arc, right_arc) и постоянно помещает необработанные узлы в стек и назначает отношения для окончательно сформируйте синтаксическое дерево. Методы на основе графов направлены на поиск максимального остовного дерева в графе, то есть глобального оптимального решения общих зависимостей предложений. Учитывая, что метод на основе графа является глобальным поиском и имеет более высокую точность, мы используем более классическую модель «Deep Biaffine Attention for Neural Dependency Parsing», структура которой показана на рисунке 6 ниже:

图6 依存分析模型结构

Модель сначала кодирует конкатенированные векторы слов и частей речи через BiLSTM, а затем использует две головки MLP для кодирования векторов h (arc-head) и h (arc-dep) соответственно для удаления избыточной информации. Наконец, векторы в каждый момент склеиваются между собой, чтобы получить H(дуга-головка) и H(дуга-dep), а на H(дуга-dep) склеивается единичный вектор, а промежуточная матрица U( arc) добавляется для выполнения аффинного преобразования. Получите точечную интегральную матрицу S(arc) для dep и head и найдите заголовок, от которого зависит каждое слово.

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

2.2 Идентификация отношений

Распознавание отношений является еще одним основным модулем в KBQA.Цель состоит в том, чтобы идентифицировать отношение (предикат), заданное пользователем Query, чтобы определить уникальный подграф вместе с основным объектом (субъектом) и получить ответ (объект).

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

图7 关系识别模型结构

С появлением крупномасштабных предварительно обученных языковых моделей большие модели, такие как BERT, достигли результатов SOTA в задачах сопоставления.Как правило, методы, обычно используемые в отрасли, в основном подразделяются на следующие два типа:

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

Чтобы в полной мере использовать возможности семантического моделирования BERT и учитывать требования к онлайн-задержке реальных услуг, мы сделали следующие три оптимизации в ускорении логического вывода, улучшении данных и расширении знаний:

  1. Иерархическая обрезка: Каждый уровень BERT изучит разные знания. Если вы близки к стороне ввода, вы изучите более общие синтаксические знания, а если вы близки к выходу, вы изучите больше знаний, связанных с задачей. Поэтому мы ссылаемся на DistillBERT и принять иерархическую обрезку с равными интервалами Skip. Сохраняются только 3 слоя, которые лучше всего влияют на задачу, что улучшает показатель F1 на 4% по сравнению с обрезкой, которая просто сохраняет первые три слоя. В то же время, в ходе эксперимента установлено, что разница в эффекте от разных методов обрезки может достигать 7%.
  2. Предварительное уточнение данных задачи домена: После обрезки из-за ограниченных данных для обучения эффект трехслойной модели немал. Благодаря пониманию бизнеса мы обнаружили, что данные модуля Meituan «Спросить всех» в значительной степени соответствуют онлайн-данным, и мы очистили данные, взяли заголовок вопроса и связанные вопросы в качестве положительных примеров и случайным образом выбрали буквальное сходство. 0,5- Предложения между 0,8 используются в качестве отрицательных примеров для генерации большого количества слабо контролируемых текстовых пар.Точность 3-слойной модели после предварительной тонкой настройки повышается более чем на 4%, даже превосходя эффект 12-слойная модель.
  3. расширение знаний: Из-за разнообразия пользовательских выражений для точного определения намерения пользователя требуется углубленная семантическая и грамматическая информация. Чтобы еще больше улучшить эффект и решить некоторые случаи одновременно, мы добавили доменную и синтаксическую информацию на вход и включили явные предварительные знания в BERT.Под действием механизма внимания в сочетании с древовидной структурой синтаксических зависимостей, мы можем точно моделировать слова Для зависимостей между словами мы проверили бизнес-данные и пять больших общедоступных наборов данных.По сравнению с базовой моделью BERT точность была улучшена в среднем на 1,5%.

После вышеуказанной серии итераций скорость и точность модели значительно улучшились.

2.3 Понимание сложных проблем

В реальных сценариях большинство вопросов можно разделить на следующие четыре категории (зеленый — это узел ответа), как показано на рисунке 8 ниже:

图8 复杂问题分类

Количество переходов в вопросе определяется количеством объектов.Одноэтапные вопросы обычно включают только основную информацию о продавце, такую ​​как адрес продавца, номер телефона, часы работы, правила и т. д., которые могут быть отвечает набором SPO (троек) на графе знаний; вопрос с двумя переходами в основном предназначен для получения информации об определенных удобствах и услугах в магазине, таких как тренажерный зал в отеле, на каких этажах, во сколько начинается завтрак и цена службы встречи в аэропорту и т. д., вам нужно найти продавца -> основной объект (услуги/услуга/товар и т. д.), а затем найти триплет базовой информации основного объекта, то есть SPX и XPO утроится. Вопросы с ограничениями относятся к ограничениям основного объекта или узла ответа, обычно времени, толпы или атрибутивным.

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

2.3.1 Задачи с ограничениями

Изучая онлайн-журналы, мы разделяем ограничения на следующие категории, как показано на рисунке 9 ниже:

图9 约束问题分类

Ответы на ограниченные вопросы включают два ключевых шага:Распознавание ограниченийисортировка ответов.

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

Чтобы повысить эффективность, мы сначала оптимизируем уровень хранения знаний. Что касается хранения составных значений атрибутов, Freebase предлагает тип Compound Value Type (CVT), как показано на рис. 10 ниже, для решения проблем с хранением и запросом таких составных структурированных данных. Например, время работы Happy Valley для разных мероприятий разное. Это составное значение атрибута может быть реализовано в форме CVT.

图10 CVT类型示例

Однако метод хранения CVT увеличивает сложность запросов и занимает место в базе данных. В качестве примера возьмем картинку «Happy Valley Business Hours CVT»:

  • Эта информация обычно хранится в парных вариаторах, при этом один вариатор содержит 3 триплета.
  • На вопрос «во сколько начинается летнее ночное шоу Happy Valley» при запросе используются четыре перехода, а именно: рабочее время CVT>, сезон=лето>, Период времени = ночное шоу>, время>. Для баз данных графов, таких как Nebula, которые быстро запрашиваются в отрасли, общее время запроса более трех прыжков составляет около десятков миллисекунд, что занимает много времени при реальном онлайн-использовании.
  • Как только имена атрибутов и значения атрибутов имеют разные, но согласованные выражения, необходим еще один шаг слияния синонимов, чтобы гарантировать, что запрос может быть сопоставлен без потери отзыва.

Чтобы решить вышеупомянутые проблемы, мы принимаем структурированную форму Key-Value для переноса атрибутивной информации. Среди них ключ — это информация об ограничениях ответа, такая как толпа, время и другая информация, которая может использоваться в качестве ограничений значения атрибута, может быть помещена в ключ, а значение — это ответ, который нужно проверить. Для приведенного выше примера мы объединяем информацию обо всех возможных измерениях ограничений в ключи, как показано на рисунке 11 ниже:

图11 约束问题解决方案

После этого, чтобы решить проблему слишком большого количества значений ограничений, в фактическом процессе запроса, в случае, если полное совпадение не найдено, мы используем ключ значения атрибута и информацию об ограничениях в задаче для сопоставления и расчета корреляция, и рассчитывается самая высокая корреляция.Ключ, соответствующее значение является ответом. Поэтому способ представления Key может быть в различных формах:

  • Строковая форма: Используйте метод подобия текста для расчета и ограничения релевантности текста.
  • Встраивание текста: Если текстовая форма ключа используется в форме внедрения, аналогично информации об ограничениях, эффект лучше, чем в строковой форме, когда обучающие данные разумны.
  • Другие алгоритмы встраивания: например, встраивание графа для виртуальных узлов, совместное обучение текста ограничения и соответствующих виртуальных узлов и т. д.

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

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

2.3.2 Многоскачковая проблема

Проблема с несколькими переходами — это тип проблемы, который, естественно, подходит для KBQA.Когда пользователь запрашивает информацию о таких объектах, как объекты, услуги и товары у продавца, нам нужно только сначала найти продавца на графике, а затем найдите объект под продавцом, а затем найдите следующую основную информацию. Если вы используете решение FAQ, вам нужно задать стандартный вопрос для каждого сложного вопроса, такого как «расположение тренажерного зала», «расположение бассейна» и так далее. В KBQA мы можем очень хорошо сжимать такие вопросы.Независимо от того, какое местоположение объекта задано, задается краевое отношение «местоположения», но начальная сущность отличается.

В системе KBQA мы сначала полагаемся на модуль анализа зависимостей для выявления зависимостей между компонентами предложения, а затем используем модуль распознавания взаимосвязей для определения количества переходов взаимосвязи и взаимосвязи, запрашиваемой предложением Конкретный процесс показан на рисунке 12 ниже. :

图12 多跳问题解决方案

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

2.4 Вопросы и ответы

В дополнение к упомянутым выше основным информационным запросам пользователи также будут задавать вопросы, основанные на мнении, такие как «Удобно ли Диснею парковаться?», «Является ли отель XX звукоизоляцией?» и так далее. Для вопросов с субъективным мнением соответствующие комментарии можно найти в комментариях пользователей на основе FAQ или технологии понимания прочитанного, но этот метод часто может дать только один или несколько комментариев, которые могут быть слишком субъективными и не могут обобщать мнения группы. Поэтому мы предлагаем решение вопросов и ответов для мнений, которое дает количество положительных и отрицательных сторонников точки зрения, и в то же время учитывает интерпретируемость, а также предоставляет доказательства комментариев для большинства мнений. в приложении показано на рисунке 13 ниже:

图13 观点问答截图

Чтобы автоматически анализировать мнения пользователей в пакетном режиме, мы разделяем двухэтапное решение: обнаружение мнений и сбор доказательств, как показано на рисунке 14 ниже.

图14 观点挖掘步骤

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

На втором шаге, после добычи определенного количества мнений, покопайтесь в доказательствах (Evidence) в комментариях, как показано на Рисунке 15 ниже. Хотя источник некоторых мнений также можно найти на первом этапе поиска мнений, многие комментарии пользователей по-прежнему являются неявными. Например, на вопрос «можно ли привозить домашних животных» пользователи не обязательно указывают прямо в комментариях, а говорят «собакам здесь весело». Это требует от нас глубокого семантического понимания предложений комментариев, чтобы обобщить мнения. Во время реализации решения мы изначально использовали модель классификации для классификации мнений, ввода комментариев пользователей и использования кодировщика для понимания предложений, а затем глава классификации каждого мнения оценивал положительную степень мнения. Однако с ростом мнений в автоматизированном майнинге, чтобы снизить стоимость задач ручной маркировки и классификации, мы конвертируем ее в задачу сопоставления, то есть вводим теги мнений (Tag) и комментарии пользователей, и судим о степени поддержка мнения. Наконец, чтобы оптимизировать скорость, мы урезаем 12-слойный Transformer, и эффект снижается только на 0,8% при увеличении скорости в 3 раза, что реализует автономный майнинг крупномасштабных представлений.

图15 观点证据挖掘步骤

2.5 Изучение комплексных решений

Выше мы разработали различные решения для сложных проблем, таких как многоскачковые и ограничения.Хотя проблема может быть решена в определенной степени, сложность системы также увеличивается. Основываясь на предтренировочной идее модуля распознавания отношений, мы изучили более общие сквозные решения,И опубликовал статью «Крупномасштабное изучение отношений для ответов на вопросы по базам знаний с предварительно обученными языковыми моделями» в EMNLP этого года..

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

图16 关系识别预训练任务

  1. Relation Extraction: На основе крупномасштабного набора данных с открытым исходным кодом для извлечения отношений большое количество одношаговых ([CLS]s[SEP]h, r, t[SEP]) и двухшаговых ([CLS]s1, s2 [SEP] ]h1 , r1 , t1 генерируются (h2 ), r2 , t2 [SEP] ) из обучающих данных текстовой пары, что позволяет модели изучить взаимосвязь между естественным языком и структурированным текстом.
  2. Relation Matching: Чтобы модель лучше улавливала реляционную семантику, мы генерируем большое количество текстовых пар на основе реляционных данных извлечения, и тексты с одинаковым отношением являются положительными примерами друг друга, в противном случае они являются отрицательными примерами.
  3. Relation Reasoning: чтобы модель обладала определенной способностью рассуждать на основе знаний, мы предполагаем, что (h, r, t) на графике отсутствует, и используем другие косвенные отношения, чтобы сделать вывод, верно ли (h, r, t). есть: [CLS]h, r, t[SEP]p1 [SEP]...pn [SEP].

После предварительного обучения вышеперечисленным задачам способность модели BERT к рассуждениям для запросов и структурированного текста значительно улучшилась, и она имеет лучшую производительность в случае неполной базы знаний, как показано на рисунке 17 ниже:

图17 模型效果

3 Практика применения

После более чем года разработки текущая служба KBQA была подключена к туристическим, гостиничным и комплексным услугам Meituan, помогая продавцам своевременно отвечать на вопросы пользователей и повышая удовлетворенность пользователей и коэффициент конверсии.

3.1 Спросите отель

Отели являются одним из основных требований для пользователей в поездках, но некоторые малые и средние предприятия не открыли порталы ручного обслуживания клиентов и не могут своевременно реагировать на информацию пользователей. Чтобы удовлетворить потребности пользователей в быстром поиске информации на странице сведений, интеллектуальный помощник помогает продавцам отелей, не имеющим функций обслуживания клиентов, автоматически отвечать, повышая коэффициент конверсии заказов пользователей. Пользователи могут запрашивать различные типы информации на страницах отелей и типов номеров, как показано на рис. 18 ниже:

图18 酒店问一问产品示例

3.2 Проталкивание билетов

Ticket Promotion призвана помочь туроператорам решить основную задачу по продаже билетов.В часы пик в живописных местах покупка билетов онлайн удобнее, чем стоять в очереди.Однако многие пользователи по-прежнему сохраняют привычку покупать билеты офлайн. Meituan повысил удобство продажи билетов продавцами и покупки билетов пользователями за счет введения QR-кодов и простых взаимодействий. В то же время мы встроили «умный помощник по покупке билетов» на странице покупки билетов, чтобы решить проблемы пользователя в процессе покупки билетов и помочь пользователям быстрее покупать подходящие билеты, как показано на рисунке 19 ниже:

图19 门票地推产品示例

3.3 Ответ продавца на рекомендацию

В дополнение к сценариям путешествий у пользователей также будет много вопросов при просмотре других местных предприятий сферы услуг, таких как «Нужна ли парикмахерская запись на прием?», «Во сколько магазин закрывается самое позднее?» С ними можно ознакомиться через обслуживание бизнес-клиентов. Однако рабочая сила самого бизнеса ограничена, и неизбежно, что они будут перегружены в пиковый период. Чтобы сократить время ожидания пользователей, наша служба вопросов и ответов предоставит продавцам функцию рекомендации слов, как показано на рисунке 20 ниже. Среди них KBQA в основном отвечает за информационные вопросы, связанные с продавцами и групповыми покупками.

图20 商家推荐回复产品示例

4 Резюме и перспективы

KBQA — это не только популярное направление исследований, но и сложная система, включающая в себя множество алгоритмов, таких как распознавание сущностей, синтаксический анализ, распознавание отношений и т. д. Необходимо не только обращать внимание на общую точность, но и контролировать задержка большой вызов. После более чем года технических исследований наша команда не только внедрила несколько приложений в Meituan, но и заняла первое место в списке A, второе место в списке B и награду за технологические инновации в оценке CCKS KBQA в 2020 году. . В то же время мы опубликовали некоторые данные Meituan и сотрудничали с Пекинским университетом для проведения оценки CCKS KBQA в 2021 году.

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

  • Неконтролируемая передача домена: Поскольку KBQA охватывает несколько бизнес-сценариев, таких как отели Meituan, туризм и комплексный подход, который содержит более десяти небольших полей, мы надеемся улучшить возможности модели с несколькими и нулевыми выстрелами и снизить трудозатраты, вызванные маркировкой данных.
  • Расширение бизнес-знаний: в случае распознавания отношений сосредоточение внимания на нерелевантных словах из основных слов модели вызовет серьезные помехи в модели.Мы изучим, как использовать предварительные знания для внедрения предварительно обученных языковых моделей, чтобы направлять коррекцию процесса внимания. для улучшения производительности модели.
  • Больше типов сложных задач: В дополнение к вышеупомянутым ограничениям и проблемам с несколькими переходами пользователи также будут задавать проблемы сравнения и множественных отношений.В будущем мы оптимизируем построение графа и модули понимания запросов, чтобы решить проблему длинного хвоста пользователей.
  • Сквозной KBQA: KBQA — это сложный процесс как для промышленности, так и для научных кругов. Как использовать предварительно обученную модель и собственные знания для упрощения общего процесса и даже сквозных решений — это направление, которое мы продолжим исследовать.

Студенты, заинтересованные в KBQA, также могут присоединиться к нашей команде и вместе изучить новые возможности KBQA! Адрес доставки резюме:wangsirui@meituan.com.

об авторе

Такие, как Мэй, Лян Ди, Сируи, Хунчжи, Минъян, Увэй, все из группы графов знаний Центра НЛП отдела поиска и НЛП.

Прочтите другие подборки технических статей от технической команды Meituan

внешний интерфейс | алгоритм | задняя часть | данные | Безопасность | Эксплуатация и техническое обслуживание | iOS | Android | контрольная работа

|Ответьте на ключевые слова, такие как [акции 2020 г.], [акции 2019 г.], [акции 2018 г.], [акции 2017 г.] в диалоговом окне строки меню общедоступной учетной записи, и вы сможете просмотреть коллекцию технических статей технической группы Meituan в течение годы.

| Эта статья подготовлена ​​технической командой Meituan, авторские права принадлежат Meituan. Добро пожаловать на перепечатку или использование содержимого этой статьи в некоммерческих целях, таких как обмен и общение, пожалуйста, укажите «Содержимое воспроизводится технической командой Meituan». Эта статья не может быть воспроизведена или использована в коммерческих целях без разрешения. Для любой коммерческой деятельности, пожалуйста, отправьте электронное письмо по адресуtech@meituan.comПодать заявку на авторизацию.