CN111400450B - 人机对话方法、装置、设备及计算机可读存储介质 - Google Patents
人机对话方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111400450B CN111400450B CN202010182078.5A CN202010182078A CN111400450B CN 111400450 B CN111400450 B CN 111400450B CN 202010182078 A CN202010182078 A CN 202010182078A CN 111400450 B CN111400450 B CN 111400450B
- Authority
- CN
- China
- Prior art keywords
- conversation
- information
- feature vector
- man
- sample
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Machine Translation (AREA)
Abstract
本申请实施例提供一种人机对话方法、装置、设备及计算机可读存储介质,其中,方法包括:当人机对话被激活时,在预设文本库中获取用于进行所述人机对话的对话参考文本;根据所述对话参考文本,确定出在所述人机对话过程中用于生成应答信息的背景信息;接收所述人机对话的对话信息;根据所述对话信息和所述背景信息,确定出所述对话信息对应的应答信息。通过本申请,能够实现机器与用户之间自然且顺畅的沟通,提高用户的使用体验度。
Description
技术领域
本申请实施例涉及计算机技术领域,涉及但不限于一种人机对话方法、装置、设备及计算机可读存储介质。
背景技术
随着人工智能(AI,Artificial Intelligence)技术的迅速发展,越来越多的智能助手类产品应运而生,在智能助手类产品中,对话系统可以应用到聊天机器人、语音助手等中,可以实现人与机器之间的对话交流,并且机器可以根据人说的话,生成一个回复。
相关技术中,通常是采用机器阅读理解的模型,来实现人机对话,通过向模型中输入对话信息和文本,即可生成应答信息。
但是,机器阅读理解要求从文本中精确的找到答案,即将文本中的特定内容作为应答信息输出给用户,显然这种对话方式在对话过程中过于机械,不能实现机器与用户之间自然且顺畅的沟通,降低用户的使用体验度。
发明内容
本申请实施例提供一种人机对话方法、装置、设备及计算机可读存储介质,通过确定出人机对话的对话参考文本,以进一步确定出人机对话的背景信息,从而实现在人机对话过程中根据对话信息和背景信息确定出符合该背景信息的应答信息,实现机器与用户之间自然且顺畅的沟通,提高用户体验。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种人机对话方法,包括:
当人机对话被激活时,在预设文本库中获取用于进行所述人机对话的对话参考文本;
根据所述对话参考文本,确定出在所述人机对话过程中用于生成应答信息的背景信息;
接收所述人机对话的对话信息;
根据所述对话信息和所述背景信息,确定出所述对话信息对应的应答信息。
本申请实施例提供一种人机对话装置,包括:
获取模块,用于当人机对话被激活时,在预设文本库中获取用于进行所述人机对话的对话参考文本;
第一确定模块,用于根据所述对话参考文本,确定出在所述人机对话过程中用于生成应答信息的背景信息;
接收模块,用于接收所述人机对话的对话信息;
第二确定模块,用于根据所述对话信息和所述背景信息,确定出所述对话信息对应的应答信息。
本申请实施例提供一种人机对话设备,包括:
存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现上述的方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现上述的方法。
本申请实施例具有以下有益效果:由于在人机对话被激活时,确定用于进行人机对话的对话参考文本,因此,可以根据该对话参考文本确定出人机对话的背景信息,从而实现在人机对话过程中根据对话信息和背景信息确定出符合该背景信息的应答信息,实现机器与用户之间自然且顺畅的沟通,提高用户的使用体验度。
附图说明
图1是相关技术中的机器阅读理解模型示意图;
图2A是本申请实施例提供的人机对话系统的一个可选的架构示意图;
图2B是本申请实施例提供的人机对话系统应用于区块链系统的一个可选的结构示意图;
图2C是本申请实施例提供的区块结构的一个可选的示意图;
图3是本申请实施例提供的服务器的结构示意图;
图4是本申请实施例提供的人机对话方法的一个可选的流程示意图;
图5是本申请实施例提供的人机对话方法的一个可选的流程示意图;
图6是本申请实施例提供的人机对话方法的一个可选的流程示意图;
图7是本申请实施例提供的人机对话方法的一个可选的流程示意图;
图8是本申请实施例提供的人机对话方法的一个可选的流程示意图;
图9是本申请实施例提供的人机对话模型训练方法的一个可选的流程示意图;
图10是本申请实施例提供的人机对话模型训练方法的一个可选的流程示意图;
图11是本申请实施例提供的人机对话模型的结构示意图;
图12是本申请实施例提供的教师权重矩阵的生成方式示意图;
图13是本申请实施例提供的权重生成模块的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。除非另有定义,本申请实施例所使用的所有的技术和科学术语与属于本申请实施例的技术领域的技术人员通常理解的含义相同。本申请实施例所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)对话系统(Conversation system):是指可以进行人机对话的系统。
2)对话信息:是指对话系统的输入(Query),是由用户输入的。
3)应答信息:是指对话系统的输出(Response),是机器生成的。
4)对话参考文本(Document):在本申请实施例的场景下,是作为对话系统的另一个输入,为对话提供大背景,用于确定当前人机对话的背景信息。
5)编码器(Encoder):把原始文本转化为浮点型向量的模块。
6)解码器(Decoder):把浮点型向量转化为原始文本的模块。
7)向量融合的注意力机制(Cross attention):是指利用注意力机制(attention)思想,将两部分(分别用浮点型向量表示)输入进行融合。
8)向量提纯的注意力机制(Self attention):是指利用attention思想,对输入的浮点型向量进行进一步提纯。
为了更好地理解本申请实施例中提供的人机对话方法,首先对相关技术中的人机对话方法进行说明:
相关技术中人机对话方法通常是采用仿照机器阅读理解的模型来实现,图1是相关技术中的机器阅读理解模型示意图,如图1所示,将对话信息101和对话文本102作为输入信息输入至模型中,在输入至模型中之后,模型的解码器103分别对对话信息101和对话文本102进行浮点型向量转化,以将文本形式的对话信息101和对话文本102转化成向量表示,再通过向量融合的注意力机制104对对话信息101的向量表示和对话文本102的向量表示进行向量融合,得到融合向量,然后,通过向量提纯的注意力机制105对融合向量进行向量提纯,得到提纯向量,最后,通过解码器106对提纯向量进行文本转化,以将提纯向量转化成文本形式,形成对应于对话信息101的应答信息107并输出。
但是,上述机器阅读理解模型要求从对话文本102中精确的找到答案,得到应答信息107,即应答信息107是对话文本102中的特定内容,显然这种对话方式在对话过程中过于机械,如果用户像与机器如人与人之间的自然对话,有些应答信息是不能照搬对话文本的原文的,因此,相关技术中基于机器阅读理解模型的人机对话方法,不能实现机器与用户之间自然且顺畅的沟通,降低用户的使用体验度。
基于相关技术所存在的上述至少一个问题,本申请实施例提供一种人机对话方法,首先,当当前人机对话被激活时,在预设文本库中获取用于进行人机对话的对话参考文本;然后,根据对话参考文本,确定出在人机对话过程中用于生成应答信息的背景信息;最后,接收对话信息,根据对话信息和背景信息,确定应答信息并输出。如此,由于在人机对话被激活时,获取用于进行人机对话的对话参考文本,因此,可以根据该对话参考文本确定出人机对话的背景信息,从而实现在人机对话过程中根据对话信息和背景信息确定出符合该背景信息的应答信息,实现机器与用户之间自然且顺畅的沟通,提高用户的使用体验度。
下面说明本申请实施例提供的人机对话设备的示例性应用,本申请实施例提供的人机对话设备可以实施为笔记本电脑,平板电脑,台式计算机,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)、智能机器人、智能音箱等各种类型的终端,也可以实施为服务器。下面,将说明人机对话设备实施为服务器时的示例性应用。
参见图2A,图2A是本申请实施例提供的人机对话系统10的一个可选的架构示意图。为支撑人机对话应用,以实现正常的人机对话,人机对话系统10中包括终端100(其中,终端100也可以是智能机器人,图2A中仅示出了终端100的情况)、网络200和服务器300。其中,终端100上运行有人机对话应用,在实现本申请实施例的人机对话方法时,终端100的采集单元(可以是语音采集单元、图像采集单元和文字采集单元中的任意一种)采集对话激活请求;并将对话激活请求通过网络200发送给服务器300;服务器300响应于对话激活请求以激活当前人机对话,当人机对话被激活时,在预设文本库中获取用于进行人机对话的对话参考文本;根据对话参考文本,确定人机对话的背景信息;并将背景信息通过网络200返回给终端100;在后续的人机对话过程中,终端的采集单元(图中以终端100-1示意人机对话过程)持续对用户的对话信息进行采集,并将采集到的对话信息通过网络200发送给服务器300;服务器300根据对话信息和背景信息确定应答信息;将应答信息通过网络200发送给终端100-1。终端可以在当前界面100-2上显示背景信息或应答信息。
本申请实施例涉及的人机对话系统10也可以是区块链系统的分布式系统201,参见图2B,图2B是本申请实施例提供的人机对话系统10应用于区块链系统的一个可选的结构示意图,其中,所述分布式系统201可以是由多个节点202(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端203形成的分布式节点,节点之间形成组成的点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,TransmissionControl Protocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
参见图2B示出的区块链系统中各节点的功能,涉及的功能包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
例如,应用实现的业务包括:
2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链系统中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币。
2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链系统中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。
2.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
4)共识(Consensus),是区块链网络中的一个过程,用于在涉及的多个节点之间对区块中的交易达成一致,达成一致的区块将被追加到区块链的尾部,实现共识的机制包括工作量证明(PoW,Proof of Work)、权益证明(PoS,Proof of Stake)、股份授权证明(DPoS,Delegated Proof-of-Stake)、消逝时间量证明(PoET,Proof of Elapsed Time)等。
参见图2C,图2C是本申请实施例提供的区块结构(Block Structure)的一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
参见图3,图3是本申请实施例提供的服务器300的结构示意图,图3所示的服务器300包括:至少一个处理器310、存储器350、至少一个网络接口320和用户接口330。服务器300中的各个组件通过总线系统340耦合在一起。可理解,总线系统340用于实现这些组件之间的连接通信。总线系统340除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统340。
处理器310可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口330包括使得能够呈现媒体内容的一个或多个输出装置331,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口330还包括一个或多个输入装置332,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器350可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器350可选地包括在物理位置上远离处理器310的一个或多个存储设备。存储器350包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器350旨在包括任意适合类型的存储器。在一些实施例中,存储器350能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统351,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块352,用于经由一个或多个(有线或无线)网络接口320到达其他计算设备,示例性的网络接口320包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
输入处理模块353,用于对一个或多个来自一个或多个输入装置332之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图3示出了存储在存储器350中的一种人机对话装置354,该人机对话装置354可以是服务器300中的人机对话装置,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块3541、第一确定模块3542、接收模块3543和第二确定模块3544这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的人机对话方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件。
下面将结合本申请实施例提供的服务器300的示例性应用和实施,说明本申请实施例提供的人机对话方法。参见图4,图4是本申请实施例提供的人机对话方法的一个可选的流程示意图,将结合图4示出的步骤进行说明。
步骤S401,当人机对话被激活时,在预设文本库中获取用于进行人机对话的对话参考文本。
本申请实施例的方案可以应用于以下场景,用户想与智能机器人进行对话,在对话的开始,需要激活智能机器人以实现当前人机对话过程,那么,用户可以向智能机器人发送对话激活请求,以请求激活当前人机对话,智能机器人将对话激活请求发送给服务器,在智能机器人被激活之后,智能机器人采用本申请实施例提供的人机对话方法与用户进行人机对话。
对话激活请求用于激活进行人机对话的终端(例如,智能机器人)开始进行人机对话。
在一些实施例中,对话激活请求可以是任意一种形式的激活请求,例如,对话激活请求可以是语音激活请求、文字激活请求、操作激活请求或图像激活请求。当对话激活请求是语音激活请求时,用户可以通过语音发送激活请求,智能机器人的语音采集单元对自身周围的语音信息进行实时采集,当采集到语音激活请求后,服务器激活当前人机对话;当对话激活请求是文字激活请求时,用户可以通过智能机器人的文字输入单元输入激活文字,请求激活当前人机对话;当对话激活请求是操作激活请求时,在智能机器人上可以具有特定的按钮,当用户按下该按钮时,则用户的操作是请求激活当前人机对话,或者,在智能机器人的显示界面上可以具有虚拟激活按钮,用户可以点击该虚拟激活按钮确认激活当前人机对话;当对话激活请求是图像激活请求时,智能机器人的图像采集单元对图像采集范围内的图像进行采集,当采集到特定的图像(例如,特定用户的人脸图像)时,服务器激活人机对话,以完成本次人机对话过程。
在另一些实施例中,对话激活请求也可以是智能机器人主动获取到的,例如,智能机器人上可以安装有距离传感器,用于检测智能机器人自身特定范围之内的物体,当通过传感器检测到用户靠近智能机器人时,即获取到上述对话激活请求,服务器激活人机对话过程。对话激活请求用于激活进行人机对话的终端开始进行人机对话,对话激活请求中包括对话激活信息。
当人机对话被激活时,服务器在预设文本库中获取对话参考文本,其中,预设文本库中存储有至少一个对话参考文本,不同的对话参考文本对应不同的场景。举例来说,对话参考文本可以是一篇文章,那么当该文章被确定为当前的人机对话的对话参考文本时,则在当前的人机对话过程中,智能机器人可以将该文章中的内容作为回复用户的对话信息,或者根据该文章中的内容确定出作为回复用户的对话信息。
步骤S402,根据对话参考文本,确定出在人机对话过程中用于生成应答信息的背景信息。
这里,当获取到对话参考文本之后,服务器根据对话参考文本中的内容确定与对话参考文本对应的背景信息,该背景信息是对话参考文本对应的领域或者场景。例如,对话参考文本可以是关于任一游戏的文章,那么可以确定出人机对话过程中用于生成应答信息的背景信息是游戏领域信息,即人机对话是在游戏领域进行的人机对话,因此,在人机对话的后续对话过程中,均可以生成与游戏领域相关的应答信息。又例如,对话参考文本可以是关于某一知识点的讲解,那么可以确定出人机对话过程中用于生成应答信息的背景信息可以是与该知识点相关的场景或者是该知识点对应的技术领域,即人机对话是在该知识点对应的技术领域进行的人机对话,因此,在人机对话的后续对话过程中,均可以生成与该知识点相关的应答信息。
步骤S403,接收人机对话的对话信息。
这里,对话信息是用户发送的,对话信息可以是语音对话信息,智能机器人的语音采集单元采集用户的语音信息,服务器对语音信息进行识别,将识别结果确定为人机对话的对话信息。
步骤S404,根据对话信息和背景信息,确定出对话信息对应的应答信息。
这里,所确定出的应答信息是与对话信息对应的信息,也是属于与背景信息相关的信息,应答信息是用于回复对话信息的,且应答信息与背景信息属于同一领域。
在一些实施例中,在确定出对话信息对应的应答信息之后,还可以包括以下步骤:
步骤S40,输出对话信息对应的应答信息。
本申请实施例中,可以通过语音输出方式输出应答信息,也可以在智能机器人的显示界面上显示应答信息。
本申请实施例提供的人机对话方法,由于在人机对话被激活时,确定用于进行人机对话的对话参考文本,因此,可以根据该对话参考文本确定出人机对话的背景信息,从而实现在人机对话过程中根据对话信息和背景信息确定出符合该背景信息的应答信息,实现机器与用户之间自然且顺畅的沟通,提高用户的使用体验度。
需要说明的是,本申请实施例的人机对话方法也可以应用于终端(例如,智能机器人),通过终端接收对话激活请求,对话激活请求中包括对话激活信息;并响应于对话激活请求,在终端上的预设文本库中匹配出与对话激活信息对应的用于进行人机对话的对话参考文本;根据对话参考文本,确定人机对话的背景信息;在确定出背景信息之后,终端接收对话信息,根据对话信息和背景信息,确定应答信息并输出。
在一些实施例中,实现本申请实施例的人机对话方法的人机对话系统中包括服务器和至少一个终端,其中至少一个终端中包括对话激活终端和对话终端,对话激活终端与对话终端可以是同一终端也可以是不同终端,本申请实施例以对话激活终端与对话终端是不同终端为例,对本申请实施例的人机对话方法进行说明。
图5是本申请实施例提供的人机对话方法的一个可选的流程示意图,如图5所示,方法包括以下步骤:
步骤S501,第一终端接收用户输入的对话激活请求。
这里,对话激活请求用于激活本次的人机对话过程。
步骤S502,第一终端将对话激活请求发送给服务器。
步骤S503,服务器响应于对话激活请求,激活人机对话,并在预设文本库中获取用于进行所述当前人机对话的对话参考文本。
至此,完成人机对话的激活步骤。
步骤S504,服务器根据对话参考文本,确定人机对话的背景信息。
这里,背景信息是用于进行人机对话的,通过背景信息确定人机对话过程中的应答信息。
步骤S505,第二终端接收对话信息。
这里,第二终端可以与第一终端是同一终端,也可以是不同终端。当第一终端与第二终端是不同终端时,第一终端实现当前人机对话激活过程,第二终端实现人机对话,与用户进行交互,完成人机对话。
当第一终端与第二终端为不同终端时,由于第一终端仅用于激活人机对话,而第二终端是用于进行人机对话的,因此,第一终端的结构可以相对于第二终端较简单,例如,第一终端可以是一传感器,用于采集对话激活请求(例如,第一终端可以是距离传感器,采集用户靠近第二终端的距离),当第一终端采集到对话激活请求后激活当前人机对话,之后则由具备多功能的复杂终端(例如,第二终端可以同时具备语音采集、图像采集、语音输出、图像输出等功能)进行人机对话。
本申请实施例中,第一终端在采集到对话激活请求之后,将对话激活请求发送给服务器进行处理,因此,第一终端可以是仅具备数据采集功能的终端,可以不具备数据处理功能,而第二终端可以对对话信息进行处理,也可以将对话信息发送给服务器进行处理,因此第二终端可以具备数据处理功能。
本申请实施例中,将第一终端与第二终端分开设置,能够实现在一个人机对话系统中由一个第一终端对多个第二终端的人机对话激活过程进行控制,也就是说,在一个人机对话系统中可以具有一个第一终端和多个第二终端,第一终端可以采集多个第二终端的对话激活请求,以请求服务器激活多个第二终端,这样,当任一第二终端在进行人机对话的过程中,也不会影响同一对话系统中的其他第二终端被激活,因此,可以实现同一系统中的多个第二终端同时进行人机对话的可能,提高了用户的使用体验。
步骤S506,第二终端将对话信息发送给服务器。
步骤S507,服务器根据对话信息和背景信息,确定应答信息。
步骤S508,服务器将应答信息发送给第二终端。
步骤S509,第二终端输出应答信息。
本申请实施例提供的人机对话方法,由于终端在接收到对话激活请求后,将对话激活请求发送给服务器,通过服务器匹配用于进行人机对话的对话参考文本,因此,服务器可以根据该对话参考文本确定出人机对话的背景信息,从而实现在人机对话过程中根据对话信息和背景信息确定出符合该背景信息的应答信息,进而实现机器与用户之间自然且顺畅的沟通,并且,在同一人机对话系统中,可以实现用户同时与多个第二终端之间进行人机对话的可能,提高了用户的使用体验度。
基于图4,图6是本申请实施例提供的人机对话方法的一个可选的流程示意图,如图6所示,步骤S401中当人机对话被激活时,在预设文本库中获取用于进行人机对话的对话参考文本,可以通过以下步骤实现:
步骤S601,获取用于激活人机对话的对话激活请求所对应的请求内容。
这里,服务器可以对获取的对话激活请求进行解析,以识别出对话激活请求中所对应的请求内容。例如,对话激活请求可以是语音激活请求,那么可以通过语音识别技术,识别语音激活请求中对应的请求内容。
步骤S602,对请求内容进行语义分析,得到请求内容的关键词。
这里,可以对用户的请求内容进行语音分析,确定请求内容中的关键信息,根据关键信息,确定请求内容对应的关键词,其中,关键词可以是请求内容对应的领域。
步骤S603,获取预设文本库中的每一文本的摘要信息。
步骤S604,确定关键词与每一文本的摘要信息之间的相似度。
这里,可以确定关键词对应的第一词向量,以及每一摘要信息的词语对应的第二词向量,然后,通过计算第一词向量与第二词向量之间的距离,根据计算的距离确定关键词与每一文本的摘要信息之间的相似度。其中,当第一词向量与第二词向量之间的距离越大,则关键词与对应文本的摘要信息之间的相似度越小;当第一词向量与第二词向量之间的距离越小,则关键词与对应文本的摘要信息之间的相似度越大。
步骤S605,在预设文本库中,将具有最高相似度的文本确定为用于进行当前人机对话的对话参考文本。
这里,在计算出关键词与每一文本的摘要信息之间的相似度之后,按照相似度大小对文本进行排序,按照排序结果将具有最高相似度的文本确定为对话参考文本。
本申请实施例中,由于对话参考文本的摘要信息与请求内容的关键词之间具有最高的相似度,因此,对话参考文本是与对话激活请求中的请求内容最相似的的文本,所以在后续的人机对话过程中,基于对话参考文本所得到的应答信息是与用户的对话信息之间最匹配的信息,从而在后续的人机对话过程中,能够实现机器与人之间最自然的对话,提高用户体验。
基于图4,图7是本申请实施例提供的人机对话方法的一个可选的流程示意图,如图7所示,步骤S404中根据对话信息和背景信息,确定出对话信息对应的应答信息,可以通过以下步骤实现:
步骤S701,对对话信息和背景信息分别进行特征提取,得到对应于对话信息的第一特征向量和对应于背景信息的第二特征向量。
步骤S702,根据第一特征向量和第二特征向量,确定输出特征向量。
这里,可以依次通过加权融合处理和提纯处理对第一特征向量和第二特征向量进行处理,以确定输出特征向量,其中,步骤S702可以通过以下步骤实现:
步骤S7021,对第一特征向量和第二特征向量进行加权融合处理,得到第一融合特征向量。
这里,可以采用以下公式(1-1)实现本申请实施例的加权融合处理过程:
其中,Attention(Q,K,V)表示加权融合处理得到的第一融合特征向量;softmax()表示softmax函数;Q表示背景信息对应的第二特征向量;K和V是对应于对话信息的第一特征向量,K和V形成键值对(Key-Value);KT表示向量K的转置;dk为常数。在加权融合处理过程中,Q、K和V均作为输入数据,其中,K=V。
步骤S7022,对第一融合特征向量进行提纯处理,得到提纯后的特征向量。
在提纯处理过程中,也可以采用上述公式(1-1)来实现,Q、K和V均作为输入数据,与加权融合处理过程所不同的是,其中,Q=K=V。
步骤S7023,将提纯后的特征向量,确定为输出特征向量。
步骤S703,对输出特征向量进行文本化转换处理,得到具有文本类型的应答信息。
这里,文本化转换处理是指将向量形式的内容转换成文本类型,从而得到能够面向用户的应答信息,向用户输出文本类型的应答信息,便于用户理解。
图8是本申请实施例提供的人机对话方法的一个可选的流程示意图,如图8所示,方法包括以下步骤:
步骤S801,接收对话激活请求。
步骤S802,响应于对话激活请求,在预设文本库中匹配出与对话激活信息对应的用于进行当前人机对话的对话参考文本。
步骤S803,根据对话参考文本,确定人机对话的背景信息。
步骤S804,接收对话信息,对对话信息和背景信息分别进行特征提取,得到对应于对话信息的第一特征向量和对应于背景信息的第二特征向量。
步骤S805,对第一特征向量和第二特征向量进行融合处理,得到第二融合特征向量。
步骤S806,对第二融合特征向量进行多层感知机(MLP,Multilayer Perceptron)处理,得到第一权重矩阵。
这里,第一权重矩阵是用于对第一特征向量和第二特征向量进行加权融合处理时的权重矩阵,第一权重矩阵的大小并不是固定值,当对话参考文本和对话信息发生变化时,第一权重矩阵对应发生变化。如此,能够基于不同的对话场景和对话信息,得到适用于当前对话场景下的第一权重矩阵,从而能够得到更加准确的应答信息。
步骤S807,采用第一权重矩阵,对第一特征向量和第二特征向量进行加权融合处理,得到第一融合特征向量。
这里,对第一特征向量和第二特征向量进行加权融合处理,可以首先以第一权重矩阵作为权重分别与第一特征向量和第二特征向量做矩阵乘,然后,对分别得到的矩阵乘结果求和,以得到第一融合特征向量。
步骤S808,对第一融合特征向量进行提纯处理,得到提纯后的特征向量。
步骤S809,将提纯后的特征向量,确定为输出特征向量。
步骤S810,对输出特征向量进行文本化转换处理,得到具有文本类型的应答信息。
步骤S811,输出应答信息。
本申请实施例提供的人机对话方法,由于在人机对话被激活时,确定用于进行人机对话的对话参考文本,因此,可以根据该对话参考文本确定出人机对话的背景信息,从而实现在人机对话过程中根据对话信息和背景信息确定出符合该背景信息的应答信息,实现机器与用户之间自然且顺畅的沟通。并且由于基于对话参考文本和对话信息对应的特征向量确定第一权重矩阵,因此,可以确定出更符合当前对话场景的第一权重矩阵,从而准确的进行矩阵乘,进而得到与对话信息更加匹配的应答信息,进一步实现机器与人之间自然且和谐的对话过程,提高用户体验。
基于图4,在一些实施例中,在步骤S403根据所述对话参考文本,确定人机对话的背景信息之后,方法还包括以下步骤:
步骤S410,获取与所述背景信息对应的对话提醒信息。
步骤S420,输出对话提醒信息,以提醒开始人机对话。
这里,在确定出人机对话的背景信息之后,终端获取对话提醒信息,对话提醒信息用于提醒用户终端已激活人机对话且已确定出本次人机对话的背景信息,因此可以进行正常的人机对话过程。
在一些实施例中,对话提醒信息可以是语音提醒信息或者文字提醒信息或者视频提醒信息,对话提醒信息中至少包括提示用户开始正常人机对话的对话开始信息,当然,在对话提醒信息中,还可以包括背景信息,以提示用户本次是基于该背景信息进行人机对话。
在另一些实施例中,在输出对话提醒信息之后,终端的当前界面上还可以显示确认按钮或者语音提示用户是否确认的确认选项,该确认按钮和确认选项用于确认所确定出的背景信息是否是正确的用于进行本次人机对话过程的背景信息。
本申请实施例提供的人机对话方法,在确定出人机对话的背景信息之后,终端获取对话提醒信息,并输出该对话提醒信息,如此,当用户接收到该对话提醒信息之后,可以明确终端已经处于激活状态,且终端已确定出当前的对话场景,因此,用户可以与终端进行有效的对话,从而用户可以在接收到对话提醒信息之后向终端发出下一次人机对话,即向终端发出对话信息,完成人与机器之间的紧密有效对话。
在一些实施例中,本申请实施例的人机对话方法还可以采用人机对话模型实现,即采用人机对话模型确定应答信息。其中,人机对话模型包括特征提取层、特征处理层和文本化转换层,其中,特征提取层用于对样本对话信息、样本文本和样本应答信息进行特征提取,特征处理层用于对特征提取得到的第一样本特征向量、第二样本特征向量和第三样本特征向量进行特征处理,文本化转换层用于对特征处理得到的输出样本特征向量行文本化转换处理。
这里,提供一种人机对话模型的训练方法,如图9所示,是本申请实施例提供的人机对话模型训练方法的一个可选的流程示意图,方法包括以下步骤:
步骤S901,将样本对话信息、样本文本和样本应答信息作为样本数据,输入至人机对话模型中。
这里,样本数据包括样本对话信息、样本文本和样本应答信息,其中,对话信息、样本文本和样本应答信息均作为模型的输入数据被输入至模型。
步骤S902,通过人机对话模型中的特征提取层,分别对样本对话信息、样本文本和样本应答信息进行特征提取,对应得到第一样本特征向量、第二样本特征向量和第三样本特征向量。
步骤S903,通过人机对话模型中的特征处理层,对第一样本特征向量、第二样本特征向量和第三样本特征向量进行特征处理,得到输出样本特征向量。
步骤S904,通过人机对话模型中的文本化转换层,对输出样本特征向量进行文本化转换处理,得到具有文本类型的样本应答信息。
步骤S905,将样本应答信息输入至预设损失模型中,得到损失结果。
这里,预设损失模型用于将样本应答信息与预设的应答信息进行比较,得到损失结果,其中,预设的应答信息可以是用户预先设置的在样本文本的背景下符合样本对话信息的应答信息。
预设损失模型中包括损失函数,通过损失函数可以计算样本应答信息与预设的应答信息之间的相似度,并根据相似度确定上述损失结果。
步骤S906,根据损失结果,对特征提取层和特征处理层进行修正,得到人机对话模型。
这里,当上述相似度大于预设相似度阈值时,则损失结果表明当前的人机对话模型中的特征提取层和特征处理层,不能准确的对样本对话信息、样本文本和样本应答信息进行特征提取,或者,不能准确的对第一样本特征向量、第二样本特征向量和第三样本特征向量进行特征处理。因此,需要对当前的人机对话模型进行修正。那么,可以根据上述相似度,对特征提取层和特征处理层进行修正,直至人机对话模型输出的样本应答信息与预设的应答信息之间的相似度满足预设条件时,将对应的人机对话模型确定为训练好的人机对话模型。
本申请实施例提供的人机对话模型的训练方法,由于将样本数据输入至人机对话模型中,通过人机对话模型中的特征提取层和特征处理层之后,得到输出样本特征向量,并通过文本化转换层,对输出样本特征向量进行文本化转换处理,得到具有文本类型的样本应答信息,并将样本应答信息输入至预设损失模型中,得到损失结果。因此,能够根据损失结果对特征提取层和特征处理层进行修正,所得到的人机对话模型能够准确的根据对话信息和对话参考文本确定应答信息,实现机器与人之间的自然有效对话,提高用户体验。
在一些实施例中,上述特征处理层包括权重矩阵确定层、融合处理层和特征提纯层,图10是本申请实施例提供的人机对话模型训练方法的一个可选的流程示意图,如图10所示,上述步骤S903可以通过以下步骤实现:
步骤S101,通过权重矩阵确定层,根据第二样本特征向量和第三样本特征向量,确定第二权重矩阵。
这里,步骤S101可以通过以下步骤实现:
步骤S1011,根据样本文本的词数和第二样本特征向量的维数,确定第一矩阵。
这里,样本文本的词数是指样本文本中的词语的数量,可以对样本文本进行分词处理,根据分词处理结果确定样本文本的词数。
本申请实施例中,根据样本文本的词数和第二样本特征向量的维数确定第一矩阵,可以是将样本文本的词数确定为第一矩阵的行数,将第二样本特征向量的维数确定为第一矩阵的列数。举例来说,样本文本中包括3个词语,即样本文本的词数为3,第二样本特征向量的维数是4,那么第一矩阵则是一个3×4的矩阵。
步骤S1012,根据样本应答信息的词数和第三样本特征向量的维数,确定第二矩阵。
这里,样本应答信息的词数是指样本应答信息中的词语的数量,可以对样本应答信息进行分分词处理,根据分词处理结果确定样本应答信息的词数。
本申请实施例中,根据样本应答信息的词数和第三样本特征向量的维数确定第二矩阵,可以是将样本应答信息的词数确定为第二矩阵的行数,将第三样本特征向量的维数确定为第二矩阵的列数。举例来说,样本应答信息中包括4个词语,即样本应答信息的词数为4,第三样本特征向量的维数是4,那么第二矩阵则是一个4×4的矩阵。
步骤S1013,对第一矩阵和第二矩阵的转置矩阵进行第一矩阵乘处理,得到矩阵乘结果。
步骤S1014,对矩阵乘结果和矩阵乘结果的转置矩阵进行第二矩阵乘处理,得到第二权重矩阵。
至此,完成确定第二权重矩阵的步骤,即通过根据第二样本特征向量和第三样本特征向量,确定出第二权重矩阵。
步骤S102,通过融合处理层,根据第二权重矩阵,对第一样本特征向量和第二样本特征向量进行加权融合处理,得到融合后的样本特征向量。
这里,对第一样本特征向量和第二样本特征向量进行加权融合处理,可以首先以第二权重矩阵作为权重分别与第一样本特征向量和第二样本特征向量做矩阵乘,然后,对分别得到的矩阵乘结果求和,以得到融合后的样本特征向量。
步骤S103,通过特征提纯层,对融合后的样本特征向量进行提纯处理,得到输出样本特征向量。
本申请实施例中,通过模型中的权重矩阵确定层、融合处理层和特征提纯层,对第一样本特征向量、第二样本特征向量和第三样本特征向量进行一系列处理之后,得到输出样本特征向量,作为最终形成样本应答信息的特征向量。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
本申请实施例提供一种人机对话方法,通过给定一篇文本作为人机对话的大背景,机器和人可以在此大背景下进行对话。也就是说,本申请实施例的目标是生成跟文章背景相关的对话回复。
图11是本申请实施例提供的人机对话模型的结构示意图,如图11所示,人机对话模型是一个教师-学生框架(teacher-student)的模型,教师会提前看“答案”(也就是最终输出的应答信息),然后在训练的过程中会把“如何生成好的应答信息”传授给学生。在实际使用的时候,学生负责生成应答信息。
请参照图11,上半部分是教师部分110,下半部分是学生部分120。在教师部分110,实现对整个模型的训练,其中,教师部分110输入的是对话参考文本1101、对话信息1102和应答信息1103,通过编码器1104分别对对话参考文本1101、对话信息1102和应答信息1103进行浮点型向量转化,以将文本形式的对话参考文本1101、对话信息1102和应答信息1103对应转化成向量表示;并且,根据对话参考文本1101的向量表示、对话信息1102的向量表示和应答信息1103的向量表示,生成教师部分的教师权重矩阵1105;然后,根据教师权重矩阵1105,通过向量融合的注意力机制1106对对话信息1102的向量表示和对话参考文本1101的向量表示进行向量加权融合,得到融合向量;再然后,通过向量提纯的注意力机制1107对融合向量进行向量提纯,得到提纯向量;最后,通过解码器1108对提纯向量进行文本转化,以将提纯向量转化成文本形式,形成对应于对话信息1102的应答信息1109并输出。本申请实施例中,最终得到的应答信息还用于对模型进行修正。
在学生部分120,实现模型的上线使用,其中,学生部分120输入的是对话参考文本1201和对话信息1202,通过编码器1203分别对对话参考文本1201和对话信息1202进行浮点型向量转化,以将文本形式的对话参考文本1201和对话信息1202对应转化成向量表示;并且,根据对话参考文本1201的向量表示和对话信息1202的向量表示,通过权重生成模块1204生成学生部分的学生权重矩阵1205;然后,根据学生权重矩阵1205,通过向量融合的注意力机制1206对对话信息1202的向量表示和对话参考文本1201的向量表示进行向量加权融合,得到融合向量;再然后,通过向量提纯的注意力机制1207对融合向量进行向量提纯,得到提纯向量;最后,通过解码器1208对提纯向量进行文本转化,以将提纯向量转化成文本形式,形成对应于对话信息1202的应答信息1209并输出。
在一些实施例中,还会通过一个最小平方误差(mean square loss)作为损失函数130,让学生部分生成的学生权重矩阵和教师部分生成的教师权重矩阵尽量相似。
本申请实施例中,在教师部分,不仅会接收对话参考文本和对话信息作为输入,而且会“看一眼答案”(也就是把真实的答案)输入进模型。并且,教师模型还会生成一个教师权重矩阵,这个教师权重矩阵的形状和向量融合的注意力机制(cross attention)的输出一样。在教师模型中,这个教师权重矩阵会乘到cross attention的输出上,一起作为向量提纯的注意力机制(self attention)的输入。
图12是本申请实施例提供的教师权重矩阵的生成方式示意图,如图12所示,图中的D和R分别代表对话参考文本(document)和应答信息(response)的表示(其中,D和R分别是document和response的向量表示的输出),这个教师权重矩阵的大小是:词数*浮点向量的维度(词数指的是document或response中有多少词语;浮点向量维度是人为定义的值)。
请继续参照图12,D会和R的转置RT做矩阵乘1201,得到矩阵乘结果K;然后,矩阵乘结果K做转置得到KT,然后转置前后的结果K和KT再进行矩阵乘1202,其结果就是教师权重矩阵G。
在学生部分,会通过一个权重生成模块生成一个跟教师权重矩阵大小一样的学生权重矩阵,这个学生权重矩阵的使用方式跟教师权重矩阵中一样(也是乘到crossattention的结果上,作为self attention的输入)。
图13是本申请实施例提供的权重生成模块的结构示意图,如图13所示,权重生成模块的输入是对话信息的向量表示1301和对话参考文本的向量表示1302。权重生成模块会用向量融合的注意力机制1303对对话信息的向量表示1301和对话参考文本的向量表示1302进行融合。然后用多层感知机(MLP,Multilayer Perceptron)1304生成学生权重矩阵1305。
本发本申请实施例提供的方法,能够在人机对话场景中,提高用户体验。
下面继续说明本申请实施例提供的人机对话装置354实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器350的人机对话装置354中的软件模块可以是服务器300中的人机对话装置,包括:
获取模块3541,用于当人机对话被激活时,在预设文本库中获取用于进行所述人机对话的对话参考文本;
第一确定模块3542,用于根据所述对话参考文本,确定出在所述人机对话过程中用于生成应答信息的背景信息;
接收模块3543,用于接收所述人机对话的对话信息;
第二确定模块3544,用于根据所述对话信息和所述背景信息,确定出所述对话信息对应的应答信息。
在一些实施例中,所述获取模块还用于:获取用于激活所述人机对话的对话激活请求所对应的请求内容;对所述请求内容进行语义分析,得到所述请求内容的关键词;获取所述预设文本库中的每一文本的摘要信息;确定所述关键词与每一所述文本的摘要信息之间的相似度;在所述预设文本库中,将具有最高相似度的文本确定为用于进行当前人机对话的对话参考文本。
在一些实施例中,所述第二确定模块还用于:对所述对话信息和所述背景信息分别进行特征提取,得到对应于所述对话信息的第一特征向量和对应于所述背景信息的第二特征向量;根据所述第一特征向量和所述第二特征向量,确定输出特征向量;对所述输出特征向量进行文本化转换处理,得到具有文本类型的所述应答信息。
在一些实施例中,所述第二确定模块还用于:对所述第一特征向量和所述第二特征向量进行加权融合处理,得到第一融合特征向量;对所述第一融合特征向量进行提纯处理,得到提纯后的特征向量;将所述提纯后的特征向量,确定为所述输出特征向量。
在一些实施例中,所述装置还包括:融合处理模块,用于对所述第一特征向量和所述第二特征向量进行融合处理,得到第二融合特征向量;MLP处理模块,用于对所述第二融合特征向量进行MLP处理,得到第一权重矩阵;所述第二确定模块还用于:采用所述第一权重矩阵,对所述第一特征向量和所述第二特征向量进行所述加权融合处理,得到所述第一融合特征向量。
在一些实施例中,所述装置还包括:对话提醒信息获取模块,用于在根据所述对话参考文本,确定出所述人机对话的背景信息之后,获取与所述背景信息对应的对话提醒信息;对话提醒信息输出模块,用于输出所述对话提醒信息,以提醒开始人机对话。
在一些实施例中,所述装置还包括:处理模块,用于采用人机对话模型确定所述应答信息;所述人机对话模型的通过以下步骤训练得到:将样本对话信息、样本文本和样本应答信息作为样本数据,输入至人机对话模型中;通过所述人机对话模型中的特征提取层,分别对所述样本对话信息、所述样本文本和所述样本应答信息进行特征提取,对应得到第一样本特征向量、第二样本特征向量和第三样本特征向量;通过所述人机对话模型中的特征处理层,对所述第一样本特征向量、所述第二样本特征向量和所述第三样本特征向量进行特征处理,得到输出样本特征向量;通过所述人机对话模型中的文本化转换层,对所述输出样本特征向量进行文本化转换处理,得到具有文本类型的样本应答信息;将所述样本应答信息输入至预设损失模型中,得到损失结果;根据所述损失结果,对所述特征提取层和所述特征处理层进行修正,得到所述人机对话模型。
在一些实施例中,所述特征处理层包括权重矩阵确定层、融合处理层和特征提纯层;所述人机对话模型的通过以下步骤训练得到:通过所述权重矩阵确定层,根据所述第二样本特征向量和所述第三样本特征向量,确定第二权重矩阵;通过所述融合处理层,根据所述第二权重矩阵,对所述第一样本特征向量和所述第二样本特征向量进行加权融合处理,得到融合后的样本特征向量;通过所述特征提纯层,对所述融合后的样本特征向量进行提纯处理,得到所述输出样本特征向量。
在一些实施例中,所述人机对话模型的通过以下步骤训练得到:根据所述样本文本的词数和所述第二样本特征向量的维数,确定第一矩阵;根据所述样本应答信息的词数和所述第三样本特征向量的维数,确定第二矩阵;对所述第一矩阵和所述第二矩阵的转置矩阵进行第一矩阵乘处理,得到矩阵乘结果;对所述矩阵乘结果和所述矩阵乘结果的转置矩阵进行第二矩阵乘处理,得到所述第二权重矩阵。
需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
本申请实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图4示出的方法。
在一些实施例中,存储介质可以是计算机可读存储介质,例如,铁电存储器(FRAM,Ferromagnetic Random Access Memory)、只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read Only Memory)、带电可擦可编程只读存储器(EEPROM,Electrically Erasable Programmable Read Only Memory)、闪存、磁表面存储器、光盘、或光盘只读存储器(CD-ROM,Compact Disk-Read Only Memory)等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (11)
1.一种人机对话方法,其特征在于,包括:
当人机对话被激活时,获取用于激活所述人机对话的对话激活请求所对应的请求内容;
对所述请求内容进行语义分析,得到所述请求内容的关键词;
获取预设文本库中的每一文本的摘要信息;
确定所述关键词与每一所述文本的摘要信息之间的相似度;
在所述预设文本库中,将具有最高相似度的文本确定为用于进行当前人机对话的对话参考文本;
根据所述对话参考文本,确定出在所述人机对话过程中用于生成应答信息的背景信息,所述背景信息为对话参考文本对应的领域或者场景;
接收所述人机对话的对话信息;
根据所述对话信息和所述背景信息,确定出所述对话信息对应的应答信息。
2.根据权利要求1所述的方法,其特征在于,所述根据所述对话信息和所述背景信息,确定出所述对话信息对应的应答信息,包括:
对所述对话信息和所述背景信息分别进行特征提取,得到对应于所述对话信息的第一特征向量和对应于所述背景信息的第二特征向量;
根据所述第一特征向量和所述第二特征向量,确定输出特征向量;
对所述输出特征向量进行文本化转换处理,得到具有文本类型的所述应答信息。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一特征向量和所述第二特征向量,确定输出特征向量,包括:
对所述第一特征向量和所述第二特征向量进行加权融合处理,得到第一融合特征向量;
对所述第一融合特征向量进行提纯处理,得到提纯后的特征向量;
将所述提纯后的特征向量,确定为所述输出特征向量。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
对所述第一特征向量和所述第二特征向量进行融合处理,得到第二融合特征向量;
对所述第二融合特征向量进行MLP处理,得到第一权重矩阵;
所述对所述第一特征向量和所述第二特征向量进行加权融合处理,得到第一融合特征向量,包括:
采用所述第一权重矩阵,对所述第一特征向量和所述第二特征向量进行所述加权融合处理,得到所述第一融合特征向量。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在根据所述对话参考文本,确定出所述人机对话的背景信息之后,获取与所述背景信息对应的对话提醒信息;
输出所述对话提醒信息,以提醒开始所述人机对话。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:采用人机对话模型确定所述应答信息;
其中,所述人机对话模型的通过以下步骤训练得到:
将样本对话信息、样本文本和样本应答信息作为样本数据,输入至人机对话模型中;
通过所述人机对话模型中的特征提取层,分别对所述样本对话信息、所述样本文本和所述样本应答信息进行特征提取,对应得到第一样本特征向量、第二样本特征向量和第三样本特征向量;
通过所述人机对话模型中的特征处理层,对所述第一样本特征向量、所述第二样本特征向量和所述第三样本特征向量进行特征处理,得到输出样本特征向量;
通过所述人机对话模型中的文本化转换层,对所述输出样本特征向量进行文本化转换处理,得到具有文本类型的样本应答信息;
将所述样本应答信息输入至预设损失模型中,得到损失结果;
根据所述损失结果,对所述特征提取层和所述特征处理层进行修正,得到所述人机对话模型。
7.根据权利要求6所述的方法,其特征在于,所述特征处理层包括权重矩阵确定层、融合处理层和特征提纯层;
所述通过所述人机对话模型中的特征处理层,对所述第一样本特征向量、所述第二样本特征向量和所述第三样本特征向量进行特征处理,得到输出样本特征向量,包括:
通过所述权重矩阵确定层,根据所述第二样本特征向量和所述第三样本特征向量,确定第二权重矩阵;
通过所述融合处理层,根据所述第二权重矩阵,对所述第一样本特征向量和所述第二样本特征向量进行加权融合处理,得到融合后的样本特征向量;
通过所述特征提纯层,对所述融合后的样本特征向量进行提纯处理,得到所述输出样本特征向量。
8.根据权利要求7所述的方法,其特征在于,所述根据所述第二样本特征向量和所述第三样本特征向量,确定第二权重矩阵,包括:
根据所述样本文本的词数和所述第二样本特征向量的维数,确定第一矩阵;
根据所述样本应答信息的词数和所述第三样本特征向量的维数,确定第二矩阵;
对所述第一矩阵和所述第二矩阵的转置矩阵进行第一矩阵乘处理,得到矩阵乘结果;
对所述矩阵乘结果和所述矩阵乘结果的转置矩阵进行第二矩阵乘处理,得到所述第二权重矩阵。
9.一种人机对话装置,其特征在于,包括:
获取模块,用于当人机对话被激活时,获取用于激活所述人机对话的对话激活请求所对应的请求内容;对所述请求内容进行语义分析,得到所述请求内容的关键词;获取预设文本库中的每一文本的摘要信息;确定所述关键词与每一所述文本的摘要信息之间的相似度;在所述预设文本库中,将具有最高相似度的文本确定为用于进行当前人机对话的对话参考文本;
第一确定模块,用于根据所述对话参考文本,确定出在所述人机对话过程中用于生成应答信息的背景信息,所述背景信息为对话参考文本对应的领域或者场景;
接收模块,用于接收所述人机对话的对话信息;
第二确定模块,用于根据所述对话信息和所述背景信息,确定出所述对话信息对应的应答信息。
10.一种人机对话设备,其特征在于,包括:
存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至8任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010182078.5A CN111400450B (zh) | 2020-03-16 | 2020-03-16 | 人机对话方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010182078.5A CN111400450B (zh) | 2020-03-16 | 2020-03-16 | 人机对话方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111400450A CN111400450A (zh) | 2020-07-10 |
CN111400450B true CN111400450B (zh) | 2023-02-03 |
Family
ID=71428934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010182078.5A Active CN111400450B (zh) | 2020-03-16 | 2020-03-16 | 人机对话方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111400450B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111862977B (zh) * | 2020-07-27 | 2021-08-10 | 北京嘀嘀无限科技发展有限公司 | 一种语音对话处理方法和系统 |
CN112035609B (zh) * | 2020-08-20 | 2024-04-05 | 出门问问创新科技有限公司 | 一种智能对话方法、装置以及计算机可读存储介质 |
CN111930854B (zh) * | 2020-10-10 | 2021-01-08 | 北京福佑多多信息技术有限公司 | 意图预测的方法及装置 |
CN114065765A (zh) * | 2021-10-29 | 2022-02-18 | 北京来也网络科技有限公司 | 结合ai和rpa的武器装备文本处理方法、装置及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106095834A (zh) * | 2016-06-01 | 2016-11-09 | 竹间智能科技(上海)有限公司 | 基于话题的智能对话方法及系统 |
US20180276273A1 (en) * | 2017-03-23 | 2018-09-27 | International Business Machines Corporation | Interactive Dialog in Natural Language Using an Ontology |
CN109284357A (zh) * | 2018-08-29 | 2019-01-29 | 腾讯科技(深圳)有限公司 | 人机对话方法、装置、电子设备及计算机可读介质 |
CN110046221A (zh) * | 2019-03-01 | 2019-07-23 | 平安科技(深圳)有限公司 | 一种机器对话方法、装置、计算机设备及存储介质 |
-
2020
- 2020-03-16 CN CN202010182078.5A patent/CN111400450B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106095834A (zh) * | 2016-06-01 | 2016-11-09 | 竹间智能科技(上海)有限公司 | 基于话题的智能对话方法及系统 |
US20180276273A1 (en) * | 2017-03-23 | 2018-09-27 | International Business Machines Corporation | Interactive Dialog in Natural Language Using an Ontology |
CN109284357A (zh) * | 2018-08-29 | 2019-01-29 | 腾讯科技(深圳)有限公司 | 人机对话方法、装置、电子设备及计算机可读介质 |
CN110046221A (zh) * | 2019-03-01 | 2019-07-23 | 平安科技(深圳)有限公司 | 一种机器对话方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111400450A (zh) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111400450B (zh) | 人机对话方法、装置、设备及计算机可读存储介质 | |
US20230085061A1 (en) | Systems and methods for continual updating of response generation by an artificial intelligence chatbot | |
CN110750987B (zh) | 文本处理方法、装置及存储介质 | |
CN109033068A (zh) | 基于注意力机制的用于阅读理解的方法、装置和电子设备 | |
CN113010702A (zh) | 多媒体信息的互动处理方法、装置、电子设备及存储介质 | |
Uddin et al. | MirrorME: implementation of an IoT based smart mirror through facial recognition and personalized information recommendation algorithm | |
Thomas et al. | Automatic prediction of presentation style and student engagement from videos | |
CN114511393B (zh) | 财务数据处理方法及系统 | |
Wang et al. | SCANET: Improving multimodal representation and fusion with sparse‐and cross‐attention for multimodal sentiment analysis | |
AlShaikh et al. | The implementation of the cognitive theory of multimedia learning in the design and evaluation of an AI educational video assistant utilizing large language models | |
Trichopoulos et al. | Crafting a Museum Guide Using ChatGPT4 | |
Wu et al. | Focus-aware response generation in inquiry conversation | |
Gao et al. | Generalized pyramid co-attention with learnable aggregation net for video question answering | |
CN113609866A (zh) | 文本标记方法、装置、设备及存储介质 | |
CN116186295B (zh) | 基于注意力的知识图谱链接预测方法、装置、设备及介质 | |
CN116701593A (zh) | 基于GraphQL的中文问答模型训练方法及其相关设备 | |
Choi et al. | Implementation of voice-based report generator application for visually impaired | |
CN111414609B (zh) | 一种对象验证方法和装置 | |
Kiršienė et al. | Digital transformation of legal services and access to justice: Challenges and possibilities | |
CN114757206A (zh) | 咨询服务方法、系统及存储介质 | |
Babu et al. | Interactive Voice Response for the Visually Challenged | |
Saylor | The Mobile Wave | |
Hasbyalloh et al. | Design and Build a Digital Library Website Using Text to Speech | |
Yukun | Analysis and system construction of ideological and political education teaching mode based on wechat platform | |
Eqbal et al. | Artificial Conversation Entity Using Python forEducational Institute |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |