CN107665362B - 用于实现机器人聊天的训练方法、预测答案的方法及装置 - Google Patents

用于实现机器人聊天的训练方法、预测答案的方法及装置 Download PDF

Info

Publication number
CN107665362B
CN107665362B CN201710886205.8A CN201710886205A CN107665362B CN 107665362 B CN107665362 B CN 107665362B CN 201710886205 A CN201710886205 A CN 201710886205A CN 107665362 B CN107665362 B CN 107665362B
Authority
CN
China
Prior art keywords
input
training
neural network
user
input vector
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
Application number
CN201710886205.8A
Other languages
English (en)
Other versions
CN107665362A (zh
Inventor
郭同
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201710886205.8A priority Critical patent/CN107665362B/zh
Publication of CN107665362A publication Critical patent/CN107665362A/zh
Application granted granted Critical
Publication of CN107665362B publication Critical patent/CN107665362B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Manipulator (AREA)

Abstract

本公开提供了一种用于实现机器人聊天的训练方法。所述方法包括如下操作。首先,接收当前训练问题。然后,根据所述当前训练问题与N个历史问题生成训练输入向量。接着,以所述训练输入向量作为输入信息,输入至神经网络以获得所述神经网络的输出。并且,当所述神经网络的输出与标准答案不一致时,重复执行所述接收、生成、输入操作,直到所述神经网络的输出与标准答案一致时训练完成。以及存储训练完成的神经网络。本公开还提供了一种利用所述训练方法训练完成的神经网络预测答案的方法、一种用于实现机器人聊天的训练装置以及一种实现机器人聊天的装置。

Description

用于实现机器人聊天的训练方法、预测答案的方法及装置
技术领域
本公开涉及一种用于实现机器人聊天的训练方法、预测答案的方法及装置。
背景技术
随着人工智能的快速发展,机器人被越来越多地应用于工农业生产、建筑、物流、和日常生活等诸多领域。对机器人的神经网络的训练是实现机器人智能化的关键。当前在进行神经网络训练时,为实现神经网络适应日常聊天的场景,有一种训练方式会将聊天内容的上下文一起作为训练输入内容,同时会给出标准答案。在训练过程中,会反复训练神经网络得到上下文以及标准答案之间较高的关联性。这样,在将训练完成的神经网络应用于聊天场景预测答案时,该训练完成的神经网络会根据用户输入的上下文从标准答案库中寻找关联性最大的答案,以此作为聊天的输出。
发明内容
本公开的一个方面提供了一种用于实现机器人聊天的训练方法。所述方法包括:接收当前训练问题;根据所述当前训练问题与N个历史问题生成训练输入向量,其中,所述N个历史问题是在接收所述当前训练问题之前接收到的,所述当前训练问题和N个历史问题中的每一个问题对应为所述训练输入向量中的一个元素,所述训练输入向量中的元素的顺序与所述当前训练问题和N个历史问题的接收顺序相对应,并且N为大于等于1的正整数;以所述训练输入向量作为输入信息,输入至神经网络以获得所述神经网络的输出;当所述神经网络的输出与标准答案不一致时,重复执行所述接收、生成、输入操作,直到所述神经网络的输出与标准答案一致时训练完成,其中所述标准答案为预先设置的与所述训练输入向量唯一对应的答案数据;以及存储训练完成的神经网络。
可选地,所述神经网络的输出为所述神经网络从预设的答案库获取的答案数据,以及所述标准答案为所述答案库中预设设置的与所述训练输入向量唯一对应的答案数据。
可选地,所述神经网络包括卷积神经网络。
可选地,当在接收所述当前训练问题之前接收的问题次数小于N时,所述历史问题的个数小于N,根据所述当前训练问题与N个历史问题生成训练输入向量,包括将所述训练输入向量中没有对应的历史问题的元素设置为0。
本公开的另一方面提供了一种利用上述训练方法训练完成的神经网络预测答案的方法,包括:接收当前用户输入;根据所述当前用户输入与N个历史输入生成用户输入向量,其中,所述N个历史输入是在接收所述用户输入之前接收到的,所述当前用户输入和N个历史输入中的每一个输入对应为所述用户输入向量中的一个元素,所述用户输入向量中的元素的顺序与所述当前用户输入和N个历史输入的接收顺序相对应,并且N为大于等于1的正整数;以所述用户输入向量作为输入信息,输入至所述训练完成的神经网络;以及获得所述训练完成的神经网络的输出。
可选地,所述训练完成的神经网络的输出为所述训练完成的神经网络从预设的答案库中获取的答案数据。
可选地,当在接收所述当前用户输入之前接收到的输入的次数小于N时,所述历史输入的个数小于N,根据所述当前用户输入与N个历史输入生成用户输入向量,包括将所述用户输入向量中没有对应的历史输入的元素设置为0。
本公开的另一方面提供了一种用于实现机器人聊天的训练装置,包括训练问题接收模块、训练输入向量生成模块、训练输入向量输入模块、训练模块以及存储模块。训练问题接收模块用于接收训练问题。训练输入向量生成模块用于根据所述当前训练问题与N个历史问题生成训练输入向量,其中,所述N个历史问题是在接收所述当前训练问题之前接收到的,所述当前训练问题和N个历史问题中的每一个问题对应为所述训练输入向量中的一个元素,所述训练输入向量中的元素的顺序与所述当前训练问题和N个历史问题的接收顺序相对应,并且N为大于等于1的正整数。训练输入向量输入模块用于以所述训练输入向量作为输入信息,输入至神经网络中以获得所述神经网络的输出。训练模块用于当所述神经网络的输出与标准答案不一致时,重复执行所述接收、生成、输入操作,直到所述神经网络的输出与标准答案一致时训练完成,其中所述标准答案为预先设置的与所述训练输入向量唯一对应的答案数据。以及存储模块用于存储训练完成的神经网络。
可选地,所述神经网络包括卷积神经网络。
本公开的另一方面提供了一种用于实现机器人聊天的训练装置。所述装置包括信号接收器、一个或多个处理器,以及存储装置。信号接收器用于接收训练问题。存储装置用于存储一个或多个程序。其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行上述用于实现机器人聊天的训练方法。
本公开的另一方面还提供了一种实现机器人聊天的装置,包括用户输入接收模块、用户输入向量生成模块、用户输入向量输入模块和预测答案获取模块。用户输入接收模块用于接收用户输入。用户输入向量生成模块用于根据所述当前用户输入与N个历史输入生成用户输入向量,其中,所述N个历史输入是在接收所述用户输入之前接收到的,所述当前用户输入和N个历史输入中的每一个输入对应为所述用户输入向量中的一个元素,所述用户输入向量中的元素的顺序与所述当前用户输入和N个历史输入的接收顺序相对应,并且N为大于等于1的正整数。用户输入向量输入模块,用于以所述用户输入向量作为输入信息,输入至根据上述训练方法训练完成的神经网络。以及预测答案获取模块用于获得所述训练完成的神经网络的输出。
本公开的另一方面提供了一种实现机器人聊天的装置。所述机器人输入装置、一个或多个处理器,以及存储装置。输入装置用关于接收用户输入。存储装置用于存储一个或多个程序。其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行上述利用训练完成的神经网络预测答案的方法。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例的用于实现机器人聊天的训练方法、训练装置、预测答案的方法以及实现机器人聊天的装置的应用场景;
图2示意性示出了根据本公开实施例的用于实现机器人聊天的训练方法的流程图;
图3示意性示出了根据本公开实施例的训练方法训练卷积神经网络的过程示例。
图4示意性示出了根据本公开实施例的利用训练完成的神经网络预测答案的方法;
图5示意性示出了根据本公开实施例的用于实现机器人聊天的训练装置的框图;
图6示意性示出了根据本公开另一实施例的用于实现机器人聊天的训练装置的框图。
图7示意性示出了根据本公开实施例的实现机器人聊天的装置的框图;以及
图8示意性示出了根据本公开另一实施例的实现机器人聊天的装置的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。本领域技术人员还应理解,实质上任意表示两个或更多可选项目的转折连词和/或短语,无论是在说明书、权利要求书还是附图中,都应被理解为给出了包括这些项目之一、这些项目任一方、或两个项目的可能性。例如,短语“A或B”应当被理解为包括“A”或“B”、或“A和B”的可能性。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。
因此,本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读介质上的计算机程序产品的形式,该计算机程序产品可供指令执行***使用或者结合指令执行***使用。在本公开的上下文中,计算机可读介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,计算机可读介质可以包括但不限于电、磁、光、电磁、红外或半导体***、装置、器件或传播介质。计算机可读介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
当前在训练机器人的神经网络适应日常聊天的场景时,在训练阶段会反复训练神经网络得到上下文输入以及标准答案之间较高的关联性。然后,当将该训练完成的神经网络应用于预测阶段时,该训练完成的神经网络会根据用户输入的上下文从标准答案库中寻找关联性最大的答案,以此作为聊天的输出。这样,在训练阶段,得到的是神经网络与上下文输入的关联性。从而,预测阶段,该训练完成的神经网络需要将用户输入的上下文与预设的答案库中的所有答案逐一对比,才能确定出关联性最大的一个答案,以获得预测输出。这种防止会导致该训练完成的神经网络应用于预测阶段时的运算量非常大。
本公开的实施例提供了一种用于实现机器人聊天的训练方法、应该训练方法训练完成的机器人预测答案的方法以及相应的训练装置和应用于预测阶段的实现机器人聊天的装置。
本公开各个实施例提供的训练方法通过首先接收当前训练问题,然后根据该当前训练问题与N个历史问题生成训练输入向量,并且以该训练输入向量作为输入信息输入至神经网络以获得该神经网络的输出,同时,当该神经网络的输出与标准答案不一致时,循环重复执行该接收、生成、输入操作,直到该神经网络的输出与标准答案一致时训练完成,之后存储训练完成的神经网络,以备将该训练完成的神经网络应用于聊天场景进行答案预测。其中,该N个历史问题是在接收该当前训练问题之前接收到的。该当前训练问题和N个历史问题中的每一个问题对应为该训练输入向量中的一个元素。该训练输入向量中的元素的顺序与该当前训练问题和N个历史问题的接收顺序相对应,并且N为大于等于1的正整数。该标准答案为预先设置的与该训练输入向量唯一对应的答案数据。
通过这种方式,本公开实施例提供的该训练方法可以根据当前训练问题以及N个历史问题的结合,反复训练该神经网络,使得训练完成的神经网络能够联系上下文的训练问题输出对应的标准答案。该训练方法通过在神经网络的输入时,每次都将当前的训练问题和该训练问题前几轮的历史问题同时输入,训练神经网络可以结合上下文进行回答,并且通过反复训练使得神经网络可以将训练输入向量与标准答案对应起来,从而得到的训练完成的神经网络具有强大的联系上下文输出对应的标准答案的能力,有效地保证了预测阶段输出的答***性。
本公开实施例提供的利用该训练方法训练完成的神经网络预测答案的方法包括接收当前用户输入,并根据该当前用户输入以及N个历史输入生成用户输入向量,然后以所述用户输入向量作为输入信息,输入至所述训练完成的神经网络,并获得所述训练完成的神经网络的输出作为预测的答案。其中,所述N个历史输入是在接收所述用户输入之前接收到的,所述当前用户输入和N个历史输入中的每一个输入对应为所述用户输入向量中的一个元素,所述用户输入向量中的元素的顺序与所述当前用户输入和N个历史输入的接收顺序相对应,并且N为大于等于1的正整数。
通过这种方式,本公开实施例提供的该预测答案的方法在预测阶段可以通过该训练完成的神经网络将用户输入以及历史输入进行分析后,直接输出答案,从而可以不需要遍历的方式来确定用户输入的上下文内容与预设的答案库中所有的答案的关联程度,有效地减小运算量,提高了预测效率。
图1示意性示出了根据本公开实施例的用于实现机器人聊天的训练方法、训练装置、预测答案的方法以及实现机器人聊天的装置的应用场景。
如图1所示,根据本公开实施例的应用场景包括终端设备110和机器人120,其中机器人120包括神经网络121。
终端设备110可以用于接收训练阶段的训练问题,或者在预测阶段接收用户输入,并且,终端设备110可以接收神经网络121的输出信息。
终端设备110可以包括用户交互界面,其中,可以显示神经网络121的输出信息,例如,训练阶段神经网络121的输出信息,或者例如预测答案阶段训练完成的该神经网络121的输出的预测答案。
终端设备110的用户交互界面还可以显示对神经网络121的训练信息等,用以帮助训练者监控对神经网络121的训练过程。
机器人120可以在训练阶段接收从输入终端110传输的训练问题,并根据本公开实施例提供的训练方法对神经网络121进行训练,并可以将神经网络121的输出信息会传输至诸如终端设备110。
机器人120还可以在预测答案阶段接收从输入终端110传输的用户输入,并根据本公开实施例提供的预测答案的方法通过神经网络121输出与用户输入相对应的预测答案。
可以理解,终端设备110和机器人120可以是一体的,电可以是图1中所示的分别独立的设备。
当终端设备110和机器人120为图1所示的相互独立的设备时,终端设备110和机器人120之间可以通过有线、或无线方式(例如通过网络)连接,以实现信号传输。
另外神经网络121可以是位于机器人120中,也可以是与位于机器人120外部、并与机器人120通过有线、或者无线方式连接。例如,神经网络121可以位于与机器人120通过网络连接的服务器中。
根据本公开实施例的用于实现机器人聊天的训练方法和/或预测答案的方法可以应用于终端设备110,相应的,用于实现机器人聊天的训练方法和/或实现机器人聊天的装可以位于终端设备110中。
或者,根据本公开实施例的用于实现机器人聊天的训练方法和/或预测答案的方法可以应用于与终端设备110相连接的一个或多个服务器中,相应的,用于实现机器人聊天的训练方法和/或实现机器人聊天的装可以位于与终端设备110相连接的一个或多个服务器中。
根据本公开实施例的用于实现机器人聊天的训练方法和/或预测答案的方法也可以应用于机器人120中,相应的,用于实现机器人聊天的训练方法和/或实现机器人聊天的装可以位于机器人120中。
或者,根据本公开实施例的用于实现机器人聊天的训练方法和/或预测答案的方法也可以应用于与机器人120相连接的一个或多个服务器中,相应的,用于实现机器人聊天的训练方法和/或实现机器人聊天的装置可以位于与机器人120相连接的一个或多个服务器中。
图2示意性示出了根据本公开实施例的用于实现机器人聊天的训练方法的流程图。
如图2所示,根据本公开实施例的用于实现机器人聊天的训练方法包括操作S201~操作S205。
在操作S201,接收当前训练问题.
在操作S202,根据该当前训练问题与N个历史问题生成训练输入向量,其中,该N个历史问题是在接收该当前训练问题之前接收到的,该当前训练问题和N个历史问题中的每一个问题对应为该训练输入向量中的一个元素,该训练输入向量中的元素的顺序与该当前训练问题和N个历史问题的接收顺序相对应,并且N为大于等于1的正整数.
在操作S203,以该训练输入向量作为输入信息,输入至神经网络121以获得该神经网络121的输出。
在操作S204,判断该神经网络121的输出与标准答案是否一致,其中该标准答案为预先设置的与该训练输入向量唯一对应的答案数据。
若一致,则执行操作S205。
若该神经网络121的输出与标准答案不一致时,重复执行操作S201~操作S203,直到判断得到该神经网络的输出与标准答案一致时训练完成,则执行操作S205。
在操作S205,存储训练完成的神经网络121。
通过这种方式,根据本公开实施例的训练方法可以根据当前训练问题以及N个历史问题的结合,反复训练神经网络121,使得训练完成的神经网络121能够联系上下文的训练问题输出对应的标准答案。该训练方法通过在神经网络121的输入时,每次都将当前的训练问题和该训练问题前几轮的问题同时输入,训练神经网络121可以结合上下文进行回答,并且通过反复训练使得神经网络121可以将训练输入向量与标准答案对应起来,从而得到的训练完成的神经网络121具有强大的联系上下文输出对应的标准答案的能力,有效地保证了预测阶段输出的答***性。
根据本公开的实施例,该神经网络121的输出为该神经网络121从预设的答案库获取的答案数据;以及该标准答案为该答案库中预设设置的与该训练输入向量唯一对应的答案数据。
由于该神经网络121输出的答案是从预设的答案库中搜索到的答案,从而可以保证获得的答案的稳定性。
具体的,该神经网络121可以是卷积神经网络、或者循环神经网络等。
图3示意性示出了根据本公开实施例的训练方法训练卷积神经网络的过程示例。
如图3的示例,该神经网络121为卷积神经网络。
在该示例中,当前训练问题为第三轮训练输入的问题3,历史问题的个数N确定为2。相应地问题1和问题2分别为在第一轮训练和第二轮训练过程中输入的问题。
从而,在操作S201接收问题3。
然后,在操作S202中,根据该当前训练问题以及之前的两个历史问题(即问题1和问题2)生成训练输入向量。如图3中示出的,问题1向量化、问题2向量化、问题3向量化。从而得到训练输入向量=(问题1,问题2,问题3)。该输入向量中的各元素的顺序与问题1、问题2和问题3的接收顺序相对应。
接着,在操作S203,以该训练输入向量=(问题1,问题2,问题3)作为该卷积神经网络的输入层的输入信息,输入至该卷积神经网络。然后经过该卷积神经网络的卷积层和池化层进行特征提取,再到全连接神经网络中将问题1、问题2和问题3的特征进行关联,从而从答案库中确定出一个与该训练输入向量=(问题1,问题2,问题3)的一个答案(例如,给出一个答案的代码ID,根据该代码ID再确定对应的答案内容)。
当然,在操作S203输出的答案可能与对应于该训练输入向量=(问题1,问题2,问题3)的标准答案不符合,即当操作S204的判断结果为否时,可以通过反向传播地方式对神经网络的输出进行调整等,使其重复执行操作S201~操作S203。直到该卷积神经网络对应于该训练输入向量=(问题1,问题2,问题3)的输出稳定保持为对应的标准答案。
当然,可以理解,以上举例仅列出了三个问题,实际训练中可以有大量不可计数的训练问题,而且同一内容的训练问题等还可以变换为各种不同的形式,训练的次数也可以非常之多,以帮助该神经网络121更完整地进行特征提取,提高该神经网络121的泛化能力。
并且,在操作S204判断该神经网络121的输出与标准答案是否一致,也可以是判断该神经网络121的输出与标准答案的符合程度是否达到一定的概率(例如90%)等。
根据本公开的实施例,卷积神经网络具有较好的特征提取特性,从而可以保证在训练完成之后,在预测阶段可以根据训练时的问题进行较大程度地扩展,从而使得预测时回答的问题的范围更广,保证了神经网络的泛化能力。
根据本公开的实施例,当在接收该当前训练问题之前接收的问题次数小于N时,该历史问题的个数小于N,根据该当前训练问题与N个历史问题生成训练输入向量,包括将该训练输入向量中没有对应的历史问题的元素设置为0。
具体地,如图3的示例中,若当前训练问题是第二轮输入的问题2,且N的值为2。则此时,该训练输入向量=(0,问题1,问题2)。
图4示意性示出了根据本公开实施例的利用训练完成的神经网络121预测答案的方法。
如图4所示,该预测答案的方法包括操作S401~操作S404。
在操作S401,接收当前用户输入。
在操作S402,根据该当前用户输入与N个历史输入生成用户输入向量,其中,该N个历史输入是在接收该用户输入之前接收到的,该当前用户输入和N个历史输入中的每一个输入对应为该用户输入向量中的一个元素,该用户输入向量中的元素的顺序与该当前用户输入和N个历史输入的接收顺序相对应,并且N为大于等于1的正整数。
在操作S403,以该用户输入向量作为输入信息,输入至该训练完成的神经网络121.
在操作S404,获得该训练完成的神经网络121的输出。
通过这种方式,根据本公开实施例的该预测答案的方法在预测阶段可以通过该训练完成的神经网络121将用户输入以及历史输入进行分析后,直接输出答案,从而可以不需要遍历的方式以确定用户输入的上下文内容与预设的答案库中所有的答案的关联程度,有效地减小运算量,提高了预测效率。
根据本公开的实施例,该训练完成的神经网络121的输出为该训练完成的神经网络121从预设的答案库中获取的答案数据。
以此方式,该训练完成的神经网络121输出的答案是从预设的答案库中搜索到的答案,从而可以保证获得的答案的稳定性。
根据本公开的实施例,当在接收所述当前用户输入之前接收到的输入的次数小于N时,所述历史输入的个数小于N,根据所述当前用户输入与N个历史输入生成用户输入向量,包括将所述用户输入向量中没有对应的历史输入的元素设置为0。
以此方式,有效地解决了当在接收所述当前用户输入之前接收到的输入的次数小于N时生成的用户输入向量中的元素内容,从而保证了用于输入向量的维度一致,提高了对用户输入向量进行统一处理的效率。
图5示意性示出了根据本公开实施例的用于实现机器人聊天的训练装置的框图。
如图5所示,根据本公开实施例的用于实现机器人聊天的训练装置500包括训练问题接收模块510、训练输入向量生成模块520、训练输入向量输入模块530、训练模块540以及存储模块550。该用于实现机器人聊天的训练装置500可以用于实现参考图2和图3所描述的用于实现机器人聊天的训练方法。
训练问题接收模块510用于接收训练问题。
训练输入向量生成模块520用于根据该当前训练问题与N个历史问题生成训练输入向量,其中,该N个历史问题是在接收该当前训练问题之前接收到的,该当前训练问题和N个历史问题中的每一个问题对应为该训练输入向量中的一个元素,该训练输入向量中的元素的顺序与该当前训练问题和N个历史问题的接收顺序相对应,并且N为大于等于1的正整数。
训练输入向量输入模块530用于以该训练输入向量作为输入信息,输入至神经网络121中以获得该神经网络121的输出。
训练模块540用于当该神经网络121的输出与标准答案不一致时,重复执行该接收、生成、输入操作,直到该神经网络121的输出与标准答案一致时训练完成,其中该标准答案为预先设置的与该训练输入向量唯一对应的答案数据。
存储模块550用于存储训练完成的神经网络121。
根据本公开实施例的训练装置500可以根据当前训练问题以及N个历史问题的结合,反复训练该神经网络121,使得训练完成的神经网络121能够联系上下文的训练问题输出对应的标准答案。该训练装置500每次都将当前的训练问题和该训练问题前几轮的问题同时输入至神经网络121,训练神经网络121可以结合上下文进行回答,并且通过反复训练使得神经网络121可以将训练输入向量与标准答案对应起来,从而得到的训练完成的神经网络121具有强大的联系上下文输出对应的标准答案的能力,有效地保证了预测阶段输出的答***性。
根据本公开的实施例,该神经网络121包括卷积神经网络。卷积神经网络具有较好的特征提取特性,从而可以保证在训练完成之后,在预测阶段可以根据训练时的问题进行较大程度地扩展,从而使得预测时能够回答的问题的范围更广,保证了神经网络的泛化能力。
可以理解的是,训练问题接收模块510、训练输入向量生成模块520、训练输入向量输入模块530、训练模块540以及存储模块550可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的实施例,训练问题接收模块510、训练输入向量生成模块520、训练输入向量输入模块530、训练模块540以及存储模块550中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以以对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式的适当组合来实现。或者,训练问题接收模块510、训练输入向量生成模块520、训练输入向量输入模块530、训练模块540以及存储模块550中的至少一个可以至少被部分地实现为计算机程序模块,当该程序被计算机运行时,可以执行相应模块的功能。
图6示意性示出了根据本公开另一实施例的用于实现机器人聊天的训练装置的框图。
如图6所示,该用于实现机器人聊天的训练装置的600包括处理器610、计算机可读存储介质620以及信号接收器630。该机器人600可以执行上面参考图2和图3描述的方法,以实现根据本公开实施例的用于实现机器人聊天的训练方法。
具体地,处理器610例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器610还可以包括用于缓存用途的板载存储器。处理器610可以是用于执行参考图2和图3描述的根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质620,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体***、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
计算机可读存储介质620可以包括计算机程序621,该计算机程序621可以包括代码/计算机可执行指令,其在由处理器610执行时使得处理器610执行例如上面结合图2和图3所描述的方法流程及其任何变形。
计算机程序621可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序621中的代码可以包括一个或多个程序模块,例如包括621A、模块621B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器610执行时,使得处理器610可以执行例如上面结合图2和图3所描述的方法流程及其任何变形。
根据本公开的实施例,信号接收器630可以接收外部输入的训练问题。处理器610可以与信号接收器630进行交互,来执行上面结合图2和图3所描述的方法流程及其任何变形。
根据本发明的实施例,训练问题接收模块510、训练输入向量生成模块520、训练输入向量输入模块530、训练模块540以及存储模块550中的至少一个可以实现为参考图6描述的计算机程序模块,其在被处理器610执行时,可以实现上面描述的相应操作。
图7示意性示出了根据本公开实施例的实现机器人聊天的装置的框图。
如图7所示,根据本公开实施例的实现机器人聊天的装置700包括用户输入接收模块710、用户输入向量生成模块720、用户输入向量输入模块730和预测答案获取模块740。
该装置700可以用于实现参考图4所描述的预测答案的方法。
用户输入接收模块710用于接收用户输入。
用户输入向量生成模块720用于根据该当前用户输入与N个历史输入生成用户输入向量,其中,该N个历史输入是在接收该用户输入之前接收到的,该当前用户输入和N个历史输入中的每一个输入对应为该用户输入向量中的一个元素,该用户输入向量中的元素的顺序与该当前用户输入和N个历史输入的接收顺序相对应,并且N为大于等于1的正整数。
用户输入向量输入模块730用于以该用户输入向量作为输入信息,输入至根据上述训练方法训练完成的神经网络121。
预测答案获取模块740用于获得该训练完成的神经网络121的输出。
根据本公开实施例的实现机器人聊天的装置700,在预测答案阶段可以通过该训练完成的神经网络121将用户输入以及历史输入进行分析后,直接输出答案,从而可以不需要遍历的方式以确定用户输入的上下文内容与预设的答案库中所有的答案的关联程度,有效地减小运算量,提高了预测效率。
可以理解的是,用户输入接收模块710、用户输入向量生成模块720、用户输入向量输入模块730和预测答案获取模块740。可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的实施例,用户输入接收模块710、用户输入向量生成模块720、用户输入向量输入模块730和预测答案获取模块740中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以以对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式的适当组合来实现。或者,用户输入接收模块710、用户输入向量生成模块720、用户输入向量输入模块730和预测答案获取模块740中的至少一个可以至少被部分地实现为计算机程序模块,当该程序被计算机运行时,可以执行相应模块的功能。
图8示意性示出了根据本公开另一实施例的实现机器人聊天的装置的框图。
如图8所示,该实现机器人聊天的装置800包括处理器810、计算机可读存储介质820、信号发送器830、以及信号接收器840。该机器人800可以执行上面参考图4描述的方法,以实现多个机器人之间的通信。
具体地,处理器810例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器810还可以包括用于缓存用途的板载存储器。处理器810可以是用于执行参考图4描述的根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质820,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体***、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
计算机可读存储介质820可以包括计算机程序821,该计算机程序821可以包括代码/计算机可执行指令,其在由处理器810执行时使得处理器810执行例如上面结合图4所描述的方法流程及其任何变形。
计算机程序821可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序821中的代码可以包括一个或多个程序模块,例如包括821A、模块821B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器810执行时,使得处理器810可以执行例如上面结合图4所描述的方法流程及其任何变形。
根据本公开的实施例,该装置800还包括输入装置830。该输入装置830可以用于接收用户输入。处理器810可以与信号接收器830进行交互,来执行上面结合图4所描述的方法流程及其任何变形。
根据本发明的实施例,用户输入接收模块710、用户输入向量生成模块720、用户输入向量输入模块730和预测答案获取模块740中的至少一个可以实现为参考图8描述的计算机程序模块,其在被处理器810执行时,可以实现上面描述的相应操作。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

Claims (8)

1.一种用于实现机器人聊天的训练方法,包括:
接收当前训练问题;
根据所述当前训练问题与N个历史问题生成训练输入向量,其中,所述N个历史问题是在接收所述当前训练问题之前接收到的,所述当前训练问题和N个历史问题中的每一个问题对应为所述训练输入向量中的一个元素,所述训练输入向量中的元素的顺序与所述当前训练问题和N个历史问题的接收顺序相对应,并且N为大于等于1的正整数;
以所述训练输入向量作为输入信息,输入至神经网络以获得所述神经网络的输出,其中,所述神经网络包括卷积神经网络;具体包括:
将所述训练输入向量输入至所述卷积神经网络的输入层;
利用所述卷积神经网络的卷积层和池化层对所述训练输入向量中的所述当前训练问题和所述N个历史问题分别进行特征提取;以及
利用所述卷积神经网络的全连接层对提取的所述当前训练问题的特征和提取的所述N个历史问题的特征进行关联,
以确定出所述卷积神经网络的输出;
当所述神经网络的输出与标准答案不一致时,重复执行所述接收、生成、输入操作,直到所述神经网络的输出与标准答案一致时训练完成,其中所述标准答案为预先设置的与所述训练输入向量唯一对应的答案数据;以及
存储训练完成的神经网络。
2.根据权利要求1所述的方法,其中:
所述神经网络的输出为所述神经网络从预设的答案库获取的答案数据;以及
所述标准答案为所述答案库中预设设置的与所述训练输入向量唯一对应的答案数据。
3.根据权利要求1所述的方法,其中,当在接收所述当前训练问题之前接收的问题次数小于N时,所述历史问题的个数小于N,根据所述当前训练问题与N个历史问题生成训练输入向量包括:
将所述训练输入向量中没有对应的历史问题的元素设置为0。
4.一种利用权利要求1~3任意一项所述的方法训练完成的神经网络预测答案的方法,包括:
接收当前用户输入;
根据所述当前用户输入与N个历史输入生成用户输入向量,其中,所述N个历史输入是在接收所述当前用户输入之前接收到的,所述当前用户输入和N个历史输入中的每一个输入对应为所述用户输入向量中的一个元素,所述用户输入向量中的元素的顺序与所述当前用户输入和N个历史输入的接收顺序相对应,并且N为大于等于1的正整数;
以所述用户输入向量作为输入信息,输入至所述训练完成的神经网络;
获得所述训练完成的神经网络的输出。
5.根据权利要求4所述的方法,其中:
所述训练完成的神经网络的输出为所述训练完成的神经网络从预设的答案库中获取的答案数据。
6.根据权利要求4所述的方法,其中,当在接收所述当前用户输入之前接收到的输入的次数小于N时,所述历史输入的个数小于N,根据所述当前用户输入与N个历史输入生成用户输入向量包括:
将所述用户输入向量中没有对应的历史输入的元素设置为0。
7.一种用于实现机器人聊天的训练装置,包括:
训练问题接收模块,用于接收当前训练问题;
训练输入向量生成模块,用于根据所述当前训练问题与N个历史问题生成训练输入向量,其中,所述N个历史问题是在接收所述当前训练问题之前接收到的,所述当前训练问题和N个历史问题中的每一个问题对应为所述训练输入向量中的一个元素,所述训练输入向量中的元素的顺序与所述当前训练问题和N个历史问题的接收顺序相对应,并且N为大于等于1的正整数;
训练输入向量输入模块,用于以所述训练输入向量作为输入信息,输入至神经网络中以获得所述神经网络的输出,其中,所述神经网络包括卷积神经网络;所述训练输入向量输入模块具体用于:
将所述训练输入向量输入至所述卷积神经网络的输入层;
利用所述卷积神经网络的卷积层和池化层对所述训练输入向量中的所述当前训练问题和所述N个历史问题分别进行特征提取;以及
利用所述卷积神经网络的全连接层对提取的所述当前训练问题的特征和提取的所述N个历史问题的特征进行关联,以确定出所述神经网络的输出;
训练模块,用于当所述神经网络的输出与标准答案不一致时,重复执行所述接收、生成、输入操作,直到所述神经网络的输出与标准答案一致时训练完成,其中所述标准答案为预先设置的与所述训练输入向量唯一对应的答案数据;以及
存储模块,用于存储训练完成的神经网络。
8.一种实现机器人聊天的装置,包括:
用户输入接收模块,用于接收当前用户输入;
用户输入向量生成模块,用于根据所述当前用户输入与N个历史输入生成用户输入向量,其中,所述N个历史输入是在接收所述当前用户输入之前接收到的,所述当前用户输入和N个历史输入中的每一个输入对应为所述用户输入向量中的一个元素,所述用户输入向量中的元素的顺序与所述当前用户输入和N个历史输入的接收顺序相对应,并且N为大于等于1的正整数;
用户输入向量输入模块,用于以所述用户输入向量作为输入信息,输入至根据权利要求1~3任意一项所述的方法训练完成的神经网络;
预测答案获取模块,用于获得所述训练完成的神经网络的输出。
CN201710886205.8A 2017-09-26 2017-09-26 用于实现机器人聊天的训练方法、预测答案的方法及装置 Active CN107665362B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710886205.8A CN107665362B (zh) 2017-09-26 2017-09-26 用于实现机器人聊天的训练方法、预测答案的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710886205.8A CN107665362B (zh) 2017-09-26 2017-09-26 用于实现机器人聊天的训练方法、预测答案的方法及装置

Publications (2)

Publication Number Publication Date
CN107665362A CN107665362A (zh) 2018-02-06
CN107665362B true CN107665362B (zh) 2019-10-29

Family

ID=61097614

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710886205.8A Active CN107665362B (zh) 2017-09-26 2017-09-26 用于实现机器人聊天的训练方法、预测答案的方法及装置

Country Status (1)

Country Link
CN (1) CN107665362B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111435449B (zh) * 2018-12-26 2024-04-02 深圳市优必选科技有限公司 模型的自训练方法、装置、计算机设备及存储介质
CN110674276B (zh) * 2019-09-23 2024-08-16 深圳前海微众银行股份有限公司 机器人自学习方法、机器人终端、装置及可读存储介质
US11620535B2 (en) 2019-09-25 2023-04-04 International Business Machines Corporation Heuristic ideation

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105183848A (zh) * 2015-09-07 2015-12-23 百度在线网络技术(北京)有限公司 基于人工智能的人机聊天方法和装置
CN105787560B (zh) * 2016-03-18 2018-04-03 北京光年无限科技有限公司 基于循环神经网络的对话数据交互处理方法及装置
CN106776578B (zh) * 2017-01-03 2020-03-17 竹间智能科技(上海)有限公司 用于提升对话***对话性能的方法及装置

Also Published As

Publication number Publication date
CN107665362A (zh) 2018-02-06

Similar Documents

Publication Publication Date Title
Bashir et al. Towards an IoT big data analytics framework: smart buildings systems
CN107665362B (zh) 用于实现机器人聊天的训练方法、预测答案的方法及装置
CN106471526A (zh) 使用深度神经网络来处理图像
CN111176758B (zh) 配置参数的推荐方法、装置、终端及存储介质
US20190220969A1 (en) Information processing device, data structure, information processing method, and non-transitory computer readable storage medium
CN109964238A (zh) 使用神经网络生成视频帧
Kannan et al. Smart-llm: Smart multi-agent robot task planning using large language models
CN108090218A (zh) 基于深度强化学习的对话***生成方法和装置
CN114095381B (zh) 多任务模型训练方法、多任务预测方法及相关产品
Stojmenovic et al. Inaugural issue of ‘cyber-physical systems’
CN109818837A (zh) 智能家居控制方法、装置、计算机设备及存储介质
CN113821330B (zh) 任务调度方法、装置、计算机设备和存储介质
CN111090740B (zh) 一种用于对话***的知识图谱生成方法
CN112269943A (zh) 一种信息推荐***及方法
CN112149426B (zh) 阅读任务处理方法及相关设备
CN115618065A (zh) 一种数据处理方法及相关设备
CN114238658A (zh) 时序知识图谱的链接预测方法、装置及电子设备
Ksentini et al. How much can Fog Computing enhance performances of heterogeneous delay-sensitive services in Smart Cities?
US12050640B2 (en) Probabilistic procedure planning for instructional videos
Rao et al. Farmer Well-Being with Metaverse Innovations in Agriculture
CN116934557B (zh) 行为预测信息生成方法、装置、电子设备和可读介质
EP3115943A1 (en) Directive determination for behavior encouragement
CN111586167B (zh) 智能体间协同方法、装置及相关产品
US11854028B2 (en) Reinforcement learning applied to survey parameter optimization
CN110322011B (zh) 面向推理模型的对象关系构造方法及装置

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