CN111737408B - 基于剧本的对话方法、设备及电子设备 - Google Patents
基于剧本的对话方法、设备及电子设备 Download PDFInfo
- Publication number
- CN111737408B CN111737408B CN201910227295.9A CN201910227295A CN111737408B CN 111737408 B CN111737408 B CN 111737408B CN 201910227295 A CN201910227295 A CN 201910227295A CN 111737408 B CN111737408 B CN 111737408B
- Authority
- CN
- China
- Prior art keywords
- node
- content
- user
- output
- intent
- 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
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000013515 script Methods 0.000 title claims abstract description 57
- 230000014509 gene expression Effects 0.000 claims description 25
- 238000010586 diagram Methods 0.000 description 20
- 238000012545 processing Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000003058 natural language processing Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 235000013405 beer Nutrition 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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
-
- 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/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于剧本的对话方法、设备及电子设备。该基于剧本的对话方法包括:对剧本进行解析,以形成有向图结构的剧本流,其中,所述有向图结构包括意图节点、输出节点和有向边并且包括至少一个环状结构;基于所述剧本流,向用户输出第一输出节点的内容以及至少一个第一意图节点的内容;接收用户对第一意图节点的选择;以及基于所选择的第一意图节点,向用户输出第二输出节点的内容以及至少一个第二意图节点的内容。
Description
技术领域
本发明涉及自然语言对话技术领域,更具体地,涉及一种基于剧本的对话方法、设备及电子设备。
背景技术
目前,在聊天机器人领域,一般将人机对话分为四个子类别,即:自然语言聊天、任务驱动的多轮对话、问答和推荐。
自然语言聊天的的技术方案包括基于聊天剧本的对话方案。在现有的基于聊天剧本的对话方案中,剧本聊天引擎或对话系统是能够与用户进行交互对话的系统,在现有技术中,剧本聊天引擎一般包括:自然语言理解(NLU)模块、对话管理(DM)模块和自然语言生成(NLG)模块。
剧本聊天引擎可以基于文本和规则匹配来解决对话过程中的自然语言理解(Natural Language Understanding,简称NLU)的问题,通过树形拓扑的方式来解决对话管理(Dialog Manager,简称DM)的问题,并使用自然语言生成(Natural LanguageProcessing,简称NLG)技术来配置原始语料。
这里,自然语言理解技术所涵盖的领域非常广泛,包括句子检测、分词、词性标注、句法分析、文本分类/聚类、文字角度、信息抽取/自动摘要、机器翻译、自动问答、文本生成等多个子领域。对话管理技术是用于保持计算机系统与用户的整个对话活动的互动性以及计算机系统跟踪对话过程的技术。在一个剧本聊天引擎中,对话管理DM模块可以通过结合当前自然语言理解NLU模块的输入以及用户的历史对话信息,给出当前轮次对话最优的对话输出。自然语言生成NLP是研究如何使计算机具有人一样的表达和写作的能力的技术。自然语言生成NLP技术能够根据一些关键信息及其在机器内部的表达形式,经过一系列处理,自动生成一段高质量的自然语言文本。
发明内容
本发明的一个目的是提供一种用于基于聊天剧本的对话的新技术方案。
根据本发明的第一方面,提供了一种基于聊天剧本的对话方法,包括:对聊天剧本进行解析,以形成有向图结构的聊天剧本流,其中,所述有向图结构包括意图节点、输出节点和有向边并且包括至少一个环状结构;基于所述聊天剧本流,向用户输出第一输出节点的内容以及从第一输出节点通过有向边所连接的至少一个第一意图节点的内容;接收用户对所述至少一个第一意图节点中的第一意图节点的选择;以及基于所选择的第一意图节点,向用户输出从第一意图节点通过有向边所连接的第二输出节点的内容以及从第二输出节点通过有向边所连接的至少一个第二意图节点的内容。
根据本发明的第二方面,提供了一种基于聊天剧本的对话设备,包括用于执行根据本公开的实施例所述的方法中的步骤的装置。
根据本发明的第三方面,提供了一种用于基于聊天剧本的对话的电子设备,包括存储器和处理器,其中,所述存储器存储可执行指令,以及当由处理器执行所述可执行指令时,所述处理器执行根据本公开的实施例所述的方法中的步骤。
根据本发明的第四方面,提供了一种基于剧本的聊天方法,包括:
呈现第一输出节点的内容以及至少一个第一意图节点的内容,其中,第一输出节点和第一意图节点属于有向图结构的剧本流,所述有向图结构包括意图节点、输出节点和有向边并且包括至少一个环状结构,以及从第一输出节点通过有向边连接到所述第一意图节点;接收用户对所述至少一个第一意图节点中的第一意图节点的选择;以及向用户呈现基于所选择的第一意图节而从第一意图节点通过有向边所连接的第二输出节点的内容以及从第二输出节点通过有向边所连接的至少一个第二意图节点的内容。
根据本发明的第五方面,提供了一种基于剧本的终端对话设备,包括用于执行根据本公开的实施例所述的方法中的步骤的装置。
根据本发明的第六方面,提供了一种用于基于剧本的对话的终端电子设备,包括存储器和处理器,其中,所述存储器存储可执行指令,以及当由处理器执行所述可执行指令时,所述处理器执行根据本公开的实施例所述的方法中的步骤。
根据本发明的一个实施例,可以支持更好的剧本表达能力。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1是可用于实现本公开的实施例的计算系统的硬件配置的例子的示意性框图。
图2是根据本公开的一个实施例的基于聊天剧本的对话方法的示意性流程图。
图3是根据本公开的另一个实施例的基于聊天剧本的对话方法的示意性流程图。
图4是根据本公开的一个例子的有向图结构的示意图。
图5是根据本公开的一个例子的存储结构的示意图。
图6和7是根据本公开的一个例子的示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
下面,参照附图描述根据本发明的各个实施例和例子。
<硬件配置>
图1是显示可用于实现本发明的实施例的计算系统1000的硬件配置的例子的框图。
如图1所示,计算系统包括计算装置1110。计算装置1110包含通过系统总线1121连接的处理器1120、系统存储器1130、不可拆卸非易失性存储器接口1140、可拆卸非易失性存储器接口1150、用户输入接口1160、网络接口1170、视频接口1190和输出外设接口1195。
系统存储器1130包含ROM(只读存储器)1131和RAM(随机存取存储器)1132。BIOS(基本输入输出系统)1133驻留于ROM 1131中。操作系统1134、应用程序1135、其它的程序模块1136和一些程序数据1137驻留于RAM 1132中。
诸如硬盘的不可拆卸非易失性存储器1141与不可拆卸非易失性存储器接口1140连接。例如,不可拆卸非易失性存储器1141可存储操作系统1144、应用程序1145、其它的程序模块1146和一些程序数据1147。
诸如软盘驱动器1151和CD-ROM驱动器1155的可拆卸非易失性存储器与可拆卸非易失性存储器接口1150连接。例如,软盘可被插入软盘驱动器1151中,并且,CD(光盘)可被插入CD-ROM驱动器1155中。
诸如鼠标1161和键盘1162的输入设备与用户输入接口1160连接。
计算装置1110可通过网络接口1170与远程计算装置1180连接。例如,网络接口1170可通过局域网络1171与远程计算装置1180连接。作为替代方案,网络接口1170可与调制解调器(调制器-解调器)1172连接,并且调制解调器1172通过广域网络1173与远程计算装置1180连接。
远程计算装置1180可包含存储远程应用程序1185的诸如硬盘的存储器1181。
视频接口1190与监视器1191连接。
输出外设接口1195与打印机1196和扬声器1197连接。
图1所示的计算系统仅是解释性的,并且决不是为了要限制本发明、其应用或用途。
<方法>
在这里,主要针对剧本引擎的对话管理DM部分进行改进。换句话说,基于基于剧本的对话系统的其他部分可以采用现有技术的方式实现。
图2示出了根据本公开的一个实施例的基于剧本的对话方法的示意性流程图。
在步骤S2110,对剧本进行解析,以形成有向图结构的剧本流,其中,所述有向图结构包括意图节点、输出节点和有向边并且包括至少一个环状结构。例如,所述意图节点的内容表示进行对话的用户的可能意图,以及所述输出节点的内容表示针对用户的可能意图的返回结果
基于剧本,通过文本匹配和/或规则匹配的方式,可以实现与用户的交互过程。例如,在90年代的“ELIZA”和“ALICE”系统就是基于剧本的机器人。可以利用剧本引擎,通过解析和识别剧本,可以实现与用户开展实时的在线服务。
在与用户的过程中,剧本可以是以流的形式存在的。在本公开中,以有向图结构的形式体现剧本流。
在步骤S2120,基于所述剧本流,向用户输出第一输出节点的内容以及从第一输出节点通过有向边所连接的至少一个第一意图节点的内容。
在步骤S2130,接收用户对所述至少一个第一意图节点中的第一意图节点的选择。
在步骤S2140,基于所选择的第一意图节点,向用户输出从第一意图节点通过有向边所连接的第二输出节点的内容以及从第二输出节点通过有向边所连接的至少一个第二意图节点的内容。
在现有技术中,对话管理都是基于树形逻辑的,即:根据不同的用户意图而进行不同的处理逻辑。这种树形方式的优点包括:实现简单、逻辑清晰。但是,以树形方式的对话管理的技术方案逻辑表达能力不足,没法承载较多的场景,同时也不利于语料和对话分支的复用等。
树(Tree)是一种重要的非线性数据结构。直观地看,树形结构的数据元素(在树中,称为节点)按分支关系组织起来,这种结构很象自然界中的树。树形结构中的两个节点之间仅有一条路径。
站在设计人员的角度来看,这种树形结构是有利的。设计人员在进行设计时要有清晰的逻辑,并且这种树形结构的清晰逻辑与设计人员的设计逻辑相匹配。因此,在设计时,通过树形结构,可以避免许多错误。但是,在实际应用中个,实际的用户并不能像设计人员那样,对于每个操作都保持严谨的逻辑性。在实际的应用中,用户的选择往往缺乏慎重的考虑。
考虑到这一点,在本公开中,提出了以有向图结构来表达剧本流。有向图结构包括由意图节点、输出节点和有向边构成的至少一个环状结构。这种方式更加适应用户的实际操作情况,表达能力更强,能够承载更多的场景。图(Graph)是表示物件与物件之间的关系的数据结构。图包括无向图和有向图。在计算机系统中,通常可以以数组(例如,二维数组)的形式来存储图。
例如,所述意图节点的内容包括原始语料和基于正则表达式生成的语料中的至少一个。所述原始语料指的是原始的语句,这种语句不需要在进行处理。此外,也可以利用正则表达式来生成所述意图节点的内容。正则表达式又称规则表达式(RegularExpression)。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
输出节点的内容是针对相应意图节点的返回结果。所述返回结果可以由机器自动设置。例如,通过人工智能对剧本进行分析,自动产生针对不同可能意图的返回结果。但是,在目前的情况下,所述返回结果可以是通过人工配置的回复内容。
例如,在用于实现基于剧本的对话的计算系统中,在存储器中以数组的形式存储所述有向图结构。
在这里,由于采用有向图结构来实现剧本流,因此,可以针对多个剧本进行处理。例如,还可以对多个剧本进行解析,以形成有向图结构的剧本流。所述剧本流可以涵盖多个剧本,即,包括多个剧本的剧本流(或剧本子流)。
在一个实施例中,所选择的第一意图节点分别与所述多个有向图结构中的至少两个第二输出节点相关联。在向用户输出输出节点的内容时,可以从所述至少两个第二输出节点选择一个第二输出节点;以及向用户输出所选择的第二输出节点的内容以及从第二输出节点通过有向边所连接的至少一个第二意图节点的内容。这里可以利用用户的个性化数据和/或历史数据对第二输出节点进行排序,以确定用户期望的第二输出节点。此外,也可以首先随机选择一个第二输出节点,并将它输出给用户。记录用户对该第二输出节点的操作,例如,用户针对与该第二输出节点关联的第二意图节点的操作。当该第二输出节点操作不是用户期望的输出节点时,可以在多个第二意图节点中提供一个第二意图节点,以供用户返回之前的第一输出节点及其相应的第一意图节点。此外,通过记录用户对该第二输出节点的操作,在下次用户选择所述所选择的第一意图节点时,可以排除不是用户期望的第二输出节点。
在这个实施例中,通过利用有向图结构的环状结构,可以实现剧本逻辑的重复/返回。相对于现有技术的树形逻辑,这种方式可以承载更多的应用场景,也可以自适应地学习用户的习惯,从而提供更加符合用户意图的输出结果。
在另一个实施例中,还可以记录与用户进行对话的历史对话记录,以基于历史对话记录,废弃多个剧本中的至少一个剧本。例如,历史对话记录用于记录N轮从输出第一输出节点的内容到输出至少一个第二意图节点的内容的对话数据。当n轮对话数据表明没有与用户意图匹配的意图节点时,废弃当前的剧本,其中n小于等于N。通过废弃某些剧本,可以简化有向图结构,避免向用户展现不符合用户意图的剧本。
此外,在某些起情况下,用户的意图可能发生改变。在这种情况下,还可以回收已经废弃的剧本。例如,当剧本的数量小于等于剧本阈值时,从所废弃的剧本中恢复至少一个剧本,供对话使用。
还可以对剧本流进行排序以选择适当的剧本与用户进行对话。例如,可以基于用户的个性化数据,对所述多个剧本流进行排序,以及基于所述排序,选择排序较高的剧本流。个性化数据例如可以是用户的历史对话记录、用户的偏好(诸如,历史剧本、现代剧本、言情剧本等等)。在这种情况下,在向用户输出第一输出节点的内容时,还可以基于所述排序较高的剧本,向用户输出第一输出节点的内容以及从第一输出节点通过有向边所连接的至少一个第一意图节点的内容。通过这种方式可以更好地满足用户的需求,提供更好的用户使用体验。
例如,可以在网络上的服务器或者可以在驻留在客户端设备上的服务器模块执行上述方法。
<设备>
本领域技术人员应当理解,在电子技术领域中,可以通过软件、硬件以及软件和硬件结合的方式,将上述方法体现在产品中。本领域技术人员很容易基于上面公开的方法,产生一种基于剧本的对话设备,包括用于执行根据上述实施例所述的方法中的步骤的装置。该对话设备例如包括业界通常所说的剧本引擎。所述剧本引擎例如可以以软件的形式存在,并被设置在通过网络连接的服务器上或被布置在诸如“云”的分布式系统中。此外,所述剧本引擎也可以是使用专门的硬件来实现的。专门的硬件可以是专门针对剧本引擎而设计的,并可以提高剧本引擎的运行效率。
此外,例如,根据本公开的技术方案可以通过诸如图1所述的通用的计算系统的电子设备来实现。例如,所述技术方案可以通过基于诸如C语言、Java语言所编写的程序来体现。所述程序的指令例如被存储在不可拆卸非易失性存储器1141或可拆卸非易失性存储器中,当计算系统运行时,所述指令被读取到系统存储器1130中,当所述指令被处理器1120运行时,所述指令使得处理器1120实现所述技术方案。
所述技术方案可以在一个计算装置中实现,也可以被分布在多个计算装置中。
因此,在这里,还可以实现一种用于基于剧本的对话的电子设备。该设备包括存储器和处理器,其中,所述存储器存储可执行指令,以及当由处理器执行所述可执行指令时,所述处理器执行根据上述实施例所述的方法中的步骤。例如,所述电子设备是服务器。
<另外的方法>
图3示出了根据本公开的另一个实施例的基于聊天剧本的对话方法的示意性流程图。
如图3所示,在步骤S2210,呈现第一输出节点的内容以及至少一个第一意图节点的内容,其中,第一输出节点和第一意图节点属于有向图结构的剧本流,所述有向图结构包括意图节点、输出节点和有向边并且包括至少一个环状结构,以及从第一输出节点通过有向边连接到所述第一意图节点。
例如,所述意图节点的内容表示进行对话的用户的可能意图,所述输出节点的内容表示针对用户的可能意图的返回结果。
在步骤S2220,接收用户对所述至少一个第一意图节点中的第一意图节点的选择。
在步骤S2230,向用户呈现基于所选择的第一意图节而从第一意图节点通过有向边所连接的第二输出节点的内容以及从第二输出节点通过有向边所连接的至少一个第二意图节点的内容。
例如,所述意图节点的内容包括原始语料和基于正则表达式生成的语料中的至少一个。
例如,所述输出节点的内容是通过人工配置的回复内容。
例如,所述所选择的第一意图节点分别与多个有向图结构的剧本流中的至少两个第二输出节点相关联。在这种情况下,可以向用户呈现至少两个第二输出节点的一个输出节点的内容以及从所呈现的第二输出节点通过有向边所连接的至少一个第二意图节点的内容。
例如,还可以记录与用户进行对话的历史对话记录。在这种情况下,可以基于历史对话记录,废弃多个剧本中的至少一个剧本。例如,所述历史对话记录用于记录N轮从输出第一输出节点的内容到输出至少一个第二意图节点的内容的对话数据,以及当n轮对话数据表明没有与用户意图匹配的意图节点时,废弃当前的剧本,其中n小于等于N。此外,例如,当剧本的数量小于等于剧本阈值时,可以从所废弃的剧本中恢复至少一个剧本,供对话使用。
例如,还可以记录用户的个性化数据,用于对所述多个剧本进行排序。在这种情况下,可以优先向用户呈现排序较高的剧本的剧本流的第一输出节点的内容以及至少一个第一意图节点的内容。
例如,可以在客户端设备上执行上述方法。
<另外的设备>
如前面所述,本领域技术人员很容易基于图3公开的方法,产生一种基于剧本的对话设备,包括用于执行根据上述实施例所述的方法中的步骤的装置。所述对话设备例如可以是客户端设备中的应用程序等等。
此外,还可以以图1所示的计算设备的方式来实现图3所示的方法。例如,还可以实现一种用于基于剧本的对话的终端电子设备,包括存储器和处理器,其中,所述存储器存储可执行指令,以及当由处理器执行所述可执行指令时,所述处理器执行根据图3所公开的实施例的方法中的步骤。例如,所述电子设备是台式电脑、笔记本电脑、平板电脑、智能手机、可穿戴设备等。
<例子>
图3是根据本发明的一个例子的有向图结构的示意图。通过图3可以帮助理解本公开的实施例的方案。
剧本可以转化成流的形式,即,剧本流。剧本流可以是一个有向图结构。如图3所示,该有向图结构包括意图节点3100、有向边3200和输出节点3300。在图3中,以方框表示意图节点3100,以矩形表示输出节点3300。意图节点3100表示用户的可能意图,例如,选择多个剧本中的某个剧本,选择多种可能结果中的某个结果,等等。
意图节点3100的表达方式可以有两种方式:一是,使用原始语料(句子)来表达;二是,通过正则表达式来表达。原始语料指的是原始的句子,例如,可以由一系列能够表达同一个意思的句子组成。例如,“是的”这个意图节点就可以包含如下原始语料:是的、没错、yes等。
正则表达式是具有关键词的模式。例如,“*男*”模式能够匹配到的用户询问包括:我是男的;我是男生;是男的;男生;男的等。通过正则表达式可以扩展剧本召回和触发的范围。因此,在本公开的基于有向图结构的对话方案中,采用正则表达式是有利的。
输出节点是当用户的输入符合前一个意图节点时,剧本系统(引擎)的返回结果。目前,可以通过人工方式来实现输出节点,即,输出节点的内容可以是由人工配置的回复。
在图1中还包括连接意图节点3100和输出节点3300的有向边3200。在这里,“意图节点到输出节点”的连接以及“输出节点到意图节点”的连接表达了两种不同的有向边。
如图1所示,单轮的对话过程是基于“意图-输出语料”的节点组合对(意图节点-输出节点对)的基本形式的。意图节点-输出节点对组成了单轮的对话。在每一轮操作中,显示根据上一轮的输出(输出节点)的候选的意图节点,用户选择期望的意图节点,接着显示基于该意图节点的输出节点的内容及其对应的下一轮意图节点。通过这种方式可以产生基于有向图的多轮交互。当满足意图节点时,则输出输出节点的内容(回复);在输出节点的下面可以配置多个意图节点。可以根据用户的不同的输入(选择)来匹配用户的意图意图,并根据用户的意图产生不同的输出。
例如,在图1中,“啤酒节”的输出节点对应三个意图节点:“没去过”、“去过”和“没听过”。
对于“没去过”,可以输出“哪好玩”。对于“哪好玩”,可以提供“随意”的意图选项。针对“随意”的意图选项,可以有两个输出,一是“长胖”,二是返回到“哪好玩”。
对于“去过”,可以输出“一起去”。对于“一起去”,可以提供两个意图选项:“好的”或“不好”。当用户选择“好的”时,可以输出“长胖”。当用户选择“不好”时,可以输出“自己去”。
对于“没听过”,可以输出“一起去”。对于“一起去”,可以提供三个意图选项:“随意”、“好的”或“不好”。当用户选择“随意”时,可以有两个输出,一是“长胖”,二是返回到“哪好玩”。当用户选择“好的”时,可以输出“长胖”。当用户选择“不好”时,可以输出“自己去”。
在图1中,如虚线圆圈3400所示,有向图结构包括环状结构。另外,图1中还包括其他环状结构,在这里不一一列举。在本公开的方案中,通过“边”来实现环状结构或者实现跳转等逻辑。相对于现有技术的树状结构的方案,本公开中的基于有向图结构的方案更加能够满足用户的需求。
图4是根据本发明的一个例子的存储结构的示意图。
这里公开的有向图结构可以被存储在存储器中。在图4中,剧本-1-1表示剧本1的第一轮意图(意图节点);剧本-1-2表示剧本1的第二轮意图(意图节点),以此类推。Var-1、Var-2、Var-3……表示每个剧本内部的动态变量。输出节点可以使用该动态变量,并通过正则表达式产生相应的输出内容。
在执行过程中,可以通过“意图匹配”->“回复输出”的形式,从意图节点到输出节点,再从输出节点到意图节点,循环处理,从而完成整个剧本。
在图4中,不同的剧本可以涉及不同的具体场景,例如:剧本1是“讲笑话”,剧本2是“玩游戏”,剧本3是“讲故事”等等。在这里可以将多个剧本统一使用。
利用有向图结构,可以使得与用户的对话更加灵活、方便。例如,单个剧本流可以按照有向图结构的顺序来执行。在同一时间,可以有多个剧本同时满足当前的用户的询问(需求),其中,每个剧本的阶段可以是不同的。此外,在剧本流的执行过程中,可以一次性实现“多跳”,即,针对单个询问,可以有多层意图的表达,即,可以列出多个意图。
在图4中还示出了“历史对话记录”和“个性数据”。
“历史对话记录”可以用于记录用户的历史对话情况。例如,在这里,可以利用“历史对话记录”淘汰某些剧本,从而减轻处理负荷,或者向用户提供更有针对性的内容。例如,“历史对话记录”记录N轮用户对话的情况。当n轮(n小于等于N)对话都没有匹配到用户的意图时,可以废弃当前的剧本(即,不再采用当前的剧本流)和/或当前的剧本不再作为候选剧本。
此外,还可以从已经废弃的剧本中补充候选剧本。例如,如果候选剧本数量不足(数量小于预定阈值),则可以通过召回的方式召回已经废弃的剧本,作为针对用户需求的候选剧本。
在这里,还可以记录用户的“个性化数据”。可以通过个性化数据对多个剧本进行排序。例如,用户可能阅读或浏览过历史剧本、现代剧本、言情剧本等。通过记录用户的阅读、浏览习惯,可以确定偏好,从而对对话系统中的剧本进行排序。例如,历史剧本的优先级较高,现代剧本的优先级较低,或者,用户更加喜欢“讲笑话”,其次是“玩游戏”,最后是“讲故事”。当有多个剧本同时满足当前的用户的询问(需求)时,可以优先向用户提供排序较高的剧本。
图5和6是根据本发明的一个例子的示意图。
在图5中,在第一输出节点输出内容4100。输出与第一输出节点对应的多个第一意图节点的内容4200。
例如,用户选择第一意图节点“宫女的逆袭”,则在图6中显示对应的第二输出节点5100及其相应的多个第二意图节点5200。通过这种方式,对话系统可以基于用户选择的剧本,与用户进行。
在这里,由于采用具有环状结构的有向图结构的剧本流,因此,可以支持更好的剧本表达能力。
本发明可以是设备、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。
Claims (24)
1.一种基于剧本的对话方法,包括:
对剧本进行解析,以形成有向图结构的剧本流,其中,所述有向图结构包括意图节点、输出节点和有向边并且包括至少一个环状结构,所述意图节点的内容表示进行对话的用户的可能意图,以及所述输出节点的内容表示针对用户的可能意图的返回结果;
基于所述剧本流,向用户输出第一输出节点的内容以及从第一输出节点通过有向边所连接的至少一个第一意图节点的内容;
接收用户对所述至少一个第一意图节点中的第一意图节点的选择;以及
基于所选择的第一意图节点,向用户输出从第一意图节点通过有向边所连接的第二输出节点的内容以及从第二输出节点通过有向边所连接的至少一个第二意图节点的内容。
2.根据权利要求1所述的方法,其中,所述意图节点的内容包括原始语料和基于正则表达式生成的语料中的至少一个。
3.根据权利要求1所述的方法,其中,所述输出节点的内容是通过人工配置的回复内容。
4.根据权利要求1所述的方法,其中,在存储器中以数组的形式存储所述有向图结构。
5.根据权利要求1所述的方法,其中,对剧本进行解析,以形成有向图结构的剧本流还包括:
对多个剧本进行解析,以形成有向图结构的剧本流。
6.根据权利要求5所述的方法,其中,所述所选择的第一意图节点分别与所述多个有向图结构中的至少两个第二输出节点相关联,以及
其中,基于所选择的第一意图节点,向用户输出从第一意图节点通过有向边所连接的第二输出节点的内容以及从第二输出节点通过有向边所连接的至少一个第二意图节点的内容还包括:
从所述至少两个第二输出节点选择一个第二输出节点;以及
向用户输出所选择的第二输出节点的内容以及从该第二输出节点通过有向边所连接的至少一个第二意图节点的内容。
7.根据权利要求5所述的方法,还包括:
记录与用户进行对话的历史对话记录;以及
基于历史对话记录,废弃多个剧本中的至少一个剧本。
8.根据权利要求7所述的方法,其中,历史对话记录用于记录 N 轮从输出第一输出节点的内容到输出至少一个第二意图节点的内容的对话数据,以及
其中,废弃多个剧本中的至少一个剧本还包括:
当 n轮对话数据表明没有与用户意图匹配的意图节点时,废弃当前的剧本,其中n 小于等于 N。
9.根据权利要求7所述的方法,还包括:
当剧本的数量小于等于剧本阈值时,从所废弃的剧本中恢复至少一个剧本,供对话使用。
10.根据权利要求5所述的方法,还包括:
基于用户的个性化数据,对所述多个剧本进行排序,以及
基于所述排序,选择排序较高的剧本;以及
其中,基于所述剧本流,向用户输出第一输出节点的内容以及从第一输出节点通过有向边所连接的至少一个第一意图节点的内容还包括:
基于所述排序较高的剧本的剧本流,向用户输出第一输出节点的内容以及从第一输出节点通过有向边所连接的至少一个第一意图节点的内容。
11.一种基于剧本的对话设备,包括用于执行根据权利要求1-10中的任何一项所述的方法中的步骤的装置。
12.一种用于基于剧本的对话的电子设备,包括存储器和处理器,其中,所述存储器存储可执行指令,以及当由处理器执行所述可执行指令时,所述处理器执行根据权利要求1-10中的任何一项所述的方法中的步骤。
13.根据权利要求12所述的电子设备,其中,所述电子设备是服务器。
14.一种基于剧本的聊天方法,包括:
呈现第一输出节点的内容以及至少一个第一意图节点的内容,其中,第一输出节点和第一意图节点属于有向图结构的剧本流,所述有向图结构包括意图节点、输出节点和有向边并且包括至少一个环状结构,以及从第一输出节点通过有向边连接到所述第一意图节点,所述意图节点的内容表示进行对话的用户的可能意图,所述输出节点的内容表示针对用户的可能意图的返回结果;
接收用户对所述至少一个第一意图节点中的第一意图节点的选择;以及
向用户呈现基于所选择的第一意图节点而从第一意图节点通过有向边所连接的第二输出节点的内容以及从第二输出节点通过有向边所连接的至少一个第二意图节点的内容。
15.根据权利要求14所述的方法,其中,所述意图节点的内容包括原始语料和基于正则表达式生成的语料中的至少一个。
16.根据权利要求14所述的方法,其中,所述输出节点的内容是通过人工配置的回复内容。
17.根据权利要求14所述的方法,其中,所述所选择的第一意图节点分别与多个有向图结构的剧本流中的至少两个第二输出节点相关联,以及
其中,向用户呈现基于所选择的第一意图节而从第一意图节点通过有向边所连接的第二输出节点的内容以及从第二输出节点通过有向边所连接的至少一个第二意图节点的内容还包括:
向用户呈现至少两个第二输出节点的一个输出节点的内容以及从所呈现的第二输出节点通过有向边所连接的至少一个第二意图节点的内容。
18.根据权利要求17所述的方法,还包括:
记录与用户进行对话的历史对话记录,
其中,基于历史对话记录,废弃多个剧本中的至少一个剧本。
19.根据权利要求18所述的方法,其中,所述历史对话记录用于记录 N 轮从输出第一输出节点的内容到输出至少一个第二意图节点的内容的对话数据,以及
其中,当 n轮对话数据表明没有与用户意图匹配的意图节点时,废弃当前的剧本,其中n 小于等于 N。
20.根据权利要求18所述的方法,还包括:
当剧本的数量小于等于剧本阈值时,从所废弃的剧本中恢复至少一个剧本,供对话使用。
21.根据权利要求17所述的方法,还包括:
记录用户的个性化数据,用于对所述多个剧本进行排序,以及
其中,呈现第一输出节点的内容以及至少一个第一意图节点的内容还包括:
优先向用户呈现排序较高的剧本的剧本流的第一输出节点的内容以及至少一个第一意图节点的内容。
22.一种基于剧本的终端对话设备,包括用于执行根据权利要求14-21中的任何一项所述的方法中的步骤的装置。
23.一种用于基于剧本的对话的终端电子设备,包括存储器和处理器,其中,所述存储器存储可执行指令,以及当由处理器执行所述可执行指令时,所述处理器执行根据权利要求14-21中的任何一项所述的方法中的步骤。
24.根据权利要求23所述的电子设备,其中,所述电子设备是台式电脑、笔记本电脑、平板电脑、智能手机和可穿戴设备中的一个。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910227295.9A CN111737408B (zh) | 2019-03-25 | 2019-03-25 | 基于剧本的对话方法、设备及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910227295.9A CN111737408B (zh) | 2019-03-25 | 2019-03-25 | 基于剧本的对话方法、设备及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111737408A CN111737408A (zh) | 2020-10-02 |
CN111737408B true CN111737408B (zh) | 2024-05-03 |
Family
ID=72646048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910227295.9A Active CN111737408B (zh) | 2019-03-25 | 2019-03-25 | 基于剧本的对话方法、设备及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111737408B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113268973B (zh) * | 2021-06-01 | 2021-11-16 | 北京太极华保科技股份有限公司 | 一种人机多轮对话方法及装置 |
CN113434665A (zh) * | 2021-07-22 | 2021-09-24 | 咪咕数字传媒有限公司 | 剧本创作的可视化处理方法、装置及设备 |
CN114722171B (zh) * | 2022-03-28 | 2023-10-24 | 北京百度网讯科技有限公司 | 多轮对话处理方法、装置、电子设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104871150A (zh) * | 2012-07-20 | 2015-08-26 | 韦韦欧股份有限公司 | 在对话交互系统中推断搜索输入中的用户意图的方法和系统 |
CN105659316A (zh) * | 2013-11-25 | 2016-06-08 | 三菱电机株式会社 | 对话控制装置和对话控制方法 |
CN107423363A (zh) * | 2017-06-22 | 2017-12-01 | 百度在线网络技术(北京)有限公司 | 基于人工智能的话术生成方法、装置、设备及存储介质 |
CN108108340A (zh) * | 2017-11-28 | 2018-06-01 | 北京光年无限科技有限公司 | 用于智能机器人的对话交互方法及系统 |
CN108701454A (zh) * | 2015-10-21 | 2018-10-23 | 谷歌有限责任公司 | 对话系统中的参数收集和自动对话生成 |
CN109002501A (zh) * | 2018-06-29 | 2018-12-14 | 北京百度网讯科技有限公司 | 用于处理自然语言对话的方法、装置、电子设备以及计算机可读存储介质 |
CN109408800A (zh) * | 2018-08-23 | 2019-03-01 | 优视科技(中国)有限公司 | 对话机器人系统及相关技能配置方法 |
WO2019046463A1 (en) * | 2017-08-29 | 2019-03-07 | Zhoa Tiancheng | SYSTEM AND METHOD FOR THE DEFINITION OF DIALOGUE INTENTIONS AND THE CONSTRUCTION OF INTENTION RECOGNITION MODELS WITHOUT PRIOR KNOWLEDGE |
CN109446307A (zh) * | 2018-10-16 | 2019-03-08 | 浪潮软件股份有限公司 | 一种实现智能对话中对话管理的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10078634B2 (en) * | 2015-12-30 | 2018-09-18 | International Business Machines Corporation | Visualizing and exploring natural-language text |
-
2019
- 2019-03-25 CN CN201910227295.9A patent/CN111737408B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104871150A (zh) * | 2012-07-20 | 2015-08-26 | 韦韦欧股份有限公司 | 在对话交互系统中推断搜索输入中的用户意图的方法和系统 |
CN105659316A (zh) * | 2013-11-25 | 2016-06-08 | 三菱电机株式会社 | 对话控制装置和对话控制方法 |
CN108701454A (zh) * | 2015-10-21 | 2018-10-23 | 谷歌有限责任公司 | 对话系统中的参数收集和自动对话生成 |
CN107423363A (zh) * | 2017-06-22 | 2017-12-01 | 百度在线网络技术(北京)有限公司 | 基于人工智能的话术生成方法、装置、设备及存储介质 |
WO2019046463A1 (en) * | 2017-08-29 | 2019-03-07 | Zhoa Tiancheng | SYSTEM AND METHOD FOR THE DEFINITION OF DIALOGUE INTENTIONS AND THE CONSTRUCTION OF INTENTION RECOGNITION MODELS WITHOUT PRIOR KNOWLEDGE |
CN108108340A (zh) * | 2017-11-28 | 2018-06-01 | 北京光年无限科技有限公司 | 用于智能机器人的对话交互方法及系统 |
CN109002501A (zh) * | 2018-06-29 | 2018-12-14 | 北京百度网讯科技有限公司 | 用于处理自然语言对话的方法、装置、电子设备以及计算机可读存储介质 |
CN109408800A (zh) * | 2018-08-23 | 2019-03-01 | 优视科技(中国)有限公司 | 对话机器人系统及相关技能配置方法 |
CN109446307A (zh) * | 2018-10-16 | 2019-03-08 | 浪潮软件股份有限公司 | 一种实现智能对话中对话管理的方法 |
Non-Patent Citations (1)
Title |
---|
基于意图的神经网络对话模型;陈振舜 等;桂林电子科技大学学报;20181031;第38卷(第5期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111737408A (zh) | 2020-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jain et al. | Evaluating and informing the design of chatbots | |
CN110222164B (zh) | 一种问答模型训练方法、问题语句处理方法、装置及存储介质 | |
CN111737408B (zh) | 基于剧本的对话方法、设备及电子设备 | |
Floridi | Web 2.0 vs. the semantic web: A philosophical assessment | |
US20210209164A1 (en) | Method, apparatus, and storage medium for recommending interactive information | |
JP2019003604A (ja) | ビデオベースの通信におけるコンテンツキュレーションのための方法、システム及びプログラム | |
US20220208155A1 (en) | Systems and methods for transforming digital audio content | |
JP7204801B2 (ja) | ニューラルネットワークに基づくマンマシンインタラクション方法、装置、及び媒体 | |
US20170161242A1 (en) | Targeted story summarization using natural language processing | |
Reitmaier et al. | Opportunities and challenges of automatic speech recognition systems for low-resource language speakers | |
US11276434B1 (en) | System and method for generating personalized video trailers | |
US11416539B2 (en) | Media selection based on content topic and sentiment | |
JP2023036574A (ja) | 対話推薦方法、モデルの訓練方法、装置、電子機器、記憶媒体ならびにコンピュータプログラム | |
Pichl et al. | Alquist 2.0: Alexa prize socialbot based on sub-dialogue models | |
US20230027035A1 (en) | Automated narrative production system and script production method with real-time interactive characters | |
CN109815482A (zh) | 一种新闻交互的方法、装置、设备和计算机存储介质 | |
US10248738B2 (en) | Structuring narrative blocks in a logical sequence | |
CN111723194A (zh) | 摘要生成方法、装置和设备 | |
Patil et al. | Athena 2.0: Discourse and user modeling in open domain dialogue | |
CN109800326B (zh) | 一种视频处理方法、装置、设备和存储介质 | |
Pedrero‐Esteban et al. | Ethical dilemmas in the personalization of news from voice interfaces | |
DeChant et al. | Learning to summarize and answer questions about a virtual robot’s past actions | |
CN116208824A (zh) | 标题生成方法、计算机设备、存储介质和计算机程序产品 | |
US20190384466A1 (en) | Linking comments to segments of a media presentation | |
WO2022177894A1 (en) | Systems and methods for transforming digital audio content |
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 |