CN110297893A - 自然语言问答方法、装置、计算机装置及存储介质 - Google Patents
自然语言问答方法、装置、计算机装置及存储介质 Download PDFInfo
- Publication number
- CN110297893A CN110297893A CN201910407731.0A CN201910407731A CN110297893A CN 110297893 A CN110297893 A CN 110297893A CN 201910407731 A CN201910407731 A CN 201910407731A CN 110297893 A CN110297893 A CN 110297893A
- Authority
- CN
- China
- Prior art keywords
- described problem
- answer
- term vector
- vector
- word
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000009434 installation Methods 0.000 title claims abstract description 25
- 238000003860 storage Methods 0.000 title claims abstract description 18
- 238000013507 mapping Methods 0.000 claims abstract description 38
- 238000004590 computer program Methods 0.000 claims description 23
- 238000013136 deep learning model Methods 0.000 claims description 12
- 238000005520 cutting process Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 8
- 230000011218 segmentation Effects 0.000 description 8
- 230000003993 interaction Effects 0.000 description 5
- 238000010276 construction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000036651 mood Effects 0.000 description 4
- 238000003062 neural network model Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001149 cognitive effect Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 210000004218 nerve net Anatomy 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 1
- 238000000926 separation method 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/3347—Query execution using vector based model
-
- 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/35—Clustering; Classification
-
- 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)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种自然语言问答方法、装置、计算机装置及存储介质。所述方法包括:获取待解答的问题;对所述问题构建第一词向量;根据所述第一词向量对所述问题进行分类,得到所述问题的类别;在知识图谱中所述类别下对所述问题中的预定关键词进行检索,得到所述问题的多个答案;对所述多个答案中的每个答案构建第二词向量;根据所述第一词向量与所述第二词向量计算所述问题与所述每个答案的匹配值,将所述匹配值最高的答案确定为所述问题的目标答案。本发明提高了自然语言问答的效率和准确性。
Description
技术领域
本发明涉及人机交互技术领域,具体涉及一种自然语言问答方法、装置、计算机装置及存储介质。
背景技术
自然语言形式的问答逐渐成为一种人机交互的新趋势,正处于从文本关键词浅层语义搜索提升到基于智能化深度问答的深刻变革中。智能化深度问答需要对海量信息进行处理,知识图谱提供了一种更好地组织、管理和理解海量信息的能力。面向知识图谱的问答能够保证系统答案的推理性及准确性,可有效缓解知识的不确定性、多样性和复杂性问题。但是目前面向知识图谱的问答系统在知识表示方法上常用的是基于产生式规则、逻辑表示、框架表示、语义网络、本体等方法,在查询检索上主要是模板匹配、语义逻辑表达式、SPARQL查询等方法。然而,这些方法不仅需要大量人工方法的介入,而且在问句和知识的深层次语义解析上效果欠佳。
发明内容
鉴于以上内容,有必要提出一种自然语言问答方法、装置、计算机装置及存储介质,其可以提高计算机装置的使用效率和业务网点的业务办理效率。
本申请的第一方面提供一种自然语言问答方法,所述方法包括:
获取待解答的问题;
对所述问题构建第一词向量;
根据所述第一词向量对所述问题进行分类,得到所述问题的类别;
在知识图谱中所述类别下对所述问题中的预定关键词进行检索,得到所述问题的多个答案;
对所述多个答案中的每个答案构建第二词向量;
根据所述第一词向量与所述第二词向量计算所述问题与每个答案的匹配值,将所述匹配值最高的答案确定为所述问题的目标答案。
另一种可能的实现方式中,所述对所述问题构建第一词向量包括:
对所述问题进行分词,得到组成所述问题的各个词语;
根据所述各个词语构建所述第一词向量。
另一种可能的实现方式中,所述对所述问题进行分词包括:
利用结巴分词对所述问题进行分词;或者
利用特定字符对所述问题进行分词;或者
利用词典库对所述问题进行分词。
另一种可能的实现方式中,所述根据所述第一词向量对所述问题进行分类,得到所述问题的类别包括:
将所述第一词向量输入fastText深度学习模型,根据所述fastText深度学习模型输出的所述第一词向量属于不同类别的概率确定所述问题的类别。
另一种可能的实现方式中,所述对所述问题构建第一词向量之前,所述方法还包括:
去除所述问题中的指定字符。
另一种可能的实现方式中,所述根据所述第一词向量与所述第二词向量计算所述问题与所述每个答案的匹配值包括:
根据所述第一词向量与所述第二词向量构造第三词向量(词语1,词语2,…,词语n),所述第三词向量包含所述问题与所述答案的所有不重复的词语,其中n为所述问题与所述答案包含的所有不重复的词语的数量;
构造第一数值向量a=(a1,a2,…,an),若词语i,i=1,2,…,n包含在所述第一词向量中,则ai=1,否则,若词语i,i=1,2,…,n未包含在所述第一词向量中,则ai=0;
构造第二数值向量b=(b1,b2,…,bn),若词语i,i=1,2,…,n包含在所述第二词向量中,则bi=1,否则,若词语i,i=1,2,…,n未包含在所述第二词向量中,则bi=0;
计算所述第一数值向量和所述第二数值向量的内积,将所述第一数值向量所述和第二数值向量的内积作为所述问题与所述答案的匹配值。
另一种可能的实现方式中,所述方法还包括:
对所述问题构建第一频率向量;
对所述每个答案构建第二频率向量;
所述根据所述第一词向量与所述第二词向量计算所述问题与每个答案的匹配值还包括:
根据所述第一频率向量调整所述第一数值向量,得到调整后的第一数值向量;
根据所述第二频率向量调整所述第二数值向量,得到调整后的第二数值向量;
计算所述调整后的第一数值向量和所述调整后的第二数值向量的内积,将所述内积作为所述问题与所述答案的匹配值。
本申请的第二方面提供一种自然语言问答装置,所述装置包括:
获取模块,用于获取待解答的问题;
第一构建模块,用于对所述问题构建第一词向量;
分类模块,用于根据所述第一词向量对所述问题进行分类,得到所述问题的类别;
检索模块,用于在知识图谱中所述类别下对所述问题中的预定关键词进行检索,得到所述问题的多个答案;
第二构建模块,用于对所述多个答案中的每个答案构建第二词向量;
确定模块,用于根据所述第一词向量与所述第二词向量计算所述问题与每个答案的匹配值,将所述匹配值最高的答案确定为所述问题的目标答案。
另一种可能的实现方式中,所述第一构建模块对所述问题构建第一词向量包括:
对所述问题进行分词,得到组成所述问题的各个词语;
根据所述各个词语构建所述第一词向量。
另一种可能的实现方式中,所述第一构建模块对所述问题进行分词包括:
利用结巴分词对所述问题进行分词;或者
利用特定字符对所述问题进行分词;或者
利用词典库对所述问题进行分词。
另一种可能的实现方式中,所述分类模块根据所述第一词向量对所述问题进行分类,得到所述问题的类别包括:
将所述第一词向量输入fastText深度学习模型,根据所述fastText深度学习模型输出的所述第一词向量属于不同类别的概率确定所述问题的类别。
另一种可能的实现方式中,所述装置还包括:
去除模块,用于在对所述问题构建第一词向量之前,去除所述问题中的指定字符。
另一种可能的实现方式中,所述确定模块根据所述第一词向量与所述第二词向量计算所述问题与所述每个答案的匹配值包括:
根据所述第一词向量与所述第二词向量构造第三词向量(词语1,词语2,…,词语n),所述第三词向量包含所述问题与所述答案的所有不重复的词语,其中n为所述问题与所述答案包含的所有不重复的词语的数量;
构造第一数值向量a=(a1,a2,…,an),若词语i,i=1,2,…,n包含在所述第一词向量中,则ai=1,否则,若词语i,i=1,2,…,n未包含在所述第一词向量中,则ai=0;
构造第二数值向量b=(b1,b2,…,bn),若词语i,i=1,2,…,n包含在所述第二词向量中,则bi=1,否则,若词语i,i=1,2,…,n未包含在所述第二词向量中,则bi=0;
计算所述第一数值向量和所述第二数值向量的内积,将所述第一数值向量所述和第二数值向量的内积作为所述问题与所述答案的匹配值
另一种可能的实现方式中,所述装置还包括:
第三构建模块,用于对所述问题构建第一频率向量,对所述每个答案构建第二频率向量;
所述确定模块根据所述第一词向量与所述第二词向量计算所述问题与每个答案的匹配值还包括:
根据所述第一频率向量调整所述第一数值向量,得到调整后的第一数值向量;
根据所述第二频率向量调整所述第二数值向量,得到调整后的第二数值向量;
计算所述调整后的第一数值向量和所述调整后的第二数值向量的内积,将所述内积作为所述问题与所述答案的匹配值。
本申请的第三方面提供一种计算机装置,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现所述自然语言问答方法。
本申请的第四方面提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述自然语言问答方法。
本发明获取待解答的问题;对所述问题构建第一词向量;根据所述第一词向量对所述问题进行分类,得到所述问题的类别;在知识图谱中所述类别下对所述问题中的预定关键词进行检索,得到所述问题的多个答案;对所述多个答案中的每个答案构建第二词向量;根据所述第一词向量与所述第二词向量计算所述问题与每个答案的匹配值,将所述匹配值最高的答案确定为所述问题的目标答案。本发明解决了现有方案中需要人工定义语言特征、额外定义词汇映射表的问题,提高了自然语言问答的效率和准确性。
附图说明
图1是本发明实施例提供的自然语言问答方法的流程图。
图2是本发明实施例提供的自然语言问答装置的结构图。
图3是本发明实施例提供的计算机装置的示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
优选地,本发明的自然语言问答方法应用在一个或者多个计算机装置中。所述计算机装置是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机装置可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机装置可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
实施例一
图1是本发明实施例一提供的自然语言问答方法的流程图。所述自然语言问答方法应用于计算机装置。所述自然语言问答方法能够获得问题的答案,提高自然语言问答的效率和准确性。
如图1所示,所述自然语言问答方法包括:
步骤101,获取待解答的问题。
所述问题是自然语言问题,即通过自然语言交互形式提出的问题。可以生成用户交互界面,从所述用户交互界面接收用户输入的问题。例如,接收用户输入的问题“姚明出生在哪里”。
可以接收用户文字输入的问题,例如,接收用户在所述用户交互界面的问题输入框输入的问题。
或者,可以接收用户语音输入的问题,将用户的语音转换为文字。
或者,可以生成所述问题。例如,可以提取存储在知识图谱中的三元组中表达的实体和关系中的一组关键字,通过卷积神经网络对该组关键字进行排序,以产生所述问题。
步骤102,对所述问题构建第一词向量。
对所述问题构建第一词向量是指对组成所述问题的词语构建第一词向量。在本实施例中,构建的第一词向量包括组成所述问题的各个词语。例如,问题为“姚明出生在哪里”,构建的第一词向量为(姚明,出生,在,哪里)。在本实施例中,还可以对所述问题构建第一频率向量,用于表示组成问题的各个词语在所述问题中出现的次数。例如,第一词向量为(姚明,出生,在,哪里),对应的第一频率向量为(1,1,1,1)。其中,(1,1,1,1)的括号中的数字表示组成问题的各个词语在所述问题中出现的次数。
在本实施例中,所述问题是中文问题,对所述问题构建第一词向量可以包括:对所述问题进行分词,得到组成所述问题的各个词语;根据组成所述问题的各个词语构建所述第一词向量。
可以利用结巴分词对所述问题进行分词。结巴分词属于概率语言模型分词,其任务是在全切分所得的所有结果中求某个切分方案S,使得P(S)最大。
可以利用特定字符对所述问题进行分词。利用特定字符对所述问题进行分词就是在所述问题中所述特定字符的前和/或后的位置上进行切分,得到所述问题的分词结果。例如,可以使用预设动词(如去、在)对所述问题进行分词,在所述问题中预设动词的前和/或后的位置上进行切分,得到所述问题的分词结果。
可以利用词典库对所述问题进行分词。词典库包括多个专有名词,将专有名词作为单个词语不再进行切分。
在本实施例中,在对所述问题构建第一词向量之前,可以去除所述问题中的指定字符。可以在对所述问题进行分词时,去除分词得到的所述问题中的指定字符。或者,可以在将组成所述问题的各个词语构建为第一词向量时,去除所述问题中的指定字符。所述指定字符可以包括助词,例如语气助词(吗、呢、啊、吧等)、时态助词(着、了、过等)、结构助词(的、地、得等)。所述指定字符可以包括英文字符、数字、符号、介词、连词等。可以建立停词库,停词库中包括需去除的指定字符(即停用词)。
步骤103,根据所述第一词向量对所述问题进行分类,得到所述问题的类别。
问题的类别指明了所述问题的答案在知识图谱中的位置。例如,问题为“姚明出生在哪里”,问题的类别为运动名人。又如,问题为“加速度是什么”,问题的类别为物理。
在本实施例中,可以利用神经网络模型对所述问题进行分类。在利用所述神经网络模型对所述问题进行分类之前,需要使用多个训练样本对所述神经网络模型进行训练。每个训练样本就是一个标注有类别的问题的词向量。
在一具体实施例中,可以利用fastText深度学习模型对所述问题进行分类。具体地,将所述第一词向量输入fastText深度学习模型,根据所述fastText深度学习模型输出的所述第一词向量属于不同类别的概率确定所述问题的类别。例如,若所述第一词向量属于指定类别的概率最高,则确定所述问题的类别为该指定类别。
步骤104,在知识图谱中所述类别下对所述问题中的预定关键词进行检索,得到所述问题的多个答案。
所述预定关键词可以按照预定条件从组成所述问题的各个词语中进行确定。在本实施例中,所述预定关键词包括所述问题的主语、谓语和宾语。例如问题为“姚明出生在哪里”,预定关键词包括“姚明”、“出生”、“在哪里”。
知识图谱是指某个领域中的可视化知识或映射地图,包含着知识结构与关系。随着大数据和知识工程的发展,越来越多地通过信息抽取、知识融合及知识加工等技术将海量的非结构化数据构建为知识图谱,使得海量的数据信息表达成更接近人类认知世界的形式,提供了一种更好地组织、管理和理解海量信息的能力。
可以预先建立各种不同领域的知识图谱。例如,预先建立运动名人知识图谱,用节点表示各个运动名人,比如姚明。与姚明有关的知识点有很多,比如姚明的出生地、姚明的荣誉、姚明的朋友等。对于问题“姚明出生在哪里”的例子中,就是从运动名人知识图谱中检索姚明的出生地。
在知识图谱中所述类别下对所述问题中的预定关键词进行检索,可以得到所述问题的多个答案。例如,对于问题“姚明出生在哪里”中的预定关键词“姚明”、“出生”、“在哪里”进行检索,得到答案“姚明出生于上海”、“姚明是上海人”。
步骤105,对所述多个答案中的每个答案构建第二词向量。
与构建问题的第一词向量相类似,对答案构建第二词向量是指对组成所述答案的词语构建第二词向量。在本实施例中,构建的第二词向量包括组成所述答案的各个词语。例如,答案为“姚明出生于上海”,构建的第二词向量为(姚明,出生,于,上海)。在本实施例中,还可以对所述多个答案中的每个答案构建第二频率向量,用于表示组成答案的各个词语在所述答案中出现的次数。例如,第二词向量为(姚明,出生,于,上海),对应的第二频率向量为(1,1,1,1)。其中,(1,1,1,1)的括号中的数字表示组成答案的各个词语在所述答案中出现的次数。
在本实施例中,所述答案是中文答案,对所述答案构建第二词向量可以包括对所述答案进行分词,得到组成所述答案的各个词语,对组成所述答案的各个词语构建第二词向量。
可以利用结巴分词对所述答案进行分词。
可以利用特定字符对所述答案进行分词,在所述答案中所述特定字符的前和/或后的位置上进行切分,得到所述答案的分词结果。例如,可以使用预设动词(如去、在)对所述答案进行分词,在所述答案中预设动词的前和/或后的位置上进行切分,得到所述答案的分词结果。
可以利用词典库对所述答案进行分词。词典库包括多个专有名词,将专有名词作为单个词语不再进行切分。
在本实施例中,在对所述答案构建第二词向量时,可以去除所述答案中的指定字符。可以在对所述答案进行分词时,去除分词得到的所述答案中的指定字符。或者,可以在将组成所述答案的各个词语构建为第二词向量时,去除所述答案中的指定字符。所述指定字符可以包括助词,例如语气助词(吗、呢、啊、吧等)、时态助词(着、了、过等)、结构助词(的、地、得等)。所述指定字符可以包括英文字符、数字、符号、介词、连词等。可以建立停词库,停词库中包括需去除的指定字符(即停用词)。
步骤106,根据所述第一词向量与所述第二词向量计算所述问题与每个答案的匹配值,将所述匹配值最高的答案确定为所述问题的目标答案。
在本实施例中,根据所述第一词向量与所述第二词向量计算所述问题与每个答案的匹配值可以包括:
(1)根据第一词向量与第二词向量构造第三词向量(词语1,词语2,…,词语n),所述第三词向量包含所述问题与所述答案的所有不重复的词语,其中n为所述问题与所述答案包含的所有不重复的词语的数量。例如问题为“姚明出生在哪里”(第一词向量为(姚明,出生,在,哪里)),答案为“姚明出生于上海”(第二词向量为(姚明,出生,于,上海)),则第三词向量为(姚明,出生,在,哪里,于,上海)。
(2)构造第一数值向量a=(a1,a2,…,an),若词语i,i=1,2,…,n包含在所述第一词向量中,则ai=1,否则,若词语i,i=1,2,…,n未包含在所述第一词向量中则ai=0。例如,构造答案“姚明出生于上海”对应的第一数值向量(1,1,1,1,0,0)。
(3)构造第二数值向量b=(b1,b2,…,bn),若词语i,i=1,2,…,n包含在所述第二词向量中,则bi=1,否则,若词语i,i=1,2,…,n未包含在所述第二词向量中,则bi=0。例如,构造答案“姚明出生于上海”对应的第二数值向量为(1,1,0,0,1,1)。
(4)计算所述第一数值向量和所述第二数值向量的内积,将所述第一数值向量所述和第二数值向量的内积作为所述问题与所述答案的匹配值。例如,计算第一数值向量(1,1,1,1,0,0)和第二数值向量为(1,1,0,0,1,1)的内积为2,即问题“姚明出生在哪里”与答案“姚明出生于上海”的匹配值为2。
举例来说,问题为“姚明出生在哪里”,答案包括“姚明出生于上海”、“姚明是上海人”。问题“姚明出生在哪里”对应的第一词向量为(姚明,出生,在,哪里),答案“姚明出生于上海”对应的第二词向量为(姚明,出生,于,上海),答案“姚明是上海人”对应的第二词向量为(姚明,是,上海人)。
第一词向量(姚明,出生,在,哪里)与第二词向量(姚明,出生,于,上海)确定的第一数值向量为(1,1,1,1,0,0),第二数值向量为(1,1,0,0,1,1),第一数值向量(1,1,1,1,0,0)与第二数值向量(1,1,0,0,1,1)的内积为2,因此,问题“姚明出生在哪里”与答案“姚明出生于上海”的匹配值为2。
第一词向量(姚明,出生,在,哪里)与第二词向量(姚明,是,上海人)确定的第一数值向量为(1,1,1,1,0,0),第二数值向量为(1,0,0,0,1,1),第一数值向量(1,1,1,1,0,0)与第二数值向量(1,0,0,0,1,1)的内积为1,因此,问题“姚明出生在哪里”与答案“姚明是上海人”的匹配值为1。
因此,问题“姚明出生在哪里”的目标答案是“姚明出生于上海”。
在另一实施例中,根据所述第一词向量与所述第二词向量计算所述问题与每个答案的匹配值还包括:
根据所述第一频率向量调整所述第一数值向量,得到调整后的第一数值向量;
根据所述第二频率向量调整所述第二数值向量,得到调整后的第二数值向量;
计算所述调整后的第一数值向量和所述调整后的第二数值向量的内积,将所述调整后的第一数值向量和所述调整后的第二数值向量的内积作为所述问题与所述答案的匹配值。
根据所述第一频率向量调整所述第一数值向量可以包括:若词语i,i=1,2,…,n包含在所述第一词向量中且在所述问题中出现的次数为p,则ai=p;根据所述第二频率向量调整所述第二数值向量可以包括:若词语i,i=1,2,…,n包含在所述第二词向量中且在所述答案中出现的次数为q,则bi=q。
实施例一的自然语言问答方法获取待解答的问题;对所述问题构建第一词向量;根据所述第一词向量对所述问题进行分类,得到所述问题的类别;在知识图谱中所述类别下对所述问题中的预定关键词进行检索,得到所述问题的多个答案;对所述多个答案中的每个答案构建第二词向量;根据所述第一词向量与所述第二词向量计算所述问题与每个答案的匹配值,将所述匹配值最高的答案确定为所述问题的目标答案。实施例一解决了现有方案中需要人工定义语言特征、额外定义词汇映射表的问题,提高了自然语言问答的效率和准确性。
在另一实施例中,所述自然语言问答方法还可以包括:输出所述目标答案。可以在用户交互界面显示所述目标问题。可以根据所述问题和所述目标答案生成问题-答案对,输出所述问题-答案对。
实施例二
图2是本发明实施例二提供的自然语言问答装置的结构图。所述自然语言问答装置20应用于计算机装置。所述自然语言问答装置20能够获得问题的答案,提高自然语言问答的效率和准确性。
如图2所示,所述自然语言问答装置20可以包括获取模块201、第一构建模块202、分类模块203、检索模块204、第二构建模块205、确定模块206。
获取模块201,用于获取待解答的问题。
所述问题是自然语言问题,即通过自然语言交互形式提出的问题。可以生成用户交互界面,从所述用户交互界面接收用户输入的问题。例如,接收用户输入的问题“姚明出生在哪里”。
可以接收用户文字输入的问题,例如,接收用户在所述用户交互界面的问题输入框输入的问题。
或者,可以接收用户语音输入的问题,将用户的语音转换为文字。
或者,可以生成所述问题。例如,可以提取存储在知识图谱中的三元组中表达的实体和关系中的一组关键字,通过卷积神经网络对该组关键字进行排序,以产生所述问题。
第一构建模块202,用于对所述问题构建第一词向量。
对所述问题构建第一词向量是指对组成所述问题的词语构建第一词向量。在本实施例中,构建的第一词向量包括组成所述问题的各个词语。例如,问题为“姚明出生在哪里”,构建的第一词向量为(姚明,出生,在,哪里)。在本实施例中,还可以对所述问题构建第一频率向量,用于表示组成问题的各个词语在所述问题中出现的次数。例如,第一词向量为(姚明,出生,在,哪里),对应的第一频率向量为(1,1,1,1)。其中,(1,1,1,1)的括号中的数字表示组成问题的各个词语在所述问题中出现的次数。
在本实施例中,所述问题是中文问题,对所述问题构建第一词向量可以包括:对所述问题进行分词,得到组成所述问题的各个词语;根据组成所述问题的各个词语构建所述第一词向量。
可以利用结巴分词对所述问题进行分词。结巴分词属于概率语言模型分词,其任务是在全切分所得的所有结果中求某个切分方案S,使得P(S)最大。
可以利用特定字符对所述问题进行分词。利用特定字符对所述问题进行分词就是在所述问题中所述特定字符的前和/或后的位置上进行切分,得到所述问题的分词结果。例如,可以使用预设动词(如去、在)对所述问题进行分词,在所述问题中预设动词的前和/或后的位置上进行切分,得到所述问题的分词结果。
可以利用词典库对所述问题进行分词。词典库包括多个专有名词,将专有名词作为单个词语不再进行切分。
在本实施例中,在对所述问题构建第一词向量之前,可以去除所述问题中的指定字符。可以在对所述问题进行分词时,去除分词得到的所述问题中的指定字符。或者,可以在将组成所述问题的各个词语构建为第一词向量时,去除所述问题中的指定字符。所述指定字符可以包括助词,例如语气助词(吗、呢、啊、吧等)、时态助词(着、了、过等)、结构助词(的、地、得等)。所述指定字符可以包括英文字符、数字、符号、介词、连词等。可以建立停词库,停词库中包括需去除的指定字符(即停用词)。
分类模块203,用于根据所述第一词向量对所述问题进行分类,得到所述问题的类别。
问题的类别指明了所述问题的答案在知识图谱中的位置。例如,问题为“姚明出生在哪里”,问题的类别为运动名人。又如,问题为“加速度是什么”,问题的类别为物理。
在本实施例中,可以利用神经网络模型对所述问题进行分类。在利用所述神经网络模型对所述问题进行分类之前,需要使用多个训练样本对所述神经网络模型进行训练。每个训练样本就是一个标注有类别的问题的词向量。
在一具体实施例中,可以利用fastText深度学习模型对所述问题进行分类。将所述第一词向量输入fastText深度学习模型,根据所述fastText深度学习模型输出的所述第一词向量属于不同类别的概率确定所述问题的类别。例如,若所述第一词向量属于指定类别的概率最高,则确定所述问题的类别为该指定类别。
检索模块204,用于在知识图谱中所述类别下对所述问题中的预定关键词进行检索,得到所述问题的多个答案。
所述预定关键词可以按照预定条件从组成所述问题的各个词语中进行确定。在本实施例中,所述预定关键词包括所述问题的主语、谓语和宾语。例如问题为“姚明出生在哪里”,预定关键词包括“姚明”、“出生”、“在哪里”。
知识图谱是指某个领域中的可视化知识或映射地图,包含着知识结构与关系。随着大数据和知识工程的发展,越来越多地通过信息抽取、知识融合及知识加工等技术将海量的非结构化数据构建为知识图谱,使得海量的数据信息表达成更接近人类认知世界的形式,提供了一种更好地组织、管理和理解海量信息的能力。
可以预先建立各种不同领域的知识图谱。例如,预先建立运动名人知识图谱,用节点表示各个运动名人,比如姚明。与姚明有关的知识点有很多,比如姚明的出生地、姚明的荣誉、姚明的朋友等。对于问题“姚明出生在哪里”的例子中,就是从运动名人知识图谱中检索姚明的出生地。
在知识图谱中所述类别下对所述问题中的预定关键词进行检索,可以得到所述问题的多个答案。例如,对于问题“姚明出生在哪里”中的预定关键词“姚明”、“出生”、“在哪里”进行检索,得到答案“姚明出生于上海”、“姚明是上海人”。
第二构建模块205,用于对所述多个答案中的每个答案构建第二词向量。
与构建问题的第一词向量相类似,对答案构建第二词向量是指对组成所述答案的词语构建第二词向量。在本实施例中,构建的第二词向量包括组成所述答案的各个词语。例如,答案为“姚明出生于上海”,构建的第二词向量为(姚明,出生,于,上海)。在本实施例中,还可以对所述多个答案中的每个答案构建第二频率向量,用于表示组成答案的各个词语在所述答案中出现的次数。例如,第二词向量为(姚明,出生,于,上海),对应的第二频率向量为(1,1,1,1)。其中,(1,1,1,1)的括号中的数字表示组成答案的各个词语在所述答案中出现的次数。
在本实施例中,所述答案是中文答案,对所述答案构建第二词向量可以包括对所述答案进行分词,得到组成所述答案的各个词语,对组成所述答案的各个词语构建第二词向量。
可以利用结巴分词对所述答案进行分词。
可以利用特定字符对所述答案进行分词,在所述答案中所述特定字符的前和/或后的位置上进行切分,得到所述答案的分词结果。例如,可以使用预设动词(如去、在)对所述答案进行分词,在所述答案中预设动词的前和/或后的位置上进行切分,得到所述答案的分词结果。
可以利用词典库对所述答案进行分词。词典库包括多个专有名词,将专有名词作为单个词语不再进行切分。
在本实施例中,在对所述答案构建第二词向量时,可以去除所述答案中的指定字符。可以在对所述答案进行分词时,去除分词得到的所述答案中的指定字符。或者,可以在将组成所述答案的各个词语构建为第二词向量时,去除所述答案中的指定字符。所述指定字符可以包括助词,例如语气助词(吗、呢、啊、吧等)、时态助词(着、了、过等)、结构助词(的、地、得等)。所述指定字符可以包括英文字符、数字、符号、介词、连词等。可以建立停词库,停词库中包括需去除的指定字符(即停用词)。
确定模块206,用于根据所述第一词向量与所述第二词向量计算所述问题与每个答案的匹配值,将所述匹配值最高的答案确定为所述问题的目标答案。
在本实施例中,根据所述第一词向量与所述第二词向量计算所述问题与每个答案的匹配值可以包括:
(1)根据第一词向量与第二词向量构造第三词向量(词语1,词语2,…,词语n),所述第三词向量包含所述问题与所述答案的所有不重复的词语,其中n为所述问题与所述答案包含的所有不重复的词语的数量。例如问题为“姚明出生在哪里”(第一词向量为(姚明,出生,在,哪里)),答案为“姚明出生于上海”(第二词向量为(姚明,出生,于,上海)),则第三词向量为(姚明,出生,在,哪里,于,上海)。
(2)构造第一数值向量a=(a1,a2,…,an),若词语i,i=1,2,…,n包含在所述第一词向量中,则ai=1,否则,若词语i,i=1,2,…,n未包含在所述第一词向量中则ai=0。例如,构造答案“姚明出生于上海”对应的第一数值向量(1,1,1,1,0,0)。
(3)构造第二数值向量b=(b1,b2,…,bn),若词语i,i=1,2,…,n包含在所述第二词向量中,则bi=1,否则,若词语i,i=1,2,…,n未包含在所述第二词向量中,则bi=0。例如,构造答案“姚明出生于上海”对应的第二数值向量为(1,1,0,0,1,1)。
(4)计算所述第一数值向量和所述第二数值向量的内积,将所述第一数值向量所述和第二数值向量的内积作为所述问题与所述答案的匹配值。例如,计算第一数值向量(1,1,1,1,0,0)和第二数值向量为(1,1,0,0,1,1)的内积为2,即问题“姚明出生在哪里”与答案“姚明出生于上海”的匹配值为2。
举例来说,问题为“姚明出生在哪里”,答案包括“姚明出生于上海”、“姚明是上海人”。问题“姚明出生在哪里”对应的第一词向量为(姚明,出生,在,哪里),答案“姚明出生于上海”对应的第二词向量为(姚明,出生,于,上海),答案“姚明是上海人”对应的第二词向量为(姚明,是,上海人)。
第一词向量(姚明,出生,在,哪里)与第二词向量(姚明,出生,于,上海)确定的第一数值向量为(1,1,1,1,0,0),第二数值向量为(1,1,0,0,1,1),第一数值向量(1,1,1,1,0,0)与第二数值向量(1,1,0,0,1,1)的内积为2,因此,问题“姚明出生在哪里”与答案“姚明出生于上海”的匹配值为2。
第一词向量(姚明,出生,在,哪里)与第二词向量(姚明,是,上海人)确定的第一数值向量为(1,1,1,1,0,0),第二数值向量为(1,0,0,0,1,1),第一数值向量(1,1,1,1,0,0)与第二数值向量(1,0,0,0,1,1)的内积为1,因此,问题“姚明出生在哪里”与答案“姚明是上海人”的匹配值为1。
因此,问题“姚明出生在哪里”的目标答案是“姚明出生于上海”。
在另一实施例中,根据所述第一词向量与所述第二词向量计算所述问题与每个答案的匹配值还包括:
根据所述第一频率向量调整所述第一数值向量,得到调整后的第一数值向量;
根据所述第二频率向量调整所述第二数值向量,得到调整后的第二数值向量;
计算所述调整后的第一数值向量和所述调整后的第二数值向量的内积,将所述调整后的第一数值向量和所述调整后的第二数值向量的内积作为所述问题与所述答案的匹配值。
根据所述第一频率向量调整所述第一数值向量可以包括:若词语i,i=1,2,…,n包含在所述第一词向量中且在所述问题中出现的次数为p,则ai=p;根据所述第二频率向量调整所述第二数值向量可以包括:若词语i,i=1,2,…,n包含在所述第二词向量中且在所述答案中出现的次数为q,则bi=q。。
实施例二的自然语言问答装置20获取待解答的问题;对所述问题构建第一词向量;根据所述第一词向量对所述问题进行分类,得到所述问题的类别;在知识图谱中所述类别下对所述问题中的预定关键词进行检索,得到所述问题的多个答案;对所述多个答案中的每个答案构建第二词向量;根据所述第一词向量与所述第二词向量计算所述问题与每个答案的匹配值,将所述匹配值最高的答案确定为所述问题的目标答案。实施例二的自然语言问答装置20解决了现有方案中需要人工定义语言特征、额外定义词汇映射表的问题,提高了自然语言问答的效率和准确性。
在另一实施例中,所述自然语言问答装置20还可以包括:输出模块,输出所述目标答案。可以在用户交互界面显示所述目标问题。可以根据所述问题和所述目标答案生成问题-答案对,输出所述问题-答案对。
实施例三
本实施例提供一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述自然语言问答方法实施例中的步骤,例如图1所示的步骤101-106:
步骤101,获取待解答的问题;
步骤102,对所述问题构建第一词向量;
步骤103,根据所述第一词向量对所述问题进行分类,得到所述问题的类别;
步骤104,在知识图谱中所述类别下对所述问题中的预定关键词进行检索,得到所述问题的多个答案;
步骤105,对所述多个答案中的每个答案构建第二词向量;
步骤106,根据所述第一词向量与所述第二词向量计算所述问题与所述每个答案的匹配值,将所述匹配值最高的答案确定为所述问题的目标答案;
或者,该计算机程序被处理器执行时实现上述装置实施例中各模块的功能,例如图2中的模块201-206:
获取模块201,用于获取待解答的问题;
第一构建模块202,用于对所述问题构建第一词向量;
分类模块203,用于根据所述第一词向量对所述问题进行分类,得到所述问题的类别;
检索模块204,用于在知识图谱中所述类别下对所述问题中的预定关键词进行检索,得到所述问题的多个答案;
第二构建模块205,用于对所述多个答案中的每个答案构建第二词向量;
确定模块206,用于根据所述第一词向量与所述第二词向量计算所述问题与每个答案的匹配值,将所述匹配值最高的答案确定为所述问题的目标答案。
实施例四
图3为本发明实施例四提供的计算机装置的示意图。所述计算机装置30包括存储器301、处理器302以及存储在所述存储器301中并可在所述处理器302上运行的计算机程序303,例如自然语言问答程序。所述处理器302执行所述计算机程序303时实现上述自然语言问答方法实施例中的步骤,例如图1所示的步骤101-106:
步骤101,获取待解答的问题;
步骤102,对所述问题构建第一词向量;
步骤103,根据所述第一词向量对所述问题进行分类,得到所述问题的类别;
步骤104,在知识图谱中所述类别下对所述问题中的预定关键词进行检索,得到所述问题的多个答案;
步骤105,对所述多个答案中的每个答案构建第二词向量;
步骤106,根据所述第一词向量与所述第二词向量计算所述问题与所述每个答案的匹配值,将所述匹配值最高的答案确定为所述问题的目标答案。
或者,该计算机程序被处理器执行时实现上述装置实施例中各模块的功能,例如图2中的模块201-206:
获取模块201,用于获取待解答的问题;
第一构建模块202,用于对所述问题构建第一词向量;
分类模块203,用于根据所述第一词向量对所述问题进行分类,得到所述问题的类别;
检索模块204,用于在知识图谱中所述类别下对所述问题中的预定关键词进行检索,得到所述问题的多个答案;
第二构建模块205,用于对所述多个答案中的每个答案构建第二词向量;
确定模块206,用于根据所述第一词向量与所述第二词向量计算所述问题与每个答案的匹配值,将所述匹配值最高的答案确定为所述问题的目标答案。
示例性的,所述计算机程序303可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器301中,并由所述处理器302执行,以完成本方法。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序303在所述计算机装置30中的执行过程。例如,所述计算机程序303可以被分割成图2中的获取模块201、第一构建模块202、分类模块203、检索模块204、第二构建模块205、确定模块206,各模块具体功能参见实施例二。
所述计算机装置30可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。本领域技术人员可以理解,所述示意图3仅仅是计算机装置30的示例,并不构成对计算机装置30的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述计算机装置30还可以包括输入输出设备、网络接入设备、总线等。
所称处理器302可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器302也可以是任何常规的处理器等,所述处理器302是所述计算机装置30的控制中心,利用各种接口和线路连接整个计算机装置30的各个部分。
所述存储器301可用于存储所述计算机程序303,所述处理器302通过运行或执行存储在所述存储器301内的计算机程序或模块,以及调用存储在存储器301内的数据,实现所述计算机装置30的各种功能。所述存储器301可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机装置30的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器301可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述计算机装置30集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他模块或步骤,单数不排除复数。系统权利要求中陈述的多个模块或装置也可以由一个模块或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种自然语言问答方法,其特征在于,所述方法包括:
获取待解答的问题;
对所述问题构建第一词向量;
根据所述第一词向量对所述问题进行分类,得到所述问题的类别;
在知识图谱中所述类别下对所述问题中的预定关键词进行检索,得到所述问题的多个答案;
对所述多个答案中的每个答案构建第二词向量;
根据所述第一词向量与所述第二词向量计算所述问题与所述每个答案的匹配值,将所述匹配值最高的答案确定为所述问题的目标答案。
2.如权利要求1所述的方法,其特征在于,所述对所述问题构建第一词向量包括:
对所述问题进行分词,得到组成所述问题的各个词语;
根据所述各个词语构建所述第一词向量。
3.如权利要求2所述的方法,其特征在于,所述对所述问题进行分词包括:
利用结巴分词对所述问题进行分词;或者
利用特定字符对所述问题进行分词;或者
利用词典库对所述问题进行分词。
4.如权利要求1所述的方法,其特征在于,所述根据所述第一词向量对所述问题进行分类,得到所述问题的类别包括:
将所述第一词向量输入fastText深度学习模型,根据所述fastText深度学习模型输出的所述第一词向量属于不同类别的概率确定所述问题的类别。
5.如权利要求1所述的方法,其特征在于,所述对所述问题构建第一词向量之前,所述方法还包括:
去除所述问题中的指定字符。
6.如权利要求1-5中任一项所述的方法,其特征在于,所述根据所述第一词向量与所述第二词向量计算所述问题与所述每个答案的匹配值包括:
根据所述第一词向量与所述第二词向量构造第三词向量(词语1,词语2,…,词语n),所述第三词向量包含所述问题与所述答案的所有不重复的词语,所述n为所述问题与所述答案包含的所有不重复的词语的数量;
构造第一数值向量a=(a1,a2,…,an),若词语i,i=1,2,…,n包含在所述第一词向量中,则ai=1,否则,若词语i,i=1,2,…,n未包含在所述第一词向量中,则ai=0;
构造第二数值向量b=(b1,b2,…,bn),若词语i,i=1,2,…,n包含在所述第二词向量中,则bi=1,否则,若词语i,i=1,2,…,n未包含在所述第二词向量中,则bi=0;
计算所述第一数值向量和所述第二数值向量的内积,将所述第一数值向量所述和第二数值向量的内积作为所述问题与所述答案的匹配值。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
对所述问题构建第一频率向量;
对所述每个答案构建第二频率向量;
所述根据所述第一词向量与所述第二词向量计算所述问题与每个答案的匹配值还包括:
根据所述第一频率向量调整所述第一数值向量,得到调整后的第一数值向量;
根据所述第二频率向量调整所述第二数值向量,得到调整后的第二数值向量;
计算所述调整后的第一数值向量和所述调整后的第二数值向量的内积,将所述内积作为所述问题与所述答案的匹配值。
8.一种自然语言问答装置,其特征在于,所述装置包括:
获取模块,用于获取待解答的问题;
第一构建模块,用于对所述问题构建第一词向量;
分类模块,用于根据所述第一词向量对所述问题进行分类,得到所述问题的类别;
检索模块,用于在知识图谱中所述类别下对所述问题中的预定关键词进行检索,得到所述问题的多个答案;
第二构建模块,用于对所述多个答案中的每个答案构建第二词向量;
确定模块,用于根据所述第一词向量与所述第二词向量计算所述问题与每个答案的匹配值,将所述匹配值最高的答案确定为所述问题的目标答案。
9.一种计算机装置,其特征在于:所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序以实现如权利要求1-7中任一项所述自然语言问答方法。
10.一种存储介质,所述存储介质上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述自然语言问答方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910407731.0A CN110297893B (zh) | 2019-05-16 | 2019-05-16 | 自然语言问答方法、装置、计算机装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910407731.0A CN110297893B (zh) | 2019-05-16 | 2019-05-16 | 自然语言问答方法、装置、计算机装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110297893A true CN110297893A (zh) | 2019-10-01 |
CN110297893B CN110297893B (zh) | 2024-03-19 |
Family
ID=68026801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910407731.0A Active CN110297893B (zh) | 2019-05-16 | 2019-05-16 | 自然语言问答方法、装置、计算机装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110297893B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274371A (zh) * | 2020-01-14 | 2020-06-12 | 东莞证券股份有限公司 | 一种基于知识图谱的智能人机对话方法及设备 |
CN111339277A (zh) * | 2020-02-28 | 2020-06-26 | 中国工商银行股份有限公司 | 基于机器学习的问答交互方法及装置 |
CN111737435A (zh) * | 2020-06-24 | 2020-10-02 | 全球能源互联网研究院有限公司 | 问答故障诊断的辅助决策模型构建、决策方法及系统 |
CN112131363A (zh) * | 2020-09-23 | 2020-12-25 | 深圳技术大学 | 自动问答方法、装置、设备及存储介质 |
CN113157868A (zh) * | 2021-04-29 | 2021-07-23 | 青岛海信网络科技股份有限公司 | 一种基于结构化数据库匹配问题答案的方法及装置 |
WO2021151271A1 (zh) * | 2020-05-20 | 2021-08-05 | 平安科技(深圳)有限公司 | 基于命名实体的文本问答的方法、装置、设备及存储介质 |
US11868716B2 (en) | 2021-08-31 | 2024-01-09 | International Business Machines Corporation | Knowledge base question answering |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016027714A1 (ja) * | 2014-08-21 | 2016-02-25 | 国立研究開発法人情報通信研究機構 | 質問文生成装置及びコンピュータプログラム |
US20160357855A1 (en) * | 2015-06-02 | 2016-12-08 | International Business Machines Corporation | Utilizing Word Embeddings for Term Matching in Question Answering Systems |
CN107341215A (zh) * | 2017-06-07 | 2017-11-10 | 北京航空航天大学 | 一种基于分布式计算平台的多源垂直知识图谱分类集成查询方法 |
CN107766483A (zh) * | 2017-10-13 | 2018-03-06 | 华中科技大学 | 一种基于知识图谱的交互式问答方法及系统 |
CN109446302A (zh) * | 2018-09-25 | 2019-03-08 | 中国平安人寿保险股份有限公司 | 基于机器学习的问答数据处理方法、装置和计算机设备 |
-
2019
- 2019-05-16 CN CN201910407731.0A patent/CN110297893B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016027714A1 (ja) * | 2014-08-21 | 2016-02-25 | 国立研究開発法人情報通信研究機構 | 質問文生成装置及びコンピュータプログラム |
US20160357855A1 (en) * | 2015-06-02 | 2016-12-08 | International Business Machines Corporation | Utilizing Word Embeddings for Term Matching in Question Answering Systems |
CN107341215A (zh) * | 2017-06-07 | 2017-11-10 | 北京航空航天大学 | 一种基于分布式计算平台的多源垂直知识图谱分类集成查询方法 |
CN107766483A (zh) * | 2017-10-13 | 2018-03-06 | 华中科技大学 | 一种基于知识图谱的交互式问答方法及系统 |
CN109446302A (zh) * | 2018-09-25 | 2019-03-08 | 中国平安人寿保险股份有限公司 | 基于机器学习的问答数据处理方法、装置和计算机设备 |
Non-Patent Citations (5)
Title |
---|
ANTOINE BORDES等: "Question Answering with Subgraph Embeddings", ARXIV:1406.3676V3, pages 1 - 10 * |
ANTOINE BORDES等: "Question Answering with Subgraph Embeddings", pages 1 - 10, Retrieved from the Internet <URL:https://arxiv.org/abs/1406.3676> * |
GUO_YAOHUA: ""NLP基础——词集模型(SOW)和词袋模型(BOW)", pages 1 - 1, Retrieved from the Internet <URL:https://www.cnblogs.com/guoyaohua/p/9233577.html> * |
XUCHEN YAO等: "Information Extraction over Structured Data:Question Answering with Freebase", pages 1 - 11, Retrieved from the Internet <URL:http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.650.469&rep=rep1&type=pdf> * |
牧野之歌: "相似度算法之余弦相似度", pages 1 - 6, Retrieved from the Internet <URL:https://blog.csdn.net/zz_dd_yy/article/details/51926305> * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274371A (zh) * | 2020-01-14 | 2020-06-12 | 东莞证券股份有限公司 | 一种基于知识图谱的智能人机对话方法及设备 |
CN111274371B (zh) * | 2020-01-14 | 2023-09-29 | 东莞证券股份有限公司 | 一种基于知识图谱的智能人机对话方法及设备 |
CN111339277A (zh) * | 2020-02-28 | 2020-06-26 | 中国工商银行股份有限公司 | 基于机器学习的问答交互方法及装置 |
WO2021151271A1 (zh) * | 2020-05-20 | 2021-08-05 | 平安科技(深圳)有限公司 | 基于命名实体的文本问答的方法、装置、设备及存储介质 |
CN111737435A (zh) * | 2020-06-24 | 2020-10-02 | 全球能源互联网研究院有限公司 | 问答故障诊断的辅助决策模型构建、决策方法及系统 |
CN112131363A (zh) * | 2020-09-23 | 2020-12-25 | 深圳技术大学 | 自动问答方法、装置、设备及存储介质 |
CN112131363B (zh) * | 2020-09-23 | 2023-05-05 | 深圳技术大学 | 自动问答方法、装置、设备及存储介质 |
CN113157868A (zh) * | 2021-04-29 | 2021-07-23 | 青岛海信网络科技股份有限公司 | 一种基于结构化数据库匹配问题答案的方法及装置 |
US11868716B2 (en) | 2021-08-31 | 2024-01-09 | International Business Machines Corporation | Knowledge base question answering |
Also Published As
Publication number | Publication date |
---|---|
CN110297893B (zh) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Singh et al. | Vectorization of text documents for identifying unifiable news articles | |
US11327978B2 (en) | Content authoring | |
CN110297893A (zh) | 自然语言问答方法、装置、计算机装置及存储介质 | |
US10713323B2 (en) | Analyzing concepts over time | |
CN109241524B (zh) | 语义解析方法及装置、计算机可读存储介质、电子设备 | |
US9652719B2 (en) | Authoring system for bayesian networks automatically extracted from text | |
CN109918676B (zh) | 一种检测意图正则表达式的方法及装置、终端设备 | |
CN109344240B (zh) | 一种数据处理方法、服务器及电子设备 | |
CN106649742A (zh) | 数据库维护方法和装置 | |
CN110121705A (zh) | 将语用学原理应用于与可视分析交互的系统和方法 | |
CN108874878A (zh) | 一种知识图谱的构建系统及方法 | |
CN109299280B (zh) | 短文本聚类分析方法、装置和终端设备 | |
CN110427610A (zh) | 文本分析方法、装置、计算机装置及计算机存储介质 | |
CN108154198A (zh) | 知识库实体归一方法、系统、终端和计算机可读存储介质 | |
EP2831770A1 (en) | A method and apparatus for computer assisted innovation | |
CN109033277A (zh) | 基于机器学习的类脑系统、方法、设备及存储介质 | |
CN109145168A (zh) | 一种专家服务机器人云平台 | |
CN111259660A (zh) | 基于文本对的关键词抽取方法、装置、设备及存储介质 | |
CN111382563B (zh) | 文本相关性的确定方法及装置 | |
CN113282762A (zh) | 知识图谱构建方法、装置、电子设备和存储介质 | |
CN110795544B (zh) | 内容搜索方法、装置、设备和存储介质 | |
CN116402166B (zh) | 一种预测模型的训练方法、装置、电子设备及存储介质 | |
CN116340544B (zh) | 一种基于知识图谱的中医药古籍可视分析方法与系统 | |
KR20130097475A (ko) | 의료 프로세스 모델링 및 검증 방법 | |
CN111931034A (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 |