CN111984766A - 缺失语义补全方法及装置 - Google Patents

缺失语义补全方法及装置 Download PDF

Info

Publication number
CN111984766A
CN111984766A CN201910428203.3A CN201910428203A CN111984766A CN 111984766 A CN111984766 A CN 111984766A CN 201910428203 A CN201910428203 A CN 201910428203A CN 111984766 A CN111984766 A CN 111984766A
Authority
CN
China
Prior art keywords
sentence
question
sentences
completion
question sentence
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.)
Pending
Application number
CN201910428203.3A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910428203.3A priority Critical patent/CN111984766A/zh
Publication of CN111984766A publication Critical patent/CN111984766A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Computing arrangements based on biological models using neural network models
    • G06N3/04Architectures, e.g. interconnection topology
    • G06N3/0454Architectures, e.g. interconnection topology using a combination of multiple neural nets
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/003Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Computing arrangements based on biological models using neural network models
    • G06N3/04Architectures, e.g. interconnection topology
    • G06N3/0445Feedback networks, e.g. hopfield nets, associative networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Computing arrangements based on biological models using neural network models
    • G06N3/08Learning methods

Abstract

本发明公开了人工智能领域自然语言处理领域中的一种缺失语义补全方法,包括:获取提问语句及历史对话语句;获取提问语句中的待消解项的位置信息,根据历史对话语句和待消解项的位置信息对提问语句的待消解项进行消解,以得到消解后的提问语句;确定提问语句中是否有成分被省略,若提问语句中有成分被省略,则根据历史对话语句将省略的成分补全,以得到省略补全的提问语句;对消解后的提问语句和省略补全的提问语句进行融合,以得到融合后的提问语句;从消解后的提问语句、省略补全的提问语句和融合后的提问语句中确定目标补全提问语句。本发明的方法适用于各种缺失语义补全的应用场景,有利于提高补全提问语句中缺失语义的准确性及效率。

Description

缺失语义补全方法及装置
技术领域
本发明涉及人工智能领域,尤其涉及一种缺失语义补全方法及装置。
背景技术
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能
随着人工智能技术的不断发展,让人机之间能够通过自然语言进行交互的自然语言人机交互系统变的越来越重要。人机之间能够通过自然语言进行交互,就需要系统能够识别出人类自然语言的具体含义。通常,系统通过采用对自然语言的句子进行关键信息提取来识别句子的具体含义。
自然语言对话中,指代和省略是常见的语言现象。在口语对话系统或交互式问答系统中,通过指代和省略,用户不用每次使用包含完整语义的句子,使得表达更加简洁和自然。但对于自然语言理解来说,指代和省略的使用会造成句子语法或语义成分的缺失,因此需要对指代和省略的内容进行恢复和补充。指代消解和省略恢复技术对于构建一个交互流畅自然的对话系统来说非常重要。
汉语语言表达的方式繁多,因此对于人机对话系统来说,指代的识别及消解和省略的识别以及恢复都存在较大的挑战。
发明内容
本发明实施例提供一种缺失语义补全的方法及装置,有利于提高提问语句缺失语义补全的准确性及效率。
第一方面,本发明实施例提供一种缺失语义补全的方法,包括:
获取历史对话语句及用户输入的提问语句;获取该提问语句中的待消解项的位置信息,并根据历史对话语句和待消解项的位置信息对提问语句的待消解项进行消解,以得到消解后的提问语句;确定提问语句中是否有成分被省略,若确定提问语句中有成分被省略,则根据历史对话语句将省略的成分补全,以得到省略补全的提问语句;对消解后的提问语句和省略补全的提问语句进行融合,以得到融合后的提问语句;从消解后的提问语句、省略补全的提问语句和融合后的提问语句中确定目标补全提问语句,目标补全提问语句为消解后的提问语句、省略补全的提问语句和融合后的提问语句中句子主干完整程度及句子中所有词汇构成一句话的概率均最高的提问语句。通过对提问语句进行指代消解和缺失的成分进行补全,提高了缺失语义补全的准确率和补全效果、该方法不仅适用于零代词的场景,而且适用于其他成分省略的场景。并且对消解后的提问语句和省略补全的提问语句进行融合,得到融合后的提问语句,并从消解后的提问语句、省略补全的提问语句和融合后的提问语句中获取最终补全的提问语句,避免了消解后的提问语句和省略补全的提问语句存在误差的问题。
在一个可行的实施例中,获取提问语句中的待消解项的位置信息,包括:
获取提问语句的词语编号序列和词性编号序列,其中,词语编号序列由提问语句中每个词的对应的编号组成,词性编号序列由提问语句中的每个词的词性对应的编号组成;将提问语句的词语编号序列和词性编号序列输入到第一序列标注模型中进行运算,以得到待消解项的位置信息。通过引入序列标注模型用于指代定位,提高了指代定位的准确率,排除了一些无需消解的代词。
在一个可行的实施例中,历史对话语句包括提问语句的上轮语句,根据历史对话语句和待消解项的位置信息对提问语句的待消解项进行消解,以得到消解后的提问语句,包括:
从提问语句的上轮语句中获取一个或多个备选先行语;其中,备选先行语为所述上轮语句中的名词或名词短语;采用消解模型对一个或多个备选先行语中的每个备选先行语进行打分,以得到每个备选先行语的分数;从一个或多个备选先行语选取出分数高于第一阈值的备选先行语;采用分数高于第一阈值的备选先行语中分数最高的备选先行语对提问语句的待消解项进行消解,以得到消解后的提问语句。
在一个可行的实施例中,确定提问语句中的是否有成分是否被省略,包括:
确定提问语句中是否有句子主干成分被省略,或;确定提问语句中是否有属性词对应的实体词被省略,或;确定提问语句中是否有通用成分被省略。
在一个可行的实施例中,历史对话语句包括提问语句的上轮语句,确定提问语句中是否有句子主干成分被省略,包括:
判断提问语句的句型和上轮语句的句型是否满足预设条件,或者判断提问语句的句型的主体是否为上轮语句的真子集;若确定提问语句的句型和上轮语句的句型满足预设条件,或者确定提问语句的句型的主干为上轮语句的真子集,则判断提问语句中的短语与上轮语句中的短语是否存在同类关系;若提问语句中的短语与上轮语句中的短语存在同类关系,则确定提问语句中有句子主干成分被省略。
在一个可行的实施例中,预设条件包括:
上轮语句的句型为疑问句,提问语句的句型为疑问句或者提问语句的主体为“那+名词短语+呢”的组合,或者;
上轮语句的句型为陈述句,提问语句的句型为疑问句,或者提问语句的主体为“那+名词短语+呢”的组合或“名词短语+呢”的组合。通过引入基于规则的句子成分缺失检测,能够针对性的检测句子主干成分的缺失,并针对句子主干缺失的成分进行补全,提高了补全的效果。
在一个可行的实施例中,判断提问语句的句型的主干是否为上轮语句的真子集,包括:
分别提取上轮语句和提问语句的主干;判断提问语句的主干中的非名词短语部分是否为上轮语句的主干的真子集。
在一个可行的实施例中,确定提问语句中是否有属性词对应的实体词被省略,包括:
去除提问语句句首的无实意词,以得到处理后的提问语句;判断处理后的提问语句的句首词是否为属性词;若处理后的提问语句的句首词为属性词,则确定提问语句中有属性词对应的实体词被省略。通过引入属性词对应的实体词缺失检测,能够针对性的检测句子中属性对应的实体词的缺失,并对属性词对应的实体词进行补全,提高了缺失语义补全的效果。
在一个可行的实施例中,确定提问语句中是否有通用成分被省略,包括:
获取提问语句中每个词的词性编号序列和词语编号序列,其中,词语编号序列由提问语句中每个词的对应的编号组成,词性编号序列由提问语句中的每个词的词性对应的编号组成;将每个词的词语编号序列和词性编号序列输入到第二序列标注模型中进行计算,以得到在提问语句中通用成分被省略的位置信息。通过引入基于序列标注模型的通用省略检测,并进行针对性的补全,提高了缺失语义补全的效果。
综上所述,通过引入基于规则的句子主干成分缺失检测、属性词对应的实体词的缺失检测盒基于序列标注模型的通用省略检测,能够检测更多类型的省略现象,并进行针对性的补全,从而达到更好的省略补全效果。
在一个可行的实施例中,根据历史对话语句将省略的成分补全,以得到省略补全的提问语句,包括:
保留上轮语句的整体结构,将上轮语句中的短语替换为提问语句中的短语,以得到省略补全后的提问语句;其中,上轮语句中的短语与提问语句中的短语存在同类关系。
在一个可行的实施例中,历史对话语句包括提问语句的上轮语句,根据历史对话语句将省略的成分补全,以得到省略补全的提问语句,包括:
获取上轮语句中一个或多个备选实体词;根据补全模型对上轮语句中的一个或多个备选实体词中的每个备选实体词进行评分,以得到每个备选实体词的评分;从一个或多个备选实体词中获取评分高于第二阈值的备选实体词;根据评分高于第二阈值的备选实体词中评分最高的备选实体词将提问语句中被省略的属性词对应的实体词补全,以得到省略补全的提问语句。
在一个可行的实施例中,历史对话语句包括提问语句的上轮语句,根据历史对话语句将省略的成分补全,以得到省略补全的提问语句,包括:
通过补全模型对上轮语句中的一个或多个名词/名词短语中的每个名词/名词短语进行评分,以得到每个名词/名词短语的评分;从一个或多个名词/名词短语中获取评分高于第三阈值的名词/名词短语;根据评分高于第三阈值的名词/名词短语中评分最高的名词/名词短语将提问语句中被省略的通用成分补全,以得到省略补全的提问语句。
通过引入基于CNN的消解模型和补全模型分别对提问语句中待消解的位置进行消解和省略的成分进行补全,解决了现有技术中仅通过词汇共现频率来决策补全而导致补全错误的问题,可以更好地从海量问答语料中挖掘待补全的提问语句和备选词语的语义相似度,进而提升补全效果。
在一个可行的实施例中,从消解后的提问语句、省略补全的提问语句和融合后的提问语句中确定目标补全提问语句,包括:
对消解后的提问语句、省略补全后的提问语句和融合后的提问语句中的每个提问语句进行评分,以得到每个提问语句的完整性评分和可能性评分,其中,完整性评分用于表征语句的主干的主谓宾的完整程度,可能性评分用于表征将语句中所有词汇构成一个句子的概率;对每个提问语句的完整性评分和可能性评分进行加权求和,以得到该提问语句的加权评分;将加权评分最高的提问语句确定为目标补全提问语句。通过对消解后的提问语句和省略补全的提问语句进行融合,得到融合后的提问语句,并从消解后的提问语句、省略补全的提问语句和融合后的提问语句中获取最终补全的提问语句,从整体上评估多个补全后的提问语句的效果,避免了消解后的提问语句和省略补全的提问语句存在误差的问题,提高了补全效果。
在一个可行的实施例中,缺失语义补全方法还包括:
将分数高于第一阈值的备选先行语中,分数与最高分数之间差值的绝对值小于第四阈值的备选先行语确定为候选补全项,并将候选补全项保存至备选表中,或者;将评分高于第二阈值的备选名词或名词短语中,评分与最高评分之间差值的绝对值小于第五阈值的备选名词或名词短语确定为候选补全项,并将候选补全项保存至备选表中,或者;将评分结果高于第三阈值的备选名词或名词短语中,评分结果与最高评分结果之间差值的绝对值小于第六阈值的备选名词或名词短语确定为候选补全项,并将候选补全项保存至备选表中。
在一个可行的实施例中,缺失语义补全方法还包括:
若备选表中包含备选补全项,则执行澄清操作;其中,执行澄清操作,包括:
根据备选补全项生成询问语句,并发起询问对话;其中,询问语句包括备选补全项;获取用户回答语句,并从回答语句中获取用户选择的备选补全项;若用户选择的候选补全项与备选表中的候选补全项一致时,根据用户选择的候选补全项修改目标补全提问语句,以得到修改后的提问语句。
在一个可行的实施例中,缺失语义补全方法还包括:
从本地数据库中或第三方服务器中获取针对目标补全提问语句或修改后的提问语句的答案,并根据该答案生成回复语句。
在一个可行的实施例中,缺失语义补全方法还包括:
基于语法规则、句式和历史候选补全项判断用户是否发起纠错对话;若确定用户发起纠错对话,则从纠错对话中提取候选备选项,并根据该候选备选项修改目标补全提问语句或修改后的提问语句,以得到新的提问语句;针对新的提问语句生成新的回复语句。
通过引入澄清和纠错机制,可以基于用户反馈更新现有的补全模型和序列标注模型,进而实现不断优化补全效果。
在一个可行的实施例中,缺失语义补全方法还包括:
在获取提问语句之后,对该提问语句进行预处理,包括但不限定于分词、词性标注、句子问题类型识别、句子主干提取等。
在一个可行的实施例中,缺失语义补全方法还包括:
在执行完澄清操作或纠错之后,根据提问语句、历史对话语句及修改后的提问语句或新的提问语句生成训练语料,以更新补全模型和消解模型。
第二方面,提供一种补全装置,该装置包括用于执行第一方面中的方法的模块。
第三方面,提供一种补全装置,该装置包括:存储器,用于存储程序;处理器,用于执行存储器存储的程序,当存储器存储的程序被执行时,处理器用于执行第一方面中的方法。
第四方面,提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行第一方面中的方法。
第五方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面中的方法。
第六方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行第一方面中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面中的方法。
第七方面,提供一种电子设备,该电子设备包括上述第二方面或第三方面中的任意一个方面中的装置。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A为本发明实施例提供的一种自然语言处理系统;
图1B为本发明实施例提供的另一种自然语言处理系统;
图1C为本发明实施例提供的另一种自然语言处理系统;
图2为本发明实施例提供了一种系统架构;
图3为本发明实施例提供了另一种卷积神经网络示意图;
图4为本发明实施例提供了另一种卷积神经网络示意图;
图5本发明实施例提供的一种芯片硬件结构图;
图6本发明实施例提供的一种缺失语义补全方法的流程示意图;
图7本发明实施例提供的一种补全装置的结构示意图;
图8本发明实施例提供的另一种补全装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
场景介绍
如图1A所示,一种自然语言处理系统包括用户设备以及数据处理设备。
所述用户设备包括用户以及手机、个人电脑或者信息处理中心等智能终端。所述用户设备为自然语言数据处理的发起端,作为语言问答或者查询等请求的发起方,通常用户通过所述用户设备发起请求。
所述数据处理设备可以是云服务器、网络服务器、应用服务器以及管理服务器等具有数据处理功能的设备或服务器。所述数据处理设备通过所述交互接口接收来自所述智能终端的查询语句/语音/文本等问句,再通过存储数据的存储器以及数据处理的处理器环节进行机器学习,深度学习,搜索,推理,决策等方式的语言数据处理。所述存储器可以是一个统称,包括本地存储以及存储历史数据的数据库,所述数据库可以再数据处理设备上,也可以在其它网络服务器上。
如图1B所示为自然语言处理系统的另一个应用场景。此场景中智能终端直接作为数据处理设备,直接接收来自用户的输入并直接由智能终端本身的硬件进行处理,具体过程与图1A相似,可参考上面的描述,在此不再赘述。
如图1C所示,所述用户设备可以是本地设备101或102,所述数据处理设备可以是执行设备110,其中数据存储系统150可以集成在所述执行设备110上,也可以设置在云上或其它网络服务器上。
参见附图2,本发明实施例提供了一种系统架构200。数据采集设备260用于采集训练数据并存入数据库230,训练设备220基于数据库230中维护的训练数据生成序列标注模型/消解模型/补全模型201。下面将更详细地描述训练设备220如何基于训练数据得到序列标注模型/消解模型/补全模型201,生成序列标注模型能够确定提问语句中需要进行指代消解的位置信息和确定提问语句中语义缺失的位置信息,生成消解模型能够在进行指代消解时根据指代消解的位置信息对提问语句进行指代消解,得到消解后的提问语句,生成补全模型能够对提问语句缺失的语义进行补全,以得到补全的提问语句。
图2所示为数据处理过程中的功能模块图,对应图1A中的实际应用场景图时,所述客户设备240可以是图1A的用户设备,所述执行设备210以及数据存储系统250在图1A 中的用户设备数据处理能力比较强大时,可以集成在所述用户设备内。在一些实施例中,也可以将所述执行设备210以及数据存储系统250集成在图1A中的数据处理设备上。所述数据库230、训练设备220以及数据采集设备260可以对应集成在图1A中的数据处理设备上,可以设置在云上或网络上的其它服务器上。
在NLP领域,数据采集设备260可以是终端设备,也可以是服务器或者云的输入输出接口,用于获取查询语句以及返回答复语句的交互层(interface)。
深度神经网络中的每一层的工作可以用数学表达式来描述:从物理层面深度神经网络中的每一层的工作可以理解为通过五种对输入空间(输入向量的集合)的操作,完成输入空间到输出空间的变换(即矩阵的行空间到列空间),这五种操作包括:1、升维/降维;2、放大/缩小;3、旋转;4、平移;5、“弯曲”。其中1、2、3的操作由完成,4的操作由+b完成,5的操作则由α()来实现。这里之所以用“空间”二字来表述是因为被分类的对象并不是单个事物,而是一类事物,空间是指这类事物所有个体的集合。其中, W是权重向量,该向量中的每一个值表示该层神经网络中的一个神经元的权重值。该向量 W决定着上文所述的输入空间到输出空间的空间变换,即每一层的权重W控制着如何变换空间。训练深度神经网络的目的,也就是最终得到训练好的神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。因此,神经网络的训练过程本质上就是学习控制空间变换的方式,更具体的就是学习权重矩阵。
因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到神经网络能够预测出真正想要的目标值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objectivefunction),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
训练设备220得到的序列标注模型/消解模型/补全模型201可以应用不同的系统或设备中。在附图2中,执行设备210配置有I/O接口212,与外部设备进行数据交互,“用户”可以通过客户设备240向I/O接口212输入数据。
执行设备210可以调用数据存储系统250中的数据、代码等,也可以将数据、指令等存入数据存储系统250中。
关联功能模块213对接收到的提问语句进行预处理,以方便后续对提问语句进行消解和省略补全处理。
最后,I/O接口212将处理结果返回给客户设备240,提供给用户。
更深层地,训练设备220可以针对不同的目标,基于不同的数据生成相应的序列标注模型/消解模型/补全模型201,以给用户提供更佳的结果。
在附图2中所示情况下,用户可以手动指定输入执行设备210中的数据,例如,在I/O 接口212提供的界面中操作。另一种情况下,客户设备240可以自动地向I/O接口212输入数据并获得结果,如果客户设备240自动输入数据需要获得用户的授权,用户可以在客户设备240中设置相应权限。用户可以在客户设备240查看执行设备210输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备240也可以作为数据采集端将采集到训练数据存入数据库230。
值得注意的,附图2仅是本发明实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在附图2中,数据存储系统250相对执行设备210是外部存储器,在其它情况下,也可以将数据存储系统250置于执行设备 210中。
场景示例描述2:以卷积神经网络做训练:
卷积神经网络(convolutional neuron nrtwork,CNN)是一种带有卷积结构的深度神经网络,是一种深度学习(deep learning)架构,深度学习架构是指通过机器学习的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,CNN是一种前馈(feed-forward)人工神经网络,该前馈人工神经网络中的各个神经元对输入其中的语句作出响应。
需要指出的是,序列标注模型是基于CNN和RNN训练得到的,消解模型和补全模型是基于CNN训练得到的。
如图3所示,卷积神经网络(CNN)100可以包括输入层110,卷积层/池化层120,其中池化层为可选的,以及神经网络层130。
卷积层/池化层120:
卷积层:
如图3所示卷积层/池化层120可以包括如示例121-126层,在一种实现中,121层为卷积层,122层为池化层,123层为卷积层,124层为池化层,125为卷积层,126为池化层;在另一种实现方式中,121、122为卷积层,123为池化层,124、125为卷积层,126 为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
以卷积层121为例,卷积层121可以包括很多个卷积算子,卷积算子也称为核,其在自然语言处理中的作用相当于一个从输入的语音或语义信息中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义。
这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以从输入图像中提取信息,从而帮助卷积神经网络100进行正确的预测。
当卷积神经网络100有多个卷积层的时候,初始的卷积层(例如121)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络100深度的加深,越往后的卷积层(例如126)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。
池化层:
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,即如图3中120所示例的121-126各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在自然语言数据处理过程中,池化层的唯一目的就是减少数据的空间大小。
神经网络层130:
在经过卷积层/池化层120的处理后,卷积神经网络100还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层120只会提取特征,并减少输入数据带来的参数。然而为了生成最终的输出信息(所需要的类信息或别的相关信息),卷积神经网络100需要利用神经网络层130来生成一个或者一组所需要的类的数量的输出。因此,在神经网络层130中可以包括多层隐含层(如图3所示的131、132至13n)以及输出层140,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括语音或语义识别、分类或生成等等。
在神经网络层130中的多层隐含层之后,也就是整个卷积神经网络100的最后层为输出层140,该输出层140具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络100的前向传播(如图3由110至140的传播为前向传播)完成,反向传播(如图3由140至110的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络100的损失及卷积神经网络100通过输出层输出的结果和理想结果之间的误差。
需要说明的是,如图3所示的卷积神经网络100仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在,例如,如图4所示的多个卷积层/池化层并行,将分别提取的特征均输入给全神经网络层130进行处理。
执行设备210在接收到提问语句后,基于序列标注模型确定提问语句中需要进行指代消解的位置信息,然后消解模型基于提问语句的上轮语句和指代消解的位置信息对提问语句进行指代消解。通过引入序列标注模型和消解模型可以提高指代消解的准确性,进而提高语义缺失补全的效果。执行设备210接收到提问语句后,基于序列标注模型确定提问语句中存在通用成分缺失的位置,然后基于补全模型和上轮语句将缺失的成分补全。通过引入序列标注模型、消解模型和补全模型可以提高指代消解的准确性,进而提高语义缺失补全的效果。
假设提问语句“他身高多少?”的上轮语句为“姚明是篮球运动员”,则上轮语句的备选先行语包括:“姚明”、“篮球”和“运动员”。补全装置采用消解模型对备选先行语进行打分,得到的各备选先行语的打分结果为:姚明:3.6,篮球:0.6,运动员:2.7,空白词:1.5。此时第一阈值为空白词的分数1.5。分数高于第一阈值的备选先行语有“姚明”和“运动员”,补全装置从“姚明”和“运动员”选取分数最高的备选先行语来对待消解项“他”进行消解,消解后得到的提问语句为:“姚明的身高多少?”。
在图1A和图1B所示场景中,智能终端的处理器运行如图3和图4所示的卷积神经网络,在图1C所示的场景中,执行设备110运行如图3和图4所示的卷积神经网络,在图2 所示的系统中,训练设备220和执行设备210中的计算模块211运行如图3和图4所示的卷积神经网络。
图5是本发明实施例提供的一种芯片硬件结构图。图3和图4所示的基于卷积神经网络的算法可以在图5所示的NPU芯片中实现。
神经网络处理器NPU 50作为协处理器挂载到主CPU(Host CPU)上,由Host CPU 分配任务。NPU的核心部分为运算电路50,控制器504控制运算电路503提取存储器(权重存储器或输入存储器)中的数据并进行运算。
在一些实现中,运算电路503内部包括多个处理单元(Process Engine,PE)。在一些实现中,运算电路503是二维脉动阵列。运算电路503还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路503是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器502中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器501 中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器508accumulator中。
向量计算单元507可以对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元507可以用于神经网络中非卷积/非FC层的网络计算,如池化(Pooling),批归一化(Batch Normalization),局部响应归一化(Local Response Normalization)等。
在一些实现种,向量计算单元能507将经处理的输出的向量存储到统一缓存器506。例如,向量计算单元507可以将非线性函数应用到运算电路503的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元507生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路503的激活输入,例如用于在神经网络中的后续层中的使用。
在本申请中,训练CNN和RNN的神经网络模型得到序列标注模型、训练CNN模型得到消解模型和补全模型,及使用序列标注模型、消解模型和补全模型对提问语句进行补全得到目标补全提问语句的算法可以由向量计算单元507和运算电路503来执行。
统一存储器506用于存放输入数据以及输出数据。
存储单元访问控制器505(Direct Memory Access Controller,DMAC)将外部存储器中的输入数据搬运到输入存储器501和/或统一存储器506、将外部存储器中的权重数据存入权重存储器502,以及将统一存储器506中的数据存入外部存储器。
总线接口单元(Bus Interface Unit,BIU)510,用于通过总线实现主CPU、DMAC和取指存储器509之间进行交互。
与控制器504连接的取指存储器(instruction fetch buffer)509,用于存储控制器504 使用的指令;
控制器504,用于调用指存储器509中缓存的指令,实现控制该运算加速器的工作过程。
外部存储器中存储数据比如主CPU获取的用于训练CNN和RNN模型及CNN模型的训练数据集。
一般地,统一存储器506,输入存储器501,权重存储器502以及取指存储器509均为片上(On-Chip)存储器,外部存储器为该NPU外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(Double Data Rate Synchronous Dynamic Random AccessMemory,简称DDR SDRAM)、高带宽存储器(High Bandwidth Memory,HBM)或其他可读可写的存储器。
图5所示的芯片中的主CPU和NPU配合完成图1A、图1B、图1C和图2中用于补全提问语句的程序算法。具体地,在获取提问语句中的待消解项的位置信息之前,主CPU获取第一训练数据集,NPU使用第一训练数据集训练基于CNN和RNN的神经网络模型,以得到第一序列标注模型,然后主CPU将提问语句输入到NPU中,NPU通过第一序列标注模型确定提问语句中待消解项的位置信息。在对提问语句中待消解项进行消解之前,主CPU 获取第二训练数据集,NPU使用第二训练数据集训练基于CNN的模型,以得到消解模型;然后主CPU将提问语句输入到NPU中,NPU通过消解模型和待消解项的位置信息对提问语句的待消解项进行消解,以得到消解后的提问语句,NPU将消解后的提问语句传输至主 CPU。
在确定提问语句中是否有通用成分被省略之前,主CPU获取训练数据集,NPU使用该训练数据集训练基于CNN和RNN的神经网络模型,以得到第二序列标注模型,然后主CPU将提问语句输入到NPU中,NPU通过第二序列标注模型确定提问语句中的被省略的通用成分的位置信息。主CPU获取第三训练数据集,NPU使用该第三训练数据集训练基于CNN 的模型,以得到补全模型,然后主CPU将提问语句输入到NPU中,NPU通过补全模型和被省略的通用成分的位置信息将被省略的通用成分补全,以得到省略补全的提问语句。
在此需要说明的是,图5所示的芯片中还可以执行RNN的相关运算。
参见图6,图6为本发明实施例提供的一种缺失语义补全方法的流程示意图。如图6所示,该方法包括:
S601补全装置获取历史对话语句及用户输入的提问语句。
其中,补全装置通过获取用户采用键盘输入的提问语句或者通过接收用户采用语音方式输入的语音信息,并将该语音信息转换为文字信息,进而得到用户输入的提问语句。
S602补全装置对用户输入的提问语句进行预处理。
其中,对用户输入的提问语句进行的预处理包括但不限定于分词、词性标注、语句类型识别和语句主干提取。
在一个可能的实施例中,对用户输入的提问语句进行的预处理包括分词、词性标注、语句类型识别和语句主干提取中的部分或者全局。
具体地,对提问语句进行分词是将提问语句分成一个个单独的词,词性标注是对提问语句进行分词后的词的词性进行标注。词性包括名词、动词、形容词、代词、数词、量词、助词、介词和连词等等。比如提问语句为“小明买了什么手机?”,其分词结果为“小明买了什么手机?”,这些分词的词性标注结果为“nr v u r n w”。其中,nr用于指示“小明”为人名,v用于指示“买”为动词,u用于指示“了”为助词,r用于指示“什么”为代词(或者为疑问代词),n用于指示“手机”为名词,w用于指示“?”为标点符号。
需要说明的是,用于指示的词的词性的标识还可以采用其他形式表示,比如数字1,2,3,4 等,本申请不做限定。
提问语句的类型包括但不限定于WHAT/WHERE/WHEN/WHO/WHY/HOW/YES_NO /STATEMENT等类型。其中,WHAT表示对物体的提问的问句,WHERE表示对地点的提问的问句,WHEN表示时间的提问的问句,WHO表示对人的提问的问句,WHY/表示对原因的提问的问句,HOW表示询问语句,YES_NO表示是非问句,STATEMENT表示陈述句。比如“小明买了什么手机?”的类型为WHAT类型,“怎样做蛋炒饭?”的类型为HOW 类型。
提问装置进行提问语句类型判断,具体包括首先判断提问语句是疑问句还是陈述句,若确定提问语句为疑问句,则提问装置继续判断提问语句是WHAT类型、WHERE类型、WHEN类型、WHO类型、WHY类型和HOW类型中的哪一种。
语句主干提取是将语句中的主要句子成分进行提取,包括主语、谓语和宾语等。一个示例中,对提问语句进行句法分析,再根据分析结果对提取提问语句的主语、谓语和宾语。另一个示例中,构造训练数据集,进行神经网络训练,以训练得到一个序列标注器,然后在通过该序列标注器预测提取语句中主语、谓语和宾语的起始位置。
比如提问语句“小明买了什么手机?”的主干为“小明”(即主语),“买”(即谓语)和“手机”(即宾语)。
需要说明的是,对用户输入的提问语句进行分词和词性标注可采用采用哈工大语言技术平台(language technology platform,LTP)、中科院计算机技术研究所自然语言处理和信息检索(natural language processing&information retrieval,NLPIR)、清华大学汉语词法分析器(THU lexical analyzer for chinese,THULAC)和jieba、Stanford的corenlp等工具;对提问语句的句法分析也可采用Stanford的corenlp等工具,当然还可以采用其他方式。
S603、补全装置获取提问语句中待消解项的位置信息,并对根据待消解项的位置信息对待消解项进行消解,以得到消解后的提问语句。
在一种可能的实施例中,补全装置根据序列标注模型确定提问语句的待消解项的位置信息。
具体地,补全装置获取提问语句的词语编号序列和词性编号序列。其中,词语编号序列由提问语句中每个词对应的编号组成,词性编号序列由提问语句中每个词的词性对应的编号组成的。然后将该提问语句的词语编号序列和词性编号序列输入到第一序列标注模型中进行运算,以得到待消解项的位置信息;根据待消解项的位置信息确定提问语句中的待消解项。比如对于提问语句“他身高多少?”的待消解项的位置信息为“1 0 0 0”,则补全装置可确定该提醒语句中的第0个位置(即“他”)存在待消解项。
需要说明的是,提问装置在对提问语句进行分词后,通过查询词表/字典中词语的编号和词性的编号,获取提问语句中每个词的词语编号和词性编号,进而获取提问语句的词语编号序列和词性编号序列。
补全装置获取提问语句的上轮语句的备选先行语。可选地,补全装置可采用命名实体识别(named entity recognizer,NER)工具获取上轮语句中的一个或多个备选先行语。然后补全装置采用消解模型对一个或多个备选先行语中的每个备选先行语进行打分,以得到每个备选先行语的分数;再选取出分数高于第一阈值的备选先行语对待消解项进行消解。
若分数高于第一阈值的备选先行语有多个时,补全装置则采用分数最高的备选先行语对待消解项进行消解,并将分数高于第一阈值的备选先行语中除了分数最高的备选先行语之外的,且分数与最高分数之间差值的绝对值小于第四阈值的备选先行语保存到备选表中。
在此需要说明的是,对于补全装置来说,上轮语句是指在提问语句之前接收到的且在接收时间上与该提问语句的接收时间之间的间隔最短的语句。相对地,提问语句可称为本轮语句。
假设提问语句“他身高多少?”的上轮语句为“姚明是篮球运动员”,则上轮语句的备选先行语包括:“姚明”、“篮球”和“运动员”。补全装置采用消解模型对备选先行语进行打分,得到的各备选先行语的打分结果为:姚明:3.6,篮球:0.6,运动员:2.7,空白词:1.5。此时第一阈值为空白词的分数1.5。分数高于第一阈值的备选先行语有“姚明”和“运动员”,补全装置从“姚明”和“运动员”选取分数最高的备选先行语来对待消解项“他”进行消解,消解后得到的提问语句为:“姚明的身高多少?”。
进一步地,若第四阈值为1,则由于备选先行语“运动员”的分数与最高分数之间的差值的绝对值为0.9,小于第四阈值,因此补全装置将备选先行语“运动员”保存到备选表中。
其中,第一序列标注模型是基于卷积神经网络(convolution neural network,CNN)和循环神经网络(recurrent neural network,RNN)训练得到的,消解模型是基于CNN训练得到的。
需要说明的是,采用CNN和RNN的组合旨在提取更多的语义信息。
在一种可能的实施例中,补全装置获取第一训练数据集,然后根据第一训练数据集训练基于CNN和RNN的神经网络模型,以得到第一序列标注模型。其中,基于CNN和RNN 的组合训练得到第一序列标注模型的目的是为了提取更多的语义信息。
其中,第一训练数据集包括多个第一语句对,每个第一语句对包括原语句和修改语句。原语句的来源可以是社区问答的数据或者问答系统的历史问答数据。
补全装置在获取原语句后,采用NER工具比如Stanford的corenlp工具,对原语句进行命名实体识别,以识别出原语句中的人名、地名、时间、名词短语等。比如对原语句“姚明身高是多少?”进行命名实体识别,识别出该原语句中包括一个人名类型的实体“姚明”。然后对原语句中相应的命名实体(比如“姚明”)进行代词替换(即用代词“他”替换“姚明”),以得到原语句对应的修改语句,并对代词在修改语句中的位置进行标注。比如对修改语句“他身高是多少?”中的代词的位置标注为“1 0 0 0 0”或者“0 1 1 1 1”。
第一序列标注模型包括输入层(input layer)、嵌入层(embedding layer)、卷积层 (convolution layers)、池化层(pooling layer)、拼接层(merge layer)、编解码层和全连接层(fully connected layer)。
其中,输入层的输入数据为由原语句中每个词语对应的编号组成的向量和由原语句中每个词语的词性对应的编号组成的向量。词语对应的编号和词语的词性对应的编号分别来源于一个词语表和词性表,每个词及其词性分别对应一个数字编号。词语表为词语与编号的对应关系表,词性表为词性与编号的对应关系表。换句话说,输入层的输入数据为两个向量。
嵌入层:将原语句中每一个词语以及其词性对应到一个固定维数的向量(比如200维),作为该词以及其词性的连续数学表示,这些向量拼起来组成该原语句的嵌入式矩阵。
卷积层:将句子与词性的嵌入式矩阵通过不同数量的CNN卷积核进行一定次数的卷积操作;
池化层:分别将词与词性嵌入式表示经过卷积层得到的不同卷积结果取最大值进行拼接,得到该句子的词义向量以及词性编号序列。
拼接层:将句子的词义向量以及词性编号序列拼接得到统一的CNN句子向量;
序列编码:将所得到的句子向量作为编码层的初始状态,用RNN神经网络(例如长短期记忆(long-short term memory,LSTM)网络对句子行编码得到该句子的序列;
序列解码:将所得到的句子序列作为解码层的输入,用RNN神经网络(例如LSTM)对该句子的每个词语进行解码输出,得到每个词的向量;
全连接层:将解码后得到的每个词的向量接入一个全连接神经网络分类器,标注该词是否属于指代词。
在一个可能的实施例中,补全装置获取第二数据训练集,再根据第二数据训练集训练 CNN模型,以得到消解模型。其中,第二训练数据集包括多个第二语句对,每个第二数据对包括候选先行语及对该候选先行语打分的分数。
消解模型包括输入层(input layer)、嵌入层(embedding layer)、卷积层(convolution layers)、池化层(pooling layer)、拼接层(merge layer)、编解码层和全连接层(fully connected layer)。
输入层:输入层的输入数据为由提问语句的上轮语句中每个词语对应的编号组成的向量和由提问语句中每个词语的词性对应的编号组成的向量。词语对应的编号和词语的词性对应的编号分别来源于一个词语表和词性表,每个词及其词性分别对应一个数字编号。词语表为词语与编号的对应关系表,词性表为词性与编号的对应关系表。换句话说,输入层的输入数据为两个向量;
嵌入层:将提问语句的上轮语句中每一个词语以及其词性对应到一个固定维数的向量 (比如200维),作为该词以及其词性的连续数学表示,这些向量拼起来组成该上轮语句的嵌入式矩阵。
卷积层:将句子与词性的嵌入式矩阵通过不同数量的CNN卷积核进行一定次数的卷积操作;
池化层:分别将词与词性嵌入式表示经过卷积层得到的不同卷积结果取最大值进行拼接,得到该句子的词义向量以及词性编号序列。卷积层与池化层共同组成序列-CNN-池化 (sequence-CNN-pooling)模块。
拼接层:将句子的词义向量,词性编号序列以及候选词的向量拼接得到统一的CNN向量;
全连接层:将得到的CNN向量输入到一个全连接神经网络打分器,得到该候选先行语的一分数。
训练时可以人工构造正例与负例,正例分数高,负例分数低,选择正确的指代对象为正例,选择错误的指代对象为负例进行训练。
S604补全装置确定提问语句中是否有成分被省略;若确定有成分被省略,则将省略成分补全,以得到省略补全的提问语句。
其中,补全装置确定提问语句中是否有成分被省略,包括以下情况中的一种或多种:
情况1:确定提问语句中是否有句子主干成分被省略;
情况2:确定提问语句中是否有属性词对应实体词被省略;
情况3:确定提问语句中是否有通用成分被省略。
在一个示例中,补全装置确定提问语句中是否有句子主干成分被省略具体包括:首先判断提问语句的句型和上轮语句的句型是否满足预设条件,或者判断该提问语句的主体是否为上轮语句的真子集。
该预设条件可以为:
上轮语句的句型为疑问句,提问语句的句型为疑问句或者提问语句的主体为“那+名词短语+呢”的组合,比如上轮语句为“河北的省会是哪里?”,提问语句为“山东的是哪里?”或者为“那山东呢?”;或者,
上轮语句的句型为陈述句,提问语句的句型为疑问句,或者提问语句的主体为“那+名词短语+呢”的组合,或者提问语句的主体为“名词短语+呢”的组合,比如上轮语句为“河北的省会在石家庄”,提问语句为“山东的是哪?”或者为“那山东呢”或者为“山东呢”。
其中,判断提问语句的主干是否为上轮语句的主干的真子集,具体是通过对上轮语句和提问语句进行主干提取,然后再判断提问语的主干中非名词短语的部分是否为上轮语句的主干的真子集。比如,本轮语句为“吃不吃月饼”,上轮语句为“端午节是不是吃粽子”;提问语句的主干为“吃月饼”,上轮语句的主干为“端午节吃粽子”,在对提问语句的主干和上轮语句的主干去除名词短语后,提问语句的主干为“吃”,为上轮语句的真子集。
当提问语句的句型和上轮语句的句型满足预设条件或者提问语句的主体为上轮语句的真子集时,再判断提问语句中的短语与上轮语句中的短语是否存在同类关系。若提问语句中的短语与上轮语句中的短语存在同类关系,则补全装置确定提问语句有句子主干成分被省略。比如上一步骤中的“粽子”和“月饼”存在同类关系。
需要说明的是,对于短语是否存在同类关系的判断可以借助同义词典,比如哈工大的同义词词林或者知网的Hownet,还可以通过基于词语编号序列设计相似度计算算法,从而通过该算法确定短语是否存在同类关系,即确定短语是否互为同类短语。
在确定提问语句有句子主干成分被省略后,补全装置将提问语句的省略的主干成分补全。具体地,补全装置保留上轮语句的整体结构,再将同类短语进行替换。比如,上轮语句为“河北的省会在哪里”,提问语句为“那山东呢”,将上轮语句中的“河北”替换为“山东”,则补全后的提问语句为“山东的省会在哪里”。
在一个示例中,补全装置确定提问语句中是否有属性词对应实体词被省略,具体包括:去除提问语句句首的无实意词,以得到处理后的提问语句,再判断处理后的提问语句的句首词是否为属性词。若处理后的提问语句的句首为属性词,则补全装置确定该提问语句中有属性词对应的实体词被省略。
需要说明的是,句首无实意词可以是一些停用词,或常用的询问说法,比如“你可不可以告诉我”、“查询一下”、“帮我看下”等。
举例说明,假设提问语句为“你知道身高是多少吗?”,补全装置将提问语句中句首的无实意词“你知道”去掉,得到处理后的提问语句“身高是多少?”。补全装置确定处理后的提问语句“身高是多少?”的句首词“身高”为属性词,进而确定属性词“身高”对应的实体词省略。
补全装置可以根据属性-实体词对确定属性词对应的实体词。其中,属性-实体词对可以有多个来源,包括百科词条/维基百科、业务领域知识图谱和人工添加。百科词条/维基百科的infobox中包含众多属性-实体词对信息。例如,在“姚明”的词条中,包括“国籍”、“身高”、“体重”、“出生地”等信息,补全装置或者人工从这些信息中挑选一些高频词作为实体词“姚明”对应的属性词。业务领域知识图谱数据包含了业务领域常用的一些属性-实体词对,如股票-股价,仪器-温度等;另外可以人工添加一些百科词条、维基百科和业务领域知识图谱未包含的属性-实体词对,比如电影-上映时间,电影-票房等。
进一步地,补全装置将提问语句中省略的属性词对应的实体词补全。具体地,补全装置通过补全模型对上轮语句中的一个或多个备选实体词中每个备选实体词进行评分,以得到每个实体词的评分;选择出评分高于第二阈值的备选实体词作为目标实体词;若评分高于第二阈值的备选实体词有多个,则从该多个评分高于第二阈值的备选实体词中选出评分最高的为目标实体词。补全装置根据目标实体词将提问语句中属性词对应的实体词补全;换言之,目标实体词为提问语句中属性词对应的实体词。
若评分高于第二阈值的备选名词或名词短语有多个,则补全装置将评分高于第二阈值的备选先行语中除了评分最高的备选名词或名词短语之外的,且分数与最高评分之间差值的绝对值小于第五阈值的备选名词或名词短语保存到备选表中。
需要说明的是,多个备选实体词为提问语句的上轮语句中的名词或者名词短语。
举例说明,提问语句为“身高多少?”,提问语句中的属性词为“身高”。该提问语句的上轮语句为“姚明是篮球运动员”,备选实体词包括“姚明”、“篮球”和“运动员”。补全装置根据补全模型分别对备选实体词“姚明”、“篮球”和“运动员”进行评分,评分结果为:姚明:3.6,篮球:0.6,运动员:2.7,空白词:1.5。补全装置将空白词的评分结果确定为第二阈值,因此评分结果高于第二阈值的备选实体包括“姚明”和“运动员”。由于“姚明”的评分结果高于“运动员”的评分结果,补全装置确定备选实体词“姚明”为目标实体词,并根据目标实体词“姚明”将提问语句中的属性词对应的实体词补全,即补全后的提问语句为“姚明的身高多少?”。
进一步地,若第五阈值为1,则由于备选名词“运动员”的评分与最高评分之间的差值的绝对值为0.9,小于第五阈值,因此补全装置将备选名词“运动员”保存到备选表中。
在根据补全模型对上轮语句中的多个备选实体词进行评分之前,补全装置获取第三训练数据集,然后基于第三训练数据集训练CNN,以得到补全模型。具体过程可参见补全装置根据第一训练数据集训练RNN和CNN以得到消解模型的相关描述,在此不再叙述。
在一个示例中,补全装置确定提问语句中是否有通用成分被省略具体包括:补全装置提取提问语句中每个词的词性编号序列和词语编号序列,然后将每个词的词性编号序列和词语编号序列输入到第二序列标注模型中进行计算,以得到提问语句中待补全的省略成分的位置。比如提问语句为“身高多少?”,补全装置将提问语句中“身高”、“多少”和“?”的词性标注和词语编号序列输入到第二序列标注模型中进行计算,以得到计算结果“1 0 0”,补全装置根据计算结果“1 0 0”确定第0个位置(即“身高”之前)存在通用成分被省略。
在使用第二序列标注模型之前,补全装置基于CNN和RNN训练得到第二序列标注模型,具体过程可参见训练得到第一序列标注模型的相关描述,在此不再叙述。
进一步地,补全装置将提问语句中被省略的通用成分补全。具体地,补全装置通过补全模型对上轮语句中的多个名词或名词短语进行评分,从该多个名词或名词短语中选择出评分高于第三阈值的备选名词或名词短语作为待补全的省略成分;若评分高于第三阈值的备选名词或名词短语有多个,则从该多个评分高于第三阈值的备选名词或名词短语中选出评分最高的为待补全的省略成分。补全装置根据待补全的省略成分将提问语句补全。
若评分结果高于第三阈值的名词或名词短语有多个,则补全装置将将评分结果高于第三阈值的备选先行语中除了评分结果最高的备选名词或名词短语之外的,且评分结果与最高评分结果之间差值的绝对值小于第五阈值的备选名词或名词短语保存到备选表中。
举例说明,提问语句为“身高多少?”,补全装置根据第三序列标注模型确定提问语句“身高多少?”中“身高”之前存在成分省略。该提问语句的上轮语句“姚明是篮球运动员”中的名词包括“姚明”、“篮球”和“运动员”。补全装置根据补全模型分别对备选名词“姚明”、“篮球”和“运动员”进行评分,评分结果为:姚明:3.6,篮球:0.6,运动员:2.7,空白词:1.5。补全装置将空白词的评分结果确定为第三阈值,因此评分结果高于第三阈值的名词包括“姚明”和“运动员”。由于“姚明”的评分结果高于“运动员”的评分结果,补全装置确定备选名词“姚明”为待补全的省略成分,并将提问语句补全,即补全后的提问语句为“姚明的身高多少?”。
进一步地,若第六阈值为1,则由于备选名词“运动员”的分数与最高分数之间的差值的绝对值为0.9,小于第六阈值,因此补全装置将备选名词“运动员”保存到备选表中。
在根据补全模型对上轮语句中的多个备选实体词进行评分之前,补全装置获取第三训练数据集,然后基于第三训练数据集训练CNN,以得到补全模型。具体过程可参见补全装置根据第一训练数据集训练RNN和CNN以得到消解模型的相关描述,在此不再叙述。
S605、补全装置对消解后的提问语句和省略补全后的提问语句进行融合,以得到融合后的提问语句。
举例说明,假设历史对话语句包括“小明买了什么手机”和“华为手机”,提问语句为“他花多少钱买的”。针对该提问语句,补全装置确定提问语句中的待消解项,并根据历史对话语句对待消解项进行消解,以得到消解后的提问语句“小明花多少钱买的”。补全装置确定提问语句存在省略,并根据历史对话语句对提问语句中的省略部分补全,以得到省略补全后的提问语句“他花多少钱买的华为手机”。补全装置将消解后的提问语句和省略补全后的提问语句进行融合,以得到融合后的提问语句“小明花多少钱买的华为手机”。至此补全装置得到3种补全结果。
需要说明的是,由于提问语句“他花多少钱买的”不存在主干成分省略和属性词对应的实体词缺失,因此补全装置对该提问语句进行省略补全具体是对该提问语句中的省略部分进行补全。若上述提问语句同时存在主干成分省略和属性词对应的实体词省略,补全装置将提问语句的省略的主干成分和省略的属性词对应的实体词补全,得到两种补全结果。补全装置将该两种补全结果与消解后的提问语句进行融合,又可得到2种补全结果。至此,补全装置共得到7种补全结果。
S606、补全装置对消解后的提问语句、省略补全后的提问语句和融合后的提问语句进行评分,根据评分结果确定目标补全提问语句。
具体地,补全装置对消解后的提问语句、省略补全后的提问语句和融合后的提问语句中的每个提问语句进行评分,以得到每个提问语句的完整性评分和可能性评分。其中,每个提问语句的完整性评分用于表征该提问语句的主干的主谓宾的完整程度,每个提问语句的可能性评分用于表征将该提问语句中所有词汇构成一个句子的概率。然后补全装置对每个提问语句的完整性评分和可能性评分进行加权求和,以得到该提问语句的加权评分。补全装置将加权评分最高的提问语句确定为目标补全提问语句。
其中,补全装置每个提问语句的完整性评分和可能性评分进行线性加权,以得到提问语句的加权评分。用公式可表示为:score=a*score1+b*score2。其中,score为加权评分, score1为完整性评分,score2为可能性评分,a和b均为权值。
进一步地,补全装置通过句法分析每个提问语句的主干,然后基于主谓宾的完整性对该提问语句进行评分,以得到该提问语句的完整性评分。其中,每个提问语句的完整性与该提问语句中的代词或疑问代词具有强相关性,换句话说,每个提问语句终端额代词或疑问代词会影响该提问语句的完整性评分。
补全装置根据语言模型对每个提问语句中所有词汇构成一个句子的可能性进行评分,以得到该提问语句的可行性评分。在此之前,补全装置根据海量的问答语料训练n-gram模型或神经网络语言模型,以得到上述语言模型。
举例说明,融合后的提问语句为“小明花多少钱买的华为手机”,其完整性评分和可能性评分分别为1;消解后的提问语句为“小明花多少钱买的”,其完整性评分和可能性评分分别为0.9和1;省略补全后的提问语句为“他花多少钱买的华为手机”,其完整性评分和可能性评分分别为0.9和1。三种提问语句的加权评分为:
融合后的提问语句:小明花多少钱买的华为手机;score=0.5*1+0.5*1=1;
消解后的提问语句:小明花多少钱买的;score=0.5*0.9+0.5*1=0.95;
省略补全后的提问语句:他花多少钱买的华为手机;score=0.5*0.9+0.5*1=0.95。
补全装置将加权评分最高的融合后的提问语句“小明花多少钱买的华为手机”确定为目标补全提问语句。
需要说明的是,上述公式中的权值a和b均为0.5。
在一个可行的实施例中,在确定目标补全提问语句后,补全装置确定备选表中是否保存备选补全项(包括备选先行语、备选实体词和/或名词)。若确定备选表中保存有备选补全项,则补全装置根据备选补全项生成询问语句,并发起询问对话,该询问语句中包括备选补全项。补全装置获取用户回答语句,从用户回答语句中提取用户选择的备选补全项,并根据用户选择的备选补全项修改目标补全提问语句,以得到修改后的提问语句。
进一步地,若从用户回答语句中提取出的备选补全项与备选表中的备选补全项不一致时,补全装置不修改目标补全提问语句。
举例说明,目标补全提问语句为“河北人口有多少”,备选表中保存有备选补全项“石家庄”。补全装置根据根据备选补全项“石家庄”生成询问语句“您是指石家庄还是河北呢?”,并发起询问对话。补全装置获取用户回答语句“我是说石家庄”,并从该回答语句中提取用户选择的备选补全项“石家庄”,再根据该备选补全项“石家庄”修改目标补全提问语句,以得到修改后的提问语句“石家庄人口是多少?”
再举例说明,目标补全提问语句为“小明花多少钱买的华为手机”,备选表保存有备选补全项“苹果手机”。补全装置根据备选补全项“苹果手机”生成询问语句“您是指华为手机还是苹果手机”,并发起询问对话。补全装置获取用户回答语句“我是说苹果手机”,并从该回答语句中提取备选补全项“苹果手机”,再根据该备选补全项“苹果手机”修改目标补全提问语句,以得到修改后的提问语句“小明花多少钱买的苹果手机?”
在一个可行的实施例中,补全装置根据提问语句、修改后的提问语句和历史对话语句生成训练语料,该训练语料用于进一步训练上述消解模型和补全模型,使得通过该消解模型和补全模型处理的结果更加准确。其中历史对话语句包括但不限定于提问语句的上轮语句和用户针对该上轮语句的回答语句。比如训练语料包括历史对话数据“河北的省会在哪里?”和“石家庄”,提问语句“人口是多少?”,修改后的提问语句“石家庄人口是多少?”。
S607、补全装置生成针对目标补全提问语句或修改后的提问语句的回复语句。
具体地,补全装置从本地数据库或者第三方服务器中获取针对目标补全提问语句或者修改后的提问语句的答案,包括该答案的语句即为回复语句。
比如针对目标补全提问语句“石家庄人口是多少?”,补全装置从本地数据库或第三方服务器中获取石家庄的人口数,并根据石家庄的人口数生成回复语句“石家庄的人口是: XXXX万人”。
在一个可行的实施例中,在基于回复语句发起对话时,补全装置检测用户是否需要执行纠错操作;若确定用户需要执行纠错操作,则补全装置执行纠错操作。具体地,补全装置根据语法规则、句式和历史备选补全项判断用户是否发起纠错对话;若确定用户发起纠错对话,补全装置从纠错对话中提取备选补全项,并根据该备选补全项修改目标补全提问语句或修改后的提问语句,以得到新的提问语句。补全装置针对新的提问语句生成新的回复语句。
举例说明,假设补全装置针对“石家庄人口是多少”(即目标补全提问语句或修改后的提问语句)的回复语句为“石家庄的人口是:1087.99万人”,用户发起纠错对话“我说的是河北或者,不是石家庄,我是说河北”,补全装置确定用户需要执行纠错操作。补全装置从纠错对话中提取备选补全项“河北”,并根据该备选补全项“河北”修改目标补全提问语句或修改后的提问语句,以得到新的提问语句“河北人口是多少?”。
进一步地,补全装置从本地数据库或者第三方服务器中后针对新的提问语句的答案,并根据该答案生成针对新的提问语句的回复语句。
进一步地,根据提问语句、新的提问语句和历史对话语句生成新的训练语料,该新的训练语料用于进一步训练上述消解模型和补全模型,使得通过该消解模型和补全模型处理的结果更加准确。其中历史对话语句包括但不限定于提问语句的上轮语句和用户针对该上轮语句的回答语句。比如训练语料包括历史对话数据“河北的省会在哪里?”和“石家庄”,提问语句“人口是多少?”,修改后的提问语句“河北人口是多少?”。
可以看出,在本申请实施例中方案中,在进行指代消解时,通过引入序列标注模型进行指代定位,提高了指代定位的准确性,排除了无需消解的代词。在进行省略检测和补全时,通过引基于规则的句子成分缺失检测、属性词对应的实体词缺失检测和基于序列标注模型的通用省略检测,使得补全装置能检测出更多类型的省略,并针对地进行补全,提高了省略成分补全的效果。基于CNN的消解/补全模型的引入,解决了现有技术仅靠词汇共现频率来决策补全容易引入错误的问题,并且可以更好地从海量问答语料中挖掘代补全语句和备选补全项的语义相似度,提升补全的性能。在补全完毕后,通过综合效果评估模块可以从整体上评价多个补全结果结合的效果,解决了现有技术简单融合多种结果可能引入错误的问题,提升了最终补全的效果,获得更好的补全性能。澄清和纠错机制的引入可以基于用户的反馈更新现有补全模型,不断优化补全效果。
参见图7,图7为本发明实施例提供的一种推荐装置的结构示意图。如图7所示,该推荐装置700包括:
预处理模块701,用于获取历史对话语句及用户输入的提问语句;
指代定位模块702,用于获取该提问语句中的待消解项的位置信息;
指代消解模块703,用于根据历史对话语句和待消解项的位置信息对提问语句的待消解项进行消解,以得到消解后的提问语句;
省略检测模块704,用于确定提问语句中是否有成分被省略,若确定提问语句中有成分被省略,则省略补全模块705,用于根据历史对话语句将省略的成分补全,以得到省略补全的提问语句;
综合效果评估模块706,用于对消解后的提问语句和省略补全的提问语句进行融合,以得到融合后的提问语句;从消解后的提问语句、省略补全的提问语句和融合后的提问语句中确定目标补全提问语句,目标补全提问语句为消解后的提问语句、省略补全的提问语句和融合后的提问语句中句子主干完整程度及句子中所有词汇构成一句话的概率均最高的提问语句。
在一个可行的实施例中,指代定位模块702具体用于:
获取提问语句的词语编号序列和词性编号序列,其中,词语编号序列由提问语句中每个词的对应的编号组成,词性编号序列由提问语句中的每个词的词性对应的编号组成;将提问语句的词语编号序列和词性编号序列输入到第一序列标注模型中进行运算,以得到待消解项的位置信息。
在一个可行的实施例中,历史对话语句包括提问语句的上轮语句,指代消解模块703 具体用于:
从提问语句的上轮语句中获取一个或多个备选先行语;其中,备选先行语为上轮语句中的名词或名词短语;采用消解模型对一个或多个备选先行语中的每个备选先行语进行打分,以得到每个备选先行语的分数;从一个或多个备选先行语选取出分数高于第一阈值的备选先行语;采用分数高于第一阈值的备选先行语中分数最高的备选先行语对提问语句的待消解项进行消解,以得到消解后的提问语句。
在一个可行的实施例中,省略检测模块704包括:
句子成分缺失检测模块7041,用于确定提问语句中是否有句子主干成分被省略,或;
实体词缺失检测模块7042,用于确定提问语句中是否有属性词对应的实体词被省略,或;
通用省略缺失检测模块7043,用于确定提问语句中是否有通用成分被省略。
在一个可行的实施例中,历史对话语句包括提问语句的上轮语句,句子成分缺失检测模块7041具体用于:
判断提问语句的句型和上轮语句的句型是否满足预设条件,或者判断提问语句的句型的主体是否为上轮语句的真子集;若确定提问语句的句型和上轮语句的句型满足预设条件,或者确定提问语句的句型的主干为上轮语句的真子集,则判断提问语句中的短语与上轮语句中的短语是否存在同类关系;若提问语句中的短语与上轮语句中的短语存在同类关系,则确定提问语句有句子主干成分被省略。
在一个可行的实施例中,预设条件包括:
上轮语句的句型为疑问句,提问语句的句型为疑问句或者提问语句的主体为“那+名词短语+呢”的组合,或者;上轮语句的句型为陈述句,提问语句的句型为疑问句,或者提问语句的主体为“那+名词短语+呢”的组合或“名词短语+呢”的组合。通过引入基于规则的句子成分缺失检测,能够针对性的检测句子主干成分的缺失,并针对句子主干缺失的成分进行补全,提高了补全的效果。
在一个可行的实施例中,在判断提问语句的句型的主干是否为上轮语句的真子集的方面,句子成分缺失检测模块7041具体用于:
分别提取上轮语句和提问语句的主干;判断提问语句的主干中的非名词短语部分是否为上轮语句的主干的真子集。
在一个可行的实施例中,实体词缺失检测模块7042具体用于:
去除提问语句句首的无实意词,以得到处理后的提问语句;判断处理后的提问语句的句首词是否为属性词;若处理后的提问语句的句首词为属性词,则确定提问语句中有属性词对应的实体词被省略。通过引入属性词对应的实体词缺失检测,能够针对性的检测句子中属性对应的实体词的缺失,并对属性词对应的实体词进行补全,提高了缺失语义补全的效果。
在一个可行的实施例中,通用省略缺失检测模块7043具体用于:
获取提问语句中每个词的词性编号序列和词语编号序列,其中,词语编号序列由提问语句中每个词的对应的编号组成,词性编号序列由提问语句中的每个词的词性对应的编号组成;将每个词的词语编号序列和词性编号序列输入到第二序列标注模型中进行计算,以得到在提问语句中通用成分被省略的位置信息。通过引入基于序列标注模型的通用省略检测,并进行针对性的补全,提高了缺失语义补全的效果。
在一个可行的实施例中,省略补全模块705包括句子成分缺失补全模块7051,该句子成分缺失补全模块7051具体用于:
保留上轮语句的整体结构,将上轮语句中的短语替换为提问语句中的短语,以得到省略补全后的提问语句;其中,上轮语句中的短语与提问语句中的短语存在同类关系。
在一个可行的实施例中,历史对话语句包括提问语句的上轮语句,省略补全模块705 包括实体词缺失补全模块7052,该实体词缺失补全模块7052具体用于:
获取上轮语句中一个或多个备选实体词;根据补全模型对上轮语句中的一个或多个备选实体词中的每个备选实体词进行评分,以得到每个备选实体词的评分;从一个或多个备选实体词中获取评分高于第二阈值的备选实体词;根据评分高于第二阈值的备选实体词中评分最高的备选实体词将提问语句中被省略的属性词对应的实体词补全,以得到省略补全的提问语句。
在一个可行的实施例中,历史对话语句包括提问语句的上轮语句,省略补全模块705 包括停用省略缺失补全模块7053,该通用省略缺失补全模块7053具体用于:
通过补全模型对上轮语句中的一个或多个名词/名词短语中的每个名词/名词短语进行评分,以得到每个名词/名词短语的评分;从一个或多个名词/名词短语中获取评分高于第三阈值的名词/名词短语;根据评分高于第三阈值的名词/名词短语中评分最高的名词/名词短语将提问语句中被省略的通用成分补全,以得到省略补全的提问语句。
在一个可行的实施例中,综合效果评估模块706具体用于:
对消解后的提问语句、省略补全后的提问语句和融合后的提问语句中的每个提问语句进行评分,以得到每个提问语句的完整性评分和可能性评分,其中,完整性评分用于表征语句的主干的主谓宾的完整程度,可能性评分用于表征将语句中所有词汇构成一个句子的概率;对每个提问语句的完整性评分和可能性评分进行加权求和,以得到该提问语句的加权评分;将加权评分最高的提问语句确定为目标补全提问语句。
在一个可行的实施例中,补全装置700还包括:
澄清模块707,用于将分数高于第一阈值的备选先行语中,分数与最高分数之间差值的绝对值小于第四阈值的备选先行语确定为候选补全项,并将候选补全项保存至备选表中,或者;将评分高于第二阈值的备选名词或名词短语中,评分与最高评分之间差值的绝对值小于第五阈值的备选名词或名词短语确定为候选补全项,并将候选补全项保存至备选表中,或者;将评分结果高于第三阈值的备选名词或名词短语中,评分结果与最高评分结果之间差值的绝对值小于第六阈值的备选名词或名词短语确定为候选补全项,并将候选补全项保存至备选表中。
在一个可行的实施例中,澄清模块707还用于:
若备选表中包含备选补全项,则执行澄清操作;其中,执行澄清操作,包括:
根据备选补全项生成询问语句,并发起询问对话;其中,询问语句包括备选补全项;获取用户回答语句,并从回答语句中获取用户选择的备选补全项;若用户选择的候选补全项与备选表中的候选补全项一致时,根据用户选择的候选补全项修改目标补全提问语句,以得到修改后的提问语句。
在一个可行的实施例中,澄清模块707还用于:
从本地数据库中或第三方服务器中获取针对目标补全提问语句或修改后的提问语句的答案,并根据该答案生成回复语句。
在一个可行的实施例中,补全装置700还包括:
纠错模块708,用于基于语法规则、句式和历史候选补全项判断用户是否发起纠错对话;若确定用户发起纠错对话,则从纠错对话中提取候选备选项,并根据该候选备选项修改目标补全提问语句或修改后的提问语句,以得到新的提问语句;针对新的提问语句生成新的回复语句。
在一个可行的实施例中,预处理模块701,还用于获取提问语句之后,对该提问语句进行预处理,包括但不限定于分词、词性标注、句子问题类型识别、句子主干提取等。
在一个可行的实施例中,补全装置700还包括:
模型更新模块709,用于在执行完澄清操作或纠错之后,根据提问语句、历史对话语句及修改后的提问语句或新的提问语句生成训练语料,以更新补全模型和消解模型。
需要说明的是,上述各模块(预处理模块701、指代定位模块702、指代消解模块703、省略检测模块704、省略补全模块705、综合结果评估模块706、澄清模块707、纠错模块708和模型更新模块709)用于执行上述步骤S601-S603所示方法的相关内容。其中,预处理模块701用于执行步骤S601和S602的相关内容,指代定位模块702和指代消解模块703 用于执行步骤S603的相关内容,省略检测模块704和省略补全模块705用于执行步骤S604 的相关内容,综合结果评估模块706、澄清模块707、纠错模块708和模型更新模块709用于执行步骤S605、S606和S607的相关内容。
在本实施例中,推荐装置1100是以单元的形式来呈现。这里的“单元”可以指特定专用集成电路(application-specific integrated circuit,ASIC),执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。此外,以上预处理模块701、指代定位模块702、指代消解模块703、省略检测模块704、省略补全模块705、综合结果评估模块706、澄清模块707、纠错模块708和模型更新模块709可通过图8所示的补全装置的处理器801来实现。
如图8所示的补全装置可以以图8中的结构来实现,该补全装置或训练装置包括至少一个处理器801,至少一个存储器802以及至少一个通信接口803。处理器801、存储器802和通信接口803通过通信总线连接并完成相互间的通信。
通信接口803,用于与其他设备或通信网络通信,如以太网,无线接入网(radioaccess network,RAN),无线局域网(wireless local area networks,WLAN)等。
存储器802可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器802用于存储执行以上方案的应用程序代码,并由处理器801来控制执行。所述处理器801用于执行所述存储器802中存储的应用程序代码。
存储器802存储的代码可执行以上提供的一种语义缺失补全方法或模型训练方法。
处理器801还可以采用或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的推荐方法或模型训练方法。
处理器801还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的推荐方法的各个步骤可以通过处理器801中的硬件的集成逻辑电路或者软件形式的指令完成。在实现过程中,本申请的状态生成模型和选择策略的训练方法的各个步骤可以通过处理器801中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器801还可以是通用处理器、数字信号处理器(digital signal processing,DSP)、ASIC、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及模块框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器802,处理器801读取存储器802中的信息,结合其硬件完成本申请实施例的推荐方法或模型训练方法。
通信接口803使用例如但不限于收发器一类的收发装置,来实现推荐装置或训练装置与其他设备或通信网络之间的通信。例如,可以通过通信接口803获取推荐相关数据(历史推荐对象和针对每个历史推荐对象的用户行为)或训练数据。
总线可包括在装置各个部件(例如,存储器802、处理器801、通信接口803)之间传送信息的通路。
在一种可能的实施例中,处理器801具体执行以下步骤:
获取该提问语句中的待消解项的位置信息,并根据历史对话语句和待消解项的位置信息对提问语句的待消解项进行消解,以得到消解后的提问语句;确定提问语句中是否有成分被省略,若确定提问语句中有成分被省略,则根据历史对话语句将省略的成分补全,以得到省略补全的提问语句;对消解后的提问语句和省略补全的提问语句进行融合,以得到融合后的提问语句;从消解后的提问语句、省略补全的提问语句和融合后的提问语句中确定目标补全提问语句,该目标补全提问语句为消解后的提问语句、省略补全的提问语句和融合后的提问语句中句子主干完整程度及句子中所有词汇构成一句话的概率均最高的提问语句。
在执行获取提问语句中的待消解项的位置信息的步骤时,处理器801具体执行以下步骤:
获取提问语句的词语编号序列和词性编号序列,其中,词语编号序列由提问语句中每个词的对应的编号组成,词性编号序列由提问语句中的每个词的词性对应的编号组成;将提问语句的词语编号序列和词性编号序列输入到第一序列标注模型中进行运算,以得到待消解项的位置信息。
在一种可能的实施例中,历史对话语句包括提问语句的上轮语句;在执行根据历史对话语句和待消解项的位置信息对提问语句的待消解项进行消解,以得到消解后的提问语句时,处理器801具体执行以下步骤:
从提问语句的上轮语句中获取一个或多个备选先行语;其中,备选先行语为上轮语句中的名词或名词短语;采用消解模型对一个或多个备选先行语中的每个备选先行语进行打分,以得到每个备选先行语的分数;从一个或多个备选先行语选取出分数高于第一阈值的备选先行语;采用分数高于第一阈值的备选先行语中分数最高的备选先行语对提问语句的待消解项进行消解,以得到消解后的提问语句。
在一个可行的实施例中,确定提问语句中是否有成分被省略,包括:
确定提问语句中是否有句子主干成分被省略,或;确定提问语句中是否有属性词对应的实体词被省略,或;确定提问语句中是否有通用成分被省略。
在一个可行的实施例中,历史对话语句包括提问语句的上轮语句,在执行确定提问语句中是否有句子主干成分被省略的步骤时,处理器801具体用于执行以下步骤:
判断提问语句的句型和上轮语句的句型是否满足预设条件,或者判断提问语句的句型的主体是否为上轮语句的真子集;若确定提问语句的句型和上轮语句的句型满足预设条件,或者确定提问语句的句型的主干为上轮语句的真子集,则判断提问语句中的短语与上轮语句中的短语是否存在同类关系;若提问语句中的短语与上轮语句中的短语存在同类关系,则确定提问语句有句子主干成分被省略。
在一个可行的实施例中,预设条件包括:
上轮语句的句型为疑问句,提问语句的句型为疑问句或者提问语句的主体为“那+名词短语+呢”的组合,或者;
上轮语句的句型为陈述句,提问语句的句型为疑问句,或者提问语句的主体为“那+名词短语+呢”的组合或“名词短语+呢”的组合。通过引入基于规则的句子成分缺失检测,能够针对性的检测句子主干成分的缺失,并针对句子主干缺失的成分进行补全,提高了补全的效果。
在一个可行的实施例中,在执行判断提问语句的句型的主干是否为上轮语句的真子集的步骤时,处理器801具体用于执行以下步骤::
分别提取上轮语句和提问语句的主干;判断提问语句的主干中的非名词短语部分是否为上轮语句的主干的真子集。
在一个可行的实施例中,在执行确定提问语句中是否有属性词对应的实体词被省略的步骤时,处理器801具体用于执行以下步骤:
去除提问语句句首的无实意词,以得到处理后的提问语句;判断处理后的提问语句的句首词是否为属性词;若处理后的提问语句的句首词为属性词,则确定提问语句中有属性词对应的实体词被省略。
在一个可行的实施例中,在执行确定提问语句中是否有通用成分被省略的步骤时,处理器801具体用于执行以下步骤:
获取提问语句中每个词的词性编号序列和词语编号序列,其中,词语编号序列由提问语句中每个词的对应的编号组成,词性编号序列由提问语句中的每个词的词性对应的编号组成;将每个词的词语编号序列和词性编号序列输入到第二序列标注模型中进行计算,以得到在提问语句中通用成分被省略的位置信息。
在一个可行的实施例中,在执行根据历史对话语句将省略的成分补全,以得到省略补全的提问语句的步骤时,处理器801具体用于执行以下步骤:
保留上轮语句的整体结构,将上轮语句中的短语替换为提问语句中的短语,以得到省略补全后的提问语句;其中,上轮语句中的短语与提问语句中的短语存在同类关系。
在一个可行的实施例中,历史对话语句包括提问语句的上轮语句,在执行根据历史对话语句将省略的成分补全,以得到省略补全的提问语句的步骤时,处理器801具体用于执行以下步骤:
获取上轮语句中一个或多个备选实体词;根据补全模型对上轮语句中的一个或多个备选实体词中的每个备选实体词进行评分,以得到每个备选实体词的评分;从一个或多个备选实体词中获取评分高于第二阈值的备选实体词;根据评分高于第二阈值的备选实体词中评分最高的备选实体词将提问语句中被省略的属性词对应的实体词补全,以得到省略补全的提问语句。
在一个可行的实施例中,历史对话语句包括提问语句的上轮语句,在执行根据历史对话语句将省略的成分补全,以得到省略补全的提问语句的步骤时,处理器801具体用于执行以下步骤:
通过补全模型对上轮语句中的一个或多个名词/名词短语中的每个名词/名词短语进行评分,以得到每个名词/名词短语的评分;从一个或多个名词/名词短语中获取评分高于第三阈值的名词/名词短语;根据评分高于第三阈值的名词/名词短语中评分最高的名词/名词短语将提问语句中被省略的通用成分补全,以得到省略补全的提问语句。
在一个可行的实施例中,在执行从消解后的提问语句、省略补全的提问语句和融合后的提问语句中确定目标补全提问语句的步骤时,处理器801具体用于执行以下步骤:
对消解后的提问语句、省略补全后的提问语句和融合后的提问语句中的每个提问语句进行评分,以得到每个提问语句的完整性评分和可能性评分,其中,完整性评分用于表征语句的主干的主谓宾的完整程度,可能性评分用于表征将语句中所有词汇构成一个句子的概率;对每个提问语句的完整性评分和可能性评分进行加权求和,以得到该提问语句的加权评分;将加权评分最高的提问语句确定为目标补全提问语句。
在一个可行的实施例中,处理器801还用于执行以下步骤:
将分数高于第一阈值的备选先行语中,分数与最高分数之间差值的绝对值小于第四阈值的备选先行语确定为候选补全项,并将候选补全项保存至备选表中,或者;将评分高于第二阈值的备选名词或名词短语中,评分与最高评分之间差值的绝对值小于第五阈值的备选名词或名词短语确定为候选补全项,并将候选补全项保存至备选表中,或者;将评分结果高于第三阈值的备选名词或名词短语中,评分结果与最高评分结果之间差值的绝对值小于第六阈值的备选名词或名词短语确定为候选补全项,并将候选补全项保存至备选表中。
在一个可行的实施例中,处理器801还用于执行以下步骤:
若备选表中包含备选补全项,则执行澄清操作;其中,执行澄清操作,包括:
根据备选补全项生成询问语句,并发起询问对话;其中,询问语句包括备选补全项;获取用户回答语句,并从回答语句中获取用户选择的备选补全项;若用户选择的候选补全项与备选表中的候选补全项一致时,根据用户选择的候选补全项修改目标补全提问语句,以得到修改后的提问语句。
在一个可行的实施例中,处理器801还用于执行以下步骤:
从本地数据库中或第三方服务器中获取针对目标补全提问语句或修改后的提问语句的答案,并根据该答案生成回复语句。
在一个可行的实施例中,处理器801还用于执行以下步骤:
基于语法规则、句式和历史候选补全项判断用户是否发起纠错对话;若确定用户发起纠错对话,则从纠错对话中提取候选备选项,并根据该候选备选项修改目标补全提问语句或修改后的提问语句,以得到新的提问语句;针对新的提问语句生成新的回复语句。
通过引入澄清和纠错机制,可以基于用户反馈更新现有的补全模型和序列标注模型,进而实现不断优化补全效果。
在一个可行的实施例中,处理器801还用于执行以下步骤:
在获取提问语句之后,对该提问语句进行预处理,包括但不限定于分词、词性标注、句子问题类型识别、句子主干提取等。
在一个可行的实施例中,处理器801还用于执行以下步骤:
在执行完澄清操作或纠错之后,根据提问语句、历史对话语句及修改后的提问语句或新的提问语句生成训练语料,以更新补全模型和消解模型。
本发明实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述方法实施例中记载的任何一种语义缺失补全方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、ROM、RAM、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、ROM、RAM、磁盘或光盘等。
以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上上述,本说明书内容不应理解为对本发明的限制。

Claims (34)

1.一种缺失语义补全方法,其特征在于,包括:
获取历史对话语句及用户输入的提问语句;
获取所述提问语句中的待消解项的位置信息,并根据所述历史对话语句和所述待消解项的位置信息对所述提问语句的待消解项进行消解,以得到消解后的提问语句;
确定所述提问语句中是否有成分被省略,若确定所述提问语句中有成分被省略,则根据所述历史对话语句将省略的成分补全,以得到省略补全的提问语句;
对所述消解后的提问语句和省略补全的提问语句进行融合,以得到融合后的提问语句;
从所述消解后的提问语句、省略补全的提问语句和融合后的提问语句中确定目标补全提问语句,所述目标补全提问语句为所述消解后的提问语句、省略补全的提问语句和融合后的提问语句中句子主干完整程度及句子中所有词汇构成一句话的概率均最高的提问语句。
2.根据权利要求1所述的方法,其特征在于,所述获取所述提问语句中的待消解项的位置信息,包括:
获取所述提问语句的词语编号序列和词性编号序列,其中,所述词语编号序列由所述提问语句中每个词的对应的编号组成,所述词性编号序列由所述提问语句中的每个词的词性对应的编号组成;
将所述提问语句的词语编号序列和词性编号序列输入到第一序列标注模型中进行运算,以得到所述待消解项的位置信息。
3.根据权利要求1或2所述的方法,其特征在于,所述历史对话语句包括所述提问语句的上轮语句,所述根据所述所述历史对话语句和所述待消解项的位置信息对所述提问语句的待消解项进行消解,以得到消解后的提问语句,包括:
从所述提问语句的上轮语句中获取一个或多个备选先行语;其中,所述备选先行语为所述上轮语句中的名词或名词短语;
采用消解模型对所述一个或多个备选先行语中的每个备选先行语进行打分,以得到所述每个备选先行语的分数;
从所述一个或多个备选先行语选取出分数高于第一阈值的备选先行语;
采用分数高于第一阈值的备选先行语中分数最高的备选先行语对所述提问语句的待消解项进行消解,以得到所述消解后的提问语句。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述确定所述提问语句中是否有成分被省略,包括:
确定所述提问语句中是否有句子主干成分被省略,或;
确定所述提问语句中是否有属性词对应的实体词被省略,或;
确定所述提问语句中是否有通用成分被省略。
5.根据权利要求4所述的方法,其特征在于,所述历史对话语句包括所述提问语句的上轮语句,所述确定所述提问语句中是否有句子主干成分被省略,包括:
判断所述提问语句的句型和所述上轮语句的句型是否满足预设条件,或者判断所述提问语句的句型的主体是否为所述上轮语句的真子集;
若确定所述提问语句的句型和所述上轮语句的句型满足所述预设条件,或者确定所述提问语句的句型的主干为所述上轮语句的真子集,则判断所述提问语句中的短语与所述上轮语句中的短语是否存在同类关系;若所述提问语句中的短语与所述上轮语句中的短语存在同类关系,则确定提问语句中有句子主干成分被省略。
6.根据权利要求5所述的方法,其特征在于,所述预设条件包括:
所述上轮语句的句型为疑问句,所述提问语句的句型为疑问句或者提问语句的主体为“那+名词短语+呢”的组合,或者;
所述上轮语句的句型为陈述句,所述提问语句的句型为疑问句,或者所述提问语句的主体为“那+名词短语+呢”的组合或“名词短语+呢”的组合。
7.根据权利要求5或6所述的方法,其特征在于,所述判断所述提问语句的句型的主干是否为所述上轮语句的真子集,包括:
分别提取所述上轮语句和提问语句的主干;
判断所述提问语句的主干中的非名词短语部分是否为所述上轮语句的主干的真子集。
8.根据权利4所述的方法,其特征在于,所述确定所述提问语句中是否有属性词对应的实体词被省略,包括:
去除所述提问语句句首的无实意词,以得到处理后的提问语句;
判断所述处理后的提问语句的句首词是否为属性词;若所述处理后的提问语句的句首词为属性词,则确定所述提问语句中有属性词对应的实体词被省略。
9.根据权利4所述的方法,其特征在于,所述确定所述提问语句中是否有通用成分被省略,包括:
获取所述提问语句中每个词的词性编号序列和词语编号序列,其中,所述词语编号序列由所述提问语句中每个词的对应的编号组成,所述词性编号序列由所述提问语句中的每个词的词性对应的编号组成;
将所述每个词的词语编号序列和词性编号序列输入到第二序列标注模型中进行计算,以得到在所述提问语句中通用成分被省略的位置信息。
10.根据权利要求5-7任一项所述的方法,其特征在于,所述根据所述历史对话语句将省略的成分补全,以得到省略补全的提问语句,包括:
保留所述上轮语句的整体结构,将所述上轮语句中的短语替换为所述提问语句中的短语,以得到所述省略补全后的提问语句;
其中,所述上轮语句中的短语与所述提问语句中的短语存在同类关系。
11.根据权利要求8所述的方法,其特征在于,所述历史对话语句包括所述提问语句的上轮语句,所述根据所述历史对话语句将省略的成分补全,以得到省略补全的提问语句,包括:
获取所述上轮语句中一个或多个备选实体词;
根据补全模型对所述上轮语句中的一个或多个备选实体词中的每个备选实体词进行评分,以得到所述每个备选实体词的评分;
从所述一个或多个备选实体词中获取评分高于第二阈值的备选实体词;
根据评分高于所述第二阈值的备选实体词中评分最高的备选实体词将所述提问语句中被省略的属性词对应的实体词补全,以得到所述省略补全的提问语句。
12.根据权利要求9所述的方法,其特征在于,所述历史对话语句包括所述提问语句的上轮语句,所述根据所述历史对话语句将省略的成分补全,以得到省略补全的提问语句,包括:
通过补全模型对所述上轮语句中的一个或多个名词/名词短语中的每个名词/名词短语进行评分,以得到所述每个名词/名词短语的评分;
从所述一个或多个名词/名词短语中获取评分高于第三阈值的名词/名词短语;
根据评分高于所述第三阈值的名词/名词短语中评分最高的名词/名词短语将所述提问语句中被省略的通用成分补全,以得到所述省略补全的提问语句。
13.根据权利要求1-12任一项所述的方法,其特征在于,所述从所述消解后的提问语句、省略补全的提问语句和融合后的提问语句中确定目标补全提问语句,包括:
对所述消解后的提问语句、省略补全后的提问语句和融合后的提问语句中的每个提问语句进行评分,以得到每个提问语句的完整性评分和可能性评分,其中,所述完整性评分用于表征语句的主干的主谓宾的完整程度,所述可能性评分用于表征将语句中所有词汇构成一个句子的概率;
对所述每个提问语句的完整性评分和可能性评分进行加权求和,以得到该提问语句的加权评分;
将所述加权评分最高的提问语句确定为目标补全提问语句。
14.根据权利要求3、11、12或13所述的方法,其特征在于,所述方法还包括:
将分数高于所述第一阈值的备选先行语中,分数与最高分数之间差值的绝对值小于第四阈值的备选先行语确定为候选补全项,并将所述候选补全项保存至备选表中,或者;
将评分高于所述第二阈值的备选名词或名词短语中,评分与最高评分之间差值的绝对值小于第五阈值的备选名词或名词短语确定为所述候选补全项,并将所述候选补全项保存至所述备选表中,或者;
将评分结果高于所述第三阈值的备选名词或名词短语中,评分结果与最高评分结果之间差值的绝对值小于第六阈值的备选名词或名词短语确定为所述候选补全项,并将所述候选补全项保存至所述备选表中。
15.根据权利要求14所述的方法,其特征在于,所述方法还包括:
若所述备选表中包含备选补全项,则执行澄清操作;
其中,所述执行澄清操作,包括:
根据所述备选补全项生成询问语句,并发起询问对话;其中,所述询问语句包括所述备选补全项;
获取用户回答语句,并从所述回答语句中获取用户选择的备选补全项;
若所述用户选择的候选补全项与所述备选表中的候选补全项一致时,根据所述用户选择的候选补全项修改所述目标补全提问语句,以得到修改后的提问语句。
16.根据权利要求1-13任一项或15所述的方法,其特征在于,所述方法还包括:
从本地数据库中或第三方服务器中获取针对所述目标补全提问语句或修改后的提问语句的答案,并根据该答案生成回复语句。
17.根据权利要求1-13任一项所述的方法,其特征在于,所述方法还包括:
基于语法规则、句式和历史候选补全项判断用户是否发起纠错对话;
若确定用户发起纠错对话,则从所述纠错对话中提取候选备选项,并根据该候选备选项修改所述目标补全提问语句或修改后的提问语句,以得到新的提问语句;
针对所述新的提问语句生成新的回复语句。
18.一种缺失语义补全装置,其特征在于,包括:
存储器,用于存储指令;以及至少一台处理器,与所述存储器耦合;
其中,当所述至少一台处理器执行所述指令时,执行如下步骤:
获取历史对话语句及用户输入的提问语句;
获取所述提问语句中的待消解项的位置信息,并根据所述历史对话语句和所述待消解项的位置信息对所述提问语句的待消解项进行消解,以得到消解后的提问语句;
确定所述提问语句中是否有成分被省略,若确定所述提问语句中有成分被省略,则根据所述历史对话语句将省略的成分补全,以得到省略补全的提问语句;
对所述消解后的提问语句和省略补全的提问语句进行融合,以得到融合后的提问语句;
从所述消解后的提问语句、省略补全的提问语句和融合后的提问语句中确定目标补全提问语句,所述目标补全提问语句为所述消解后的提问语句、省略补全的提问语句和融合后的提问语句中句子主干完整程度及句子中所有词汇构成一句话的概率均最高的提问语句。
19.根据权利要求18所述的装置,其特征在于,在执行所述获取所述提问语句中的待消解项的位置信息的步骤时,所述处理器具体执行以下步骤:
获取所述提问语句的词语编号序列和词性编号序列,其中,所述词语编号序列由所述提问语句中每个词的对应的编号组成,所述词性编号序列由所述提问语句中的每个词的词性对应的编号组成;
将所述提问语句的词语编号序列和词性编号序列输入到第一序列标注模型中进行运算,以得到所述待消解项的位置信息。
20.根据权利要求18或19所述的装置,其特征在于,所述历史对话语句包括所述提问语句的上轮语句,在执行所述根据所述所述历史对话语句和所述待消解项的位置信息对所述提问语句的待消解项进行消解,以得到消解后的提问语句的步骤时,所述处理器具体执行以下步骤:
从所述提问语句的上轮语句中获取一个或多个备选先行语;其中,所述备选先行语为所述上轮语句中的名词或名词短语;
采用消解模型对所述一个或多个备选先行语中的每个备选先行语进行打分,以得到所述每个备选先行语的分数;
从所述一个或多个备选先行语选取出分数高于第一阈值的备选先行语;
采用分数高于第一阈值的备选先行语中分数最高的备选先行语对所述提问语句的待消解项进行消解,以得到所述消解后的提问语句。
21.根据权利要求18-20任一项所述的装置,其特征在于,在执行所述确定所述提问语句中是否有成分被省略的步骤时,所述处理器具体执行以下步骤:
确定所述提问语句中是否有句子主干成分被省略,或;
确定所述提问语句中是否有的属性词对应的实体词被省略,或;
确定所述提问语句中是否有通用成分被省略。
22.根据权利要求21所述的装置,其特征在于,所述历史对话语句包括所述提问语句的上轮语句,在执行所述确定所述提问语句中是否有句子主干成分被省略的步骤时,所述处理器具体执行以下步骤:
判断所述提问语句的句型和所述上轮语句的句型是否满足预设条件,或者判断所述提问语句的句型的主体是否为所述上轮语句的真子集;
若确定所述提问语句的句型和所述上轮语句的句型满足所述预设条件,或者确定所述提问语句的句型的主干为所述上轮语句的真子集,则判断所述提问语句中的短语与所述上轮语句中的短语是否存在同类关系;若所述提问语句中的短语与所述上轮语句中的短语存在同类关系,则确定提问语句中有句子主干成分被省略。
23.根据权利要求22所述的装置,其特征在于,所述预设条件包括:
所述上轮语句的句型为疑问句,所述提问语句的句型为疑问句或者提问语句的主体为“那+名词短语+呢”的组合,或者;
所述上轮语句的句型为陈述句,所述提问语句的句型为疑问句,或者所述提问语句的主体为“那+名词短语+呢”的组合或“名词短语+呢”的组合。
24.根据权利要求22或23所述的装置,其特征在于,在执行所述判断所述提问语句的句型的主干是否为所述上轮语句的真子集的步骤时,所述处理器具体执行以下步骤:
分别提取所述上轮语句和提问语句的主干;
判断所述提问语句的主干中的非名词短语部分是否为所述上轮语句的主干的真子集。
25.根据权利21所述的装置,其特征在于,在执行所述确定所述提问语句中是否有属性词对应的实体词被省略的步骤时,所述处理器具体执行以下步骤:
去除所述提问语句句首的无实意词,以得到处理后的提问语句;
判断所述处理后的提问语句的句首词是否为属性词;若所述处理后的提问语句的句首词为属性词,则确定所述提问语句中有属性词对应的实体词被省略。
26.根据权利21所述的装置,其特征在于,在执行所述确定所述提问语句中是否有通用成分被省略的步骤时,所述处理器具体执行以下步骤:
获取所述提问语句中每个词的词性编号序列和词语编号序列,其中,所述词语编号序列由所述提问语句中每个词的对应的编号组成,所述词性编号序列由所述提问语句中的每个词的词性对应的编号组成;
将所述每个词的词语编号序列和词性编号序列输入到第二序列标注模型中进行计算,以得到在所述提问语句中通用成分被省略的位置信息。
27.根据权利要求22-24任一项所述的装置,其特征在于,在执行所述根据所述历史对话语句将省略的成分补全,以得到省略补全的提问语句的步骤时,所述处理器具体执行以下步骤:
保留所述上轮语句的整体结构,将所述上轮语句中的短语替换为所述提问语句中的短语,以得到所述省略补全后的提问语句;
其中,所述上轮语句中的短语与所述提问语句中的短语存在同类关系。
28.根据权利要求25所述的装置,其特征在于,在执行所述历史对话语句包括所述提问语句的上轮语句,所述根据所述历史对话语句将省略的成分补全,以得到省略补全的提问语句的步骤时,所述处理器具体执行以下步骤:
获取所述上轮语句中一个或多个备选实体词;
根据补全模型对所述上轮语句中的一个或多个备选实体词中的每个备选实体词进行评分,以得到所述每个备选实体词的评分;
从所述一个或多个备选实体词中获取评分高于第二阈值的备选实体词;
根据评分高于所述第二阈值的备选实体词中评分最高的备选实体词将所述提问语句中被省略的属性词对应的实体词补全,以得到所述省略补全的提问语句。
29.根据权利要求26所述的装置,其特征在于,在执行所述历史对话语句包括所述提问语句的上轮语句,所述根据所述历史对话语句将省略的成分补全,以得到省略补全的提问语句的步骤时,所述处理器具体执行以下步骤:
通过补全模型对所述上轮语句中的一个或多个名词/名词短语中的每个名词/名词短语进行评分,以得到所述每个名词/名词短语的评分;
从所述一个或多个名词/名词短语中获取评分高于第三阈值的名词/名词短语;
根据评分高于所述第三阈值的名词/名词短语中评分最高的名词/名词短语将所述提问语句中被省略的通用成分补全,以得到所述省略补全的提问语句。
30.根据权利要求18-29任一项所述的装置,其特征在于,在执行所述从所述消解后的提问语句、省略补全的提问语句和融合后的提问语句中确定目标补全提问语句的步骤时,所述处理器具体执行以下步骤:
对所述消解后的提问语句、省略补全后的提问语句和融合后的提问语句中的每个提问语句进行评分,以得到每个提问语句的完整性评分和可能性评分,其中,所述完整性评分用于表征语句的主干的主谓宾的完整程度,所述可能性评分用于表征将语句中所有词汇构成一个句子的概率;
对所述每个提问语句的完整性评分和可能性评分进行加权求和,以得到该提问语句的加权评分;
将所述加权评分最高的提问语句确定为目标补全提问语句。
31.根据权利要求20、28、29或30所述的装置,其特征在于,所述处理器还用于执行如下步骤:
将分数高于所述第一阈值的备选先行语中,分数与最高分数之间差值的绝对值小于第四阈值的备选先行语确定为候选补全项,并将所述候选补全项保存至备选表中,或者;
将评分高于所述第二阈值的备选名词或名词短语中,评分与最高评分之间差值的绝对值小于第五阈值的备选名词或名词短语确定为所述候选补全项,并将所述候选补全项保存至所述备选表中,或者;
将评分结果高于所述第三阈值的备选名词或名词短语中,评分结果与最高评分结果之间差值的绝对值小于第六阈值的备选名词或名词短语确定为所述候选补全项,并将所述候选补全项保存至所述备选表中。
32.根据权利要求31所述的装置,其特征在于,所述处理器还用于执行如下步骤:
若所述备选表中包含备选补全项,则执行澄清操作;
其中,所述执行澄清操作,包括:
根据所述备选补全项生成询问语句,并发起询问对话;其中,所述询问语句包括所述备选补全项;
获取用户回答语句,并从所述回答语句中获取用户选择的备选补全项;
若所述用户选择的候选补全项与所述备选表中的候选补全项一致时,根据所述用户选择的候选补全项修改所述目标补全提问语句,以得到修改后的提问语句。
33.根据权利要求18-30任一项或32所述的装置,其特征在于,所述处理器还用于执行以下步骤:
从本地数据库中或第三方服务器中获取针对所述目标补全提问语句或修改后的提问语句的答案,并根据该答案生成回复语句。
34.根据权利要求18-30任一项所述的装置,其特征在于,所述处理器还用于执行以下步骤:
基于语法规则、句式和历史候选补全项判断用户是否发起纠错对话;
若确定用户发起纠错对话,则从所述纠错对话中提取候选备选项,并根据该候选备选项修改所述目标补全提问语句或修改后的提问语句,以得到新的提问语句;
针对所述新的提问语句生成新的回复语句。
CN201910428203.3A 2019-05-21 2019-05-21 缺失语义补全方法及装置 Pending CN111984766A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910428203.3A CN111984766A (zh) 2019-05-21 2019-05-21 缺失语义补全方法及装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201910428203.3A CN111984766A (zh) 2019-05-21 2019-05-21 缺失语义补全方法及装置
PCT/CN2020/087925 WO2020233380A1 (zh) 2019-05-21 2020-04-29 缺失语义补全方法及装置
US17/530,197 US20220075958A1 (en) 2019-05-21 2021-11-18 Missing semantics complementing method and apparatus

Publications (1)

Publication Number Publication Date
CN111984766A true CN111984766A (zh) 2020-11-24

Family

ID=73436421

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910428203.3A Pending CN111984766A (zh) 2019-05-21 2019-05-21 缺失语义补全方法及装置

Country Status (3)

Country Link
US (1) US20220075958A1 (zh)
CN (1) CN111984766A (zh)
WO (1) WO2020233380A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11443208B2 (en) * 2020-03-19 2022-09-13 International Business Machines Corporation Assessment of inconsistent statements to a recipient group
US20220083744A1 (en) * 2020-09-16 2022-03-17 International Business Machines Corporation Zero-shot cross-lingual transfer learning
CN114648984B (zh) * 2022-05-23 2022-08-19 深圳华策辉弘科技有限公司 音频断句方法、装置、计算机设备及存储介质

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102455786A (zh) * 2010-10-25 2012-05-16 三星电子(中国)研发中心 一种对中文句子输入法的优化系统及方法
CN103605492A (zh) * 2013-11-28 2014-02-26 中国科学院深圳先进技术研究院 一种自适应语言训练方法和平台
CN105373527A (zh) * 2014-08-27 2016-03-02 中兴通讯股份有限公司 一种省略恢复方法及问答系统
CN105589844A (zh) * 2015-12-18 2016-05-18 北京中科汇联科技股份有限公司 一种用于多轮问答系统中缺失语义补充的方法
CN107122346A (zh) * 2016-12-28 2017-09-01 平安科技(深圳)有限公司 一种输入语句的纠错方法及装置
CN107305550A (zh) * 2016-04-19 2017-10-31 中兴通讯股份有限公司 一种智能问答方法及装置
CN107402913A (zh) * 2016-05-20 2017-11-28 腾讯科技(深圳)有限公司 先行词的确定方法和装置
CN107632979A (zh) * 2017-10-13 2018-01-26 华中科技大学 一种用于交互式问答的问题解析方法及系统
US20180075135A1 (en) * 2016-09-09 2018-03-15 International Business Machines Corporation System and method for generating full questions from natural language queries
CN108053839A (zh) * 2017-12-11 2018-05-18 广东小天才科技有限公司 一种语言练习成果的展示方法及麦克风设备
CN108334487A (zh) * 2017-07-14 2018-07-27 腾讯科技(深圳)有限公司 缺失语意信息补全方法、装置、计算机设备和存储介质
CN108647207A (zh) * 2018-05-08 2018-10-12 上海携程国际旅行社有限公司 自然语言修正方法、系统、设备及存储介质
CN109344238A (zh) * 2018-09-18 2019-02-15 阿里巴巴集团控股有限公司 用户问句的补词方法和装置
CN109344830A (zh) * 2018-08-17 2019-02-15 平安科技(深圳)有限公司 语句输出、模型训练方法、装置、计算机设备及存储介质
CN109522419A (zh) * 2018-11-15 2019-03-26 北京搜狗科技发展有限公司 会话信息补全方法及装置
CN109726389A (zh) * 2018-11-13 2019-05-07 北京邮电大学 一种基于常识和推理的中文缺失代词补全方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI562000B (en) * 2015-12-09 2016-12-11 Ind Tech Res Inst Internet question answering system and method, and computer readable recording media

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102455786A (zh) * 2010-10-25 2012-05-16 三星电子(中国)研发中心 一种对中文句子输入法的优化系统及方法
CN103605492A (zh) * 2013-11-28 2014-02-26 中国科学院深圳先进技术研究院 一种自适应语言训练方法和平台
CN105373527A (zh) * 2014-08-27 2016-03-02 中兴通讯股份有限公司 一种省略恢复方法及问答系统
CN105589844A (zh) * 2015-12-18 2016-05-18 北京中科汇联科技股份有限公司 一种用于多轮问答系统中缺失语义补充的方法
CN107305550A (zh) * 2016-04-19 2017-10-31 中兴通讯股份有限公司 一种智能问答方法及装置
CN107402913A (zh) * 2016-05-20 2017-11-28 腾讯科技(深圳)有限公司 先行词的确定方法和装置
US20180075135A1 (en) * 2016-09-09 2018-03-15 International Business Machines Corporation System and method for generating full questions from natural language queries
CN107122346A (zh) * 2016-12-28 2017-09-01 平安科技(深圳)有限公司 一种输入语句的纠错方法及装置
CN108334487A (zh) * 2017-07-14 2018-07-27 腾讯科技(深圳)有限公司 缺失语意信息补全方法、装置、计算机设备和存储介质
CN107632979A (zh) * 2017-10-13 2018-01-26 华中科技大学 一种用于交互式问答的问题解析方法及系统
CN108053839A (zh) * 2017-12-11 2018-05-18 广东小天才科技有限公司 一种语言练习成果的展示方法及麦克风设备
CN108647207A (zh) * 2018-05-08 2018-10-12 上海携程国际旅行社有限公司 自然语言修正方法、系统、设备及存储介质
CN109344830A (zh) * 2018-08-17 2019-02-15 平安科技(深圳)有限公司 语句输出、模型训练方法、装置、计算机设备及存储介质
CN109344238A (zh) * 2018-09-18 2019-02-15 阿里巴巴集团控股有限公司 用户问句的补词方法和装置
CN109726389A (zh) * 2018-11-13 2019-05-07 北京邮电大学 一种基于常识和推理的中文缺失代词补全方法
CN109522419A (zh) * 2018-11-15 2019-03-26 北京搜狗科技发展有限公司 会话信息补全方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
严可等: "计算机用于英语背诵题的自动评分技术初探", 《计算机应用与软件》 *

Also Published As

Publication number Publication date
WO2020233380A1 (zh) 2020-11-26
US20220075958A1 (en) 2022-03-10

Similar Documents

Publication Publication Date Title
CN111984766A (zh) 缺失语义补全方法及装置
CN109726389B (zh) 一种基于常识和推理的中文缺失代词补全方法
CN110083693B (zh) 机器人对话回复方法及装置
CN108536735B (zh) 基于多通道自编码器的多模态词汇表示方法与系统
EP3819809A1 (en) A dialogue system, a method of obtaining a response from a dialogue system, and a method of training a dialogue system
US20220180202A1 (en) Text processing model training method, and text processing method and apparatus
Kim et al. Two-stage multi-intent detection for spoken language understanding
CN109376222B (zh) 问答匹配度计算方法、问答自动匹配方法及装置
CN108763535B (zh) 信息获取方法及装置
WO2021000497A1 (zh) 检索方法、装置、计算机设备和存储介质
KR20200031154A (ko) 인공 신경망을 이용한 심층 문맥 기반 문법 오류 정정
CN111966812B (zh) 一种基于动态词向量的自动问答方法和存储介质
KR20180094664A (ko) 텍스트 데이터로부터 정보를 추출하기 위한 정보 추출 방법 및 장치
CN109214006B (zh) 图像增强的层次化语义表示的自然语言推理方法
CN110717021A (zh) 人工智能面试中获取输入文本和相关装置
WO2022007823A1 (zh) 一种文本数据处理方法及装置
CN111191002A (zh) 一种基于分层嵌入的神经代码搜索方法及装置
JP7061594B2 (ja) 文章変換システム、文章変換方法、及びプログラム
Madureira et al. An overview of natural language state representation for reinforcement learning
CN113705196A (zh) 基于图神经网络的中文开放信息抽取方法和装置
CN113505193A (zh) 一种数据处理方法及相关设备
CN113011141A (zh) 佛经注解模型训练方法、佛经注解生成方法及相关设备
CN112579739A (zh) 基于ELMo嵌入与门控自注意力机制的阅读理解方法
Stoyanchev et al. Action state update approach to dialogue management
JP6605997B2 (ja) 学習装置、学習方法及びプログラム

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