Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR MAINTAINING DIALOGUE CONSISTENCY USING A KNOWLEDGE GRAPH AND CHECKING STATEMENTS FOR INCONSISTENCIES
Document Type and Number:
WIPO Patent Application WO/2021/086221
Kind Code:
A1
Abstract:
The invention relates to a method for checking statements for inconsistencies with the aid of a knowledge graph. The present method includes steps in which a user's statement is received and transferred to a response-generating module. The response-generating module formulates a candidate response, and the candidate response is checked for inconsistencies. An object in a statement is extracted from the candidate response. In an object-subject-predicate extraction module, a search is carried out for a subject and predicate in a phrase, and a search is carried out for subject and predicate in the knowledge graph. In a graph-checking module, an inconsistency is identified if the two subjects or two predicates differ in the phrase and in the knowledge base. A new entry is made in the knowledge graph if the subject or predicate in the phrase is included in or does not contradict the concept of the subject or predicate in the base, and the response is issued to the user. This ensures a statement is checked for inconsistencies.

Inventors:
SUVOROV VLADIMIR ALEKSANDROVICH (RU)
BURCEV MIHAIL SERGEEVICH (RU)
Application Number:
PCT/RU2019/000779
Publication Date:
May 06, 2021
Filing Date:
October 31, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FEDERALNOE GOSUDARSTVENNOE AVTONOMNOE OBRAZOVATELNOE UCHREZHDENIE VYSSHEGO OBRAZOVANIYA MOSKOVSKIJ F (RU)
International Classes:
G06F40/35
Foreign References:
US20190272323A12019-09-05
CN107832055A2018-03-23
Attorney, Agent or Firm:
KOTLOV, Dmitry Vladimirovich (RU)
Download PDF:
Claims:
Формула

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

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

3. Способ по п.1 , отличающийся тем, что проверка в модуле относительно графа знаний реализована с помощью MQL/SparkQL запросов путем нахождения или не нахождения ответа.

9

ЗАМЕНЯЮЩИЙ ЛИСТ (ПРАВИЛО 26)

Description:
СПОСОБ ПОДДЕРЖАНИЯ КОНСИСТЕНТНОСТИ ДИАЛОГА НА БАЗЕ ГРАФА ЗНАНИЙ И ПРОВЕРКИ ВЫСКАЗЫВАНИЙ НА ПРОТИВОРЕЧИЯ

ОБЛАСТЬ ТЕХНИКИ

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

УРОВЕНЬ ТЕХНИКИ

Из уровня техники известны боты - Mitsuku от компании Pandorabots, Inc., Голосовой помощник Алиса от компании Яндекс - которые могут поддерживать диалоги с пользователем.

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

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

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

Наиболее близким аналогом является источник информации US 2019/0138595 А1, раскрывающий способ аргументации в тексте, где на вычислительном устройстве, получают доступ к тексту, содержащему фрагменты. Приложение создает дискурсивное дерево из текста. Дерево дискурса включает в себя узлы, каждый нетерминальный узел, представляющий риторические отношения между двумя фрагментами, и каждый конечный узел узлов дерева дискурса связан с одним из фрагментов. Приложение сопоставляет каждый фрагмент, имеющий глагол, с сигнатурой глагола, создавая тем самым дерево коммуникативного дискурса. Приложение определяет, представляет ли дерево коммуникативного дискурса текст, который включает в себя аффективную аргументацию, применяя классификационную модель, обученную обнаружению аффективной аргументации, в дереве коммуникативного дискурса.

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

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

Технический результат заключается в возможности проверки высказывания на противоречия.

В предпочтительном варианте реализации заявлен компьютерно-реализованный способ поддержания консистентности диалога на базе графа знаний и проверки высказываний на противоречия включающий этапы, на которых посредством процессора: получают высказывание пользователя и передают его в модуль генерации ответа; модуль генерации ответа формирует кандидатный ответ; при этом кандидатный ответ проверяют на противоречия, где: из кандидатного ответа выделяют объект в высказывании; в модуле извлечения объекта-субъекта-предиката производят поиск субъекта и предиката во фразе; производят поиск субъекта и предиката в графе знаний; в модуле проверки относительно графа находят противоречия если два субъекта или два предиката во фразе и в базе различны; производят новую запись в граф знаний, если субъект или предикат во фразе включен или не противоречит понятию субъекта или предиката в базе; и выдают ответ пользователю. В частном варианте модуль генерации ответа выполнен на базе ранжирующей или генеративной, или Open-Domain Question Answering (ODQA) моделей.

В другом частном варианте проверка в модуле относительно графа знаний реализована с помощью MQL/SparkQL запросов путем нахождения или не нахождения ответа.

ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

Фиг. 1 иллюстрирует блок-схему способа;

Фиг. 2 иллюстрирует блок-схему вычислительного устройства.

ДЕТАЛЬНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

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

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

Граф знаний является способом организации информации в базе данных. Граф знаний построен на базе базового графа (например wikidata) + набора эталонных текстов и диалогов (например описание личности бота с его отношением к объектам).

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

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

1) субъект или предикат включен в понятие;

2) субъект или предикат противоречит понятию;

3) субъект или предикат не противоречит понятию.

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

Фиг. 1 характеризует способ поддержания консистентного диалога на базе графа знаний и проверки высказываний на противоречия.

Заявленный способ выполняется на вычислительном устройстве.

Фраза пользователя поступает на вычислительное устройство посредством любого доступного графического или голосового интерфейса. Далее фраза поступает в систему для генерации ответа. Формируется кандидатный ответ. Кандидатный ответ проверяют на наличие противоречий в графе знаний. Для реализации способа ключевым модулем является «модуль проверки отношений». Данный модуль может быть выражен следующими модулями:

1) Модуль извлечения сущностей. В данном модуле происходит поиск сущностей относительно графа знаний. Если модуль извлечения сущностей не смог извлечь, то проверка считается успешной.

2) Модуль извлечения объект-субъект-предикат. В данном модуле происходит поиск предикатов, объектов и субъектов, в рамках найденной сущности в модуле извлечения сущностей, относительно графа знаний. Модуль основан на методах извлечения сущностей, например работа по каталогу или различных Named-Entity Recognition (NER) моделях (deeppavlov.ai). Извлечение сущностей по каталогу (также называется gazeteer) анализирует текст и сопоставляет каждый элемент сегмент текста с сущностями в каталоге. При совпадении сегмента текста и элемента каталога модуль маркирует сегмент как сущность. При использовании методов NER в модуле использует нейросетевые архитектуры для определения сущностей и их границ в тексте (например, http://docs.deeppaylov.ai/en/master/features/models/ner.html ). 3) Проверка относительно графа знаний. В данном модуле сопоставляют возможный список доступных связей объектов и предикатов. Проверяют на несоответствие относительно сформированной схемы.

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

Данные в базе данных могут быть сформированы относительно предыдущих ответов и согласно описанию личности бота или другим способом.

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

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

Кандидатный ответ проверяется на противоречия в графе знаний.

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

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

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

Далее осуществляют поиск субъекта и объекта, также в кандидатном ответе и в базе данных.

После извлечения сущностей, объекта, субъекта и предиката, сопоставляют связи и проверяют их относительно графа знаний. В графе знаний заранее фиксируются типы возможных отношений, например, “год рождения, работа, люблю и т.д.”. По отношениям иного типа поиск не производится. Граф обновляется только извлечением пары объектов для указанного типа отношений. Поисковые запросы могут быть сформированы на языке MQL/SparkQL. Проверка относительно графа знаний реализована с помощью MQL/SparkQL запросов путем нахождения или не нахождения ответа. Если найдено противоречие данный, то кандидатный ответ отвергается, и система приступает к анализу следующего кандидатного ответа пока не найдет подходящий или не исчерпает все ответы.

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

Рассмотрим пример.

Пользователь вводит фразу «Ты любишь яблоки?». Фраза передается на сервер, в базе данных есть два утверждения:

Я (любить н.в.) фрукты.

Я (любить н.в) яблоки (цвет) зеленые.

Система генерации ответа генерирует кандидатный ответ: «Я люблю красные яблоки».

Далее в классификаторе важных сущностей выделяется важная сущность, ей является «Я».

В кандидатном ответе ищется предикат, им является «люблю», а также ищется в базе данных - «любить». Кроме того, ищется субъект и объект во фразе и в базе, найден один объект - «яблоки», как в кандидатном ответе, так и базе данных.

Далее проходит обработка относительно объекта «яблоки». Поиск важных сущностей - важной сущностью являются «яблоки».

Поиск предикатов в кандидатном ответе и в базе, предикатом является «имеет цвет». Осуществляется поиск субъекта и объекта в кандидатном ответе и в базе. В кандидатном ответе найден субъект «красный» предиката «имеет цвет». В базе данных найден субъект «зеленый» предиката «имеет цвет».

Так как субъект «красный» кандидатного ответа и субъект «зеленый» ответа в базе данных явялются разными субъектами, то кандидатный ответ «Я люблю красные яблоки» отклоняется, и система начинает анализ следующего кандидатного ответа. Анализ проходит до тех пор, пока не будет найден подходящий кандидатный ответ или пока не исчерпаеются все возможные кандидатные овтеты. Данный пример иллюстрирует условие, когда пара объект-предикат имеет разный субъект.

Система генерирует следующий кандидатный ответ: «Я люблю красные груши».

В классификаторе важных сущностей выделяется важная сущность (объект), ей является «Я».

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

Так как субъект «груши» является подмножеством субъекта «фрукты», то противоречия нет, поиск заканчивается.

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

На Фиг. 2 далее будет представлена общая схема вычислительного устройства (200), обеспечивающего обработку данных, необходимую для реализации заявленного решения.

В общем случае устройство (200) содержит такие компоненты, как: один или более процессоров (201), по меньшей мере одну память (202), средство хранения данных (203), интерфейсы ввода/вывода (204), средство В/В (205), средства сетевого взаимодействия (206).

Процессор (201) устройства выполняет основные вычислительные операции, необходимые для функционирования устройства (200) или функциональности одного или более его компонентов. Процессор (201) исполняет необходимые машиночитаемые команды, содержащиеся в оперативной памяти (202).

Память (202), как правило, выполнена в виде ОЗУ и содержит необходимую программную логику, обеспечивающую требуемый функционал.

Средство хранения данных (203) может выполняться в виде HDD, SSD дисков, рейд массива, сетевого хранилища, флэш-памяти, оптических накопителей информации (CD, DVD, MD, Blue-Ray дисков) и т.п. Средство (203) позволяет выполнять долгосрочное хранение различного вида информации, например, вышеупомянутых файлов с наборами данных пользователей, базы данных, содержащих записи измеренных для каждого пользователя временных интервалов, идентификаторов пользователей и т.п.

Интерфейсы (204) представляют собой стандартные средства для подключения и работы с серверной частью, например, USB, RS232, RJ45, LPT, COM, HDMI, PS/2, Lightning, FireWire и т.п.

Выбор интерфейсов (204) зависит от конкретного исполнения устройства (200), которое может представлять собой персональный компьютер, мейнфрейм, серверный кластер, тонкий клиент, смартфон, ноутбук и т.п.

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

Средства сетевого взаимодействия (206) выбираются из устройства, обеспечивающий сетевой прием и передачу данных, например, Ethernet карту, WLAN/Wi- Fi модуль, Bluetooth модуль, BLE модуль, NFC модуль, IrDa, RFID модуль, GSM модем и т.п. С помощью средств (205) обеспечивается организация обмена данными по проводному или беспроводному каналу передачи данных, например, WAN, PAN, ЛВС (LAN), Интранет, Интернет, WLAN, WMAN или GSM.

Компоненты устройства (200) сопряжены посредством общей шины передачи данных (210).

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