将用户数据的分布形态进行划分的方法及其装置与流程

文档序号:20617603发布日期:2020-05-06 20:21阅读:223来源:国知局
将用户数据的分布形态进行划分的方法及其装置与流程

本发明涉及数据处理领域,尤其涉及一种用于将用户数据的分布形态进行划分的方法、装置、计算机设备和计算机可读存储介质。



背景技术:

在互联网数据分布中,长尾分布是较为常见的一种用户数据分布形态,但是互联网研发人员通常关注长尾分布的“头部”用户,如在图5中示出的长尾分布中的区域i就是通常认为的“头部”用户数据;而对于长尾分布的“尾巴”部分的用户数据则不是那么关注,图5中示出的长尾分布中的区域ii就是通常认为的“尾部”用户数据。

在现有技术中一种方法是采用人工确定阈值划分的方式,在长尾分布中确定一个指标阈值,高于它的即是关注的用户群体。在现有技术中另一种方法是通过“二八开”等简单经验法则,确定一定比例的用户或者人群占比,按照指标具体排序圈取相应的用户或者人群。

但是上述方法都是比较模糊的划分方式,解释性较差,不能说明为什么这部分用户或者人群即是研发人员所关注的焦点用户或者人群;同时准确性堪忧,不易应用。

因此现有技术中需要一种合理的方式,将用户或者人群数据进行划分,从而筛选出头部用户或者人群数据。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

根据本发明的第一个方面,提供了一种用于将用户数据的分布形态进行划分的方法,可以包括:

将离散的用户数据进行曲线拟合;

针对得到的拟合曲线,计算拟合曲线上离散点处的曲率半径;

选择最小的曲率半径作为划分用户数据的分布形态的阈值。

在本发明第一个方面的一个实施例中,其中将离散的用户数据进行曲线拟合可以包括:

将离散的用户数据平滑化。

在本发明第一个方面的另一个实施例中,其中将离散的用户数据进行曲线拟合可以包括:

根据用户数据的分布形态,选择特定的拟合函数进行曲线拟合。

备选的,其中特定的拟合函数可以包括幂指数函数或者伽马函数等。

根据本发明的第二个方面,提供了一种用于将用户数据的分布形态进行划分的装置,可以包括:

拟合模块,用于将离散的用户数据进行曲线拟合;

计算模块,用于针对得到的拟合曲线计算拟合曲线上离散点处的曲率半径;

选择模块,用于选择最小的曲率半径作为划分用户数据的分布形态的阈值。

在本发明第二个方面的一个实施例中,其中拟合模块还用于将离散的用户数据平滑化。

在本发明第二个方面的另一个实施例中,其中拟合模块进一步用于根据用户数据的分布形态,选择特定的拟合函数进行曲线拟合。

备选的,其中特定的拟合函数包括幂指数函数或者伽马函数。

根据本发明的第三个方面,提供了一种计算机设备,可以包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述的方法。

根据本发明的第四个方面,提供了一种计算机可读存储介质,其存储有计算机程序,当该程序被处理器执行时实现上述的方法。

借助于本发明的用于将用户数据的分布形态进行划分的方法或者装置,可以方便地对用户数据的分布形态,例如长尾分布的分布形态,进行头部和尾部的阈值划分,这样更精准地获取到用于划分用户数据分布形态的头部和尾部的分割点。在应对多种特征划分场景时,均有较为有效的作用。借助于上述的方法和装置可以有利于互联网目标用户的切分,并且可以应用于信息智能推荐、精准营销及投放,并对用户进行个性化分析和深入理解等领域。

上述概述仅仅是为了说明的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。

附图说明

在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。

图1示意性示出根据本发明第一个方面的用于将用户数据的分布形态进行划分的方法的一个实施例;

图2示意性示出根据本发明第一个方面的将离散的用户数据进行曲线拟合的一个实施例;

图3示意性示出根据本发明第二个方面的用于将用户数据的分布形态进行划分的装置的一个实施例;

图4示意性示出根据本发明第三个方面的关于计算机设备的一个实施例。

图5是用户数据的分布形态为长尾分布情况下的示意图。

具体实施方式

下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。

在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。下文还可能包括其他明确的和隐含的定义。

图1示意性示出了根据本发明第一个方面的用于将用户数据的分布形态进行划分的方法10的一个实施例,可以包括下面的步骤:步骤2,将离散的用户数据进行曲线拟合;步骤4,针对得到的拟合曲线,计算拟合曲线上离散点处的曲率半径;步骤6,选择最小的曲率半径作为划分用户数据的分布形态的阈值。

在上述的步骤2中,通常每个用户数据可以认为是离散的,这时候将离散的用户数据进行曲线拟合可以使离散的数据平滑化,否则部分奇点会导致后续的导数计算得到不合适的曲率半径值。术语“奇点”通常是一个数学意义上被称为未定义的点,或当它在特别的情况下无法完序,以至于此点出现在于异常的集合中。因此从这种意义上讲,将离散的用户数据进行曲线拟合包括了步骤8,将离散的用户数据平滑化,如在图2中示出的。换句话说,拟合得到的曲线是平滑的曲线,有助于后面进行的曲率半径的计算以及其中涉及的一阶导数、二阶导数计算得到尽量合理的数值。

在本发明的一个实施例中,其中将离散的用户数据进行曲线拟合的步骤2还可以包括步骤10,根据用户数据的分布形态,选择特定的拟合函数进行曲线拟合。这里需要指出的是,用户数据的分布形态常常是根据特定情况有所不同。在互联网用户的情况下,用户数据的分布形态通常用长尾分布进行描述,如在图5中所示的。在其他的情形下,例如线下购物得到的用户数据分布、线下买票得到的用户数据分布等等可能呈现不同的分布形态,这一点本领域技术人员是可以理解的。因此,在特定的情况下,本领域技术人员可以针对不同的用户数据分布形态选择合适的拟合函数。例如可以选择幂指数函数或者伽马函数等等。

在本发明的各个实施例中,之所以选择使用幂指数函数或者伽马函数来拟合用户的数据分布,这是由于幂指数函数曲线或者伽马函数曲线经过多重组合之后,可能和经常使用的长尾分布曲线有相似的地方。假定在使用幂指数函数进行多重拟合的情况下,函数曲线通式是y=f(x),需要使用多个幂指数函数进行拟合。例如在图5中的点1和点2之间使用y=f1(x)=a*ex进行平滑的拟合,在图5中的点2和点3之间使用y=f2(x)=b*e2x进行平滑的拟合…,在图5中的点m和点n之间使用y=fm(x)=g*ekx进行平滑的拟合…,等等,这样得到的总体拟合曲线的函数可以表示为y=a*ex+b*e2x+c*e3x……+g*ekx……。也就是说,为了拟合长尾分布的离散数据,使用了y=a*ex+b*e2x+c*e3x……+g*ekx……这样的多重幂指数函数来拟合曲线,其中a、b、c…都是可调整的参数。对于使用多重的伽马函数或者其他的函数进行曲线拟合是同样的道理。

需要指出的是,这里给出的关于幂指数函数曲线或者伽马函数曲线的实例仅仅是示意性的,也可以使用其他的函数曲线,只要这些函数曲线经过多重组合之后,可能和经常使用的长尾分布曲线有相似的地方即可。对于不同用户数据的分布形态,选择对应的拟合函数对于本领域技术人员来讲并不是困难的选择,在此不再赘述。总之,选择拟合函数具有多样性,可以根据数据分布形态灵活选取。

在上述的步骤4中,针对得到的拟合曲线,计算拟合曲线上离散点处的曲率半径。计算曲率半径可以采用下面的方式:

假设得到的拟合曲线为y=f(x),则曲率半径r为:

上面提到的y′是函数y的一阶导数,y″是函数y的二阶导数,因为在已经知晓拟合曲线函数y=f(x)的情况下,计算一阶导数和二阶导数的方式对于本领域技术人员是已经知晓的,在此不再赘述。

根据计算的若干个曲率半径,例如计算拟合曲线函数y=f(x)上的每个离散点,例如图5所示的点1、点2、点3、…点m,…点n的曲率半径,即r1、r2、r3、…rm、…rn,找到其中曲率半径最小的离散点,假设点m的曲率半径rm是最小的,则选择点m为分割点。也就是认为点m为用户数据分布形态的头部区域i和尾部区域ii的分割点,对应的计算出来的点m的曲率半径rm作为阈值。例如可以设定曲率半径小于这个阈值(曲率半径rm)的点是用户数据分布形态的头部区域i的用户数据,例如图5中所示的点1、点2、点3等点,大于这个阈值(曲率半径rm)的点都认为是用户数据分布形态的尾部区域ii的用户数据,例如图5中所示的点n等点。

需要指出的是,在图5所示的附图中,本发明的各个实施例中所示的用户数据分布包含了长尾分布的曲线与坐标轴围成的区域,例如在本发明的各个实施例中提到的用户数据分布形态的头部数据区域i,实际上包含了点m左侧的长尾曲线与横坐标轴x和纵坐标轴y围成的区域,在本发明的各个实施例中提到的用户数据分布形态的尾部数据区域ii,实际上包含了点m右侧的长尾曲线与横坐标轴x围成的区域。其中的横坐标轴x和纵坐标轴y的具体含义根据具体的用户数据分布形态是不同的。例如在互联网数据用户的情况下,横坐标轴x和纵坐标轴y可以分别代表时间和人数,也可以是其他的指代含义。

根据本发明的第二个方面,提供了一种用于将用户数据的分布形态进行划分的装置20,可以包括:拟合模块22,用于将离散的用户数据进行曲线拟合;计算模块24,用于针对得到的拟合曲线计算拟合曲线上离散点处的曲率半径;选择模块26,用于选择最小的曲率半径作为划分用户数据的分布形态的阈值。

在本发明第二个方面的一个实施例中,其中拟合模块22还用于将离散的用户数据平滑化。

在本发明第二个方面的另一个实施例中,其中拟合模块22进一步用于根据用户数据的分布形态,选择特定的拟合函数进行曲线拟合。

备选的,特定的拟合函数包括幂指数函数或者伽马函数。

在根据本发明第三方面的实施例中,提供了一种计算机设备,可以包括:一个或多个处理器;存储装置,用于存储一或多个程序;当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现如上的方法。

在根据本发明第四方面的实施例中,提供了一种计算机可读存储介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现如上的方法。

例如,图4示出了可以用来实施本公开的实施例的示例计算机设备30的示意性框图。应当理解,计算机设备30可以用于实现本公开所描述的用于将用户数据的分布形态进行划分的方法10。如图所示,计算机设备30包括中央处理单元(cpu)32,其可以根据存储在只读存储器(rom)34中的计算机程序指令或者从存储单元46加载到随机访问存储器(ram)36中的计算机程序指令,来执行各种适当的动作和处理。在ram36中,还可存储计算机设备30操作所需的各种程序和数据。cpu32、rom34以及ram36通过总线38彼此相连。输入/输出(i/o)接口40也连接至总线38。

计算机设备30中的多个部件连接至i/o接口40,包括:输入单元42,例如键盘、鼠标等;输出单元44,例如各种类型的显示器、扬声器等;存储单元46,例如磁盘、光盘等;以及通信单元48,例如网卡、调制解调器、无线通信收发机等。通信单元48允许计算机设备30通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

处理单元32执行上文所描述的各个方法和过程,例如方法10。例如,在一些实施例中,方法10可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元46。在一些实施例中,计算机程序的部分或者全部可以经由rom34和/或通信单元48而被载入和/或安装到计算机设备30上。当计算机程序加载到ram36并由cpu32执行时,可以执行上文描述的方法10的一个或多个动作或步骤。备选地,在其他实施例中,cpu32可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法10。

本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld),等等。

借助于本发明的用于将用户数据的分布形态进行划分的方法、装置、计算机设备或者计算机可读存储介质可以方便地对用户数据的分布形态,例如长尾分布的分布形态,的用户数据进行头部和尾部的阈值划分,更精准地获取到用于划分用户数据的分布形态的头部和尾部的分割点。在应对多种特征划分场景时,均有较为有效的作用。借助于上述的方法和装置可以有利于互联网目标用户的切分,并且可以应用于信息智能推荐、精准营销及投放,并对用户进行个性化分析和深入理解等领域。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。存储介质可以是只读存储器,磁盘或光盘等。

以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1