首页 / 专利库 / 人工智能 / 对话语料库 / 用于人机交互的人机多轮对话方法及系统、智能设备

用于人机交互的人机多轮对话方法及系统、智能设备

阅读:670发布:2020-05-19

专利汇可以提供用于人机交互的人机多轮对话方法及系统、智能设备专利检索,专利查询,专利分析的服务。并且本 发明 涉及用于 人机交互 的人机多轮对话方法及系统、智能设备,该方法包括:步骤S1:建立用户 对话行为 信息的知识图谱;步骤S2:根据用户当前输入的信息,在所述知识图谱中确定出与所述当前输入的信息对应的 节点 和该节点的 子节点 ;步骤S3:根据所述知识图谱的历史查询记录中所述节点被查询的次数以及所述子节点和所述节点同时被查询的次数,计算所述子节点相对于所述节点的支持度;以及步骤S4:通过判断所述支持度与预设支持度 阈值 的大小关系,确定是否输出所述子节点的语义信息。,下面是用于人机交互的人机多轮对话方法及系统、智能设备专利的具体信息内容。

1.一种用于人机交互的人机多轮对话方法,其包括如下步骤:
步骤S1:建立用户对话行为信息的知识图谱;
步骤S2:根据用户当前输入的信息,在所述知识图谱中确定出与所述当前输入的信息对应的节点和该节点的子节点
步骤S3:根据所述知识图谱的历史查询记录中所述节点被查询的次数以及所述子节点和所述节点同时被查询的次数,计算所述子节点相对于所述节点的支持度;以及步骤S4:通过判断所述支持度与预设支持度阈值的大小关系,确定是否输出所述子节点的语义信息。
2.根据权利要求1所述的方法,其特征在于,在步骤S3中,
通过计算所述子节点和所述节点同时被查询的次数与所述节点被查询的次数的比值,得到所述支持度。
3.根据权利要求1所述的方法,其特征在于,在步骤S4中,
判断所述支持度是否大于预设支持度阈值:
若所述支持度大于所述预设支持度阈值,则在输出所述节点的语义信息的同时,输出所述子节点的语义信息;
否则只输出所述节点的语义信息。
4.根据权利要求1所述的方法,其特征在于,在步骤S4中,
判断所述支持度是否大于预设支持度阈值:
若所述支持度大于所述预设支持度阈值,则形成包含所有所述支持度大于所述预设支持度阈值的子节点的频繁集,并在输出所述节点的语义信息的同时,按照所述支持度从大到小的顺序依次输出所述频繁集中的每个子节点的语义信息;
否则只输出所述节点的语义信息。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
步骤S5:根据用户实时输入的信息,实时更新所述知识图谱。
6.根据权利要求5所述的方法,其特征在于,步骤S5包括:
步骤S51:采集用户实时输入的信息,并形成结构化数据;
步骤S52:对所述结构化数据进行实体识别和命名,并在所述知识图谱中形成与所述用户实时输入的信息对应的新的节点;
步骤S53:从预置的文本语料库中抽取所述新的节点与所述知识图谱中原有的节点之间的关系数据;以及
步骤S54:对所述新的节点与所述原有的节点进行相似度计算和匹配,并结合所述关系数据,以形成节点-关系-节点和节点-属性-属性值的结构。
7.一种用于人机交互的人机多轮对话系统,所述系统包括:
知识图谱建立模,其用于建立用户对话行为信息的知识图谱;
索引模块,其用于:根据用户当前输入的信息,在所述知识图谱中确定出与所述当前输入的信息对应的节点和该节点的子节点;
计算模块,其用于:根据所述知识图谱的历史查询记录中所述节点被查询的次数以及所述子节点和所述节点同时被查询的次数,计算所述子节点相对于所述节点的支持度;以及
判断模块,其用于通过判断所述支持度与预设支持度阈值的大小关系,确定是否输出所述子节点的语义信息。
8.根据权利要求7所述的系统,其特征在于,根据所述知识图谱的历史查询记录中所述节点被查询的次数以及所述子节点和所述节点同时被查询的次数,计算所述子节点相对于所述节点的支持度,包括:
通过计算所述子节点和所述节点同时被查询的次数与所述节点被查询的次数的比值,得到所述支持度。
9.根据权利要求7所述的系统,其特征在于,所述系统还包括:
知识图谱更新模块,其用于根据用户实时输入的信息,实时更新所述知识图谱。
10.一种智能设备,包括:
处理器;以及
存储器,其上存储有可执行代码,所述可执行代码在被所述处理器执行时,使所述处理器执行根据权利要求1至6中任一项所述的用于人机交互的人机多轮对话方法。

说明书全文

用于人机交互的人机多轮对话方法及系统、智能设备

技术领域

[0001] 本发明涉及人机交互技术领域,尤其涉及一种用于人机交互的人机多轮对话方法及系统、智能设备。

背景技术

[0002] 随着智能家居和智能家电的快速发展,语音交互逐渐成为智能家居和智能家电的标配。然而,虽然当前语音交互实现了基本的任务型交互,满足了指令控制,但是在多维度对话理解以及智能应答过程中,依旧存在不智能的状态,造成语音交互体验差。
[0003] 从人与人对话失败的度来看,其中原因往往是双方缺少共同的认知背景。即使在功能性对话中,形式与内容也有可能是不准确的,需要修复才可以回到正确的轨道上。对话是基于一种原则协同互动行为,对话的参与方在丰富而微妙的语境下创造并认同语言的表意。虽然当前人机交互能够通过多轮对话,上下文关联,实现用户意图识别,但多轮对话会造成交互体验差。因此,机器与人之间进行语音交互,需要对机器建立认知背景,以了解用户所要表达的含义,进而减少人机交互多轮对话,达到智能交互的效果。

发明内容

[0004] 本发明所要解决的技术问题是克服目前智能设备需要多轮对话才能理解用户意图,造成语音交互体验差的问题。
[0005] 为了解决上述技术问题,本发明提供了一种用于人机交互的人机多轮对话方法,所述方法包括如下步骤:
[0006] 步骤S1:建立用户对话行为信息的知识图谱;
[0007] 步骤S2:根据用户当前输入的信息,在所述知识图谱中确定出与所述当前输入的信息对应的节点和该节点的子节点
[0008] 步骤S3:根据所述知识图谱的历史查询记录中所述节点被查询的次数以及所述子节点和所述节点同时被查询的次数,计算所述子节点相对于所述节点的支持度;以及[0009] 步骤S4:通过判断所述支持度与预设支持度阈值的大小关系,确定是否输出所述子节点的语义信息。
[0010] 优选地,在步骤S3中,通过计算所述子节点和所述节点同时被查询的次数与所述节点被查询的次数的比值,得到所述支持度。
[0011] 在一实施例中,在步骤S4中,
[0012] 判断所述支持度是否大于预设支持度阈值:若所述支持度大于所述预设支持度阈值,则在输出所述节点的语义信息的同时,输出所述子节点的语义信息;否则只输出所述节点的语义信息。
[0013] 在另一实施例中,在步骤S4中,
[0014] 判断所述支持度是否大于预设支持度阈值:若所述支持度大于所述预设支持度阈值,则形成包含所有所述支持度大于所述预设支持度阈值的子节点的频繁集,并在输出所述节点的语义信息的同时,按照所述支持度从大到小的顺序依次输出所述频繁集中的每个子节点的语义信息;否则只输出所述节点的语义信息。
[0015] 优选地,所述方法还包括:
[0016] 步骤S5:根据用户实时输入的信息,实时更新所述知识图谱。
[0017] 优选地,步骤S5包括:
[0018] 步骤S51:采集用户实时输入的信息,并形成结构化数据;
[0019] 步骤S52:对所述结构化数据进行实体识别和命名,并在所述知识图谱中形成与所述用户实时输入的信息对应的新的节点;
[0020] 步骤S53:从预置的文本语料库中抽取所述新的节点与所述知识图谱中原有的节点之间的关系数据;以及
[0021] 步骤S54:对所述新的节点与所述原有的节点进行相似度计算和匹配,并结合所述关系数据,以形成节点-关系-节点和节点-属性-属性值的结构。
[0022] 根据本发明的一个方面,提供了一种用于人机交互的人机多轮对话系统,所述系统包括:
[0023] 知识图谱建立模,其用于建立用户对话行为信息的知识图谱;
[0024] 索引模块,其用于:根据用户当前输入的信息,在所述知识图谱中确定出与所述当前输入的信息对应的节点和该节点的子节点;
[0025] 计算模块,根据所述知识图谱的历史查询记录中所述节点被查询的次数以及所述子节点和所述节点同时被查询的次数,计算所述子节点相对于所述节点的支持度;以及[0026] 判断模块,其用于通过判断所述支持度与预设支持度阈值的大小关系,确定是否输出所述子节点的语义信息。
[0027] 优选地,根据所述知识图谱的历史查询记录中所述节点被查询的次数以及所述子节点和所述节点同时被查询的次数,计算所述子节点相对于所述节点的支持度,包括:通过计算所述子节点和所述节点同时被查询的次数与所述节点被查询的次数的比值,得到所述支持度。
[0028] 优选地,所述系统还包括:
[0029] 知识图谱更新模块,其用于根据用户实时输入的信息,实时更新所述知识图谱。
[0030] 根据本发明的另一个方面,提供了一种智能设备,包括:
[0031] 处理器;以及
[0032] 存储器,其上存储有可执行代码,所述可执行代码在被所述处理器执行时,使所述处理器执行上述的用于人机交互的人机多轮对话方法。
[0033] 与现有技术相比,上述方案中的一个或多个实施例可以具有如下优点或有益效果:
[0034] 应用本发明实施例提供的用于人机交互的人机多轮对话方法及系统、智能设备,机器不需要通过多轮语音对话来进行了解用户意图,提高了用户语音交互的体验。
[0035] 本发明的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及说明书附图中所特别指出的结构来实现和获得。

附图说明

[0036] 附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。
[0037] 图1为根据本发明实施例一的用于人机交互的人机多轮对话方法的流程图
[0038] 图2示意性示出了根据本发明实施例的步骤S1建立的用户对话行为信息的知识图谱。
[0039] 图3为根据本发明实施例的用于人机交互的人机多轮对话方法的步骤S1的流程图。
[0040] 图4为根据本发明实施例二的用于人机交互的人机多轮对话方法的流程图。
[0041] 图5为根据本发明实施例二的用于人机交互的人机多轮对话方法的步骤S5的流程图。
[0042] 图6示意性示出了根据本发明实施例三的用于人机交互的人机多轮对话系统。

具体实施方式

[0043] 以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
[0044] 人与人之间对话过程中,重要的信息不一定通过对话获取,对话本身所包含的信息也只是占传递信息量的一小部分,更多信息的信息来源于说话人的信息,当前的时间或者地点等一系列场景信息。当前由于机器对用户缺少认知,需要通过多轮对话实现更多信息的获取,从而补充用户的意图。
[0045] 为了解决现有技术中智能设备需要多轮对话才能理解用户,造成语音交互体验差的技术问题,本发明实施例提供了一种用于人机交互的人机多轮对话方法及系统、智能设备。
[0046] 实施例一
[0047] 图1为根据本发明实施例一的用于人机交互的人机多轮对话方法的流程图。如图1所示,该方法包括如下步骤:
[0048] 步骤S1:建立用户对话行为信息的知识图谱;
[0049] 步骤S2:根据用户当前输入的信息,在所述知识图谱中确定出与所述当前输入的信息对应的节点和该节点的子节点;
[0050] 步骤S3:根据所述知识图谱的历史查询记录中所述节点被查询的次数以及所述子节点和所述节点同时被查询的次数,计算所述子节点相对于所述节点的支持度;以及[0051] 步骤S4:通过判断所述支持度与预设支持度阈值的大小关系,确定是否输出所述子节点的语义信息。
[0052] 在步骤S1中,建立用户对话行为信息的知识图谱。首先,需要说明的是,该知识图谱可以是专只针对于某一用户的,即对于每个用户都建立一个专门只针对于该用户的知识图谱,但也可以是多名用户共用一个知识图谱,本发明不限于此。
[0053] 为了便于理解与说明,下面以一个用户为例进行说明。
[0054] 图2示意性示出了根据本发明实施例的步骤S1建立的用户对话行为信息的知识图谱。如图2所示,在步骤S1中,针对于某一用户,建立了针对该名用户对话行为信息的知识图谱。建立的知识图谱包括节点、子节点、属性和属性值以及节点与节点之间的关系、节点-属性-属性值之间的关系。
[0055] 例如,节点包括地点节点、信息节点和使用场景节点。例如,信息节点又可以分为时间节点、兴趣节点、性别节点、年龄节点和社会特征节点中的至少一种或多种。其中,以使用场景节点为例,它的子节点包括天气节点、音乐节点和故事节点等。天气节点的子节点又可以包括交通状态节点和防护设施节点等。在本发明实施例中,对于知识图谱中的每个节点和每个子节点,均将频次作为每个节点和每个子节点的一个属性,对应地,将频次值(具体数值,例如5次)作为每个节点和每个子节点的一个属性值。其中,频次值指的是在知识图谱的历史查询记录中该节点或该子节点被查询的次数。
[0056] 图3为根据本发明实施例的用于人机交互的人机多轮对话方法的步骤S1的流程图。在步骤S1中,知识图谱可以是在基本图谱模板框架基础上,由用户前期多次训练而建立。如图3所示,具体过程如下:
[0057] 步骤S11:建立包含基本节点以及关系的基本图谱模板框架;
[0058] 步骤S12:采集用户训练时输入的信息,并形成结构化数据;
[0059] 步骤S13:对所述结构化数据进行实体识别和命名,并在所述知识图谱中形成与所述用户输入的信息对应的新的节点;
[0060] 步骤S14:从预置的文本语料库中抽取所述新的节点与所述知识图谱中原有的节点之间的关系数据;以及
[0061] 步骤S15:对所述新的节点与所述原有的节点进行相似度计算和匹配,并结合所述关系数据,以形成节点-关系-节点和节点-属性-属性值的结构。
[0062] 具体地,在步骤S11中,由开发人员根据大众用户的普遍需求建立包含基本节点以及关系的基本图谱模板框架。例如,目前用户均比较关心天气、交通和新闻等信息,这时,就可以把天气、交通和新闻作为基本节点形成在基本图谱模板框架之中。再例如,一般用户都是先询问天气,再询问交通,这时,就可以把交通状态节点作为天气节点的子节点。在本发明实施例中,将频次作为基本图谱模板框架中节点和子节点的一个属性,对应地,将频次值作为基本图谱模板框架中节点和子节点的一个属性值。
[0063] 因用户的询问信息可能因人而异,所以步骤S11所建立的基本图谱模板框架很可能无法专门满足某一用户,所以这时就需要对基本图谱模板框架进行训练,以得到专门针对于某一名用户的知识图谱。
[0064] 具体地,在步骤S12中,采集用户训练时输入的信息,运用自顶向下构建的方式,形成结构化数据。其中,所形成的结构化数据为由二维表结构来逻辑表达的数据,有着严格的格式和长度规范。例如,用户输入的语义信息为“需要打伞吗?”,这时,经过自顶向下构建的方式,所形成的结构化数据可以为“打伞”。
[0065] 接下来,执行步骤S13:实体识别。在步骤S13中,对结构化数据进行实体识别和命名,并在知识图谱中形成与用户输入的信息对应的新的节点。具体地,基于步骤S12得到的结构化数据,利用服务器日志进行搜索,搜索出该结构化数据对应的语义特征,以识别该结构化数据,并对其进行命名。比如,对于结构化数据“打伞”,根据服务器日志搜索的结果,识别出“打伞”为动作,并将其命名为“动作,打伞”。然后,在知识图谱中生成新的节点“动作,打伞”。
[0066] 接下来,执行步骤S14:关系抽取。在步骤S14中,从预置的文本语料库中抽取新的节点与知识图谱中原有的节点之间的关系数据。其中,原有的节点指的是在形成“动作,打伞”这个新的节点之前,知识图谱中已存在的节点。优选地,在该步骤S14中,利用语义规则模式匹配的方法进行关系抽取。
[0067] 接下来,执行步骤S15:知识融合。本步骤知识融合的目的在于:消除歧义,以便于节点与节点进行融合。具体地,依次将新的节点与原有的节点进行相似度计算,在这过程中,包括:对象对齐、实体匹配和实体同义处理。经过上述处理过程,就可以确定新的节点是否可以融合到原有的节点之中。例如,经过相似度计算和匹配,确定出新的节点“动作,打伞”和原有的节点“天气”节点相关,则将新的节点“动作,打伞”与“天气”节点相融合,并且在删除新的节点“动作,打伞”的同时,令“天气”节点的属性频次的属性值(频次值)加1。另外,如果新的节点与原有的节点不相关,则在知识图谱中保留该新的节点,并令新的节点的属性频次的属性值(频次值)加1。然后,结合步骤S14得到的关系数据,形成节点-关系-节点和节点-属性-属性值的结构。在实际中,这两种结构也可以被称为实体-关系-实体和实体-属性-属性值的结构。
[0068] 由此,在基本图谱模板框架的基础上,通过用户前期的训练,得到专门针对该用户对话行为信息的知识图谱。在前期的交互过程中,给予用户相关意图的补充,如用户说“今天天气怎么样?”,机器会问“请问你要查哪个城市的天气”,来补充用户的意图,并将用户对话信息中的意图更新到知识图谱的节点或者节点的属性值之中,以建立该名用户对话行为信息的知识图谱。
[0069] 在知识图谱建立之后,接下来执行步骤S2至步骤S4。
[0070] 在步骤S2中,根据用户当前输入的信息,在知识图谱中确定出与当前输入的信息对应的节点和该节点的子节点。如图2所示,以天气节点为例,如果用户问“今天天气怎么样?”,通过语义分析得到用户想要查询“天气”,则在知识图谱中确定出天气节点和天气节点的子节点,并选定天气节点下的属性(例如频次),遍历子节点如防护措施、交通状态和穿衣搭配等形成集合,并读取出节点和子节点的属性值(频次值)作为项。
[0071] 接下来,执行步骤S3:根据知识图谱的历史查询记录中节点被查询的次数以及子节点和节点同时被查询的次数,计算子节点相对于节点的支持度。具体地,参见表1。
[0072] 表1
[0073]请求序号 天气A 防护措施B 交通状态C 穿衣搭配D
1 1 0 1 0
2 1 1 1 0
3 1 1 0 1
[0074] 如表1所示,在知识图谱中,用户每次请求记作一次事务,每次事务记录涉及的节点,其中1为该次事务涉及问答,0为该次事务不涉及的问答。以天气节点A为例,它的子节点包括:防护措施B、交通状态C和穿衣搭配D。例如,在知识图谱的历史查询记录中,天气节点A总共被查询了三次,即频次值为3,而穿衣搭配D只在请求序号为3时被查询过一次,即穿衣搭配D与天气节点A同时被查询的频次值为1。现在来计算穿衣搭配D相对于天气节点A之间的支持度,可依据以下方式:通过计算子节点和节点同时被查询的次数与节点被查询的次数的比值,得到支持度。即,
[0075] 求穿衣搭配D相对于天气节点A的支持度(以下简称穿衣搭配D的支持度)为:
[0076] 支持度P=A与D同时出现的事务/总的事务=1/3=33%,
[0077] 穿衣搭配D相对于天气节点A的支持度为:P=P(A&D)/P(A)=1/3=33%。
[0078] 通过上述计算,得到穿衣搭配D的支持度为33%。需要说明的是,A与D同时出现的事务即穿衣搭配D与天气节点A同时被查询(在天气节点A被查询时,穿衣搭配D也被查询,例如表1中请求序号3所示的情况)的频次值,总的事务即天气节点A被查询的频次值。
[0079] 依照上述同样的方式,依次计算出防护措施B相对于天气节点A的支持度(以下简称防护措施B的支持度),交通状态C相对于天气节点A的支持度(以下简称交通状态C的支持度)。根据表1所示的内容,经过计算得出防护措施B的支持度为66%,交通状态C的支持度为66%。
[0080] 在计算完各子节点的支持度之后,接下来,执行步骤S4:通过判断所述支持度与预设支持度阈值的大小关系,以确定所要输出的信息。在步骤S4中,判断支持度是否大于预设支持度阈值:若支持度大于预设支持度阈值,则在输出节点的语义信息的同时,输出子节点的语义信息;否则只输出节点的语义信息。
[0081] 优选地,在本发明实施例中,预设支持度阈值设为50%。当然,预设支持度阈值的大小可根据实际情况灵活设定,本发明不限于此。
[0082] 通过判断,穿衣搭配D的支持度小于预设支持度阈值50%,则不输出穿衣搭配D的语义信息;而防护措施B的支持度和交通状态C的支持度均大于预设支持度阈值50%,则在输出天气节点的语义信息的同时,输出子节点防护措施B和子节点交通状态C的语义信息,例如机器会输出“广州天气晴,紫外线强,请适当使用防晒霜,华南快线处理拥堵状态”这些信息。另外,如果所有子节点的支持度均不大于预设支持度阈值50%,则只输出天气节点的语义信息,即机器只会输出“广州天气晴”。
[0083] 作为一种更优的实施方式,步骤S4除了上述方式之外,还可以通过以下方式执行:判断支持度是否大于预设支持度阈值:若支持度大于所述预设支持度阈值,则形成包含所有支持度大于预设支持度阈值的子节点的频繁集,并在输出节点的语义信息的同时,按照支持度从大到小的顺序依次输出频繁集中的每个子节点的语义信息;否则只输出节点的语义信息。
[0084] 具体地,当支持度与预设支持度阈值大小关系判断完成后,将所有支持度大于预设支持度阈值的子节点形成一个频繁集,例如频繁集包括防护措施B和交通状态C,接下来在输出天气节点的语义信息的同时,按照支持度从大到小的顺序依次输出频繁集中的防护措施B和交通状态C的语义信息。
[0085] 为了避免输出的语音信息的时间过长,影响用户的交互体验。优选地,在本发明实施例中,通过设定在输出节点的语义信息的同时,只输出频繁集中支持度最高的前三位的子节点的语义信息。
[0086] 综上所述,应用本发明实施例一提供的用于人机交互的人机多轮对话的方法,机器不需要通过多轮语音对话来进行了解用户意图,提高了用户语音交互的体验。
[0087] 实施例二
[0088] 图4为根据本发明实施例二的用于人机交互的人机多轮对话方法的流程图。与实施例一不同的是,实施例二提供的用于人机交互的人机多轮对话方法能够实时地更新知识图谱。如图4所示,该方法包括如下步骤:
[0089] 步骤S1:建立用户对话行为信息的知识图谱;
[0090] 步骤S2:根据用户当前输入的信息,在所述知识图谱中确定出与所述当前输入的信息对应的节点和该节点的子节点;
[0091] 步骤S3:根据所述知识图谱的历史查询记录中所述节点被查询的次数以及所述子节点和所述节点同时被查询的次数,计算所述子节点相对于所述节点的支持度;
[0092] 步骤S4:通过判断所述支持度与预设支持度阈值的大小关系,确定是否输出所述子节点的语义信息;以及
[0093] 步骤S5:根据用户实时输入的信息,实时更新所述知识图谱。
[0094] 在步骤S1中,建立用户对话行为信息的知识图谱。首先,需要说明的是,该知识图谱可以是专门只针对于某一用户的,即对于每个用户都建立一个专门只针对于该用户的知识图谱,但也可以是多名用户共用一个知识图谱,本发明不限于此。
[0095] 为了便于理解与说明,下面以一个用户为例进行说明。
[0096] 图2示意性示出了根据本发明实施例的步骤S1建立的用户对话行为信息的知识图谱。如图2所示,在步骤S1中,针对于某一用户,建立了针对该名用户对话行为信息的知识图谱。建立的知识图谱包括节点、子节点、属性和属性值以及节点与节点之间的关系、节点-属性-属性值之间的关系。
[0097] 例如,节点包括地点节点、信息节点和使用场景节点。例如,信息节点又可以分为时间节点、兴趣节点、性别节点、年龄节点和社会特征节点中的至少一种或多种。其中,以使用场景节点为例,它的子节点包括天气节点、音乐节点和故事节点等。天气节点的子节点又可以包括交通状态节点和防护设施节点等。在本发明实施例中,对于知识图谱中的每个节点和每个子节点,均将频次作为每个节点和每个子节点的一个属性,对应地,将频次值(具体数值,例如5次)作为每个节点和每个子节点的一个属性值。其中,频次值指的是在知识图谱的历史查询记录中该节点或该子节点被查询的次数。
[0098] 图3为根据本发明实施例的用于人机交互的人机多轮对话方法的步骤S1的流程图。在步骤S1中,知识图谱可以是在基本图谱模板框架的基础上,由用户前期多次训练而建立。如图3所示,具体过程如下:
[0099] 步骤S11:建立包含基本节点以及关系的基本图谱模板框架;
[0100] 步骤S12:采集用户训练时输入的信息,并形成结构化数据;
[0101] 步骤S13:对所述结构化数据进行实体识别和命名,并在所述知识图谱中形成与所述用户输入的信息对应的新的节点;
[0102] 步骤S14:从预置的文本语料库中抽取所述新的节点与所述知识图谱中原有的节点之间的关系数据;以及
[0103] 步骤S15:对所述新的节点与所述原有的节点进行相似度计算和匹配,并结合所述关系数据,以形成节点-关系-节点和节点-属性-属性值的结构。
[0104] 具体地,在步骤S11中,由开发人员根据大众用户的普遍需求建立包含基本节点以及关系的基本图谱模板框架。例如,目前用户均比较关心天气、交通和新闻等信息,这时,就可以把天气、交通和新闻作为基本节点形成在基本图谱模板框架之中。再例如,一般用户都是先询问天气,再询问交通,这时,就可以把交通状态节点作为天气节点的子节点。在本发明实施例中,将频次作为基本图谱模板框架中节点和子节点的一个属性,对应地,将频次值作为基本图谱模板框架中节点和子节点的一个属性值。
[0105] 因用户的询问信息可能因人而异,所以步骤S11所建立的基本图谱模板框架很可能无法专门满足某一用户,所以这时就需要对基本图谱模板框架进行训练,以得到专门针对于某一名用户的知识图谱。
[0106] 具体地,在步骤S12中,采集用户训练时输入的信息,运用自顶向下构建的方式,形成结构化数据。其中,所形成的结构化数据为由二维表结构来逻辑表达的数据,有着严格的格式和长度规范。例如,用户输入的语义信息为“需要打伞吗?”,这时,经过自顶向下构建的方式,所形成的结构化数据可以为“打伞”。
[0107] 接下来,执行步骤S13:实体识别。在步骤S13中,对结构化数据进行实体识别和命名,并在知识图谱中形成与用户输入的信息对应的新的节点。具体地,基于步骤S12得到的结构化数据,利用服务器日志进行搜索,搜索出该结构化数据对应的语义特征,以识别该结构化数据,并对其进行命名。比如,对于结构化数据“打伞”,根据服务器日志搜索的结果,识别出“打伞”为动作,并将其命名为“动作,打伞”。然后,在知识图谱中生成新的节点“动作,打伞”。
[0108] 接下来,执行步骤S14:关系抽取。在步骤S14中,从预置的文本语料库中抽取新的节点与知识图谱中原有的节点之间的关系数据。其中,原有的节点指的是在形成“动作,打伞”这个新的节点之前,知识图谱中已存在的节点。优选地,在该步骤S14中,利用语义规则模式匹配的方法进行关系抽取。
[0109] 接下来,执行步骤S15:知识融合。本步骤知识融合的目的在于:消除歧义,以便于节点与节点进行融合。具体地,依次将新的节点与原有的节点进行相似度计算,在这过程中,包括:对象对齐、实体匹配和实体同义处理。经过上述处理过程,就可以确定新的节点是否可以融合到原有的节点之中。例如,经过相似度计算和匹配,确定出新的节点“动作,打伞”和原有的节点“天气”节点相关,则将新的节点“动作,打伞”与“天气”节点相融合,并且在删除新的节点“动作,打伞”的同时,令“天气”节点的属性频次的属性值(频次值)加1。另外,如果新的节点与原有的节点不相关,则在知识图谱中保留该新的节点,并令新的节点的属性频次的属性值(频次值)加1。然后,结合步骤S14得到的关系数据,形成节点-关系-节点和节点-属性-属性值的结构。在实际中,这两种结构也可以被称为实体-关系-实体和实体-属性-属性值的结构。
[0110] 由此,在基本图谱模板框架的基础上,通过用户前期的训练,得到专门针对该用户对话行为信息的知识图谱。在前期的交互过程中,给予用户相关意图的补充,如用户说“今天天气怎么样?”,机器会问“请问你要查哪个城市的天气”,来补充用户的意图,并将用户对话信息中的意图更新到知识图谱的节点或者节点的属性值之中,以建立该名用户对话行为信息的知识图谱。
[0111] 在知识图谱建立之后,接下来执行步骤S2至步骤S4。
[0112] 在步骤S2中,根据用户当前输入的信息,在知识图谱中确定出与当前输入的信息对应的节点和该节点的子节点。如图2所示,以天气节点为例,如果用户问“今天天气怎么样?”,通过语义分析得到用户想要查询“天气”,则在知识图谱中确定出天气节点和天气节点的子节点,并选定天气节点下的属性(例如频次),遍历子节点如防护措施、交通状态和穿衣搭配等形成集合,并读取出节点和子节点的属性值(频次值)作为项。
[0113] 接下来,执行步骤S3:根据知识图谱的历史查询记录中节点被查询的次数以及子节点和节点同时被查询的次数,计算子节点相对于节点的支持度。具体地,参见表1。
[0114] 表1
[0115]请求序号 天气A 防护措施B 交通状态C 穿衣搭配D
1 1 0 1 0
2 1 1 1 0
3 1 1 0 1
[0116] 如表1所示,在知识图谱中,用户每次请求记作一次事务,每次事务记录涉及的节点,其中1为该次事务涉及问答,0为该次事务不涉及的问答。以天气节点A为例,它的子节点包括:防护措施B、交通状态C和穿衣搭配D。例如,在知识图谱的历史查询记录中,天气节点A总共被查询了三次,即频次值为3,而穿衣搭配D只在请求序号为3时被查询过一次,即穿衣搭配D与天气节点A同时被查询的频次值为1。现在来计算穿衣搭配D相对于天气节点A之间的支持度,可依据以下方式:通过计算子节点和节点同时被查询的次数与节点被查询的次数的比值,得到支持度。即,
[0117] 求穿衣搭配D相对于天气节点A的支持度(以下简称穿衣搭配D的支持度)为:
[0118] 支持度P=A与D同时出现的事务/总的事务=1/3=33%,
[0119] 穿衣搭配D相对于天气节点A的支持度为:P=P(A&D)/P(A)=1/3=33%。
[0120] 通过上述计算,得到穿衣搭配D的支持度为33%。需要说明的是,A与D同时出现的事务即穿衣搭配D与天气节点A同时被查询(在天气节点A被查询时,穿衣搭配D也被查询,例如表1中请求序号3所示的情况)的频次值,总的事务即天气节点A被查询的频次值。
[0121] 依照上述同样的方式,依次计算出防护措施B相对于天气节点A的支持度(以下简称防护措施B的支持度),交通状态C相对于天气节点A的支持度(以下简称交通状态C的支持度)。根据表1所示的内容,经过计算得出防护措施B的支持度为66%,交通状态C的支持度为66%。
[0122] 在计算完各子节点的支持度之后,接下来,执行步骤S4:通过判断所述支持度与预设支持度阈值的大小关系,以确定所要输出的信息。在步骤S4中,判断支持度是否大于预设支持度阈值:若支持度大于预设支持度阈值,则在输出节点的语义信息的同时,输出子节点的语义信息;否则只输出节点的语义信息。
[0123] 优选地,在本发明实施例中,预设支持度阈值设为50%。当然,预设支持度阈值的大小可根据实际情况灵活设定,本发明不限于此。
[0124] 通过判断,穿衣搭配D的支持度小于预设支持度阈值50%,则不输出穿衣搭配D的语义信息;而防护措施B的支持度和交通状态C的支持度均大于预设支持度阈值50%,则在输出天气节点的语义信息的同时,输出子节点防护措施B和子节点交通状态C的语义信息,例如机器会输出“广州天气晴,紫外线强,请适当使用防晒霜,华南快线处理拥堵状态”这些信息。另外,如果所有子节点的支持度均不大于预设支持度阈值50%,则只输出天气节点的语义信息,即机器只会输出“广州天气晴”。
[0125] 作为一种更优的实施方式,步骤S4除了上述方式之外,还可以通过以下方式执行:判断支持度是否大于预设支持度阈值:若支持度大于所述预设支持度阈值,则形成包含所有支持度大于预设支持度阈值的子节点的频繁集,并在输出节点的语义信息的同时,按照支持度从大到小的顺序依次输出频繁集中的每个子节点的语义信息;否则只输出节点的语义信息。
[0126] 具体地,当支持度与预设支持度阈值大小关系判断完成后,将所有支持度大于预设支持度阈值的子节点形成一个频繁集,例如频繁集包括防护措施B和交通状态C,接下来在输出天气节点的语义信息的同时,按照支持度从大到小的顺序依次输出频繁集中的防护措施B和交通状态C的语义信息。
[0127] 为了避免输出的语音信息的时间过长,影响用户的交互体验。优选地,在本发明实施例中,通过设定在输出节点的语义信息的同时,只输出频繁集中支持度最高的前三位的子节点的语义信息。
[0128] 另外,为了使得建立的知识图谱能够实时更新,实施例二在实施例一的用于人机交互的人机多轮对话方法的基础上,增加了步骤S5:根据用户实时输入的信息,实时更新所述知识图谱。即在知识图谱建立完成后,或者说在用户前期训练完成后,为了使得知识图谱能够随用户的兴趣或询问意图实时更新,提高用户的交互体验,本发明实施例二根据用户实时输入的信息,实时更新知识图谱。
[0129] 图5为根据本发明实施例二的用于人机交互的人机多轮对话方法的步骤S5的流程图。如图5所示,步骤S5包括:
[0130] 步骤S51:采集用户实时输入的信息,并形成结构化数据;
[0131] 步骤S52:对所述结构化数据进行实体识别和命名,并在所述知识图谱中形成与所述用户实时输入的信息对应的新的节点;
[0132] 步骤S53:从预置的文本语料库中抽取所述新的节点与所述知识图谱中原有的节点之间的关系数据;以及
[0133] 步骤S54:对所述新的节点与所述原有的节点进行相似度计算和匹配,并结合所述关系数据,以形成节点-关系-节点和节点-属性-属性值的结构。
[0134] 在步骤S51中,采集用户实时输入的信息,运用自顶向下构建的方式,形成结构化数据。其中,所形成的结构化数据为由二维表结构来逻辑表达的数据,有着严格的格式和长度规范。例如,用户输入的语义信息为“需要带伞吗?”,这时,经过自顶向下构建的方式,所形成的结构化数据可以为“带伞”。
[0135] 接下来,执行步骤S52:实体识别。在步骤S52中,对结构化数据进行实体识别和命名,并在知识图谱中形成与用户输入的信息对应的新的节点。具体地,基于步骤S51得到的结构化数据,利用服务器日志进行搜索,搜索出该结构化数据对应的语义特征,以识别该结构化数据,并对其进行命名。比如,对于结构化数据“带伞”,根据服务器日志搜索的结果,识别出“带伞”为动作,并将其命名为“动作,带伞”。然后,在知识图谱中生成新的节点“动作,带伞”。
[0136] 接下来,执行步骤S53:关系抽取。在步骤S53中,从预置的文本语料库中抽取新的节点与知识图谱中原有的节点之间的关系数据。其中,原有的节点指的是在形成“动作,带伞”这个新的节点之前,知识图谱中已存在的节点。优选地,在该步骤S53中,利用语义规则模式匹配的方法进行关系抽取。
[0137] 接下来,执行步骤S54:知识融合。本步骤知识融合的目的在于:消除歧义,以便于节点与节点进行融合。具体地,依次将新的节点与原有的节点进行相似度计算,在这过程中,包括:对象对齐、实体匹配和实体同义处理。经过上述处理过程,就可以确定新的节点是否可以融合到原有节点之中。例如,经过相似度计算和匹配,确定出新的节点“动作,带伞”和原有的节点“天气”节点相关,则将新的节点“动作,带伞”与“天气”节点相融合,并且在删除新的节点“动作,带伞”的同时,令“天气”节点的属性频次的属性值(频次值)加1。另外,如果新的节点与原有的节点不相关,则在知识图谱中保留该新的节点,并令新的节点的属性频次的属性值(频次值)加1。然后,结合步骤S53得到的关系数据,形成节点-关系-节点和节点-属性-属性值的结构。在实际中,这两种结构也可以被称为实体-关系-实体和实体-属性-属性值的结构。
[0138] 综上所述,应用本发明实施例二提供的用于人机交互的人机多轮对话方法,机器不需要通过多轮语音对话来进行了解用户意图,提高了用户语音交互的体验。
[0139] 此外,应用本发明实施例二提供的用于人机交互的人机多轮对话方法,能够随用户的兴趣或询问意图实时更新知识图谱,提高用户语音交互的体验。
[0140] 实施例三
[0141] 对应本发明实施例一和实施例二的用于人机交互的人机多轮对话方法,本发明实施例三提供了一种用于人机交互的人机多轮对话系统。图6示意性示出了根据本发明实施例三的用于人机交互的人机多轮对话系统。如图6所示,该系统600包括:
[0142] 知识图谱建立模块601,其用于建立用户对话行为信息的知识图谱;
[0143] 索引模块602,其用于:根据用户当前输入的信息,在所述知识图谱中确定出与所述当前输入的信息对应的节点和该节点的子节点;
[0144] 计算模块603,其用于根据所述知识图谱的历史查询记录中所述节点被查询的次数以及所述子节点和所述节点同时被查询的次数,计算所述子节点相对于所述节点的支持度;以及
[0145] 判断模块604,其用于通过判断所述支持度与预设支持度阈值的大小关系,确定是否输出所述子节点的语义信息。
[0146] 此外,该系统600还包括:
[0147] 输入模块605,其用于接收用户输入的信息;
[0148] 输出模块606,与判断模块604连接,其用于根据判断模块604的判断结果,输出所要输出的信息。
[0149] 为了便于理解与说明,下面以一个用户为例进行说明。
[0150] 如图2和图6所示,针对于某一用户,知识图谱建立模块601建立了针对该名用户对话行为信息的知识图谱。建立的知识图谱包括节点、子节点、属性和属性值以及节点与(子)节点之间的关系、节点-属性-属性值之间的关系。
[0151] 例如,节点包括地点节点、信息节点和使用场景节点。例如,信息节点又可以分为时间节点、兴趣节点、性别节点、年龄节点和社会特征节点中的至少一种或多种。其中,以使用场景节点为例,它的子节点包括天气节点、音乐节点和故事节点等。天气节点的子节点又可以包括交通状态节点和防护设施节点等。在本发明实施例中,对于知识图谱中的每个节点和每个子节点,均将频次作为每个节点和每个子节点的一个属性,对应地,将频次值(具体数值,例如5次)作为每个节点和每个子节点的一个属性值。其中,频次值指的是在知识图谱的历史查询记录中该节点或该子节点被查询的次数。
[0152] 在本发明实施例中,知识图谱建立模块601在基本图谱模板框架的基础上,通过用户前期多次训练而建立知识图谱。具体过程如下:
[0153] 首先,知识图谱建立模块601根据大众用户的普遍需求建立包含基本节点以及关系的基本图谱模板框架。例如,目前用户均比较关心天气、交通和新闻等信息,这时,就可以把天气、交通和新闻作为基本节点形成在基本图谱模板框架之中。再例如,一般用户都是先询问天气,再询问交通,这时,就可以把交通状态节点作为天气节点的子节点。在本发明实施例中,将频次作为基本图谱模板框架中节点和子节点的一个属性,对应地,将频次值作为基本图谱模板框架中节点和子节点的一个属性值。
[0154] 因用户的询问信息可能因人而异,所以建立的基本图谱模板框架很可能无法专门满足某一用户,所以这时就需要对基本图谱模板框架进行训练,以得到专门针对于某一名用户的知识图谱。
[0155] 接下来,知识图谱建立模块601根据输入模块605采集的用户训练时输入的信息,运用自顶向下构建的方式,形成结构化数据。其中,所形成的结构化数据为由二维表结构来逻辑表达的数据,有着严格的格式和长度规范。例如,用户输入的语义信息为“需要打伞吗?”,这时,经过自顶向下构建的方式,所形成的结构化数据可以为“打伞”。
[0156] 接下来,知识图谱建立模块601对结构化数据进行实体识别和命名,并在知识图谱中形成与用户输入的信息对应的新的节点。具体地,基于得到的结构化数据,利用服务器日志进行搜索,搜索出该结构化数据对应的语义特征,以识别该结构化数据,并对其进行命名。比如,对于结构化数据“打伞”,根据服务器日志搜索的结果,识别出“打伞”为动作,并将其命名为“动作,打伞”。然后,在知识图谱中生成新的节点“动作,打伞”。
[0157] 接下来,知识图谱建立模块601从预置的文本语料库中抽取新的节点与知识图谱中原有的节点之间的关系数据。其中,原有的节点指的是在形成“动作,打伞”这个新节点之前,知识图谱中已存在的节点。优选地,知识图谱建立模块601通过运行自身存储的语义规则模式匹配的算法进行关系抽取。
[0158] 最后,知识图谱建立模块601对新的节点与原有的节点进行知识融合。知识融合的目的在于:消除歧义,以便于节点与节点进行融合。具体地,依次将新的节点与原有的节点进行相似度计算,在这过程中,包括:对象对齐、实体匹配和实体同义处理。经过上述处理过程,就可以确定新的节点是否可以融合到原有的节点之中。例如,经过相似度计算和匹配,确定出新的节点“动作,打伞”和原有的节点“天气”节点相关,则将新的节点“动作,打伞”与“天气”节点相融合,并且在删除新的节点“动作,打伞”的同时,令“天气”节点的属性频次的属性值(频次值)加1。另外,如果新节点与原有节点不相关,则在知识图谱中保留该新的节点,并令新的节点的属性频次的属性值(频次值)加1。然后,结合得到的关系数据,形成节点-关系-节点和节点-属性-属性值的结构。在实际中,这两种结构也可以被称为实体-关系-实体和实体-属性-属性值的结构。
[0159] 由此,知识图谱建立模块601在基本图谱模板框架的基础上,通过用户前期的训练,即在前期的交互过程中,给予用户相关意图的补充。在多轮对话中,如用户说“今天天气怎么样?”,机器会问“请问你要查哪个城市的天气”,来补充用户的意图,并将用户对话信息中的意图更新到知识图谱的节点或者节点的属性值之中,以建立该名用户对话行为信息的知识图谱。
[0160] 在知识图谱建立之后,索引模块602:根据用户当前输入的信息,在知识图谱中确定出与当前输入的信息对应的节点和该节点的子节点。
[0161] 如图2所示,以天气节点为例,如果用户问“今天天气怎么样?”,索引模块602通过语义分析得到用户想要查询“天气”,随后索引模块602在知识图谱中确定出天气节点和天气节点的子节点,并选定天气节点下的属性(例如频次),遍历子节点如防护措施、交通状态和穿衣搭配等形成集合,并读取出节点和子节点的属性值(频次值)作为项。
[0162] 在得到节点、子节点、节点的属性值和子节点的属性值之后,计算模块603:根据知识图谱的历史查询记录中节点被查询的次数以及子节点和节点同时被查询的次数,计算子节点相对于节点的支持度。具体地,参见表1:
[0163] 表1
[0164]请求序号 天气A 防护措施B 交通状态C 穿衣搭配D
1 1 0 1 0
2 1 1 1 0
3 1 1 0 1
[0165] 如表1所示,在知识图谱中,用户每次请求记作一次事务,每次事务记录涉及的节点,其中1为该次事务涉及问答,0为该次事务不涉及的问答。以天气节点A为例,它的子节点包括:防护措施B、交通状态C和穿衣搭配D。例如,在知识图谱的历史查询记录中,天气节点A总共被查询了三次,即频次值为3,而穿衣搭配D只在请求序号为3时被查询过一次,即穿衣搭配D与天气节点A同时被查询的频次值为1。现在由计算模块603来计算穿衣搭配D相对于天气节点A之间的支持度,具体地,计算模块603:通过计算子节点和节点同时被查询的次数与节点被查询的次数的比值,得到支持度。即,
[0166] 求穿衣搭配D相对于天气节点A的支持度(以下简称穿衣搭配D的支持度)为:
[0167] 支持度P=A与D同时出现的事务/总的事务=1/3=33%,
[0168] 穿衣搭配D相对于天气节点A的支持度为:P=P(A&D)/P(A)=1/3=33%。
[0169] 通过上述计算,计算模块603得出穿衣搭配D的支持度为33%。需要说明的是,A与D同时出现的事务即穿衣搭配D与天气节点A同时被查询(在天气节点A被查询时,穿衣搭配D也被查询,例如表1中请求序号3所示的情况)的频次值,总的事务即天气节点A被查询的频次值。
[0170] 依照上述同样的方式,计算模块603依次计算出防护措施B相对于天气节点A的支持度(以下简称防护措施B的支持度),交通状态C相对于天气节点A的支持度(以下简称交通状态C的支持度)。根据表1所示的内容,计算模块603经过计算得出防护措施B的支持度为66%,交通状态C的支持度为66%。
[0171] 在计算完各子节点的支持度之后,接下来,判断模块604:通过判断所述支持度与预设支持度阈值的大小关系,以确定所要输出的信息。判断模块604判断支持度是否大于预设支持度阈值:若支持度大于预设支持度阈值,则在输出节点的语义信息的同时,输出子节点的语义信息;否则只输出节点的语义信息。
[0172] 优选地,在本发明实施例中,预设支持度阈值设为50%。当然,预设支持度阈值的大小可根据实际情况灵活设定,本发明不限于此。
[0173] 经过判断模块604的判断,穿衣搭配D的支持度小于预设支持度阈值50%,则不输出穿衣搭配D的语义信息;而防护措施B的支持度和交通状态C的支持度均大于预设支持度阈值50%,则输出模块606在输出天气节点的语义信息的同时,输出子节点防护措施B和子节点交通状态C的语义信息,例如输出模块606会输出“广州天气晴,紫外线强,请适当使用防晒霜,华南快线处理拥堵状态”的信息。另外,如果所有子节点的支持度均不大于预设支持度阈值50%,则输出模块606只输出天气节点的语义信息,例如输出模块606只输出“广州天气晴”的信息。
[0174] 作为一种更优的实施方式,除了上述方式之外,判断模块604还可以通过以下方式进行判断:判断每个子节点的支持度是否大于预设支持度阈值:若支持度大于预设支持度阈值,则形成包含所有支持度大于预设支持度阈值的子节点的频繁集,并在输出节点的语义信息的同时,按照支持度从大到小的顺序依次输出频繁集中的每个子节点的语义信息;否则只输出节点的语义信息。
[0175] 具体地,当支持度与预设支持度阈值大小关系判断完成后,判断模块604将所有支持度大于预设支持度阈值的子节点形成一个频繁集,例如频繁集包括防护措施B和交通状态C。接下来,输出模块606根据判断模块604的判断结果:在输出天气节点的语义信息的同时,按照支持度从大到小的顺序依次输出频繁集中的防护措施B和交通状态C的语义信息。
[0176] 为了避免输出的语音信息的时间过长,影响用户的交互体验。优选地,在本发明实施例中,通过设定:输出模块606在输出节点的语义信息的同时,只输出频繁集中支持度最高的前三位的子节点的语义信息。
[0177] 在知识图谱建立完成后,或者说在用户前期训练完成后,为了使得知识图谱能够随用户的兴趣或询问意图实时更新,提高用户的交互体验,本发明实施例三的系统还包括:知识图谱更新模块607,其用于根据用户实时输入的信息,实时更新所述知识图谱。
[0178] 具体地,知识图谱更新模块607根据输入模块605采集的用户实时输入的信息,运用自顶向下构建的方式,形成结构化数据。其中,所形成的结构化数据为由二维表结构来逻辑表达的数据,有着严格的格式和长度规范。例如,用户输入的语义信息为“需要带伞吗?”,这时,经过自顶向下构建的方式,所形成的结构化数据可以为“带伞”。
[0179] 接下来,知识图谱更新模块607对结构化数据进行实体识别和命名,并在知识图谱中形成与用户输入的信息对应的新的节点。具体地,基于得到的结构化数据,利用服务器日志进行搜索,搜索出该结构化数据对应的语义特征,以识别该结构化数据,并对其进行命名。比如,对于结构化数据“带伞”,根据服务器日志搜索的结果,识别出“带伞”为动作,并将其命名为“动作,带伞”。然后,在知识图谱中生成“动作,带伞”的新节点。
[0180] 接下来,知识图谱更新模块607从预置的文本语料库中抽取新的节点与知识图谱中原有的节点之间的关系数据。其中,原有节点指的是在形成“动作,带伞”这个新节点之前,知识图谱中已存在的节点。优选地,知识图谱更新模块607通过运行自身存储的语义规则模式匹配的算法进行关系抽取。
[0181] 接下来,知识图谱更新模块607依次将新的节点与原有的节点进行相似度计算,在这过程中,包括:对象对齐、实体匹配和实体同义处理。经过上述处理过程,就可以确定新的节点是否可以融合到原有的节点之中。例如,经过相似度计算和匹配,确定出“动作,带伞”新节点和原有节点“天气”节点相关,则将“动作,带伞”新节点与“天气”节点相融合,并且在删除“动作,带伞”新节点的同时,令“天气”节点的属性频次的属性值(频次值)加1。另外,如果新节点与原有节点不相关,则在知识图谱中保留该新节点,并令该新节点的属性频次的属性值(频次值)加1。然后,结合得到的关系数据,形成节点-关系-节点和节点-属性-属性值的结构。在实际中,这两种结构也可以被称为实体-关系-实体和实体-属性-属性值的结构。
[0182] 由此,知识图谱更新模块607实时更新知识图谱。
[0183] 需要说明的是,知识图谱的更新也可以是由知识图谱建立模块601来完成,当由知识图谱建立模块601实时更新知识图谱时,该系统600可以不包括知识图谱更新模块607,本发明不限于此。
[0184] 相应地,本发明实施例还提供了一种智能设备,包括:
[0185] 处理器;以及
[0186] 存储器,其上存储有可执行代码,所述可执行代码在被所述处理器执行时,使所述处理器执行上述实施例一或实施例二的用于人机交互的人机多轮对话方法。
[0187] 综上所述,应用本发明实施例提供的用于人机交互的人机多轮对话方法及系统、智能设备,机器不需要通过多轮语音对话来进行了解用户意图,提高了用户语音交互的体验。
[0188] 此外,应用本发明实施例提供的用于人机交互的人机多轮对话方法及系统、智能设备,能够随用户的兴趣或询问意图实时更新知识图谱,提高用户语音交互体验。
[0189] 本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件软件结合。
[0190] 虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的保护范围,仍须以所附的权利要求书所界定的范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈