CN110334179B - 问答处理方法、装置、计算机设备和存储介质 - Google Patents
问答处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN110334179B CN110334179B CN201910428635.4A CN201910428635A CN110334179B CN 110334179 B CN110334179 B CN 110334179B CN 201910428635 A CN201910428635 A CN 201910428635A CN 110334179 B CN110334179 B CN 110334179B
- Authority
- CN
- China
- Prior art keywords
- question
- user
- tree
- trees
- grammar
- 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
Images
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
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种问答处理方法、装置、计算机设备和存储介质。所述方法包括:接收用户问句答复指令,根据用户问句答复指令获取用户问句;使用用户问句构建多个语法树;计算多个语法树与用户问句的相似度,根据相似度确定目标语法树;将目标语法树转化为查询语句,并执行查询语句,得到与用户问句答复指令相对应的用户问句答复。采用本方法能够消除用户问句中的歧义,提高得到用户问句答复的准确性。
Description
技术领域
本申请涉及互联网技术领域,特别是涉及一种问答处理方法、装置、计算机设备和存储介质。
背景技术
随着互联网技术的发展,目前,手机助手和智能客服场景中广泛应用的FAQ机器人,使用正则表达式,模板或者基于机器学习的分类方法对用户意图进行分类,然后根据意图返回相应的答案。但受限于机器人无法完全理解用户的问句和问句中的信息,传统的问答机器人往往只能配置固定的答案,也无法针对用户问句中更丰富的含义做出相应的处理,导致回答用户问句的准确性不高。
发明内容
基于此,有必要针对上述技术问题,提供一种能够降低用户问句歧义,提高答复准确性的问答处理方法、装置、计算机设备和存储介质。
一种问答处理方法,所述方法包括:
接收用户问句答复指令,根据用户问句答复指令获取用户问句;
使用用户问句构建多个语法树;
计算多个语法树与用户问句的相似度,根据相似度确定目标语法树;
将目标语法树转化为查询语句,并执行查询语句,得到与用户问句答复指令相对应的用户问句答复。
在其中一个实施例中,使用用户问句构建多个语法树,包括:
将用户问句预处理,得到基本词汇序列;
根据基本词汇序列使用语法规则构建多个语法树。
在其中一个实施例中,将用户问句预处理,得到基本词汇序列,包括:
将用户问句分词,得到分词结果;
识别分词结果对应的特定类型,得到具有特定类型的词片;
将特定类型的词片按照语法规则组合,得到基本词汇序列。
在其中一个实施例中,识别分词结果对应的特定类型,得到具有特定类型的词片,包括:
将分词结果输入到已训练的命名实体识别模型中进行识别,得到分词结果对应的特定类型;其中,命名实体识别模型通过使用神经网络算法训练得到。
根据分词结果对应的特定类型将分词结果标记为特定类型的词片。
在其中一个实施例中,计算多个语法树与用户问句的相似度,根据相似度确定目标语法树,包括:
提取多个语法树的语法特征和用户问句的问句特征;
计算语法特征与问句特征的相似度得分,根据相似度得分对多个语法树进行排序,得到多个语法树的排序结果;
从排序结果选取最大相似度得分或者超过预设阈值的相似度得分对应的语法树作为目标语法树。
在其中一个实施例中,提取多个语法树的语法特征和用户问句的问句特征,包括:
将语法树的子节点转换为子节点词向量,将语法树的子节点词向量输入已训练的第一特征提取模型中进行提取,得到根节点词向量;其中,第一特征提取模型通过使用递归神经网络算法训练得到;
将根节点词向量作为语法树的语法特征;
将用户问句输入已训练的第二特征提取模型中进行提取,得到问句向量;其中,第二特征提取模型通过使用循环神经网络算法训练得到;
将问句向量作为用户问句的问句特征。
在其中一个实施例中,在将目标语法树转化为查询语句,并在知识图谱中执行查询语句,得到用户问句答复之后,还包括:
将用户问句答复返回终端,以使终端展示用户问句答复。
一种问答处理装置,所述装置包括:
问句获取模块,用于接收用户问句答复指令,根据所述用户问句答复指令获取用户问句;
构建树模块,用于使用所述用户问句构建多个语法树;
目标树确定模块,用于计算所述多个语法树与所述用户问句的相似度,根据所述相似度确定目标语法树;
语句执行模块,用于将所述目标语法树转化为查询语句,并执行所述查询语句,得到用户问句答复。
在其中一个实施例中,构建树模块,包括:
预处理模块,用于将用户问句预处理,得到基本词汇序列;
构建模块,用于根据基本词汇序列使用语法规则构建多个语法树。
在其中一个实施例中,预处理模块,包括:
分词模块,用于将用户问句分词,得到分词结果;
识别模块,用于识别分词结果对应的特定类型,得到具有特定类型的词片;
组合模块,用于将特定类型的词片按照语法规则组合,得到基本词汇序列。
在其中一个实施例中,识别模块,包括:
模型识别模块,用于将分词结果输入到已训练的命名实体识别模型中进行识别,得到分词结果对应的特定类型;其中,命名实体识别模型通过使用神经网络算法训练得到。
标记模块,用于根据分词结果对应的特定类型将分词结果标记为特定类型的词片。
在其中一个实施例中,目标树确定模块,包括:
特征提取模块,用于提取多个语法树的语法特征和用户问句的问句特征;
得分计算模块,用于计算语法特征与问句特征的相似度得分,根据相似度得分对多个语法树进行排序,得到多个语法树的排序结果;
目标数选取模块,用于从排序结果选取最大相似度得分或者超过预设阈值的相似度得分对应的语法树作为目标语法树。
在其中一个实施例中,特征提取模块,包括:
词向量得到模块,用于将语法树的子节点转换为子节点词向量,将语法树的子节点词向量输入已训练的第一特征提取模型中进行提取,得到根节点词向量;其中,第一特征提取模型通过使用递归神经网络算法训练得到;
预提特征得到模块,用于将根节点词向量作为语法树的语法特征;
问句向量得到模块,用于将用户问句输入已训练的第二特征提取模型中进行提取,得到问句向量;其中,第二特征提取模型通过使用循环神经网络算法训练得到;
问句特征得到模块,用于将问句向量作为用户问句的问句特征。
在其中一个实施例中,问答处理装置,还包括:
问句展示模块,用于将用户问句答复返回终端,以使终端展示用户问句答复。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收用户问句答复指令,根据用户问句答复指令获取用户问句;
使用用户问句构建多个语法树;
计算多个语法树与用户问句的相似度,根据相似度确定目标语法树;
将目标语法树转化为查询语句,并执行查询语句,得到与用户问句答复指令相对应的用户问句答复。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收用户问句答复指令,根据用户问句答复指令获取用户问句;
使用用户问句构建多个语法树;
计算多个语法树与用户问句的相似度,根据相似度确定目标语法树;
将目标语法树转化为查询语句,并执行查询语句,得到与用户问句答复指令相对应的用户问句答复。
上述问句处理方法、装置、计算机设备和存储介质,通过用户问句构建多个语法树,计算出各个语法树与用户问句的相似度,根据相似度得到目标语法树,然后将目标语法树转化为查询语句,并执行查询语句,得到与用户问句答复指令相对应的用户问句答复。通过相似度来得到目标语法树,进行得到查询语句进行查询,降低了用户问句的歧义,使得到的用户问句的答复更加准确。
附图说明
图1为一个实施例中问句处理方法的应用场景图;
图2为一个实施例中问句处理方法的流程示意图;
图3为一个实施例中构建多个语法树的流程示意图;
图3a为一个具体实施例中构建的语法树示意图;
图3b为图3a实施例中构建的另一语法树示意图;
图4为一个实施例中得到基本词汇序列的流程示意图;
图5为一个实施例中得到具有特定类型的词片的流程示意图;
图6为一个实施例中得到目标语法树的流程示意图;
图7为一个实施例中提取特征的流程示意图;
图8为另一个实施例问句处理方法的应用场景图;
图9为一个具体实施例中问句处理方法的流程示意图;
图9a为图9具体实施例中得到的语法树的示意图;
图10为一个实施例中问句处理装置的结构框图;
图11为一个实施例中计算机设备的内部结构图;
图12为另一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的问答处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。服务器104接收终端102发送的用户问句答复指令,根据用户问句答复指令获取用户问句;使用用户问句构建多个语法树;计算多个语法树与用户问句的相似度,根据相似度确定目标语法树;将目标语法树转化为查询语句,并执行查询语句,得到与用户问句答复指令相对应的用户问句答复。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种问答处理方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
S202,接收用户问句答复指令,根据用户问句答复指令获取用户问句。
具体地,终端获取到用户问句文本,可以通过语言装置获取到语音问句,将语音问句转换为用户问句文本,也可以获取到用户通过输入装置输入的用户问句文本等等。此时,终端根据得到的用户问句文本向服务器发送用户问句答复指令,服务器接收到终端发送的用户问句答复指令,该用户问句答复指令携带有用户问句文本,解析用户问句答复指令,得到用户问句。
S204,使用用户问句构建多个语法树。
具体地,服务器根据得到的用户问句使用句法分析算法构建出用户问句对应的多个语法树,该句法分析算法可以是CFG(context-free grammar,上下文无关文法)解析算法或者Dependency Parser(依存句法分析)算法。
S206,计算多个语法树与用户问句的相似度,根据相似度确定目标语法树。
具体地,使用相似度算法分别计算出每个语法树与用户问句的相似度,根据每个语法树与用户问句的相似度大小来确定目标语法树。其中,可以将相似度最大的语法树作为目标语法树,也可以将超过预设相似度阈值的语法树作为目标语法树。当未存在超过预设相似度阈值的语法树时,将与预设相似度阈值最接近的相似度对应的语法树作为目标语法树。当超过预设相似度阈值的语法树有多个时,随机选择一个超过设相似度阈值的语法树作为目标语法树或者根据设定好的选择规则选取一个超过设相似度阈值的语法树作为目标语法树。相似度算法可以是欧式距离相似度算法或者余弦相似度算法等。
S208,将目标语法树转化为查询语句,并执行查询语句,得到与用户问句答复指令相对应的用户问句答复。
具体地,将得到的目标语法树通过翻译器转化为可执行的查询语句,在知识库或者知识图谱中执行查询语句,得到与用户问句答复指令相对应的用户问句答复。
上述问答处理方法,通过在解析用户问句时,保留多个语法树,然后得到语法树与用户问句的相似度,根据相似度筛选语法树,得到目标语法树,使用目标语法树构造查询语句进行查询,得到与用户问句答复指令相对应的用户问句答复。即利用相似度来消除用户问句的歧义,提高了得到用户问句答复的准确性。
在一个实施例中,如图3所示,步骤S204,即使用用户问句构建多个语法树,包括步骤:
S302,将用户问句预处理,得到基本词汇序列。
其中,基本词汇序列是指具有特定类型的词片,比如特定类型可以是实体类,时间类,数字类,具体比如:人名、地名、组织机构名、时间、日期、货币、百分比等。特定类型也可以是预先设定好与应用场景相关的类型。比如,应用到股价询问场景中是,特定类型可以是property(财产)、compareop(比较)”、value(价值)和Entity set(实体)等等。
具体地,服务器将用户问句进行预处理,该预处理可以是对用户问句进行分词,并得到分词之后的各个词片的类型,得到基本词汇序列。
S304,根据基本词汇序列使用语法规则构建多个语法树。
其中,语法规则是用于根据基本词汇序列构建语法树的规则,比如:CFG(context-free grammar,上下文无关文法)。
具体地,服务器根据基本词汇序列使用语法规则构建多个语法树,语法树的数量与用户问句的歧义有关,用户问句的歧义越多,得到的语法树就越多。
比如,“小明拿出练习本来应有的态度吗”,构建的多个语法树可以包括如图3a和图3b所示的语法树。
在上述实施例中,通过将用户问句预处理,得到基本词汇序列根据基本词汇序列使用语法规则构建多个语法树,可以得到各个有歧义的语法数,便于后续进行消歧处理。
在一个实施例中,如图4所示,步骤S302,即将用户问句预处理,得到基本词汇序列,包括步骤:
S402,将用户问句分词,得到分词结果。
其中,分词是指将连续的字序列按照一定的规范重新组合成词序列的过程
具体地,服务器将用户问句进行分词处理,得到分词结果。具体可以是使用基于字符串匹配的分词方法、基于理解的分词方法或者基于统计的分词方法进行分词。比如,对“小明住什么地方”分词之后,得到的分词结果可以是“小明”,“住”,“什么”和“地方”。
S404,识别分词结果对应的特定类型,得到具有特定类型的词片。
具体地,服务器对分词结果进行识别,确定各个分词结果对应的特定类型,分别对每一个分词结果标注出对应的特定类型,得到具有特定类型标注的词片。比如,对“小明”,“住”,“什么”和“地方”识别对应的特定类型为“人名”,“动词”“形容词”和“名词”。
S406,将特定类型的词片按照语法规则组合,得到基本词汇序列。
具体地,服务器将特定类型的词片按照语法规则进行组合,比如,将相邻的词片进行组合,得到基本词汇序列。比如,将“小明”,“住”组合得到“小明住”,将“什么”和“地方”组合得到“什么地方”。
在上述实施例中,通过将用户问句分词,得到分词结果,识别分词结果对应的特定类型,得到具有特定类型的词片,将特定类型的词片按照语法规则组合,得到基本词汇序列,能够得到基本词汇序列,方便使用。
在一个实施例中,如图5所示,步骤S404,即识别分词结果对应的特定类型,得到具有特定类型的词片,包括步骤:
S502,将分词结果输入到已训练的命名实体识别模型中进行识别,得到分词结果对应的特定类型;其中,命名实体识别模型通过使用神经网络算法训练得到。
其中,命名实体识别模型是指NER(Named Entity Recognition,命名实体识别)模型。该模型是使用已有的命名实体和对应的特定类型使用神经网络算法进行训练,当达到训练完成条件时,得到已训练的命名实体识别模型。
具体地,服务器将将分词结果输入到已训练的命名实体识别模型中进行识别,得到分词结果对应的特定类型。比如,将分词结果“小明”,“住”,“什么”和“地方”输入到已训练的命名实体识别模型进行识别,得到输出的特定类型可以是“人名”,“动词”“形容词”和“名词”。
S504,根据分词结果对应的特定类型将分词结果标记为特定类型的词片。
具体地,服务器根据输出的特定类型将各个分词结果进行标记,得到具有特定类型的词片。
在上述实施例中,通过已训练的命名实体识别模型对分词结果进行识别,得到分词结果对应的特定类型,然后将分词结果根据对应的特定类型进行标记得到具有特定类型的词片,能够快速得到分词结果的特定类型,提高效率。
在一个实施例中,如图6所示,步骤S206,即计算多个语法树与用户问句的相似度,根据相似度确定目标语法树,包括步骤:
S602,提取多个语法树的语法特征和用户问句的问句特征。
具体地,服务器提取各个语法树的语法特征,并提取用户问句的问句特征。其中,可以使用已训练的特征提取模型进行特征提取。
S604,计算语法特征与问句特征的相似度得分,根据相似度得分对多个语法树进行排序,得到多个语法树的排序结果。
具体地,服务器计算各个语法树的语法特征与问句特征的相似度,得到相似度得分,根据相似度得分对各个语法树进行排序,得到多个语法树的排序结果集。其中,可以使用相似度算法计算相似度,相似度算法可以是余弦距离(cosine distance)相似度算法或者欧式距离相似度算法等。
S606,从排序结果选取最大相似度得分或者超过预设阈值的相似度得分对应的语法树作为目标语法树。
具体地,服务器从语法树的排序结果集中选取最大的相似度得分对应的语法树作为目标语法树。或者从语法树的排序结果集中选取超过预设阈值的相似度得分对应的语法树作为目标语法树。当排序结果集中各个语法树对应的相似度得分都未超过预设阈值时,获取到最接近预设阈值的相似度得分,将最接近预设阈值的相似度得分对应的语法树作为目标语法树。当排序结果集中各个语法树对应的相似度得分有多个超过预设阈值时,随机从超过超过预设阈值的各个语法树中选取一个作为目标语法树。
在上述实施例中,通过计算各个语法树与用户问句的相似度,选择最相似或者超于预设相似度的语法树作为目标语法树,能够消除掉歧义的语法树,消除用户问句中的歧义。
在一个实施例中,如图7所示,步骤S602,即提取多个语法树的语法特征和用户问句的问句特征,包括步骤:
S702,将语法树的子节点转换为子节点词向量,将语法树的子节点词向量输入已训练的第一特征提取模型中进行提取,得到根节点词向量;其中,第一特征提取模型通过使用递归神经网络算法训练得到。
其中,词向量是根据语法树中的节点对应的词生成的词向量,比如,节点的词为“话筒”,词向量表示为[0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0…]。该词向量的维度大小是词表的大小,表示“话筒”维度的值为1,其他维度的值均为0。也可以根据词在词表中的位置来得到词向量,比如“话筒”在词表的位置为3,则得到的“话筒”的词向量也可以是[3]。
具体地,服务器将语法书的子节点转换为子节点词向量,将语法树的子节点词向量输入已训练的第一特征提取模型中进行提取,得到根节点词向量;其中,第一特征提取模型通过使用递归神经网络(TreeRNN,Tree Recursive neural net)算法训练得到。具体是根据已有的语法树的子节点作为输入,将对应的根节点的词向量作为标签,使用TreeRNN(树形RNN,Tree Recursive neural net)进行训练,当达到训练完成条件是,得到第一特征提取模型。训练完成条件是指训练迭代次数达到最大值或者损失函数值小于预设阈值。可以将tanh函数作为激活函数和使用交叉熵损失函数。
S704,将根节点词向量作为语法树的语法特征。
具体地,服务器直接将第一特征提取模型输出的根节点词向量作为语法树的语法特征。
S706,将用户问句输入已训练的第二特征提取模型中进行提取,得到问句向量;其中,第二特征提取模型通过使用循环神经网络算法训练得到。
S708,将问句向量作为用户问句的问句特征。
其中,第二特征提取模型通过使用循环神经网络(RNN,Recurrent NeuralNetworks)算法训练得到的。在进行训练第二特征提取模型时,通过将已有的用户问句作为循环神经网络的输入,将对应的问句向量作为标签进行训练,当达到训练完成条件是,得到第二特征提取模型。训练完成条件是指训练迭代次数达到最大值或者损失函数值小于预设阈值。损失函数为交叉熵损失函数,输出层的激活函数为softmax函数(归一化指数函数),隐藏层的激活函数为tanh(双曲正切)函数。
具体地,服务器将用户问句输入已训练的第二特征提取模型中进行提取,得到问句向量,将问句向量作为用户问句的问句特征。
在上述实施例中,通过已训练的特征提取模型提取出用户问句的问句特征和语法树的语法特征,能够提高得到问句特征和语法特征的效率,方便后续使用。
在一个实施例中,在步骤S208之后,在将目标语法树转化为查询语句,并在知识图谱中执行查询语句,得到用户问句答复之后,还包括:
将用户问句答复返回终端,以使终端展示用户问句答复。
其中,终端用于接收用户问句答复并进行展示,该终端可以是用户问句对应的的终端,也可以是其他终端。该终端不限于个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。展示不限于通过文字或者图像显示、通过语音播放、通过视频播放等等。比如,终端可以将接收到的答复在终端显示界面中进行显示,终端也可以在视频播放界面进行显示播放,也可以通过语音装置转换为语音信息进行播放等。
具体地,服务器可以将得到的用户问句答复返回给用户问句对应的终端,用户问句对应的终端接收到用户问句答复后进行展示,使用户得到问句的答案信息,方便用户使用。也可以将用户问句对应的答案返回给用户或者服务器设定的终端,在设定的终端展示用户问句答复。比如,在一个具体地实施例中,如图8所示,用户通过手机8A接收到用户问句,服务器8B获取到用户问句,通过上述任一实施例中问答处理方法查找到用户问句答案,将用户问句答案返回到用户设定的电脑8C进行展示。
在一个具体的实施例中,如图9所示,该问答处理方法包括步骤:
S902,接收用户问句答复指令,根据用户问句答复指令获取用户问句,将用户问句分词,得到分词结果。
S904,将分词结果输入到已训练的NER模型中进行识别,得到分词结果对应的特定类型,根据分词结果对应的特定类型将分词结果标记为特定类型的词片。
S906,将特定类型的词片按照CFG语法规则组合,得到基本词汇序列,根据基本词汇序列使用CFG语法规则构建多个语法树。
S908,将各个语法树的子节点转换为子节点词向量,将语法树的子节点词向量输入已训练的TreeRNN模型中进行提取,得到各个语法树的根节点词向量。
S910,将用户问句输入已训练的RNN模型中进行提取,得到问句向量。
S912,根据各个语法树的根节点词向量和问句向量使用余弦距离(cosinedistance)计算相似度,得到相似度得分,根据相似度得分对多个语法树进行排序,得到多个语法树的排序结果。
S914,从排序结果中选取最大相似度得分对应的语法树作为目标语法树。
S916,将目标语法树转化为查询语句,并执行查询语句,得到与用户问句答复指令相对应的用户问句答复。
S918,将用户问句答复返回用户问句对应的终端进行展示。
具体地,获取到用户问句“股价大于50元的个股?”,将该用户问句分词,得到“股价”“大于”“50元”和“个股”,将分词结果标记特定类型的词片,得到“股价(price)0”对应的特定类型为“property(财产)”,“大于(>)”对应的特定类型为“compareop(比较)”,“50元(50)”对应的特定类型为“value(价值)”,“个股(stock)”对应的特定类型为“entity set(实体)”。然后按照CFG语法规则组合,将“大于”“50元”按照CFG语法规则组合得到Datarange(数值范围)为“>50”将“股价”与数值范围组合得到ADJ(形容词)为“price>50”。将“个股”与形容词组合得到Entity set(实体)为“stock[price>50]of which”。就得到了一棵树如图9a所示,根据同样的方法可以得到其他的歧义语法树,最后计算各个语法树与用户问句的相似度,选取最高相似度对应的语法树作为目标语法树,得到的目标语法树可以是图9a,将图9a转化为查询语句为“SELECT?x WHERE(?x a Stock.?x attr:price?xprice.filter(?xprice>50))”,并在股市知识图谱中执行查询语句,得到与用户问句答复指令相对应的用户问句答复,将用户问句答复返回给终端进行展示。
应该理解的是,虽然图2-9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-9中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图10所示,提供了一种问答处理装置1000,包括:问句获取模块1002、构建树模块1004、目标树确定1006和语句执行模块1008,其中:
问句获取模块1002,用于接收用户问句答复指令,根据用户问句答复指令获取用户问句;
构建树模块1004,用于使用用户问句构建多个语法树;
目标树确定模块1006,用于计算多个语法树与用户问句的相似度,根据相似度确定目标语法树;
语句执行模块1008,用于将目标语法树转化为查询语句,并执行查询语句,得到用户问句答复。
在一个实施例中,构建树模块1004,包括:
预处理模块,用于将用户问句预处理,得到基本词汇序列;
构建模块,用于根据基本词汇序列使用语法规则构建多个语法树。
在一个实施例中,预处理模块,包括:
分词模块,用于将用户问句分词,得到分词结果;
识别模块,用于识别分词结果对应的特定类型,得到具有特定类型的词片;
组合模块,用于将特定类型的词片按照语法规则组合,得到基本词汇序列。
在一个实施例中,识别模块,包括:
模型识别模块,用于将分词结果输入到已训练的命名实体识别模型中进行识别,得到分词结果对应的特定类型;其中,命名实体识别模型通过使用神经网络算法训练得到。
标记模块,用于根据分词结果对应的特定类型将分词结果标记为特定类型的词片。
在一个实施例中,目标树确定模块1006,包括:
特征提取模块,用于提取多个语法树的语法特征和用户问句的问句特征;
得分计算模块,用于计算语法特征与问句特征的相似度得分,根据相似度得分对多个语法树进行排序,得到多个语法树的排序结果;
目标数选取模块,用于从排序结果选取最大相似度得分或者超过预设阈值的相似度得分对应的语法树作为目标语法树。
在一个实施例中,特征提取模块,包括:
词向量得到模块,用于将语法树的子节点转换为子节点词向量,将语法树的子节点词向量输入已训练的第一特征提取模型中进行提取,得到根节点词向量;其中,第一特征提取模型通过使用递归神经网络算法训练得到;
预提特征得到模块,用于将根节点词向量作为语法树的语法特征;
问句向量得到模块,用于将用户问句输入已训练的第二特征提取模型中进行提取,得到问句向量;其中,第二特征提取模型通过使用循环神经网络算法训练得到;
问句特征得到模块,用于将问句向量作为用户问句的问句特征。
在一个实施例中,问答处理装置1000,还包括:
问句展示模块,用于将用户问句答复返回终端,以使终端展示用户问句答复。
关于问答处理装置的具体限定可以参见上文中对于问答处理方法的限定,在此不再赘述。上述问答处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储用户问句答复数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种问答处理方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种问答处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图11或者图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:接收用户问句答复指令,根据用户问句答复指令获取用户问句;使用用户问句构建多个语法树;计算多个语法树与用户问句的相似度,根据相似度确定目标语法树;将目标语法树转化为查询语句,并执行查询语句,得到与用户问句答复指令相对应的用户问句答复。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将用户问句预处理,得到基本词汇序列;根据基本词汇序列使用语法规则构建多个语法树。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将用户问句分词,得到分词结果;识别分词结果对应的特定类型,得到具有特定类型的词片;将特定类型的词片按照语法规则组合,得到基本词汇序列。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将分词结果输入到已训练的命名实体识别模型中进行识别,得到分词结果对应的特定类型;其中,命名实体识别模型通过使用神经网络算法训练得到。根据分词结果对应的特定类型将分词结果标记为特定类型的词片。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:提取多个语法树的语法特征和用户问句的问句特征;计算语法特征与问句特征的相似度得分,根据相似度得分对多个语法树进行排序,得到多个语法树的排序结果;从排序结果选取最大相似度得分或者超过预设阈值的相似度得分对应的语法树作为目标语法树。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将语法树的子节点转换为子节点词向量,将语法树的子节点词向量输入已训练的第一特征提取模型中进行提取,得到根节点词向量;其中,第一特征提取模型通过使用递归神经网络算法训练得到;将根节点词向量作为语法树的语法特征;将用户问句输入已训练的第二特征提取模型中进行提取,得到问句向量;其中,第二特征提取模型通过使用循环神经网络算法训练得到;将问句向量作为用户问句的问句特征。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将用户问句答复返回终端,以使终端展示用户问句答复。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收用户问句答复指令,根据用户问句答复指令获取用户问句;使用用户问句构建多个语法树;计算多个语法树与用户问句的相似度,根据相似度确定目标语法树;将目标语法树转化为查询语句,并执行查询语句,得到与用户问句答复指令相对应的用户问句答复。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将用户问句预处理,得到基本词汇序列;根据基本词汇序列使用语法规则构建多个语法树。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将用户问句分词,得到分词结果;识别分词结果对应的特定类型,得到具有特定类型的词片;将特定类型的词片按照语法规则组合,得到基本词汇序列。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将分词结果输入到已训练的命名实体识别模型中进行识别,得到分词结果对应的特定类型;其中,命名实体识别模型通过使用神经网络算法训练得到。根据分词结果对应的特定类型将分词结果标记为特定类型的词片。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:提取多个语法树的语法特征和用户问句的问句特征;计算语法特征与问句特征的相似度得分,根据相似度得分对多个语法树进行排序,得到多个语法树的排序结果;从排序结果选取最大相似度得分或者超过预设阈值的相似度得分对应的语法树作为目标语法树。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将语法树的子节点转换为子节点词向量,将语法树的子节点词向量输入已训练的第一特征提取模型中进行提取,得到根节点词向量;其中,第一特征提取模型通过使用递归神经网络算法训练得到;将根节点词向量作为语法树的语法特征;将用户问句输入已训练的第二特征提取模型中进行提取,得到问句向量;其中,第二特征提取模型通过使用循环神经网络算法训练得到;将问句向量作为用户问句的问句特征。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将用户问句答复返回终端,以使终端展示用户问句答复。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种问答处理方法,所述方法包括:
接收用户问句答复指令,根据所述用户问句答复指令获取用户问句;
使用所述用户问句构建多个语法树;
计算所述多个语法树的语法特征与所述用户问句的问句特征的相似度,根据所述相似度确定目标语法树,其中,将所述语法树的子节点转换为子节点词向量,将所述语法树的子节点词向量输入已训练的第一特征提取模型中进行提取,得到根节点词向量,将所述根节点词向量作为所述语法树的语法特征;
将所述目标语法树转化为查询语句,并执行所述查询语句,得到与所述用户问句答复指令相对应的用户问句答复。
2.根据权利要求1所述的方法,其特征在于,所述使用所述用户问句构建多个语法树,包括:
将所述用户问句预处理,得到基本词汇序列;
根据所述基本词汇序列使用语法规则构建多个语法树。
3.根据权利要求2所述的方法,其特征在于,所述将所述用户问句预处理,得到基本词汇序列,包括:
将所述用户问句分词,得到分词结果;
识别所述分词结果对应的特定类型,得到具有所述特定类型的词片;
将所述特定类型的词片按照所述语法规则组合,得到基本词汇序列。
4.根据权利要求3所述的方法,其特征在于,所述识别所述分词结果对应的特定类型,得到具有所述特定类型的词片,包括:
将所述分词结果输入到已训练的命名实体识别模型中进行识别,得到分词结果对应的特定类型;其中,所述命名实体识别模型通过使用神经网络算法训练得到;
根据所述分词结果对应的特定类型将所述分词结果标记为特定类型的词片。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述计算所述多个语法树的语法特征与所述用户问句的问句特征的相似度,根据所述相似度确定目标语法树,包括:
提取所述多个语法树的语法特征和所述用户问句的问句特征;
计算所述语法特征与所述问句特征的相似度得分,根据所述相似度得分对所述多个语法树进行排序,得到所述多个语法树的排序结果;
从排序结果选取最大相似度得分或者超过预设阈值的相似度得分对应的语法树作为目标语法树。
6.根据权利要求5所述的方法,其特征在于,提取所述多个语法树的语法特征和所述用户问句的问句特征,包括:
将所述语法树的子节点转换为子节点词向量,将所述语法树的子节点词向量输入已训练的第一特征提取模型中进行提取,得到根节点词向量;其中,所述第一特征提取模型通过使用递归神经网络算法训练得到;
将所述根节点词向量作为所述语法树的语法特征;
将所述用户问句输入已训练的第二特征提取模型中进行提取,得到问句向量;其中,所述第二特征提取模型通过使用循环神经网络算法训练得到;
将所述问句向量作为所述用户问句的问句特征。
7.根据权利要求1-4任意一项所述的方法,其特征在于,在所述将所述目标语法树转化为查询语句,并在知识图谱中执行所述查询语句,得到用户问句答复之后,还包括:
将所述用户问句答复返回终端,以使所述终端展示所述用户问句答复。
8.一种问答处理装置,其特征在于,所述装置包括:
问句获取模块,用于接收用户问句答复指令,根据所述用户问句答复指令获取用户问句;
构建树模块,用于使用所述用户问句构建多个语法树;
目标树确定模块,用于计算所述多个语法树的语法特征与所述用户问句的问句特征的相似度,根据所述相似度确定目标语法树,其中,将所述语法树的子节点转换为子节点词向量,将所述语法树的子节点词向量输入已训练的第一特征提取模型中进行提取,得到根节点词向量,将所述根节点词向量作为所述语法树的语法特征;
语句执行模块,用于将所述目标语法树转化为查询语句,并执行所述查询语句,得到用户问句答复。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910428635.4A CN110334179B (zh) | 2019-05-22 | 2019-05-22 | 问答处理方法、装置、计算机设备和存储介质 |
PCT/CN2019/130597 WO2020233131A1 (zh) | 2019-05-22 | 2019-12-31 | 问答处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910428635.4A CN110334179B (zh) | 2019-05-22 | 2019-05-22 | 问答处理方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110334179A CN110334179A (zh) | 2019-10-15 |
CN110334179B true CN110334179B (zh) | 2020-12-29 |
Family
ID=68139119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910428635.4A Active CN110334179B (zh) | 2019-05-22 | 2019-05-22 | 问答处理方法、装置、计算机设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110334179B (zh) |
WO (1) | WO2020233131A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110334179B (zh) * | 2019-05-22 | 2020-12-29 | 深圳追一科技有限公司 | 问答处理方法、装置、计算机设备和存储介质 |
CN111259653B (zh) * | 2020-01-15 | 2022-06-24 | 重庆邮电大学 | 基于实体关系消歧的知识图谱问答方法、系统以及终端 |
CN111522966A (zh) * | 2020-04-22 | 2020-08-11 | 深圳追一科技有限公司 | 基于知识图谱的数据处理方法、装置、电子设备及介质 |
CN111783465B (zh) * | 2020-07-03 | 2024-04-30 | 深圳追一科技有限公司 | 一种命名实体归一化方法、系统及相关装置 |
CN112463949B (zh) * | 2020-12-01 | 2022-09-16 | 贝壳技术有限公司 | 数据召回方法与系统、交互方法及交互系统 |
CN113255351B (zh) * | 2021-06-22 | 2023-02-03 | 中国平安财产保险股份有限公司 | 语句意图识别方法、装置、计算机设备及存储介质 |
CN113343713B (zh) * | 2021-06-30 | 2022-06-17 | 中国平安人寿保险股份有限公司 | 意图识别方法、装置、计算机设备及存储介质 |
CN113553411B (zh) * | 2021-06-30 | 2023-08-29 | 北京百度网讯科技有限公司 | 查询语句的生成方法、装置、电子设备和存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2586021A4 (en) * | 2010-06-25 | 2015-04-15 | Smart Technologies Ulc | METHOD FOR CLASSIFYING EQUATION-BASED EVALUATIONS AND PARTICIPANT RESPONSE SYSTEM USING THE SAME |
CN104462327B (zh) * | 2014-12-02 | 2018-09-11 | 百度在线网络技术(北京)有限公司 | 语句相似度的计算、搜索处理方法及装置 |
CN105786875B (zh) * | 2014-12-23 | 2019-06-14 | 北京奇虎科技有限公司 | 提供问答对数据搜索结果的方法和装置 |
CN105701253B (zh) * | 2016-03-04 | 2019-03-26 | 南京大学 | 中文自然语言问句语义化的知识库自动问答方法 |
CN105868313B (zh) * | 2016-03-25 | 2019-02-12 | 浙江大学 | 一种基于模板匹配技术的知识图谱问答系统及方法 |
CN107885786B (zh) * | 2017-10-17 | 2021-10-26 | 东华大学 | 面向大数据的自然语言查询接口实现方法 |
CN108549658B (zh) * | 2018-03-12 | 2021-11-30 | 浙江大学 | 一种基于语法分析树上注意力机制的深度学习视频问答方法及系统 |
CN110334179B (zh) * | 2019-05-22 | 2020-12-29 | 深圳追一科技有限公司 | 问答处理方法、装置、计算机设备和存储介质 |
-
2019
- 2019-05-22 CN CN201910428635.4A patent/CN110334179B/zh active Active
- 2019-12-31 WO PCT/CN2019/130597 patent/WO2020233131A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2020233131A1 (zh) | 2020-11-26 |
CN110334179A (zh) | 2019-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110334179B (zh) | 问答处理方法、装置、计算机设备和存储介质 | |
CN110502608B (zh) | 基于知识图谱的人机对话方法及人机对话装置 | |
CN110427467B (zh) | 问答处理方法、装置、计算机设备和存储介质 | |
CN108595695B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN108427707B (zh) | 人机问答方法、装置、计算机设备和存储介质 | |
CN110457431B (zh) | 基于知识图谱的问答方法、装置、计算机设备和存储介质 | |
CN108491433B (zh) | 聊天应答方法、电子装置及存储介质 | |
CN108829757B (zh) | 一种聊天机器人的智能服务方法、服务器及存储介质 | |
CN110598206A (zh) | 文本语义识别方法、装置、计算机设备和存储介质 | |
CN109376222B (zh) | 问答匹配度计算方法、问答自动匹配方法及装置 | |
CN110765763A (zh) | 语音识别文本的纠错方法、装置、计算机设备和存储介质 | |
CN110569500A (zh) | 文本语义识别方法、装置、计算机设备和存储介质 | |
CN111581229A (zh) | Sql语句的生成方法、装置、计算机设备及存储介质 | |
CN110162681B (zh) | 文本识别、文本处理方法、装置、计算机设备和存储介质 | |
CN110688853B (zh) | 序列标注方法、装置、计算机设备和存储介质 | |
CN112287069B (zh) | 基于语音语义的信息检索方法、装置及计算机设备 | |
CN111444723A (zh) | 信息抽取模型训练方法、装置、计算机设备和存储介质 | |
CN110377733B (zh) | 一种基于文本的情绪识别方法、终端设备及介质 | |
CN113094478B (zh) | 表情回复方法、装置、设备及存储介质 | |
CN112925898B (zh) | 基于人工智能的问答方法、装置、服务器及存储介质 | |
CN111783471A (zh) | 自然语言的语义识别方法、装置、设备及存储介质 | |
CN115062134B (zh) | 知识问答模型训练及知识问答方法、装置和计算机设备 | |
CN111400340B (zh) | 一种自然语言处理方法、装置、计算机设备和存储介质 | |
CN112632248A (zh) | 问答方法、装置、计算机设备和存储介质 | |
CN110795942A (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 |