Система диалога человек-машина на основе графа знаний | Заметки открытого класса

глубокое обучение NLP Apple робот

Общий гость | Лю Шэнпин (старший технический эксперт Yunzhisheng AI Labs)

Источник | Открытый онлайн-курс базового лагеря по технологиям искусственного интеллекта

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

Базовый лагерь технологий ИИ пригласил Лю Шэнпина, старшего эксперта из Yunzhisheng AI Labs,«Метод и практика системы диалога человек-машина на основе графа знаний»Объясните и разберите систему.


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

Лю Шэнпин: старший технический эксперт/старший директор по исследованиям и разработкам Yunzhisheng AI Labs. Бывший старший научный сотрудник Исследовательского института IBM, член Комитета по языку и знаниям китайского информационного общества. В 2005 году он получил степень доктора философии в Школе математики Пекинского университета.Он является одним из пионеров исследований семантической сети в Китае.Он является членом программного комитета Международной конференции по семантической сети в 2010 и 2011 годах. . Он опубликовал более 20 статей в области семантической сети, машинного обучения, информационного поиска и медицинской информатики. За время работы в IBM получил две награды IBM Research Achievement Awards. В конце 2012 года доктор Лю присоединился к Yunzhisheng AI Labs, чтобы возглавить команду НЛП, и полностью отвечал за исследования и разработки и управление пониманием и генерацией естественного языка, системами диалога человек-машина, чат-роботами, картами знаний и интеллектуальным медицинским обслуживанием. забота.

В этом открытом классе он всесторонне и конкретно описал разработку и применение графов знаний в диалоговых системах человек-компьютер, которые в основном разделены на следующие четыре части:

  • Обзор языковых знаний и диалоговых систем

  • Основные концепции и анализ случая интеллектуального разговора

  • Ключевые технологии интеллектуальной беседы: построение графа знаний, обнаружение сущностей и связывание

  • Ключевые технологии интеллектуальной беседы: понимание дискурса и генерация естественных ответов


▌1. Обзор языка, знаний и диалоговой системы человек-компьютер


1. Язык и знания


Язык и знания тесно связаны. Эта диаграмма айсберга наглядно объясняет взаимосвязь между языком и знанием Язык, который мы видим, — лишь маленькая верхушка айсберга, о котором мы и говорим. Но если вы хотите понять это предложение, фоновые знания, связанные с этим предложением, подобны большому куску под айсбергом.

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

Содержание этого отчета представляет собой синтез трех докладов, которые я сделал на конференциях CCKS за последние три года.


2. Система диалога человек-машина


Первой системой диалога человека и компьютера, которая произвела большой фурор в отрасли, была Apple Siri, которая в то время все еще была APP на iPhone и была приобретена Apple в 2010 году. Нововведением Siri является добавление голосового пользовательского интерфейса к нашему традиционному мобильному графическому интерфейсу.

Что действительно произвело революцию в системе диалога человека и машины, так это Amazon Echo, запущенный в 2014 году, который представляет собой аппаратное обеспечение, полностью основанное на голосовом взаимодействии.

В 2017 году Amazon выпустил динамик с экраном Amazon Echo Show, Как вы думаете, это возвращение к Siri или это основано на графическом интерфейсе? Обратите внимание на разницу здесь, Amazon Echo - это VUI + GUI, что означает, что это прежде всего VUI, потому что преимущество голоса в том, что ввод очень удобен, вы можете сказать несколько слов для представления команды, которая может заменить многие интерфейсы . Минус в том, что вывод очень неэффективен, и если на экране отображается много контента, а вы хотите его озвучить, это может занять несколько минут. Таким образом, комбинация VUI+GUI предназначена для объединения преимуществ обоих: VUI используется для ввода, а GUI используется для вывода.

Более продвинутой формой является робот-гуманоид в Еве, "Железном человеке" или "Мире Дикого Запада", которого сейчас можно увидеть во многих фильмах, который может совершенно свободно разговаривать с людьми. Его взаимодействие VUI++, которое действительно имитирует многих людей. , этот момент времени может появиться в 2045 году.

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


3. Интерактивные формы и сценарии применения человеко-машинных диалоговых систем.


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

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

2. Вопросы и ответы. Он должен давать точные ответы на вопросы и ответы пользователей. Эти вопросы могут быть фактическими вопросами, такими как «какого роста Яо Мин», или другими вопросами определения, описания или сравнения. Систему ответов на вопросы можно разделить на вопросы и ответы на часто задаваемые вопросы на основе общего списка вопросов и ответов, вопросы и ответы CQA на основе данных сообщества вопросов и ответов и вопросы и ответы KBQA на основе базы знаний в соответствии с источником данных вопросов и ответов. .

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

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

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


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

Еще один сценарий применения – в автомобиле, ведь при вождении у вас заняты глаза, руки и ноги, поэтому отвечать на звонки, перемещаться и даже отправлять и принимать WeChat голосом очень удобно и безопасно. Бортовой автомобиль - просто необходимая сцена, поэтому текущие поставки в основном в этой области. Например, мы начали делать решения для голосового взаимодействия в автомобиле в 2014 году, и сейчас у нас более 15 миллионов поставок.

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

4. Архитектура технологии человеко-машинного диалога


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


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

2. Семантическое понимание: в основном это преобразование слов, произнесенных пользователем, в инструкции или запросы, которые машина может понять и выполнить, то есть «понять».

3. Управление диалогом: поддерживайте состояние и цель диалога и решайте, как система должна говорить и спрашивать следующее предложение, то есть намерение генерировать ответ.

4. Генерация естественного языка: это выражение намерения ответа на естественном языке в соответствии с намерением ответа системы.

5. Синтез речи: это предложение транслируется машинно-синтезированной речью.


Это формирует замкнутый цикл полного диалога человека и машины.


5. Эволюция сценариев распознавания речи

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

Самая ранняя сцена, такая как Siri, — это режим почти разговора. Основная проблема, которую он решает, — это проблема с акцентом. В настоящее время точность распознавания в этой области очень высока, и удалось достичь около 97%. Голос мобильного телефона метод ввода, который все обычно используют, это Режим, обычно рекомендуется, чтобы расстояние от микрофона составляло около 30 см.

Amazon Echo — это удаленный режим, вы можете находиться на расстоянии до 3 или даже 5 метров от микрофона. У него много проблем, которые нужно решить, потому что вы более восприимчивы к окружающему шуму, когда находитесь далеко от него, и более смертоносным эффектом является проблема реверберации, вызванная отражением звука, особенно в стеклянной комнате, звук постоянно отражается , Звук, принимаемый микрофоном, представляет собой смесь многих звуков. Существует также совсем другое место, то есть когда мы используем голос WeChat, мы можем нажать, чтобы сказать, или нажать и продолжать говорить, но когда вы стоите лицом к говорящему, потому что вы находитесь на расстоянии 3-5 метров от него, это невозможно нажать Если вы говорите, есть новая технология, называемая «голосовое пробуждение», точно так же, как когда мы разговариваем с людьми, когда они называют людей по именам, например «Привет, Google», сначала разбудите машину, а затем говорите к этому.

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


6. Эволюция ролей машин в диалоговых системах человек-машина

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

Siri, Amazon Echo — форма помощника, то есть взаимодействовать можно через естественный язык, а диалог многооборотный, и даже позволяет машине испытывать некоторые эмоции.

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


▌2.Основные понятия и анализ примеров интеллектуальной беседы

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

Если пользователь произносит три слова «слишком холодно», семантика заключается в том, что температура немного низкая, но если принять во внимание прагматику, разговорный смысл и реальный смысл, передаваемые этим предложением в конкретном контексте: если кондиционер включен в машине, понять Это предложение означает поднять температуру кондиционера, если зимой кондиционер не включается, смысл этого предложения может заключаться в том, чтобы включить обогреватель автомобиля или закрыть окна машина; сейчас осень, если девушка, говоря вам «слишком холодно», может означать, что она хочет, чтобы вы обняли ее или что-то в этом роде. Следовательно, контекст и прагматика являются очень важными понятиями.Если вы диалоговая система человек-компьютер, вы соприкоснетесь с этими двумя понятиями.

1. Контекст диалоговой системы человек-машина (оборудование)


Просто сейчас, когда люди разговаривают между собой, контекст очень важен.Теперь, когда мы строим систему диалога человек-машина, какой контекст, когда люди и устройства ведут диалог?

1. Физический контекст. То есть информация о сцене, когда вы говорите, включая (1) время, место, место, к которому относится это место в машине или дома и так далее. (2) Погода. (3) Эмоции и эмоции. (4) Контент, отображаемый на устройстве. (5) Информация, которую может воспринимать устройство, например, когда мы разговариваем с кондиционером, кондиционер может воспринимать температуру и влажность внутри и снаружи помещения. Жизненный цикл этого контекста находится на уровне запроса.

2. Языковой контекст. (1) Контекст, информация, возвращаемая обратно на устройство и на устройство, также является контекстом, и этот жизненный цикл можно рассматривать как уровень сеанса.

3. Контекст знаний. включают:


(1) Человеческий здравый смысл и знание предметной области. Чтобы привести простой пример, мы обычно говорили: «Никто не может победить китайскую команду по настольному теннису» и «Никто не может победить китайскую команду по футболу». Разница между этими двумя предложениями в том, что у нас есть здравый смысл: китайская футбольная команда слаба, а китайская команда по настольному теннису сильна. Таким образом, знание имеет решающее значение для понимания этого предложения.


(2) Портрет пользователя, включая некоторую основную информацию о пользователе, его пол, возраст, уровень образования, хобби и т. д. (3) Портрет агента — это информация, определяемая роботом.Например, Xiaoice определяет свой портрет агента как 18-летнюю девушку по соседству. (4) Библиотека информации об устройстве.Если динамик используется в качестве центрального элемента управления, информация об устройстве и статус устройства, подключенного к центральному элементу управления, являются контекстами. Если вы говорите «Я дома» домашнему центральному контроллеру, что это значит? Центральный пульт может решить, включать или выключать свет, открывать ли окна или задергивать шторы и т. д. в зависимости от состояния вашего оборудования и текущих условий окружающей среды.

2. Не мифизируйте график знаний

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

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


3. Что такое интеллектуальная беседа?


Что такое интеллектуальная беседа? Приведу пример: пользователь может пообщаться с говорящим: «Тебе нравится Николас Це?», «Да, он классный», «Ты знаешь, кто его девушка?», «Фэй Вонг», «Давайте споем о ней». «Легенда»». Это своего рода манипуляция, машина воспроизведет для вас легенду о Фэй Вонг. После воспроизведения система может спросить: «Вы все еще хотите послушать оригинальное пение Ли Цзяня?» Это активный Пользователь говорит «ОК», система может воспроизводить «Легенду» Ли Цзяня, и пользователь также может спросить: «Какой у него музыкальный стиль?» Система говорит: «Стиль Ли Цзяня прост, как народная песня, но это гораздо красивее, чем народная песня».

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

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


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

Основными технологиями интеллектуальной беседы являются:


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

  • Обрабатывать онлайн. Понимание дискурса на основе знаний, как интегрировать знания в чат, вопросы и ответы на основе графа знаний, активный диалог на основе графа знаний и т. д.


▌В-третьих, ключевая технология интеллектуальной беседы


(1) Построение графа знаний


1. Метод построения графа знаний


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

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

Третий шаг, самое главное в графе знаний — это добыча лексики, различных синонимов, акронимов, словосочетаний и т.д.

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

На пятом шаге помимо сущностей в графе знаний есть ребра, то есть отношения, нам нужно извлечь отношения.

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

Наконец, проверяйте и контролируйте качество графа знаний, включая завершение знаний, исправление ошибок, обновление знаний и, наконец, формирование графа знаний в поле.

2. Метод оценки графа знаний

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

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

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

3. Гибкая сборка


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


(2) Обнаружение сущностей и связывание

вопросы, требующие решения: Если на данный момент у нас уже есть граф знаний, мы по-прежнему полагаемся на технологию обнаружения сущностей и связывания. Эта технология сейчас решает проблему «Мысли, а не строки», и ее самая важная проблема заключается в том, чтобы связать строки с сущностями в графе знаний. Это должно решить две проблемы. Первая заключается в том, что мы можем выражать одно и то же значение в разных формах. Например, «Коби», «Черная Мамба» и «Ке Бог» относятся к Коби Брайанту. Другой заключается в том, что естественный язык или сама строка неоднозначны, точно так же, как «яблоко» может относиться к компьютеру Apple, мобильному телефону Apple или фрукту.

Решение: Таким образом, его подход разделен на два этапа: обнаружение сущностей и связывание сущностей.Обнаружение сущностей заключается в обнаружении упоминаний в тексте, которые являются строками, а «яблоки», такие как «это яблоко дорогое», являются упоминаниями. Ссылка на сущность предназначена для связывания этого упоминания с сущностями в графе знаний. Сущности в графе знаний могут иметь несколько сущностей об «Apple», включая Apple, бренд Apple и, возможно, мобильные телефоны Apple, компьютеры Apple и другие сущности. , Есть фрукты, называемые яблоками и т. д. Что здесь означает «яблоко»? Может зависеть от контекстуального суждения.

1. Объединение данных из нескольких источников на основе сущностей


Я приведу здесь очень простую карту знаний: подруга Николаса Цзе — Фэй Вонг, которая спела песню «Легенда», а оригинальная певица «Легенды» — Ли Цзянь.

В диалоге есть несколько источников данных: один — библиотека чатов, например «Нравится ли вам певец Николас Це?» «Да, он классный.», и библиотека FAQ, которую мы можем узнать из Baidu или найти сообщество во многих местах Данные вопроса и ответа подобны высказыванию: «Кто может говорить о музыкальном стиле Ли Цзяня?» «Стиль Ли Цзяня так же прост, как народная песня, но он гораздо более великолепен, чем народная песня».

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

2. Как выполнить обнаружение и связывание сущностей?


Первым шагом препроцессинга является установление отношения упоминание-сущность.Это также ограничение текущего алгоритма.Нам нужно заранее знать,каким сущностям может соответствовать упоминание. Затем извлеките функции, связанные с сущностью:

Одним из них является априорная вероятность объекта. Точно так же, как априорная вероятность того, что яблоко является фруктом, составляет 40 %, а априорная вероятность того, что это iPhone, составляет 60 %, что, если мы скажем виноград? Может быть, существует априорная вероятность 90 %, что виноград — это фрукт, и 10 % — что-то еще. Во-вторых, это распределение слов в контексте сущности. Давайте посмотрим, какие слова окружают эти сущности или тематические слова ее глав. Точно так же, как мобильные телефоны Apple, появляющиеся в статьях, связаны с темами, связанными с технологиями. В-третьих, это семантическая корреляция между сущностями.Поскольку граф знаний представляет собой структуру графа, каждая сущность имеет вокруг себя некоторые другие сущности, и эти сущности являются связанными функциями.

На втором этапе связывание объектов становится проблемой сортировки.После обнаружения упоминания мы можем найти его объекты-кандидаты в соответствии с предыдущей таблицей отношений упоминаний.Теперь нам нужно только отсортировать объекты-кандидаты и вернуть наиболее вероятный объект.

Третий шаг, сортировка объектов-кандидатов, может использовать самый простой метод. Есть две категории этого: одна — это информация самой сущности, а другая — сортировка с использованием отношений сотрудничества между сущностью и сущностью. Если все объекты рядом с Apple похожи на компьютеры, то яблоко может относиться к Apple Computer.


(3) Понимание дискурса, объединяющее знания


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



Первым шагом является обнаружение и связывание сущностей.Как и в только что приведенном примере «Нравится ли вам Николас Це?», нам нужно связать Николаса Це с сущностями графа знаний.

Второй шаг - сделать референтное обнаружение, например, "вы знаете, кто его девушка", тогда к кому относится это "он"? Мы должны сначала выяснить, что он является референтным местоимением, а затем судить, является ли "он" в этом месте в зависимости от контекста.В примере Николас Це является сущностью.

Кроме того, есть еще одна ситуация, в которой мы осуществляем семантическое понимание, а именно объединение знаний для устранения неоднозначности. Например, пользователь говорит «День рождения Чжоу Цяовэня», потому что «День рождения» — это название песни, а Чжоу Цяовэнь — исполнитель этой песни. В это время мы понимаем, что это музыка, потому что она находится под динамиком. , а затем мы можем напрямую сыграть песню Чжоу Цяовэня «День рождения». Но если система снова спросит «день рождения Энди Лау» в это время, хотя наше распознавание именованного объекта, скорее всего, пометит «день рождения» как название песни, а Энди Лау помечен как певец, название песни певца, это очень просто, я думал, что это играет музыка, но благодаря проверке знаний мы знали, что Энди Лау никогда не пел эту песню, поэтому сейчас необходимо превратить это в вопрос и ответить, это не манипулятивная команда. Вернитесь прямо к его дню рождения и скажите: «День рождения Энди Лау — 27 сентября 1961 года».

Эти примеры являются нашими знаниями, чтобы помочь понять инструкции пользователя. Позвольте мне рассказать о том, как совместить знания и общение.


(4) Общение, объединяющее знания


1. Контекст


Сейчас академический мир использует модели глубокого обучения, поэтому я кратко расскажу о методах глубокого обучения и расскажу о его основных идеях. Мы обычно превращаем чат в модель Sequence-to-Sequence в академических кругах, то есть есть кодировщик для кодирования ввода в вектор, а ответ генерируется через декодер. В это время основная проблема заключается в том, как добавить контекст.Самый простой метод состоит в том, чтобы объединить текст контекста и вектор текущего текста в качестве входных данных кодировщика; кроме того, мы можем использовать контекст в качестве вектор и введите его на этапе декодера или используйте тему Модель моделирует сеанс и использует модель темы сеанса в качестве входных данных декодера, чтобы можно было достичь эффекта контекста.

2. Консистенция


Еще одна важная проблема с чатом — согласованность. Мы только что сказали, что в контексте есть портрет агента. Хоть объект чата со мной робот, но он имеет единую личность. Его пол, возраст, место происхождения и увлечения должны быть одинаковыми. Это самое главное. сложный чат-робот в настоящее время немного. Вы спрашиваете робота «Сколько ему лет?» Он может сказать «18 лет». Если вы спросите «Сколько вам лет в этом году», он, скорее всего, ответит «Мне 88 лет» или спросит вас «Как сколько тебе лет?» Скорее всего ответят «маленькой девочке в этом году двадцать восемь лет и так далее».


Почему это происходит? Поскольку текущие чат-боты полагаются на сбор различных корпусов из разных источников и объединение их вместе, этот корпус не был нормализован, потому что некоторые корпуса говорят «Мне 88 лет», а некоторые корпуса могут содержать «Мне 18 лет». и т. д. В настоящее время, если задать его другим способом, это может привести к несоответствиям в вопросе и ответе. Для более сложного примера, вы спросите его: «Где вы родились?» Он ответит: «Я в Пекине», а затем спросит: «Вы китаец?» Он может не ответить, хотя человеческий здравый смысл знает, что Пекин принадлежит Китаю, и т.п.

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

3. Интегрируйте знания


Кроме того, когда мы задаем вопрос и отвечаем, как в нашем примере с вопросом «Какого роста Яо Мин», мы генерируем более естественный вопрос и ответ, говоря: «Его рост 2,26 метра, он единственный человек, которого можно увидеть из космоса». "Конечно, это шутка. Такой чат объединяет знания, он знает рост Яо Мина. В это время, когда декодирование выполняется с помощью модели глубокого обучения, помимо генерации обычных ответов, некоторые ответы необходимо извлечь из базы знаний, а затем ответ и текстовый ответ объединяются вместе.


Другие похожие работы см. в работе г-на Хуанг Минли, получившего в этом году награду IJCAI Outstanding Paper Award.


(4) Вопросы и ответы, основанные на знаниях


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


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


Существует много других методов, большинство из которых в настоящее время являются сетевыми методами, а также методами, основанными на рекуррентной нейронной сети с механизмом внимания. Я дам вам ссылку для этого.Вы можете взглянуть на статью «Открытие вопросов и ответов базы знаний KB-QA», которая очень подробная и очень хорошая. Мое личное мнение состоит в том, что вопросы и ответы базы знаний, основанные на глубоком обучении, не очень развиты в отрасли, и их влияние не очень контролируемо.Мы все еще используем традиционный вопрос и ответ семантического анализа в системе.

Есть также много способов включить знания в CQA. Основная проблема CQA заключается в том, что мы хотим рассчитать семантическое сходство между вопросом пользователя и вопросом в нашей базе данных ответов на вопросы.Основной вопрос здесь заключается в том, как поместить знания в векторное представление предложения. На недавнем SIGIR2018 упоминался метод объединения знаний и внимания с помощью нейронных сетей. Такого рода бумага в основном представляет собой сетевую диаграмму. Другая статья аналогична, и общая идея заключается в векторизации знаний при сортировке текстов.


(5) Активный разговор, основанный на знаниях


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

В другом примере, если пользователь говорит: «Давайте перейдем к «Легенде», машина может активно спросить его: «Хотите ли вы послушать, как Ли Цзяньюань поет после игры?» На самом деле ее идея очень проста, то есть согласно наша карта знаний, посмотрите, есть ли другие отношения или атрибуты в той же сущности, или порекомендуйте другую сущность в той же связи.



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


▌Четыре.


В начале я сделал краткое введение в то, как сочетать чат, вопросы и ответы, диалог и семантический анализ со знаниями. Вот краткое изложение:

Во-первых, почему важна система диалога между человеком и машиной?


1. Он может стать самой важной формой взаимодействия в эпоху Интернета вещей, подобно ОС.

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

3. С технической точки зрения сочетание глубокого обучения и технологии графов знаний является наиболее важной тенденцией в настоящее время. Лично я более оптимистично отношусь к модели Sequence-to-Sequence, потому что ее выразительные возможности очень богаты, и существует много сценариев применения.В принципе, большинство проблем обработки естественного языка можно смоделировать как Sequence-to-Sequence. . В том числе наш перевод с одного языка на другой, а также чат Q&A и даже метод ввода пиньинь, то есть преобразование последовательности пиньинь в текстовую последовательность и т. д., а также сегментация слов, распознавание частей речи, именованная сущность распознавание и т. д. являются последовательностью последовательностей, эта модель разделена на два этапа: кодировщик и декодер, Он может интегрировать некоторые знания на разных этапах.

Во-вторых, какова технологическая эволюция системы диалога человек-машина?


1. В диалоге надо смотреть не только на семантику, но и на прагматику, прагматика это "семантика + контекст".

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

3. Потоковые разговоры. Наше текущее взаимодействие с говорящим заключается в том, чтобы сначала проснуться, сказать «Сяо Ай, закажи мне песню», а затем сказать «Сяо Ай, сыграй следующую песню». Это очень хлопотно, но разговор между людьми не всегда будет называть имена людей часто.В это время необходим потоковый диалог.Техническая сложность этого произведения заключается в том, как судить, закончил ли человек говорить и можно ли его прервать. Это самый сложный момент в технологии. Другое дело, как отклонить шум, ведь в разговоре сейчас нет слова-будильника.В это время речь человека рядом или даже слова в телевизоре, скорее всего, будут неправильно идентифицированы, и машина будет также ответить на него.


▌5. Отвечайте на вопросы аудитории

В: Наша компания строит диаграмму знаний для электронной коммерции, но данные по электронной коммерции обновляются каждый день, есть ли хороший способ обновить диаграмму знаний? И как граф, основанный на neo4j, делает рассуждения о знаниях?

О: Это хороший вопрос. Мы только что подчеркнули необходимость гибкого построения графов знаний. Гибкое построение означает, что вы можете часто выпускать версии. В настоящее время существует проблема слияния версий, что на самом деле является проблемой обновления. Основной технологией обновления является слияние онтологии знаний или сопоставление сущностей знаний и выравнивание сущностей. Если количество обновляемых данных не очень велико, я рекомендую метод автоматического добавления обновленных данных в карту знаний с помощью технологии выравнивания сущностей.Если количество невелико, вам необходимо выполнить ручной просмотр, чтобы увидеть обновленные данные Все в порядке. Я не думаю, что есть какой-то особенно хороший способ сделать это, потому что обновление — самая сложная проблема в графе знаний.

Как граф neo4j делает рассуждения о знаниях? Во-первых, я лично считаю, что он не подходит для хранения массивных графов знаний.Количество компаний электронной коммерции должно быть очень большим.В настоящее время все еще ведутся споры о целесообразности использования neo4j. Как рассуждать о знаниях? Мы вообще считаем, что самое главное в графе знаний — это знания, и стараемся как можно меньше рассуждать, потому что рассуждения — очень сложная вещь, и нет инструментов с высокой степенью промышленной зрелости. Во-вторых, если нам нужно рассуждать, мы обычно делаем рассуждения в автономном режиме, то есть заранее хорошо рассуждаем и расширяем данные, которые можно расширить, что также называется «завершением знаний», что похоже на простое транзитивное отношение. Или расширить все это заранее, что эквивалентно изменению места хранения на время, что является более распространенным методом. Мы не рекомендуем выполнять рассуждения в реальном времени в онлайн-сервисах сейчас, потому что такая производительность, как правило, не соответствует требованиям.

В: Можете ли вы кратко представить общий метод построения онтологий?

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

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

Вопрос. Существуют ли общие рекомендации по извлечению сущностей?

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

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

В: Требуются ли знания Семантической сети для сети знаний? Может ли создание OWL по-прежнему требовать глубоких знаний предметной области?

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

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

В: Являются ли исследователи с психологическим образованием конкурентоспособными в академической сфере НЛП? Какой совет вы можете дать исследователям психологии, обращающимся к академическим кругам НЛП?

Ответ: Этот вопрос очень интересен. Одним из костяков нашей группы была психология, но психология, которую он изучал в то время, была статистической психологией, т. е. эконометрической психологией, поэтому он имел определенную статистическую основу. В настоящее время легче перейти от статистической основы к НЛП из-за математической основы. Другое дело, психология более значима в когнитивной части, потому что принципы нейронных сетей связаны с когнитивной психологией, поэтому психологические знания очень помогают при переходе на НЛП.

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

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

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

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

Кроме того, как знания, так и правила могут использоваться в качестве признаков, и с этой точки зрения они сливаются воедино. Кроме того, декодер в глубоком обучении также может включать знания, поэтому для этого существует множество методов.