基于多分析任务的数据分析方法及电子设备与流程

文档序号:26673811发布日期:2021-09-17 23:30阅读:82来源:国知局
基于多分析任务的数据分析方法及电子设备与流程
基于多分析任务的数据分析方法及电子设备
1.本技术要求于2020年03月17日提交国家知识产权局、申请号为202010185620.2、申请名称为“基于多分析任务的数据分析方法及电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本技术中。
技术领域
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.基于准确性数据,对数据分析模型进行参数迭代更新训练,直至数据分析模型满足预设的收敛条件,完成训练。
34.由于实际情况中分析任务可能会出现强响应的情况,为了改善数据分析模型强响应的情况,在本技术实施例中会预先训练好一个可以对分析结果准确性进行分析的分类器。在对数据分析模型进行模型训练时,每次数据分析模型生成分析结果后,会使用分类器判断该分析结果是否为强响应结果。并将该判断结果作为下一次数据分析模型参数迭代更新的特征数据。直至数据分析模型收敛,完成模型训练。使得训练得到的数据分析模型相对原本的第二类分析任务而言,不易出现强响应的情况。进而使得最终输出结果的准确性得以提升。
35.在第一方面的第五种或第六种可能实现方式的基础上,在第一方面的第七种可能的实现方式中,可以基于知识蒸馏的教师-学生模型,来实现对数据分析模型的构建和训练。
36.由于教师-学生模型可以实现从教师模型到学生模型的学习,使得学生模型可以模仿出教师模型的行为,实现相当的精度。因此本技术实施例得到的数据分析模型,可以实现对各个第二类分析任务的有效模拟,保障对各个第二类分析任务分类结果的有效预测和优先级排序分析。同时知识蒸馏可以使得学生模型更加轻量化,从而使得数据分析模型的体积更小,相对对应的第二类分析任务而言模型效率更高。从而使得本技术实施例中的数据分析模型可以在保障准确率的情况下更快地生成分析结果。
37.在第一方面的第五种或第六种可能实现方式的基础上,在第一方面的第八种可能的实现方式中,包括:
38.获取各个第二分析任务生成的第三结果,并基于待处理数据和第三结果,对各个数据分析模型进行参数更新。
39.在本技术实施例中,通过对数据分析模型进行在线的持续学习更新,可以保障数据分析模型对第二类分析任务的模拟效果,适应待处理数据和分析结果之间匹配关系的动态变化需求。进而使得本技术实施例中的对待处理数据的分析处理可靠性得以保障。
40.在第一方面的第八种可能实现方式的基础上,在第一方面的第九种可能的实现方式中,基于待处理数据和第三结果,对各个数据分析模型进行参数更新的操作中,对单个第二分析任务对应的数据分析模型的参数更新操作,包括:
41.对待处理数据和该第二分析任务生成的第三结果进行匹配分析。
42.若待处理数据与该第二分析任务生成的第三结果相匹配,则基于待处理数据和该第二分析任务生成的第三结果,对该第二分析任务对应的数据分析模型进行参数更新。
43.本技术实施例会对每次获取到的第三结果和对应的待处理数据进行分析。若第三结果与待处理数据不匹配,则不对对应的数据分析模型进行在线更新。以保障对数据分析模型在线更新的有效性。
44.本技术实施例的第二方面提供了一种基于多分析任务的数据分析方法,包括:
45.在获取到待处理数据后,触发并行的多个第一分析任务和多个第二分析任务,以对待处理数据进行处理。并等待所有第一分析任务生成第一结果,以及对第二分析任务进行结果预测得到的第二结果。在获取到所有第一结果、第二结果以及各个第二结果对应的置信度之后,再对这些结果进行优先级排序。并根据排序结果和置信度来判断是否需要等待第二分析任务生成真实的分析结果。最后,如果判定为无需等待第二分析任务生成分析结果,则将排序结果中优先级最高的结果作为输出结果。
46.本技术实施例中,通过已有的真实分析结果和预测分析结果进行优先级排序,并根据排序结果和置信度来判断未生成的真实结果是否具有等待价值。当判断出未生成的结果无等待价值时,则将已有分析结果中优先级最高的结果作为输出结果。因此可以节省大量对真实结果的等待耗时,进而提高了分析耗时。
47.在第二方面的第一种可能的实现方式中,对是否需要等待的判断操作,包括:
48.若第一排序结果内优先级最高的前n个结果中不包含目标结果,且第一排序结果中优先级最高的结果为第一结果,则判定为无需等待第二分析任务生成分析结果,其中,目标结果为置信度高于预设第一阈值的第二结果,n为大于1的整数。
49.由于置信度的高低可以反映出分析结果与待处理数据的匹配度情况。对于均为预测结果的第二结果而言,当第二结果置信度较高时,说明其有较大的可能是与待处理数据匹配的分析结果。因此本技术实施例在得到第一排序结果之后,首先会识别其中优先级最高的前n个分析结果中是否包含高置信度的第二结果。当不包含高置信度结果且优先级最高的是真实结果,说明无论第二分析任务生成的分析结果情况如何,都不会影响实际的优先级顺序。进而说明了未生成的真实结果等待价值较小,可以不进行等待。
50.在第二方面的第二种可能的实现方式中,对是否需要等待的判断操作,包括:
51.若第一排序结果内优先级最高的前n个结果中不包含目标结果,且第一排序结果中优先级最高的结果为第二结果,将该优先级最高的结果对应的第二分析任务作为目标分析任务,并判定为需要等待目标分析任务生成分析结果,其中,目标结果为置信度高于预设第一阈值的第二结果,n为大于1的整数。
52.相应的,基于多分析任务的数据分析方法还包括:
53.若根据第一排序结果和置信度判定需要等待目标分析任务生成分析结果,则获取目标分析任务生成的分析结果,并将该分析结果作为输出结果。
54.当优先级最高的前n个分析结果中不包含高置信度的第二结果,且优先级最高的结果为第二结果时,说明该第二结果为最适宜的输出结果。但由于该第二结果是对第二分析任务的预测结果,并非第二分析任务生成的真实结果。因此不能直接将该第二结果作为输出结果,而是需要等待获取到该第二结果对应的真实结果后,再将对应的真实结果作为输出结果。
55.在第二方面的第一种或第二种可能实现方式的基础上,在第一方面的第三种可能的实现方式中,对是否需要等待的判断操作,还包括:
56.若第一排序结果内优先级最高的前n个结果中包含目标结果,且第一排序结果中优先级最高的结果为目标结果,将该优先级最高的结果对应的第二分析任务作为目标分析任务,并判定为需要等待目标分析任务生成分析结果,其中,目标结果为置信度高于预设第一阈值的第二结果,n为大于1的整数。
57.相应的,基于多分析任务的数据分析方法还包括:
58.若根据第一排序结果和置信度判定需要等待目标分析任务生成分析结果,则获取目标分析任务生成的分析结果,并将该分析结果作为输出结果。
59.当优先级最高的分析结果为目标结果时。说明该目标结果与待处理数据的匹配度较高。但由于目标结果是预测结果而非真实结果,因此本技术实施例会获取目标结果对应的第三结果作为输出结果。
60.在第二方面的第一种或第二种或第三种可能实现方式的基础上,在第一方面的第四种可能的实现方式中,对是否需要等待的判断操作,还包括:
61.若第一排序结果内优先级最高的前n个结果中包含目标结果,且第一排序结果中优先级最高的结果不为目标结果,则判定为需要等待第二分析任务生成分析结果,其中,目标结果为置信度高于预设第一阈值的第二结果,n为大于1的整数。
62.当前n个结果中包含目标结果且优先级最高的不是目标结果,说明目标结果和优先级最高的分析结果与待处理数据的匹配度差异并不大。即前n个结果的目标结果可能会对最终的输出结果情况造成一定影响,这些目标结果仍具有等待价值。因此本技术实施例会判定为需要等待第二分析任务的分析结果,以保障最终输出结果的准确性。
63.在第二方面的第四种可能实现方式的基础上,在第一方面的第五种可能的实现方式中,还包括:
64.若根据第一排序结果和置信度判定需要等待第二分析任务生成分析结果,获取前n个结果中各个目标结果对应的第三结果,其中,该第三结果为目标结果对应的第二分析任务生成的分析结果。
65.对前n个结果中的第一结果、置信度低于或等于第一阈值的第二结果以及获取到的第三结果进行优先级排序,得到对应的第二排序结果。
66.若第二排序结果中优先级最高的结果为第一结果或者第三结果,则将第二排序结果中优先级最高的结果作为输出结果。
67.本技术实施例会获取所有目标结果对应的第三结果。并在获取到所有目标结果对应的第三结果后,再次对前n个分析结果中的第一结果、置信度低于第一阈值的第二结果,以及获取到的第三结果进行优先级排序,并得到对应的第二排序结果。由于第一结果和第三结果都是真实结果。因此说明当前未生成分析结果的第二分析任务等待价值较小,可不进行等待。将优先级最高的真实结果作为输出结果即可。
68.在第二方面的第五种可能实现方式的基础上,在第一方面的第六种可能的实现方式中,还包括:
69.若第二排序结果中优先级最高的结果为第二结果,获取该第二结果对应的第三结果,并将获取到的第三结果作为输出结果,其中,该第三结果为,由第二排序结果中优先级最高的结果对应的第二分析任务生成的分析结果。
70.若第二排序结果中优先级最高的为第二结果,此时说明该第二结果与待处理数据
的匹配度较高。但由于第二结果是预测结果而非真实结果,因此本技术实施例会获取第二结果对应的第三结果作为输出结果。
71.在第二方面的第五种可能实现方式的基础上,在第一方面的第七种可能的实现方式中,还包括:
72.若根据第一排序结果和置信度判定需要等待第二分析任务生成分析结果,获取前n个结果中各个第二结果对应的第三结果,其中,第三结果为第二结果对应的第二分析任务生成的分析结果。
73.对前n个结果中的第一结果以及获取到的第三结果进行优先级排序,得到对应的第二排序结果。将第二排序结果中优先级最高的结果作为输出结果。
74.在本技术实施例中,会等待前n个结果中所有预测结果对应的真实结果,再进行二次排序。此时由于第二次优先级排序的内容为第一结果和第三结果,这些结果均为真实结果。因此无需再进行等待,将优先级最高的结果作为输出结果即可。本技术实施例可以防止对高置信度预测结果的误舍弃,提高最终输出结果的准确性。
75.在第二方面的第一种至第五种可能实现方式中的任意一种实现方式的基础上,在第一方面的第八种可能的实现方式中,获取对第二分析任务进行结果预测得到的第二结果的操作,包括:
76.获取预先训练的与第二分析任务一一对应的数据分析模型,并将待处理数据输入至数据分析模型中进行处理,其中,数据分析模型用于对对应的第二分析任务进行结果预测。
77.获取由数据分析模型生成的第二结果。
78.在本技术实施例中,会预先训练好一个进行分析结果预测的模型,并利用该模型来实现对第二分析任务的结果预测。以保障预测的有效性。
79.在第二方面的第八种实现方式的基础上,在第一方面的第九种可能的实现方式中,对单个数据分析模型的训练过程,还包括:
80.获取样本数据,并基于样本数据对数据分析模型进行参数更新。
81.在每次参数更新操作完成后,基于预设的分类器分析当次参数更新操作完成后,数据分析模型对样本数据分析的准确性数据。
82.基于准确性数据,对数据分析模型进行参数迭代更新训练,直至数据分析模型满足预设的收敛条件,完成训练。
83.由于实际情况中分析任务可能会出现强响应的情况,为了改善数据分析模型强响应的情况,在本技术实施例中会预先训练好一个可以对分析结果准确性进行分析的分类器。在对数据分析模型进行模型训练时,每次数据分析模型生成分析结果后,会使用分类器判断该分析结果是否为强响应结果。并将该判断结果作为下一次数据分析模型参数迭代更新的特征数据。直至数据分析模型收敛,完成模型训练。使得训练得到的数据分析模型相对原本的第二类分析任务而言,不易出现强响应的情况。进而使得最终输出结果的准确性得以提升。
84.在第二方面的第八种或第九种可能实现方式的基础上,在第二方面的第十种可能的实现方式中,可以基于知识蒸馏的教师-学生模型,来实现对数据分析模型的构建和训练。
85.由于教师-学生模型可以实现从教师模型到学生模型的学习,使得学生模型可以模仿出教师模型的行为,实现相当的精度。因此本技术实施例得到的数据分析模型,可以实现对各个第二类分析任务的有效模拟,保障对各个第二类分析任务分类结果的有效预测和优先级排序分析。同时知识蒸馏可以使得学生模型更加轻量化,从而使得数据分析模型的体积更小,相对对应的第二类分析任务而言模型效率更高。从而使得本技术实施例中的数据分析模型可以在保障准确率的情况下更快地生成分析结果。
86.在第二方面的第八种或第九种可能实现方式的基础上,在第二方面的第十一种可能的实现方式中,还包括:
87.获取各个第二分析任务生成的第三结果,并基于待处理数据和第三结果,对各个数据分析模型进行参数更新。
88.在本技术实施例中,通过对数据分析模型进行在线的持续学习更新,可以保障数据分析模型对第二类分析任务的模拟效果,适应待处理数据和分析结果之间匹配关系的动态变化需求。进而使得本技术实施例中的对待处理数据的分析处理可靠性得以保障。
89.在第二方面的第十一种可能实现方式的基础上,在第二方面的第十二种可能的实现方式中,还包括:
90.对待处理数据和该第二分析任务生成的第三结果进行匹配分析。
91.若待处理数据与该第二分析任务生成的第三结果相匹配,则基于待处理数据和该第二分析任务生成的第三结果,对该第二分析任务对应的数据分析模型进行参数更新。
92.本技术实施例会对每次获取到的第三结果和对应的待处理数据进行分析。若第三结果与待处理数据不匹配,则不对对应的数据分析模型进行在线更新。以保障对数据分析模型在线更新的有效性。
93.本技术实施例的第三方面提供了一种电子设备,所述电子设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,使得电子设备实现如上述第一方面中任一项所述基于多分析任务的数据分析方法的步骤,或者实现上述第二方面中任一项所述基于多分析任务的数据分析方法的步骤。
94.本技术实施例的第四方面提供了一种计算机可读存储介质,包括:存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,使得电子设备实现如上述第一方面中任一项所述基于多分析任务的数据分析方法的步骤,或者实现上述第二方面中任一项所述基于多分析任务的数据分析方法的步骤。
95.本技术实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面中任一项所述基于多分析任务的数据分析方法,或者实现上述第二方面中任一项所述基于多分析任务的数据分析方法的步骤。
96.可以理解的是,上述第三方面至第五方面的有益效果可以参见上述第一方面和第二方面中的相关描述,在此不再赘述。
附图说明
97.图1a为本技术实施例提供的一种场景示意图;
98.图1b为本技术实施例提供的一种基于多分析任务的数据分析方法的流程示意图;
99.图1c为本技术实施例提供的一种基于多分析任务的数据分析方法的流程示意图;
100.图1d为本技术实施例提供的一种基于多分析任务的数据分析方法的流程示意图;
101.图2a为本技术实施例提供的一种基于多分析任务的数据分析方法的流程示意图;
102.图2b为本技术实施例提供的一种基于多分析任务的数据分析方法的流程示意图;
103.图2c为本技术实施例提供的一种场景示意图;
104.图2d为本技术实施例提供的一种基于多分析任务的数据分析方法中,进行模型更新的流程示意图;
105.图3为本技术实施例提供的电子设备的结构示意图。
具体实施方式
106.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
107.为了便于理解本技术,此处先对本技术实施例进行简要说明:
108.现有的处理模型在进行多任务的并行数据分析时,都是先等待所有的并行分析任务均生成对应的分析结果,再对所有的分析结果统一进行优先级排序。最后将其中优先级最高的分析结果作为最终的输出结果。例如,在语音助手等用于自然语言处理(natural language processing,nlp)领域进行人机对话的处理模型中。当获取到用户对话内容时,会将该对话内容作为待处理数据同步开启多个对话分析任务。并会在获取到所有对话分析任务的分析结果之后进行分析结果优先级排序。最后将优先级最高的分析结果作为输出结果进行用户对话响应的后续分析。
109.为了减少对并行任务等待的总时长,提高多分析任务进行数据分析时的分析效率。一种可选做法为:将分析任务划分为平台自研任务和第三方服务商提供的任务,并设置一个最长等待时长。其中平台自研任务是指处理模型对应的服务平台所提供的分析任务。在触发多分析任务之后,开始计时。一方面会等待平台自研任务生成结果,另一方面,会收集最长等待时长内所有第三方服务商提供的任务返回的结果。在超过最长等待时长之后,则不再等待第三方服务商提供的任务,并对所有已获取到的结果进行排序和结果选取。由于平台自研任务耗时一般较短,通过设置最长等待时长的限制,可以有效控制对第三方服务商的等待耗时。避免了长时间等待第三方服务商任务的情况出现。
110.结合实例进行举例说明,在本技术实施例中,应用场景为人机对话,即电子设备需要与用户进行人机对话,并实现人机对话管理(dialog manager,dm)。其中,由电子设备内分析模型对应的语音处理平台(即服务平台,简称平台)负责的分析任务有电话和闹钟等。由第三方服务商(亦可称为非平台)提供的分析任务有音乐、天气、搜索、百科和聊天等。设置最长等待时长为200毫秒。其中,音乐和天气是由第三方服务商1提供的分析任务,搜索、百科和聊天由第三方服务商2提供的分析任务。还有第三方服务商3也可以提供一些分析任务(图中未示出),如可以提供导航等分析任务。
111.假设实际操作过程中平台的分析任务均生成了结果,且第三方服务商1和第三方服务商2负责的分析任务均在200毫秒内返回了结果。但第三方服务商3负责的分析任务在200毫秒内未返回结果。此时可以参考图1a。此时会针对200毫秒内返回的音乐、天气、搜索、
百科和聊天等非平台运行结果,以及电话和闹钟等平台运行结果进行综合排序。最后再根据排序结果确定最终的结果。实践证明,通过本技术实施例的方式,可以大大缩短dm耗时(实践证明,缩短的时长一般可达到100毫秒以上),提高多任务分析的效率。
112.虽然多分析任务并行数据分析可以提高最终输出结果的准确性。但实际应用中发现,一方面,每个分析任务对提升最终输出结果准确性的帮助还是会存在一定的差异。在不同场景下,这个差异既可能体现在分析任务本身的重要性,也可能体现在分析任务生成的分析结果对最终输出结果的影响程度。对于对提升最终输出结果准确性的帮助较弱甚至没有帮助的分析任务。若持续等待这些分析任务,实际意义较小且会极大地增加任务等待耗时。因此这些分析任务的等待价值较小。另一方面,对于很多场景而言,处理模型最终输出结果的准确性和时效性(即数据分析的耗时)都是非常重要两个性能指标。例如语音助手若不能及时应答用户对话,即使最终应答结果非常准确,此时也失去了意义。因此在这些实时性要求较高场景之中,为了满足缩短等待耗时以时效性的需求。一些耗时较长的分析任务以及一些对提升最终输出结果准确性的帮助较弱的任务,都是等待价值较小的任务。
113.基于上述原理,一方面,本技术实施例会根据任务耗时情况,预先将分析任务分为两类:耗时较短的第一类分析任务以及耗时较长的第二类分析任务。实践发现,耗时较长的第二类分析任务往往会导致最终处理模型的数据分析耗时较长,效率较低。其中,本技术实施例不对耗时长短的划分标准,以及第一类分析任务和第二类分析任务具体包含的任务内容和数量进行过多限定。可由技术人员根据实际应用中各个分析任务的实际耗时情况,以及应用场景中对任务时效性的需求设定。
114.另一方面,本技术实施例会针对各个第二类分析任务预先训练好对应的数据分析模型,这些数据分析模型用于模拟对应的第二类分析任务进行数据处理。例如在语音助手中,假设天气查询的任务属于第二类分析任务,此时可以预先训练好一个进行天气查询的数据分析模型。进行待处理数据的数据分析时,在触发各个第一类分析任务和第二类分析任务的同时,还会利用这些数据分析模型模拟各个第二类分析任务进行数据分析。在触发各个分析任务和数据分析模型之后,本技术实施例会等待所有的第一类分析任务和数据分析模型数据分析完成,再对得到的分析结果进行优先级排序。最后根据排序的结果判断最终适宜输出的结果是第一类分析任务对应的分析结果,还是数据分析模型对应的分析结果。若是第一类分析任务对应的分析结果,将该结果作为输出结果即可。而若是数据分析模型对应的分析结果,则会等待接收到对应的第二类分析任务真实返回的分析结果后,再将真实返回的分析结果作为输出结果。由于数据分析模型可以根据实际场景需求进行设计存储。相对第二类分析任务而言,数据分析模型依赖的资源可以预先设置,同时数据传输更为高效可靠。使得数据分析模型分析耗时更短效率更高。因此根据数据分析模型输出的预测结果来和第一类分析任务的真实结果进行综合排序,可以准确获知各个第二类分析任务的等待价值。在此基础上根据排序结果评估最终的输出结果是否为第二类任务对应的分析结果。若不是,可以将优先级最高的真实结果作为输出结果,使得本技术实施例无需等待第二类分析任务返回结果。进而使得任务等待的总时长得以缩减,效率得以提升。而当评估结果为输出结果是第二类任务对应的分析结果时,则等待对应的第二类任务返回分析结果即可。此时可以选择性地舍弃对一些分析任务的等待,从而减少了对并行任务等待的总时长,提高了多分析任务进行数据分析时的分析效率。
115.同时,本技术实施例中基于多分析任务的数据分析方法的执行主体为:可以实现本技术实施例中的多并行分析分析任务触发和分析结果输出等操作的电子设备。其中,电子设备的具体类型此处不予限定,需根据实际的应用场景确定。例如可以是手机、电脑和可穿戴设备等终端设备,亦可以是服务器等设备。
116.为了说明本技术所述的技术方案,下面通过具体实施例来进行说明。
117.图1b示出了本技术实施例一提供的基于多分析任务的数据分析方法的实现流程图,详述如下:
118.s101,获取待处理数据,触发并行的至少一个第一分析任务和至少一个第二分析任务,其中,第一分析任务和第二分析任务均用于对待处理数据进行分析。
119.其中,待处理数据的数据内容和数据类型等情况需根据实际应用场景确定,此处不予限定。例如当将本技术实施例应用至人机对话的场景中,如应用至语音助手中,以实现对用户对话内容的响应时。此时待处理数据可以是用户对话内容,如用户提问的“今天天气怎么样”。又例如将本技术实施例应用至用户商品推送,以实现对用户喜爱商品的个性化推送。此时待处理数据就可以是用户的个人信息和一些历史消费记录等,如用户的性别、年龄和近半年的历史购买记录。
120.同时在不同应用场景之下,实际所需使用到的分析任务种类和数量也可能存在一定的差异,具体可由技术人员根据实际需求选取或设定,此处亦不予限定。例如,在人机对话的场景之中,理论上分析任务数量和最终分析结果的准确度之间为正相关关系。因此技术人员可以根据不同的准确度需求,设置不同数量的并行分析任务。而为了提升分析结果的全面性,进而提升最终输出结果的准确度,技术人员同样可以根据实际场景需求设置实际触发的分析任务种类。例如,同样在语音助手中为了丰富语音助手的功能,可以将电话、闹钟、音乐、天气、百科搜索和闲聊等功能对应的分析任务,均作为本技术实施例中所需触发的分析任务。另一方面,针对实际应用场景中各个分析任务的实际耗时情况,以及应用场景对输出结果时效性的需求。本技术实施例会预先将实际应用场景中可能使用到的分析任务进行上述的第一类分析任务和第二类分析任务的分类。从而使得本技术实施例在确定出所需使用到的分析任务之后,即可同步确定出各个分析任务的类型。在本技术实施例中,将触发的分析任务中所有的第一类分析任务命名为第一分析任务,并将所有的第二类分析任务均命名为第二分析任务。
121.作为本技术中对分析任务分类的一种可选方式。实际应用中发现,由处理模型对应的服务平台自身执行的分析任务,其分析原理和依赖的资源等都是可控的。如一些语音助手对应的bot平台(bot platform)内可以集成较多不同的语音分析模型,以进行不同的语音分析任务。即实际应用中这些分析任务对应的分析耗时往往都是可控的,技术人员可以根据实际的场景需求进行调整,以满足应用场景的时效性需求。因此实际应用中,由处理模型对应的服务平台自身执行的分析任务可划分为第一类分析任务。而另一方面,对于由第三方服务商负责执行的分析任务而言。例如语音助手的一些音乐、天气、外卖和打车等语音服务,往往都是由一些第三方服务商提供。在需要进行对应的数据处理时将待处理数据发送给对应的第三方服务商,由第三方服务商在完成数据处理后返回对应的分析结果即可。由于第三方服务商的情况不可控。导致实际应用中,第三方服务商提供的各个分析任务的分析原理、依赖的资源以及数据传输情况等因素会存在较大差异。进而导致这些分析任
务的耗时往往较长。因此实际应用中,由第三方服务商负责执行的分析任务可划分为第二类分析任务。
122.另外,在不同的应用场景之下,分析任务的执行方可能会存在一定的差异,使得对应的分析任务触发方式和分析结果的获取操作也可能会存在一定的差异。例如,对于电子设备自身负责的分析任务而言,其执行方就是电子设备自身。对应的,此时触发分析任务就是指电子设备自身开始执行对应的分析任务,获取操作就是指获取电子设备自身生成的分析结果。而对于一些由第三方设备负责的分析任务而言,其执行方就是具体负责分析任务的第三方设备。例如对于第三方服务商负责的分析任务而言,其执行方就是第三方服务商对应的设备。对应的,此时触发分析任务就是指将待处理数据发送给第三方设备,以告知第三方设备对接收到的待处理数据进行分析。获取操作就是指等待第三方设备返回分析结果。因此,本技术实施例不对具体的分析任务触发方式进行限定,需根据实际的分析任务情况确定。
123.在上述说明的基础上,本技术实施例在获取到待处理数据时,会触发对应的并行一个或多个第一分析任务,以及一个或多个第二分析任务。以使得各个分析任务独立对待处理数据进行数据分析。
124.s102,获取与各个第二分析任务一一对应的数据分析模型,并将待处理数据输入至数据分析模型中进行处理,其中,数据分析模型用于对对应的第二分析任务进行结果预测。
125.实际情况中,多任务数据分析仅会选取一个优先级最高的分析结果作为最终输出结果。虽然每个分析任务可能生成的分析结果可能有很多,但最终也只会生成一个确定的分析结果来参与最终输出结果的优先级排序。在此基础上,在电子设备已获取到一个或多个真实结果的情况下,对于单个未生成分析结果的分析任务而言,其可能会存在两种情况:
126.情况1、该分析任务最终生成的分析结果的优先级高于已有的所有真实结果,此时说明该分析任务有可能会影响最终输出结果。
127.情况2、该分析任务最终生成的分析结果的优先级不高于已有的所有真实结果,即存在优先级更高的真实结果,此时该分析任务不会影响最终输出结果。
128.当分析任务属于情况2时,说明在已有的真实结果的基础上,无论是否等待该分析任务的分析结果,都不会对最终的输出结果造成影响。正是基于这一原理,为了减少总的任务等待耗时。本技术实施例会在触发第二分析任务时,同步对各个第二分析任务的分析结果进行预测,以作为后续判断是否需要等待分析任务的参考数据。其中,本技术实施例不对结果预测的方法进行限定,可由技术人员根据实际需求来进行选取或者设定。
129.作为本技术进行分析结果预测的一个可选实施例。本技术实施例会预先针对各个第二分析任务训练对应的数据分析模型,以模拟对应的第二分析任务进行数据分析,进而实现对第二分析任务的结果预测。例如,假设语音助手对应的外卖、地图和音乐技能,都是由第三方服务商提供的第二分析任务,且都是本技术实施例所需触发的第二分析任务。此时本技术实施例会预先针对外卖、地图和音乐,训练好对应的外卖处理模型、地图处理模型和音乐处理模型。这些数据分析模型会模拟对应的第二分析任务的分析原理,来实现对待处理数据的处理。其中,本技术实施例不对数据分析模型的模型类型和训练方式等进行过多限定,可由技术人员根据实际需求选取或设定。例如在一些可选实施例中,可以基于知识
蒸馏(knowledge distillation)和迁移学习(tranfers learning)来进行数据分析模型的构建和训练。以使得训练得到的数据分析模型与对应的第二分析任务的输出分布接近,进而实现对第二分析任务的模拟。
130.作为本技术进行分析结果预测的另一个可选实施例。为了保障预测结果的可信度,在本技术实施例中包含两种可选的结果预测方法:
131.a、获取第二分析任务对待处理数据所有可能的分析结果,并进行优先级排序,再将其中优先级最高的分析结果作为预测结果。
132.此时对于数据分析模型而言,其无需模拟第二分析任务进行数据分析。而是需要预先设置好数据分析模型对应的第二分析任务,以及该第二分析任务对各种待处理数据可能生成的分析结果。同时设置好对应的优先排序规则。在此基础上当获取到待处理数据时,数据分析模型执行预测方法a的操作即可。其中优先级排序规则此处不予限定,可由技术人员根据实际场景需求进行选取或设定。
133.b、获取第二分析任务对待处理数据所有可能的分析结果,并将其中最可能生成的分析结果作为预测结果。
134.此时对于数据分析模型而言,亦无需模拟第二分析任务进行数据分析。而是需要预先数据分析模型设置好对应的第二分析任务,以及该第二分析任务对各种待处理数据可能生成的分析结果。同时设置好最可能生成的分析结果的分析方法。在此基础上,当获取到待处理数据时,数据分析模型执行预测方法b的操作即可。其中最可能生成结果的具体分析方法此处不予限定,可由技术人员自行选取或设定。例如在一些实施例中,可以根据第二分析任务历史生成分析结果的记录来进行分析预测。在另一些实施例中,也可以根据与第二分析任务相似的其他任务的历史生成分析结果记录来进行分析预测。
135.在本技术实施例中,可以选取上述任意一种结果预测方法作为实际使用的结果预测方法。
136.同时,本技术实施例不对数据分析模型的存储方式进行限定,既可以存储在作为本技术实施例执行主体的电子设备中,此时只需调用电子设备内部存储的数据分析模型进行数据分析即可。亦可以存储在其他设备中,如一些服务器中。此时若需要使用数据分析模型,则需由电子设备将待处理数据发送至对应的设备,以实现对第二分析任务的结果预测。对应于该情况,s102中获取与各个第二分析任务一一对应的数据分析模型的操作,则是指由电子设备查找出所需使用各个数据分析模型对应所处的设备。
137.本技术实施例会查找触发的各个第二分析任务所对应的数据分析模型,并在触发各个第二分析任务时,同步将待处理数据输入至各个数据分析模型中。由这些数据分析模型来实现对各个第二分析任务分析结果的预测。
138.s1031,获取第一分析任务生成的第一结果,以及数据分析模型生成的第二结果。若获取到所有第一分析任务和数据分析模型生成的结果,对获取到的第一结果和第二结果进行优先级排序,得到对应的排序结果。
139.在本技术实施例中,将第一分析任务生成的真实结果统一命名为第一结果。将数据分析模型生成的预测结果统一命名为第二结果。同时,将第二分析任务生成的真实结果统一命名为第三结果。由上述分析可知,本技术实施例中第二结果实际为对第三结果的预测结果。
140.在触发各个分析任务并将待处理数据输入至数据分析模型后,本技术实施例会等待各个分析任务和处理数据模型生成各自的分析结果。但与现有技术不同之处在于,本技术实施例不是在所有的分析任务均生成分析结果后再进行分析结果的优先级排序。而是在所有的第一分析任务和所有的数据分析模型均生成各自的分析结果之后,对生成的结果进行优先级排序。由于数据分析模型是对第二分析任务分析结果的预测,因此排序结果中第二结果的优先级,可以反映出对应的第三结果的优先级情况。进而可以实现对各个第三结果的模拟排序。
141.其中,本技术实施例不对具体的排序方法进行限定,可由技术人员根据实际场景需求选取或设定。例如,在一些实施例中,可以由技术人员根据实际场景的需求预设一些固定的排序规则。在此基础上可以根据这些预设的排序规则来实现本技术实施例中的优先级排序。在另一实施例中,也可以利用一些具有排序功能的模型来实现本技术实施例中的优先级排序。例如可以利用各种机器学习排序,如lamdda mart机器学习排序和learning to rank机器学习排序,来实现本技术实施例中的分析结果排序。同时,根据实际使用的优先级排序方法的不同,本技术实施例中分析结果的优先级也可以有多种可能的形态。例如,在一些可选实施例中,假设使用的是排序模型进行优先级排序。同时假设该排序模型输出的结果为各个分析结果的优先级等级,如第一优先级、第二优先级和第三优先级。此时本技术实施例中的优先级就是指这些优先级等级。而在另一些可选实施例中,假设利用评分模型来实现本技术实施例中的优先级排序。同时假设该评分模型会对输入的每个分析结果进行评分,并在对所有分析结果评分完成后按照评分的从高到低依次输出分析结果对应的评分。此时优先级就不是前一实施例中的优先级等级,而是指某个分析结果对应的评分在所有分析结果评分中的次序。例如假设分析结果a的评分为100分,其余的分析结果评分均低于100分。此时分析结果a的优先级就是第一。
142.考虑到实际应用中分析结果优先级排序可能非常复杂。特别是一些实时性较强的场景之中,优先级高低本身就是实时变动的。例如在对用户的商品推荐场景中,用户对商品的喜好本身就是会发生变化的,因此各个商品对应的优先级高低本身就是实时变动的。又例如在人机对话场景,若与用户进行了连续对话,那同一个名词在不同的上下文内容中表征的意义可能会存在一定的差异。此时同一名词对应的分析结果的优先级高低也会存在一定的变化。例如,一些名词是地名的同时也可能是歌曲名词。此时需要根据对话前文内容判断用户的需求是查询地名还是歌曲名词,再根据实际用户需求来确定出对应的优先级高低。为了应对这些场景下的优先级排序需求,作为本技术的一个可选实施例,可以设置一个独立的排序模型或功能模块来进行分析结果的优先级排序操作。因此本技术实施例不对分析结果的排序方式进行限定,包括但不限于如:由处理模型在进行数据分析时进行排序。或者处理模型与独立的排序模型或功能模块进行协作,由处理模型将第一结果输出至该排序模型或功能模块进行优先级排序,并返回给处理模型。
143.其中应当说明地,实际应用中并非所有的分析任务和数据分析模型都可以正常地对待处理数据进行分析响应。例如对于一个提供语音天气查询的分析任务或数据分析模型而言,假设待处理数据是用户说出的“提醒我带上伞,今天天气不好”。此时用户实际需要的是事项提醒,因此理论上该分析任务或数据分析模型是无法正常进行响应的。为了应对该种情况,一般有两种可选的处理方式:1、对待处理数据进行强响应,即匹配一个相关性最高
的结果进行输出。如上述实例中,可以生成当天的天气数据作为对应的分析结果。2、输出一个默认的分析结果,用以声明自身无法对该待处理数据进行响应。其中,默认分析结果的具体数据内容此处不予限定,可由技术人员根据实际需求设定。例如可以将默认分析结果设置为“无法响应”,或者设置为“未知”。结合上述实例,假设默认分析结果设置为“无法响应”。此时该分析任务或数据分析模型就会生成一个“无法响应”的分析结果,以声明自身无法对该待处理数据进行响应。因此在本技术实施例中,若选取了方式2进行无法正常进行响应时的结果生成。此时第一分析任务和数据分析模型生成的结果亦有可能是上述的默认分析结果。对于此种情况,本技术实施例在进行第一结果和第二结果排序时,会首先剔除这些默认分析结果,以提高排序的效率。
144.作为本技术的一个可选实施例,考虑到实际应用中,在所有第一分析任务和数据分析模型均生成分析结果之前,也有可能会有部分第二分析任务会返回分析结果。即在排序之前,也有可能会获取到一些由第二分析任务生成的第三结果。若获取到了第三结果,在进行排序时需要确定是否将第三结果加入至排序。在本技术实施例中,可以选取以下几种方式中的任意一种进行排序操作:
145.1、仅对第一结果和第二结果进行排序操作。
146.2、对获取到的所有第一结果、第二结果和第三结果进行综合排序。
147.3、剔除与已获取到的第三结果对应的第二结果,并对剔除操作之后剩余的第一结果、第二结果和第三结果进行综合排序。
148.对于排序方式1而言,其操作步骤即为s1031。此时由于排序内容中包含第三结果对应的预测结果,因此可以保障对第三结果的可靠排序。
149.对于排序方式2而言,排序结果中会同时包含获取到的第三结果以及所有预测生成的第二结果。对应于排序方式2,参考图1c,上述s1031可以被替换为:
150.s1032,获取第一分析任务生成的第一结果、数据分析模型生成的第二结果以及第二分析任务生成的第三结果。若获取到所有第一分析任务和数据分析模型生成的结果,对获取到的第一结果、第二结果和第三结果进行优先级排序,得到对应的排序结果。
151.对于排序方式3而言,首先会根据第三结果所属的第二分析任务确定出对应的数据分析模型,再查找出这些模型对应的第二结果。进而确定出第三结果对应的第二结果。通过剔除与已获取到的第三结果对应的第二结果,可以减少对排序的工作量。对应于排序方式2,参考图1d,上述s1031可以被替换为:
152.s1033,获取第一分析任务生成的第一结果、数据分析模型生成的第二结果以及第二分析任务生成的第三结果。若获取到所有第一分析任务和数据分析模型生成的结果,剔除与获取到的第三结果对应的第二结果,并对剔除操作之后剩余的第一结果、第二结果和第三结果进行优先级排序,得到对应的排序结果。
153.在上述三种排序方式以外,技术人员亦可以根据实际需求选取或设定其他的排序方式,以对获取到的第三结果进行处理。本技术实施例不对排序方式进行过多限定。
154.s1041,若排序结果中优先级最高的结果为第一结果,则将该优先级最高的第一结果作为输出结果。
155.当排序结果中优先级最高的结果为第一结果时,说明对未生成分析结果的第二分析任务而言,其最终生成的分析结果的优先级都必然低于该优先级最高的真实结果,即都
不会影响最终的输出结果。因此在此种情况下,本技术实施例会判定为无需等待第二分析任务生成分析结果,并将优先级最高的第一结果作为最终的输出结果。
156.例如,假设s1031中共获取到了5个分析结果,按照优先级从高到低依次为:第一结果a、第二结果b、第一结果c、第二结果d以及第二结果e。此时本技术实施例会将第一结果a作为最终的输出结果。
157.对应于s1032和s1033的情况,参考图1c和图1d,此时s1041可以被替换为:
158.s1042,若排序结果中优先级最高的结果为第一结果或第三结果,则将该优先级最高的第一结果或第三结果作为输出结果。
159.由于第三结果和第一结果一样,都是真实结果。因此当优先级最高的分析结果是第一结果或者第三结果时,都说明当前未生成分析结果的第二分析任务,均无需进行等待。因此在s1032和s1033之后,都可以执行s1042的操作。
160.s105,若排序结果中优先级最高的结果为第二结果,则获取该优先级最高的第二结果对应的第三结果,并将该第三结果作为输出结果。其中,该第三结果为目标分析任务生成的分析结果,目标分析任务为与目标数据分析模型对应的第二分析任务,目标数据分析模型为该优先级最高的第二结果所属的数据分析模型。
161.当排序结果中优先级最高的结果为第二结果时,说明该第二结果为最适宜的输出结果。但由于该第二结果是对第二分析任务的预测结果,并非第二分析任务生成的真实结果。因此不能直接将该第二结果作为输出结果,而是需要等待获取到该第二结果对应的第三结果后,再将对应的第三结果作为输出结果。其中,与第二结果对应的第三结果的确定操作可以包括:先确定该第二结果所属的数据分析模型,再查找出该数据分析模型对应的第二分析任务,并等待该第二分析任务生成对应的第三结果。
162.同时应当说明地,本技术实施例中输出结果的输出对象需根据实际应用情况确定,以满足实际应用需求,包括但不限于如:1、处理模型自身的其他功能模块或者处理层。2、与处理模型协作的其他模型。3、除作为执行主体的设备以外的其他设备。4、直接由设备向用户进行输出,例如进行语音播报。
163.本技术实施例中,首先利用预先训练好的数据分析模型对第二类分析任务进行结果预测。再在所有第一类分析任务和数据分析模型均生成了对应的分析结果后,对生成的分结果进行优先级排序。最后根据排序结果的情况来确定是否需要继续等待第二分析任务生成分析结果。由于对第二类分析任务的结果预测和排序等操作,是在等待第二类分析任务生成分析结果的过程中执行的,因此是对等待时间的复用,无需增加额外的等待时长。在优先级最高的结果为真实结果时,可以将该真实结果作为输出结果。此时对于尚未完成的第二类分析任务,均无需等待其生成分析结果。因此相对传统的等待所有分析任务生成分析结果而言,可以减少大量的等待耗时,提高处理效率。而在优先级最高的结果为预测结果时,仅需等待该预测结果对应的真实结果的生成。相对传统的等待所有分析任务生成分析结果而言,舍弃了对大多数第二分析任务的等待。使得本技术实施例的等待总时长大大减小,提高了处理效率。
164.图2a示出了本技术实施例二提供的基于多分析任务的数据分析方法的实现流程图,详述如下:
165.s201,获取待处理数据,触发并行的至少一个第一分析任务和至少一个第二分析
任务,其中,第一分析任务和第二分析任务均用于对待处理数据进行分析。
166.其中,s201具体的操作细节和原理等,与图1b所示实施例中s101步骤相同,因此可参考对s101的说明,此处不予赘述。
167.s202,获取与各个第二分析任务一一对应的数据分析模型,并将待处理数据输入至数据分析模型中进行处理,其中,数据分析模型用于对对应的第二分析任务进行结果预测。
168.其中,s202具体的操作细节和原理等,与图1b所示实施例中s102步骤相同,因此可参考对s102的说明,此处不予赘述。
169.s2031,获取第一分析任务生成的第一结果,以及数据分析模型生成的第二结果。获取各个第二结果对应的置信度。若获取到所有第一分析任务和数据分析模型生成的结果,对获取到的第一结果和第二结果进行优先级排序,得到对应的第一排序结果。
170.其中,s2031具体的操作细节和原理等,与图1b所示实施例中s1031步骤基本相同,因此可参考对s1031的相关说明,此处不予赘述。此处仅对s2031与s1031的不同之处进行说明如下:
171.实际应用中发现,各个分析任务对数据分析响应的能力可能存在一定的差异。对于一个待处理数据的处理,单个分析任务输出的分析结果可能会存在以下几种情况:
172.1、分析结果与待处理数据匹配度很高,可以准确响应待处理数据。如假设语音助手中,用户语音内容为“今天天气”。对于负责天气查询的分析任务而言,若分析结果为当天的天气数据,则说明该分析结果与待处理数据的匹配度很高。
173.2、分析结果与待处理数据匹配度较低,从而无法准确响应待处理数据。例如假设语音助手中,用户语音内容为“推荐一下附近好吃的火锅”。对于负责美食查询的分析任务而言,此时若分析结果为用户附近评分高的面包店,则说明该分析结果与待处理数据的匹配度很低。
174.3、分析结果与待处理数据不匹配,属于分析任务对待处理数据进行强响应得到结果,此时无法正常响应待处理数据。例如假设语音助手中,用户语音内容为“推荐一下附近好吃的火锅”。对于负责天气查询的分析任务而言,理论上是无法得到有效的分析结果的。但实际应用中,第三方服务商为了提高用户对自身服务的使用率增大自身流量,可能会对这些不相关的待处理数据设置强响应的策略。如可能会生成当天天气的分析结果。由于当天天气与“推荐一下附近好吃的火锅”不相关,因此此时分析结果与待处理数据不匹配。
175.由上述说明可知,对于不同的分析任务而言,生成的分析结果与待处理数据的匹配度可能会存在一定差异。这些差异会影响最终对待处理数据的响应。为了提高最终输出结果与待处理数据的匹配度,在本技术实施例在进行多分析任务数据处理时,会同步将各个分析任务生成的分析结果与待处理数据的匹配度情况进行考虑。具体而言,会将这些匹配度情况以置信度的形式进行量化。其中,本技术实施例不对置信度的数据形式进行限定,可由技术人员自行设定。例如可以将第二结果的置信度设置为一个具体的数值,亦可先设定多个置信度等级,并将第二结果的置信度设置为一个具体的置信度等级。
176.由于数据分析模型是对第二分析任务的模拟预测。其目的是尽可能地向第二分析任务的输入输出靠近,而不是提高分析结果的准确性和效率等。即不同数据分析模型分析结果的置信度是可能一定差别的。因此本技术实施例在获取第二结果时,还会获取各个第
二结果的置信度,以为后续的分析结果排序和筛选等提供数据。其中,本技术实施例不对第二结果置信度的获取方式进过多限定,可由技术人员自行选取或设定。在一些可选实施例中,各个第二结果的置信度可以由数据分析模型自行生成。此时需要在训练数据分析模型时,根据训练的样本数据,检测分析模型实际输出分析结果的置信度。而在另一些可选实施例中,亦可以对各个第二分析任务的历史待处理数据和分析结果进行匹配度分析,确定出各个第二分析任务对应的分析结果置信度。再将该置信度设置为对应的第二结果的置信度。
177.作为本技术的一个可选实施例,s2031亦可以被替换为s2032或者s2033,其中s2032和s2033如下:
178.s2032,获取第一分析任务生成的第一结果、数据分析模型生成的第二结果以及第二分析任务生成的第三结果。获取各个第二结果对应的置信度。若获取到所有第一分析任务和数据分析模型生成的结果,对获取到的第一结果、第二结果和第三结果进行优先级排序,得到对应的第一排序结果。
179.s2033,获取第一分析任务生成的第一结果、数据分析模型生成的第二结果以及第二分析任务生成的第三结果。获取各个第二结果对应的置信度。若获取到所有第一分析任务和数据分析模型生成的结果,剔除与获取到的第三结果对应的第二结果,并对剔除操作之后剩余的第一结果、第二结果和第三结果进行优先级排序,得到对应的第一排序结果。
180.其中,s2032和s2033具体的操作细节和原理等,与s1032和s1033步骤基本相同,因此可参考对s1032和s1033的相关说明,此处不予赘述。与s1032和s1033的不同之处在于,s2032和s2033会同步获取各个第二结果的置信度。其中,关于置信度的相关说明,可参考s2031中的说明,此处不予赘述。
181.作为本技术的一个可选实施例,考虑到置信度过低时,说明分析结果与待处理数据的匹配度较低,甚至可能是强响应的结果。因此为了提高分析结果排序的有效性,提高对待处理数据分析的效率。在本技术实施例中,s2031、s2032和s2033在进行优先级排序之前,均可以先将置信度低于预设第二阈值的第二结果进行剔除。再对剔除后剩余的分析结果进行排序。其中第二阈值的具体值可由技术人员根据实际需求进行设定,此处不予限定。
182.s204,识别第一排序结果内优先级最高的前n个分析结果中是否包含目标结果,其中,目标结果为置信度高于第一阈值的第二结果。n为大于1的整数。若前n个分析结果中不包含目标结果,执行步骤s2051或s206。若前n个分析结果中包含目标结果,执行步骤s207或者s2081。
183.由于置信度的高低可以反映出分析结果与待处理数据的匹配度情况。对于均为预测结果的第二结果而言,当第二结果置信度较高时,说明其有较大的可能是与待处理数据匹配的分析结果。而对于置信度不是很高的第二结果而言,则说明其一定可能是与待处理数据匹配的分析结果。在本技术实施例中,将置信度较高的第二结果统一命名为目标结果。同时为了实现对置信度较高和不高的区分,本技术实施例会预先设置一个第一阈值。并将置信度高于该第一阈值的第二结果判定为置信度较高的第二结果,将置信度不高于该第一阈值的第二结果判定为置信度不高的第二结果。其中第一阈值的具体值此处不予限定,可由技术人员根据置信度的数据形态和应用场景的实际需求进行设定。例如,当置信度均为数值时,第一阈值亦是一数值。而当置信度为等级时,第一阈值则为一具体等级。
184.应当说明地,当结合上述可选实施例:“s2031、s2032和s2033在进行优先级排序之前,均可以先将置信度低于预设第二阈值的第二结果进行剔除。再对剔除后剩余的分析结果进行排序。”进行应用时。第二阈值应当低于第一阈值。此时根据第一阈值和第二阈值,可以将第二结果划分为:高置信度、中置信度和低置信度三种状态。其中高置信度是指第二结果的置信度高于第一阈值。中置信度是指第二结果的置信度高于第二阈值且低于第一阈值。低置信度是指第二结果的置信度低于第二阈值。
185.在图1b所示实施例中,对第一排序结果内的分析结果进行输出结果选取时,对所有的分析结果仅考虑了优先级的情况。但实践中发现,对于一些高置信度的第二结果而言,其最终对应的第三结果有较大可能是待处理数据实际匹配的分析结果。但由于数据分析模型是通过模拟或结果评估的方式来实现对第二分析任务的结果预测,难以保障预测得到的第二结果与第二分析任务真实生成的第三结果每次都完全相同。进而导致了第二结果的优先级情况,有时可能会与对应的第三结果的优先级情况存在一定的差异。因此对于置信度较高的第二结果而言,若因为其与对应的第三结果的优先级情况差异导致最终未被选为输出结果时,有可能会将该第二结果误舍弃,进而导致最终输出结果的准确性下降。但另一方面,实际应用亦发现,第二结果的优先级情况与对应的第三结果的差异一般不会非常大。因此对于一些优先级较低的高置信度的第二结果而言,其对应的第三结果往往优先级也不会太高。
186.基于上述原理分析,因此本技术实施例在得到第一排序结果之后,首先会识别其中优先级最高的前n个分析结果中是否包含高置信度的第二结果,并根据识别的结果进行区分处理。此时无需对优先级较低的分析结果进行置信度高低的分析。进而使得本技术实施例在保障输出结果准确性的同时,亦无需进行过多的分析结果置信度的分析处理,使得对输出结果分析的效率亦可得到提高。其中,n的具体值可由技术人员根据实际场景需求或经验设定,此处不予限定。例如在一些可选实施例中,可以设置为2~5中的任意一个数值。
187.s2051,若第一排序结果中优先级最高的结果为第一结果,则将该优先级最高的结果作为输出结果。
188.当前n个分析结果中不包含高置信度的第二结果,且优先级最高的分析结果为第一结果时。说明当前优先级最高的分析结果即为与待处理数据最为匹配的结果。因此此时本技术实施例会将该优先级最高的分析结果作为最终的输出结果。
189.对应于s2032和s2033的情况,此时s2051可以被替换为:
190.s2052,若第一排序结果中优先级最高的结果为第一结果或第三结果,则将该优先级最高的第一结果或第三结果作为输出结果。
191.由于第三结果和第一结果一样都是真实结果。因此当第一排序结果中包含第三结果,且优先级最高的分析结果是第一结果或者第三结果时。都说明当前未生成分析结果的第二分析任务,均无需进行等待。因此在s2032和s2033之后,都可以执行s2052的操作。
192.s206,若第一排序结果中优先级最高的结果为第二结果,则获取该优先级最高的第二结果对应的第三结果,并将该第三结果作为输出结果。其中,该第三结果为目标分析任务生成的分析结果,目标分析任务为与目标数据分析模型对应的第二分析任务,目标数据分析模型为该优先级最高的第二结果所属的数据分析模型。
193.当前n个分析结果中不包含高置信度的第二结果,且优先级最高的分析结果为第
二结果时。说明当前优先级最高的第二结果与待处理数据的匹配度较高。但由于第二结果是预测结果而非真实结果,因此本技术实施例会获取第二结果对应的第三结果作为输出结果。其中,具体的第三结果的确定操作与s105基本相同,可以参考s105中的相关说明,此处不予赘述。
194.s207,若第一排序结果中优先级最高的结果为目标结果,则获取该优先级最高的目标结果对应的第三结果,并将该第三结果作为输出结果。
195.当优先级最高的分析结果为目标结果时。说明该目标结果与待处理数据的匹配度较高。但由于目标结果是预测结果而非真实结果,因此本技术实施例会获取目标结果对应的第三结果作为输出结果。其中,具体的第三结果的确定操作与s105基本相同,可以参考s105中的相关说明,此处不予赘述。
196.s2081,若第一排序结果中优先级最高的结果不为目标结果,获取前n个分析结果中所有目标结果对应的第三结果。并对前n个分析结果中的第一结果、置信度低于第一阈值的第二结果,以及获取到的第三结果进行优先级排序,得到对应的第二排序结果。
197.虽然第一排序结果中优先级最高的结果不为目标结果,但目标结果仍处于第一排序结果优先级最高的前n个分析结果中,说明目标结果和优先级最高的分析结果与待处理数据的匹配度差异并不大。同时考虑到真实结果和对应的预测结果的优先级排序可能会存在一定的差异。即说明目标结果对应的第三结果,仍具有一定可能是与待处理数据相匹配的结果。此时若将不理会目标结果,将第一排序结果中优先级最高的结果作为输出结果。极有可能会造成对目标结果的误舍弃。进而导致对最终输出结果选取的准确性降低。
198.为了防止对目标结果的误舍弃,在第一排序结果优先级最高的前n个分析结果内包含目标结果,且优先级最高的结果不为目标结果时。本技术实施例会获取所有目标结果对应的第三结果。并在获取到所有目标结果对应的第三结果后,再次对前n个分析结果中的第一结果、置信度低于第一阈值的第二结果,以及获取到的第三结果进行优先级排序,并得到对应的第二排序结果。
199.其中应当说明的,本技术实施例仅会等待目标结果对应的第三结果,而不会等待中置信度的第二结果对应的第三结果。但实际应用中发现,在获取到所有目标结果对应的第三结果之前,中置信度的第二结果也有可能会生成第三结果。为了应对此种情况,作为本技术的一个可选实施例,若在获取到所有目标结果对应的第三结果之前,中置信度的第二结果也生成了第三结果。此时可以将这些第三结果替换对应的中置信度的第二结果,并参与s2081中的优先级排序。或者也可以不替换对应的中置信度的第二结果,而是直接将这些第三结果纳入排序对象中。具体可由技术人员选取其中一种方式进行处理,亦可以根据实际需求自行设定实际的处理方式,此处不予限定。
200.s209,若第二排序结果中优先级最高的结果为第一结果或第三结果,则将该优先级最高的第一结果或第三结果作为输出结果。
201.在得到第二排序结果之后,若其中优先级最高的结果为第一结果或第三结果。由于第一结果和第三结果都是真实结果。因此说明当前未生成分析结果的第二分析任务,均无需进行等待。将优先级最高的真实结果作为输出结果即可。
202.s210,若第二排序结果中优先级最高的结果为第二结果,则获取该优先级最的第二结果对应的第三结果,并将该第三结果作为输出结果。
203.若第二排序结果中优先级最高的为第二结果,此时说明该第二结果与待处理数据的匹配度较高。但由于第二结果是预测结果而非真实结果,因此本技术实施例会获取第二结果对应的第三结果作为输出结果。其中,具体的第三结果的确定操作与s105基本相同,可以参考s105中的相关说明,此处不予赘述。
204.作为本技术的一个可选实施例,在s207得到的第一排序结果中优先级最高的结果不为目标结果时。亦可以等待获取到前n个分析结果中所有第二结果对应的第三结果之后,再进行二次优先级排序。此时排序的内容均为真实结果,无需再考虑第二排序结果内优先级最高的分析结果情况。对应的,参考图2b,s2081可以被替换为s2082:
205.s2082,若第一排序结果中优先级最高的结果不为目标结果,获取前n个分析结果中所有第二结果对应的第三结果。并对前n个分析结果中的第一结果和获取到的第三结果进行优先级排序,得到对应的第二排序结果。
206.s2082与s2081的区别在于,会等待前n个分析结果中所有第二结果对应的第三结果,而不是仅等待其中目标结果对应的第三结果。因此s2082之后无需进行s209和s210的判断操作。对应的,s2082之后,执行s211的操作:
207.s211,将第二排序结果中优先级最高的结果作为输出结果。
208.由于第二次优先级排序的内容为第一结果和第三结果,这些结果均为真实结果。因此无需再进行等待,将优先级最高的结果作为输出结果即可。
209.考虑到实际情况中预测结果与真实结果之间可能存在差异,使得第二结果与第三结果之间优先级情况亦可能存在差异。在此基础上,在高置信度的第二结果优先级靠前但非优先级最高时,若直接将优先级最高的结果作为输出结果。可能会出现对高置信度的第二结果的误舍弃。进而导致输出结果准确性降低。为了防止这种情况发生,本技术实施例在获取到对第一结果和第二结果的第一排序结果后,会判断优先级最高的前n个结果中是否包含高置信度的第二结果。并会在其中包含高置信度的第二结果且该高置信度的第二结果不为优先级最高的结果时,等待高置信度的第二结果对应的第三结果生成。最后再对前n个结果中的第一结果和获取到的第三结果进行二次排序,并将其中优先级最高的结果作为输出结果。从而使得本技术实施例可以实现对高置信度的第二结果对应的第三结果的重排序,防止对高置信度的第二结果的误舍弃。进而提高了最终输出结果的准确性。
210.同时由于上述本技术实施例的操作均是在等待第二类分析任务生成分析结果的过程中执行的,因此是对等待时间的复用,无需增加额外的等待时长。且根据实际优先级排序情况的不同,本技术实施例可以舍弃对大部分第二分析任务的等待(甚至可能可以舍弃对所有第二分析任务的等待),使得本技术实施例的等待总时长大大减小,提高了处理效率。
211.以一实例对图1b至图2b所示实施例进行举例说明,可以参考图2c。在本技术实施例中,假设共有分析任务1、分析任务2、分析任务3和分析任务4共4个分析任务(实际应用中可以包含更多或更少的分析任务)。其中,分析任务4是由第三方服务商提供的第二类分析任务。同时设n=2。在此基础上电子设备提供数据接入统一接口获取待处理数据,并会在获取到待处理数据时进行待处理数据的解析,确定出对应所需启动的相关线程。再执行对应的各个线程。线程执行后,触发待处理数据对应的多个独立分析任务。同时,会确定出用于模拟分析任务4的数据分析模型,并利用该数据分析模型来模拟分析任务4对待处理数据进
行分析。在触发多分析任务之后,一方面,分析任务1至3会生成对应的第一结果。另一方面数据分析模型会的到预测的第二结果。再一方面,分析任务4亦可能会生成真实的第三结果。
212.在分析任务1至3和数据分析模型均生成分析结果时,若分析任务4还没有生成结果。此时本技术实施例会将分析任务1至3和数据分析模型生成的结果进行排序,并挑选结果。挑选规则为:
213.当优先级最高的两个结果中不包含数据分析模型生成的结果,则将优先级最高的结果作为最终输出结果。
214.当优先级最高的两个结果中包含数据分析模型生成的结果,则等待分析任务4的结果返回结果,再重新排序和挑选挑选结果。
215.在分析任务1至3和数据分析模型均生成分析结果时,若分析任务4已经生成了第三结果。则会根据第一阈值和第二阈值,判断第三结果的置信度水平。
216.当为第三结果的置信度高置信度或者中置信度时,会保留第三结果,并和分析任务1至3生成的结果进行排序。当为第三结果的置信度低置信度时,则会舍弃第三结果,并将分析任务1至3的结果进行排序。排序之后,再将优先级最高的结果作为输出结果。
217.在确定出输出结果之后,执行结果(即将输出结果输出)。并在执行结果之后,继续开始对下一个待处理数据的处理。
218.其中,电子设备中设置有一个总控模块,用于控制上述的多分析任务触发、结果排序、挑选结果和执行结果等操作的执行。
219.对图1b所示实施例以及图2a所示实施例的一些相关说明如下:
220.一、在s105、s206、s207和s210判定第二结果为匹配度较高的结果时,获取第二结果对应的第三结果,并将获取到的第三结果作为输出结果的操作,均可被替换为:
221.基于待处理数据,获取第二结果对应的缓存结果。并将获取到的缓存结果作为输出结果。
222.考虑到第二类分析任务的不确定因素较多,有时可能需要较长时间才能得到第二分析任务的分析结果。因此在等待预测结果对应的真实结果时,也有可能需要等待较长的时间。为了改善这一情况,本技术实施例在获取到第二类分析任务的分析结果之后,会将分析结果和当次的待处理数据进行关联缓存。在需要获取该第二类分析任务的分析结果时,本技术实施例不用等待该第二类分析任务生成分析结果,而是读取其对应的缓存结果即可。其中,为了保障对待处理数据响应的准确性,在进行缓存结果读取时,可以设置一些对应的匹配规则。例如在一些实施例中,可以设置为必须要求当次的待处理数据和缓存的待处理数据相同,才可以将缓存的待处理数据对应的分析结果作为第二结果对应的缓存结果。在另一些实施例中,为了保障缓存结果的时效性,还可以在待处理数据相同的基础上,加上一个缓存时间限制。即需待处理数据相同且缓存时间较近的时候,才将缓存的待处理数据对应的分析结果作为第二结果对应的缓存结果。
223.作为本技术的一个可选实施例,亦可将上述的等待真实结果和获取缓存结果结合应用。即预先设置一个等待时长阈值。在s105、s206、s207和s210判定第二结果为匹配度较高的结果时,先等待第二结果对应的第三结果。若等待的时长大于该等待时长阈值,则结束等待,并读取第二结果对应的缓存结果。此时既可以尽可能地使用真实结果作为输出结果,
又可以防止第二分析任务耗时过长导致整个数据分析过程耗时过长的问题出现,保障处理模型的效率。
224.二、关于图1b所示实施例以及图2a所示实施例中数据分析模型的几点说明如下:
225.1、可以基于知识蒸馏的教师-学生(teacher-student)模型,来实现对数据分析模型的构建和训练。
226.知识蒸馏是一种同任务迁移学习,其中迁移学习是机器学习的一个分支,迁移学习也就是将一个模型的性能迁移到另一个模型上。本技术实施例中的教师-学生模型,属于迁移学习的一种。在本技术实施例中,教师-学生模型中的教师模型为第二类分析任务,学生模型是本技术实施例中的数据分析模型。
227.由于教师-学生模型可以实现从教师模型到学生模型的学习,使得学生模型可以模仿出教师模型的行为,实现相当的精度。因此本技术实施例得到的数据分析模型,可以实现对各个第二类分析任务的有效模拟,保障对各个第二类分析任务分类结果的有效预测和优先级排序分析。同时知识蒸馏可以使得学生模型更加轻量化,从而使得数据分析模型的体积更小,相对对应的第二类分析任务而言模型效率更高。从而使得本技术实施例中的数据分析模型可以在保障准确率的情况下更快地生成分析结果。
228.2、在对数据分析模型的训练过程中,可以增加一个用于识别输出结果是否准确的分类器。基于分类器判断模型训练过程中生成的结果是否准确,并反馈给数据分析模型进行参数更新训练,以减少数据分析模型出现强响应的情况。
229.由图1b所示实施例以及图2a所示实施例中的说明可知,分析任务有可能会出现强响应的情况。即分析任务为了响应待处理数据,会生成一个与待处理数据无关的分析结果。强响应的分析结果可能导致最终对分析结果的优先级排序和输出结果确定存在一定的误差。例如当一个强响应的分析结果被确定为输出结果时,会导致处理模型的输出不准确。数据分析模型作为对第二类分析任务的模拟模型,若仅利用传统的迁移学习来训练数据分析模型,得到的数据分析模型也可能存在强响应的情况。
230.为了改善数据分析模型强响应的情况,在本技术实施例中会预先训练好一个可以对分析结果准确性进行分析的分类器。其中,对分类器的构建和训练方法此处不予限定,可由技术人员根据实际需求选取或设置。例如,在一些可选实施例中,可以将第二类分析任务历史处理的待处理数据和对应的分析结果进行记录,并对是否为强响应进行标记。在此基础上,可以通过查询记录数据的方式,判断数据分析模型每次生成的分析结果是否为强响应的结果。在本技术的另一些可选实施例中,亦可将第二类分析任务历史处理的待处理数据和对应的分析结果作为样本数据。在对样本数据进行是否为强响应的标记后,进行分类器的模型训练,得到可以进行分析结果对待处理数据强响应分析的分类器模型。其中本技术实施例不对该分类器的模型种类进行限定,可由技术人员根据实际需求进行选取或设定,例如可以选取深度梯度提升树(deep gradient boosting machine,deepgbm)模型来作为分类器模型。
231.在训练好分类器的基础上,本技术实施例对数据分析模型进行模型训练时,每次数据分析模型生成分析结果后,会使用分类器判断该分析结果是否为强响应结果。并将该判断结果作为下一次数据分析模型参数迭代更新的特征数据。直至数据分析模型收敛,完成模型训练。
232.作为本技术的另一个可选实施方式,亦可以构建更为精确的分类器。即分类器不仅可以识别分析结果是否为强响应,还可以对分析结果响应待处理数据的准确性进行分析。其中,构建的原理可以参考前述对识别是否为强响应的分类器的构建说明。此时在对作为样本数据的分析结果进行标记时,不仅需要标记是否为强响应还需要标记其对应的准确性。
233.在本技术实施例中,通过在数据分析模型训练的过程中加入可识别分析结果是否为强响应的分类器,并根据分类器的判断结果来实现对数据分析模型参数更新的反馈。使得训练得到的数据分析模型相对原本的第二类分析任务而言,不易出现强响应的情况。进而使得最终输出结果的准确性得以提升。
234.3、数据分析模型可以在线进行更新,使得数据分析模型可以更好地适应待处理数据和分析结果之间匹配关系的动态变化需求,实现对第二类分析任务的有效模拟。
235.由于实际情况中,待处理数据与分析结果之间的匹配关系有可能会存在一定的动态变化。从而使得同一待处理数据,在不同时期对应的最佳响应分析结果可能会存在一定的差异。例如人机交互场景中,对于外卖功能的分析任务而言。同一对话内容“周围好吃的外卖推荐”,在不同时期对应的推荐内容一般会存在一定差异。又例如对于一些基于用户喜好的个性化推送功能的分析任务而言,如用户的个性化音乐推送。面对同一用户信息,不同时期推送的内容也可能会存在差异。因此单个第二类分析任务而言,其本身对待处理数据的响应情况就可能会产生一定的动态变化。为了保障数据分析模型对第二类分析任务的模拟效果,在已有数据分析模型的基础上,本技术实施例还会在线对数据分析模型进行更新训练,详述如下:
236.在图1b所示实施例以及图2a所示实施例执行的同时,本技术实施例会等待各个第二类分析任务生成对应的第三结果。在获取到当次生成的第三结果时,会将该第三结果和当次的待处理数据作为样本数据,来对对应的数据分析模型进行参数更新训练。更新后的数据分析模型即可用于对下一次待处理数据的处理,以模拟实时的第二类分析任务。
237.以一实例进行举例说明,例如假设数据分析模型a是模拟第二分析任务b的模型。在图1b所示实施例以及图2a所示实施例执行的同时,无论图1b所示实施例以及图2a所示实施例实际判定结果是否需要等待第二分析任务b生成分析结果。本技术实施例都会等待第二分析任务b在对当次的待处理数据c进行处理,并得到生成的第三结果d。在获取到第三结果d之后,本技术实施例会将待处理数据c和第三结果d作为样本数据,来对数据分析模型a进行参数更新训练。更新后的数据分析模型a即可用于对下一次的待处理数据e的处理,以模拟第二分析任务b对待处理数据e的处理。
238.在本技术实施例中,通过对数据分析模型进行在线的持续学习更新,可以保障数据分析模型对第二类分析任务的模拟效果,适应待处理数据和分析结果之间匹配关系的动态变化需求。进而使得本技术实施例中的对待处理数据的分析处理可靠性得以保障。
239.4、在说明点3的基础上,可以对每次获取到的第三结果和对应的待处理数据进行分析。基于分类器判断第三结果是否准确,并基于判断结果作为数据分析模型在线更新的输入数据,进行数据分析模型在线更新,以减少数据分析模型出现强响应的情况。
240.由上述各点的说明可知,分析任务生成的分析结果有可能是强响应的结果。此时生成的分析结果与待处理数据并不匹配。在对数据分析模型的在线更新过程中,若当次的
第三结果为强响应的结果。此时基于该强响应的第三结果对数据分析模型在线更新,会导致数据分析模型后续数据分析过程中也有可能出现强响应的情况,进而导致最终对分析结果的优先级排序和输出结果确定存在一定的误差。为了避免这一情况出现,本技术实施例会在每次对数据分析模型在线更新之前,先对当次获取到的第三结果和待处理数据进行检测,判断第三结果是否准确,并提供至少以下三种可选的处理方式:
241.方式1、在得到第三结果之后,检测第三结果与待处理数据是否匹配(即是否为强响应结果,若不匹配则判定为是强响应结果,若匹配则不是强响应结果)。
242.若是强响应结果,此时本技术实施例不会将该第三结果和待处理数据作为样本数据对数据分析模型进行更新。以保障对数据分析模型在线更新的有效性。若不是强响应结果,则将该第三结果和待处理数据作为样本数据对数据分析模型进行更新。
243.其中本技术实施例不对具体第三结果和待处理数据是否匹配的检测方法进行限定,可由技术人员根据实际需求进行选取或设定。例如,在一些实施例中,可以将第二类分析任务历史处理的待处理数据和对应的分析结果进行记录,并对是否为强响应进行标记。在应用中,根据记录数据来查询当次的第三结果和待处理数据是否为标记的强响应情况。若是,则判定为当次的第三结果与待处理数据不匹配,属于强响应。或者亦可以构建一个用于识别输出结果是否准确的分类器,并利用分类器来实现匹配检测。
244.方式2、在得到第三结果之后,检测第三结果与待处理数据是否匹配。
245.若是强响应结果,则生成负反馈数据,作为下一次数据分析模型参数迭代更新的特征数据。直至数据分析模型收敛,完成模型训练。
246.若不是强响应结果,则生成正反馈数据,作为下一次数据分析模型参数迭代更新的特征数据。直至数据分析模型收敛,完成模型训练。
247.方式3、在得到第三结果之后,检测第三结果与待处理数据是否匹配。
248.若是强响应结果,则生成负反馈数据,作为下一次数据分析模型参数迭代更新的特征数据。直至数据分析模型收敛,完成模型训练。
249.若不是强响应结果,则对第三结果进行准确性评估,并根据评估结果来生成正反馈数据,用于下一次数据分析模型参数迭代更新的特征数据。直至数据分析模型收敛,完成模型训练。
250.另外,方式2和3亦可以结合应用。可以参考图2d,在本技术实施例中在得到第三结果之后,检测第三结果是否为强响应结果。
251.若是强响应结果,则生成负反馈数据,作为下一次数据分析模型参数迭代更新的特征数据。直至数据分析模型收敛,完成模型训练。
252.若不是强响应结果,则可以选择是否进行第三结果的准确性评估。若不评估,则直接生成正反馈数据,作为下一次数据分析模型参数迭代更新的特征数据。若评估,则根据评估结果来生成正反馈数据,用于下一次数据分析模型参数迭代更新的特征数据。直至数据分析模型收敛,完成模型训练。
253.本技术实施例不对正反馈数据和负反馈数据的具体数据形式做过多限定,可由技术人员根据实际需求设定。例如反馈数据可以是包括当前处理的第三结果、待处理数据以及一个表征第三结果和待处理数据匹配度的权重系数。其中对于正反馈数据,权重系数可以设置为一个较大的值。而对于负反馈数据而言,则权重系数设置为一个较小的值。权重系
数可供数据分析模迭代更新时参考使用。具体权重系数较大值和较小值对应的数值,可由技术人员自行设定,此处不做过多限定。
254.本技术实施例不对第三结果的准确性评估方法做过多限定,可由技术人员根据实际情况设定。作为本技术的一个可选实施例,考虑到实际应用中,处理模型对待处理数据的处理频率可能较高。例如一个大型的人机对话处理平台中,一秒可能需要处理成千上万条不同的对话内容。因此为了保障数据分析模型在对待处理数据高效准确分析,在对数据分析模型进行在线更新时,对在线更新的时效性往往要求较高。对应的,对每次获取到的第三结果和待处理数据是否为强响应情况的识别时效性要求亦较高。同时对第三结果的准确性评估时效性以要求较高。
255.为了满足对第三结果和待处理数据是否为强响应情况的快速识别。在本技术实施例中,首先会将第二类分析任务历史处理的待处理数据和对应的分析结果进行记录,并对是否为强响应进行标记。在此基础上,选取一个识别速度较快的模型作为本技术实施例中的识别模型,并将这些记录的数据作为样本数据来训练识别模型。从而得到可以快速识别第三结果和待处理数据是否为强响应的模型。同理,亦会选取一个对第三结果准确性计算速度较快的模型作为本技术实施例中的准确性评估模型。其中具体的识别模型和准确性评估模型种类此处不予限定,可由技术人员根据实际需求进行选取或设定。例如,在一些可选的实施例中,可以选用deepgbm模型来作为本技术实施例中的识别模型,选用pointwise hsic模型来作为本技术实施例中的准确性评估模型。
256.需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
257.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
258.应当理解,当在本技术说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
259.还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
260.如在本技术说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0261]
另外,在本技术说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。还应理解的是,虽然术语“第一”、“第二”等在文本中在一些本技术实施例中用来描述各种元素,但是这些元素不应该受到这些术语的限制。这些术语只是用来将一个元素与另一元素区分开。例如,第一表格可以被命名为第二表格,并且类似地,第二表格可以被命名为第一表格,而不背离各种所描述的实施例的范围。第一表格和第二表格都是表格,但是它们不是同一表格。
[0262]
在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0263]
本技术实施例提供的基于多分析任务的数据分析方法可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本、个人数字助理(personal digital assistant,pda)等电子设备上,本技术实施例对电子设备的具体类型不作任何限制。
[0264]
例如,所述电子设备可以是wlan中的站点(staion,st),可以是蜂窝电话、无绳电话、会话启动协议(session initiationprotocol,sip)电话、无线本地环路(wireless local loop,wll)站、个人数字处理(personal digital assistant,pda)设备、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、车联网终端、电脑、膝上型计算机、手持式通信设备、手持式计算设备、卫星无线设备、无线调制解调器卡、电视机顶盒(set top box,stb)、用户驻地设备(customer premise equipment,cpe)和/或用于在无线系统上进行通信的其它设备以及下一代通信系统,例如,5g网络中的电子设备或者未来演进的公共陆地移动网络(public land mobile network,plmn)网络中的电子设备等。
[0265]
作为示例而非限定,当所述电子设备为可穿戴设备时,该可穿戴设备还可以是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式智能设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,如智能手表或智能眼镜等,以及只专注于某一类应用功能,需要和其它设备如智能手机配合使用,如各类进行体征监测的智能手环、智能首饰等。
[0266]
图3是本技术一实施例提供的电子设备的结构示意图。如图3所示,该实施例的电子设备3包括:至少一个处理器30(图3中仅示出一个)、存储器31,所述存储器31中存储有可在所述处理器30上运行的计算机程序32。所述处理器30执行所述计算机程序32时实现上述各个基于多分析任务的数据分析方法实施例中的步骤,例如图1b所示的步骤101至106。或者,如图1c所示的步骤201至210。所述处理器30亦可以执行所述计算机程序32时实现上述各装置实施例中各模块/单元的功能。
[0267]
所述电子设备3可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述电子设备可包括,但不仅限于,处理器30、存储器31。本领域技术人员可以理解,图3仅仅是电子设备3的示例,并不构成对电子设备3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备还可以包括输入发送设备、网络接入设备、总线等。
[0268]
所称处理器30可以是中央处理单元(central processing unit,cpu),还可以是
其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0269]
所述存储器31在一些实施例中可以是所述电子设备3的内部存储单元,例如电子设备3的硬盘或内存。所述存储器31也可以是所述电子设备3的外部存储设备,例如所述电子设备3上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器31还可以既包括所述电子设备3的内部存储单元也包括外部存储设备。所述存储器31用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器31还可以用于暂时地存储已经发送或者将要发送的数据。
[0270]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0271]
本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
[0272]
本技术实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行时实现可实现上述各个方法实施例中的步骤。
[0273]
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电载波信号、电信信号以及软件分发介质等。
[0274]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0275]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0276]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
[0277]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使对应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
[0278]
最后应说明的是:以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1