一种信息处理方法和装置与流程

文档序号:26007468发布日期:2021-07-23 21:26阅读:83来源:国知局
一种信息处理方法和装置与流程

本发明涉及智能客服技术领域,尤其涉及一种信息处理方法和装置。



背景技术:

在智能客服对话系统建立过程中,系统开发方需要和业务使用方不断进行需求分析,定义会话流程。目前都是用文字说明或画流程图的形式来沟通,但每一类行业用户使用的语言习惯和画图方式都不太一样,沟通成本较高,效率也相对较低。



技术实现要素:

本发明一方面提供一种信息处理方法,所述方法包括:

获取第一信息,所述第一信息包括第一事件和处理所述第一事件的需求信息;

根据所述第一信息,至少确定所述第一事件对应的意图信息、槽信息和反馈信息;

分别对所述意图信息、槽信息和反馈信息配置对应的标注信息,所述标注信息用于表征信息类型;

至少将所配置的意图信息、槽信息和反馈信息根据设定规则进行排列,得到第二信息;

将所确定的第二信息发送给目标对象。

在一可实施方式中,所述分别对所述意图信息、槽信息和反馈信息配置对应的标注信息,包括:

预设多个不同类型的标注信息,所述多个不同类型至少包括意图类型和槽类型;

将所述标注信息根据类型映射于所述意图信息和槽信息。

在一可实施方式中,在根据所述第一信息,至少确定所述第一事件对应的意图信息、槽信息和反馈信息之后,所述方法还包括:

判断所述槽信息是否满足针对所述意图信息所设定的必要信息;

若判定否时,则基于所述槽信息反馈表征补充信息的提示信息。

在一可实施方式中,所述判断所述槽信息是否满足针对所述意图信息所设定的必要信息,包括:

至少将所述意图信息、槽信息输入于对话引擎进行试运行操作;

根据试运行结果是否满足预期,判断所述槽信息是否满足针对所述意图信息所设定的必要信息。

在一可实施方式中,所述方法还包括:

根据所述第一信息,确定所述第一事件对应的表征明确意图的操作信息;

相应的,对所述操作信息配置对应的标注信息;

将所配置的意图信息、槽信息、操作信息和反馈信息根据设定规则进行排列得到第二信息。

在一可实施方式中,所述第二信息为代码块,所述代码块包括意图模块、需求模块和反馈模块;

其中,所述意图模块包含至少一组所述需求模块和反馈模块,用于映射所述意图信息;

所述需求模块用于映射所述槽信息和操作信息;

所述反馈模块用于映射所述反馈信息。

在一可实施方式中,所述第二信息为结构流程图,所述结构流程图通过所述代码块转换得到,具体为:

根据所述代码块的意图模块,确定第一流程节点;

根据所述代码块的需求模块,确定第二流程节点;

根据所述代码块的反馈模块,确定第三流程节点;

若同一个所述意图信息下包含多组所述需求模块和反馈模块,则确定表征判断类型的中间流程节点;

连接所述第一流程节点、中间流程节点、第二流程节点第三流程节点,形成所述结构流程图。

在一可实施方式中,所述方法还包括:

基于所述第二信息,生成对话引擎可执行的第三信息。

在一可实施方式中,所述将所配置的意图信息、槽信息和反馈信息根据设定规则进行排列,得到第二信息,包括:

根据所述意图信息、槽信息和反馈信息之间的逻辑运行关系,配置相应的逻辑符号以及作相应的排序处理,以生成第二信息。

本发明另一方面提供一种信息处理装置,所述装置包括:

信息获取模块,用于获取第一信息,所述第一信息包括第一事件和处理所述第一事件的需求信息;

信息确定模块,用于根据所述第一信息,至少确定所述第一事件对应的意图信息、槽信息和反馈信息;

信息配置模块,用于分别对所述意图信息、槽信息和反馈信息配置对应的标注信息,所述标注信息用于表征信息类型;

信息排列模块,用于至少将所配置的意图信息、槽信息和反馈信息根据设定规则进行排列得到第二信息;

信息发送模块,用于将所确定的第二信息发送给目标对象。

在本发明实施例中,通过将原先未处理的信息经过意图信息、槽信息和反馈信息的提取,并且对意图信息、槽信息和反馈信息配置对应的标注信息,将配置后的意图信息、槽信息和反馈信息按照设定规则排列成第二信息,开发方可通过标注信息以及规则排序后的第二信息了解到业务方所想表达的内容,使得业务方和开发方即使在不同行业领域中也能高效率地沟通。

附图说明

通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:

在附图中,相同或对应的标号表示相同或对应的部分。

图1为本发明实施例一种信息处理方法的实现流程示意图;

图2为本发明实施例一种信息处理方法中第二信息为代码块的示意图;

图3为本发明实施例一种信息处理方法中第二信息为结构流程图的示意图;

图4为本发明实施例一种信息处理装置的结构组成示意图。

具体实施方式

为使本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明一方面提供一种信息处理方法,方法包括:

步骤101,获取第一信息,第一信息包括第一事件和处理第一事件的需求信息;

步骤102,根据第一信息,至少确定第一事件对应的意图信息、槽信息和反馈信息;

步骤103,分别对意图信息、槽信息和反馈信息配置对应的标注信息,标注信息用于表征信息类型;

步骤104,至少将所配置的意图信息、槽信息和反馈信息根据设定规则进行排列,得到第二信息;

步骤105,将所确定的第二信息发送给目标对象。

本实施例中,在步骤101中,第一信息一般为用户和智能客服之间的互动对话内容,该互动对话内容可以通过人工基于模拟互动场景自行撰写,也可以从智能客服与用户之间的历史对话日志中直接提取得到。

第一事件表示为第一信息所对应的互动类型或者互动主题,假设第一信息为“购买一张去往北京的儿童票,姓名xxx,身份证号码xxx,用户确认支付,反馈结果为购买儿童票成功”,那么该第一信息的互动主题为买卖车票。第一事件的判定方式可通过识别第一信息中的关键词得到,如识别到第一信息中如“儿童票”或者“车票”等车票相关的关键词,即可判定互动主题为买卖车票。当然第一事件也可以直接体现在第一信息中,如“买卖车票类型,购买一张去往北京的儿童票,姓名xxx,身份证号码xxx,用户确认支付,反馈结果为购买儿童票成功”,此第一事件的判定方式可以同样可以通过识别第一信息中的关键词得到。

处理第一事件的需求信息包括针对第一事件用户所需要提供的信息以及相应的反馈结果,例如第一事件为上述举例的车票买卖事件,则需求信息可能包括姓名、个人身份证号码、年龄、目的地等,反馈结果包括购买成功、购买失败等。

在步骤102中,在获取到第一信息之后,至少需要确定第一事件的意图信息、槽信息和反馈信息,其中意图信息为用户想表达的需求目的,例如针对上述举例的关于车票买卖的第一信息,其意图信息为购买车票,意图信息的确定方式具体可以为将第一信息输入于现有的意图识别模型(如基于规则模型,传统机器学习算法(svm),基于深度学习算法(cnn,lstm,rcnn,c-lstm,fasttext)模型等)进行意图识别,输出得到意图信息;槽信息为达成意图信息所需要的关键词信息,例如意图信息为购买车票,那么槽信息包括姓名、个人身份证号码、年龄、目的地等,槽信息的提取方式可以将第一信息进行命名实体识别、标签识别或者基于用户画像数据得到,其中命名实体识别指识别文本中具有特定意义的实体,如人名、机构名、地名等,具体可以是基于lstm+crf的深度学习模型或基于dilated-cnn的深度学习模型,具体应用时,利用上述深度学习模型对第一信息进行命名实体识别即可提取到第一信息中的槽信息;标签识别则需要事先在第一信息中对每个字词设置对应的标签,应用时,可通过识别所设置的标签提取槽信息;用户画像数据是真实用户的虚拟代表,是建立在一系列真实数据之上的目标用户模型,应用时,可从事先所设置的用户画像数据中提取针对于第一事件的槽信息。

反馈信息具体为针对所识别得到的意图信息和槽信息所作出的处理结果,如上述所举的购买车票事件中的购买成功。

在步骤103中,在获取到意图信息、槽信息和反馈信息之后,分别对意图信息、槽信息和反馈信息配置对应用于表征信息类型的标注信息。其中,具体配置方式可以是根据在步骤102时所确定的信息类型配置相应的标注信息,例如以上述买卖车票事件为例,若识别得到意图信息为“想要购买车票”,则对“想要购买车票”配置对应类型的标注信息如“intent”,配置后的结果为“intent(想要购买车票)”,槽信息和反馈信息的配置方式如同配置意图信息,槽信息最后所得到的配置结果可以为“slot(姓名xxx)”、“slot(身份证号码xxx)”等等,反馈信息最后所得到的配置结果可以为result(购买成功)。

在步骤104中,至少将所配置的意图信息、槽信息和反馈信息根据设定规则进行排列,得到第二信息;其中,设定规则具体可以是按照所配置的意图信息、槽信息和反馈信息之间的逻辑运行关系进行排列,逻辑运行关系排列可参考图2所示,图2中所示的为由意图信息intent(want_to_buy_ticket)、槽信息slot(user_name)等和反馈信息result(child_ticket_success)等所排列组成的结构化信息,图2中,意图信息为位于头部的代码块,多个槽信息位于头部代码块内且共同合并成一个代码块expect,表示在同一意图信息下所需要的关键词信息,需要说明的是,同一个意图信息下可以同时存在多个expect代码块,每个expect代码块中包含不同的槽信息,反馈信息则表示在同一意图信息以及槽信息下的处理结果信息。由此,通过图2所示的结构化信息可清晰表示出第一信息中包含一个意图信息、在该意图信息下存有一组或者多组槽信息、针对每组槽信息的反馈信息。

在步骤105中,将所生成的第二信息发送给目标对象,其中目标对象具体可以是一台终端设备,也可以是服务器,系统开发方可通过终端设备或者服务器查看第二信息。

由此,通过将原先未处理的信息经过意图信息、槽信息和反馈信息的提取,并且对意图信息、槽信息和反馈信息配置对应的标注信息,将配置后的意图信息、槽信息和反馈信息按照设定规则排列成第二信息,开发方可通过标注信息以及规则排序后的第二信息了解到业务方所想表达的内容,使得业务方和开发方即使在不同行业领域中也能高效率地沟通。

在一可实施方式中,分别对意图信息、槽信息和反馈信息配置对应的标注信息,包括:

预设多个不同类型的标注信息,多个不同类型至少包括意图类型和槽类型;

将标注信息根据类型映射于意图信息和槽信息。

本实施例中,步骤102的具体过程为:

预设多个不同类型的标注信息,其中预设的标注信息类型包括意图类型(参考图2中的intent)、槽类型(参考图2中的slot)、反馈类型(参考图2中的result)等等。

在确定第一信息中的意图信息、槽信息和反馈信息之后,将意图信息与意图类型的标注信息匹配并相互映射(参考图2中的intent(want_to_buy_ticket))、将槽信息与槽类型的标注信息匹配并相互映射、槽信息(参考图2中的slot(user_name))、将反馈信息与反馈类型的标注信息匹配并相互映射(参考图2中的result(child_ticket_success)。

在一可实施方式中,根据第一信息,至少确定第一事件对应的意图信息、槽信息和反馈信息之后,方法还包括:

判断槽信息是否满足针对意图信息所设定的必要信息;

若判定否时,则基于槽信息反馈表征补充信息的提示信息。

本实施例中,针对于每种第一事件类型,可事先设置对应的槽信息,例如针对买卖车票事件,所需的槽信息可设定为姓名、年龄、身份证号码、目的地、乘车时间等。

在步骤102之后,判断槽信息是否满足针对意图信息所设定的必要信息,其中必要信息即为上述所提到的预先设置的槽信息,判断是否满足可以是判断所确定的槽信息是否包含所设定的必要信息,也可以是所确定的槽信息数量与必要信息数量之差是否在预设阈值之内。

若判定槽信息未满足针对意图信息所设定的必要信息,说明业务方向开发方提供的信息量不足,则基于槽信息反馈表征补充信息的提示信息,例如例如针对买卖车票事件,在步骤102中所确定的槽信息中缺失了姓名,则可基于缺失的槽信息进行反馈,以提示需要补充槽信息,例如“您缺少了关键的姓名信息,请补充”。

在一可实施方式中,判断槽信息是否满足针对意图信息所设定的必要信息,包括:

至少将意图信息、槽信息输入于对话引擎进行试运行操作;

根据试运行结果是否满足预期,判断槽信息是否满足针对意图信息所设定的必要信息。

本实施例中,判断槽信息是否满足的具体过程为:

将当前所确定的意图信息、槽信息输入到现有的对话引擎进行尝试性地运行,若对话引擎能根据当前的意图信息和槽信息反馈精准的答案,说明当前所确定的槽信息已经足以满足查询条件,则判定槽信息满足针对意图信息所设定的必要信息,反之若对话引擎根据当前的意图信息和槽信息反馈多种答案或者无法反馈答案,说明当前所确定的槽信息不足以满足查询条件,则判定槽信息不满足针对意图信息所设定的必要信息。

在一可实施方式中,方法还包括:

根据第一信息,确定第一事件对应的表征明确意图的操作信息;

相应的,对操作信息配置对应的标注信息;

将所配置的意图信息、槽信息、操作信息和反馈信息根据设定规则进行排列得到第二信息。

本实施例中,除了上述确定意图信息、槽信息和反馈信息之外,还从第一信息中提取表征明确意图的操作信息,操作信息可表示用户点击按钮、图标、链接等交互动作,仍以第一信息“购买一张去往北京的儿童票,姓名xxx,身份证号码xxx,用户确认支付,反馈结果为购买儿童票成功”为例,其中该第一信息的意图信息为购买车票,对应的操作信息即为第一信息中的“用户确认支付”。操作信息的提取方式也同样可以标签识别或者用户画像数据识别,这两种识别方式与提取槽信息的方式一致,此处不再重复阐述。

在提取到操作信息之后,同样对操作信息配置对应的标注信息,标注信息参考图2中的action,配置后的操作信息可表示为action(btn_confirm_pay)。操作信息的配置方式与槽信息、意图信息的配置方式相同,此处不重复阐述。

在生成第二信息时,在原先的意图信息、槽信息和反馈信息的基础上新增操作信息,并根据上述四个信息按照设定规则进行排列得到第二信息。

在一可实施方式中,第二信息为代码块,代码块包括意图模块、需求模块和反馈模块;

其中,意图模块包含至少一组需求模块和反馈模块,用于映射意图信息;

需求模块用于映射槽信息和操作信息;

反馈模块用于映射反馈信息。

本实施例中,第二信息可以以代码块的形式展现,具体可以是scfl(structurechatbotflowlanguage)语言代码,参考图2所示,意图模块具体为intent(xxx){}所形成的代码块,用于映射意图信息,需求模块具体为expect{}所形成的代码块,用于映射槽信息和操作信息,反馈模块具体为result()所形成的代码块,用于映射反馈信息。其中需求模块和反馈模块均位于意图模块内,以表示在该意图下所需要的需求信息以及处理结果信息。

进一步地,需求模块除了映射槽信息和反馈信息之外,还可以包括操作信息。

进一步地,同一个意图信息可以同时包括多组需求模块和反馈模块,图2中表示了同一意图信息(购买车票)下包括了两种需求,第一种是年龄小于12岁时的需求信息和相应的反馈信息,第二种是年龄大于12岁时的需求信息和相应的反馈信息。

在一可实施方式中,第二信息为结构流程图,结构流程图通过代码块转换得到,具体为:

根据代码块的意图模块,确定第一流程节点;

根据代码块的需求模块,确定第二流程节点;

根据代码块的反馈模块,确定第三流程节点;

若同一个意图信息下包含多组需求模块和反馈模块,则确定表征判断类型的中间流程节点;

连接第一流程节点、中间流程节点、第二流程节点第三流程节点,形成结构流程图。

本实施例中,结构流程图可参考图3所示,流程节点的确认方式可以是判断代码块中是否存在意图模块、需求模块或反馈模块,若存在,则获取对应的流程节点。每个不同的流程节点对应着不同的样式,如图3中,第一流程节点以矩形表示,第二流程节点以圆角矩形表示,第三流程节点以梯形表示,需要说明的,流程节点的样式不仅限于图3所示。

除了上述第一流程节点、第二流程节点、第三流程节点和中间流程节点之外,还进一步包括确认流程节点,该确认流程节点对应于上述所提到的操作信息,必要时还可以包括多个相同的流程节点,如图3中包含了两个第二流程节点。

以上各个流程节点的连接方式存在多种,以图3为例,其连接方式可以为通过箭头从上至下第一流程节点、第二流程节点、中间流程节点、第二流程节点、确认流程节点和第三流程节点,图3的流程逻辑为:首先确定用户的意图信息(want_to_buy_ticket),基于该意图信息确定必要的槽信息(user_name,user_age),基于具有非固定属性的槽信息进行多情况判断(user_age<=12,user_age>12),在每种情况下用户确认意图的情况下执行第三流程节点。需要说明的是,流程节点的连接方式不仅限于图3的连接方式,各个流程节点可互相调换。

在一可实施方式中,方法还包括:

基于第二信息,生成对话引擎可执行的第三信息。

本实施例中,第三信息具体为对话引擎可直接使用的信息,如槽信息、意图信息等。第三信息可以通过代码块提取得到,也可以通过结构流程图提取得到,其中代码块的提取可以是解析代码块中的标注信息如intent、slot等,再基于标注信息即可获取到对应的信息;结构流程图的提取可以是判断流程图中各个节点的图样或者事先预设的标注,基于判断结果获取对应的信息。通过此步骤可快速获取到对话引擎可直接运行的数据,以快速生成原型系统。

在一可实施方式中,分别对意图信息、槽信息和反馈信息配置对应的标注信息,标注信息用于表征信息类型;将所配置的意图信息、槽信息和反馈信息根据设定规则进行排列,得到第二信息,包括:

根据意图信息、槽信息和反馈信息之间的逻辑运行关系,配置相应的逻辑符号以及作相应的排序处理,以生成第二信息。

本实施例中,第二信息的具体生成过程为:

以最终生成的第二信息为代码块为例,一般理解,意图信息、槽信息和反馈信息逻辑运行顺序为意图信息、槽信息和反馈信息,以表示在一个总的意图信息下包含对应的一组或者多组槽信息和反馈信息。

参考图2所示,配置时,首先配置意图信息,具体为在意图信息的左侧增设表示其为意图的逻辑符号,例如intent{},按照逻辑运行顺序,接着配置一组或者多组槽信息和反馈信息,针对每组槽信息均增设一个表示在同一意图信息下所需要的其中一种需求信息的逻辑符号,如expect[],每个槽信息的左侧也相应的增设一个表示其为槽信息的逻辑符号,如slot,进一步地,针对于具有非固定属性值的槽信息如user_age,需要在slot{}代码块中写明非固定属性值的槽信息的其中一种可能性如图2中的user_age<=12,以表示当前需求信息为在user_age<=12情况下的信息,进一步地,在需求信息代码块中还可以增加操作信息,以表示在当前槽信息下确认意图,同样在操作信息左侧增设一个表示其为操作信息的逻辑符号,如acttion(),反馈信息位于意图信息代码块内并且位于需求信息的下方,以表示在同一意图信息下针对上述需求信息所给出的处理结果,同样也在其左侧增设一个表示其为反馈信息的逻辑符号,如result()。

若有多组槽信息和反馈信息,可位于前一需求信息代码块下方,以表示另一种需求信息,各个信息的逻辑符号生成方式与上述同理。通过将多组槽信息和反馈信息以上下排列的方式,可将多个关联的分支流程拆分为单个独立的流程数据定义,避免分支逻辑判断互相干扰,便于查看、演示。

如图4所示,本发明另一方面提供一种信息处理装置,装置包括:

信息获取模块201,用于获取第一信息,第一信息包括第一事件和处理第一事件的需求信息;

信息确定模块202,用于根据第一信息,至少确定第一事件对应的意图信息、槽信息和反馈信息;

信息配置模块203,用于分别对意图信息、槽信息和反馈信息配置对应的标注信息,标注信息用于表征信息类型;

信息排列模块204,用于至少将所配置的意图信息、槽信息和反馈信息根据设定规则进行排列得到第二信息;

信息发送模块205,用于将所确定的第二信息发送给目标对象。

本实施例中,在信息获取模块201中,第一信息一般为用户和智能客服之间的互动对话内容,该互动对话内容可以通过人工基于模拟互动场景自行撰写,也可以从智能客服与用户之间的历史对话日志中直接提取得到。

第一事件表示为第一信息所对应的互动类型或者互动主题,假设第一信息为“购买一张去往北京的儿童票,姓名xxx,身份证号码xxx,用户确认支付,反馈结果为购买儿童票成功”,那么该第一信息的互动主题为买卖车票。第一事件的判定方式可通过识别第一信息中的关键词得到,如识别到第一信息中如“儿童票”或者“车票”等车票相关的关键词,即可判定互动主题为买卖车票。当然第一事件也可以直接体现在第一信息中,如“买卖车票类型,购买一张去往北京的儿童票,姓名xxx,身份证号码xxx,用户确认支付,反馈结果为购买儿童票成功”,此第一事件的判定方式可以同样可以通过识别第一信息中的关键词得到。

处理第一事件的需求信息包括针对第一事件用户所需要提供的信息以及相应的反馈结果,例如第一事件为上述举例的车票买卖事件,则需求信息可能包括姓名、个人身份证号码、年龄、目的地等,反馈结果包括购买成功、购买失败等。

在信息确定模块202中,在获取到第一信息之后,至少需要确定第一事件的意图信息、槽信息和反馈信息,其中意图信息为用户想表达的需求目的,例如针对上述举例的关于车票买卖的第一信息,其意图信息为购买车票,意图信息的确定方式具体可以为将第一信息输入于现有的意图识别模型(如基于规则模型,传统机器学习算法(svm),基于深度学习算法(cnn,lstm,rcnn,c-lstm,fasttext)模型等)进行意图识别,输出得到意图信息;槽信息为达成意图信息所需要的关键词信息,例如意图信息为购买车票,那么槽信息包括姓名、个人身份证号码、年龄、目的地等,槽信息的提取方式可以将第一信息进行命名实体识别、标签识别或者基于用户画像数据得到,其中命名实体识别指识别文本中具有特定意义的实体,如人名、机构名、地名等,具体可以是基于lstm+crf的深度学习模型或基于dilated-cnn的深度学习模型,具体应用时,利用上述深度学习模型对第一信息进行命名实体识别即可提取到第一信息中的槽信息;标签识别则需要事先在第一信息中对每个字词设置对应的标签,应用时,可通过识别所设置的标签提取槽信息;用户画像数据是真实用户的虚拟代表,是建立在一系列真实数据之上的目标用户模型,应用时,可从事先所设置的用户画像数据中提取针对于第一事件的槽信息。

反馈信息具体为针对所识别得到的意图信息和槽信息所作出的处理结果,如上述所举的购买车票事件中的购买成功。

在信息配置模块203中,在获取到意图信息、槽信息和反馈信息之后,分别对意图信息、槽信息和反馈信息配置对应用于表征信息类型的标注信息。其中,具体配置方式可以是根据在信息确定模块202时所确定的信息类型配置相应的标注信息,例如以上述买卖车票事件为例,若识别得到意图信息为“想要购买车票”,则对“想要购买车票”配置对应类型的标注信息如“intent”,配置后的结果为“intent(想要购买车票)”,槽信息和反馈信息的配置方式如同配置意图信息,槽信息最后所得到的配置结果可以为“slot(姓名xxx)”、“slot(身份证号码xxx)”等等,反馈信息最后所得到的配置结果可以为result(购买成功)。

在信息排列模块204中,至少将所配置的意图信息、槽信息和反馈信息根据设定规则进行排列,得到第二信息;其中,设定规则具体可以是按照所配置的意图信息、槽信息和反馈信息之间的逻辑运行关系进行排列,逻辑运行关系排列可参考图2所示,图2中所示的为由意图信息intent(want_to_buy_ticket)、槽信息slot(user_name)等和反馈信息result(child_ticket_success)等所排列组成的结构化信息,图2中,意图信息为位于头部的代码块,多个槽信息位于头部代码块内且共同合并成一个代码块expect,表示在同一意图信息下所需要的关键词信息,需要说明的是,同一个意图信息下可以同时存在多个expect代码块,每个expect代码块中包含不同的槽信息,反馈信息则表示在同一意图信息以及槽信息下的处理结果信息。由此,通过图2所示的结构化信息可清晰表示出第一信息中包含一个意图信息、在该意图信息下存有一组或者多组槽信息、针对每组槽信息的反馈信息。

在信息发送模块205中,将所生成的第二信息发送给目标对象,其中目标对象具体可以是一台终端设备,也可以是服务器,系统开发方可通过终端设备或者服务器查看第二信息。

由此,通过将原先未处理的信息经过意图信息、槽信息和反馈信息的提取,并且对意图信息、槽信息和反馈信息配置对应的标注信息,将配置后的意图信息、槽信息和反馈信息按照设定规则排列成第二信息,开发方可通过标注信息以及规则排序后的第二信息了解到业务方所想表达的内容,使得业务方和开发方即使在不同行业领域中也能高效率地沟通。

在一可实施方式中,信息配置模块203,具体用于:

预设多个不同类型的标注信息,多个不同类型至少包括意图类型和槽类型;

将标注信息根据类型映射于意图信息和槽信息。

本实施例中,执行信息配置模块203的具体过程为:

预设多个不同类型的标注信息,其中预设的标注信息类型包括意图类型(参考图2中的intent)、槽类型(参考图2中的slot)、反馈类型(参考图2中的result)等等。

在确定第一信息中的意图信息、槽信息和反馈信息之后,将意图信息与意图类型的标注信息匹配并相互映射(参考图2中的intent(want_to_buy_ticket))、将槽信息与槽类型的标注信息匹配并相互映射、槽信息(参考图2中的slot(user_name))、将反馈信息与反馈类型的标注信息匹配并相互映射(参考图2中的result(child_ticket_success)。

在一可实施方式中,信息确定模块202在执行根据第一信息,至少确定第一事件对应的意图信息、槽信息和反馈信息之后,还具体用于:

判断槽信息是否满足针对意图信息所设定的必要信息;

若判定否时,则基于槽信息反馈表征补充信息的提示信息。

本实施例中,针对于每种第一事件类型,可事先设置对应的槽信息,例如针对买卖车票事件,所需的槽信息可设定为姓名、年龄、身份证号码、目的地、乘车时间等。

在执行信息确定模块202之后,判断槽信息是否满足针对意图信息所设定的必要信息,其中必要信息即为上述所提到的预先设置的槽信息,判断是否满足可以是判断所确定的槽信息是否包含所设定的必要信息,也可以是所确定的槽信息数量与必要信息数量之差是否在预设阈值之内。

若判定槽信息未满足针对意图信息所设定的必要信息,说明业务方向开发方提供的信息量不足,则基于槽信息反馈表征补充信息的提示信息,例如例如针对买卖车票事件,在执行信息确定模块202中所确定的槽信息中缺失了姓名,则可基于缺失的槽信息进行反馈,以提示需要补充槽信息,例如“您缺少了关键的姓名信息,请补充”。

在一可实施方式中,信息确定模块202在判断槽信息是否满足针对意图信息所设定的必要信息,具体用于:

至少将意图信息、槽信息输入于对话引擎进行试运行操作;

根据试运行结果是否满足预期,判断槽信息是否满足针对意图信息所设定的必要信息。

本实施例中,判断槽信息是否满足的具体过程为:

将当前所确定的意图信息、槽信息输入到现有的对话引擎进行尝试性地运行,若对话引擎能根据当前的意图信息和槽信息反馈精准的答案,说明当前所确定的槽信息已经足以满足查询条件,则判定槽信息满足针对意图信息所设定的必要信息,反之若对话引擎根据当前的意图信息和槽信息反馈多种答案或者无法反馈答案,说明当前所确定的槽信息不足以满足查询条件,则判定槽信息不满足针对意图信息所设定的必要信息。

在一可实施方式中,信息确定模块202还具体用于:

根据第一信息,确定第一事件对应的表征明确意图的操作信息;

相应的,信息配置模块203对操作信息配置对应的标注信息时,具体用于;

将所配置的意图信息、槽信息、操作信息和反馈信息根据设定规则进行排列得到第二信息。

本实施例中,除了上述确定意图信息、槽信息和反馈信息之外,还从第一信息中提取表征明确意图的操作信息,操作信息可仍以第一信息“购买一张去往北京的儿童票,姓名xxx,身份证号码xxx,用户确认支付,反馈结果为购买儿童票成功”为例,其中该第一信息的意图信息为购买车票,对应的操作信息即为第一信息中的“用户确认支付”。操作信息的提取方式也同样可以标签识别或者用户画像数据识别,这两种识别方式与提取槽信息的方式一致,此处不再重复阐述。

在提取到操作信息之后,同样对操作信息配置对应的标注信息,标注信息参考图2中的action,配置后的操作信息可表示为action(btn_confirm_pay)。操作信息的配置方式与槽信息、意图信息的配置方式相同,此处不重复阐述。

在生成第二信息时,在原先的意图信息、槽信息和反馈信息的基础上新增操作信息,并根据上述四个信息按照设定规则进行排列得到第二信息。

在一可实施方式中,第二信息为代码块,代码块包括意图模块、需求模块和反馈模块;

其中,意图模块包含至少一组需求模块和反馈模块,用于映射意图信息;

需求模块用于映射槽信息和操作信息;

反馈模块用于映射反馈信息。

本实施例中,第二信息可以以代码块的形式展现,参考图2所示,意图模块具体为intent(xxx){}所形成的代码块,用于映射意图信息,需求模块具体为expect{}所形成的代码块,用于映射槽信息和操作信息,反馈模块具体为result()所形成的代码块,用于映射反馈信息。其中需求模块和反馈模块均位于意图模块内,以表示在该意图下所需要的需求信息以及处理结果信息。

进一步地,需求模块除了映射槽信息和反馈信息之外,还可以包括操作信息。

进一步地,同一个意图信息可以同时包括多组需求模块和反馈模块,图2中表示了同一意图信息(购买车票)下包括了两种需求,第一种是年龄小于12岁时的需求信息和相应的反馈信息,第二种是年龄大于12岁时的需求信息和相应的反馈信息。

在一可实施方式中,第二信息为结构流程图,结构流程图通过代码块转换得到,具体为:

根据代码块的意图模块,确定第一流程节点;

根据代码块的需求模块,确定第二流程节点;

根据代码块的反馈模块,确定第三流程节点;

若同一个意图信息下包含多组需求模块和反馈模块,则确定表征判断类型的中间流程节点;

连接第一流程节点、中间流程节点、第二流程节点第三流程节点,形成结构流程图。

本实施例中,结构流程图可参考图3所示,流程节点的确认方式可以是判断代码块中是否存在意图模块、需求模块或反馈模块,若存在,则获取对应的流程节点。每个不同的流程节点对应着不同的样式,如图3中,第一流程节点以矩形表示,第二流程节点以圆角矩形表示,第三流程节点以梯形表示,需要说明的,流程节点的样式不仅限于图3所示。

除了上述第一流程节点、第二流程节点、第三流程节点和中间流程节点之外,还进一步包括确认流程节点,该确认流程节点对应于上述所提到的操作信息,必要时还可以包括多个相同的流程节点,如图3中包含了两个第二流程节点。

以上各个流程节点的连接方式存在多种,以图3为例,其连接方式可以为通过箭头从上至下第一流程节点、第二流程节点、中间流程节点、第二流程节点、确认流程节点和第三流程节点,图3的流程逻辑为:首先确定用户的意图信息(want_to_buy_ticket),基于该意图信息确定必要的槽信息(user_name,user_age),基于具有非固定属性的槽信息进行多情况判断(user_age<=12,user_age>12),在每种情况下用户确认意图的情况下执行第三流程节点。需要说明的是,流程节点的连接方式不仅限于图3的连接方式,各个流程节点可互相调换。

通过将代码生成结构流程图,可使开发方能更加直观地了解信息内容。

在一可实施方式中,信息排列模块204还具体用于:

基于第二信息,生成对话引擎可执行的第三信息。

本实施例中,第三信息具体为对话引擎可直接使用的信息,如槽信息、意图信息等。第三信息可以通过代码块提取得到,也可以通过结构流程图提取得到,其中代码块的提取可以是解析代码块中的标注信息如intent、slot等,再基于标注信息即可获取到对应的信息;结构流程图的提取可以是判断流程图中各个节点的图样或者事先预设的标注,基于判断结果获取对应的信息。通过此步骤可快速获取到对话引擎可直接运行的数据,以快速生成原型系统。

在一可实施方式中,信息排列模块204具体用于:

根据意图信息、槽信息和反馈信息之间的逻辑运行关系,配置相应的逻辑符号以及作相应的排序处理,以生成第二信息。

本实施例中,第二信息的具体生成过程为:

以最终生成的第二信息为代码块为例,一般理解,意图信息、槽信息和反馈信息逻辑运行顺序为意图信息、槽信息和反馈信息,以表示在一个总的意图信息下包含对应的一组或者多组槽信息和反馈信息。

参考图2所示,配置时,首先配置意图信息,具体为在意图信息的左侧增设表示其为意图的逻辑符号,例如intent{},按照逻辑运行顺序,接着配置一组或者多组槽信息和反馈信息,针对每组槽信息均增设一个表示在同一意图信息下所需要的其中一种需求信息的逻辑符号,如expect[],每个槽信息的左侧也相应的增设一个表示其为槽信息的逻辑符号,如slot,进一步地,针对于具有非固定属性值的槽信息如user_age,需要在slot{}代码块中写明非固定属性值的槽信息的其中一种可能性如图2中的user_age<=12,以表示当前需求信息为在user_age<=12情况下的信息,进一步地,在需求信息代码块中还可以增加操作信息,以表示在当前槽信息下确认意图,同样在操作信息左侧增设一个表示其为操作信息的逻辑符号,如acttion(),反馈信息位于意图信息代码块内并且位于需求信息的下方,以表示在同一意图信息下针对上述需求信息所给出的处理结果,同样也在其左侧增设一个表示其为反馈信息的逻辑符号,如result()。

若有多组槽信息和反馈信息,可位于前一需求信息代码块下方,以表示另一种需求信息,各个信息的逻辑符号生成方式与上述同理。通过将多组槽信息和反馈信息以上下排列的方式,可将多个关联的分支流程拆分为单个独立的流程数据定义,避免分支逻辑判断互相干扰,便于查看、演示。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1