CN111222309A - 一种问句生成的方法及装置 - Google Patents
一种问句生成的方法及装置 Download PDFInfo
- Publication number
- CN111222309A CN111222309A CN202010040957.4A CN202010040957A CN111222309A CN 111222309 A CN111222309 A CN 111222309A CN 202010040957 A CN202010040957 A CN 202010040957A CN 111222309 A CN111222309 A CN 111222309A
- Authority
- CN
- China
- Prior art keywords
- words
- preset
- candidate
- question
- speech
- 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
Links
Images
Landscapes
- Machine Translation (AREA)
Abstract
本发明涉及金融科技(Fintech)领域,并公开了一种问句生成的方法及装置,其中,方法包括:获取预设问句中的关键词语和关键词语的上下文;从预设问句的目标模板中确定候选槽位和候选槽位的上下文;若关键词语的上下文和候选槽位的上下文之间的相似度符合第一预设条件,则将关键词语填入至候选槽位,以生成预设问句对应的问句。该技术方案无需人工标记大量问句,节省人力资源,且生成的问句可用性强。
Description
技术领域
本发明实施例涉及金融科技(Fintech)领域,尤其涉及一种问句生成的方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintceh)转变,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。
客服机器人对话系统中具有一套完备的知识库体系,该知识库体系包含问句集合,可适用于已有的业务或产品。但对于新的业务或产品,需要人工编辑大量问句以输入至知识库中,该方式会浪费大量的人力资源。
发明内容
本发明实施例提供一种问句生成的方法及装置,无需人工标记大量问句,节省人力资源,且生成的问句可用性强。
本发明实施例提供的一种问句生成的方法,包括:
获取预设问句中的关键词语和所述关键词语的上下文;
从所述预设问句的目标模板中确定候选槽位和所述候选槽位的上下文;
若所述关键词语的上下文和所述候选槽位的上下文之间的相似度符合第一预设条件,则将所述关键词语填入至所述候选槽位,以生成所述预设问句对应的问句。
上述技术方案中,根据预设问句和预设问句对应的目标模板自动生成问句,具体的,提取预设问句中的关键词语,该关键词语即为填入目标模板的槽位中的词语,为了实现生成问句的可用性,本方案确定关键词语在预设问句中的上下文和槽位在目标模板中的上下文之间的相似度,在相似度符合预设条件时,才会将关键词语填入至槽位中,相当于基于预设问句和目标模板的语义特征,将关键词语填入至符合语义的槽位中,以自动生成预设问句对应的问句。该自动生成问句的方式,无需人工编辑问句,节省了人力资源,而且考虑了关键词语在预设问句中的上下文,并根据该上下文从目标模板中找到与之对应的候选槽位,充分考虑上下文信息,生成的问句可用性强。
可选的,所述若所述关键词语的上下文和所述候选槽位的上下文之间的相似度符合第一预设条件,则将所述关键词语填入至所述候选槽位,包括:
将所述关键词语的上下文输入至语义模型中,得到第一语义向量;
将所述目标模板中每个候选槽位的上下文输入至所述语义模型中,得到每个候选槽位的第二语义向量;
确定所述第一语义向量和每个第二语义向量的相似度,并从中确定出与所述第一语义向量的相似度最大的第二语义向量;
将所述关键词语填入所述与所述第一语义向量的相似度最大的第二语义向量对应的候选槽位中。
上述技术方案中,将关键词语的上下文和候选槽位的上下文分别输入至预先训练好的语义模型中,确定与该关键词语的上下文语义相近的上下文对应的候选槽位作为目标槽位,充分考虑问句的语义特征,从而使得关键词语填入至目标槽位后生成的问句的可用性更强。
可选的,所述将所述关键词语填入至所述候选槽位,包括:
若存在至少两个关键词语待填入至同一个候选槽位,则确定每个关键词语与所述候选槽位的上下文组成的短句、所述短句在原始问句集中的出现次数;
根据所述出现次数,从所述至少两个关键词语中确定填入至所述候选槽位的关键词语。
上述技术方案中,在保障关键词的上下文与槽位的上下文的相似度符合预设条件的情况下,确定关键词填入槽位时生成的短句在原始问句集中的次数较高,进一步保障对应的问句的可用性。
可选的,所述从所述预设问句的目标模板中确定候选槽位和所述候选槽位的上下文,包括:
将所述目标模板的多个槽位中与所述关键词语的预设词性相同的槽位确定为所述候选槽位;
根据所述关键词语的上文所包括的词语个数,将所述预设问句中位于所述候选槽位之前的相同个数的词语确定为所述候选槽位的上文;
根据所述关键词语的下文所包括的词语个数,将所述预设问句中位于所述候选槽位之后的相同个数的词语确定为所述候选槽位的下文;
将所述候选槽位的上文和所述候选槽位的下文组成所述候选槽位的上下文。
上述技术方案中,只将与关键词具有相同预设词性的槽位进行匹配,在提高效率的同时提高生成问句的可用性;进一步的,在从目标模板中确定候选槽位的上下文时,是根据关键词语在预设问句中的上下文确定的,相当于,关键词语在关键词语上下文中的位置与候选槽位在候选槽位上下文中的位置相同,基于此,确定出的候选槽位的上下文和关键词语的上下文的相似度更能体现将关键词填入至候选槽位时的语义的合理性。
可选的,所述获取预设问句中的关键词语,包括:
对所述预设问句进行分词;
从所述预设问句分词后的词语中确定出具有预设词性的词语,并将所述具有预设词性的词语确定为所述关键词语。
上述技术方案中,对预设问句进行分词,并将具有预设词性的词语确定为关键词语,通过该方式可以找出预设问句中具有实质意义的词语,以用于填入至目标模板中生成问句。
可选的,所述从所述预设问句分词后的词语中确定出具有预设词性的词语,包括:
若所述预设问句分词后的词语中存在连续的具有所述预设词性的两个词语,则将所述两个词语合并;其中,合并后词语的词性与所述两个词语中后一个词语的词性相同。
上述技术方案中,考虑到在对预设问句分词时,可能会出现短语断裂的情况,如一个名词短语会拆成几个名词,一个动名词短语会拆成的一个动词和一个名词,从而导致语义不明确的问题,为避免该问题,设定重新融合词语的技术方案,具体的,若预设问句分词后的词语中存在连续的具有预设词性的两个词语,则将两个词语合并,且合并后词语的词性与两个词语中后一个词语的词性相同,从而在对预设问句分词时,避免短语断裂而导致语义不明确的问题。
可选的,在所述对所述预设问句进行分词之后,还包括:
从所述预设问句分词后的词语中确定出具有功能词性的词语;
所述将所述关键词语填入至所述候选槽位之后,还包括:
对于具有功能词性的词语,采用具有相同功能词性的词语进行替换。
上述技术方案中,在对预设问句进行分词时,确定预设问句中具有功能词性的词语,从而在将关键词语填入至候选槽位之后,针对具有功能词性的词语,采用相同功能词性的词语进行替换,实现对该生成问句的同义扩展。
可选的,通过下述步骤确定所述目标模板:
获取原始模板;所述原始模板是将原始问句中具有预设词性的词语抠掉后得到的;
根据所述原始模板分词后的每个词语与所述预设问句分词后的所有词语之间的相似度,确定所述原始模板与所述预设问句之间的相似度;
若所述原始模板与所述预设问句之间的相似度符合第二预设条件,则确定所述原始模板为候选模板;
将所述候选模板和所述具有预设词性的词语抠掉后的所述预设问句分别输入至语义模型中;
若确定所述候选模板和所述具有预设词性的词语抠掉后的所述预设问句的相似度符合第三预设条件,则确定所述候选模板为目标模板。
上述技术方案中,将原始问句中具有预设词性的词语抠掉以得到原始模板,确定原始模板中分词后的每个词语与预设问句分词后的所有词语之间的相似度,从而确定该原始模板与预设问句之间的相似度,通过该方式可以快速确定出原始模板是否可以作为候选模板。然后将候选模板和预设问句分别输入至预先训练好的语义模型中,在确定该候选模板与预设问句的语义较相近,则将该候选模板确定为目标模板,充分考虑问句的语义特征,从而根据目标模板和预设问句生成的问句的可用性更强。
可选的,所述目标模板中槽位的预设词性的种类与所述预设问句中关键词语的预设词性的种类相同;属于相同预设词性的所述候选模板中槽位个数和所述预设问句中关键词语个数相同。
上述技术方案中,在确定候选模板是否为目标模板时,可以根据目标模板的以下特征进行初步确定:目标槽位的预设词性的种类与预设问句中关键词语的预设词性的种类相同,且相同预设词性的候选模板中槽位个数和预设问句中关键词语个数相同,从而快速判断出候选模板是否为目标模板,提高效率。
相应的,本发明实施例还提供了一种问句生成的装置,包括:
处理单元、生成单元;
所述处理单元,用于获取预设问句中的关键词语和所述关键词语的上下文;从所述预设问句的目标模板中确定候选槽位和所述候选槽位的上下文;
所述生成单元,用于若所述关键词语的上下文和所述候选槽位的上下文之间的相似度符合第一预设条件,则将所述关键词语填入至所述候选槽位,以生成所述预设问句对应的问句。
可选的,所述生成单元具体用于:
将所述关键词语的上下文输入至语义模型中,得到第一语义向量;
将所述目标模板中每个候选槽位的上下文输入至所述语义模型中,得到每个候选槽位的第二语义向量;
确定所述第一语义向量和每个第二语义向量的相似度,并从中确定出与所述第一语义向量的相似度最大的第二语义向量;
将所述关键词语填入所述与所述第一语义向量的相似度最大的第二语义向量对应的候选槽位中。
可选的,所述生成单元具体用于:
若存在至少两个关键词语待填入至同一个候选槽位,则确定每个关键词语与所述候选槽位的上下文组成的短句、所述短句在原始问句集中的出现次数;
根据所述出现次数,从所述至少两个关键词语中确定填入至所述候选槽位的关键词语。
可选的,所述处理单元具体用于:
将所述目标模板的多个槽位中与所述关键词语的预设词性相同的槽位确定为所述候选槽位;
根据所述关键词语的上文所包括的词语个数,将所述预设问句中位于所述候选槽位之前的相同个数的词语确定为所述候选槽位的上文;
根据所述关键词语的下文所包括的词语个数,将所述预设问句中位于所述候选槽位之后的相同个数的词语确定为所述候选槽位的下文;
将所述候选槽位的上文和所述候选槽位的下文组成所述候选槽位的上下文。
可选的,所述处理单元具体用于:
对所述预设问句进行分词;
从所述预设问句分词后的词语中确定出具有预设词性的词语,并将所述具有预设词性的词语确定为所述关键词语。
可选的,所述处理单元具体用于:
若所述预设问句分词后的词语中存在连续的具有所述预设词性的两个词语,则将所述两个词语合并;其中,合并后词语的词性与所述两个词语中后一个词语的词性相同。
可选的,所述处理单元还用于:
在所述对所述预设问句进行分词之后,从所述预设问句分词后的词语中确定出具有功能词性的词语;
所述生成单元还用于:
所述将所述关键词语填入至所述候选槽位之后,对于具有功能词性的词语,采用具有相同功能词性的词语进行替换。
可选的,所述处理单元具体用于:
获取原始模板;所述原始模板是将原始问句中具有预设词性的词语抠掉后得到的;
根据所述原始模板分词后的每个词语与所述预设问句分词后的所有词语之间的相似度,确定所述原始模板与所述预设问句之间的相似度;
若所述原始模板与所述预设问句之间的相似度符合第二预设条件,则确定所述原始模板为候选模板;
将所述候选模板和所述具有预设词性的词语抠掉后的所述预设问句分别输入至语义模型中;
若确定所述候选模板和所述具有预设词性的词语抠掉后的所述预设问句的相似度符合第三预设条件,则确定所述候选模板为目标模板。
可选的,所述目标模板中槽位的预设词性的种类与所述预设问句中关键词语的预设词性的种类相同;属于相同预设词性的所述候选模板中槽位个数和所述预设问句中关键词语个数相同。
相应的,本发明实施例还提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述问句生成的方法。
相应的,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述问句生成的方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种问句生成的方法的流程示意图;
图2为本发明实施例提供的一种确定候选模板的方法的流程示意图;
图3为本发明实施例提供的一种确定目标模板的方法的流程示意图;
图4为本发明实施例提供的一种确定与关键词相匹配的槽位的方法的流程示意图;
图5为本发明实施例提供的另一种问句生成的方法的流程示意图;
图6为本发明实施例提供的一种问句生成的装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1示例性的示出了本发明实施例提供的一种问句生成的方法的流程,该流程可以由问句生成的装置执行。
如图1所示,该流程具体包括:
步骤101,获取预设问句中的关键词语和所述关键词语的上下文;
步骤102,从所述预设问句的目标模板中确定候选槽位和所述候选槽位的上下文;
步骤103,若所述关键词语的上下文和所述候选槽位的上下文之间的相似度符合第一预设条件,则将所述关键词语填入至所述候选槽位,以生成所述预设问句对应的问句。
预设问句可以理解为预先设定好的已知问句,可以从该预设问句中提取用于生成问句的关键词语,比如,从预设问句中提取出用于生成问句的两个关键词语分别为“说”和“申请”;预设问句对应的目标模板可以理解为与预设问句匹配的问句模板,其中,问句模板用于表示问句的框架,也即,问句模板中没有具有实质意义的词语,比如,目标模板为“我上午不是__不要再__了吗?”,该目标模板中包括两个槽位,第一个槽位位于“不是”和“不要”之间,第二个槽位位于“再”和“了”之间。
本发明实施例中,根据预设问句和预设问句对应的目标模板自动生成问句,具体的,提取预设问句中的关键词语,该关键词语即为填入目标模板的槽位中的词语,为了实现生成问句的可用性,本方案确定关键词语在预设问句中的上下文和槽位在目标模板中的上下文之间的相似度,在相似度符合第一预设条件时,才会将关键词语填入至槽位中,相当于基于预设问句和目标模板的语义特征,将关键词语填入至符合语义的槽位中,以自动生成预设问句对应的问句。该自动生成问句的方式,无需人工编辑问句,节省了人力资源,而且考虑了关键词语在预设问句中的上下文,并根据该上下文从目标模板中找到与之对应的候选槽位,充分考虑上下文信息,生成的问句可用性强。
步骤101中,在获取预设问句中的关键词语时,可以是先对预设问句进行分词,从预设问句分词后的多个词语中确定出具有预设词性的词语,进而将该具有预设词性的词语确定为关键词语。此处,预设词性至少包括动词词性和名词词性,也就是说,在将预设问句分词后的多个词语中,将具有动词词性和名词词性的词语确定为关键词语,比如,将“银行”、“账户”等具有名词词性的词语确定为关键词语,以及将“激活”、“失败”等具有动词词性的词语确定为关键词语。通过该方式,可以找出预设问句中具有实质意义的词语,以用于填入至目标模板中生成问句。
在对预设问句分词时,可能会出现短语断裂的情况,如一个名词短语会拆成几个名词,一个动名词短语会拆成的一个动词和一个名词,从而导致语义不明确的问题,为避免该问题,本发明实施例中,设定重新融合词语的技术方案,具体的,若预设问句分词后的词语中存在连续的具有预设词性的两个词语,则将两个词语合并,且合并后词语的词性与两个词语中后一个词语的词性相同,从而在对预设问句分词时,避免短语断裂而导致语义不明确的问题。
比如,在对预设问句分词时,分词后的多个词语中存在相邻的两个词语分别是“银行”和“账户”,则可以确定将该两个词语合并为一个词语,即“银行账户”,且确定该词语的词性为名词词性;又比如,分词后的多个词语中存在相邻的两个词语分别是“开通”和“账户”,则可以确定将该两个词语合并为一个词语,即“开通账户”,且确定该词语的词性为名词词性。
也就是说,在确定分词后的多个词语中存在相邻的两个词语为如下形式时,则将该相邻的两个词语进行融合:
名词(NN)+名词(NN)=名词(NN);
动词(VV)+动词(VV)=动词(VV);
名词(NN)+动词(VV)=动词(VV);
动词(VV)+名词(NN)=名词(NN);
需要说明的是,可以将名词简写为N或NN,动词简写为V或VV,下同。
步骤102中,可以先获取到预设问句的目标模板,该目标模板可以是一个或者多个。在确定任一个目标模板时,可以是将原始问句中具有预设词性的词语抠掉后得到原始模板,根据原始模板分词后的每个词语与预设问句分词后的所有词语之间的相似度,确定原始模板与预设问句之间的相似度;若原始模板与预设问句之间的相似度符合第二预设条件,则确定原始模板为候选模板;进而将候选模板和具有预设词性的词语抠掉后的预设问句分别输入至语义模型中;若确定候选模板和具有预设词性的词语抠掉后的预设问句的相似度符合第三预设条件,则确定候选模板为目标模板。
也就是说,在确定目标模板时,可以是先根据原始问句确定原始模板,然后确定原始模板是否为候选模板,再确定候选模板是否为目标模板。
在根据原始问句确定原始模板之前,可以先从语料库的大量问句中筛选出有意义且无歧义的问句作为原始问句。具体的,可以设置三分类模型,该三分类模型是根据用户真实问句进行模型训练得到,在对该三分类模型进行模型训练时,可以将训练样本标注为三个维度,分别为无意义,有歧义和有意义且无歧义。例如:“对不起”“谢谢”等属于无意义,“我要办理”“我要开通”等缺少明确的宾语,属于有歧义,“我要开通微粒贷”“我的银行卡还款失败”属于有意义且无歧义。然后将标注后的问句作为训练样本进行模型训练,以得到一个三分类模型,比如,如LR(逻辑回归)模型、xgboost模型等。从而可以将大量的问句输入至该三分类模型中,以筛选出有意义且无歧义的问句作为原始问句。
在获取到原始问句后,即可以对原始问句进行分词,然后从原始问句分词后的词语中确定出具有预设词性的词语,将原始问句中具有预设词性的词语抠掉后得到原始模板。本发明实施例中,也会存在短语断裂的情况,为解决该短语断裂导致的语义不明确的问题,所以也会在确定原始问句分词后的词语中存在连续的具有预设词性的两个词语之后,将两个词语合并,且合并后词语的词性与两个词语中后一个词语的词性相同。
在确定出原始模板后,可以判断该原始模板是否为候选模板,具体实现可以如图2所示:
步骤201,将预设问句分词后的词语中的无效词语过滤,确定预设问句的过滤后的词语;
步骤202,将原始模板分词后的词语中的无效词语过滤,确定原始模板的过滤后的词语;
步骤203,若确定预设问句的过滤后的词语与原始模板的过滤后的词语之间的相似度符合第二预设条件,则将原始模板确定为候选模板。
步骤201中,可以是对预设问句进行分词后,得到多个词语,然后确定每个词语的词性,若某词语的词性为预设词性,则对该词语进行词性标注,可以是在该词语后面标注其对应的预设词性,也可以是直接将该词语替换为其对应的预设词性。在对词语进行词性标注时,可以理解成对该词语打上了词性标签,该词语的预设词性即为该词语的词性标签。以直接将该词语替换为其对应的预设词性为例,预设问句是“我明天怎么全额还款”,然后对预设问句分词后为“我明天怎么全额还款”,对预设问句分词后的多个词语进行词性标注,确定为“我明天怎么NN VV?”,然后将相邻的两个词性标注的词语合并,即为“我明天怎么VV?”。
此外,还可以从预设问句分词后的多个词语中确定出具有功能词性的词语,具有功能词性的词语可以包括疑问词(如“什么”)和情态动词(如“能够”)等,具体的,可以如表1所示。然后对多个词语中具有功能词性的词语进行词性标注,以将词语替换为其对应的功能词性为例,预设问句是“我明天怎么全额还款”,然后对预设问句分词后为“我明天怎么全额还款”,对预设问句分词后的多个词语进行预设词性标注为“我明天怎么VV?”,然后再进行功能词性标注为“我明天how VV?”。
表1
本发明实施例中,可以确定具有预设词性的词语和具有功能词性的词语均为无效词语,并将对预设问句分词后的多个词语中的无效词语进行过滤,以得到预设问句的过滤后的词语。一种实现方式中,可以是将预设问句中具有动词词性、名词词性、功能词性的词语过滤掉,比如,直接将“我明天怎么全额还款”过滤为“我明天”;另一种实现方式中,可以是将预设问句中进行词性标注的多个词语中的词性标签过滤掉,比如,直接将“我明天怎么全额还款”进行词性标注后的“我明天how VV”过滤为“我明天”。此外,还可以将多个词语中没有意义的词语过滤掉,比如“的”、“吗”等。
步骤202中,可以如步骤201的实现方式对原始模板分词后的词语中的无效词语过滤,不再赘述。但需要说明的是,原始模板实质上是将原始问句分词并抠词后的模板问句,此处的抠词相当于将具有预设词性的词语抠掉,比如,原始问句是“我上午不是说过不要再打电话来吗?”,对应的原始模板是“我上午不是__不要再__了吗?”,也即,原始模板中将具有预设词性的“说过”和“打电话”抠掉了,但并没有把具有功能词性的“不是”抠掉,所以,此步骤还会将原始模板分词后的具有功能词性的词语抠掉。
步骤203中,确定预设问句的过滤后的词语和原始模板的过滤后的词语的相似度时,可以是基于BM25算法确定预设问句的过滤后的词语和原始模板的过滤后的词语的相关性,以用于表征二者之间的相似度,具体的,假设预设问句的过滤后的词语为N1个,原始模板的过滤后的词语为N2个,其中,N1、N2均大于等于1,将N1个词语中的第i个词语作为语素qi,并确定该语素qi与N2个词语中的每个词语的相关性得分,从而确定该语素qi与N2个词语的相关性得分,再进一步确定N1个词语与N2个词语的相关性得分,若该相关性得分大于某个阈值,则确定该原始模板为候选模板。当然,原始模板可以为K1个,可以确定N1个词语与每个原始模板对应的N2个词语的相关性得分,并将该相关性得分进行排序后,取前K2个。此处,每个原始模板的过滤后的词语个数相同或者不同。
在确定出原始模板是候选模板之后,则需要判断候选模板是否为目标模板,具体的,可以如图3示出的流程图:
步骤301,将候选模板输入至语义模型中,得到第三语义向量;
可以预先根据包含多个历史问句的训练样本进行训练,以得到语义模型,该语义模型用于表征问句的语义特征。具体实现中,可以是根据训练样本确定BERT(Bidirectional Encoder Representation from Transformers)模型,该BERT模型在pre-train方法上,用了Masked LM和Next Sentence Prediction两种方法分别捕捉词语和句子级别的语义表示。通过调用BERT模型能很好地表示问句的语义特征。
步骤302,将具有预设词性的词语抠掉后的预设问句输入至语义模型中,得到第四语义向量;
可以对预设问句进行处理,具体的,将预设问句先进行分词处理以得到多个词语,从该多个词语中确定具有预设词性的词语,并将该具有预设词性的词语从该预设问句中抠掉,比如,预设问句是“我明天怎么全额还款?”,则对预设问句分词后得到“我明天怎么全额还款?”,然后确定“全额”为名词词性、“还款”为动词词性,则将预设问句中的“全额”和“还款”抠掉,从而得到“我明天怎么____?”,然后将“我明天怎么____?”输入至语义模型中,以得到第四语义向量。
当然,本例子中,还可以先把“全额”和“还款”合并为“全额还款”之后,再将“全额还款”抠掉,从而得到“我明天怎么__?”,然后将“我明天怎么__?”输入至语义模型中,以得到第四语义向量。
步骤303,若第三语义向量与第四语义向量之间的相似度符合第三预设条件,则将候选模板确定为目标模板。
此处,可以是将多个候选模板的每个候选模板输入至语义模型中,以确定每个候选模板对应的第三语义向量,进而确定每个候选模板对应的第三语义向量与第四语义向量之间的相似度,具体实现中,可以将与第四语义向量之间的相似度大于某个阈值的第三语义向量对应的候选模板确定为目标模板,也可以根据每个候选模板对应的第三语义向量与第四语义向量之间的相似度,从大到小排序,以确定出前若干个相似度对应的候选模板,进而将该若干个候选模板均确定为目标模板。
在确定第三语义向量与第四语义向量之间的相似度时,可以是确定两个向量之间的欧式距离或余弦相似度或其他,不做限定。
上述实施例中,将候选模板和预设问句分别输入至预先训练好的语义模型中,确定与该预设问句的语义相近的候选模板为目标模板,充分考虑问句的语义特征,从而根据目标模板和预设问句生成的问句的可用性更强。
上述实施例中,在确定出原始模板后,确定原始模板是否为候选模板,再确定候选模板是否为目标模板;当然也可以直接将原始模板输入至语义模型中,得到原始模板的语义向量,将具有预设词性的词语抠掉后的预设问句输入至语义模型中,得到第四语义向量,再根据原始模板的语义向量和第四语义向量确定语义相似度。但该种方式中,由于原始模板的数量较大,需要将每个原始模板都输入至语义模型中以得到原始模板的语义向量,然后再确定每个原始模板的语义向量与第四语义向量之间的语义相似度,相比于本发明实施例的处理效率较低。
步骤102中,在确定出目标模板之后,则需要从目标模板中确定候选槽位和候选槽位的上下文,具体的,可以是将目标模板的多个槽位中与关键词语的预设词性相同的槽位确定为候选槽位,比如,关键词语的词性为名词词性,则从多个槽位中确定出具有名词词性的槽位作为候选槽位。
需要说明的是,候选槽位的上下文应该与关键词语的上下文对应,相当于,候选槽位在其对应的上下文中的位置和关键词语在其对应的上下文中的位置相同,举个例子,若关键词语的上文包括2个词语,则候选槽位的上文同样包括2个词语,若关键词语的上文包括1个词语,则候选槽位的上文同样包括1个词语;同理,若关键词语的下文包括2个词语,则候选槽位的下文同样包括2个词语,若关键词语的下文包括1个词语,则候选槽位的下文同样包括1个词语。关键词语在预设问句中的上文和下文的确定可以是根据经验确定,上文的词语个数和下文的词语个数可以相同或者不同。
在从目标模板中确定候选槽位的上下文时,可以根据关键词语的上文所包括的词语个数,将目标模板中位于候选槽位之前的相同个数的词语确定为候选槽位的上文;根据关键词语的下文所包括的词语个数,将目标模板中位于候选槽位之后的相同个数的词语确定为候选槽位的下文;进而将候选槽位的上文和候选槽位的下文组成候选槽位的上下文。
步骤103中,目标模板中的候选槽位可以有多个,需要从多个候选槽位中找到最适合填入该关键词语的槽位,也就是说,从多个候选槽位中确定出与关键词语的上下文最相似的上下文对应的槽位,以用于填入该关键词语。
可以如图4示出的流程:
步骤401,将关键词语的上下文输入至语义模型中,得到第一语义向量;
步骤402,将目标模板中每个候选槽位的上下文输入至语义模型中,得到每个候选槽位的第二语义向量;
步骤403,确定第一语义向量和每个第二语义向量的相似度,并从中确定出与第一语义向量的相似度最大的第二语义向量;
步骤404,将关键词语填入与第一语义向量的相似度最大的第二语义向量对应的候选槽位中。
本发明实施例中,语义模型可以是步骤102中确定的语义模型。将关键词语的上下文和候选槽位的上下文分别输入至预先训练好的语义模型中,确定与该关键词语的上下文相近的上下文对应的候选槽位作为目标槽位,充分考虑问句的语义特征,从而将关键词语填入至目标槽位后生成的问句的可用性更强。
在确定第一语义向量和每个第二语义向量的相似度时,可以是确定两个向量之间的欧式距离或余弦相似度或其他。
需要说明的是,在根据预设问句与目标模板生成对应的问句时,一般会将预设问句中确定出的多个关键词语分别部填入至目标模板的槽位中,且在填入时,会根据关键词语的预设词性确定将该关键词语填入至与之相同预设词性的槽位中,也即,预设问句对应的目标模板具有如下特性,目标模板中槽位数量与预设问句的关键词语数量相同,且对于某一个预设词性来说,目标模板中属于该预设词性的槽位数量与预设问句中属于该预设词性的槽位数量相同。举例来说,预设问句中包括5个关键词语,其中2个对应动词词性、3个对应名词词性,那么确定出的目标模板也需要包括5个槽位,且其中2个对应动词词性、3个对应名词词性,从而可以将预设问句中的2个动词词性的关键词语分别填入至目标模板的2个动词词性的槽位中,且将预设问句中的3个名词词性的关键词语分别填入至目标模板的3个名词词性的槽位中。
基于上述描述,在从多个原始模板中筛选出多个候选模板时,可以先从多个原始模板中预先筛选出部分原始模板,其中,该预先筛选出的部分原始模板中槽位的预设词性的种类与预设问句中关键词语的预设词性的种类相同,且属于相同预设词性的原始模板中槽位个数和预设问句中关键词语个数相同。从而再从预先筛选出的部分原始模板中确定候选模板。通过该方式,可以进一步提高效率。
此外,在从候选模板中确定出目标模板后,还会将目标模板的多个槽位中与关键词语的预设词性相同的槽位确定为候选槽位,从而只将关键词与与之具有相同预设词性的槽位进行匹配,在提高效率的同时提高生成问句的可用性。
进一步的,可能会确定将预设问句中的第一个关键词语填入至目标模板的第一个槽位中,且确定将预设问句中的第二个关键词语同样也填入至目标模板的第一个槽位中,此时,即会出现至少两个关键词语待填入至同一个候选槽位的情况,针对这种情况,可以确定每个关键词语与该同一个候选槽位的上下文所组成的短句,进而确定每个关键词语对应的短句在原始问句集中出现的次数,并根据出现次数,从中确定填入至候选槽位的关键词语。比如,第一个关键词语与该第一个槽位组成第一短句,第二个关键词语与该第一个槽位组成第二短句,统计第一短句在原始问句集中总共出现10次,第二短句在原始问句集中总共出现20次,则可以确定该第二短句更符合问句特征,从而将第二个关键词语填入至该第一个槽位中。通过该方式,在保障关键词的上下文与槽位的上下文的相似度符合预设条件的情况下,确定关键词填入槽位时生成的短句在原始问句集中的次数较高,进一步保障生成问句的可用性。
在将预设问句中的关键词语填入至目标模板的槽位中之后,即可以生成初始问句,本发明实施例中可以对该生成的初始问句进行扩展,具体的,可以将该初始问句中具有功能词性的词语,采用相同功能词性的词语进行替换,举例来说,生成的初始问句为“我明天怎么全额还款”,其中“怎么”为具有功能词性的词语,对应的功能词性为how,则可以将how中其他的词语替换“怎么”,也即生成“我明天怎样全额还款”、“我明天怎么样全额还款”。
通过上述实现方式,则生成了预设问句对应的至少一个问句,可以将该至少一个问句展示。实际应用中,可以将该生成的至少一个问句展示给工作人员,从而工作人员可以人工核对该生成的问句,并从中选出合格问句或者删除不合格问句,最后将合格问句输入至知识库中。
需要说明的是,本发明实施例中在确定预设问句的关键词语时,需要对预设问句进行分词,在确定预设问句对应的候选模板时,同样需要对预设问句进行分词,两次分词的方式可以相同,可以将某一次预设问句分词后的多个词语存储至数据库中,从而二者可以共用,当然,也可以在每次需要时分别分词。此外,在从原始问句确定原始模板时,需要对原始问句进行分词,从原始模板中确定候选模板时,同样需要对原始模板进行分词,两次分词的方式可以相同,可以将对原始问句的分词后的多个词语复用到确定候选模板的过程中,当然,也可以在每次需要时分别分词。
上述实施例中,实质上是根据原始问句集中的每个原始问句得到对应的原始模板,然后再从多个原始模板中确定出符合某个预设条件的多个候选模板,然后再从多个候选模板中确定出符合某个预设条件的多个目标模板,进而根据预设问句和目标模板生成预设问句对应的问句。基于该过程,下面提供一个具体的实现方式,可以如图5示出的流程中。该实现方式具体分为三个部分,分别是模板挖掘、模板选择和模板填充。
(一)模板挖掘
模板挖掘包括基于分类模型筛选问句、基于词性分析构建模板和基于预设规则简化模板。
基于分类模型筛选问句:
将K0个问句输入至预先设定的三分类模型中,以筛选出有意义且无歧义的问句作为K1个原始问句。
基于词性分析构建模板:
将K1个原始问句中的每个原始问句进行分词和词性标注,从而得到K1个初步的原始模板。
基于预设规则简化模板:
针对每个初步的原始模板执行:将初步的原始模板中两个相邻的具有预设词性的词语合并,并将初步的原始模板中具有预设词性的词语抠掉。
(二)模板选择
模板选择包括召回模板和重排模板;
召回模板:
确定对预设问句进行分词和词性标注,并将预设问句分词后的多个词语中具有预设词性的词语、具有功能词性的词语、无意义词过滤掉,假设预设问句的过滤后的词语为N1个;对K1个原始模板中每个原始模板同样分词后将具有功能词性的词语、无意义词过滤掉,假设原始模板的过滤后的词语为N2个;进而确定该N1个词语和该N2词语的相似度;并将K1个原始模板分别对应的相似度排序,以从中确定出前K2个原始模板作为候选模板。
重排模板:
确定该K2个候选模板中的任一个候选模板与将具有预设词性的词语抠掉后的预设问句的相似度,根据相似度将该K2个候选模板从高到低排序,以从中确定出前K3个候选模板作为目标模板。
(三)模板填充
模板填充包括基于上下文填充模板,具体的,K3个目标模板中的每个目标模板都可以包括至少一个候选槽位,对于任一个目标模板的任一个候选槽位,确定关键词语在预设问句中的上下文和候选槽位在目标模板中的上下文的相似度,进而确定该目标模板中与关键词语在预设问句中的上下文的相似度最高的候选槽位,以将该关键词语填充至该相似度最高的候选槽位中,从而生成预设问句对应的问句。
此处,可以理解K0≥K1≥K2≥K3≥1,N1≥1,N2≥1。
基于同一发明构思,图6示例性的示出了本发明实施例提供的一种问句生成的装置的结构,该装置可以执行问句生成的方法的流程。
所述装置,包括:
处理单元601、生成单元602;
所述处理单元601,用于获取预设问句中的关键词语和所述关键词语的上下文;从所述预设问句的目标模板中确定候选槽位和所述候选槽位的上下文;
所述生成单元602,用于若所述关键词语的上下文和所述候选槽位的上下文之间的相似度符合第一预设条件,则将所述关键词语填入至所述候选槽位,以生成所述预设问句对应的问句。
可选的,所述生成单元602具体用于:
将所述关键词语的上下文输入至语义模型中,得到第一语义向量;
将所述目标模板中每个候选槽位的上下文输入至所述语义模型中,得到每个候选槽位的第二语义向量;
确定所述第一语义向量和每个第二语义向量的相似度,并从中确定出与所述第一语义向量的相似度最大的第二语义向量;
将所述关键词语填入所述与所述第一语义向量的相似度最大的第二语义向量对应的候选槽位中。
可选的,所述生成单元602具体用于:
若存在至少两个关键词语待填入至同一个候选槽位,则确定每个关键词语与所述候选槽位的上下文组成的短句、所述短句在原始问句集中的出现次数;
根据所述出现次数,从所述至少两个关键词语中确定填入至所述候选槽位的关键词语。
可选的,所述处理单元601具体用于:
将所述目标模板的多个槽位中与所述关键词语的预设词性相同的槽位确定为所述候选槽位;
根据所述关键词语的上文所包括的词语个数,将所述预设问句中位于所述候选槽位之前的相同个数的词语确定为所述候选槽位的上文;
根据所述关键词语的下文所包括的词语个数,将所述预设问句中位于所述候选槽位之后的相同个数的词语确定为所述候选槽位的下文;
将所述候选槽位的上文和所述候选槽位的下文组成所述候选槽位的上下文。
可选的,所述处理单元601具体用于:
对所述预设问句进行分词;
从所述预设问句分词后的词语中确定出具有预设词性的词语,并将所述具有预设词性的词语确定为所述关键词语。
可选的,所述处理单元601具体用于:
若所述预设问句分词后的词语中存在连续的具有所述预设词性的两个词语,则将所述两个词语合并;其中,合并后词语的词性与所述两个词语中后一个词语的词性相同。
可选的,所述处理单元601还用于:
在所述对所述预设问句进行分词之后,从所述预设问句分词后的词语中确定出具有功能词性的词语;
所述生成单元602还用于:
所述将所述关键词语填入至所述候选槽位之后,对于具有功能词性的词语,采用具有相同功能词性的词语进行替换。
可选的,所述处理单元601具体用于:
获取原始模板;所述原始模板是将原始问句中具有预设词性的词语抠掉后得到的;
根据所述原始模板分词后的每个词语与所述预设问句分词后的所有词语之间的相似度,确定所述原始模板与所述预设问句之间的相似度;
若所述原始模板与所述预设问句之间的相似度符合第二预设条件,则确定所述原始模板为候选模板;
将所述候选模板和所述具有预设词性的词语抠掉后的所述预设问句分别输入至语义模型中;
若确定所述候选模板和所述具有预设词性的词语抠掉后的所述预设问句的相似度符合第三预设条件,则确定所述候选模板为目标模板。
可选的,所述目标模板中槽位的预设词性的种类与所述预设问句中关键词语的预设词性的种类相同;属于相同预设词性的所述候选模板中槽位个数和所述预设问句中关键词语个数相同。
基于同一发明构思,本发明实施例还提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述问句生成的方法。
基于同一发明构思,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述问句生成的方法。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种问句生成的方法,其特征在于,包括:
获取预设问句中的关键词语和所述关键词语的上下文;
从所述预设问句的目标模板中确定候选槽位和所述候选槽位的上下文;
若所述关键词语的上下文和所述候选槽位的上下文之间的相似度符合第一预设条件,则将所述关键词语填入至所述候选槽位,以生成所述预设问句对应的问句。
2.如权利要求1所述的方法,其特征在于,所述若所述关键词语的上下文和所述候选槽位的上下文之间的相似度符合第一预设条件,则将所述关键词语填入至所述候选槽位,包括:
将所述关键词语的上下文输入至语义模型中,得到第一语义向量;
将所述目标模板中每个候选槽位的上下文输入至所述语义模型中,得到每个候选槽位的第二语义向量;
确定所述第一语义向量和每个第二语义向量的相似度,并从中确定出与所述第一语义向量的相似度最大的第二语义向量;
将所述关键词语填入所述与所述第一语义向量的相似度最大的第二语义向量对应的候选槽位中。
3.如权利要求1所述的方法,其特征在于,所述将所述关键词语填入至所述候选槽位,包括:
若存在至少两个关键词语待填入至同一个候选槽位,则确定每个关键词语与所述候选槽位的上下文组成的短句、所述短句在原始问句集中的出现次数;
根据所述出现次数,从所述至少两个关键词语中确定填入至所述候选槽位的关键词语。
4.如权利要求1所述的方法,其特征在于,所述从所述预设问句的目标模板中确定候选槽位和所述候选槽位的上下文,包括:
将所述目标模板的多个槽位中与所述关键词语的预设词性相同的槽位确定为所述候选槽位;
根据所述关键词语的上文所包括的词语个数,将所述目标模板中位于所述候选槽位之前的相同个数的词语确定为所述候选槽位的上文;
根据所述关键词语的下文所包括的词语个数,将所述目标模板中位于所述候选槽位之后的相同个数的词语确定为所述候选槽位的下文;
将所述候选槽位的上文和所述候选槽位的下文组成所述候选槽位的上下文。
5.如权利要求1所述的方法,其特征在于,所述获取预设问句中的关键词语,包括:
对所述预设问句进行分词;
从所述预设问句分词后的词语中确定出具有预设词性的词语,并将所述具有预设词性的词语确定为所述关键词语。
6.如权利要求5所述的方法,其特征在于,所述从所述预设问句分词后的词语中确定出具有预设词性的词语,包括:
若所述预设问句分词后的词语中存在连续的具有所述预设词性的两个词语,则将所述两个词语合并;其中,合并后词语的词性与所述两个词语中后一个词语的词性相同。
7.如权利要求5所述的方法,其特征在于,在所述对所述预设问句进行分词之后,还包括:
从所述预设问句分词后的词语中确定出具有功能词性的词语;
所述将所述关键词语填入至所述候选槽位之后,还包括:
对于具有功能词性的词语,采用具有相同功能词性的词语进行替换。
8.如权利要求1所述的方法,其特征在于,通过下述步骤确定所述目标模板:
获取原始模板;所述原始模板是将原始问句中具有预设词性的词语抠掉后得到的;
根据所述原始模板分词后的每个词语与所述预设问句分词后的所有词语之间的相似度,确定所述原始模板与所述预设问句之间的相似度;
若所述原始模板与所述预设问句之间的相似度符合第二预设条件,则确定所述原始模板为候选模板;
将所述候选模板和所述具有预设词性的词语抠掉后的所述预设问句分别输入至语义模型中;
若确定所述候选模板和所述具有预设词性的词语抠掉后的所述预设问句的相似度符合第三预设条件,则确定所述候选模板为目标模板。
9.如权利要求1所述的方法,其特征在于,所述目标模板中槽位的预设词性的种类与所述预设问句中关键词语的预设词性的种类相同;属于相同预设词性的所述候选模板中槽位个数和所述预设问句中关键词语个数相同。
10.一种问句生成的装置,其特征在于,包括:
处理单元、生成单元;
所述处理单元,用于获取预设问句中的关键词语和所述关键词语的上下文;从所述预设问句的目标模板中确定候选槽位和所述候选槽位的上下文;
所述生成单元,用于若所述关键词语的上下文和所述候选槽位的上下文之间的相似度符合第一预设条件,则将所述关键词语填入至所述候选槽位,以生成所述预设问句对应的问句。
11.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1至9任一项所述的方法。
12.一种计算机可读非易失性存储介质,其特征在于,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行如权利要求1至9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010040957.4A CN111222309A (zh) | 2020-01-15 | 2020-01-15 | 一种问句生成的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010040957.4A CN111222309A (zh) | 2020-01-15 | 2020-01-15 | 一种问句生成的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111222309A true CN111222309A (zh) | 2020-06-02 |
Family
ID=70827006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010040957.4A Pending CN111222309A (zh) | 2020-01-15 | 2020-01-15 | 一种问句生成的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111222309A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112949280A (zh) * | 2021-03-02 | 2021-06-11 | 中国联合网络通信集团有限公司 | 一种数据处理方法和装置 |
-
2020
- 2020-01-15 CN CN202010040957.4A patent/CN111222309A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112949280A (zh) * | 2021-03-02 | 2021-06-11 | 中国联合网络通信集团有限公司 | 一种数据处理方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110096570B (zh) | 一种应用于智能客服机器人的意图识别方法及装置 | |
CN110444198B (zh) | 检索方法、装置、计算机设备和存储介质 | |
CN108875059B (zh) | 用于生成文档标签的方法、装置、电子设备和存储介质 | |
CN106649612B (zh) | 一种自动问答模板匹配的方法及装置 | |
CN112287914B (zh) | Ppt视频段提取方法、装置、设备及介质 | |
CN112967144B (zh) | 一种金融信用风险事件抽取方法、可读存储介质及设备 | |
CN111190997A (zh) | 一种使用神经网络和机器学习排序算法的问答系统实现方法 | |
CN111241813B (zh) | 语料扩展方法、装置、设备及介质 | |
CN110929520B (zh) | 非命名实体对象抽取方法、装置、电子设备及存储介质 | |
CN112765974B (zh) | 一种业务辅助方法、电子设备及可读存储介质 | |
CN111552798B (zh) | 基于名称预测模型的名称信息处理方法、装置、电子设备 | |
CN113591489B (zh) | 语音交互方法、装置及相关设备 | |
CN113434631A (zh) | 基于事件的情感分析方法、装置、计算机设备及存储介质 | |
CN111222309A (zh) | 一种问句生成的方法及装置 | |
CN117725895A (zh) | 文档生成方法、装置、设备及介质 | |
CN112597748A (zh) | 语料生成方法、装置、设备及计算机可读存储介质 | |
CN117216214A (zh) | 一种问答抽取的生成方法、装置、设备及介质 | |
CN116304046A (zh) | 对话数据的处理方法、装置、存储介质及电子设备 | |
CN114528851B (zh) | 回复语句确定方法、装置、电子设备和存储介质 | |
CN114282498B (zh) | 一种应用于电力交易的数据知识处理系统 | |
CN113704623B (zh) | 一种数据推荐方法、装置、设备及存储介质 | |
RU2210809C2 (ru) | Способ упорядочения данных, представленных в текстовых информационных блоках данных | |
CN114492446A (zh) | 法律文书处理方法、装置、电子设备及存储介质 | |
CN112183114A (zh) | 模型训练、语义完整性识别方法和装置 | |
JP3416918B2 (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 |