СПОСОБ, АППАРАТ И УСТРОЙСТВО ДЛЯ ОБРАБОТКИ ЕСТЕСТВЕННОГО ЯЗЫКА
METHOD, APPARATUS AND DEVICE FOR NATURAL LANGUAGE PROCESSING

Ссылки на родственные заявки
Настоящая заявка основана на и испрашивает приоритет согласно патентной заявке Китая №201910687763.0 поданной 29 июля 2019 г., которая целиком включена в настоящее описание посредством ссылки.
Область техники, к которой относится изобретение
Варианты осуществления настоящего изобретения относятся к технической области человеко-машинного общения, а более конкретно, к способу, аппарату и устройству для обработки естественного языка.
Уровень техники
Обработка естественного языка - это научное направление, соединяющее в себе лингвистику, информатику и математику, и представляющее собой теорию и метод для исследования и осуществления эффективного человеко-компьютерного общения посредством естественного языка. В процессе обработки естественного языка самой распространенной используемой моделью является модель разметки последовательностей, которая широко применяется в родственных областях обработки текстов и подобных сферах.
В настоящее время распространенные способы решения проблем разметки последовательностей включают в себя скрытые марковские модели (HMM, англ. Hidden Markov Models), условные случайные поля (CRF, англ. Conditional Random Fields) и рекуррентные нейронные сети (RNN, англ. Recurrent Neural Networks). Однако, вышеупомянутым моделям свойственны проблемы ограниченности потенциальных возможностей модели, неспособности к самообучению и т.п.
Раскрытие изобретения
Для решения проблемы, свойственной предшествующему уровню техники, в вариантах осуществления настоящего изобретения предложен способ, аппарат и устройство для обработки естественного языка.
Согласно настоящему изобретению в его первом аспекте, предлагается способ обработки естественного языка, который может быть применен к чат-боту в системе человеко-машинного общения, который содержит этапы, на которых:
определяют результат разметки слотов, выдаваемый используемой моделью двунаправленной рекуррентной нейронной сети с долгой краткосрочной памятью на основе условных случайных полей BiLSTM-CRF, после разметки слотов в речевых данных, вводимых пользователем;
определяют информацию подкрепления на основе результата разметки слотов и подкрепляющей реакции пользователя на результат разметки слотов; и
осуществляют обучение с подкреплением на модели BiLSTM-CRF в соответствии с информацией подкрепления.
Как вариант, система человеко-машинного общения может дополнительно включать в себя центральный управляющий модуль, причем после определения результата разметки слотов, выдаваемого используемой моделью BiLSTM-CRF, после разметки слотов в речевых данных, вводимых пользователем, способ может дополнительно содержать этапы, на которых:
выдают посредством чат-бота результат разметки слотов, выдаваемый моделью BiLSTM-CRF, в центральный управляющий модуль; и
получают целевой результат разметки слотов, выявленный центральным управляющим модулем во множестве принятых результатов разметки слотов для речевых данных,
причем указанное множество результатов разметки слотов содержит результат разметки слотов, выдаваемый моделью BiLSTM-CRF, и результат разметки слотов, выдаваемый другим чат-ботом, при этом целевой результат разметки слотов выдают в качестве ответного результата от системы человеко-машинного общения пользователю.
Как вариант, определение информации подкрепления на основе результата разметки слотов и подкрепляющей реакции пользователя на результат разметки слотов может содержать этапы, на которых:
в ответ на несоответствие целевого результата разметки слотов и результата разметки слотов, выдаваемого моделью BiLSTM-CRF, определяют информацию подкрепления несоответствия как информацию отрицательного подкрепления; и
в ответ на соответствие целевого результата разметки слотов и результата разметки слотов, выдаваемого моделью BiLSTM-CRF, определяют информацию подкрепления в соответствии с подкрепляющей реакцией пользователя на ответный результат.
Как вариант, определение информации подкрепления в соответствии с подкрепляющей реакцией пользователя на ответный результат может включать в себя:
в ответ на то, что показатель позитивной подкрепляющей реакции пользователя больше или равен заданному пороговому значению, информацию подкрепления определяют как информацию положительного подкрепления; и
в ответ на то, что показатель позитивной подкрепляющей реакции пользователя меньше заданного порогового значения, информацию подкрепления определяют как информацию отрицательного подкрепления,
причем показатель позитивной подкрепляющей реакции пользователя определяют в соответствии с подкрепляющей реакцией пользователя на ответный результат в пределах периода времени.
Как вариант, осуществление обучения модели с подкреплением в соответствии с информацией подкрепления может содержать:
снабжение слоя CRF в модели BiLSTM-CRF информацией подкрепления для осуществления слоем CRF обучения модели с подкреплением в соответствии с информацией подкрепления.
Согласно настоящему изобретению в его втором аспекте, предлагается аппарат для обработки естественного языка, применимый к чат-боту в системе человеко-машинного общения, и содержащий:
модуль определения результата разметки слотов, выполненный с возможностью определения результата разметки слотов, выдаваемого используемой моделью BiLSTM-CRF, после разметки слотов в речевых данных, вводимых пользователем;
модуль определения информации подкрепления, выполненный с возможностью определения информации подкрепления на основе результата разметки слотов и подкрепляющей реакции пользователя на результат разметки слотов; и
модуль обучения модели с подкреплением, выполненный с возможностью осуществления обучения с подкреплением на модели BiLSTM-CRF в соответствии с информацией подкрепления.
Как вариант, система человеко-машинного общения может дополнительно содержать центральный управляющий модуль, при этом указанный аппарат может дополнительно содержать:
модуль вывода результата разметки слотов, выполненный с возможностью выдачи результата разметки слотов, выдаваемого моделью BiLSTM-CRF, в центральный управляющий модуль; и
модуль определения целевого результата разметки слотов, выполненный с возможностью получения целевого результата разметки слотов, выявленного центральным управляющим модулем во множестве принятых результатов разметки слотов для речевых данных,
причем указанное множество результатов разметки слотов содержит результат разметки слотов, выдаваемый моделью BiLSTM-CRF, и результат разметки слотов, выдаваемый другим чат-ботом, при этом целевой результат разметки слотов выдается в качестве ответного результата от системы человеко-машинного общения пользователю.
Как вариант, модуль определения информации подкрепления может содержать:
первый субмодуль определения информации подкрепления, выполненный с возможностью, в ответ на несоответствие целевого результата разметки слотов и результата разметки слотов, выдаваемого моделью BiLSTM-CRF, определения информации подкрепления как информации отрицательного подкрепления; и
второй субмодуль определения информации подкрепления, выполненный с возможностью, в ответ на соответствие целевого результата разметки слотов и результата разметки слотов, выдаваемого моделью BiLSTM-CRF, определения информации подкрепления в соответствии с подкрепляющей реакцией пользователя на ответный результат.
Как вариант, второй субмодуль определения информации подкрепления может быть специально выполнен с возможностью:
в ответ на то, что показатель позитивной подкрепляющей реакции пользователя больше или равен заданному пороговому значению, определять информацию подкрепления как информацию положительного подкрепления; и
в ответ на то, что показатель позитивной подкрепляющей реакции пользователя меньше заданного порогового значения, определять информацию подкрепления как информацию отрицательного подкрепления,
причем показатель позитивной подкрепляющей реакции пользователя определяется в соответствии с подкрепляющей реакцией пользователя на ответный результат в пределах периода времени.
Как вариант, модуль обучения модели с подкреплением может быть специально выполнен с возможностью:
снабжения слоя CRF в модели BiLSTM-CRF информацией подкрепления, так чтобы слой CRF мог осуществить обучение модели с подкреплением в соответствии с информацией подкрепления.
Согласно настоящему изобретению в его третьем аспекте, предлагается устройство для человеко-машинного общения, которое может содержать чат-бот, а также:
процессор; и
память, выполненную с возможностью хранения инструкций, исполняемых процессором,
причем процессор выполнен с возможностью:
определения результата разметки слотов, выдаваемого используемой моделью BiLSTM-CRF, после разметки слотов в речевых данных, вводимых пользователем;
определения информации подкрепления на основе результата разметки слотов и подкрепляющей реакции пользователя на результат разметки слотов; и
осуществления обучения с подкреплением на модели BiLSTM-CRF в соответствии с информацией подкрепления.
Согласно настоящему изобретению в его четвертом аспекте, предлагается машиночитаемый носитель данных, в котором может храниться компьютерная программа, исполняемая процессором для реализации этапов способа по изобретению.
Технические решения, предусматриваемые вариантами осуществления настоящего изобретения, могут обеспечиваеть следующие положительные эффекты.
Согласно вариантам осуществления настоящего изобретения, в качестве базовой концепции взята модель BiLSTM-CRF, при этом после того, как модель BiLSTM-CRF выдаст для внешнего использования результат разметки слотов, чат-бот может получить соответствующую информацию подкрепления, соответствующую результату разметки слотов, и осуществить обучение с подкреплением на модели BiLSTM-CRF в соответствии с информацией подкрепления, и тем самым реализовать динамическое самообучение модели в целях сокращения ручного процесса разметки, и увеличения эффективности и точности разметки слотов.
Следует понимать, что вышеприведенное общее описание и нижеследующее подробное описание являются лишь поясняющими примерами, и не преследуют цели ограничения вариантов осуществления настоящего изобретения.
Краткое описание чертежей
Прилагаемые чертежи, которые включены в настоящее описание и составляют его часть, иллюстрируют варианты осуществления в соответствии с настоящим изобретением, и вместе с описанием служат для объяснения принципов вариантов осуществления настоящего изобретения.
На фиг. 1 представлена блок-схема, изображающая этапы способа обработки естественного языка, соответствующего примеру осуществления настоящего изобретения.
На фиг. 2 представлена блок-схема, изображающая этапы другого варианта осуществления способа для обработки естественного языка, соответствующего примеру осуществления настоящего изобретения.
На фиг. 3 представлена схема, иллюстрирующая модель BiLSTM-CRF, соответствующую примеру осуществления настоящего изобретения.
На фиг. 4 представлена блок-схема варианта осуществления аппарата для обработки естественного языка, соответствующего примеру осуществления настоящего изобретения.
На фиг. 5 представлена блок-схема устройства для человеко-машинного взаимодействия, соответствующего примеру осуществления настоящего изобретения.
Осуществление изобретения
Далее будут подробно рассмотрены примеры вариантов осуществления изобретения, которые иллюстрируются прилагаемыми чертежами. Нижеследующее описание содержит ссылки на сопровождающие чертежи, на которых одни и те же позиционные номера на разных фигурах представляют одни и те же или подобные элементы, если не оговорено иное. Реализации, предложенные в последующем описании примеров вариантов осуществления изобретения, не представляют все возможные реализации, соответствующие вариантам осуществления изобретения. Напротив, это лишь примеры аппаратов и способов, совместимых с аспектами, которые касаются вариантов осуществления настоящего изобретения, и которые изложены в прилагаемой формуле изобретения.
Термины, используемые в вариантах осуществления настоящего изобретения, приняты только для целей описания конкретных вариантов, и не имеют целью ограничение вариантов осуществления настоящего изобретения. Предполагается, что существительные, употребляемые в вариантах осуществления изобретения и в формуле изобретения в единственном числе, и сопровождаемые словами «некоторый», «определенный» или «указанный», также заключают в себе и форму множественного числа, если в описании явным образом не указано иное. Также следует понимать, что используемый в описании союз «и/или» относится или включает в себя одну или любую или все возможные комбинации множества перечисленных связанных элементов.
Следует понимать, что, хотя термины «первый», «второй», «третий» и т.п. могут быть приняты для описания различной информации в вариантах осуществления настоящего изобретения, указанная информация не должна ограничиваться данными терминами. Данные термины приняты только для различения информации одного и того же типа. Например, в рамках идеи и объема настоящего изобретения «первая информация» может быть также названа «второй информацией», и аналогично «вторая информация» может быть названа «первой информацией». Например, используемый в описании термин «если» можно в зависимости от контекста истолковывать как «в то время как» или «когда» или «в ответ на определение».
На фиг. 1 изображена блок-схема этапов осуществления способа для обработки естественного языка, соответствующего примеру варианта осуществления настоящего изобретения. Способ, соответствующий варианту осуществления настоящего изобретения, может быть применен к чат-боту в системе человеко-машинного общения, и может конкретно содержать следующие этапы.
На этапе 101 производится определение результата разметки слотов, выдаваемого используемой моделью BiLSTM-CRF, после разметки слотов на вводимых пользователем речевых данных.
На указанном этапе чат-бот, после приема речевых данных, введенных пользователем, может выполнить разметку слотов на речевых данных путем использования модели BiLSTM-CRF, и получить результат разметки слотов, выдаваемый моделью BiLSTM-CRF. Разметку слотов можно понимать как задачу разметки последовательностей для решения проблемы разметки последовательностей.
На этапе 102 производится определение информации подкрепления на основе результата разметки слотов и подкрепляющей реакции пользователя на указанный результат разметки слотов.
На указанном этапе чат-бот после получения результата разметки слотов может дополнительно определить информацию подкрепления для указанного результата разметки слотов. В качестве примера, указанная информация подкрепления может заключаться в позитивной подкрепляющей реакции пользователя на указанный результат разметки слотов.
На этапе 103 выполняется обучение с подкреплением на модели BiLSTM-CRF в соответствии с информацией подкрепления.
На указанном этапе чат-бот может выполнить обучение с подкреплением на модели BiLSTM-CRF в соответствии с полученной информацией подкрепления для указанного результата разметки слотов, и тем самым реализовано динамическое самообучение модели, чтобы сократить процесс ручной разметки и улучшить эффективность и точность разметки слотов.
На фиг. 2 изображена блок-схема этапов другого варианта осуществления способа для обработки естественного языка, соответствующего примеру варианта осуществления настоящего изобретения. Способ, соответствующий варианту осуществления настоящего изобретения, может быть применен к чат-боту в системе человеко-машинного общения, и может конкретно содержать следующие этапы.
На этапе 201 производится определение результата разметки слотов, выдаваемого используемой моделью BiLSTM-CRF, после разметки слотов на вводимых пользователем речевых данных.
Разметка слотов представляет собой важную часть модуля восприятия естественного языка (NLU, англ. Natural Language Understanding) - модуля NLU. Модуль NLU является ядром системы человеко-машинного общения, причем цельный модуль NLU главным образом реализует две следующие функции: понимание пожелания пользователя и анализ ключевого сегмента в предложении, высказанном пользователем. Пожелание - это классификатор. Тип предложения, высказанного пользователем, определяется для дальнейшего специального анализа программы (т.е. ботом (речевым ботом)), соответствующей установленному типу. Например, когда пользователь говорит «проиграй веселую песню для меня», можно определить, что классом пожелания пользователя является музыка, и таким образом может быть вызван музыкальный бот, чтобы он порекомендовал пользователю песню для проигрывания. Если пользователю не нравится эта песня, и он говорит «поменяй на другую песню», музыкальный бот продолжит обслуживать пользователя, а когда пользователь выразит другое пожелание, которое не является музыкой, произойдет переключение на другой бот, чтобы тот обслужил пользователя.
Система человеко-машинного общения дополнительно содержит центральный управляющий модуль, который обменивается данными с модулем NLU. Когда модуль NLU анализирует речевое предложение, чтобы получить более, чем одно пожелание, центральный управляющий модуль может передать речевое предложение пользователя боту (т.е. определенному чат-боту), объявляя, что чат-бот способен обработать пожелание пользователя, при этом указанный бот возвращает результат обработки.
Боту необходимо понять содержание речевого предложения, и для удобства понимания бот может выбрать ключевой сегмент, и проигнорировать иное «неважное» содержимое. Указанный ключевой сегмент называют слотом.
В варианте осуществления настоящего изобретения чат-бот может выполнять разметку слотов в речевых данных, вводимых пользователем, путем использования модели BiLSTM-CRF. Процедуру разметки слотов можно понимать, как операцию разметки последовательностей в задаче разметки последовательностей.
Ниже будет приведен пример китайского предложения. Процесс разметки слотов реализован посредством модели BiLSTM-CRF следующим образом.
Предложение (последовательность слов), содержащее n слов, записывается следующим образом:
X=(X1, X2,…,Xn)
Где Xi представляет идентификатор (ID) i-го слова в предложении в словаре; дополнительно может быть получен унитарный (англ. one-hot) вектор для каждого слова, при этом его размерность будет равна размеру словаря.
На фиг. 3 изображена схема, иллюстрирующая модель BiLSTM-CRF.
Первый слой модели - это слой просмотра (англ. look-up layer); унитарному вектору каждого слова в предложении ставится в соответствие сжатое векторное представление слова с невысокой размерностью путем использования матрицы вложений, которая предварительно обучена или инициализирована случайно, при этом перед подачей в следующий слой задается исключение (англ. dropout) (способ оптимизации нейросети с глубокой структурой, при котором часть весов или результатов скрытого слоя в процессе обучения очищают случайным образом, чтобы ослабить зависимость между узлами, и тем самым осуществить регуляризацию нейросети и предотвратить переобучение (англ. over-fitting) нейросети), чтобы ослабить эффект переобучения нейронной сети.
Вторым слоем модели является слой двунаправленной сети долгой краткосрочной памяти BiLSTM, которая включает в себя LSTM (англ. Long-short term Memory) прямого распространения и LSTM обратного распространения. Последовательность (X1, X2, …, Xn) вложения символов всех слов предложения берется в качестве входной переменной каждого временного шага BiLSTM, а затем последовательность  скрытого состояния, полученная посредством LSTM прямого распространения, и последовательность скрытого состояния , полученная посредством LSTM обратного распространения, в соответствующих положениях согласно положениям склеиваются, чтобы получить полную последовательность скрытого состояния.
После того, как заданы исключения, производится присоединение линейного слоя; вектор скрытого состояния переносится из m-й размерности в k- ю размерность, где k- номер метки в множестве меток, так что выходной слой (выход LSTM) выдает автоматически извлеченную характеристику предложения, записанную в виде матрицы .
Третьим слоем модели является слой CRF для разметки последовательности уровня предложения. Параметром слоя CRF является матрица А размером (k+2)*(k+2). Элемент Aij представляет показатель в баллах перехода от i-й метки к j-й метке, и кроме того, когда происходит разметка положения, может быть использована метка, которая уже использовалась для разметки. Число 2 прибавляют, чтобы добавить начальное состояние к началу предложения, и добавить конечное состояние к концу предложения.
Из фиг 3 можно видеть, что для предложения "Китай - очень большая страна" результат разметки слотов, который в конечном счете выдается моделью
BiLSTM-CRF, выглядит следующим образом:
Китай
страна
очень
большая
B-LOC
I-LOC
0
0
Здесь в множестве меток BIO метки B-PER и I-PER представляют первое слово в имени человека и, соответственно, непервое слово в имени человека, B-LOC и I-LOC представляют первое слово в наименовании места и, соответственно, непервое слово в наименовании места, B-ORG и I-ORG представляют первое слово в наименовании организации и, соответственно, непервое слово в наименовании организации, а 0 представляет, что слово не является частью именованной сущности. Естественно, в особом поле могут также быть соответственно индивидуально указаны различные типы сущностей, например, видео и погода.
На этапе 202 чат-бот выдает результат разметки слотов, выдаваемый моделью BiLSTM-CRF, в центральный управляющий модуль.
На этапе 203 производится получение целевого результата разметки слотов, установленного центральным управляющим модулем, в полученном результате разметки слотов, заданном для речевых данных.
Согласно варианту осуществления изобретения, чат-бот после получения результата разметки слотов, выдаваемого моделью BiLSTM-CRF, может выдать результат разметки слов в центральный управляющий модуль. Центральный управляющий модуль может принимать результаты разметки слотов для одних и тех же речевых данных от различных чат-ботов, чтобы сформировать множество результатов разметки слотов, и тогда множество результатов разметки слотов может включать в себя результат разметки слотов, выдаваемого моделью BiLSTM-CRF и результат (-ты) разметки слотов, выдаваемый другим чат-ботом (чат-ботами).
На практике, когда модуль NLU анализирует речевое высказывание, чтобы получить более, чем одно пожелание, центральный управляющий модуль может выделить одно пожелание из множества пожеланий в качестве пожелания пользователя, и определить по меньшей мере один бот, соответствующий пожеланию пользователя, чтобы произвести обработку результатов анализа с целью получения множества обработанных результатов разметки слотов. Затем, центральный управляющий модуль может определить целевой результат разметки слотов, который наилучшим образом соответствует пожеланию пользователя из множества результатов разметки слотов. Целевой результат разметки слотов может выводится в качестве ответного результата пользователю от системы человеко-машинного общения.
На этапе 204 в ответ на несоответствие целевого результата разметки слотов и результата разметки слотов, выдаваемого моделью BiLSTM-CRF, определяют информацию подкрепления несоответствия в качестве информации отрицательного подкрепления.
Согласно варианту осуществления изобретения, информация подкрепления для результата разметки слотов, выдаваемого моделью BiLSTM-CRF, может быть определена путем сравнения целевого результата разметки слотов с результатом разметки слотов посредством модели BiLSTM-CRF.
В качестве примера, информация подкрепления может представлять собой информацию положительного подкрепления и информацию отрицательного подкрепления. Например, информация положительного подкрепления может быть представлена числовым значением 1, а информация отрицательного подкрепления может быть представлена числовым значением -1.
На том же этапе, если результат разметки слотов, выдаваемый моделью BiLSTM-CRF, не соответствует целевому результату разметки слотов, информация подкрепления может быть определена как информация отрицательного подкрепления.
При реализации, в чат-боте может быть установлен калькулятор подкрепления, чтобы регистрировать информацию подкрепления для текущего результата разметки слотов. Например, если установлено, что информация подкрепления является отрицательной, в калькуляторе будет зарегистрировано «подкрепление =-1».
На этапе 205 в ответ на соответствие целевого результата разметки слотов и результата разметки слотов, выдаваемого моделью BiLSTM-CRF, информация подкрепления определяется в соответствии с подкрепляющей реакцией пользователя на ответный результат.
На том же этапе, если результат разметки слотов, выдаваемый моделью BiLSTM-CRF, соответствует целевому результату разметки слотов, информация подкрепления может быть определена по подкрепляющей реакции пользователя на ответный результат.
То есть, даже если результат разметки слотов, выдаваемый моделью BiLSTM-CRF, соответствует целевому результату разметки слотов, информация подкрепления может также быть определена по подкрепляющей реакции пользователя на ответный результат, поскольку пользователь является реальным арбитром, решающим, является ответный результат приемлемым или нет.
При возможной реализации данного варианта осуществления настоящего изобретения, этап 205 может содержать следующие субэтапы.
На субэтапе S11 в ответ на то, что показатель положительного подкрепления пользователя больше заданного порогового значения или равен ему, определяют информацию подкрепления в качестве информации положительного подкрепления.
На субэтапе S12 в ответ на то, что показатель положительного подкрепления меньше заданного порогового значения, определяют информацию подкрепления в качестве информации отрицательного подкрепления.
Показатель положительного подкрепления определяется в соответствии с подкрепляющей реакцией пользователя на ответный результат в течение некоторого периода времени.
На практике, множество пользователей могут послать одни и те же или аналогичные речевые данные в систему человеко-машинного общения в пределах учетного периода. Тогда для указанных речевых данных, если результат разметки слотов, выдаваемый моделью BiLSTM-CRF, является ответным результатом, то может быть собрана статистика подкрепляющих реакций (например, кликов или лайков) множества пользователей на ответный результат в течение определенных временных периодов. Если показатель положительного подкрепления больше заданного порогового значения или равен ему, то это указывает, что подкрепления от пользователей являются положительными подкреплениями, и в таком случае информация подкрепления для результата разметки слотов может быть определена, как информация положительного подкрепления, а именно, «подкрепление =1». Напротив, если величина положительного подкрепления пользователя меньше заданного порогового значения, то это указывает, что подкрепления от пользователей являются отрицательными подкреплениями, и в таком случае информация подкрепления для результата разметки слотов может быть определена, как информация отрицательного подкрепления, а именно, «подкрепление =-1».
После определения информации подкрепления эта информация может быть дополнительно сохранена в буфере для последующего использования.
На этапе 206 слой CRF в модели BiLSTM-CRF снабжается информацией подкрепления для слоя CRF, чтобы выполнить обучение модели с подкреплением в соответствии с информацией подкрепления.
На данном этапе калькулятор подкрепления после определения информации подкрепления для результата разметки слотов, выдаваемого моделью BiLSTM-CRF, может снабдить слой CRF модели BiLSTM-CRF записанной информацией подкрепления, при этом слой CRF осуществляет обучение модели с подкреплением, забирая в качестве обучающих данных каждый результат разметки слотов и соответствующую информацию подкрепления. Весь замкнутый контур обучения завершается обучением с подкреплением, так что обученная модель BiLSTM-CRF может получать более точный результат разметки слотов.
Согласно примеру, в число четырех факторов для обучения с подкреплением модели BiLSTM-CRF могут входить:
действие: результат Y разметки слотов;
состояние: последовательность X, подлежащая разметке;
стратегия: p(y|x), т.е. вероятность формирования результата Y при условии последовательности X; и
подкрепление: информация подкрепления.
Согласно варианту осуществления изобретения, после получения результата разметки слотов, выдаваемого моделью BiLSTM-CRF, может быть определена информация подкрепления с учетом подкреплений центрального управляющего модуля и пользователя для результата разметки слотов, чтобы избежать проблем при разметке для пользователя. Информация подкрепления возвращается в слой CRF модели BiLSTM-CRF для обучения с подкреплением, так что точность модели BiLSTM-CRF может быть улучшена.
Чтобы специалисты в данной области могли лучше понять вариант осуществления настоящего изобретения, указанный вариант будет описан ниже на конкретном примере.
Например, речевые данные от пользователя на входе имеют вид «погода завтра». Поскольку словосочетание «погода завтра» является названием видео сюжета, результат разметки слотов, выдаваемый моделью BiLSTM-CRF, после разметки слотов в выражении «погода завтра» будет иметь вид: погода завтра/видео. Центральный управляющий модуль после приема результатов разметки слотов, переданных множеством ботов, в конце концов определяет, что пожеланием речевых данных пользователя является погода, и таким образом окончательно полученный целевой результат разметки слотов имеет вид «завтра/дата погода/погода». Калькулятор подкрепления после получения целевого результата разметки слотов, который был определен центральным управляющим модулем, сопоставляет его с результатом разметки слотов, выдаваемым моделью BiLSTM-CRF, определяет, что они не соответствуют друг другу (один результат касается видео, а другой результат касается погоды), и таким образом устанавливает информацию подкрепления для результата разметки слотов, выдаваемого моделью BiLSTM-CRF на значение «подкрепление=-1».
о погоде завтра
С другой стороны, если центральный управляющий модуль окончательно определяет, что пожеланием, содержащимся в речевых данных, является видео, то окончательно полученный целевой результат разметки слотов будет иметь вид «погода завтра/видео». Калькулятор подкрепления после получения целевого результата разметки слотов, который был определен центральным управляющим модулем, сопоставляет его с результатом разметки слотов, выдаваемым моделью BiLSTM-CRF, и определяет, что они соответствуют друг другу (оба результата касаются видео). В таком случае калькулятор подкрепления может формировать статистические данные по показателю кликов (англ. click rate) пользователя для ответного результата (например, видео ресурс, возвращаемый пользователю центральным управляющим модулем, ), соответствующий целевому результату разметки слотов в пределах некоторого периода времени; если показатель кликов сравнительно низкий (меньше заданного порогового значения), калькулятор подкрепления может посчитать, что ответный результат не удовлетворяет пользователя и может установить информацию подкрепления для результата разметки слотов на значение «подкрепление=-1»; и, напротив, если показатель кликов сравнительно высок (больше заданного порогового значения), калькулятор подкрепления может посчитать, что ответ удовлетворяет пользователя и может установить информацию подкрепления для результата разметки слотов на значение «подкрепление=1».
Калькулятор подкрепления снабжает модель BiLSTM-CRF информацией подкрепления для динамического самообучения модели. Если «подкрепление =-1», когда модель следующий раз снова получает речевые данные о «погоде завтра», то определяется, что это не результат разметки видео, а результат разметки погоды, и выходной результат разметки будет «завтра/дата погода/погода», таким образом достигается цель обучения.
Различные технические характеристики в вышеприведенных формах реализации можно свободно комбинировать, если в комбинациях характеристик нет конфликтов или противоречий, при этом комбинации не описаны порознь из-за ограничения места. Поэтому, любая комбинация технических характеристик в формах реализации должна также попадать в границы идеи и объема изобретения, раскрытые в описании.
Соответственно варианту осуществления способа обработки естественного языка, в настоящем изобретении предлагается также вариант осуществления аппарата для обработки естественного языка.
На фиг. 4 изображена блок-схема варианта осуществления аппарата для обработки естественного языка, соответствующего настоящему изобретению. Соответствующий настоящему изобретению аппарат может быть применен к чат-боту в системе человеко-машинного общения. Аппарат может конкретно содержать модуль 401 определения результата разметки слотов, модуль 402 определения информации подкрепления, и модуль 403 обучения с подкреплением.
Модуль 401 определения результата разметки слотов выполнен с возможностью определения результата разметки слотов, выдаваемого используемой моделью BiLSTM-CRF, после разметки слотов речевых данных, подаваемых на вход пользователем.
Модуль 402 определения информации подкрепления выполнен с возможностью определения информации подкрепления исходя из результата разметки слотов и подкрепляющей реакции пользователя на результат разметки слотов.
Модуль 403 обучения с подкреплением выполнен с возможностью реализации обучения с подкреплением на модели BiLSTM-CRF в соответствии с информацией подкрепления.
Можно видеть, что согласно варианту осуществления настоящего изобретения, результат разметки слотов, выдаваемый моделью BiLSTM-CRF, принимается посредством модуля 401 определения результата разметки слотов, а информация подкрепления определяется посредством модуля 402 определения информации подкрепления на основе результата разметки слотов и поощрения пользователем результата разметки слотов, так что ручная работа по разметке сокращается. Затем производится обучение с подкреплением на модели BiLSTM-CRF посредством модуля 403 обучения с подкреплением в соответствии с информацией подкрепления, чтобы реализовать динамическое самообучение модели, так что точность разметки слотов модели может быть улучшена.
Согласно варианту осуществления настоящего изобретения, система человеко-машинного общения дополнительно содержит центральный управляющий модуль, а аппарат дополнительно содержит следующие модули: модуль вывода результата разметки слотов и модуль определения целевого результата разметки слотов.
Модуль вывода результата разметки слотов выполнен с возможностью вывода результата разметки слотов, выдаваемого моделью BiLSTM-CRF в центральный управляющий модуль.
Модуль определения целевого результата разметки слотов выполнен с возможностью получения целевого результата разметки слотов, выявленного центральным управляющим модулем на основе полученного набора результатов разметки слотов для речевых данных.
Здесь набор результатов разметки слотов включает в себя результат разметки слотов, выдаваемый моделью BiLSTM-CRF, и результат (-ты) разметки слотов, выдаваемый посредством другого (-гих) чат-бота (-тов), при этом целевой результат разметки слотов выдается в качестве ответного результата от системы человеко-машинного общения пользователю.
Согласно другому варианту осуществления настоящего изобретения, модуль 402 определения информации подкрепления может включать в себя первый субмодуль определения информации подкрепления и второй субмодуль определения информации подкрепления.
Первый субмодуль определения информации подкрепления выполнен с возможностью, в ответ на несоответствие целевого результата разметки слотов и результата разметки слотов, выдаваемого моделью BiLSTM-CRF, определять информацию подкрепления несоответствия как информацию отрицательного подкрепления.
Второй субмодуль определения информации подкрепления выполнен с возможностью, в ответ на соответствие целевого результата разметки слотов и результата разметки слотов, выдаваемого моделью BiLSTM-CRF, определять информацию подкрепления в соответствии с подкрепляющей реакцией пользователя на ответный результат.
Из указанного варианта осуществления можно видеть, что информация подкрепления может включать в себя информацию подкрепления центрального управляющего модуля и информацию подкрепления пользователя, так что число параметров при определении подкрепления расширено, и точность разметки улучшена.
Согласно варианту осуществления настоящего изобретения, второй субмодуль определения информации подкрепления специально выполнен с возможностью:
- определения в ответ на то, что показатель позитивной подкрепляющей реакции пользователя больше или равен заданному пороговому значению, информации подкрепления в качестве информации положительного подкрепления; и
- определения в ответ на то, что показатель позитивной подкрепляющей реакции пользователя меньше заданного порогового значения, информации подкрепления в качестве информации отрицательного подкрепления;
при этом показатель позитивной подкрепляющей реакции пользователя определяется в соответствии с подкрепляющей реакцией пользователя на ответный результат в пределах некоторого периода времени.
Из указанного варианта осуществления можно видеть, что во время отнесения информации подкрепления к категории можно выполнять анализ с учетом информации подкрепления центрального управляющего модуля и пользователя, так что точность отнесения к категории может быть улучшена.
Согласно варианту осуществления настоящего изобретения, модуль 403 обучения модели с подкреплением специально выполнен с возможностью:
снабжения слоя CRF модели BiLSTM-CRF информацией подкрепления для слоя CRF, чтобы производить обучение модели с подкреплением в соответствии с информацией подкрепления.
Из указанного варианта осуществления можно видеть, что обучение модели с подкреплением осуществляется посредством модуля 403 в соответствии с информацией подкрепления, так что может быть реализовано динамическое самообучение модели, и точность разметки слотов модели может быть улучшена.
Подробности процесса реализации функции и влияния каждого модуля в рассматриваемом аппарате могут относиться к категории специальных описаний варианта осуществления системы, и в настоящем документе они опущены.
Вариант осуществления аппарата, по существу, соответствует варианту осуществления системы, и таким образом соответствующие части соотносятся с частью описаний варианта осуществления системы. Описанный выше вариант осуществления аппарата рассмотрен лишь схематично; блоки, описанные как отдельные части, могут быть, а могут и не быть физически отдельными частями; при этом узлы, изображенные в виде блоков могут быть, а могут и не быть физически едиными элементами, а именно могут быть расположены в одном месте, или могут быть распределены по множеству структурных единиц сети. Часть модулей или все модули могут быть выбраны в соответствии с практическими требованиями в целях решения задачи настоящего изобретения. Специалистам в данной области должно быть под силу понять и реализовать настоящее изобретение в рабочем порядке.
На фиг. 5 изображена блок-схема устройства 500 для человеко-машинного общения, соответствующего примеру осуществления настоящего изобретения.
Согласно фиг. 5, устройство 500 может содержать один или более следующих блоков: блок 502 обработки, память 504, блок 506 питания, блок 508 мультимедиа, блок 510 аудио, интерфейс 512 ввода/вывода, блок 514 датчиков и блок 516 коммуникации.
Блок 502 обработки обычно управляет всеми операциями в устройстве 500. Блок 502 обработки может включать в себя один или более процессоров 520 с целью исполнения инструкций для выполнения всех этапов или части этапов способа. Более того, блок 502 обработки может включать в себя один или более модулей, которые обеспечивают взаимодействие между блоком 502 обработки и другими блоками. Например, блок 502 обработки может содержать модуль мультимедиа, чтобы обеспечить взаимодействие между блоком 508 мультимедиа и блоком 502 обработки.
Память 504 выполнена с возможностью хранения различных типов данных, чтобы поддерживать работу устройства 500. К числу таких данных относятся инструкции для любых программ приложений или способов, которые работают на устройстве 500. Память 504 может быть реализована посредством любого типа устройств энергозависимой или энергонезависимой памяти, или их сочетания, например, статической оперативной памяти (SRAM, англ. Static Random Access Memory), электрически стираемых программируемых постоянных запоминающих устройств ПЗУ (EEPROM, англ. Electrically Erasable Programmable Read-Only Memory), стираемых программируемых ПЗУ (EPROM, англ. Erasable Programmable Read-Only Memory), программируемых ПЗУ (PROM, англ. Programmable Read-Only Memory), ПЗУ (ROM, англ. Read-Only Memory), магнитной памяти, флэш-памяти, а также посредством магнитного или оптического диска.
Блок 506 питания обеспечивает питание для различных компонентов устройства 500. Блок 506 питания может включать в себя систему управления питанием, один или более источников питания и другие компоненты, связанные с генерацией, управлением и распределением питания в устройстве 500.
Блок 508 мультимедиа содержит экран, обеспечивающий выходной интерфейс между устройством 500 и пользователем. В некоторых вариантах осуществления экран может включать в себя жидкокристаллический дисплей (LCD, англ. Liquid Crystal Display) и сенсорную панель (TP, англ. Touch Panel). Если экран содержит TP, то он может быть реализован в виде сенсорного экрана для приема сигналов ввода от пользователя. Сенсорная панель содержит один или более тактильных датчиков для восприятия касаний, скольжений и жестов на сенсорной панели. Тактильные датчики могут воспринимать не только границу касания или скользящее движение, но также обнаруживать длительность и давление, связанные с касанием или скользящим движением. Блок 510 аудио выполнен с возможностью вывода и/или ввода звуковых сигналов. Например, блок 510 аудио содержит микрофон, при этом микрофон выполнен с возможностью приема внешнего аудио сигнала, когда устройство 500 находится в рабочем режиме, например, режиме вызова, режиме записи или режиме распознавания голоса. Принимаемый аудио сигнал может дополнительно сохраняться памяти 504 или пересылаться через блок 516 коммуникации. В некоторых вариантах осуществления блок 510 аудио дополнительно содержит громкоговоритель, предназначенный для выдачи звукового сигнала.
Интерфейс 512 ввода/вывода обеспечивает связь между блоком 502 обработки и модулем периферийного интерфейса, при этом модуль периферийного интерфейса может представлять собой клавиатуру, нажимное колесико (англ. click wheel), кнопки и т.п. В число кнопок, помимо других возможных, могут входить: кнопка исходного состояния (англ. home), кнопка громкости, кнопка пуска и кнопка блокировки.
Блок 514 датчиков содержит один или более датчиков, выполненных с возможностью оценивания состояния устройства 500 в разных аспектах. Например, блок 514 датчиков может обнаруживать состояние включено/выключено устройства 500 и соответствующую установку компонентов, таких как дисплея или малой клавиатуры устройства 500, при этом блок 514 датчиков может дополнительно обнаруживать изменение положения устройства 500 или составной части устройства 500, наличие и отсутствие контакта между пользователем и устройством 500, ориентацию или ускорение/замедление движения устройства 500, и изменение температуры устройства 500. Блок 514 датчиков может содержать бесконтактный датчик сближения, выполненный с возможностью обнаружения вблизи объекта без физического контакта с ним. Блок 514 датчиков может также содержать оптический датчик, например датчик изображений на комплементарных структурах "металл-оксид-полупроводник" (CMOS, англ. Complementary Metal Oxide Semiconductor) или прибор с зарядовой связью (CCD, англ. Charge Coupled Device), предназначенный для использования в задачах обработки изображений. В некоторых вариантах осуществления блок 514 датчиков может также содержат датчик ускорения, гироскопический датчик, магнитный датчик, датчик давления или датчик температуры.
Блок 516 коммуникации выполнен с возможностью осуществления беспроводного или проводного обмена данными между устройством 500 и другим устройством. Устройство 500 может получать доступ к стандартным сетям беспроводной связи, таким как сеть WiFi, сеть 2-го поколения (2G) или сеть пятого поколения (5G), или к комбинации сетей. В примере варианта осуществления блок 516 коммуникации принимает сигнал вещания или информацию, связанную с вещанием от внешней системы управления вещанием через вещательный канал. Согласно варианту осуществления изобретения, блок 516 коммуникации дополнительно содержит модуль ближней бесконтактной связи (NFC, англ. Near-Field Communication) для обеспечения связи на малых расстояниях. Например, модуль NFC может быть реализован с использованием технологии радиочастотной идентификации (RFID, англ. Radio Frequency Identification), инфракрасной технологии передачи данных (IrDA, англ. Infrared Data Association), технологии сверхширокой полосы пропускания (UWB, англ. Ultra-Wide Band), технологии BlueTooth (BT) и другой технологии.
Согласно примеру варианта осуществления изобретения, устройство 500 может быть реализовано с применением специализированных заказных интегральных схем (ASIC, англ. Application Specific Integrated Circuits), цифровых сигнальных процессоров (DSP, англ. Digital Signal Processors), приборов цифровой обработки сигналов (DSPD, англ. Digital Signal Processing Devices), программируемых логических устройств (PLD, англ. Programmable Logic Devices), программируемых пользователем вентильных матриц (FPGA, англ. Field Programmable Gate Array), контроллеров, микроконтроллеров, микропроцессоров, или иных электронных компонентов, и выполнено с возможностью выполнения рассмотренного выше способа.
Согласно примеру варианта осуществления, также предусмотрен долговременный машиночитаемый носитель данных, содержащий инструкции, такой как память 504, при этом инструкции могут исполняться процессором 520 устройства 500 в целях реализации рассмотренного выше способа. Например, долговременный машиночитаемый носитель данных может представлять собой ПЗУ (ROM), ПЗУ в виде компакт диска (CD-ROM), магнитную ленту, флоппи-диск, оптический диск и т.п.
Инструкции, находящиеся на машиночитаемом носителе данных, исполняются процессором, чтобы устройство 500 могло выполнить способ обработки естественного языка, при котором производится определение результата разметки слотов, выдаваемого используемой моделью BiLSTM-CRF, после разметки слотов в речевых данных, вводимых пользователем; производится определение информации подкрепления исходя из результата разметки слотов и подкрепляющей реакции пользователя на результат разметки слотов; и в соответствии с информацией подкрепления осуществляется обучение с подкреплением на модели BiLSTM-CRF.
Из рассмотрения описания вариантов осуществления настоящего изобретения и их применения на практике для специалистов в данной области должна быть очевидна возможность других решений для осуществления изобретения. Варианты осуществления настоящего изобретения предусматривают охват любых видоизменений, способов использования и адаптаций вариантов осуществления, которые следуют общей идее изобретения, и включают в себя такие отступления от вариантов осуществления, какие находятся в границах общепринятой практики в данной области. Предполагается, что данное описание и примеры осуществления следует рассматривать только, как примеры, при этом истинная идея и объем вариантов осуществления настоящего изобретения обозначены нижеследующей формулой изобретения.
Следует понимать, что варианты осуществления настоящего изобретения не ограничены точной конструкцией, какая была описана выше и изображена на прилагаемых чертежах, при этом в рамках объема настоящего изобретения могут быть сделаны различные модификации и внесены изменения. Предполагается, что объем вариантов осуществления изобретения ограничен только прилагаемой формулой изобретения.
Выше рассмотрены только предпочтительные варианты осуществления настоящего изобретения, при этом не имеется в виду, что они ограничивают собой варианты осуществления изобретения. Любые модификации, эквивалентные замены, усовершенствования и т.п., сделанные в рамках идеи и объема настоящего изобретения, должны попадать в границы охраны вариантов осуществления настоящего изобретения.
ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ
Согласно вариантам осуществления настоящего изобретения, модель BiLSTM-CRF взята в качестве базовой концепции, при этом после того как модель BiLSTM-CRF выдает результат разметки слотов, чат-бот может получить соответствующую информацию подкрепления, соответствующую результату разметки слотов, и осуществить обучение с подкреплением на модели BiLSTM-CRF в соответствии с информацией подкрепления, и тем самым реализовать динамическое самообучение модели, чтобы сократить процесс ручной разметки слотов и увеличить эффективность и точность разметки слотов.