【发明内容】
本发明提供了一种质量评价的方法和装置,解决现有技术中很难在评价准确性和节省资源之间取得平衡的缺陷。
具体技术方案如下:
一种质量评价的方法,该方法包括:按照第一时间周期周期性地执行小分收集步骤,按照第二时间周期周期性地执行统计汇总步骤,所述第一时间周期小于所述第二时间周期的时长;其中,
所述小分收集步骤包括:根据读取到的配置信息收集被评价对象对应的各质量因素的原始数据并存入小分表,所述配置信息包含质量因素以及各质量因素的权重;
所述统计汇总步骤包括:读取所述小分表中的原始数据,计算所述被评价对象在各质量因素的评分并写入所述小分表;利用所述被评价对象在各质量因素的评分计算所述被评价对象的总评分并写入总分表。
其中,在所述配置信息中各质量因素采用层级结构,质量因素的权重为在配置信息中该质量因素的本级权重与该质量因素所属各级质量因素的本级权重的乘积。
优选地,所述收集被评价对象对应的各质量因素的原始数据包括:
获取被评价对象对应的各质量因素的原始数据并将获取的原始数据转换为统一的格式。
更进一步地,所述统计汇总步骤还包括:将读取的所述小分表中的原始数据value进行归一化处理,利用归一化处理后得到的各原始数据nor_value执行计算所述被评价对象在各质量因素的评分的步骤。
其中,如果某质量因素的value为正向表达其权重含义的相对数量类型,则对所述某质量因素的value进行归一化处理得到的nor_value为:根据各商户在所述某质量因素的value正态分布所统计到的正态分布得分;
如果某质量因素的value为反向表达其权重含义的相对数量类型,则对所述某质量因素的value进行归一化处理得到的nor_value为:根据各商户在所述某质量因素的value反向正态分布所统计到的正态分布得分;
如果某质量因素的原始数据类型为带有累计效果的数量类型,则对所述某质量因素的value进行归一化处理得到的nor_value为:当前第一时间周期的value与第一设定权重的乘积加上上一第一时间周期的nor_value与第二设定权重的乘积得到的值,其中所述第二设定权重的值为小于1的正数。
更进一步地,所述统计汇总步骤还包括:将所述被评价对象在各质量因素的评分进行归一化处理后写入所述小分表。
较优地,所述统计汇总步骤还包括:
基于所述被评价对象的总评分,对所述被评价对象进行排序,并将所述被评价对象的排次写入所述总分表。
上述总分表可以包括:用于统计的后台总分表和用于提供查询的前台总分表。
一种质量评价的装置,该装置包括:小分收集单元和统计汇总单元;
所述小分收集单元,用于按照第一时间周期周期性地根据读取到的配置信息收集被评价对象对应的各质量因素的原始数据并存入小分表,所述配置信息包含质量因素以及各质量因素的权重;
所述统计汇总单元具体包括:
用于按照第二时间周期周期性地读取所述小分表中的原始数据的数据提取子单元;
用于根据所述数据提取子单元提取的原始数据计算所述被评价对象在各质量因素的评分并写入所述小分表的回写统计子单元;
用于利用所述被评价对象在各质量因素的评分计算所述被评价对象的总评分并写入总分表的统计汇总子单元;
其中,所述第一时间周期小于所述第二时间周期的时长。
所述配置信息中各质量因素采用层级结构,质量因素的权重为在配置信息中该质量因素的本级权重与该质量因素所属各级质量因素的本级权重的乘积。
具体地,所述小分收集单元包括:数据适配子单元和小分收集子单元;
所述数据适配子单元,用于获取被评价对象对应的各质量因素的原始数据并将获取的原始数据转换为统一的格式后提供给所述小分收集子单元;
所述小分收集子单元,用于根据读取到的配置信息收集被评价对象对应的各质量因素的原始数据并存入所述小分表。
更进一步地,所述统计汇总单元还包括:归一化子单元,用于将所述数据提取子单元提取的原始数据value进行归一化处理得到nor_value,以供所述回写统计子单元计算各质量因素得分时使用。
其中,如果某质量因素的value为正向表达其权重含义的相对数量类型,则对所述某质量因素的value进行归一化处理得到的nor_value为:根据各商户在所述某质量因素的value正态分布所统计到的正态分布得分;
如果某质量因素的value为反向表达其权重含义的相对数量类型,则对所述某质量因素的value进行归一化处理得到的nor_value为:根据各商户在所述某质量因素的value反向正态分布所统计到的正态分布得分;
如果某质量因素的原始数据类型为带有累计效果的数量类型,则对所述某质量因素的value进行归一化处理得到的nor_value为:当前第一时间周期的value与第一设定权重的乘积加上上一第一时间周期的nor_value与第二设定权重的乘积得到的值,其中所述第二设定权重的值为小于1的正数。
所述回写统计子单元还用于将所述被评价对象在各质量因素的评分进行归一化处理后再写入所述小分表。
优选地,所述统计汇总单元还包括:
排序处理子单元,用于基于所述被评价对象的总评分,对所述被评价对象进行排序,并将所述被评价对象的排次写入所述总分表。
所述总分表包括:用于统计的后台总分表和用于提供查询的前台总分表。
由以上技术方案可以看出,本发明通过两阶段的数据处理方式,即以较高频率进行小分收集的步骤,保证了评价准确性,同时以较低的频率进行统计汇总的步骤以得到质量评价,从而减少了数据量的存储,节省资源。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
在本发明实施例中可以采用两阶段式的数据处理方式,按照第一时间周期周期性地执行小分收集步骤,按照第二时间周期周期性地执行统计汇总步骤,其中第一时间周期小于第二时间周期的时长。小分收集步骤可以包括:根据读取到的配置信息收集被评价对象对应的各质量因素的原始数据并存入小分表,上述的配置信息中包含质量因素以及各质量因素的权重;统计汇总步骤可以包括:读取小分表中的原始数据,计算被评价对象在各质量因素的评分并写入上述小分表;利用被评价对象在各质量因素的评分计算被评价对象的总评分并写入总分表。
下面通过实施例一对本发明提供的方法进行详细描述。
实施例一、
图1为本发明实施例一提供的详细方法流程图,假设在该实施例中,第一时间周期为1天,第二时间周期为一周,也就是说,每执行7次小分收集步骤执行一次统计汇总步骤,假设此处的被评价对象为商户,如图1所示,以1天为周期周期性地执行步骤101至步骤102,以一周为周期周期性地执行步骤103至步骤105:
步骤101:根据读取到的配置信息收集商户对应的各质量因素的原始数据,其中配置信息包含质量因素以及各质量因素的权重配置信息。
配置信息可以以超文本预处理语言(PHP,Hypertext Preprocessor)文件的形式存在,各质量因素可以采用层级结构表示,例如图2所示。在一级质量因素中包括:商户信息、对用户的反馈和用户参与行为,本级权重分别为65%、5%和30%。其中,商户信息对应的二级质量因素包括:基础信息、综合多栏信息是否填写和可选模块,在本级权重分别为20%、30%和50%。可选模块对应的三级质量因素包括:产品、相册、优惠信息、视频、印象、论坛、留言和团购,在本级权重分别为20%、15%、15%、10%、10%、10%、10%、10%。其他质量因素不再一一赘述。
需要说明的是,一级质量因素的实际权重就是其本级权重,其他各级质量因素的实际权重为本级权重与其所属各级质量因素的本级权重的乘积。例如,质量因素“产品”的实际权重为:20%×50%×65%。
图2所示仅为本发明实施例提供的一种权重配置的实例,本发明并不限于这种具体的权重配置,可以根据实际的需求灵活地对质量因素的权重进行配置,例如,如果想让对用户的反馈对商户质量的影响较大,可以将商户信息、对用户的反馈和用户参与行为的本级权重分别配置为:30%、50%、20%;如果想让用户参与行为对商户质量的影响较大,可以将商户信息、对用户的反馈和用户参与行为的本级权重分别配置为:35%、20%、45%;诸如此类,只要保证具有相同上一级质量因素的各质量因素的权重之和为1即可。
通过这种层级结构能够灵活地增减或修改被评价对象的质量因素及对应权重,扩展性更强。
根据读取的配置文件,以1天为周期收集各商户对应的各质量因素的原始数据,所谓原始数据就是质量因素对应的信息状况,可以包括但不限于以下五种类型:
1)存在状况类型(Type-Exist),即该质量因素的原始数据就是有或者没有信息,例如:“广告语”质量因素的原始数据可以是:有广告语或者没有广告语。“商户电话”质量因素的原始数据可以是:有电话信息或者没有电话信息。
2)数量类型且该数量为绝对数量(Type-Num),例如:“留言回复数”质量因素的原始数据可以是具体的留言回复数量。
3)数量类型、该数量为正向的相对数量(Type_Rank),即商户的质量因素的原始数据需要其他商户在该质量因素的数据确定,且该数据正向表达其权重含义,例如:“好评率”质量因素的原始数据可以是该商户与其他因素相比的好评率。
4)数量类型且该数量为反向的相对数量(Type-Rank-NEG),即该商户的质量因素的原始数据需要其他商户在该质量因素的数据确定,且该数据反向表达其权重含义。例如,“差评率”质量因素的原始数据可以是该商户与其他商户(可以限定在同行业内)相比的差评率。
5)带有累计效果的类型,即商户的质量因素的原始数据需要将历史数据进行累加。例如,“页面浏览数”质量因素的原始数据需要将各时间段的页面浏览数进行累加。
除此之外,还可以收集商户所属的行业信息、商户性质信息、商户所属区域信息等。
优选地,本步骤中对原始数据进行收集后可以统一转换为相同的格式。
步骤102:将收集到的商户对应的各质量因素的原始数据存入小分表。
将每一个第一时间周期收集到的商户对应的各质量因素的原始数据都存入小分表。在该小分表中至少包括:商户标识(sh_id)、质量因素(pt_key)、该商户对应的各质量因素的原始数据(value),在本发明后续的实施例中采用val对各质量因素的原始数据进行标识、各质量因素的权重(percent)以及收集时间(time)。其中,sh_id、pt_key和time可以唯一标识一个表项,除此之外,在小分表中还可以进一步包括:商户所属的行业标识(cid)、商户性质标识(sh_mask)或者商户所属区域标识(locid)等。
由于各质量因素之间在执行层面没有关联,因此,除了可以采用统一的脚本执行上述小分收集步骤之外,也可以按照质量因素拆分为不同的脚本分别执行上述小分收集步骤,从而避免单脚本运行时间过长。
步骤103:读取小分表中的原始数据,计算商户在各质量因素的评分并写入小分表。
在计算商户在各质量因素的评分时,利用商户在各质量因素的原始数据以及各质量因素的实际权重计算。
也就是说,在小分表中还包括:商户各质量因素的评分(pt_score)以及更新时间(mtime)。
优选地,上述计算商户在各质量因素的评分时,可以利用各商户在各质量因素的原始数据进行归一化处理后的值计算。即将收集到的原始数据val写入小分表后,在统计汇总步骤中,可以将val进行归一化处理得到原始数据(nor_value),以供后续计算各质量因素得分时使用,后续实施例中将val进行归一化处理后得到的原始数据采用nor_val进行标识。具体地,根据质量因素的原始数据类型不同,nor_val的计算方式也不同,可以包括但不限于以下形式:
1)如果质量因素的原始数据类型为存在状况类型,则nor_val指示有或者没有的信息,例如,对于“广告语”的质量因素,商户有广告语,val填写1,商户无广告语,val填写0,nor_val可以填写100*val。
2)如果质量因素的原始数据类型为数量类型,且该数量为绝对数量,则val中填写具体的数量信息。例如:“留言回复数”质量因素,val中填写的就是具体的留言回复数量,nor_val可以填写val。
3)如果质量因素的原始数据类型为数量类型、该数量为正向的相对数量,即商户的质量因素的原始数据需要其他商户在该质量因素的数据确定,且该数据正向表达其权重含义,例如:“好评率”质量因素的原始数据可以是该商户与其他因素相比的好评率,val中填写好评的数量,nor_val中填写的是根据该质量因素在各商户的正态分布所统计到的正态分布得分,范围可以是[0,100]。
4)如果质量因素的原始数据类型为数量类型,且该数量为反向的相对数量,这种情况可以采用统计该质量因素在各商户的反向正态分布的方式确定nor_val中填写的数量信息。例如,“差评率”质量因素,val中填写差评的数量,nor_val中填写的是根据该质量因素在各商户的反向正态分布所统计到的正态分布得分,范围可以是[0,100]。
5)如果质量因素的原始数据类型为带有累计效果的数量类型,可以将权重随着数据时间的推移衰减的特性进行体现,即越久远的原始数据对应的权重贡献越低。val中填写具体数量,可以采用nor_val=当前第一时间周期的val×第一设定权重+上一第一时间周期的nor_val×第二设定权重,其中,第二设定权重的值小于1的正数。
特别地,如果某商户在某质量因素上不具备原始数据,即val为空,而与其共同参与排序的其他商户可能在该质量因素上具备原始数据,为了保证排序上的公平,则该商户的该质量因素的nor_val可以取其他商户在该质量因素的nor_val的平均值。例如,有些商户不具备点击付费(PPC)业务属性,因此其在“PPC电话接起率”质量因素上不具备原始数据,但对于属于同一行业的其他商户而言,在该质量因素上具备原始数据,则可以将其他商户在“PPC电话接起率”质量因素的nor_val平均值作为该商户在“PPC电话接起率”质量因素的nor_val。
为了方便nor_val的填写,配置文件中可以进一步包含各质量因素的nor_val填写类型(pt_type)。
另外,在计算出商户在各质量因素的评分之后,可以进一步将商户在各质量因素的评分进行归一化处理,然后将归一化处理的评分(nor_value)回写至小分表供后续计算商户总评分时使用。
步骤104:利用商户在各质量因素的得分计算商户的总评分并基于商户的总评分对商户进行排序。
在计算商户的总评分时,可以将商户在各质量因素的评分(该评分可以是pt_score,也可以是nor_value)进行求和得到。
在对商户进行排序时,可以基于所有商户进行排序,或者可以基于商户所属的行业在同行业内进行排序,或者可以基于商户所在的地域在同地域内进行排序等等。
步骤105:将商户的总评分和排次写入总分表。
在总分表中至少包括:商户标识(sh_id)和商户的总评分(score),如果计算出商户的排次,则在总分表中还可以包括商户的排次(rank)。还可以进一步包括:商户所属的行业标识(cid)、商户性质标识(sh_mask)、商户所属区域标识(locid)、写入时间(timel)或者商户状态(status)等等。其中status用于标识商户是否被删除,如果商户被删除,则该商户的status为deleted,如果商户没有被删除,则该商户的status为normal。
优选地,上述总分表可以包括:后台总分表和前台总分表。后台总分表可以用于统计操作,供后台页面访问。可以每隔设定时长,将后台总分表导入前台形成前台总分表,前台总分表可以仅用于提供查询,供前台页面访问。
需要说明的是,实施例一是以商户质量评价为例进行的描述,本发明实施例提供的上述方法同样可以适用于诸如环境质量评价、产品质量评价等其他领域,不同的仅是配置信息中质量因素的配置。
以上是对本发明所提供的方法进行的详细描述,下面通过实施例二对本发明所提供的装置进行详细描述。
实施例二、
图3为本发明实施例二提供的装置结构图,如图3所示,该装置可以包括:小分收集单元300和统计汇总单元310。
小分收集单元300按照第一时间周期周期性地根据读取到的配置信息收集被评价对象对应的各质量因素的原始数据并存入小分表,配置信息包含质量因素以及各质量因素的权重。
上述配置信息可以以PHP文件的形式存在,配置信息中各质量因素可以采用层级结构,在配置信息中可以配置各质量因素的本级权重,各质量因素的权重为在配置信息中该质量因素的本级权重与该质量因素所属各级质量因素的本级权重的乘积。
统计汇总单元310可以具体包括:
用于按照第二时间周期周期性地读取小分表中的原始数据的数据提取子单元311。
用于根据数据提取子单元311提取的原始数据计算被评价对象在各质量因素的评分并写入小分表的回写统计子单元312。
用于利用被评价对象在各质量因素的评分计算被评价对象的总评分并写入总分表的统计汇总子单元313。
在计算被评价对象的总评分时,可以将被评价对象在各质量因素的评分进行求和得到。
其中,上述第一时间周期小于第二时间周期的时长。
具体地,小分收集单元300可以包括:数据适配子单元301和小分收集子单元302。
数据适配子单元301获取被评价对象对应的各质量因素的原始数据并将获取的原始数据转换为统一的格式后提供给小分收集子单元302。
小分收集子单元302根据读取到的配置信息收集被评价对象对应的各质量因素的原始数据并存入小分表。
也就是说,小分收集子单元302结合配置信息和数据适配子单元301完成不同质量因素的原始数据收集,并将这些原始数据存入后台的小分表。数据适配子单元301可以直接从相关原始数据所来源的输出(Export)接口获取原始数据,并统一完成数据格式的转换。如果原始数据所来源的Export接口支持批量数据传输,则数据适配子单元301可以采用批量方式导入原始数据,以实现加速。
质量因素的原始数据val类型可以包括但不限于以下形式:
1)存在状况类型(Type-Exist),即该质量因素的原始数据就是有或者没有信息,例如:“广告语”质量因素的原始数据可以是:有广告语或者没有广告语。“商户电话”质量因素的原始数据可以是:有电话信息或者没有电话信息。
2)数量类型且该数量为绝对数量(Type-Num),例如:“留言回复数”质量因素的原始数据可以是具体的留言回复数量。
3)数量类型、该数量为正向的相对数量(Type_Rank),即商户的质量因素的原始数据需要其他商户在该质量因素的数据确定,且该数据正向表达其权重含义,例如:“好评率”质量因素的原始数据可以是该商户与其他因素相比的好评率。
4)数量类型且该数量为反向的相对数量(Type-Rank-NEG),即该商户的质量因素的原始数据需要其他商户在该质量因素的数据确定,且该数据反向表达其权重含义。例如,“差评率”质量因素的原始数据可以是该商户与其他商户(可以限定在同行业内)相比的差评率。
5)带有累计效果的类型,即商户的质量因素的原始数据需要将历史数据进行累加。例如,“页面浏览数”质量因素的原始数据需要将各时间段的页面浏览数进行累加。
另外,统计汇总单元310还可以进一步包括:归一化子单元314,用于将数据提取子单元311提取的原始数据(即val)进行归一化处理得到nor_val以供回写统计子单元312计算各质量因素得分时使用。
具体地,根据质量因素的原始数据类型不同,nor_val的计算方式也不同,可以包括但不限于以下形式:
1)如果质量因素的原始数据类型为存在状况类型,则nor_val指示有或者没有的信息,例如,对于“广告语”的质量因素,商户有广告语,val填写1,商户无广告语,val填写0,nor_val可以填写100*val。
2)如果质量因素的原始数据类型为数量类型,且该数量为绝对数量,则val中填写具体的数量信息。例如:“留言回复数”质量因素,val中填写的就是具体的留言回复数量,nor_val可以填写val。
3)如果质量因素的原始数据类型为数量类型、该数量为正向的相对数量,即商户的质量因素的原始数据需要其他商户在该质量因素的数据确定,且该数据正向表达其权重含义,例如:“好评率”质量因素的原始数据可以是该商户与其他因素相比的好评率,val中填写好评的数量,nor_val中填写的是根据该质量因素在各商户的正态分布所统计到的正态分布得分,范围可以是[0,100]。
4)如果质量因素的原始数据类型为数量类型,且该数量为反向的相对数量,这种情况可以采用统计该质量因素在各商户的反向正态分布的方式确定nor_val中填写的数量信息。例如,“差评率”质量因素,val中填写差评的数量,nor_val中填写的是根据该质量因素在各商户的反向正态分布所统计到的正态分布得分,范围可以是[0,100]。
5)如果质量因素的原始数据类型为带有累计效果的数量类型,可以将权重随着数据时间的推移衰减的特性进行体现,即越久远的原始数据对应的权重贡献越低。val中填写具体数量,可以采用nor_val=当前第一时间周期的val×第一设定权重+上一第一时间周期的nor_val×第二设定权重,其中,第二设定权重的值为小于1的正数。
特别地,如果某商户在某质量因素上不具备原始数据,即val为空,而与其共同参与排序的其他商户可能在该质量因素上具备原始数据,为了保证排序上的公平,则该商户的该质量因素的nor_val可以取其他商户在该质量因素的nor_val的平均值。例如,有些商户不具备PPC业务属性,因此其在“PPC电话接起率”质量因素上不具备原始数据,但对于属于同一行业的其他商户而言,在该质量因素上具备原始数据,则可以将其他商户在“PPC电话接起率”质量因素的nor_val平均值作为该商户在“PPC电话接起率”质量因素的nor_val。
另外,上述的回写统计子单元312还可以用于将被评价对象在各质量因素的评分进行归一化处理后再写入小分表,在计算评价对象的总评分时,可以使用各质量因素归一化处理后的评分进行计算。
除了对被评价对象进行评分之外,在某些情况下,需要对被评价对象在某设定范围内进行排序,此时,统计汇总单元还可以包括:排序处理子单元315,用于基于被评价对象的总评分,对被评价对象进行排序,并将被评价对象的排次写入总分表。例如,作为被评价对象的商户,可以基于所有商户进行排序,或者可以基于商户所属的行业在同行业内进行排序,或者可以基于商户所在的地域在同地域内进行排序等等。
上述的总分表可以包括:用于统计的后台总分表和用于提供查询的前台总分表。其中可以每隔设定时长将后台总分表导入前台形成前台总分表。
由以上描述可以看出,本发明提供的方法和装置可以包括以下优点:
1)本发明通过两阶段的数据处理方式,即以较高频率进行小分收集的步骤,保证了评价准确性,同时以较低的频率进行统计汇总的步骤以得到质量评价,从而减少了数据量的存储,节省资源。
2)分别对小分收集步骤和统计汇总步骤的数据进行存储,有利于对数据进行保护。
3)在配置信息中各质量因素以层级结构配置,方便灵活地增减或修改被评价对象的质量因素及对应权重,扩展性更强。
4)两阶段的处理方式方便使用分布式框架实现质量评价,例如采用map/reduce框架,在map阶段进行小分收集,在reduce阶段进行统计汇总,从而提高处理效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。