Исследование и внедрение технологии NER в поиске Meituan

искусственный интеллект поисковый движок
Исследование и внедрение технологии NER в поиске Meituan

1. Предпосылки

Распознавание именованных сущностей (NER), также известное как «распознавание имен собственных», относится к идентификации сущностей с определенным значением в тексте, в основном включая имена людей, места, учреждения, имена собственные и т. д. NER является важным базовым инструментом в таких областях применения, как извлечение информации, система ответов на вопросы, синтаксический анализ, машинный перевод, аннотация метаданных для Semantic Web и т. д. Он занимает важное место в процессе внедрения технологии обработки естественного языка. В сценарии поиска Meituan NER является основным базовым сигналом глубокого понимания запросов (DQU), который в основном используется при отзыве поиска, распознавании намерений пользователя, связывании объектов и других ссылках.

Применение распознавания сущностей при поиске будет кратко описано ниже. В поиске O2O описание POI продавца представляет собой ряд текстовых доменов, которые не сильно коррелируют друг с другом, таких как имя продавца, адрес и категория. Если поисковая система O2O также примет метод пересечения всех текстовых полей, может произойти большое количество ложных отзывов. Наше решение, как показано на рис. 1 ниже, позволяет конкретному запросу выполнять обратный поиск только в определенном текстовом домене, что мы называем «структурированным отзывом», что может обеспечить высокую релевантность отзыва продавцов. Например, для запроса типа «Хайдилао» адреса некоторых предприятий будут описаны как «в нескольких сотнях метров от Хайдилао». Если для извлечения этих предприятий используется полнотекстовый домен, они будут отозваны, что явно не соответствует пользователь хочет. Структурированный отзыв идентифицирует «Haidilao» как продавца на основе NER, а затем выполняет поиск только в текстовом поле, связанном с именем продавца, так что вспоминаются только продавцы бренда Haidilao, что точно соответствует потребностям пользователей.

图1 实体识别与召回策略

В отличие от других сценариев применения, задача NER поиска Meituan имеет следующие характеристики:

  • Количество новых организаций огромно, а темпы роста высокие.: Сфера местных жизненных услуг стремительно развивается, одна за другой появляются новые магазины, новые продукты и новые категории услуг; запросы пользователей часто смешиваются со множеством нестандартных выражений, аббревиатур и горячих слов (таких как «беспокойство о живот», «сосущие кошки» и др.), что очень важно для достижения высокой точности. , НЭР с большим охватом ставит большие задачи.

  • Сильная релевантность домена: Распознавание объекта в поиске тесно связано с бизнес-предложением. Помимо общей семантики, необходимо добавить знания, связанные с бизнесом, чтобы помочь суждению, например, «подстричь волосы». Общее понимание состоит в том, чтобы обобщить описание объекта, но это хозяйствующий субъект в розыске.

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

2. Технический отбор

В соответствии с характеристиками задач NER в области O2O наш общий технический выбор основан на схеме «сопоставление словаря сущностей + предсказание модели», как показано на рисунке 2 ниже. Проблемы, решаемые с помощью сопоставления словаря сущностей и предсказания моделей, имеют свои особенности, и на данном этапе они необходимы. Следующие ответы на три вопроса объясняют, почему мы сделали такой выбор.

Зачем вам нужно сопоставление словаря сущностей?

**Ответ:** Есть четыре основные причины:

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

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

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

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

Зачем нам нужно предсказание модели с сопоставлением словаря сущностей?

**Ответ:** Есть две причины:

Во-первых, с непрерывным увеличением объема поиска выражение среднего и длинного поискового трафика усложняется, и все больше и больше проблем с OOV (Out Of Vocabulary) начинают появляться Словари сущностей не могут удовлетворить все более разнообразные потребности пользователей. , Его можно использовать как эффективное дополнение к поиску по словарю.

Во-вторых, сопоставление словаря сущностей не может решить проблему неоднозначности.Например, «Башня желтого журавля», «Башня желтого журавля» в словаре сущностей также является живописным местом в Ухане, бизнесом в Пекине и сигаретным продуктом. сопоставление не имеет возможности устранения неоднозначности.Эти три типа All будут выведены, а предсказание модели может быть объединено с контекстом, и не будет выводиться, что «Башня желтого журавля» является сигаретным продуктом.

Как объединяются и выводятся результаты сопоставления словаря сущностей и предсказания модели?

**Ответ: **В настоящее время мы используем обученную сеть весов CRF в качестве счетчика для оценки путей NER двух выходных данных сопоставления словаря сущностей и предсказания модели. Когда нет результата сопоставления по словарю или оценка пути значительно ниже прогнозируемой моделью, используется результат распознавания модели, а в остальных случаях по-прежнему используется результат сопоставления по словарю.

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

图2 实体识别整体架构

3. Сопоставление словаря сущностей

Традиционная технология NER может работать только с установленными и существующими объектами в общих доменах, но не может работать с типами объектов, характерными для вертикальных доменов. В сценарии поиска Meituan автономный сбор уникальных данных, таких как структурированная информация POI, данные отзывов продавцов и журналы поиска, может решить проблему распознавания объектов домена. После постоянного пополнения и накопления автономной базы данных сущностей онлайн-использование упрощенного тезауруса для соответствия распознаванию сущностей стало простым, эффективным и контролируемым и может хорошо охватывать трафик головы и талии. В настоящее время скорость распознавания онлайн NER на основе библиотеки сущностей может достигать 92%.

3.1 Автономный майнинг

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

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

Наш автономный анализ сущностей основан на нескольких источниках и методах, включая источники данных, включая структурированную базу бизнес-информации, статьи энциклопедии, полуструктурированные журналы поиска и неструктурированные комментарии пользователей (UGC). Также используются различные методы майнинга, включая правила, традиционные модели машинного обучения, модели глубокого обучения и т. д. Как неструктурированный текст, UGC содержит большое количество нестандартных имен выражений. Ниже мы подробно представим новый метод автоматического анализа слов в вертикальных полях для пользовательского контента.Метод в основном включает три этапа, как показано на рисунке 3 ниже:

图3 一种适用于垂直领域的新词自动挖掘方法

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

Шаг 2: Создание крупномасштабного размеченного корпуса на основе удаленного контроля. Частые последовательности меняются с данным корпусом, поэтому ручная маркировка чрезвычайно дорога. Мы используем существующий накопленный словарь сущностей в поле в качестве тезауруса удаленного контроля и берем пересечение последовательности-кандидата и словаря сущностей на шаге 1 в качестве обучающей положительной выборки. В то же время путем анализа последовательностей-кандидатов обнаруживается, что только около 10% кандидатов из миллионов часто встречающихся Ngram являются действительно качественными новыми словами. Поэтому для отрицательного примера метод отрицательной выборки используется для создания обучающего набора отрицательных примеров [1]. Для массивного корпуса пользовательского контента мы разработали и определили четыре параметра статистических характеристик для измерения доступности фраз-кандидатов:

  • частота: Значимые новые слова должны соответствовать определенной частоте в корпусе, и этот индекс рассчитывается на Шаге 1.

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

  • степень информированности: Недавно обнаруженный словарь должен иметь реальное значение и относиться к новому объекту или понятию.Эта функция в основном учитывает обратную частоту документа, распределение частей речи и распределение стоп-слов фразы в корпусе.

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

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

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

После извлечения большого количества новых слов или фраз из корпуса пользовательского контента обратитесь к AutoNER [2], чтобы предсказать тип вновь найденных слов, тем самым расширив библиотеку автономных сущностей.

3.2 Онлайн-сопоставление

Исходный онлайн-метод сопоставления словаря NER непосредственно выполняет двустороннее максимальное сопоставление в запросе для получения набора кандидатов идентификации компонента, а затем фильтрует и выводит окончательный результат на основе частоты слов (здесь относится к объему поиска сущности). Эта стратегия относительно проста и требует чрезвычайно высокой точности и охвата тезауруса, поэтому возникают следующие проблемы:

  • Когда запрос содержит объекты, не охватываемые тезаурусом, алгоритм максимального соответствия на основе символов подвержен ошибкам сегментации. Например, для поискового запроса «Долина Хайтуо» тезаурус может соответствовать только «Гора Хайтуо», поэтому существует неправильная сегментация «Гора Хайтуо/Долина».

  • Гранулярность не поддается контролю. Например, результат сегментации поискового запроса «кофе Starbucks» зависит от охвата слов «Starbucks», «кофе» и «кофе Starbucks» в тезаурусе.

  • Определение весов узлов не является разумным. Например, непосредственно на основе объема поиска сущностей как веса узла сущностей, когда пользователь ищет «ресторан Xinyang», оценка «ресторан/ресторан Xinyang» выше, чем «ресторан Xinyang».

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

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

图4 实体在线匹配

4. Моделируйте онлайн-прогнозирование

Для длинного хвоста, не зарегистрированного в запросах, мы используем модель для онлайн-распознавания. Эволюция модели NER прошла через несколько этапов, как показано на рисунке 5 ниже. Основные модели, используемые в настоящее время в Интернете, являются BERT [3] и модель Bert + LR Cascade. Кроме того, автономные эффекты некоторых моделей в разведке имеют Также оказался эффективным., В будущем мы всесторонне рассмотрим производительность и выгоды для постепенного запуска. Строительство онлайн-модели NER в поисках в основном сталкивается с тремя проблемами:

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

Для проблем с высокими требованиями к производительности наша онлайн-модель претерпела серию настроек производительности при обновлении до BERT; для связанных проблем в области NER мы предлагаем метод NER с расширенными знаниями, который объединяет функции журнала поиска и информацию словаря сущностей; Для проблемы, связанной с трудностью получения обучающих данных, мы предлагаем метод NER со слабым наблюдением. Ниже мы подробно опишем эти технические моменты.

图5 NER模型演进

4.1 Модель BERT

BERT — это метод обработки естественного языка, раскрытый Google в октябре 2018 года. Как только метод был опубликован, он привлек широкое внимание академических кругов и промышленности. С точки зрения эффектов, BERT обновил текущие современные результаты для 11 задач НЛП, и этот метод также был оценен как значительный прогресс в НЛП в 2018 году и лучшая статья в NAACL 2019 [4,5]. Технический маршрут BERT и метод GPT, выпущенный OpenAI ранее, в основном одинаков, но есть небольшие различия в технических деталях. Основной вклад двух работ заключается в использовании идеи предварительного обучения + тонкой настройки для решения задач обработки естественного языка. Взяв в качестве примера BERT, модельное приложение включает 2 шага:

  • Предварительное обучение (Pre-training), эта ссылка изучает сетевые параметры на большом количестве общих корпусов, включая Wikipedia и Book Corpus, которые содержат большое количество текста и могут предоставить богатые явления, связанные с языком.

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

Одной из проблем при применении BERT к онлайн-прогнозированию для распознавания объектов является низкая скорость прогнозирования. Мы исследовали два аспекта дистилляции модели и ускорения прогнозирования и поэтапно запустили модель дистилляции BERT, модель BERT+Softmax и модель BERT+CRF.

4.1.1 Дистилляция модели

Мы попробовали два метода отсечения и дистилляции для модели BERT.Результаты показывают, что отсечение является серьезной потерей точности для сложной задачи НЛП, такой как NER, в то время как дистилляция модели возможна. Дистилляция модели заключается в использовании простой модели для аппроксимации выходных данных сложной модели, чтобы уменьшить объем вычислений, необходимых для прогнозирования, и при этом обеспечить эффект прогнозирования. Хинтон изложил основную идею в своей статье 2015 г. [6] Сложная модель обычно называется моделью учителя, а простая модель после дистилляции обычно называется моделью студента. Метод дистилляции Хинтона использует распределение вероятностей псевдопомеченных данных для обучения модели студента без использования меток псевдопомеченных данных. Точка зрения автора заключается в том, что распределение вероятностей может предоставить больше информации и более сильные ограничения, чем метка, и может лучше гарантировать согласованность эффектов прогнозирования модели ученика и модели учителя. На семинаре NeurIPS в 2018 году [7] предложили новую сетевую структуру BlendCNN для аппроксимации прогнозирующего эффекта GPT, который по сути представляет собой дистилляцию модели. Скорость прогнозирования BlendCNN в 300 раз выше, чем у исходного GPT, а точность прогнозирования немного улучшена для конкретных задач. Что касается перегонки модели, то в основном можно сделать следующие выводы:

  • Суть перегонки модели заключается в аппроксимации функции. Автор считает, что для конкретных задач, поскольку сложность модели ученика может соответствовать сложности проблемы, модель ученика может полностью отличаться от модели учителя.Пример выбора модели ученика показан на рисунке 6 ниже. . Например, предположим, что выборка (x, y) в задаче выбирается из полиномиальной функции с наивысшей степенью экспоненты d = 2; доступная модель учителя использует более высокую степень экспоненты (например, d = 5), в этом случае , чтобы выбрать Модель Стьюдента используется для прогнозирования.Сложность модели Стьюдента не может быть ниже сложности самой задачи, то есть соответствующие экспоненциальные времена достигают не менее d=2.

  • В зависимости от масштаба неразмеченных данных ограничения, используемые при перегонке, могут различаться.. Как показано на рисунке 7, если масштаб неразмеченных данных мал, для обучения можно использовать аппроксимацию значений (logits) и наложить сильные ограничения; если масштаб неразмеченных данных средний, можно использовать аппроксимацию распределения; если масштаб неразмеченных данных велик, можно использовать метки. Приблизительное обучение, то есть использовать только предсказанные метки модели учителя для управления обучением модели.

С учетом приведенных выше выводов, как мы можем применить дистилляцию модели в задаче поиска NER? Сначала разберем задачу. По сравнению с родственными задачами в литературе, поиск NER существует с существенным отличием: как онлайн-приложение поиск имеет большой объем неразмеченных данных. Пользовательские запросы могут достигать порядка десятков миллионов в день, а масштаб данных намного превышает данные, предоставляемые некоторыми офлайн-оценками. Исходя из этого, мы упрощаем процесс дистилляции: не ограничивая форму модели студента, выбираем основную модель нейронной сети с высокой скоростью вывода для аппроксимации BERT; обучение не использует аппроксимацию значений и аппроксимацию распределения в качестве целей обучения, а напрямую использует метку аппроксимация как цель, чтобы направлять изучение Модели Стьюдента.

Мы используем IDCNN-CRF для аппроксимации модели распознавания сущностей BERT.IDCNN (Iterated Dilated CNN) представляет собой многоуровневую сеть CNN, в которой низкоуровневая свертка использует обычные операции свертки, а результаты свертки получаются путем взвешенного суммирования позиции, очерченные скользящим окном, интервал расстояния каждой позиции, очерченной скользящим окном, равен 1. Свертка высокого уровня использует операцию Atrous Convolution, а интервал расстояния каждой позиции, очерченной скользящим окном, равен d (d>1). Используя расширенные свертки на верхних уровнях, количество вычислений свертки может быть уменьшено без потери вычислений, зависящих от последовательности. При анализе текста IDCNN часто используется вместо LSTM. Результаты экспериментов показывают, что по сравнению с исходной моделью BERT скорость онлайн-прогнозирования модели дистилляции улучшена в десятки раз без явной потери точности.

4.1.2 Ускорение предсказания

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

слияние операторов: Сокращение затрат времени мелких операторов в BERT за счет уменьшения количества запусков ядра и повышения эффективности доступа к памяти для небольших операторов. Здесь мы исследуем реализацию Faster Transformer. При средней задержке коэффициент ускорения составляет около 1,4x~2x, а на TP999 коэффициент ускорения составляет около 2,1x~3x. Этот метод соответствует стандартной модели BERT. Версия Faster Transformer с открытым исходным кодом имеет низкое инженерное качество, и есть много проблем с простотой использования и стабильностью, которые нельзя применить напрямую.Мы провели вторичную разработку на основе Faster Transformer с открытым исходным кодом NV, в основном улучшая стабильность и простоту использования. использовать. :

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

Batching: принцип пакетной обработки в основном заключается в объединении нескольких запросов в один пакет для рассуждений, уменьшении количества запусков ядра и полном использовании нескольких SM GPU, тем самым улучшая общую пропускную способность. Когда для параметра max_batch_size установлено значение 4, собственная модель BERT может контролировать среднюю задержку в пределах 6 мс, а максимальная пропускная способность может достигать 1300 запросов в секунду. Этот метод очень подходит для оптимизации модели BERT в сценарии поиска Meituan, поскольку поиск имеет очевидные периоды высокой и низкой пиковой нагрузки, что может повысить пропускную способность модели в периоды пиковой нагрузки.

смешанная точность: смешанная точность относится к способу смешивания FP32 и FP16.Использование смешанной точности может ускорить процесс обучения и прогнозирования BERT и уменьшить нагрузку на память, принимая во внимание стабильность FP32 и скорость FP16. В процессе расчета модели для ускорения процесса расчета используется FP16.В процессе обучения модели веса будут храниться в формате FP32, а тип FP32 будет использоваться при обновлении параметров. Использование мастер-весов FP32 для обновления параметров в соответствии с типом данных FP32 может эффективно избежать переполнения. Исходя из того, что смешанная точность в основном не влияет на эффект, скорость обучения модели и прогнозирования была в определенной степени улучшена.

4.2 NER, дополненный знаниями

Вопрос о том, как внедрить внешние знания предметной области в качестве вспомогательной информации в языковые модели, в последние годы был предметом исследований. Такие модели, как K-BERT[8] и ERNIE[9], исследовали комбинацию графа знаний и BERT, что дало нам хороший ориентир. NER в Meituan Search связан с доменом, а определение типа объекта тесно связано с предложением бизнеса. Поэтому мы также изучили, как включить внешние знания, такие как информация о POI, пользовательские клики, тезаурус объектов домена и т. д., в модель NER.

4.2.1 Lattice-LSTM в сочетании с функциями журнала поиска

В области вертикального поиска O2O продавцы настраивают большое количество объектов (таких как название компании, название группы и т. д.), а информация об объекте скрыта в атрибутах, предоставляемых POI, и только традиционный семантический метод плохой эффект узнавания. Для распознавания китайских сущностей Lattice-LSTM [10] обогащает семантическую информацию за счет увеличения ввода векторов слов. Мы извлекаем уроки из этой идеи и комбинируем поведение пользователя при поиске для поиска потенциальных фраз в Query, эти фразы содержат информацию об атрибутах POI, а затем встраиваем эту скрытую информацию в модель, чтобы в определенной степени решить проблему обнаружения новых слов в поле. По сравнению с исходным методом Lattice-LSTM точность распознавания на тысячу улучшена на 5 баллов.

图8  融合搜索日志特征的Lattice-LSTM构建流程

1) Анализ фраз и расчет признаков

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

图 9 短语挖掘及特征计算

Шаг 1: Расчет позиции соответствия. Обработайте журнал поиска, сосредоточившись на расчете подробного соответствия запроса и поля документа и расчете веса документа (например, рейтинга кликов). Как показано на рисунке 9, введенный пользователем запрос — «ручное вязание», для документа d1 (который является POI в поиске) в поле «список групп» появляется «рука», а в поле «вязание» "адрес". Для документа 2 «ручное вязание» появляется как в «названии продавца», так и в «списке групп». Совпадающая начальная позиция и совпадающая конечная позиция соответственно соответствуют начальной позиции и конечной позиции совпадающей подстроки запроса.

Шаг 2: Генерация фраз. Принимая результат Шага 1 в качестве входных данных, используйте модель для вывода фраз-кандидатов. Можно использовать несколько моделей, получая результаты, удовлетворяющие множеству предположений. Мы моделируем генерацию фраз-кандидатов как проблему целочисленного линейного программирования (ILP) и определяем структуру оптимизации, в которой гиперпараметры в модели можно настраивать в соответствии с потребностями бизнеса, что приводит к результатам, которые не удовлетворяют никаким предположениям. Для конкретного запроса Q каждый результат сегментации может быть представлен целочисленной переменной xij: xij=1 означает, что позиция запроса с i по j составляет фразу, то есть Qij является фразой, а xij=0 означает, что позиция запроса от i до j — это фразы разной формы. Цель оптимизации может быть формализована следующим образом: максимизировать собранные оценки соответствия при различных разбиениях xij. Цель оптимизации и функция ограничений показаны на рисунке 10, где p: документ, f: поле, w: вес документа p, wf: вес поля f. xijpf: появляется ли подстрока запроса Qij в поле f документа p и будет ли окончательная схема сегментации учитывать свидетельство наблюдения, Score(xijpf): оценка наблюдения, учитываемая окончательной схемой сегментации, w(xij): соответствующий сегментация Qij вес, yijpf : наблюдаемое совпадение, при котором подстрока запроса Qij появляется в поле f документа p. χmax: максимальное количество фраз, содержащихся в запросе. Здесь χmax, wp, wf и w(xij) — гиперпараметры, которые необходимо задать перед решением задачи ILP.Эти переменные можно задавать по разным допущениям: их можно задавать вручную на основе опыта, а можно задавать на основе других сигналов.См. способ, показанный на фиг.10. Вектор признаков конечной фразы характеризуется как распределение кликов в каждом атрибутивном поле POI.

图10 短语生成问题抽象以及参数设置方法

2) Структура модели

图11 融合搜索日志特征的Lattice-LSTM模型结构

Структура модели показана на рисунке 11. Синяя часть представляет собой стандартную сеть LSTM (которую можно обучать отдельно или в сочетании с другими моделями), входными данными является вектор слов, оранжевая часть представляет все векторы слов в текущем запросе, и красная часть представляет текущие все векторы фраз, вычисленные на Шаге 1 в запросе. Для скрытого ввода состояния LSTM он в основном состоит из двух уровней функций: текущие семантические функции текста, включая текущий ввод вектора слова и вывод скрытого слоя вектора слова в предыдущий момент; потенциальные функции знания объекта, включая функции фразы и функции слова текущей функции слова. Ниже описывается расчет скрытых признаков знания в текущий момент и метод комбинации признаков: (В следующей формуле σ представляет сигмовидную функцию, а ⊙ представляет матричное умножение)

4.2.2 Двухэтапный NER со словарем сущностей

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

На первом этапе пусть модель BERT фокусируется на определении границ сущностей, а на втором этапе в модель классификации сущностей включается прирост информации, внесенный словарем сущностей. Классификация сущностей на втором этапе может предсказать каждую сущность в отдельности, но при таком подходе будет потеряна информация о контексте сущности.Наш подход заключается в использовании словаря сущностей в качестве обучающих данных для обучения модели классификации IDCNN, которая представляет собой выходной результат сегментации закодирован, и закодированная информация добавляется в модель распознавания меток на втором этапе, и декодирование завершается совместно с словарем контекста. На основе данных аннотаций Benchmark модель обеспечивает повышение точности детализации запросов на 1% по сравнению с BERT-NER. Здесь мы используем IDCNN в основном для рассмотрения производительности модели, и вы можете заменить ее на BERT или другие модели классификации в зависимости от сцены.

图12 融合实体词典的两阶段NER

4.3 NER со слабым надзором

13 弱监督标注数据生成流程

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

Шаг 1: Генерация меченых образцов со слабым контролем

  1. Исходная модель: используйте помеченный мини-пакетный набор данных для обучения модели распознавания объектов.Здесь последняя модель BERT используется для получения исходной модели ModelA.

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

  3. Исправление результата прогнозирования: объект в словаре объектов имеет высокую точность. Теоретически, по крайней мере один тип объекта, указанный в результате прогнозирования модели, должен быть типом объекта, указанным в словаре объектов. В противном случае эффект распознавания модели для этого типа ввода неудовлетворительны Нет, необходимо целенаправленно дополнять выборки Размеченный текст мы получаем после корректировки модельных результатов данного типа ввода. Мы попробовали два метода исправления, а именно полное исправление и частичное исправление.Общее исправление относится к исправлению всего ввода в тип объекта словаря, а частичное исправление относится к исправлению типа одного термина, сегментированного моделью. Например, тип объекта, указанный в словаре «Brothers BBQ Personality DIY», — это продавец, а результат прогнозирования модели — модификатор + блюдо + категория. Нет термина принадлежит типу продавца, а результат прогнозирования модели отличается от словаря. В настоящее время мы должны исправить выходные метки модели. Существует три типа кандидатов на исправление, а именно «продавец + блюдо + категория», «модификатор + продавец + категория» и «модификатор + блюдо + продавец». Мы выбираем тот, который ближе всего к прогнозу модели, Теоретическое значение этого выбора заключается в том, что модель сошлась к прогнозируемому распределению, наиболее близкому к истинному распределению, и нам нужно только настроить прогнозируемое распределение, а не радикально изменить это распределение. Так как же выбрать тот, который ближе всего к предсказанию модели из кандидатов на исправление? Метод, который мы используем, состоит в том, чтобы вычислить оценку вероятности кандидата на исправление в рамках модели, а затем рассчитать отношение вероятностей с текущим результатом прогнозирования модели (оптимальный результат, рассматриваемый текущей моделью).Это окончательный кандидат на исправление, то есть окончательный слабо контролируемый образец аннотации. В примере «Brothers BBQ Personality DIY» кандидат на исправление «продавец + блюдо + категория» имеет наивысшее отношение вероятности к выходу модели «модификатор + блюдо + категория» и получит «Брат/торговец барбекю/блюдо». личность DIY/категория" "данные этикетки.

图 14 标签校正

公式 2 概率比计算

Шаг 2: слабо контролируемое обучение модели

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

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

В этом документе представлены характеристики и технический выбор задач NER в сценариях поиска O2O, а также подробно описаны исследования и практика сопоставления словаря сущностей и построения модели.

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

Что касается моделей, мы рассмотрели три основных вопроса (высокие требования к производительности, сильная корреляция предметной области и отсутствие помеченных данных) при построении моделей NER при поиске. Для высоких требований к производительности используется метод дистилляции модели и ускорения прогнозирования, так что основная онлайн-модель NER может быть успешно обновлена ​​​​до BERT с лучшим эффектом. С точки зрения решения проблем, связанных с предметной областью, предлагаются методы интеграции знаний предметной области журналов поиска и словарей сущностей соответственно.Экспериментальные результаты показывают, что эти два метода могут в определенной степени повысить точность прогнозирования. Стремясь к сложности получения помеченных данных, мы предлагаем слабо контролируемую схему, которая в определенной степени смягчает проблему эффекта плохого предсказания модели из-за менее помеченных данных.

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

6. Ссылки

[1] Automated Phrase Mining from Massive Text Corpora. 2018.

[2] Learning Named Entity Tagger using Domain-Specific Dictionary. 2018.

[3] Bidirectional Encoder Representations from Transformers. 2018

[4] woohoo.сердце машины.com/articles/20…

[5] Этот ACL2019.org/blog/best-afraid…

[6] Hinton et al.Distilling the Knowledge in a Neural Network. 2015.

[7] Yew Ken Chia et al. Transformer to CNN: Label-scarce distillation for efficient text classification. 2018.

[8] K-BERT:Enabling Language Representation with Knowledge Graph. 2019.

[9] Enhanced Language Representation with Informative Entities. 2019.

[10] Chinese NER Using Lattice LSTM. 2018.

7. Об авторе

Ли Хун, Син Чи, Янь Хуа, Ма Лу, Ляо Цюнь, Чжи Ань, Лю Лян, Ли Чао, Чжан Гун, Юнь Сен, Юн Чао и другие — все из отдела поиска и НЛП Meituan.

Предложения о работе

Отдел поиска Meituan, поиск долгосрочных сотрудников, рекомендации, инженер алгоритмов НЛП, координаты в Пекине. Заинтересованные студенты могут присылать свои резюме по адресу: tech@meituan.com (в теме письма указать: Отдел поиска и НЛП)

Чтобы прочитать больше технических статей, отсканируйте код, чтобы подписаться на общедоступную учетную запись WeChat — техническая команда Meituan!