一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

问答对生成方法、装置、设备及存储介质与流程

2021-10-19 23:41:00 来源:中国专利 TAG: 答对 人工智能 别问 装置 生成


1.本技术涉及人工智能技术领域,特别涉及一种问答对生成方法、装置、设备及存储介质。


背景技术:

2.随着科技的发展,人工智能在众多领域起到了越来越重要的作用。智能交互是人工智能的一个重要领域,用户可以与具有智能交互功能的智能设备之间实现问答对话。例如,用户通过对智能设备进行文字输入、语音输入或图片输入等操作,向智能设备提出问题,然后智能设备基于接收到的问题,从问答库中查找到用户需要的答案,将答案以文字、语音或图片等形式反馈给用户。
3.目前,在构建问答库时,问答对的生成方法主要是针对某一特定领域,组织人力进行头脑风暴的问答对编写工作,然而,采用这种方法需要耗费大量的人力且耗时较长,导致问答对的生成效率低。


技术实现要素:

4.本技术实施例提供了一种问答对生成方法、装置、设备及存储介质,提高了问答对的生成效率。该技术方案如下:
5.一方面,提供了一种问答对生成方法,该方法包括:
6.获取目标问题集合,对该目标问题集合中的各个问题进行语义分类,得到第一问题集合和第二问题集合,该第一问题集合与数据库中已有问题的提问内容相似,该第二问题集合与该已有问题的提问内容不相似,该数据库用于存储目标领域的问答对;
7.对于该第一问题集合中的第一问题,从该数据库中获取第一候选问题集合;基于该第一候选问题集合生成第一问答对;其中,该第一问题与该第一候选问题集合的提问内容相似;
8.对于该第二问题集合中的第二问题,基于该目标领域的关键词组,从该第二问题集合中获取第二候选问题集合;基于该第二候选问题集合生成第二问答对。
9.另一方面,提供了一种问答对生成装置,该装置包括:
10.获取模块,用于获取目标问题集合,对该目标问题集合中的各个问题进行语义分类,得到第一问题集合和第二问题集合,该第一问题集合与数据库中已有问题的提问内容相似,该第二问题集合与该已有问题的提问内容不相似,该数据库用于存储目标领域的问答对;
11.第一问答对生成模块,用于对于该第一问题集合中的第一问题,从该数据库中获取第一候选问题集合;基于该第一候选问题集合生成第一问答对;其中,该第一问题与该第一候选问题集合的提问内容相似;
12.第二问答对生成模块,用于对于该第二问题集合中的第二问题,基于该目标领域的关键词组,从该第二问题集合中获取第二候选问题集合;基于该第二候选问题集合生成
第二问答对。
13.在一种可选地实现方式中,该第一问答对生成模块用于:
14.显示第一页面,该第一页面上包括该第一候选问题集合;
15.响应于针对该第一候选问题集合中第一候选问题的选中操作,从该数据库中获取与该第一候选问题匹配的第一候选答案;
16.基于该第一问题和该第一候选答案,生成第一问答对。
17.在一种可选地实现方式中,该第二问答对生成模块用于:
18.显示第二页面,该第二页面上包括该第二候选问题集合;
19.响应于针对该第二候选问题集合中第二候选问题的选中操作,调用筛选接口,从第三方获取与该第二候选问题匹配的第二候选答案;
20.基于该第二候选问题和该第二候选答案,生成该第二问答对。
21.在一种可选地实现方式中,该第二问答对生成模块用于:
22.显示第二页面,该第二页面上包括该第一候选问题集合;
23.响应于针对该第二候选问题集合中第二候选问题的选中操作,将输入的答案编辑内容作为与该第二候选问题匹配的第二候选答案;
24.基于该第二候选问题和该第二候选答案,生成第二问答对。
25.在一种可选地实现方式中,该获取模块用于:
26.基于该目标领域的线上日志,获取该目标问题集合;
27.对于该目标问题集合中的任意一个问题,获取该任意一个问题与该已有问题之间的语义相似度;
28.响应于获取到的语义相似度处于第一区间,将该任意一个问题添加到该第一问题集合中;
29.响应于获取到的语义相似度处于第二区间,将该任意一个问题添加到该第二问题集合中。
30.在一种可选地实现方式中,该第一问答对生成模块用于:
31.基于该第一问题,从该数据库中获取第三候选问题集合;其中,该第一问题与该第三候选问题集合的提问内容相似;
32.获取该第一问题与该第三候选问题集合中各个问题之间的语义相似度;对获取到的语义相似度进行由大到小的排序;
33.根据该语义相似度排序在前n位的问题,生成该第一候选问题集合,n为正整数。
34.在一种可选地实现方式中,该第二问答对生成模块包括:
35.第一获取单元,用于获取该目标领域的关键词组;
36.第二获取单元,用于基于该关键词组,从该第二问题集合中获取第四候选问题集合;
37.筛选单元,用于调用筛选接口,筛选该第四候选问题集合中满足目标条件的问题;
38.生成单元,用于根据该第四候选问题集合中满足该目标条件的问题,生成该第二候选问题集合。
39.在一种可选地实现方式中,该第一获取单元用于:
40.在该数据库中确定候选词组,获取该候选词组中各个词语的词频;
41.根据该各个词语的词频,在该候选词组中确定候选词;
42.将该候选词组中包括该候选词的候选词组,作为该关键词组。
43.在一种可选地实现方式中,对于该第四候选问题集合中的任意一个问题,该目标条件包括以下任意一项:
44.该任意一个问题出现在第五候选问题集合中,其中,该第五候选问题集合是基于该筛选接口获取到的;
45.基于该筛选接口获取到该任意一个问题的答案;
46.基于该筛选接口获取到第六候选问题集合,该任意一个问题与该第六候选问题集合的提问内容相似。
47.在一种可选地实现方式中,该装置还包括:
48.存储模块,用于将该第一问答对和该第二问答对存储至该数据库。
49.在一种可选地实现方式中,该装置还包括:
50.训练模块,用于基于训练语料对问题分类模型进行训练,该训练语料中包括该第一问答对和该第二问答对,该问题分类模型用于对问题进行语义分类。
51.另一方面,提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器用于存储至少一条计算机程序,该至少一段计算机程序由该处理器加载并执行以实现本技术实施例中的问答对生成方法中所执行的操作。
52.另一方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行以实现如本技术实施例中问答对生成方法中所执行的操作。
53.另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该计算机设备执行上述各种可选实现方式中提供的问答对生成方法。
54.本技术实施例提供的技术方案带来的有益效果是:
55.在本技术实施例中,提供了一种自动的问答对生成方法,详细来说,在生成某一个领域的问答对时,首先采用语义分类的方式对收集到的问题进行分类,得到两个问题集合;然后,针对这两个问题集合中的问题分别进行不同的处理,最终基于该领域的关键词组和数据库,生成了与这两个问题集合匹配的两类问答对。该种对问题进行分类处理的方式,能够有针对性地生成高质量的问答对;另外,由于生成问答对的过程基本实现了全自动化,因此极大提高了问答对的生成效率,能够快速完成新建任意领域的问答库的任务或对已有问答库进行补充挖掘的任务。
附图说明
56.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
57.图1是根据本技术实施例提供的一种问答对生成方法的实施环境示意图;
58.图2是根据本技术实施例提供的一种问答对生成方法的流程图;
59.图3是根据本技术实施例提供的另一种问答对生成方法的流程图;
60.图4是根据本技术实施例提供的一种对目标问题集合中的问题进行语义分类的示意图;
61.图5是根据本技术实施例提供的一种相似问题学习页面的示意图;
62.图6是根据本技术实施例提供的一种获取关键词组的流程示意图;
63.图7是根据本技术实施例提供的一种关键词组的示意图;
64.图8是根据本技术实施例提供的一种基于关键词组获取问题的示意图;
65.图9是根据本技术实施例提供的一种可能的显示页面的示意图;
66.图10是根据本技术实施例提供的另一种可能的显示页面的示意图;
67.图11是根据本技术实施例提供的另一种可能的显示页面的示意图;
68.图12是根据本技术实施例提供的一种基于筛选接口进行远程监督的示意图;
69.图13是根据本技术实施例提供的一种未知问题学习页面的示意图;
70.图14是根据本技术实施例提供的一种问答对生成方法的示意图;
71.图15是根据本技术实施例提供的一种候选数据处理效果示意图;
72.图16是根据本技术实施例提供的一种线上运行效果示意图;
73.图17是根据本技术实施例提供的一种问答对生成装置的框图;
74.图18是根据本技术实施例提供的终端的结构框图。
具体实施方式
75.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
76.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
77.本技术中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。
78.这些术语只是用于将一个元素与另一个元素区别开。例如,在不脱离各种示例的范围的情况下,第一问题能够被称为第二问题,并且类似地,第二问题也能够被称为第一问题。第一问题和第二问题都可以是问题,并且在某些情况下,可以是单独且不同的问题。
79.其中,至少一个是指一个或一个以上,例如,至少一个问题可以是一个问题、两个问题、三个问题等任意大于等于一的整数个问题。而多个是指两个或者两个以上,例如,多个问题可以是两个问题、三个问题等任意大于等于二的整数个问题。
80.下面简单介绍一下本技术实施例提供的问答对生成方案可能用到的技术。
81.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理
论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
82.自然语言处理(natural language processing,nlp)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
83.机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
84.深度学习是机器学习的核心部分,其通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。其中,深度学习是机器学习领域中一个新的研究方向。
85.随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
86.下面对本技术实施例可能涉及到的一些关键术语或缩略语进行介绍。
87.ai产品:利用ai技术开发得到的人工智能产品,能够与用户进行智能交互,例如,ai产品与用户之间能够实现问答对话、基于用户的指令与用户进行感官上的交互等。可选地,该ai产品为智能机器人、智能问答平台或是智能问答系统等等。
88.问答对:带有一定知识性的一问一答,也称为qa(question and answer)。
89.用户搜索语句(query):包括用户的语音、文字、图片输入。
90.召回:基于输入的query,在数据库中匹配与之相似或相同的问题。
91.实体:用于表示一个概念的基本单位。
92.例如,针对“十万个为什么”这一领域生成问答对时,要在已有数据库中召回相关的问题,则需要获取该领域的相关关键词,也就是实体,比如,为什么,为啥,为何等等,然后用这些关键词去召回问题。示例性地,“为什么”这个实体可以召回所有包含为什么的问题,如“为什么吸烟有害健康”、“为什么人们屋前不种桑树”、“叶子为什么会落叶”、“为什么红酒要醒酒”、“为什么百香果不开花”、“为什么万钧剑”、“为什么头疼”等等。
93.兜底:指的是在任务型对话下,ai产品无法识别某一query的意图,所以会采用问答或者闲聊的方式去回答,使得ai产品更加智能。在问答对的建设过程中,问答对的数量和质量尤为重要。在开发ai产品的过程中,兜底逻辑的建设往往是决定产品智能化程度的关键。因为在用户的体验过程中,中规中矩的问题,比如:“xx,今天天气怎么样”,完全不能满
足用户的好奇心和ai交流的欲望。用户往往会问一些比较奇特的问题或者带有知识性的问题,比如:“xx,为什么雨后会有彩虹”,“xx,为什么早上起床身高会增长”,“xx,为什么会签订尼布楚条约”。如果这种用户的问题回答不了,往往显得这种ai智能产品不太智能,也会让用户对ai产品失去兴趣,不再想与之互动和体验。由此可见,兜底逻辑的建设对一款ai产品有着无可比拟的重要性。
94.闲聊(chat):指的是用户说的无特别意图的话,ai产品需要机智地与用户互动聊天。
95.bert(bidirectional encoder representat-ions fromtransformers,基于变换器的双向编码表征)模型:一种语言表示模型,利用大规模无标注语料训练,以获得文本的包含丰富语义信息的语义表示,然后将文本的语义表示在特定nlp任务中作微调,最终应用于该nlp任务。
96.es(elasticsearch):一种搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎。其用于云计算中,能够达到实时搜索,且稳定、可靠、快速,安装使用方便。
97.hive:一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在hadoop(一种分布式系统基础架构)中的大规模数据的机制。
98.tf-idf(term frequency-inverse document frequency,词频-逆文本频率指数):一种统计方法,用以评估一个字词对于一个文件集或一个语料库中的其中一份文件的重要程度。其中,字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。tf-idf加权的各种形式常被搜索引擎应用,作为文件与用户查询之间相关程度的度量或评级。
99.topmine算法:一种开源的关键词挖掘算法。
100.阿尔法-贝塔(alpha-beta)算法:一种剪枝算法,用于裁剪搜索树中没有意义的不需要搜索的树枝,以提高运算速度。
101.过滤器(filter):用于对信息进行过滤,实现代码的定向执行和预处理。
102.下面对本技术实施例提供的问答对生成方法的实施环境进行介绍。
103.本技术实施例提供的问答对生成方法应用于计算机设备。示例性地,该计算机设备表现为开发人员所使用的终端。
104.示例性地,图1是根据本技术实施例提供的问答对生成方法的实施环境示意图。该实施环境包括:终端101和服务器102。
105.在本技术实施例中,开发人员能够基于终端101进行ai产品的开发工作,其中,该ai产品能够应用于某一具体领域,且具有与用户进行智能对话的功能。例如,开发人员需要针对“十万个为什么”领域,开发一种能够与用户之间进行问答交互的ai产品,则开发人员需要通过终端101构建与该领域所匹配的问答库,以实现该ai产品所需具备的问答交互功能。
106.另外,开发人员能够在终端101上执行问题确认操作和答案编辑操作等,以对所开发的ai产品进行优化。例如,终端101显示问题确认页面,该页面上显示由ai产品学习出的可能存在答案的候选问题,然后开发人员通过点击操作,确认候选问题中确实存在答案的问题。另外,开发人员还能够在该页面上执行答案编辑操作,以生成与该问题对应的答案。
107.可选地,终端101是智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限
于此。可选地,终端101泛指多个终端中的一个,本技术实施例仅以终端101来举例说明。本领域技术人员能够知晓,上述终端101的数量能够更多。比如上述终端101为几十个或几百个,或者更多数量,此时上述问答对生成方法的实施环境还包括其他终端。本技术实施例对终端的数量和类型不加以限定。
108.可选地,服务器102能够是独立的物理服务器,也能够是多个物理服务器构成的服务器集群或者分布式系统,还能够是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器102用于为终端101提供数据获取、数据处理以及数据存储等服务。
109.可选地,在问答对生成过程中,服务器102承担主要计算工作,终端101承担次要计算工作;或者,服务器102承担次要计算工作,终端101承担主要计算工作;或者,服务器102或终端101分别能够单独承担计算工作。
110.另外,终端101和服务器102能够通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
111.可选地,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也能够是任何网络,包括但不限于局域网(local area network,lan)、城域网(metropolitan area network,man)、广域网(wide area network,wan)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(hyper text mark-up language,html)、可扩展标记语言(extensible markup language,xml)等的技术和/或格式来代表通过网络交换的数据。此外还能够使用诸如安全套接字层(secure socket layer,ssl)、传输层安全(transport layer security,tls)、虚拟专用网络(virtual private network,vpn)、网际协议安全(internet protocol security,ipsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还能够使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
112.示例性地,本技术实施例提供的问答对生成方法的应用场景包括但不限于:
113.场景一、新建任意领域的问答库
114.开发人员在新建一个领域的问答库时,需要大量符合该领域的问答对,只有问答库中存在大量的问答对以后,ai产品才能从问答库中更好地匹配到符合条件的答案并反馈给用户。例如,开发人员针对“十万个为什么”领域需要构建问答库,则开发人员需要大量与“十万个为什么”相关的问题和答案。
115.可以理解的是,本技术实施例所提供的问答对生成方法能够应用于任意领域,而并不局限于上述示例的领域。换言之,基于本技术实施例提供的问答对生成方法,能够新建任意领域的问答库。
116.场景二、对已有问答库的挖掘补充
117.开发人员在已有问答库的基础上,可能需要及时更新和扩充问答库中的问答对,以使得问答库能够尽可能地覆盖某一领域所涉及到的所有问题和答案。例如,在体育领域的已有问答库中存储有以下问答对:问题为“下一届奥运会的举办国家是什么”,答案为“xx国”,随着时间的推移,当该xx国举办过奥运会后,该问题就需要及时更新,以符合当下的事实。
118.图2是根据本技术实施例提供的一种问答对生成方法的流程图,如图2所示,本技术实施例以应用于开发人员所使用的终端为例进行说明。该方法包括以下步骤:
119.201、获取目标问题集合,对该目标问题集合中的各个问题进行语义分类,得到第一问题集合和第二问题集合,该第一问题集合与数据库中已有问题的提问内容相似,该第二问题集合与已有问题的提问内容不相似。
120.在本技术实施例中,目标问题集合中的问题是指目标领域的ai产品在线上运行过程中,所接收到的用户输入的问题。
121.目标领域是指需要生成问答对的领域。例如,该目标领域为在线课堂领域,基于该在线课堂领域所开发的ai产品能够及时回答学生所提出的学术问题,或,及时回答老师所提出的教学问题,等等。再例如,该目标领域为知识百科领域,基于该知识百科领域所开发的ai产品能够及时回答用户所提出的百科问题。等等。本技术实施例对于目标领域的类型不作限定。
122.第一问题集合是指目标领域的ai产品在线上运行过程中,没有给用户输出答案的一类问题,且数据库中存在的已有问题的提问内容与这类问题相似。其中,第一问题集合也称为相似问题集合。
123.第二问题集合是指目标领域的ai产品在线上运行过程中,没有给用户输出答案的一类问题,且数据库中的已有问题的提问内容与这类问题不相似。这类问题为ai产品无法识别的问题,或属于目标领域的新知识,也即是,这类问题可能属于目标领域,也可能是用户随意输入的与目标领域毫无关系的问题。其中,第二问题集合也称为未知问题集合。
124.数据库用于存储目标领域的问答对。可选地,数据库为目标领域的问答库,仅用于存储目标领域的问答对。可选地,数据库中还可以存储多个领域的问答对。本技术实施例对于数据库的形式不作限定。
125.202、对于第一问题集合中的第一问题,从数据库中获取第一候选问题集合;基于该第一候选问题集合生成第一问答对;其中,第一问题与第一候选问题集合的提问内容相似。
126.在本技术实施例中,第一候选集合中的第一候选问题是指在数据库中,提问内容与第一问题相似的一类已有问题。第一问答对包括第一问题和与之匹配的答案。
127.203、对于第二问题集合中的第二问题,基于目标领域的关键词组,从第二问题集合中获取第二候选问题集合;基于该第二候选问题集合生成第二问答对。
128.在本技术实施例中,关键词组是指目标领域中常用的词组或是目标领域中重要的词组。第二候选集合中的第二候选问题是指可能属于目标领域的一类第二问题。第二问答对包括第二候选问题和与之匹配的答案。
129.在本技术实施例中,提供了一种自动的问答对生成方法,在生成某一个领域的问答对时,首先采用语义分类的方式对收集到的问题进行分类,得到两个问题集合;然后,针对这两个问题集合中的问题分别进行不同的处理,最终基于该领域的关键词组和数据库,生成了与这两个问题集合匹配的两类问答对。该种对问题进行分类处理的方式,能够有针对性地生成高质量的问答对;另外,由于生成问答对的过程基本实现了全自动化,因此极大提高了问答对的生成效率,能够快速完成新建任意领域的问答库的任务或对已有问答库进行补充挖掘的任务。
130.图2所示仅为本技术实施例提供的问答对生成方法的简要流程,下面结合图3,对本技术实施例提供的问答对生成方法进行具体说明。
131.图3是根据本技术实施例提供的另一种问答对生成方法的流程图,如图3所示,本技术实施例以应用于开发人员所使用的终端为例进行说明。该方法包括以下步骤:
132.301、基于目标领域的线上日志,获取目标问题集合。
133.在本技术实施例中,线上日志是指目标领域的ai产品在线上运行时的日志信息,包括该ai产品所接收到的用户输入的问题、基于用户输入的问题所输出的答案,等等。其中,用户的输入包括但不限于文字、图片和语音输入,ai产品的输出包括但不限于文字、图片和语音输出,本技术实施例对此不作限定。
134.可选地,终端向服务器发送线上日志获取请求,该线上日志获取请求中携带目标领域的领域标识,服务器基于接收到的线上日志获取请求,将属于目标领域的线上日志发送至终端,然后终端基于所接收到的线上日志,从中提取出目标问题集合。
135.可选地,终端向服务器发送目标问题集合获取请求,该目标问题集合获取请求中携带目标领域的领域标识,服务器基于接收到的目标问题集合获取请求,在目标领域的线上日志中提取出目标问题集合,然后将该目标问题集合发送给终端。
136.本技术实施例对于终端获取目标问题集合的方式不作限定。
137.302、对该目标问题集合中的各个问题进行语义分类,得到第一问题集合和第二问题集合,该第一问题集合与数据库中已有问题的提问内容相似,该第二问题集合与已有问题的提问内容不相似,该数据库用于存储目标领域的问答对。
138.在本技术实施例中,终端基于问题分类模型,对目标问题集合中的各个问题进行语义分类。可选地,问题分类模型为bert相似性打分模型,用于对两个问题之间的相似性进行打分。
139.下面对本步骤的具体实现方式进行说明,包括以下步骤3021和步骤3022:
140.3021、对于该目标问题集合中的任意一个问题,获取该任意一个问题与已有问题之间的语义相似度。
141.在本技术实施例中,终端将目标问题集合中的任意一个问题输入到检索引擎中,检索引擎基于接收到的问题,在数据库中召回与之相似度最高的已有问题,然后终端将该任意一个问题和该召回的已有问题输入到问题分类模型中,由该问题分类模型对这两个问题进行语义分析,以得到两个问题之间的语义相似度。可选地,检索引擎为hive或es,本技术实施例对此不作限定。
142.可选地,语义相似度表现为分数,由bert相似性打分模型对目标问题集合中任意一个问题与已有问题进行语义分析,对两个问题之间的相似性进行打分,以得到两个问题之间的语义相似度。
143.例如,目标问题集合中的一个问题为“为什么雨后会有彩虹”,在数据库中召回的已有问题为“为什么雨后会出现彩虹”,则bert相似性打分模型对这两个问题之间的相似性进行打分,得到语义相似度为0.9。
144.再例如,目标问题集合中的一个问题为“为什么雨后会有彩虹”,在数据库中召回的已有问题为“为什么彩虹会出现在下过雨之后”,则bert相似性打分模型对这两个问题之间的相似性进行打分,得到语义相似度为0.7。
145.又例如,目标问题集合中的一个问题为“为什么雨后会有彩虹”,在数据库中召回的已有问题为“为什么下雨”,则bert相似性打分模型对这两个问题之间的相似性进行打分,得到语义相似度为0.5。
146.3022、响应于获取到的语义相似度处于第一区间,将该任意一个问题添加到第一问题集合中;响应于获取到的语义相似度处于第二区间,将该任意一个问题添加到第二问题集合中。
147.在本技术实施例中,第一区间与第二区间为终端预先设置的两个区间,用于基于语义相似度,区分问题的类型。终端获取到语义相似度之后,确定该语义相似度所处的区间,基于该语义相似度所处的区间,将该语义相似度所对应的问题添加到对应的问题集合中。
148.可选地,第一区间与第二区间表现为分数区间。例如,第一区间为0.6至0.8,包括0.6和0.8,第二区间为小于0.6。若终端获取到的一个语义相似度为0.7,则将与该语义相似度对应的问题添加到第一问题集合中;若终端获取到的一个语义相似度为0.5,则将与该语义相似度对应的问题添加到第二问题集合中。需要说明的是,本技术实施例对于第一区间和第二区间的取值不作限定。
149.下面结合图4,对本步骤进行示例性的说明,如图4所示,目标领域的ai产品在线上运行时,当接收到用户输入的问题后,由bert相似性打分模型对该问题与已有问题之间的相似性进行打分,整个打分区间为0至1。当该问题的分数大于0.8时,向用户直接输出答案;当该问题的分数处于0.6至0.8时,说明在数据库中存在与该问题相似的已有问题,只是两者之间的语义相似度还未达到线上输出答案的要求,将该问题称为相似问题;当该问题的分数小于0.6时,说明在数据库中不存在与该问题相似的已有问题,bert相似性打分模型无法识别该问题,或是无法给出较高的分数,将该问题称为未知问题。
150.303、对于第一问题集合中的第一问题,从数据库中获取第一候选问题集合,其中,该第一问题与该第一候选问题集合的提问内容相似。
151.在本技术实施例中,根据上述说明可知,在数据库中能够找到提问内容与上述第一问题相似的已有问题,在本步骤中,终端基于第一问题,从数据库中召回与之相似的一类已有问题,得到第一候选问题集合。
152.可选地,本步骤详细包括以下步骤3031至步骤3034:
153.3031、基于该第一问题,从数据库中获取第三候选问题集合;其中,该第一问题与该第三候选问题集合的提问内容相似。
154.在本技术实施例中,终端将第一问题集合中的每个第一问题分别输入到检索引擎中,检索引擎基于接收到的每个第一问题,在数据库中分别召回目标数量的已有问题,得到与每个第一问题所匹配的第三候选问题集合。其中,检索引擎在召回时,会以第一问题与已有问题之间的字符匹配情况,对第一问题与已有问题之间的相似度进行评分,并按照分数高低进行排序。
155.可选地,终端预先设置目标数量,例如,将目标数量设置为20,也即是检索引擎基于接收到的一个第一问题,在数据库中召回与该第一问题之间的相似度评分排序在前20位的已有问题。例如,第一问题为“为什么到xxxx上市”,检索引擎在数据库中召回20个提问内容与之相似的已有问题,包括“为什么去xxxx上市”、“为什么在xxxx上市
”……“
为什么要在
xxxx上市”等20个已有问题,这20个已有问题即为第三候选问题集合。
156.3032、获取该第一问题与该第三候选问题集合中各个问题之间的语义相似度。
157.在本技术实施例中,终端基于问题分类模型,对每个第一问题和与之匹配的第三候选问题集合中的各个问题进行语义分析,得到语义相似度。例如,一个第一问题所匹配的一个第三候选问题集合中有20个已有问题,则终端基于bert相似性打分模型,对该第一问题与该20个已有问题之间的相似性进行打分,得到该第一问题的20个语义相似度。
158.3033、对获取到的语义相似度进行由大到小的排序。
159.3034、根据语义相似度排序在前n位的问题,生成第一候选问题集合,n为正整数。
160.在本技术实施例中,终端基于第一问题的语义相似度的排序,获取排序在前n位的语义相似度所对应的已有问题,将这n个已有问题生成第一候选问题集合。例如,第三候选集合中有20个已有问题,n为5,终端获取到第一问题的20个语义相似度,进行由大到小的排序,最终将排序在前5位的已有问题生成第一候选问题集合。
161.需要说明的是,上述步骤3031至步骤3033是本步骤303中提供的一种可能的实现方式,也即是,终端基于第一问题,通过检索引擎进行粗召回,得到目标数量的已有问题,然后再基于问题分类模型,获取第一问题与这些已有问题之间的语义相似度,最终筛选出n个已有问题作为第一候选问题集合。
162.在一些实施例中,终端能够基于第一问题,通过检索引擎进行粗召回,得到目标数量的已有问题,然后直接将这些已有问题作为第一候选问题集合。本技术实施例对于获取第一候选问题集合的方式不作限定。
163.304、基于该第一候选问题集合生成第一问答对。
164.在本技术实施例中,第一问题与第一候选问题集合的提问内容是相似的,说明第一问题的答案与该集合所匹配的答案也是相似的,第一候选问题集合是从数据库中获取到的已有问题,说明这类已有问题在数据库中存在与之匹配的答案,因此,终端能够基于第一候选问题集合中的已有问题,直接得到第一问题的答案,以生成第一问答对。
165.下面对本步骤的实现方式进行详细说明,包括以下步骤3041至步骤3043:
166.3041、显示第一页面,该第一页面上包括该第一候选问题集合。
167.在本技术实施例中,终端响应于开发人员在目标页面上,对第一页面显示控件的点击操作,显示第一页面,在该第一页面上包括第一候选问题集合。其中,目标页面用于提供对ai产品的各项开发功能。
168.参考图5,图5所示为相似问题学习页面,也即是第一页面,图5中左边所示的各项功能控件用于提供对ai产品的各项开发功能,开发人员能够通过点击不同的功能控件来切换页面,以实现不同的开发功能。图5中所示的相似问题学习页面即为开发人员通过对“相似问题学习”控件的点击操作而获取到的。
169.在该相似问题学习页面上,“待关联的问法”即为本技术实施例所述的“第一问题”,也即是“相似问题”,“推荐的标准问题”即为本技术实施例所述的“第一候选问题集合”。其中,各个相似问题按照线上出现次数进行排序。
170.需要说明的是,图5所示的相似问题学习页面仅为示意性的,在实际应用中,该页面的布局能够根据开发人员的需求进行调整,该页面上的功能控件也能够根据开发人员的需求进行设置,本技术实施例对于相似问题学习页面的显示形式不作限定。
171.3042、响应于针对该第一候选问题集合中第一候选问题的选中操作,从数据库中获取与该第一候选问题匹配的第一候选答案。
172.在本技术实施例中,终端响应于开发人员在第一页面上,对第一候选问题集合中第一候选问题的选中操作,获取该第一候选问题,然后将该第一候选问题输入到检索引擎中,由检索引擎在数据库中获取与该第一候选问题所匹配的第一候选答案。
173.例如,继续参考图5,图中“待关联的问法”为“为什么到xxxx上市”,“推荐的标准问题”一共有5个,包括:“为什么去xxxx上市”、“为什么在xxxx上市”、“为什么要在xxxx上市”、“为什么需要去xxxx上市”以及“为什么选择在xxxx上市”。开发人员在该相似问题学习页面上,对“为什么去xxxx上市”这一问题进行选中操作,终端响应于该选中操作,从数据库中获取到与该问题匹配的答案“因为xxxx的aa更好”。
174.3043、基于该第一问题和该第一候选答案,生成第一问答对。
175.在本技术实施例中,第一问题与第一候选问题集合是相对应的,开发人员在基于上述步骤3042选中第一候选问题后,即认为该第一问题的答案与该第一候选问题的答案是相同的。终端基于该第一问题和上述步骤3042中获取到的第一候选答案,生成第一问答对。
176.例如,继续参考图5,图5中“待关联的问法”为“为什么到xxxx上市”,开发人员选中的问题是“为什么去xxxx上市”,终端获取到的第一候选答案为“因为xxxx的aa更好”。基于此,终端将“为什么到xxxx上市”与“因为xxxx的aa更好”生成第一问答对。
177.通过上述步骤303至步骤304,终端基于第一问题集合中的各个第一问题,在数据库中挖掘出与各个第一问题之间相似的已有问题,并将这类已有问题显示于第一页面上,以供开发人员进行绑定,而这类已有问题的答案都是现有的,只要开发人员绑定了与第一问题所对应的已有问题,就能自动获得该第一问题的答案,极大提高了问答对的生成效率。
178.305、获取该目标领域的关键词组。
179.在本技术实施例中,关键词组是指目标领域中常用的词组或是目标领域中重要的词组。下面对获取目标领域的关键词组的具体实现方式进行说明,包括以下步骤3051至步骤3053:
180.3051、基于数据库中的已有问题,确定候选词组,获取该候选词组中各个词语的词频。
181.在本技术实施例中,终端从数据库中获取目标领域的已有问题,通过词组挖掘算法,获取到候选词组,对于这类候选词组,通过剪枝算法进行初步筛选,然后基于初步筛选后的候选词组,通过词频统计算法,获取候选词组中各个词语的词频。可选地,上述词组挖掘算法为开源的topmine算法,上述剪枝算法为alpha-beta算法,上述词频统计算法为tf-idf算法。本技术实施例对于上述涉及到的算法不作限定。
182.3052、根据各个词语的词频,在该候选关键词组中确定候选词。
183.在本技术实施例中,终端基于各个词语的词频,将符合词频阈值的词语作为候选词。可选地,终端预先设置词频阈值,需要说明的是,针对不同的目标领域,词频阈值能够根据开发人员的需求进行设置,本技术实施例对于词频阈值的取值不作限定。
184.3053、将该候选词组中包括该候选词的候选词组,作为关键词组。
185.在本技术实施例中,终端基于从上述步骤3052中获取到的候选词,通过过滤器,对候选词组进行反向筛选,也即是,将候选词组中包括候选词的候选词组,确定为关键词组。
可选地,过滤器为filter。例如,基于上述步骤3051获取到的候选词组有“学生观看”、“老师观看”、“学生设备”以及“设备设置”,基于上述步骤3052获取到的候选词为“学生”和“老师”,则基于本步骤3053获取到的关键词组为“学生观看”、“老师观看”以及“学生设备”。
186.下面结合图6和图7对本步骤的具体实现方式进行说明:
187.参考图6,图6是根据本技术实施例提供的一种获取关键词组的流程示意图,如图6所示,针对目标领域,从数据库中获取到该目标领域的已有问题,然后采用topmine算法进行词组挖掘,得到候选词组,对候选词组通过alpha-beta剪枝算法进行初步筛选后,采用tf-idf算法对候选词组中各个词语的词频进行统计,以得到候选词,最终采用filter过滤器,对候选词组进行反向筛选,得到如图7所示的关键词组。
188.306、对于该第二问题集合中的第二问题,基于该目标领域的关键词组,从该第二问题集合中获取第二候选问题集合。
189.在本技术实施例中,根据上述说明可知,在数据库中没有提问内容与上述第二问题相似的已有问题,这类问题可能是目标领域的新知识,也可能根本不属于目标领域。在本步骤中,终端基于目标领域的关键词组,对这类问题进行筛选,以得到第二候选问题集合,该第二候选问题集合中的问题即为可能属于目标领域的问题。
190.下面对本步骤的具体实现方式进行详细说明,包括以下步骤3061至步骤3063:
191.3061、基于该目标领域的关键词组,从该第二问题集合中获取第四候选问题集合。
192.在本技术实施例中,终端将关键词组输入到检索引擎中,检索引擎基于接收到的关键词组,在第二问题集合中进行匹配,并将匹配到的第二问题反馈给终端,也即得到第四候选问题集合。其中,第四候选问题集合的问题为经过初步筛选后所得到的可能属于目标领域的问题。具体可参考图8,如图8所示,例如,关键词组为“学生观看”,通过将该关键词组在待挖掘语料中进行匹配,得到正样本“如何查看学生观看时长”,再例如,关键词组为“老师注册”,通过将该关键词组在待挖掘语料中进行匹配,得到正样本“老师如何完成课堂注册”,其中,正样本是指匹配到的语料确实属于目标领域。
193.3062、调用筛选接口,筛选该第四候选问题集合中满足目标条件的问题。
194.在本技术实施例中,终端基于上述步骤3061获取到第四候选问题集合,但这一集合中有可能存在一些问题并不是人的话术,或者不会存在相应的答案。例如,第四候选问题集合中的某一问题为“要观看琵琶学生山水”,这句话虽然含有关键词组“学生观看”,但是这句话并不是人说的通顺的话,再例如,第四候选集合中的某一问题为“小学三年级”,这句话虽然含有关键词组“小学年级”,但是这句话实际并不是一个问题,并不存在答案。
195.因此,在本步骤中,终端调用筛选接口,对第四候选问题集合中的问题进行进一步筛选,以确定这些问题是否为人的话术,以及这些问题是否有答案。其中,筛选接口能够对用户所输入的问题进行智能补全、相似推荐以及获取与该问题匹配的答案。
196.可选地,该筛选接口为开源的接口,例如,该筛选接口为suggestion接口,是对用户所输入的搜索语句的智能补全和建议接口。
197.下面对本步骤中的目标条件进行具体说明,对于第四候选问题集合中的任意一个问题,目标条件包括以下任意一种情况:
198.情况一:任意一个问题出现在第五候选问题集合中;其中,该第五候选问题集合是基于筛选接口获取到的。
199.终端基于筛选接口,输入该任意一个问题,能够获取到一个与之对应的第五候选问题集合,若该第五候选问题集合中包含该任意一个问题,则确定该任意一个问题满足目标条件。
200.具体可参考图9来理解情况一,图9所示为筛选接口在接收到用户所输入的问题后一种可能的显示页面。如图9所示,例如,该任意一个问题为“电脑没有声音怎么办”,基于筛选接口获取到的第五候选问题集合包括“电脑没有声音”、“电脑没有声音怎么办”、“电脑没有声音是怎么回事”以及“电脑没有声音是什么原因”。这种情况下,该任意一个问题出现在了第五候选问题集合中,则该任意一个问题满足目标条件。
201.情况二:基于筛选接口获取到该任意一个问题的答案。
202.终端基于筛选接口,输入该任意一个问题,能够获取到一个与之对应的答案,则确定该任意一个问题满足目标条件。
203.具体可参考图10来理解情况二,图10所示为筛选接口在接收到用户所输入的问题后另一种可能的显示页面。如图10所示,例如,该任意一个问题为“电脑没有声音怎么办”,在该页面上直接显示有该任意一个问题的答案。
204.情况三:基于筛选接口获取到第六候选问题集合,该任意一个问题与该第六候选问题集合的提问内容相似。
205.终端基于筛选接口,输入该任意一个问题,能够获取到一个与之对应的第六候选问题集合,终端基于问题分类模型,获取该任意一个问题和第六候选问题集合中的问题之间的语义相似度,响应于获取到的任意一个语义相似度满足相似阈值,则该任意一个问题满足目标条件。例如,该相似阈值为0.6,本技术实施例对此不作限定。
206.具体可参考图11来理解情况三,图11所示为筛选接口在接收到用户所输入的问题后另一种可能的显示页面。如图11所示,例如,该任意一个问题为“电脑没有声音怎么办”,基于筛选接口获取到的第六候选问题集合包括“电脑没有声音怎么解决”、“不知道为什么电脑不会发出声音”以及“也许电脑没有声音吧”。这种情况下,终端获取该任意一个问题和这三个问题之间的语义相似度,所得到的语义相似度分别为0.8、0.7以及0.5,其中,相似阈值为0.6,则该任意一个问题满足目标条件。
207.3063、根据该第四候选问题集合中满足目标条件的问题,生成该第二候选问题集合。
208.终端基于上述步骤3061和步骤3062,从第四候选问题集合中筛选出符合目标条件的问题,得到第二候选问题集合。
209.另外,具体可参考图12理解本步骤的具体实现方式。如图12所示,对于第四候选问题集合,调用筛选接口对该集合中的问题进行筛选,其中,“子集包含”对应于上述步骤3062中的情况一,“有回答或图谱答案”对应于上述步骤3062中的情况二,“以上都否但相似阈值>0.6”对应于上述步骤3062中的情况三,若第四候选问题集合中某一问题对于上述三种情况都不符合,则筛选掉该问题。
210.需要说明的是,上述步骤3062和步骤3063为本步骤提供的一种可能的实现方式。在一些实施例中,终端仅执行步骤3061,即通过检索引擎从第二问题集合中获取第四候选问题集合,该第二候选问题集合也即是第二候选问题集合。本技术实施例对于第二候选问题集合的获取方式不作限定。
211.307、基于该第二候选问题集合生成第二问答对。
212.在本技术实施例中,终端对第二问题集合中的问题进行筛选后,得到了第二候选问题集合,该第二候选集合问题中的问题为可能属于目标领域的第二问题。这类第二问题中有的问题能够通过筛选接口直接获取答案,有的则需要人工编辑生成答案。
213.下面对本步骤的实现方式进行详细说明,包括以下步骤3071至步骤3073:
214.3071、显示第二页面,该第二页面上包括该第二候选问题集合。
215.在本技术实施例中,终端响应于开发人员在目标页面上,对第二页面显示控件的点击操作,显示第二页面,在该第二页面上,包括第二候选问题集合。
216.参考图13,图13所示为未知问题学习页面,也即是第二页面,图13中左边所示的各项功能控件用于提供对ai产品的各项开发功能,开发人员能够通过点击不同的功能控件来切换页面,以实现不同的开发功能。图13中所示的未知问题学习页面即为开发人员通过对“未知问题学习”控件的点击操作而获取到的。在该未知问题学习页面上,“未知问题”一栏所显示的问题即是“第二候选问题集合”,其中,各个未知问题按照线上出现次数进行排序。
217.需要说明的是,图13所示的未知问题学习页面仅为示意性的,在实际应用中,该页面的布局能够根据开发人员的需求进行调整,该页面上的功能控件也能够根据开发人员的需求进行设置,本技术实施例对于未知问题学习页面的显示形式不作限定。
218.3072、响应于针对第二候选问题集合中第二候选问题的选中操作,调用筛选接口,从第三方获取与该第二候选问题匹配的第二候选答案。
219.在本技术实施例中,终端响应于开发人员在第二页面上,对第二候选问题集合中第二候选问题的选中操作,获取该第二候选问题,并调用筛选接口,从第三方获取与该第二候选问题所匹配的第二候选答案。
220.例如,继续参考图13,图中“未知问题”一栏包括4个未知问题:“为什么到xxxx上市”,“为什么雨后有彩虹”、“为什么电脑没有声音”以及“学生如何观看教学视频”。假设目标领域为“十万个为什么”领域,则开发人员在该未知问题学习页面上,对前三个问题分别进行选中操作,终端响应于该选中操作,获取这三个未知问题,并调用筛选接口,从第三方获取与之匹配的候选答案。
221.在一些实施例中,上述步骤3072还能替换为:响应于针对第二候选问题集合中第二候选问题的选中操作,将输入的答案编辑内容作为与该第二候选问题匹配的第二候选答案。
222.在这些实施例中,终端响应于开发人员在第二页面上,对第二候选问题集合中第二候选问题的选中操作,显示该第二候选问题的答案编辑窗口,开发人员能够在该窗口中输入答案,终端响应于开发人员所输入的答案编辑内容,获取第二候选答案。
223.在另一些实施例中,终端能够结合上述步骤3072所给出的两种实现方式来获取第二候选答案。例如,终端响应于针对第二候选问题集合中第二候选问题的选中操作,先调用筛选接口,尝试从第三方获取与第二候选问题匹配的第二候选答案,若无法获取到,则显示答案编辑窗口,便于开发人员输入第二候选答案。
224.本技术实施例对于获取第二候选答案的方式不作限定。
225.3073、基于该第二候选问题和该第二候选答案,生成第二问答对。
226.在本技术实施例中,终端基于该第二候选问题和上述步骤3072中获取到的第二候
选答案,生成第二问答对。
227.例如,继续参考图13,图13中开发人员选中的未知问题为“为什么到xxxx上市”,“为什么雨后有彩虹”、“为什么电脑没有声音”,终端基于这三个未知问题,分别获取候选答案,然后一一对应生成第二问答对。
228.通过上述步骤305至步骤307,终端基于目标领域的关键词组,对第二问题集合中的各个第二问题进行初步筛选,然后调用筛选接口进行进一步的筛选,提高了未知问题中属于目标领域的问题数量,便于开发人员对属于目标领域的问题进行确认,极大提高了问答对的生成效率。
229.另外,需要说明的是,上述步骤303至步骤304,以及上述步骤305至步骤307是同步进行的。也即是,终端在获取到第一问题集合和第二问题集合后,分别对这两个问题集合中的问题进行处理,以得到对应的问答对。
230.308、将第一问答对和第二问答对存储至数据库。
231.在本技术实施例中,终端在生成第一问答对和第二问答对后,将这些问答对存储于数据库中。可选地,终端向服务器发送问答对存储请求,该问答对存储请求携带目标领域的领域标识和问答对,服务器基于接收到的问答对存储请求,将问答对存储于与目标领域所对应的数据库中。本技术实施例对于存储问答对的方式不作限定。
232.309、基于训练语料对问题分类模型进行训练,该训练语料中包括该第一问答对和该第二问答对。
233.在本技术实施例中,终端将第一问答对和第二问答对作为训练语料,输入到问题分类模型中,对该问题分类模型进行训练,以提高该问题分类模型的准确率和学习能力。通过这种方式,构成了“模型-语料-模型”的线上学习的迭代闭环机制,既提高了模型的准确率,也提高了问答对的生成效率。
234.在本技术实施例中,提供了一种自动的问答对生成方法,对于需要生成问答对的问题,采用语义分类的方式,对问题进行分类,得到相似问题集合和未知问题集合;对于相似问题集合,在数据库中挖掘出相似的已有问题,并将这类已有问题显示于页面,以供开发人员进行绑定,而这类已有问题的答案都是现有的,只要开发人员绑定了与某一相似问题所对应的已有问题,就能自动获得该相似问题的答案;对于未知问题集合,则基于目标领域的关键词组,对该集合中的问题进行初步筛选,然后调用筛选接口进行进一步筛选,提高了未知问题中属于目标领域的问题数量,便于开发人员对属于目标领域的问题进行确认。通过这种分类处理的方式,能够有针对性地生成高质量的问答对,且,由于生成问答对的过程基本实现了全自动化,因此极大提高了问答对的生成效率,能够快速完成新建任意领域的问答库的任务或对已有问答库进行补充挖掘的任务。另外,将本技术实施例所提供的问答对生成方法应用于对ai产品开发工作中,能够实现完美的兜底逻辑,对用户提出的任何问题都能进行有效回答。
235.下面结合图14,对本技术实施例提供的问答对生成方法进行示意性的说明。图14是本技术实施例提供的一种问答对生成方法的示意图。
236.如图14所示,终端获取到目标领域的目标问题集合后,通过hive数据仓库或es在数据库中匹配相似的已有问题;然后由bert相似性打分模型对目标问题集合中的问题进行分类,得到两类问题,分别为相似问题和未知问题;
237.对于相似问题,终端通过es,从数据库中召回相似的已有问题,接着由bert相似性打分模型对召回的已有问题进行排序,选出候选的已有问题以供开发人员进行选择确认,也即是人工干预;
238.对于未知问题,终端获取目标领域的关键词组,并通过关键词组对这类未知问题进行筛选,进一步的,通过筛选接口进行远程监督,选出候选的未知问题以供开发人员进行选择确认,也即是人工干预;
239.通过对两类问题采用不同的处理方式,生成问答对,形成最终的语料库,并定期拉取最新语料作为训练样本,对bert相似性打分模型进行训练。
240.下面结合图15和图16对本技术实施例提供的问答对生成方法的效果进行示意性说明。
241.图15是本技术实施例提供的一种候选数据处理效果示意图,结果表明,采用本技术实施例所提供的问答对生成方法,也即是“关键词组 远程监督”,能够极大地减少候选数据的处理量,将百万数量级的人工不可处理的数据量减少至千数量级人工可处理的数据量,同时,采用本技术实施例提供的问答对生成方法,所挖掘到的候选数据可用率达到73.03%,大大提高了问答对的生成效率。
242.图16是本技术实施例提供的一种线上运行效果示意图,如图所示,采用本技术实施例提供的问答对生成方法,仅从4月初至6月底三个月的时间,线上数据的新增量同比增长188%,且在线上的真实占比也取得了非常不错的效果,有效扩充了问答对的数量。
243.图17是根据本技术实施例提供的一种问答对生成装置的框图。该装置用于执行上述问答对生成方法执行时的步骤,参见图17,装置包括:获取模块1701、第一问答对生成模块1702以及第二问答对生成模块1703。
244.获取模块1701,用于获取目标问题集合,对该目标问题集合中的各个问题进行语义分类,得到第一问题集合和第二问题集合,该第一问题集合与数据库中已有问题的提问内容相似,该第二问题集合与该已有问题的提问内容不相似,该数据库用于存储目标领域的问答对;
245.第一问答对生成模块1702,用于对于该第一问题集合中的第一问题,从该数据库中获取第一候选问题集合;基于该第一候选问题集合生成第一问答对;其中,该第一问题与该第一候选问题集合的提问内容相似;
246.第二问答对生成模块1703,用于对于该第二问题集合中的第二问题,基于该目标领域的关键词组,从该第二问题集合中获取第二候选问题集合;基于该第二候选问题集合生成第二问答对。
247.在一种可选地实现方式中,该第一问答对生成模块1702用于:
248.显示第一页面,该第一页面上包括该第一候选问题集合;
249.响应于针对该第一候选问题集合中第一候选问题的选中操作,从该数据库中获取与该第一候选问题匹配的第一候选答案;
250.基于该第一问题和该第一候选答案,生成第一问答对。
251.在一种可选地实现方式中,该第二问答对生成模块1703用于:
252.显示第二页面,该第二页面上包括该第二候选问题集合;
253.响应于针对该第二候选问题集合中第二候选问题的选中操作,调用筛选接口,从
第三方获取与该第二候选问题匹配的第二候选答案;
254.基于该第二候选问题和该第二候选答案,生成该第二问答对。
255.在一种可选地实现方式中,该第二问答对生成模块1703用于:
256.显示第二页面,该第二页面上包括该第一候选问题集合;
257.响应于针对该第二候选问题集合中第二候选问题的选中操作,将输入的答案编辑内容作为与该第二候选问题匹配的第二候选答案;
258.基于该第二候选问题和该第二候选答案,生成第二问答对。
259.在一种可选地实现方式中,该获取模块1701用于:
260.基于该目标领域的线上日志,获取该目标问题集合;
261.对于该目标问题集合中的任意一个问题,获取该任意一个问题与该已有问题之间的语义相似度;
262.响应于获取到的语义相似度处于第一区间,将该任意一个问题添加到该第一问题集合中;
263.响应于获取到的语义相似度处于第二区间,将该任意一个问题添加到该第二问题集合中。
264.在一种可选地实现方式中,该第一问答对生成模块1702用于:
265.基于该第一问题,从该数据库中获取第三候选问题集合;其中,该第一问题与该第三候选问题集合的提问内容相似;
266.获取该第一问题与该第三候选问题集合中各个问题之间的语义相似度;对获取到的语义相似度进行由大到小的排序;
267.根据该语义相似度排序在前n位的问题,生成该第一候选问题集合,n为正整数。
268.在一种可选地实现方式中,该第二问答对生成模块1702包括:
269.第一获取单元,用于获取该目标领域的关键词组;
270.第二获取单元,用于基于该关键词组,从该第二问题集合中获取第四候选问题集合;
271.筛选单元,用于调用筛选接口,筛选该第四候选问题集合中满足目标条件的问题;
272.生成单元,用于根据该第四候选问题集合中满足该目标条件的问题,生成该第二候选问题集合。
273.在一种可选地实现方式中,该第一获取单元用于:
274.在该数据库中确定候选词组,获取该候选词组中各个词语的词频;
275.根据该各个词语的词频,在该候选词组中确定候选词;
276.将该候选词组中包括该候选词的候选词组,作为该关键词组。
277.在一种可选地实现方式中,对于该第四候选问题集合中的任意一个问题,该目标条件包括以下任意一项:
278.该任意一个问题出现在第五候选问题集合中,其中,该第五候选问题集合是基于该筛选接口获取到的;
279.基于该筛选接口获取到该任意一个问题的答案;
280.基于该筛选接口获取到第六候选问题集合,该任意一个问题与该第六候选问题集合的提问内容相似。
281.在一种可选地实现方式中,该装置还包括:
282.存储模块,用于将该第一问答对和该第二问答对存储至该数据库。
283.在一种可选地实现方式中,该装置还包括:
284.训练模块,用于基于训练语料对问题分类模型进行训练,该训练语料中包括该第一问答对和该第二问答对,该问题分类模型用于对问题进行语义分类。
285.在本技术实施例中,提供了一种自动的问答对生成装置,在生成某一个领域的问答对时,首先采用语义分类的方式对收集到的问题进行分类,得到两个问题集合;然后,针对这两个问题集合中的问题分别进行不同的处理,最终基于该领域的关键词组和数据库,生成了与这两个问题集合匹配的两类问答对。该种对问题进行分类处理的方式,能够有针对性地生成高质量的问答对;另外,由于生成问答对的过程基本实现了全自动化,因此极大提高了问答对的生成效率,能够快速完成新建任意领域的问答库的任务或对已有问答库进行补充挖掘的任务。
286.需要说明的是:上述实施例提供的问答对生成装置在生成问答对时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的问答对生成装置与问答对生成方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
287.在示例性实施例中,还提供了一种计算机设备。以计算机设备为终端为例,图18示出了本技术一个示例性实施例提供的终端1800的结构框图。该终端1800可以是:智能手机、平板电脑、mp3播放器(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1800还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
288.通常,终端1800包括有:处理器1801和存储器1802。
289.处理器1801可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1801可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1801也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1801可以集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1801还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
290.存储器1802可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1802还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1802中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器1801所执行以实现本技术中方法实施例提供的问答对生成方法。
291.在一些实施例中,终端1800还可选包括有:外围设备接口1803和至少一个外围设备。处理器1801、存储器1802和外围设备接口1803之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1803相连。具体地,外围设备包括:射频电路1804、显示屏1805、摄像头组件1806、音频电路1807、定位组件1808和电源1809中的至少一种。
292.外围设备接口1803可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器1801和存储器1802。在一些实施例中,处理器1801、存储器1802和外围设备接口1803被集成在同一芯片或电路板上;在一些其他实施例中,处理器1801、存储器1802和外围设备接口1803中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
293.射频电路1804用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路1804通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1804将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1804包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1804可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路1804还可以包括nfc(near field communication,近距离无线通信)有关的电路,本技术对此不加以限定。
294.显示屏1805用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1805是触摸显示屏时,显示屏1805还具有采集在显示屏1805的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1801进行处理。此时,显示屏1805还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1805可以为一个,设置在终端1800的前面板;在另一些实施例中,显示屏1805可以为至少两个,分别设置在终端1800的不同表面或呈折叠设计;在另一些实施例中,显示屏1805可以是柔性显示屏,设置在终端1800的弯曲表面上或折叠面上。甚至,显示屏1805还可以设置成非矩形的不规则图形,也即异形屏。显示屏1805可以采用lcd(liquid crystal display,液晶显示屏)、oled(organic light-emitting diode,有机发光二极管)等材质制备。
295.摄像头组件1806用于采集图像或视频。可选地,摄像头组件1806包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1806还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
296.音频电路1807可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1801进行处理,或者输入至射频电路1804以实现语音通
信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1800的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1801或射频电路1804的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1807还可以包括耳机插孔。
297.定位组件1808用于定位终端1800的当前地理位置,以实现导航或lbs(location based service,基于位置的服务)。定位组件1808可以是基于美国的gps(global positioning system,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
298.电源1809用于为终端1800中的各个组件进行供电。电源1809可以是交流电、直流电、一次性电池或可充电电池。当电源1809包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
299.在一些实施例中,终端1800还包括有一个或多个传感器1810。该一个或多个传感器1810包括但不限于:加速度传感器1811、陀螺仪传感器1812、压力传感器1813、指纹传感器1814、光学传感器1815以及接近传感器1816。
300.加速度传感器1811可以检测以终端1800建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1811可以用于检测重力加速度在三个坐标轴上的分量。处理器1801可以根据加速度传感器1811采集的重力加速度信号,控制显示屏1805以横向视图或纵向视图进行用户界面的显示。加速度传感器1811还可以用于游戏或者用户的运动数据的采集。
301.陀螺仪传感器1812可以检测终端1800的机体方向及转动角度,陀螺仪传感器1812可以与加速度传感器1811协同采集用户对终端1800的3d动作。处理器1801根据陀螺仪传感器1812采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
302.压力传感器1813可以设置在终端1800的侧边框和/或显示屏1805的下层。当压力传感器1813设置在终端1800的侧边框时,可以检测用户对终端1800的握持信号,由处理器1801根据压力传感器1813采集的握持信号进行左右手识别或快捷操作。当压力传感器1813设置在显示屏1805的下层时,由处理器1801根据用户对显示屏1805的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
303.指纹传感器1814用于采集用户的指纹,由处理器1801根据指纹传感器1814采集到的指纹识别用户的身份,或者,由指纹传感器1814根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1801授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1814可以被设置在终端1800的正面、背面或侧面。当终端1800上设置有物理按键或厂商logo时,指纹传感器1814可以与物理按键或厂商logo集成在一起。
304.光学传感器1815用于采集环境光强度。在一个实施例中,处理器1801可以根据光学传感器1815采集的环境光强度,控制显示屏1805的显示亮度。具体地,当环境光强度较高
时,调高显示屏1805的显示亮度;当环境光强度较低时,调低显示屏1805的显示亮度。在另一个实施例中,处理器1801还可以根据光学传感器1815采集的环境光强度,动态调整摄像头组件1806的拍摄参数。
305.接近传感器1816,也称距离传感器,通常设置在终端1800的前面板。接近传感器1816用于采集用户与终端1800的正面之间的距离。在一个实施例中,当接近传感器1816检测到用户与终端1800的正面之间的距离逐渐变小时,由处理器1801控制显示屏1805从亮屏状态切换为息屏状态;当接近传感器1816检测到用户与终端1800的正面之间的距离逐渐变大时,由处理器1801控制显示屏1805从息屏状态切换为亮屏状态。
306.本领域技术人员可以理解,图18中示出的结构并不构成对终端1800的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
307.本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质应用于计算机设备,该计算机可读存储介质中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行以实现上述实施例的问答对生成方法中计算机设备所执行的操作。
308.本技术实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该计算机设备执行上述各种可选实现方式中提供的问答对生成方法。
309.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
310.以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献