一种计算用户相似度的方法、系统及装置
文献发布时间:2023-06-19 09:41:38
技术领域
本申请实施例涉及数据处理领域,尤其涉及一种计算用户相似度的方法、系统及装置。
背景技术
随着互联网大数据的飞速发展和相关技术的成熟,各行各业利用大数据给自己带来了充足的机遇和广阔的发展,但同时信息资源呈指数膨胀,也带来了信息过载的问题。用户画像是大数据技术的重要应用,其目标是在很多的维度上建立针对用户的描述性标签属性,从而利用这些标签属性对用户多方面的真实个人特征进行勾勒,进而可以利用用户画像发掘用户需求,分析用户偏好,并通过匹配用户画像提供给用户更高效和更有针对性的信息输送以及更贴近个人习惯的用户体验。
基于用户画像的用户相似度计算在网络推荐方面应用已经很广泛,但是由于采集的用于描述人物画像的基础数据不全面,存在生成的用户画像标签是无法覆盖所有用户的,同时由于用户画像一般都是基于用户过去历史一段时间内的行为数据来开发的,这也决定了用户画像无法支持实时画像和完全准确。
现常用于计算用户之间相似性的几种方法有余弦相似性、皮尔森系数和调整余弦相似性,余弦相似性和调整余弦相似性对于用户未评价项目会做评分为0的假设;皮尔森系数中用户共同评分项目集可能很小,目标用户对未评分项目的评分通过相似性较大的邻居对项目的评分的加权平均值进行预测。这种计算方式会造成在用户画像数据不够全面的情况下,对基于用户画像的计算用户相似度不具有准确性。
发明内容
本申请实施例提供了一种计算用户相似度的方法、系统及装置,用于解决当用户的特征数据变量存在缺失时,造成计算用户之间的相似度不够精确的问题。
为实现上述目的,本发明提供如下技术方案:
本发明第一方面提供一种计算用户相似度的方法,包括:
获取待测用户数据对;
对所述待测用户数据对进行特征提取,获取所述待测用户数据对中每组待测用户数据的待测用户特征,所述待测用户特征包括待测用户最近一个月媒体APP所关联的网络IP信息、WiFi连接信息、APP使用时间和待测用户的设备信息;
根据所述待测用户特征和预先训练好的相似度分类模型,计算所述待测用户数据对中的两组待测用户数据对应的用户之间的相似度。
可选的,在根据所述用户特征和预先训练好的的相似度分类模型,确定所述待测用户数据对中的两组待测用户数据对应的用户之间的相似度之前,所述方法还包括:
获取多个训练用户数据对,所述多个训练用户数据对包括正样本数据对和负样本数据对,所述正样本数据对和负样本数据对的比例为1:1;
所述多个用户数据对中的每个用户数据对进行特征提取,获取每个用户数据对中每组用户数据的用户特征,得到正样本特征和负样本特征;
将所述正样本特征和负样本特征作为用于训练相似度分类模型的样本数据;
利用所述样本数据对所述相似度分类模型进行训练,得到训练好的相似度分类模型。
可选的,所述网络IP信息包括所述待测用户最近一个月工作日内和非工作日的线下轨迹。
可选的,所述WiFi连接信息包括所述待测用户最近一个月工作日内和非工作日的线下轨迹以及非公共场合的WiFi名称。
可选的,所述APP使用时间包括打开时间和关闭时间。
可选的,所述设备信息包括手机品牌、型号、操作系统和运营商。
可选的,所述相似度分类模型为二分类LightGBM模型。
本发明第二方面提供一种计算用户相似度的系统,包括:
第一获取单元,用于获取待测用户数据对;
第二特征获取单元,用于对待测用户数据对进行特征提取,获取所述待测用户数据对中每组待测用户数据的待测用户特征,所述待测用户特征包括最近一个月待测用户媒体APP所关联的网络IP信息、WiFi连接信息、APP使用时间和用户设备信息;
计算单元,用于根据所述待测用户特征和预先训练好的相似度分类模型,计算所述待测用户数据对中的两组待测用户数据对应的用户之间的相似度。
可选的,所述系统还包括:
第三获取单元,用于获取多个训练用户数据对,所述多个训练用户数据对包括正样本数据对和负样本数据对,所述正样本数据对和负样本数据对的比例为1:1;
第四获取单元,用于对所述多个用户数据对中的每个用户数据对进行特征提取,获取每个用户数据对中每组用户数据的用户特征,得到正样本特征和负样本特征,所述用户特征包括最近一个月用户媒体APP所关联的网络IP信息、WiFi连接信息、APP使用时间和用户设备信息;
样本确定单元,用于将所述正样本特征和负样本特征确定作为用于训练相似度分类模型的样本数据;
训练单元,用于利用所述样本数据对所述相似度分类模型进行训练,得到训练好的相似度分类模型。
本发明第三方面提供一种计算用户相似度的装置,包括:
处理器、存储器、输入输出单元、总线;
所述处理器与所述存储器、所述输入输出单元以及所述总线相连;
所述处理器具体执行如下操作:
获取待测用户数据对;
对待测用户数据对进行特征提取,获取所述待测用户数据对中每组待测用户数据的待测用户特征,所述用户特征包括最近一个月待测用户媒体APP所关联的网络IP信息、WiFi连接信息、APP使用时间和用户设备信息;
根据所述待测用户特征和预先训练好的相似度分类模型,计算所述待测用户数据对中的两组待测用户数据对应的用户之间的相似度。
可选的,处理器还用于执行第一方面以及第一方面的可选方案中的方法。
本申请实施例第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行前述一种计算用户相似度的方法。
在以上技术方案中,通过累计待测用户最近一个月媒体APP所关联的网络IP信息、WiFi连接信息、APP使用时间和待测用户的设备信息的基础数据作为用户特征,使得用于计算用户相似度的基础数据更具有稳定性,解决当用户的特征数据变量存在缺失时,造成计算用户之间的相似度不够精确。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见的,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请所提供的一种计算用户相似度的方法的一个实施例流程示意图;
图2为本申请所提供的一种计算用户相似度的方法的另一个实施例流程示意图;
图3为本申请实施例中提供一种计算用户相似度的系统一个实施例结构示意图;
图4为本申请实施例中提供一种计算用户相似度的系统另一个实施例结构示意图;
图5为本申请实施例中提供一种计算用户相似度的装置一个实施例结构示意图。
具体实施方式
本申请实施例提供了一种计算用户相似度的方法、系统及装置,用于解决当原始数据存在缺失时,直接对原始数据进行特征数值化,影响用户相似度计算的准确性。
下面将结合本申请实施例中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请第一方面提供了一种计算用户相似度的方法,该方法的执行主体可以为终端设备或服务器,其中的终端设备可以是个人计算机等,服务器可以是独立的一个服务器,也可以是由多个服务器组成的服务器集群。本申请实施例中为了提高计算的效率,该方法的执行主体以服务器为例进行详细说明。
请参阅图1,图1为本申请实施例中一种计算用户相似度的方法的一个实施例流程示意图,包括:
101、获取待测用户数据对;
用户数据是与某用户相关的画像数据,可以通过多种方式获取用户数据,例如,当用户打开某个媒体APP的时候,为了保证基本功能的使用,媒体APP会在用户确认的前提下,采集一些设备基础信息等,其中,具体通过何种方式获取用户数据,本申请实施例对此不做限定。该待测用户数据对可以是用户数据对中的两组用户数据,也可以是上述用户数据经过某种处理后得到的数据等。
102、对所述待测用户数据对进行特征提取,获取所述待测用户数据对中每组待测用户数据的待测用户特征,所述待测用户特征包括待测用户最近一个月媒体APP所关联的网络IP信息、WiFi连接信息、APP使用时间和待测用户的设备信息;
待测用户特征可以是待检测的用户的用户数据的特征。在实施中,可以获取上述待测用户数据对中每组待测用户数据,针对其中的任意一组待测用户数据,可以使用预先设置的特征提取算法,从该待测用户数据中提取相应的特征,可以将提取的特征作为该待测用户数据对应的待测用户特征。通过上述方式可以得到待测用户数据对中每组待测用户数据对应的待测用户特征。待测用户特征包括待测用户最近一个月媒体APP所关联的网络IP信息、WiFi连接信息、APP使用时间和待测用户的设备信息。
103、根据所述待测用户特征和预先训练好的相似度分类模型,计算所述待测用户数据对中的两组待测用户数据对应的用户之间的相似度。
其中,分类模型可以是任意分类模型,如朴素贝叶斯分类模型、Logistic回归分类模型或者决策树分类模型等,本申请实施例中考虑到分类模型仅用于判断两个不同用户之间是否相似,因此,该分类模型可以选用二分类模型。将步骤202得到的待测用户特征作为变量输入到预先训练好的相似度分类模型中,获取预先训练好的相似度分类模型输出结果,即为待测用户数据对中的两组待测用户数据对应的用户之间的相似度。
本实施例中,通过挖掘用户最近一个月所使用的移动设备网络IP、WiFi信息、最近一个月媒体APP的使用情况以及移动设备的基本信息,利用相关技术和算法进行特征处理,提取有效特征变量作为模型输入,用训练好的模型进行用户相似度预测,可以避免因为用户特征部分缺失导致的用户之间相似度计算结果不够准确。
请参阅图2,图2为本申请实施例中一种计算用户相似度的方法的一个实施例流程示意图,包括:
201、获取待测用户数据对;
本实施例中的步骤201与前述实施例中步骤101类似,此处不再赘述。
202、对所述待测用户数据对进行特征提取,获取所述待测用户数据对中每组待测用户数据的待测用户特征,所述待测用户特征包括待测用户最近一个月媒体APP所关联的网络IP信息、WiFi连接信息、APP使用时间和待测用户的设备信息;
具体的,当用户设备开启数据流量进行使用媒体APP时,媒体APP能够获取到用户设备网络信号对应的基站IP。通过收集用户最近一个月每天的24个时间段关联到的所有基站IP,利用聚类算法获取每个时间段的聚类中心;假设某个时间段出现空值,采用时间序列算法进行插补。将这一个月的时间按照工作日和非工作日进行划分,并分别拟合出一条完整的网络IP线下行为轨迹,该网络IP线下行为轨迹可作为模型输入变量;当用户设备连接上WiFi的时候,媒体APP可以识别到当前已连接的WiFi名称和Mac地址,通过相关技术手段就可以计算出无线路由器的位置信息。同样,通过分析用户最近一个月的WiFi连接信息,利用聚类算法获取每个时间段的聚类中心;假设某个时间段出现空值,采用时间序列算法进行插补,将这一个月的时间按照工作日和非工作日进行划分,并分别拟合出一条完整的WiFi名称线下行为轨迹,该WiFi名称线下行为轨迹可作为模型输入变量。同时,更细粒度的提取用户设备最近一个月连接过的所有非公共场所的WiFi名称作为模型输入变量。获取用户设备的基本信息作为模型输入变量,如手机品牌、型号、操作系统和运营商;另外将用户最近一个月每次打开和关闭媒体APP的时间也作为模型输入变量。
对上述获取的模型输入变量作为待测用户特征进行分析处理,共分解出11个建模所需的特征变量,分别为X1:通过网络IP拟合的用户最近一个月工作日内的线下轨迹;X2:通过网络IP拟合的用户最近一个月非工作日内的线下轨迹;X3:通过WiFi报点拟合的用户最近一个月工作日内的线下轨迹;X4:通过WiFi报点拟合的用户最近一个月非工作日内的线下轨迹;X5:用户最近一个月连接过的非公共WiFi名称;X6:用户手机品牌;X7:用户手机型号;X8:用户手机的操作系统;X9:手机运营商;X10:用户最近一个月打开媒体APP的时间;X11:用户最近一个月关闭媒体应用的时间;对这11个特征变量进行空值、异常值处理,特征数值化和分箱操作后,作为相似度分类模型的变量输入,以计算用户之间的相似度。
203、获取多个训练用户数据对,所述多个训练用户数据对包括正样本数据对和负样本数据对,所述正样本数据对和负样本数据对的比例为1:1;
因为训练用户数据对时用于训练相似度分类模型的变量输入,训练用户数据对数量需要足够大,比如至少为50000个,或者更多,这里对训练用户数据对的具体数量不做限定。每个训练用户数据对中可以包含两个不同用户的多个用户数据,例如,多个用户数据对中包括用户数据对A、用户数据对B和用户数据对C,其中,用户数据对A中包括用户数据1和用户数据2,用户数据对B中包括用户数据3和用户数据4,用户数据对C中包括用户数据5和用户数据6等。多个训练用户数据对包括正样本数据对和负样本数据对,可以预先设置相似度阈值,可以将用户相似度大于相似度阈值为80%的用户数据对确定为正样本数据对,用户相似度小于该相似度阈值10%的用户数据对确定为正样本数据对,正样本数据对和负样本数据对的比例为1:1。
204、所述多个用户数据对中的每个用户数据对进行特征提取,获取每个用户数据对中每组用户数据的用户特征,得到正样本特征和负样本特征;
需要说明的是,正样本特征并不是指其中包含的特征全部都是用户相似度大于相似度阈值为80%的用户数据对的用户特征,在实际应用中,负样本特征的用户特征也可能在负样本特征中的比例极少,还可能在负样本特征中包含有少量的正样本特征,而这样并不会影响分类模型的训练,反而会有助于提升相似度分类模型的鲁棒性。
205、将正样本特征和负样本特征作为用于训练相似度分类模型的样本数据;
在实施中,将正样本特征和负样本特征作为用于训练分类模型的样本数据。
206、利用所述样本数据对所述相似度分类模型进行训练,得到训练好的相似度分类模型。
在实施中,可以分别将正样本特征输入到分类模型中进行计算,得到的计算结果可以与该正样本特征相应的用户相似度对比,如果两者相匹配,则可以选择下一个正样本特征或负样本特征输入到分类模型中进行计算。得到的计算结果继续与该正样本特征相应的用户相似度匹配对比。如果两者不匹配,则可以调整分类模型中的相关参数的数值,然后再将该正样本特征输入到分类模型中进行计算,得到的计算结果再与该正样本特征相应的用户相似度匹配对比,即重复上述过程,直到两者相匹配为止。通过上述方式,可以将所有的正样本特征和负样本特征输入到分类模型中进行计算,从而达到对分类模型进行训练的目的,可以将最终训练得到的分类模型作为相似度分类模型。
207、根据所述待测用户特征和预先训练好的相似度分类模型,计算所述待测用户数据对中的两组待测用户数据对应的用户之间的相似度。
本实施例中的步骤207与前述实施例中步骤103类似,此处不再赘述。
本申请第二方面提供了一种计算用户相似度的系统,请参阅图3,图3为本申请实施例中提供一种计算用户相似度的系统一个实施例结构示意图,包括:
第一获取单元301,用于获取待测用户数据对;
第二获取单元302,用于对待测用户数据对进行特征提取,获取所述待测用户数据对中每组待测用户数据的待测用户特征,所述待测用户特征包括最近一个月待测用户媒体APP所关联的网络IP信息、WiFi连接信息、APP使用时间和用户设备信息;
计算单元303,用于根据所述待测用户特征和预先训练好的相似度分类模型,计算所述待测用户数据对中的两组待测用户数据对应的用户之间的相似度。
本申请实施例提供一种数据相似度的确定装置,通过第一获取单元301获取的待测用户数据对,通过第二获取单元302对待测用户数据对进行特征提取,获取所述待测用户数据对中每组待测用户数据的待测用户特征,所述待测用户特征包括最近一个月待测用户媒体APP所关联的网络IP信息、WiFi连接信息、APP使用时间和用户设备信息;计算单元303根据所述待测用户特征和预先训练好的相似度分类模型,计算所述待测用户数据对中的两组待测用户数据对应的用户之间的相似度。用于避免当用户的某些原始数据存在缺失时,直接对原始数据进行特征数值化,影响用户相似度计算的准确性。
请参阅图4,图4为本申请实施例中提供一种计算用户相似度的系统另一个实施例结构示意图,包括:
第一获取单元401,用于获取待测用户数据对;
第二获取单元402,用于对待测用户数据对进行特征提取,获取所述待测用户数据对中每组待测用户数据的待测用户特征,所述待测用户特征包括最近一个月待测用户媒体APP所关联的网络IP信息、WiFi连接信息、APP使用时间和用户设备信息;
计算单元407,用于根据所述待测用户特征和预先训练好的相似度分类模型,计算所述待测用户数据对中的两组待测用户数据对应的用户之间的相似度。
所述系统还包括:
第三获取单元403,用于获取多个训练用户数据对,所述多个训练用户数据对包括正样本数据对和负样本数据对,所述正样本数据对和负样本数据对的比例为1:1;
第四获取单元404,用于对所述多个用户数据对中的每个用户数据对进行特征提取,获取每个用户数据对中每组用户数据的用户特征,得到正样本特征和负样本特征,所述用户特征包括最近一个月用户媒体APP所关联的网络IP信息、WiFi连接信息、APP使用时间和用户设备信息;
样本确定单元405,用于将所述正样本特征和负样本特征确定作为用于训练相似度分类模型的样本数据;
训练单元406,用于利用所述样本数据对所述相似度分类模型进行训练,得到训练好的相似度分类模型。
本申请第三方面提供了一种计算用户相似度的装置,请参阅图5,图5为本申请实施例中提供一种计算用户相似度的系统一个实施例结构示意图,包括:
处理器501、存储器502、输入输出单元503以及总线504;
所述处理器501与所述存储器502、所述输入输出单元503以及所述总线504相连;
所述处理器501具体执行如下操作:
获取待测用户数据对;
对待测用户数据对进行特征提取,获取所述待测用户数据对中每组待测用户数据的待测用户特征,所述用户特征包括最近一个月待测用户媒体APP所关联的网络IP信息、WiFi连接信息、APP使用时间和用户设备信息;
根据所述待测用户特征和预先训练好的相似度分类模型,计算所述待测用户数据对中的两组待测用户数据对应的用户之间的相似度。
可选的,处理器还用于执行第一方面以及第一方面的可选方案中的方法。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请中所附图式所绘制的结构、比例、大小等,均仅用于配合说明书所揭示的内容,以供本领域技术人员了解与阅读,并非用于限定本申请中可实施的限定条件,故不具有技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本申请所能产生的功效及所能达成的目的下,均仍应落在本申请所揭示的技术内容涵盖的范围内。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
- 一种计算用户相似度的方法、系统及装置
- 用户相似度的计算方法、计算系统、设备及存储介质