CN110019709B - 机器人自动问答的方法及机器人自动问答的*** - Google Patents

机器人自动问答的方法及机器人自动问答的*** Download PDF

Info

Publication number
CN110019709B
CN110019709B CN201711173973.5A CN201711173973A CN110019709B CN 110019709 B CN110019709 B CN 110019709B CN 201711173973 A CN201711173973 A CN 201711173973A CN 110019709 B CN110019709 B CN 110019709B
Authority
CN
China
Prior art keywords
request information
knowledge
question
reasoning
instance
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
CN201711173973.5A
Other languages
English (en)
Other versions
CN110019709A (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.)
Shanghai Xiaoi Robot Technology Co Ltd
Original Assignee
Shanghai Xiaoi Robot Technology Co 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 Shanghai Xiaoi Robot Technology Co Ltd filed Critical Shanghai Xiaoi Robot Technology Co Ltd
Priority to CN201711173973.5A priority Critical patent/CN110019709B/zh
Publication of CN110019709A publication Critical patent/CN110019709A/zh
Application granted granted Critical
Publication of CN110019709B publication Critical patent/CN110019709B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种机器人自动问答的方法、装置、服务器及存储介质,该方法包括:接收用户的初始请求信息,所述初始请求信息包括第一实例和N个属性信息,N大于或等于2;通过相似度计算在知识库中查找与所述初始请求信息对应的知识点;当未在知识库中查找到对应的知识点时,进行推理处理,以得到推理后的请求信息,所述推理后的请求信息包括第二实例和M个属性信息,M小于或等于N‑1;通过相似度计算在知识库中查找与所述推理后的请求信息对应的知识点;当未在知识库中查找到对应的知识点时,不断重复上述推理和计算的过程,直至在知识库中查找到对应的知识点。本发明实现了在不改变知识库存储的知识点的基础上找到复杂问题的答案。

Description

机器人自动问答的方法及机器人自动问答的***
技术领域
本发明实施例涉及人机交互技术,尤其涉及一种机器人自动问答的方法、机器人自动问答的***、服务器及存储介质。
背景技术
人机交互是一门研究***与用户之间的交互关系的科学,***可以是各种各样的机器,也可以是计算机化的***和软件。机器人自动问答***就是依托于人机交互技术发展起来的一种人工智能***,例如,智能客服***、语音控制***等等。
知识库是机器人自动问答***的基础,在知识库中,信息被有效组织以便进行检索和利用。知识库中存储多个知识点,每个知识点包括一个或多个问题以及对应的答案。当用户输入请求信息时,计算请求信息与知识库中问题的语义相似度,如果存在相似度大于第一预设阈值的问题,则将其中相似度最大的问题对应的答案返回给用户。
一般,知识库中存储的都是较为简单的问题,如“刘德华的妻子是谁”,如果用户的请求信息也是较为简单的问句,通过相似度计算可以直接获取到对应的答案,但是如果用户的请求信息较为复杂,包括多个简单问句时,如:XXX的前夫的现女友的第一任丈夫的女儿是谁,此时就无法在知识库中获取到对应的答案。
发明内容
有鉴于此,本发明实施例提供一种机器人自动问答的方法、机器人自动问答的***、服务器及存储介质,以在不改变知识库存储知识点的基础上找到复杂问题的答案,从而提高问答的准确率。
本发明实施例提供了一种机器人自动问答的方法,包括:
接收用户的初始请求信息,所述初始请求信息包括第一实例和N个属性信息,N大于或等于2;
通过相似度计算在知识库中查找与所述初始请求信息对应的知识点;
当未在知识库中查找到对应的知识点时,进行推理处理,以得到推理后的请求信息,所述推理后的请求信息包括第二实例和M个属性信息,M小于或等于N-1;
通过相似度计算在知识库中查找与所述推理后的请求信息对应的知识点;
当未在知识库中查找到对应的知识点时,不断重复上述推理和计算的过程,直至在知识库中查找到对应的知识点,所述知识点包括答案;
将查找到的知识点的答案发送给用户。
可选地,所述进行推理处理,以得到推理后的请求信息包括:
根据预先建立的知识图谱,进行推理处理,以得到推理后的请求信息;
其中,所述知识图谱包括知识库中的多个实例及实例之间的关联关系。
可选地,所述知识库中的知识点包括问题和答案,当所述问题包括第一实例,所述***括第二实例时,所述知识点还包括所述第一实例和第二实例的关联关系。
可选地,所述根据预先建立的知识图谱,进行推理处理,以得到推理后的请求信息,包括:
计算所述初始请求信息与知识库中的问题的相似度,所述初始请求信息包括第一实例;
选取所述相似度大于第二预设阈值的问题的集合,作为所述初始请求信息的扩展问候选集,所述扩展问候选集包括多个候选问,所述扩展问候选集中的候选问包括所述第一实例;
从所述扩展问候选集中选取一个待处理候选问;
当所述待处理候选问不能从左往右依次消费所述初始请求信息中的词时,从所述扩展问候选集中重新选取一个待处理候选问,直至选取的所述待处理候选问能从左往右依次消费所述初始请求信息中的词,将选取的所述待处理候选问作为目标候选问;
获取所述目标候选问对应的答案,当所述答案引用第二实例时,将所述初始请求信息中被目标候选问消费掉的词替换为所述第二实例,得到推理后的请求信息。
本发明实施例还提供了一种机器人自动问答的***,包括:
用户请求接收模块,用于接收用户的初始请求信息,所述初始请求信息包括第一实例和N个属性信息,N大于或等于2;
第一知识点查找模块,用于通过相似度计算在知识库中查找与所述初始请求信息对应的知识点;
推理模块,用于当未在知识库中查找到对应的知识点时,进行推理处理,以得到推理后的请求信息,所述推理后的请求信息包括第二实例和M个属性信息,M小于或等于N-1;
第二知识点查找模块,用于通过相似度计算在知识库中查找与所述推理后的请求信息对应的知识点,所述知识点包括答案;
知识点确定模块,用于当未在知识库中查找到对应的知识点时,不断重复触发推理模块和第二知识点查找模块进行推理和计算的过程,直至在知识库中查找到对应的知识点;
输出模块,用于将查找到的知识点的答案发送给用户。
可选地,所述推理模块具体用于:
当未在知识库中查找到对应的知识点时,根据预先建立的知识图谱,进行推理处理,以得到推理后的请求信息;
其中,所述知识图谱包括知识库中的多个实例及实例之间的关联关系。
可选地,所述知识库中的知识点包括问题和答案,当所述问题包括第一实例,所述***括第二实例时,所述知识点还包括所述第一实例和第二实例的关联关系。
可选地,所述推理模块包括:
相似度计算单元,用于计算所述初始请求信息与知识库中的问题的相似度,所述初始请求信息包括第一实例;
扩展问候选集确定单元,用于选取所述相似度大于第二预设阈值的问题的集合,作为所述初始请求信息的扩展问候选集,所述扩展问候选集包括多个候选问,所述扩展问候选集中的候选问包括所述第一实例;
待处理候选问选取单元,用于从所述扩展问候选集中选取一个待处理候选问;
目标候选问确定单元,用于当所述待处理候选问不能从左往右依次消费所述初始请求信息中的词时,从所述扩展问候选集中重新选取一个待处理候选问,直至选取的所述待处理候选问能从左往右依次消费所述初始请求信息中的词,将选取的所述待处理候选问作为目标候选问;
推理后请求信息确定单元,用于获取所述目标候选问对应的答案,当所述答案引用第二实例时,将所述初始请求信息中被目标候选问消费掉的词替换为所述第二实例,得到推理后的请求信息。
本发明实施例还提供了一种服务器,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的机器人自动问答的方法。
本发明实施例还提供一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的机器人自动问答的方法。
本发明实施例的技术方案,通过在知识库中不能查找到与初始请求信息对应的知识点时,进行推理处理以得到推理后的请求信息,并通过相似度计算在知识库中查找与推理后的请求信息对应的知识点,当未在知识库中查找到对应的知识点时,不断重复上述推理和计算的过程,直至在知识库中查找到对应的知识点,实现了在不改变知识库存储的知识点的基础上找到复杂问题的答案,在不改变知识库存储内容的前提下,提高了问答的准确率,节省了存储空间。
附图说明
图1是本发明实施例一提供的一种机器人自动问答的方法的流程图;
图2是本发明实施例一提供的机器人自动问答的方法中的根据预先建立的知识图谱进行推理处理的流程图;
图3是本发明实施例二提供的一种机器人自动问答的***的结构示意图;
图4为本发明实施例三提供的一种服务器的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
为了便于理解本发明实施例的方案,先对机器人自动问答***的基本知识做下简单介绍:
一、知识点
知识库中的基本知识点最原始和最简单的形式就是平时常用的FAQ,一般的形式是“问-答”对。例如,“彩铃的资费”就是表达清晰的标准问描述。这里的“问”不应被狭义地理解为“询问”,而应广义地来理解一“输入”,该“输入”具有对应的“输出”。例如,对于用于控制***的语义识别而言,用户的一个指令,例如“打开收音机”也应可以被理解为是一个“问”,此时对应的“答”可以是用于执行相应控制的控制程序的调用。
用户在向机器输入时,最理想的情况是使用标准问,则机器的智能语义识别***马上能够理解用户的意思。然而,用户往往并非使用的是标准问,而是标准问的一些变形的形式。例如,若对于收音机的电台切换的标准问形式是“换一个电台”,那么用户可能使用的命令是“切换一个电台”,机器也需要能够识别用户表达的是同一个意思。
因此,对于智能语义识别而言,知识库里需要有标准问的扩展问,该扩展问与标准问表达形式有略微差异,但是表达相同的含义。
因此,知识库中包括多个知识点,每个知识点包括问题和答案,问题包括标准问和多个扩展问。
知识点中的问题一般用语义表达式的形式来表示,下面是语义表达式中的符号:
1.1.1词类的表示([])
为区分表达式中的词与词类,规定词类必须出现在方括号“[]”中,方括号中出现的词类一般为“狭义词类”,但是也可通过配置***参数以支持“广义词类”。下面是一些简单表达式的示例:[飞信][如何][开通]、[介绍][彩信][业务]、[飞信]的[登录][方法]、[来电提醒][如何][收费]。
1.1.2或关系的表示(|)
在方括号中的词类可以通过“或”关系出现多次,这些“或”关系的词类会在计算相似度的时候以“展开”的方式单独计算。“展开”主要是根据“或”的意义将语义表达式展开成多个简单表达式的过程。如:[彩铃][开通]的[方法|步骤]可展开成“[彩铃][开通]的[步骤]”和“[彩铃][开通]的[方法]”两个简单的语义表达式。这类语义表达式的示例如下:[怎样][查询|知道][PUK码]、[退订|撤销|关闭|停用][IP|17951][国内长途优惠包]。
1.1.3非必要的表示(?)
在方括号中的词类可以在结尾加入“?”表示可出现也可以不出现,即非必要的关系,这种非必要关系的词类也同样会在计算相似度的时候以“展开”的方式单独计算。“展开”主要是将语义表达式中含有非必要的词类(或词类的“或组合”)展开成包含和不包含这个词类的两个简单语义表达式的过程。
如:[介绍][手机视频][军事栏目][内容][什么?]可展开成“[介绍][手机视频][军事栏目][内容]”和“[介绍][手机视频][军事栏目][内容][什么]”两个简单语义表达式。
二、本体
本体(Ontology)是对特定领域之中某套概念及其相互之间关系的形式化表达,是对一个领域的抽象化。我们使用本体来获取某一领域的知识,本体描述该领域的概念,以及这些概念之间的关系。
2.1本体的构成
本体包含本体类和实例,本体类定义了对应的实例的结构,实例是符合本体类定义的个体对象。
2.1.1本体类(Ontology Class)
在现实世界中,经常有属于同一个类的对象(如:某辆汽车只是世界上很多汽车中的一辆),也有很多共享相同特征的不同的对象。可以利用这些对象的相同特征为它们建立一个原型。本体类(Ontology Class)就是这个原型的一种定义,它是对具有共同特征或者共享共同特征的所有个体的抽象。本体类的特征称为类属性(Class Property),例如“人”这个本体类有“姓名”、“年龄”和“体重”等属性。类属性由属性名和一组语义表达式所构成。在本体类中,我们可以用一组语义表达式来描述属性所表达的语义,类属性的语义表达式由实例符、词类、语法符号组成,实例符用于代表描述个体的词类或语义块。
2.1.2实例(Instance)
实例是本体类实例化后的产物,代表了符合本体类定义的一个具体的个体对象。实例由实例名称、实例语义、属性和属性值组成。实例语义:实例语义是用于描述实例语义的语义表达式,该语义表达式在实例化本体类的过程中替换本体类属性语义表达式中的“实例符”,进而生成实例属性的语义。
实例属性:实例属性包含一般属性和自定义属性。一般属性即实例化实例的本体类中定义的属性,如“桑塔纳轿车”这个实例是由“轿车”这个本体类实例化得到,那么“轿车”这个本体类中定义的“轴距”“重量”和“排量”等属性即为一般属性。自定义属性是为了更全面的描述个体而在一般属性之外自定义的仅适合于该个体的特征描述。
属性值:属性值即属性的具体描述,用于确切表达实例的属性的质或量。如“男性”就是“张三”这个实例中“性别”属性的属性值。
本发明以下实施例中每个知识点只存储两个实例之间一个属性信息,即简单知识点。
实施例一
图1是本发明实施例一提供的一种机器人自动问答的方法的流程图,本实施例可适用于查找较为复杂的用户请求信息对应的知识点的情况,该方法可以由机器人自动问答的装置来执行,该装置可以由软件和/或硬件来实现,一般可集成在服务器等设备上,该方法具体包括如下步骤:
步骤110,接收用户的初始请求信息,所述初始请求信息包括第一实例和N个属性信息,N大于或等于2。
可以通过交互界面接收用户的初始请求信息。其中,初始请求信息可以是语音形式的请求信息,也可以是文本形式的请求信息。当初始请求信息是语音形式的请求信息时,需要通过语音识别转换为文本形式的请求信息。
本实施例主要解决的就是包括第一实例和多个属性信息的初始请求信息的自动问答。如:XXX的前夫的现女友的第一任丈夫的女儿是谁,则该初始请求信息中XXX就是第一实例,前夫、现女友、第一任丈夫和女儿是四个属性值。
步骤120,通过相似度计算在知识库中查找与所述初始请求信息对应的知识点。
计算所述初始请求信息与知识库中存储的问题的语义相似度,将计算得到的相似度与第一预设阈值进行比较,来查找与初始请求信息对应的知识点。其中,知识库中的问题包括标准问以及对应的扩展问,扩展问与标准问的表达形式不同,但是表达相同的含义。
步骤130,判断在知识库中是否查找到与初始请求信息对应的知识点,如果否,则执行步骤140,如果是则执行步骤170。
如果存在相似度大于第一预设阈值的问题,则可以选取其中的相似度最大的问题,并确定包括该问题的知识点为与初始请求信息对应的知识点;如果不存在相似度大于第一预设阈值的问题,则确定在知识库中不能查找到与初始请求信息对应的知识点。
步骤140,进行推理处理,以得到推理后的请求信息,所述推理后的请求信息包括第二实例和M个属性信息,M小于或等于N-1。
本实施例通过一次推理处理在将第一实例变为第二实例的同时,至少减少了一个属性信息,即第一实例和第二实例之间具有至少一个属性关系。具体减少的属性信息的数目根据知识库中具体存储的知识点来确定。
在知识库中不能查找到对应的知识点时,请求信息可能较为复杂,可以对请求信息进行推理处理,以得到推理后的请求信息。
其中,进行推理处理,以得到推理后的请求信息包括:
根据预先建立的知识图谱,进行推理处理,以得到推理后的请求信息;
其中,所述知识图谱包括知识库中的多个实例及实例之间的关联关系。
在一个领域或者特定项目中,各个实例之间会存在关联关系,一个领域或者特定项目中的所有实例之间的关联关系,形成知识图谱。在用户的初始请求信息比较复杂时,可根据预先建立的知识图谱,进行推理处理。具体的,知识图谱可以是表格的形式,例如,实例1对应的知识点包括1.1、1.2、1.3等,而知识点1.1的答案引用另一实例2,实例2对应的知识点包括2.1、2.2等,而知识点2.2的答案引用实例1。通过构建实例之间的关联关系,可以快速实现推理。
一般,初始请求信息中包括第一实例时,如果初始请求信息是要获取该第一实例的一个属性的属性值,如XXX的前夫是谁,即XXX是第一实例,前夫是第一实例的属性,而具体的答案是该属性的属性值,那么该初始请求信息可认为是简单问题;而如果初始请求信息是要获取该第一实例的第一属性的第二属性的第二属性值,即其中包括至少两个属性,且后一个属性是前一个属性的属性值对应的属性,那么该初始请求信息可认为是复杂问题,如XXX的前夫的现女友的第一任丈夫的女儿是谁,其中包括第一实例“XXX”、第一实例的第一属性“前夫”、对应的第一属性值的第二属性“现女友”、对应的第二属性值的第三属性“第一任丈夫”及对应的第三属性值的第四属性“女儿”,最终答案应为第四属性对应的第四属性值,在推理过程中,在进行第一次推理时,得到第一属性值,进而将初始请求信息转换为推理后的请求信息“第一属性值的现女友的第一任丈夫的女儿是谁”,还需要进行第二次推理,得到第二属性值,进而将初始请求信息转换为经过两次推理后的请求信息“第二属性值的第一任丈夫的女儿是谁”,还需要进行第三次推理,得到第三属性值,进而将初始请求信息转换为经过三次推理后的请求信息“第三属性值的女儿是谁”,该问题变为了简单问题,可在知识库中直接获取到对应的答案。
可选的,所述知识库中的知识点包括问题和答案,当所述问题包括第一实例,所述***括第二实例时,所述知识点还包括所述第一实例和第二实例的关联关系,该关联关系表明包括第一实例的所述问题的答案引用第二实例。表1是知识库中的知识点的存储结构示例,如表1所示,问题“华为P9的生产商是谁”对应的答案为“华为技术有限公司”,由于“华为P9”为一个实例,“华为技术有限公司”为一个实例,该知识点中还给出了第一实例和第二实例之间的关联关系,即包括第一实例“华为P9”的问题对应的答案引用第二实例“华为技术有限公司”。
例如,表1是知识库中的两个知识点,用户初始请求信息为“华为P9的生产商的总裁是谁”,知识库没有直接存储该初始请求信息对应的答案,进入推理处理流程:根据相似度计算得到初始请求信息的多个候选问,并选取一个候选问来处理,选取的候选问为:[华为P9][生产商][哪位|哪些?],判断该候选问能否从左往右依次消费初始请求信息中的词,判断结果为能依次消费,则获取该候选问对应的答案,从表1可知,该候选问对应的答案引用另一实例“华为技术有限公司”,将答案替换初始请求信息中被消费掉的词,得到推理后的请求信息“华为技术有限公司的总裁是谁”。
表1知识库中的知识点的存储结构示例
图2是本发明实施例提供的机器人自动问答的方法中的根据预先建立的知识图谱进行推理处理的流程图,如图2所示,根据预先建立的知识图谱,进行推理处理,以得到推理后的请求信息,包括:
步骤141,计算所述初始请求信息与知识库中的问题的相似度,所述初始请求信息包括第一实例。
由于初始请求信息和知识库中的问题都是由文字表示的,所以在计算相似度时,计算的是语义相似度。语义相似度计算是指对给定的两个文本(一般为字符串),通过算法给出其相似度幅度的衡量,一般计算结果为0-1之间的值。常用的语义相似度计算的方法为基于神经网络的计算,典型的有DSSM(Deep Structured Semantic Models,深层结构语义模型)和CLSM(convolutional latent semantic model,卷积潜在语义模型)。其中,DSSM原理是通过搜索引擎里问题和标题的海量的点击曝光日志,用深度神经网络把问题和标题表达为低纬语义向量,并通过余弦距离来计算两个语义向量的距离,最终训练出语义相似度模型。CLSM也叫CNN-DSSM,即将DSSM中的深度神经网络替换为了卷积神经网络。
其中,第一实例可以是初始请求信息中的第一个词,当然,第一实例还可以在初始请求信息中的其他位置。
步骤142,选取所述相似度大于第二预设阈值的问题的集合,作为所述初始请求信息的扩展问候选集,所述扩展问候选集包括多个候选问,所述扩展问候选集中的候选问包括所述第一实例。
其中,第二预设阈值小于第一预设阈值。
扩展问候选集中的候选问包括第一实例,以便于根据预先建立的知识图谱进行推理处理。候选问是知识库中的与初始请求信息相似的简单问题,从而在推理过程中将候选问对应的答案替换初始请求信息中被候选问从左往右依次消费掉的词,得到推理后的请求信息,以简化初始请求信息。
步骤143,从所述扩展问候选集中选取一个待处理候选问。
本实施例中可以从扩展问候选集中选取相似度最大的一个候选问,作为待处理候选问。需要说明的是,本发明还可以从扩展问候选集中任意选择一个候选问,作为待处理候选问。
步骤144,判断所述待处理候选问是否能从左往右依次消费所述初始请求信息中的词,如果不能,则返回执行步骤143以从所述扩展问候选集中重新选取一个待处理候选问,如果能,则执行步骤145。
其中,消费即待处理候选问中的词与初始请求信息中的词的语义相同或相似。
如果所述待处理候选问不能从左往右依次消费所述初始请求信息中的词,则从所述扩展问候选集中删除所述待处理候选问,并执行步骤143,从所述扩展问候选集中重新选取一个待处理候选问,直至选取的所述候选问能从左往右依次消费所述初始请求信息中的词。其中,待处理候选问从左往右依次消费初始请求信息中的词是指从左往右依次消费初始请求信息中的部分词(包括第一实例及其属性),而不必消费全部词。值得说明的是,消费掉的词也可以不包括助词。
步骤145,将选取的所述待处理候选问作为目标候选问。
步骤146,获取所述目标候选问对应的答案,当所述答案引用第二实例时,将所述初始请求信息中被目标候选问消费掉的词替换为所述第二实例,得到推理后的请求信息。
优选的,从所述扩展问候选集中选取一个待处理候选问包括:
从所述扩展问候选集中选取与所述初始请求信息相似度最高的候选问,作为待处理候选问。
在从扩展问候选集中选取待处理候选问时,选取相似度最高的候选问,以便于快速实现推理,快速推理得到与用户的初始请求信息对应的知识点。
步骤150,通过相似度计算在知识库中查找与所述推理后的请求信息对应的知识点。
计算所述推理后的请求信息与知识库中存储的问题的语义相似度,将计算得到的相似度与第一预设阈值进行比较,来查找与推理后的请求信息对应的知识点。
步骤160,判断在知识库中是否查找到与推理后的请求信息对应的知识点,如果否,则返回执行步骤140,如果是,则执行步骤170。
如果存在相似度大于第一预设阈值的问题,则可以选取相似度最大的问题,并确定包括该问题的知识点为与推理后的请求信息对应的知识点;如果不存在相似度大于第一预设阈值的问题,则确定在知识库中不能查找到与推理后的请求信息对应的知识点。在知识库中不能查找到与推理后的请求信息对应的知识点时,返回步骤140,继续采用前述方式对推理后的请求信息进行推理处理,直至在知识库中查找到对应的知识点。
步骤170,将查找到的知识点中的答案返回给所述用户。
返回方式可以为文本,也可以为语音,如果是语音,则将查找到的文本形式的答案转换为语音形式,并将语音形式的答案返回给用户。
基于一次推理得到答案的情况,例如,用户的初始请求信息为“华为P9生产商的总裁是谁?”,计算该初始请求信息与知识库中的问题的语义相似度,计算得到的相似度均小于第一预设阈值,表明在知识库中不能查找到与初始请求信息对应的知识点,则进入基于知识图谱的推理流程:首先计算初始请求信息与知识库中的问题的语义相似度,初始请求信息中包括第一实例“华为P9”,选取相似度大于第二预设阈值的问题的集合,作为初始请求信息的扩展问候选集,从该扩展问候选集中选取与初始请求信息相似度最高的候选问作为待处理候选问,选取的待处理候选问为:[华为P9][生产商][哪位|哪些?],该待处理候选问能从左往右依次消费初始请求信息中的词:华为P9、生产商,将该待处理候选问作为目标候选问,且该目标候选问所对应的知识点中的问题为“华为P9的生产商是谁”,答案引用第二实例“华为技术有限公司”,将该目标候选问对应的答案替换初始请求信息中被候选问消费掉的词,得到推理后的请求信息“华为技术有限公司的总裁是谁”;通过计算该推理后的请求信息与知识库中问题的语义相似度,查找到相似度超过第一预设阈值的问题为“华为技术有限公司的总裁是谁”,对应的答案为“任正非先生”;将该答案返回给用户。
基于两次推理得到答案的情况,例如,用户的初始请求信息为“华为P9的CPU型号的生产商是什么时间成立的”,计算该初始请求信息与知识库中的问题的语义相似度,计算得到的相似度均小于第一预设阈值,表明在知识库中不能查找到与初始请求信息对应的知识点,则进入基于知识图谱的第一次推理流程:首先计算初始请求信息与知识库中的问题的语义相似度,初始请求信息中包括第一实例“华为P9”,选取相似度大于第二预设阈值的问题的集合,作为初始请求信息的扩展问候选集,从该扩展问候选集中选取与初始请求信息相似度最高的候选问作为待处理候选问,选取的待处理候选问为:[华为P9][CPU型号][什么?],该待处理候选问能从左往右依次消费初始请求信息中的词:华为P9(第一实例)、CPU型号(第一属性),将该待处理候选问作为目标候选问,且该目标候选问所对应的知识点中的问题为“华为P9的CPU型号是什么”,答案引用第二实例“海思麒麟955”,将该目标候选问对应的答案替换初始请求信息中被候选问消费掉的词,得到推理后的请求信息“海思麒麟955的生产商是什么时间成立的”;通过计算该推理后的请求信息与知识库中问题的语义相似度,相似度均小于第一预设阈值,在知识库中还是不能查找到对应的知识点,这时,还需要对该推理后的请求信息“海思麒麟955的生产商是什么时间成立的”进行推理处理,即进入基于知识图谱的第二次推理流程:先计算推理后的请求信息“海思麒麟955的生产商是什么时间成立的”与知识库中的问题的语义相似度,初始请求信息中包括第二实例“海思麒麟955”,选取相似度大于第二预设阈值的问题的集合,作为初始请求信息的扩展问候选集,从该扩展问候选集中选取与初始请求信息相似度最高的候选问作为待处理候选问,选取的待处理候选问为:[海思麒麟955][生产商][哪位|哪些?],该待处理候选问能从左往右依次消费初始请求信息中的词:海思麒麟955(第二实例)、生产商(第二属性),将该待处理候选问作为目标候选问,且该目标候选问所对应的知识点中的问题为“海思麒麟955的生产商是谁”,答案引用第三实例“海思半导体有限公司”,将该目标候选问对应的答案替换推理后的请求信息“海思麒麟955的生产商是什么时间成立的”中被候选问消费掉的词,得到第二次推理后的请求信息“海思半导体有限公司是什么时间成立的”;通过计算该第二次推理后的请求信息与知识库中问题的语义相似度,查找到相似度超过第一预设阈值的问题为“海思半导体有限公司是什么时间成立的”,对应的答案为“海思半导体有限公司的成立时间是2004年10月”;将该答案返回给用户。
基于三次及三次以上推理得到答案的情况可以参考上面两次推理的过程,在此不再赘述。
本实施例的技术方案,通过在知识库中不能查找到与初始请求信息对应的知识点时,进行推理处理以得到推理后的请求信息,并通过相似度计算在知识库中查找与推理后的请求信息对应的知识点,当未在知识库中查找到对应的知识点时,不断重复上述推理和计算的过程,直至在知识库中查找到对应的知识点,实现了在不改变知识库存储的知识点的基础上找到复杂问题的答案,在不改变知识库存储内容的前提下,提高了问答的准确率,节省了存储空间。
实施例二
图3是本发明实施例二提供的一种机器人自动问答的***的结构示意图,该***适用于查找较为复杂的用户请求信息对应的知识点的情况,该***可以由软件和/或硬件来实现,一般可集成在服务器等设备上,该***包括:用户请求接收模块310、第一知识点查找模块320、推理模块330、第二知识点查找模块340、知识点确定模块350和输出模块(图中未示出)。
其中,用户请求接收模块310,用于接收用户的初始请求信息,所述初始请求信息包括第一实例和N个属性信息,N大于或等于2;
第一知识点查找模块320,用于通过相似度计算在知识库中查找与所述初始请求信息对应的知识点;
推理模块330,用于当未在知识库中查找到对应的知识点时,进行推理处理,以得到推理后的请求信息,所述推理后的请求信息包括第二实例和M个属性信息,M小于或等于N-1;
第二知识点查找模块340,用于通过相似度计算在知识库中查找与所述推理后的请求信息对应的知识点;
知识点确定模块350,用于当未在知识库中查找到对应的知识点时,不断重复触发推理模块和第二知识点查找模块进行推理和计算的过程,直至在知识库中查找到对应的知识点;
输出模块360,用于将查找到的知识点的答案发送给用户。
可选的,所述推理模块具体用于:
当未在知识库中查找到对应的知识点时,根据预先建立的知识图谱,进行推理处理,以得到推理后的请求信息;
其中,所述知识图谱包括知识库中的多个实例及实例之间的关联关系。
可选的,所述知识库中的知识点包括问题和答案,当所述问题包括第一实例,所述***括第二实例时,所述知识点还包括所述第一实例和第二实例的关联关系。
可选的,所述推理模块包括:
相似度计算单元,用于计算所述初始请求信息与知识库中的问题的相似度,所述初始请求信息包括第一实例;
扩展问候选集确定单元,用于选取所述相似度大于第二预设阈值的问题的集合,作为所述初始请求信息的扩展问候选集,所述扩展问候选集包括多个候选问,所述扩展问候选集中的候选问包括所述第一实例;
待处理候选问选取单元,用于从所述扩展问候选集中选取一个待处理候选问;
目标候选问确定单元,用于当所述待处理候选问不能从左往右依次消费所述初始请求信息中的词时,从所述扩展问候选集中重新选取一个待处理候选问,直至选取的所述候选问能从左往右依次消费所述初始请求信息中的词,将选取的所述待处理候选问作为目标候选问;
推理后请求信息确定单元,用于获取所述目标候选问对应的答案,当所述答案引用第二实例时,将所述初始请求信息中被目标候选问消费掉的词替换为所述第二实例,得到推理后的请求信息。
可选的,所述待处理候选问选取单元具体用于:
从所述扩展问候选集中选取与所述初始请求信息相似度最高的候选问,作为待处理候选问。
本实施例中的输出模块可以是语音输出模块,也可以是显示输出模块,还可以是两者的结合,其不限制本发明的保护范围。
本实施例各模块的具体工作过程可以参考实施例一,在此不再赘述。
本实施例的技术方案,通过用户请求接收模块接收用户的初始请求信息;第一知识点查找模块通过相似度计算在知识库中查找与所述初始请求信息对应的知识点;当未在知识库中查找到对应的知识点时,推理模块进行推理处理,以得到推理后的请求信息;第二知识点查找模块通过相似度计算在知识库中查找与所述推理后的请求信息对应的知识点;当未在知识库中查找到对应的知识点时,知识点确定模块不断重复触发推理模块和第二知识点查找模块进行推理和计算的过程,直至在知识库中查找到对应的知识点,实现了在不改变知识库存储的知识点的基础上找到复杂问题的答案,在不改变知识库存储内容的前提下,提高了问答的准确率,节省了存储空间。
实施例三
图4为本发明实施例三提供的一种服务器的结构示意图,如图4所示,该服务器包括处理器510、存储装置520、输入装置530和输出装置540;服务器中处理器510的数量可以是一个或多个,图4中以一个处理器510为例;服务器中的处理器510、存储装置520、输入装置530和输出装置540可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储装置520作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的建立机器人自动问答知识库的方法对应的程序指令/模块(例如,机器人自动问答的装置中的用户请求接收模块310、第一知识点查找模块320、推理模块330、第二知识点查找模块340和知识点确定模块350)。处理器510通过运行存储在存储装置520中的软件程序、指令以及模块,从而执行终端设备的各种功能应用以及数据处理,即实现上述的机器人自动问答的方法,在此不再赘述。
存储装置520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置520可进一步包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至终端设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置530可用于接收输入的数字或字符信息,以及产生与终端设备的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏等显示设备。
实施例四
本发明实施例四提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种机器人自动问答的方法,该方法包括:
接收用户的初始请求信息,所述初始请求信息包括第一实例和N个属性信息,N大于或等于2;
通过相似度计算在知识库中查找与所述初始请求信息对应的知识点;
当未在知识库中查找到对应的知识点时,进行推理处理,以得到推理后的请求信息,所述推理后的请求信息包括第二实例和M个属性信息,M小于或等于N-1;
通过相似度计算在知识库中查找与所述推理后的请求信息对应的知识点;
当未在知识库中查找到对应的知识点时,不断重复上述推理和计算的过程,直至在知识库中查找到对应的知识点,所述知识点包括答案;
将查找到的知识点的答案发送给用户。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明实施例一所提供的机器人自动问答的方法中的相关操作,在此不再赘述。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (4)

1.一种机器人自动问答的方法,其特征在于,包括:
接收用户的初始请求信息,所述初始请求信息包括第一实例和N个属性信息,N大于或等于2;
通过相似度计算在知识库中查找与所述初始请求信息对应的知识点;
当未在知识库中查找到对应的知识点时,进行推理处理,以得到推理后的请求信息,所述推理后的请求信息包括第二实例和M个属性信息,M小于或等于N-1;
通过相似度计算在知识库中查找与所述推理后的请求信息对应的知识点;
当未在知识库中查找到对应的知识点时,不断重复上述推理和计算的过程,直至在知识库中查找到对应的知识点,所述知识点包括答案;
将查找到的知识点的答案发送给用户;
其中,进行推理处理,以得到推理后的请求信息包括:
根据预先建立的知识图谱,进行推理处理,以得到推理后的请求信息;
其中,所述知识图谱包括知识库中的多个实例及实例之间的关联关系;所述知识库中的知识点包括问题和答案,当所述问题包括第一实例,所述***括第二实例时,所述知识点还包括所述第一实例和第二实例的关联关系;
根据预先建立的知识图谱,进行推理处理,以得到推理后的请求信息,包括:
计算所述初始请求信息与知识库中的问题的相似度,所述初始请求信息包括第一实例;
选取所述相似度大于第二预设阈值的问题的集合,作为所述初始请求信息的扩展问候选集,所述扩展问候选集包括多个候选问,所述扩展问候选集中的候选问包括所述第一实例;
从所述扩展问候选集中选取一个待处理候选问;
当所述待处理候选问不能从左往右依次消费所述初始请求信息中的词时,从所述扩展问候选集中重新选取一个待处理候选问,直至选取的所述待处理候选问能从左往右依次消费所述初始请求信息中的词,将选取的所述待处理候选问作为目标候选问;
获取所述目标候选问对应的答案,当所述答案引用第二实例时,将所述初始请求信息中被目标候选问消费掉的词替换为所述第二实例,得到推理后的请求信息。
2.一种机器人自动问答的***,其特征在于,包括:
用户请求接收模块,用于接收用户的初始请求信息,所述初始请求信息包括第一实例和N个属性信息,N大于或等于2;
第一知识点查找模块,用于通过相似度计算在知识库中查找与所述初始请求信息对应的知识点;
推理模块,用于当未在知识库中查找到对应的知识点时,进行推理处理,以得到推理后的请求信息,所述推理后的请求信息包括第二实例和M个属性信息,M小于或等于N-1;
第二知识点查找模块,用于通过相似度计算在知识库中查找与所述推理后的请求信息对应的知识点,所述知识点包括答案;
知识点确定模块,用于当未在知识库中查找到对应的知识点时,不断重复触发推理模块和第二知识点查找模块进行推理和计算的过程,直至在知识库中查找到对应的知识点;
输出模块,用于将查找到的知识点的答案发送给用户;
其中,所述推理模块具体用于:
当未在知识库中查找到对应的知识点时,根据预先建立的知识图谱,进行推理处理,以得到推理后的请求信息;
其中,所述知识图谱包括知识库中的多个实例及实例之间的关联关系;所述知识库中的知识点包括问题和答案,当所述问题包括第一实例,所述***括第二实例时,所述知识点还包括所述第一实例和第二实例的关联关系;
所述推理模块包括:
相似度计算单元,用于计算所述初始请求信息与知识库中的问题的相似度,所述初始请求信息包括第一实例;
扩展问候选集确定单元,用于选取所述相似度大于第二预设阈值的问题的集合,作为所述初始请求信息的扩展问候选集,所述扩展问候选集包括多个候选问,所述扩展问候选集中的候选问包括所述第一实例;
待处理候选问选取单元,用于从所述扩展问候选集中选取一个待处理候选问;
目标候选问确定单元,用于当所述待处理候选问不能从左往右依次消费所述初始请求信息中的词时,从所述扩展问候选集中重新选取一个待处理候选问,直至选取的所述待处理候选问能从左往右依次消费所述初始请求信息中的词,将选取的所述待处理候选问作为目标候选问;
推理后请求信息确定单元,用于获取所述目标候选问对应的答案,当所述答案引用第二实例时,将所述初始请求信息中被目标候选问消费掉的词替换为所述第二实例,得到推理后的请求信息。
3.一种服务器,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1所述的机器人自动问答的方法。
4.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1所述的机器人自动问答的方法。
CN201711173973.5A 2017-11-22 2017-11-22 机器人自动问答的方法及机器人自动问答的*** Active CN110019709B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711173973.5A CN110019709B (zh) 2017-11-22 2017-11-22 机器人自动问答的方法及机器人自动问答的***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711173973.5A CN110019709B (zh) 2017-11-22 2017-11-22 机器人自动问答的方法及机器人自动问答的***

Publications (2)

Publication Number Publication Date
CN110019709A CN110019709A (zh) 2019-07-16
CN110019709B true CN110019709B (zh) 2024-05-17

Family

ID=67185896

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711173973.5A Active CN110019709B (zh) 2017-11-22 2017-11-22 机器人自动问答的方法及机器人自动问答的***

Country Status (1)

Country Link
CN (1) CN110019709B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114490969B (zh) * 2021-12-29 2023-03-07 北京百度网讯科技有限公司 基于表格的问答方法、装置以及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105608218A (zh) * 2015-12-31 2016-05-25 上海智臻智能网络科技股份有限公司 智能问答知识库的建立方法、建立装置及建立***
WO2017076263A1 (zh) * 2015-11-03 2017-05-11 中兴通讯股份有限公司 融合知识库处理方法和装置及知识库管理***、存储介质
CN106776797A (zh) * 2016-11-22 2017-05-31 中国人名解放军理工大学 一种基于本体推理的知识问答***及其工作方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10394956B2 (en) * 2015-12-31 2019-08-27 Shanghai Xiaoi Robot Technology Co., Ltd. Methods, devices, and systems for constructing intelligent knowledge base

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017076263A1 (zh) * 2015-11-03 2017-05-11 中兴通讯股份有限公司 融合知识库处理方法和装置及知识库管理***、存储介质
CN105608218A (zh) * 2015-12-31 2016-05-25 上海智臻智能网络科技股份有限公司 智能问答知识库的建立方法、建立装置及建立***
CN106776797A (zh) * 2016-11-22 2017-05-31 中国人名解放军理工大学 一种基于本体推理的知识问答***及其工作方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于表示学习的知识库问答研究进展与展望;刘康;张元哲;纪国良;来斯惟;赵军;;自动化学报(06);全文 *
网络教学平台中问答***的关键技术研究;曾庆鹏;吴水秀;;计算机与现代化(07);全文 *

Also Published As

Publication number Publication date
CN110019709A (zh) 2019-07-16

Similar Documents

Publication Publication Date Title
CN107885842B (zh) 智能问答的方法、装置、服务器及存储介质
CN109308357B (zh) 一种用于获得答案信息的方法、装置和设备
CN106649825B (zh) 语音交互***及其创建方法和装置
CN111708869B (zh) 人机对话的处理方法及装置
CN111914179B (zh) 基于语义的模糊搜索方法和装置、存储介质及电子设备
JP4890585B2 (ja) 対話制御システム及びプログラム、並びに、多次元オントロジー処理システム及びプログラム
JP7488871B2 (ja) 対話推薦方法、装置、電子機器、記憶媒体ならびにコンピュータプログラム
CN110019729B (zh) 智能问答方法及存储介质、终端
EP4060517A1 (en) System and method for designing artificial intelligence (ai) based hierarchical multi-conversation system
CN111191450A (zh) 语料清洗方法、语料录入设备及计算机可读存储介质
CN110377745B (zh) 信息处理方法、信息检索方法、装置及服务器
CN111400458A (zh) 一种自动泛化方法及其装置
CN109829037A (zh) 智能自动问答的方法、***、服务器及存储介质
US20200057811A1 (en) Hybrid Natural Language Understanding
CN112035647B (zh) 一种基于人机交互的问答方法、装置、设备及介质
CN111460120A (zh) 一种对话管理方法、装置、设备及存储介质
CN111026840A (zh) 文本处理方法、装置、服务器和存储介质
CN110019709B (zh) 机器人自动问答的方法及机器人自动问答的***
CN109656952B (zh) 查询处理方法、装置及电子设备
CN111506717A (zh) 问题答复方法、装置、设备及存储介质
CN111737425B (zh) 一种应答方法、装置、服务器及存储介质
CN114579605A (zh) 表格问答数据处理方法、电子设备及计算机存储介质
CN114756655A (zh) 数据查询方法、装置、设备及存储介质
Li et al. Constructing personalized messages for informing cyber-physical systems based on dynamic context information processing
CN113641897A (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