掌桥专利:专业的专利平台
掌桥专利
首页

智能问答问题的生成方法、装置、计算机设备及存储介质

文献发布时间:2023-06-19 11:26:00


智能问答问题的生成方法、装置、计算机设备及存储介质

技术领域

本发明涉及智能问答技术领域,尤其涉及一种智能问答问题的生成方法、装置、计算机设备及存储介质。

背景技术

在用户与机器人交互的过程中,需要对用户对话的场景进行推荐,机器人在回答用户当前的问题的同时,还需要展现用户接下来可能要问的问题,而具体可以展现什么问题是根据存储在知识库里的候选问题得到的。

目前对于丰富知识库里的候选问题的方式主要有以下两种:

(1)、通过人工对客服日志中涉及的问题进行抽取入库;

(2)、通过对问题识别模型进行训练,利用训练好的问题识别模型对人工客服日志中提及的问题进行自动识别,并将识别出的问题保存在知识库中。

可以发现,上述方式(1)完全依赖于人工抽取,人力成本高,问题生成的效率很低,且人工抽取出的问题的多样性不够并且数量也十分有限。对于上述通过方式(2)得到的入库问题,需要大量的历史问题样本对问题识别模型进行训练,对历史问题的需求量较大,对于新上线的产品而言,历史对话日志数据较少,难以训练出收敛效果较好的问题识别模型,可见方式(2)在历史对话日志数据较少的场景中并不适用。

不论是基于上述哪种现有的方式,可能问的问题的来源都是日志中已经问过的问题,并没有对可能出现的未知问题进行智能创新,无法在历史对话日志数据较少的情况下挖掘出更多的候选问题。

发明内容

本发明实施例提供一种智能问答问题的生成方法、装置、计算机设备及存储介质,以解决在历史对话日志数据较少的情况下无法智能挖掘出更多的候选问题的技术问题。

一种智能问答问题的生成方法,该方法包括:

获取预先构建的基础问题集,对该基础问题集中包含的各个基础问题进行语义角色标注,得到各该基础问题中词语的角色;

将该词语的角色作为槽位,通过聚类算法对该各个基础问题包含的槽位进行聚类,得到该槽位所属的类别;

根据预先设定的语法规则对得到的各该类别进行组合,得到至少一个问题模板;

分别获取至少一个该问题模板中包含的各类别所对应的槽位;

将该基础问题中与该槽位相对应的词语作为槽值,通过该槽值对对应的槽位进行填充,得到候选问题。

一种智能问答问题的生成装置,该装置包括:

角色标记模块,用于获取预先构建的基础问题集,对该基础问题集中包含的各个基础问题进行语义角色标注,得到各该基础问题中词语的角色;

聚类模块,用于将该词语的角色作为槽位,通过聚类算法对该各个基础问题包含的槽位进行聚类,得到该槽位所属的类别;

组合模块,用于根据预先设定的语法规则对得到的各该类别进行组合,得到至少一个问题模板;

槽位获取模块,用于分别获取至少一个该问题模板中包含的各类别所对应的槽位;

填充模块,用于将该基础问题中与该槽位相对应的词语作为槽值,通过该槽值对对应的槽位进行填充,得到候选问题。

一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述智能问答问题的生成方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述智能问答问题的生成方法的步骤。

本申请提出的智能问答问题的生成方法、装置、计算机设备及存储介质,利用语言模型的语义角色标注工具对基础问题集进行角色识别,将槽位与对应槽值分离,然后对槽位进行聚类,得到各个类别所对应的论元,再对不同的类别(或者说是论元)进行组合,得到问题模板,然后获取该问题模板中各类别包括的对应槽位,利用该槽位的槽值对该槽位进行填充,得到一系列的候选问题。本申请通过对已知的基础问题集中的问题语句进行槽位抽取、聚类和再组合,并通过槽值对对应的槽位进行填充,可以挖掘出更多可能的候选问题,丰富了知识库,使得智能机器人在与用户进行智能问答或聊天时,能够提供更多的候选问题供用户选择,也可以创造更多的话题,提高用户体验。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施例中智能问答问题的生成方法的一应用环境示意图;

图2是本发明一实施例中智能问答问题的生成方法的一流程图;

图3是本发明另一实施例中智能问答问题的生成方法的一流程图;

图4是本发明又一实施例中智能问答问题的生成方法的一流程图;

图5是本发明一实施例中智能问答问题的生成装置的结构示意图;

图6是本发明一实施例中计算机设备的一示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请提供的智能问答问题的生成方法,可应用在如图1的应用环境中,其中,计算机设备可以但不限于服务器、各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一实施例中,如图2所示,提供一种智能问答问题的生成方法,以该方法应用在图1中的计算机设备为例进行说明,包括如下步骤S101至S105。

S101、获取预先构建的基础问题集,对所述基础问题集中包含的各个基础问题进行语义角色标注,得到各所述基础问题中词语的角色。

自然语言分析技术大致分为三个层面:词法分析、句法分析和语义分析。语义角色标注是实现浅层语义分析的一种方式。在一个句子中,谓词是对主语的陈述或说明,指出“做什么”、“是什么”或“怎么样”,代表了一个事件的核心,跟谓词搭配的名词称为论元。语义角色是指论元在动词所指事件中担任的角色。主要有:施事者(Agent)、受事者(Patient)、客体(Theme)、经验者(Experiencer)、受益者(Beneficiary)、工具(Instrument)、处所(Location)、目标(Goal)和来源(Source)等。进一步地,也可以将与业务问题相关的客体或与技术项目问题相关的客体作为该语义角色。与业务问题相关的客体例如险种、商品名称等,与技术项目问题相关的客体例如项目名称、项目编号等。

语义角色标注(Semantic Role Labeling,SRL)以句子的谓词为中心,不对句子所包含的语义信息进行深入分析,只分析句子中各成分与谓词之间的关系,即句子的谓词(Predicate)-论元(Argument)结构,并用语义角色来描述这些结构关系,是许多自然语言理解任务(如信息抽取、篇章分析、深度问答等)的一个重要中间步骤。在研究中一般都假定谓词是给定的,所要做的就是找出给定谓词的各个论元和它们的语义角色。

将语义角色标注技术应用在本实施例中,其中一方面就是要找到跟谓词搭配的疑问句的论元,还需要根据基础问题中包括的其它语义角色找到其它论元,以根据已知的基础问题集挖掘出更多的问题。

在其中一个实施例中,构建所述基础问题集的步骤包括:

从历史日志中获取同一问题被询问的次数;

当所述问题被询问的次数超过预设次数时,从所述历史日志中抽取对应的问题,得到第一基础问题集;

接收用户输入和/或终端设备发送的问题,构成第二基础问题集;

对所述第一基础问题集和所述第二基础问题集进行组合,得到所述基础问题集。

其中,对所述第一基础问题集和所述第二基础问题集进行组合的方式可以是对所述第一基础问题集和所述第二基础问题集求并集,得到所述基础问题集。

在对所述第一基础问题集和所述第二基础问题集求并集时,本实施例提供两种求并集的方式:

(1)判断所述第一基础问题集中是否存在与所述第二基础问题集中完全相同问题语句,若是,则仅保留其中一个问题语句;

(2)计算所述第一基础问题集中的问题语句与所述第二基础问题集中的问题语句的余弦相似度,判断所述余弦相似度是否大于预设值,若是,则判断第一基础问题集中的该问题语句与第二基础问题集中的该问题语句过于相似,则仅保留其中任一问题语句。

可以理解的是,对该第一基础问题集和该第二基础问题集求并集的方式并不限于以上两种。该第二基础问题集包括用户人工输入的基础问题,还可以包括其他终端设备发送的基础问题,该基础问题的类型可以是业务层面出现的问题和技术实现上出现的技术问题。

在其中一个实施例中,该问题被询问的预设次数例如为2次。表示当同一问题被询问的次数大于2次时,表示该问题为高频问题,将高频问题、用户输入的比较关注的问题和终端设备发送的业务方面强相关的问题列入到基础问题集中,使得根据该基础问题集挖掘出的问题与该高频问题、用户输入的比较关注的问题和终端设备发送的相关问题的关联性更高,使得根据本实施例挖掘出的问题更有意义。

S102、将所述词语的角色作为槽位,通过聚类算法对所述各个基础问题包含的槽位进行聚类,得到所述槽位所属的类别。

其中,槽位可以理解为实体已明确定义的属性,槽位可以是语法结构中的主语、谓语和宾语等,也可以是用户自定义的实体属性,例如称呼、出发地、出发时间、版本号、疑问词等等。在该实施例中,该槽位包括但不限于施事者、受事者、客体、经验者、受益者、工具、处所、疑问词、反问词、目标和来源等等。该客体包括但不限于与业务问题相关的客体或与技术项目问题相关的客体。

其中,本实施例中通过聚类算法对所述各个基础问题包含的槽位进行聚类,得到所述槽位所属的类别,可以理解为对问题语句中属于各论元的槽位进行归类。例如聚类得到的与疑问词这一论元对应的槽位包括但不限于疑问词、反问词等。其中,疑问词这一槽位包括的槽值可以是“吗”、“什么”、“哪里”、“怎么了”等等,与反问词这一槽位包括的槽值可以是“难道不是吗”、“怎么可能呢”等。

可以理解的是,该步骤中对所述各个基础问题包含的槽位进行聚类的过程就是对各个基础问题中包括的论元进行抽取和归类的过程,例如,用于找到跟谓词搭配的疑问句的论元,根据基础问题中包括的语义角色找到其它论元。

其中,聚类分析又称群分析,它是研究分类问题的一种统计分析方法,同时也是数据挖掘的一个重要算法。聚类算法包括划分法、层次法、密度算法、图论聚类法、网格算法和模型算法这六种。常见的划分法包括K-Means算法、K-MEDOIDS算法和CLARANS算法。

在其中一个实施例中,可以选用K-Means聚类算法对所述各个基础问题包含的槽位进行聚类。选用K-Means聚类算法对所述各个基础问题包含的槽位进行聚类的步骤包括:

根据用户输入的K值,生成K个聚类中心点;

分别计算所述槽位与所述每个所述聚类中心点的欧氏距离;

获取与所述槽位相对应的欧氏距离最短的聚类中心点,将所述槽位与所述欧氏距离最短的所述聚类中心点归为一类。

在其中一个实施例中,可以选择批次距离尽可能远的K个点作为聚类中心点。方法是首先随机选择一个点作为第一个初始类簇中心点,然后选择距离该点最远的那个点作为第二个初始类簇中心点,然后再选择距离前两个点的最近距离最大的点作为第三个初始类簇的中心点,以此类推,直至选出K个聚类中心点。

可以理解的是,欧氏距离表示与该聚类中心点对应的类别中各槽位之间的相似度,欧氏距离越短表示,表示该槽位与聚类中心点的相似度越大。

本实施例提供了一种通过聚类算法对所述各个基础问题包含的槽位进行聚类的可选方式,可以通过K-Means聚类算法对所述各个基础问题包含的槽位进行聚类,还可以通过其他聚类算法对所述各个基础问题包含的槽位进行聚类。

S103、根据预先设定的语法规则对得到的各所述类别进行组合,得到至少一个问题模板。

在其中一个实施例中,该预先设定的语法规则可以理解为不同类别的论元在问题语句中的先后关系,根据预先设定的语法规则对得到的各所述类别进行组合即对聚类得到的各个类别的论元进行再组合的过程,组合后的问题模板例如【主语】+【谓语】+【疑问词】,组合后的问题模板还可以是【主语】+【反问词】+【用户自定义的语义角色对应的论元】。

其中,用户可以将特定业务问题相关的属性和特定技术问题相关的属性自定义为该语言角色。

S104、分别获取至少一个所述问题模板中包含的各类别所对应的槽位。

可以理解的是,该问题模板中包含的各类别所对应的槽位表示原始基础问题中的语句被划分为对应类别所包含的各个槽位。

本实施例中根据预先设定的语法规则对得到的各所述类别进行组合,并获取至少一个所述问题模板中包含的各类别所对应的槽位的过程即为根据本实施例中基础问题集进行再创造得到新问题的过程。

S105、将所述基础问题中与所述槽位相对应的词语作为槽值,通过所述槽值对对应的槽位进行填充,得到候选问题。

可以理解的是,槽位和槽值在所述基础问题的问题语句中是一一对应的关系,槽位表示根据语义角色标注对基础问题中的问题语句进行处理时得到的语义角色,槽值表示该语义角色具体所用的词语。可以通过问题模板中组装的类别所包括的槽位直接得到对应的槽值。

本实施例提出的智能问答问题的生成方法利用语言模型的语义角色标注工具对基础问题集进行角色识别,将槽位与对应槽值分离,然后对槽位进行聚类,得到各个类别所对应的论元,再对不同的类别(或者说是论元)进行组合,得到问题模板,然后获取该问题模板中各类别包括的对应槽位,利用该槽位的槽值对该槽位进行填充,得到一系列的候选问题。本实施例对已知的基础问题集中的问题语句进行槽位抽取、聚类和再组合,并通过槽值对对应的槽位进行填充,可以挖掘出更多可能的候选问题,丰富了知识库,使得智能机器人在与用户进行智能问答或聊天时,能够提供更多的候选问题供用户选择,也可以创造更多的话题,提高用户体验。

图3是本发明另一实施例中智能问答问题的生成方法的一流程图,在其中一个实施例中,如图3所示,在所述通过所述槽值对对应的槽位进行填充,得到候选问题的步骤之后,该基于对话的智能问答问题的生成方法还包括以下步骤S106和S107:

S106、通过预先训练的质检模型对得到的所述候选问题进行筛选,去除所述候选问题中不属于问题的语句;

S107、将经过筛选后的所述候选问题保存在问题知识库中。

本实施例通过利用质检模型对根据基础问题挖掘出的候选语句进行筛选,可以剔除候选语句中不属于问题的语句,提高候选语句的挖掘质量,并将经过筛选后的所述候选问题保存在问题知识库中,使得智能机器人在与用户进行智能问答时,在需要给用户提供候选问题的场景中,能够提供更多的候选问题供用户选择,在智能聊天对话的场景中,也能制造更多的话题,提高用户体验。

在其中一个实施例中,训练所述质检模型的步骤包括:

从网页资源中爬取正样本问题和负样本问题;

通过所述正样本问题和负样本问题对预先构建的二分类模型进行训练,得到训练好的所述质检模型。

可以理解的是,正样本问题表示问题语句,负样本问题表示非问题语句。可以在网上公开的贴吧、论坛、其它项目的知识库中获取该正样本问题和负样本问题,可以通过人工标注的方式将问题语句标记为正样本问题,将非问题语句标记为负样本问题。本实施例中该其它项目的知识库应当理解为根据其它具有丰富历史日志数据得到的正样本问题和负样本问题。在其中一个实施例中,该正样本问题和负样本问题也可以通过人工输入得到。

在其中一个实施例中,该二分类模型可以选用BERT(Bidirectional EncoderRepresentation from Transformers)模型,也可以选用textCNN模型。

图4是本发明又一实施例中智能问答问题的生成方法的一流程图,在其中一个实施例中,如图4所示,在所述通过预先训练的质检模型对得到的所述候选问题进行筛选的步骤之后,该基于对话的智能问答问题的生成方法还包括以下步骤S401和S402:

S401、显示经过筛选后的所述候选问题;

S402、接收用户针对各所述候选问题的选择指令,将被选择的所述候选问题保存在所述问题知识库中。

本实施例在通过质检模型对得到的所述候选问题进行筛选的步骤之后,增加人工筛选的流程,可以进一步提高保存在知识库中候选问题的质量及有效性,以确保候选问题有意义,使得智能机器人在与用户进行智能问答时,给用户提供候选问题更符合对应的场景。

在本实施例中,还通过训练好的问题质检模型对得到的一系列候选问题进行验证,将这些候选问题中的非问题语句进行过滤,得到问题语句,降低了后期人工查验的工作量,丰富了知识库。最后从筛选出的候选问题语句中人工挑选出最终入库的问题语句,进行审核入库操作,可以进一步提高保存在知识库中候选问题的质量及有效性,以确保候选问题有意义,使得智能机器人在与用户进行智能问答时,给用户提供候选问题更符合对应的场景。

本实施例利用语言模型的语义角色标注工具对基础问题集进行角色识别,将槽位与对应槽值分离,对槽位进行聚类,得到各个类别,再对不同的类别进行组合,得到问题模板,然后将问题模板中包括的槽位对应类别的槽值分别进行填充,得到一系列的疑似问题,然后利用训练好的问题质检模型对得到的一系列疑似问题进行验证,将这些疑似问题中的非问题语句进行过滤,得到问题语句,最后通过人工审核,从得到的问题语句中挑选出最终入库的问题语句,进行审核入库操作。

本实施例根据已知的基础问题集得到尽可能多的候选问题,并通过问题质检模型对得到的一系列疑似问题进行过滤降低了人工查验的工作量,丰富了知识库,使得机器人在回答用户问题时,能够提供更多的候选问题供用户选择。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

在一实施例中,提供一种智能问答问题的生成装置,该智能问答问题的生成装置与上述实施例中智能问答问题的生成方法一一对应。如图5所示,该智能问答问题的生成装置100包括角色标记模块11、聚类模块12、组合模块13、槽位获取模块14和填充模块15。各功能模块详细说明如下:

角色标记模块11,用于获取预先构建的基础问题集,对该基础问题集中包含的各个基础问题进行语义角色标注,得到各基础问题中词语的角色。

将语义角色标注技术应用在本实施例中,其中一方面就是要找到跟谓词搭配的疑问句的论元,还需要根据基础问题中包括的其它语义角色找到其它论元,以根据已知的基础问题集挖掘出更多的问题。

聚类模块12,用于将该词语的角色作为槽位,通过聚类算法对该各个基础问题包含的槽位进行聚类,得到该槽位所属的类别。

其中,槽位可以理解为实体已明确定义的属性,槽位可以是语法结构中的主语、谓语和宾语等,也可以是用户自定义的实体属性,例如称呼、出发地、出发时间、版本号、疑问词等等。

其中,本实施例中通过聚类算法对所述各个基础问题包含的槽位进行聚类,得到所述槽位所属的类别,可以理解为对问题语句中属于各论元的槽位进行归类。例如聚类得到的与疑问词这一论元对应的槽位包括但不限于疑问词、反问词等。

可以理解的是,该步骤中对所述各个基础问题包含的槽位进行聚类的过程就是对各个基础问题中包括的论元进行抽取和归类的过程,例如,用于找到跟谓词搭配的疑问句的论元,根据基础问题中包括的语义角色找到其它论元。

其中,聚类分析又称群分析,它是研究分类问题的一种统计分析方法,同时也是数据挖掘的一个重要算法。聚类算法包括划分法、层次法、密度算法、图论聚类法、网格算法和模型算法这六种。常见的划分法包括K-Means算法、K-MEDOIDS算法和CLARANS算法。

组合模块13,用于根据预先设定的语法规则对得到的各类别进行组合,得到至少一个问题模板。

在其中一个实施例中,该预先设定的语法规则可以理解为不同类别的论元在问题语句中的先后关系,根据预先设定的语法规则对得到的各所述类别进行组合即对聚类得到的各个类别的论元进行再组合的过程,组合后的问题模板例如【主语】+【谓语】+【疑问词】,组合后的问题模板还可以是【主语】+【反问词】+【用户自定义的语义角色对应的论元】。

其中,用户可以将特定业务问题相关的属性和特定技术问题相关的属性自定义为该语言角色。

槽位获取模块14,用于分别获取至少一个该问题模板中包含的各类别所对应的槽位。

可以理解的是,该问题模板中包含的各类别所对应的槽位表示原始基础问题中的语句被划分为对应类别所包含的各个槽位。

本实施例中根据预先设定的语法规则对得到的各所述类别进行组合,并获取至少一个所述问题模板中包含的各类别所对应的槽位的过程即为根据本实施例中基础问题集进行再创造得到新问题的过程。

填充模块15,用于将该基础问题中与该槽位相对应的词语作为槽值,通过该槽值对对应的槽位进行填充,得到候选问题。

可以理解的是,槽位和槽值在所述基础问题的问题语句中是一一对应的关系,槽位表示根据语义角色标注对基础问题中的问题语句进行处理时得到的语义角色,槽值表示该语义角色具体所用的词语。可以通过问题模板中组装的类别所包括的槽位直接得到对应的槽值。

本实施例提出的智能问答问题的生成装置利用语言模型的语义角色标注工具对基础问题集进行角色识别,将槽位与对应槽值分离,然后对槽位进行聚类,得到各个类别所对应的论元,再对不同的类别(或者说是论元)进行组合,得到问题模板,然后获取该问题模板中各类别包括的对应槽位,利用该槽位的槽值对该槽位进行填充,得到一系列的候选问题。本实施例对已知的基础问题集中的问题语句进行槽位抽取、聚类和再组合,并通过槽值对对应的槽位进行填充,可以挖掘出更多可能的候选问题,丰富了知识库,使得智能机器人在与用户进行智能问答或聊天时,能够提供更多的候选问题供用户选择,也可以创造更多的话题,提高用户体验。

在其中一个实施例中,该智能问答问题的生成装置100还包括:

次数获取模块,用于从历史日志中获取同一问题被询问的次数;

问题抽取模块,用于当该问题被询问的次数超过预设次数时,从该历史日志中抽取对应的问题,得到第一基础问题集;

问题接收模块,用于接收用户输入和/或终端设备发送的问题,构成第二基础问题集;

组合模块,用于对该第一基础问题集和该第二基础问题集进行组合,得到该基础问题集。

其中,对所述第一基础问题集和所述第二基础问题集进行组合的方式可以是对所述第一基础问题集和所述第二基础问题集求并集,得到所述基础问题集。

可以理解的是,该第二基础问题集包括用户人工输入的基础问题,还可以包括其他终端设备发送的基础问题,该基础问题的类型可以是业务层面出现的问题和技术实现上出现的技术问题。

在其中一个实施例中,该问题被询问的预设次数例如为2次。表示当同一问题被询问的次数大于2次时,表示该问题为高频问题,将高频问题、用户输入的比较关注的问题和终端设备发送的业务方面强相关的问题列入到基础问题集中,使得根据该基础问题集挖掘出的问题与该高频问题、用户输入的比较关注的问题和终端设备发送的相关问题的关联性更高,使得根据本实施例挖掘出的问题更有意义。

在其中一个实施例中,该智能问答问题的生成装置100还包括:

筛选模块,用于通过预先训练的质检模型对得到的候选问题进行筛选,去除该候选问题中不属于问题的语句;

保存模块,用于将经过筛选后的候选问题保存在问题知识库中。

本实施例通过利用质检模型对根据基础问题挖掘出的候选语句进行筛选,可以剔除候选语句中不属于问题的语句,提高候选语句的挖掘质量,并将经过筛选后的所述候选问题保存在问题知识库中,使得智能机器人在与用户进行智能问答时,在需要给用户提供候选问题的场景中,能够提供更多的候选问题供用户选择,在智能聊天对话的场景中,也能制造更多的话题,提高用户体验。

在其中一个实施例中,该智能问答问题的生成装置100还包括:

样本获取模块,用于从网页资源中爬取正样本问题和负样本问题;

训练模块,用于通过该正样本问题和负样本问题对预先构建的二分类模型进行训练,得到训练好的该质检模型。

可以理解的是,正样本问题表示问题语句,负样本问题表示非问题语句。可以在网上公开的贴吧、论坛、其它项目的知识库中获取该正样本问题和负样本问题。本实施例中该其它项目的知识库应当理解为根据其它具有丰富历史日志数据得到的正样本问题和负样本问题。在其中一个实施例中,该正样本问题和负样本问题也可以通过人工输入得到。

在其中一个实施例中,该二分类模型可以选用BERT(Bidirectional EncoderRepresentation from Transformers)模型,也可以选用textCNN模型。

在其中一个实施例中,该智能问答问题的生成装置100还包括:

显示模块,用于显示经过筛选后的该候选问题;

该保存模块具体用于接收用户针对各候选问题的选择指令,将被选择的该候选问题保存在该问题知识库中。

本实施例在通过质检模型对得到的所述候选问题进行筛选的步骤之后,增加人工筛选的流程,可以进一步提高保存在知识库中候选问题的质量及有效性,以确保候选问题有意义,使得智能机器人在与用户进行智能问答时,给用户提供候选问题更符合对应的场景。

在其中一个实施例中,可以选用K-Means聚类算法对所述各个基础问题包含的槽位进行聚类。该聚类模块12具体包括:

中心点生成单元,用于根据用户输入的K值,生成K个聚类中心点;

距离计算单元,用于分别计算该槽位与每个该聚类中心点的欧氏距离;

归类单元,用于获取与该槽位相对应的欧氏距离最短的聚类中心点,将该槽位与该欧氏距离最短的该聚类中心点归为一类。

可以理解的是,欧氏距离表示与该聚类中心点对应的类别中各槽位之间的相似度,欧氏距离越短表示,表示该槽位与聚类中心点的相似度越大。

本实施例提供了一种通过聚类算法对所述各个基础问题包含的槽位进行聚类的可选方式,可以通过K-Means聚类算法对所述各个基础问题包含的槽位进行聚类,还可以通过其他聚类算法对所述各个基础问题包含的槽位进行聚类。

在该实施例中,还通过训练好的问题质检模型对得到的一系列候选问题进行验证,将这些候选问题中的非问题语句进行过滤,得到问题语句,降低了后期人工查验的工作量,丰富了知识库。最后从筛选出的候选问题语句中人工挑选出最终入库的问题语句,进行审核入库操作,可以进一步提高保存在知识库中候选问题的质量及有效性,以确保候选问题有意义,使得智能机器人在与用户进行智能问答时,给用户提供候选问题更符合对应的场景。

其中,上述术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式。

本实施例利用语言模型的语义角色标注工具对基础问题集进行角色识别,将槽位与对应槽值分离,对槽位进行聚类,得到各个类别,再对不同的类别进行组合,得到问题模板,然后将问题模板中包括的槽位对应类别的槽值分别进行填充,得到一系列的疑似问题,然后利用训练好的问题质检模型对得到的一系列疑似问题进行验证,将这些疑似问题中的非问题语句进行过滤,得到问题语句,最后通过人工审核,从得到的问题语句中挑选出最终入库的问题语句,进行审核入库操作。

本实施例根据已知的基础问题集得到尽可能多的候选问题,并通过问题质检模型对得到的一系列疑似问题进行过滤降低了人工查验的工作量,丰富了知识库,使得机器人在回答用户问题时,能够提供更多的候选问题供用户选择。

关于智能问答问题的生成装置的具体限定可以参见上文中对于智能问答问题的生成方法的限定,在此不再赘述。上述智能问答问题的生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部服务器通过网络连接通信。该计算机程序被处理器执行时以实现一种智能问答问题的生成方法。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中智能问答问题的生成方法的步骤,例如图2所示的步骤101至步骤105及该方法的其它扩展和相关步骤的延伸。或者,处理器执行计算机程序时实现上述实施例中智能问答问题的生成装置的各模块/单元的功能,例如图5所示模块11至模块15的功能。为避免重复,这里不再赘述。

所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。

所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。

所述存储器可以集成在所述处理器中,也可以与所述处理器分开设置。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中智能问答问题的生成方法的步骤,例如图2所示的步骤101至步骤105及该方法的其它扩展和相关步骤的延伸。或者,计算机程序被处理器执行时实现上述实施例中智能问答问题的生成装置的各模块/单元的功能,例如图5所示模块11至模块15的功能。为避免重复,这里不再赘述。

本实施例提出的智能问答问题的生成方法、装置、计算机设备及存储介质,利用语言模型的语义角色标注工具对基础问题集进行角色识别,将槽位与对应槽值分离,然后对槽位进行聚类,得到各个类别所对应的论元,再对不同的类别(或者说是论元)进行组合,得到问题模板,然后获取该问题模板中各类别包括的对应槽位,利用该槽位的槽值对该槽位进行填充,得到一系列的候选问题。本申请通过对已知的基础问题集中的问题语句进行槽位抽取、聚类和再组合,并通过槽值对对应的槽位进行填充,可以挖掘出更多可能的候选问题,丰富了知识库,使得智能机器人在与用户进行智能问答或聊天时,能够提供更多的候选问题供用户选择,也可以创造更多的话题,以丰富人机对话的场景。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

相关技术
  • 智能问答问题的生成方法、装置、计算机设备及存储介质
  • 一种智能问题生成方法、装置和计算机可读存储介质
技术分类

06120112923164