具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本发明的范围的情况下,可以将第一用户称为第二用户,且类似地,可将第二用户称为第一用户。第一用户和第二用户两者都是用户,但其不是同一用户。
本发明实施例所提供的产品信息推送方法可应用于如图1所示的应用环境中。参考图1,服务器120与多个用户终端110-1~120-x通过网络相连接。每个用户终端110可通过服务器120来生成行为数据,服务器120可接收并存储每个用户终端110所产生的行为数据,并确定每份行为数据归属的预设话题,将每份行为数据和归属的话题建立关联关系;根据关联关系计算每个用户在预设时间段内产生的行为数据在每个话题上的出现次数;根据出现次数生成对应用户对每个话题的热度的特征向量;计算每个用户的特征向量之间的距离;当获取到第一用户生成了对预设产品的购买信息后,选取与第一用户的距离最短的第一数量的第二用户,向第二用户的终端发送产品的产品信息。
在一个实施例中,如图2所示,提供了产品信息推送方法,该方法可应用于如图1所示的服务器中,或者还可应用于终端等计算机设备上,该方法包括:
步骤S202,获取每个用户在预设时间段内产生的行为数据。
本实施例中,行为数据为用户通过即时通信应用或社交应用等发表的信息,该行为数据包括用户终端通过即时通信应用或社交应用发送的聊天消息、文章或日志等形式的数据。当该行为数据的形式为文章或日志等相应形式的文本数据时,可将每一份文章或日志作为对应的一份行为数据。当行为数据的形式为用户发送的文字聊天消息或语音聊天消息等独立的消息时,可每小时或每天或每周等合适时长内,所产生的所有的消息,汇总为对应的一份行为数据。每份行为数据中还可携带生成该信息的用户的用户标识,或者建立该行为数据与该用户标识之间的关联关系,使得根据其中携带的用户标识或关联关系,确定每条行为数据的所属用户。并根据所确定的用户,区分并汇总每个用户在预设时间段内产生的行为数据。
预设时间段可为所设置的任意时间段,比如可设置为最近一年或两年等。其中,该行为数据可预先存储在计算机设备的本地存储器中,还可为存储在其它设备中。当存储在本地时,计算机设备可从本地存储器中读取每个用户的行为数据;当存储在其它设备上时,可向对应设备发送行为数据获取请求,并接收对应设备根据该请求所返回的行为数据。
步骤S204,确定每份行为数据归属的预设话题,将每份行为数据和归属的预设话题建立关联关系。
本实施例中,计算机设备还预先设置了多种话题,该话题可包括购物、销售、房价、保险、金融、恋爱、游戏、健康等其中的任意几种。服务器可对每份行为数据进行语义解析,根据解析出的语义,确定每个行为数据归属的话题。具体地,可针对每份行为数据进行词句的划分,针对划分的每个词句进行语音解析,根据解析出的每个词句的语义,分析出由该行为数据归属的话题。计算机设备中还预设了话题计算模型,比如可根据预设的LDA(LatentDirichlet Allocation,潜在狄立克雷分配)话题模型计算出每份行为数据所归属的话题,并建立该行为数据和所归属的话题之间的关联关系。其中,一份行为数据可归属一种或几种话题,进一步地,还可不归属于任意一种预设的话题。
步骤S206,根据关联关系计算每个用户在预设时间段内产生的行为数据在每个预设话题上的出现次数。
本实施例中,计算机设备可根据所建立的每份行为数据和话题之间的关联关系,统计每个话题与每个用户的所有行为数据中,具有关联关系的行为数据的数量,该数量即为在该用户预设时间段内产生的行为数据在每个话题上的出现次数。该出现次数可反映出用户对每个话题的感兴趣程度,进而可用于反映出每个用户的用户特征。可以理解地,当行为数据越多,所计算出的出现次数所反映的用户特征的准确性越大。
在一个实施例中,还可对每份行为数据进行筛选,确定筛选后的确定每份行为数据归属的预设话题。
具体地,可根据每份行为数据所包含的文字内容以及数量等几种因素,来确定是选取该行为数据还是剔除该行为数据。比如当一份行为数据的文字数量小于一定的数量,和/或解析出的该行为数据所表达的信息相对于每种预设话题,均没有任何意义时,则可剔除该行为数据。并针对所筛选保留的行为数据,确定其归属的话题。同时被舍弃的行为数据可不与任何话题相关联,从而无需对被舍弃的话题进行解析,降低计算机设备的资源消耗。
步骤S208,根据出现次数生成对应用户对每个预设话题的热度的特征向量。
本实施例中,计算机设备可根据对每个话题的出现次数,生成对应的特征向量,并建立该特征向量与对应用户的用户标识之间的关联关系。该特征向量的维度即为话题的种数,特征向量的每个元素,用于反映相应用户对对应一种话题的热度。当预设的话题数量为话题1~话题n这n种话题时,对应的特征向量S可计为[s1,s2,s3…sn]i。其中,特征向量的角标i用于反映该特征向量为用户i的特征向量,s1至sn分别用于反映对应用户i产生的行为数据中,话题1~话题n的讨论热度。
在一个实施例中,特征向量中的元素的数值可为对该话题的讨论次数或频率等。如可将每个话题的出现次数直接设置为特征向量中对应元素的数值,或者可将该次数进行相应的运算处理,将处理后的值作为对应元素的数值。比如还可对每个出现次数进行归一化处理,将归一化处理后的值作为对应元素的数值。通过进行归一化处理,可降低因不同的用户的行为数据的份数的差异过大,而导致后续进行距离计算时,使得每个距离之间的差异性过大。
步骤S210,计算每个用户的特征向量之间的距离。
本实施例中,计算机设备可按照向量之间的距离的计算方式来计算每个用户的特征向量和其他用户的特征向量之间的距离,该距离反映了对应两个用户之间的相似度。距离数值越小,则表示两者之间的相似度越大。计算机设备可获取两个未计算距离的用户的特征向量,两所获取的其中一个特征向量每个参数,与对应另一个获取的特征向量中的对应参数相减,得到差值,然后将每个差值进行平方求和,所得到的平方和数值即为相应两个用户的特征向量之间的距离。
具体地,用户k的特征向量和用户j的特征向量之间的距离dkj,可通过公式来计算第一距离。其中,n表示特征标签向量维度,该维度即为预设的提数量,skj和skj分别表示用户k的特征向量和用户j的特征向量中的第i个参数。通过上述的计算公式,分别可计算出每两个用户的特征向量之间的距离。
步骤S212,当获取到第一用户生成了对预设产品的购买信息后,选取与第一用户的距离最短的第一数量的第二用户,向第二用户的终端发送产品的产品信息。
本身实施例中,第一用户为购买了预设产品的用户。第二用户为被确定推荐该预设产品的产品信息的用户。该预设产品可为任意的产品,包括实体产品和虚拟产品。实体产品可包括零食、数码以及服饰等任意类型的产品;虚拟产品可包括虚拟游戏类的产品和金融类的产品等,金融类的产品可为保险、基金、股票等任意一种产品。产品信息包括相应产品的产品名称以及购买方式和购买价格等相应的产品推荐信息。
计算机设备可获取第一用户的购买信息,所获取的购买信息可为第一用户向该计算机设备发送的购买信息,还可为从存储了第一用户的购买信息的其他设备上所获取的购买信息。购买信息中包括相应购买产品的产品标识以及用户标识,使得可根据该用户标读取对应用户的特征向量,根据该产品标志可获取对应产品的产品信息。
在读取相应的第一用户的用户标识后,可根据该用户标识,读取与对应第一用户的距离最短的第一数量的用户的用户标识,所读取的用户标识即为对应第二用户的用户标识,并向该第二用户的终端发送相应的产品信息。其中,第一数量可为预设的固定数值,还可为根据相应的距离大小所确定的数值。比如,可计算与第一用户的特征向量的距离小于预设距离的其他特征向量的数量,将所计算出的数量设置为第一数量。
在一个实施例中,在步骤S210之前,还包括:根据所计算出的每个用户的特征向量与其他用户的特征向量之间的距离,对其他用户进行排序。比如可按照距离的大小进行顺序排序。举例来说,设存在M个用户,针对用户i,其他用户相对于该用户i的距离,按照从小到大的排序,分别为:用户3、用户9、用户6、用户80等等。
计算机设备可从相对于第一用户的该排名中,读取相对于该第一用户的距离最小的前第一数量的用户的用户标识,所读取的用户标识即为第二用户的用户标识。比如,当该第一用户为上述的用户i,第一数量为3时,则可读取上述的用户3、用户9、用户6的用户标识,并向该用户3、用户9、用户6的终端发送对应产品的产品信息。
上述的产品信息推送方法,通过获取每个用户在预设时间段内产生的行为数据;确定每份行为数据归属的预设话题,从而计算出每个用户的所有行为数据在每个预设话题上的出现次数,根据该次数来生成对应用户对每个预设话题的热度的特征向量,再根据所生成的特征向量来计算每个用户的距离,使得根据该距离大小来体现出每个用户之间的相似度的大小,并当获取到第一用户生成了对预设产品的购买信息后,选取与第一用户的距离最短的第一数量的第二用户,向第二用户的终端发送产品的产品信息,从而提高了向用户进行产品信息推送的精准性。
在一个实施例中,在步骤S212之前,上述方法还包括:获取每个用户的个人信息;根据个人信息计算每个用户之间的相似度。选取与第一用户的距离最短的第一数量的第二用户,包括:从与第一用户的相似度大于相似度阈值的用户中选取与第一用户的距离最短的第一数量的第二用户。
本实施例中,该个人信息包括用户的性别、年龄、职业、爱好等字段,计算机设备可预先在本地的存储器中存储有每个用户的个人信息,还可向其它设备发送用户的个人信息获取请求,并从其它设备中获取个人信息。计算机设备可根据个人信息中的每个字段,来计算每个用户之间的相似度。该相似度用于反映用户之间的相似性,可以理解地,具有相同或相似的字段的用户之间的相似度较大。
具体地,可根据上述个人信息中的性别、年龄、职业、爱好等其中的任意一种或几种字段,计算每个用户之间的相似度,并根据该相似度来划分用户组,将相似度超过预设的相似度阈值的用户划分为同一用户组之中,使得在与第一用户处于相同用户组之中进行特征向量之间的距离的计算和/或第二用户的选取。计算机设备可从相似度大于相似度阈值的用户中,选取与第一用户的距离最短的第一数量的第二用户。即可在处于相同用户组中来选取与第一用户的距离最短的第一数量的第二用户。
在一个实施例中,可预先划分出预设数量的类别的用户组,并设置每个类别的用户组中所需包含的具体的字段特征,判断每个用户的个人信息中的字段与所划分出的每个类别的用户组中的字段特征的匹配度,并根据该匹配度的大小,将其划分至最高的匹配度对应的用户组中,并判定处于相同用户组中的用户之间的相似度大于该相似度阈值。举例来说,可根据年龄的年龄段、职业所归属的职业类别、爱好的归属类别以及性别等其中的一种或几种的组合,设置出相应数量的用户组。计算每个用户的个人信息中的年龄、职业、爱好以及性别与被设置的用户组的匹配度。
本实施例中,通过进一步结合用户的个人信息,根据用户的个人信息来计算每个用户的相似度,并从与第一用户的相似度大于相似度阈值的用户中选取与第一用户的距离最短的第一数量的第二用户,使得所选取出的用于进行产品信息推荐的第二用户的精准度更高。
在一个实施例中,如图3所示,确定每份行为数据归属的预设话题,包括:
步骤S302,提取每份行为数据中的关键词句。
本实施例中,计算机设备可对每份行为数据中的内容进行词句切分,对切分后的词句进行筛选,将筛选出的词句设置为行为数据的关键词句。
计算机设备可预先建立词句的语义数据库,该语义数据库中包含了大量的词句(即词语和句子)。根据行为数据的所属语言,按照相应的语法树的规则,并结合语义数据库中所记录的句子,将行为数据中的每个句子切分成相应数量的词句。并确定每个词语在该句子中的词性以及在行为数据中所处的位置,比如确定某个词语为名词,并为该句子中的主语。词句在行为数据中所处的位置包括处于标题、处于行为数据正文中、处于章节的题目中、行为数据作者、发表时间等。
在进行词句切分的过程中,若一个句子中的连续排列在一块的多个词语,在数据库中对应存在一个完整的词语,则将该多个词语组成一个词语,使切割后的词句保持一个整体。
在完成词句切分后,可根据所切分的词句的词性,进行筛选,以删除对于行为数据的话题判定具有干扰或意义不大的词句。具体地,可将词性判断为停用词或助词等词性的词句进行删除。比如,停用词为“the”、“is”、“at”、“that”、“是”、“的”等,助词比如为“也”、“者”、“乎”等。通过对切分后的词句的筛选,既可减少计算机设备对数据处理的计算量,又可排除被删除的词句的干扰,提高了话题判定的准确性。
步骤S304,计算每个关键词句和每个预设话题的第一关联度。
本实施例中,计算机设备可预先设置了多个话题,在获取某一关键词句后,可首先检测是否预先计算出该关键词句或者与该关键词句相近的词句,和每个话题的关联度,若是,则可不必再次计算,直接将该关键词句或相近的词句与每个话题的关联度,设置为该关键词句和每个预设话题的第一关联度。若不存在,则可对每个关键词句进行语义解析,获取每个关键词语与每个预设话题的第一关联度。第一关联度可用百分比来表示,其关联度的大小处于0~1。举例来说,比如预设话题包括购物、销售、房价、保险、金融、恋爱、游戏、健康等。则可针对获取的每个关键词句,分别计算其与上述的购物、销售、房价、保险、金融、恋爱、游戏、健康等话题的第一关联度。进一步地,根据每个关键词句和所有预设话题的第一关联度可构成相应的第一关联度向量。可以理解地,该第一关联度向量是与上述的特征向量的维度相同的向量,其中的每一个元素分别表示对应关键词句和其中一种预设话题的关联度。
具体地,计算机设备可预设有语义分析模型,并可根据该语义分析模型来计算出所获取的每个关键词句和每个话题的关联度。其中,该语义分析模型可包括根据潜在语义分析(Latent Semantic Index,LSI)、潜在狄立克雷分配(Latent Dirichlet Allocation,LDA)或者Word2vec等所设置出的语义分析模型。
步骤S306,根据第一关联度计算出对应行为数据和每个预设话题的第二关联度。
计算机设备可对每个话题,将其与每个关键词句的第一关联度进行加权求和,从而可计算出该行为数据对每个话题的第二关联度。具体地,可将每个构成的第一关联度向量中,处于相同维度上的元素进行加权求和,根据所计算出的每个元素的加权和,生成该第二关联度向量,该第二关联度向量中的每个元素即为对应行为数据和相应话题的第二关联度。其中,每个关键词句的权值可根据检测出的该词句在行为数据中的位置、词性,以及行为数据中的关键词句的数量等一种或多种因素来确定。比如当该关键词句处于行为数据中的标题中时,可设置相对较大的权值;当该行为数据中的每个关键词句的数量较多时,为每个关键词句设置的权值则相对较小。
步骤S308,将超过关联度阈值的第二关联度对应的预设话题确定为行为数据归属的预设话题。
本实施例中,计算机设备中还设置了相应的关联度阈值,关联度阈值可为自定义设置的数值。计算机设备可将每个第二关联度与该关联度阈值进行比较,提取超过该关联度阈值的第二关联度的话题,将其与相应行为数据建立对应关系,使得将其设置为该行为数据所归属的话题。举例来说,当关联度阈值为0.5时,则可将所有大于0.5的第二关联度对应的话题,与该行为数据之间建立关联关系,将其设置为该行为数据所归属的话题。
本实施例中,通过对行为数据划分关键词句,然后计算每个关键词句和每个预设话题的第一关联度,根据所有的第一关联度来确定行为数据所归属的话题,可进一步提高对行为数据进行话题归属划分的精准性。
在一个实施例中,根据出现次数生成对应用户对每个预设话题的热度的特征向量,包括:根据每个用户的每份行为数据与归属的预设话题的出现次数,以及与归属的话题的第二关联度,计算出每个用户的特征向量。
本实施例中,计算机设备可针对每个话题,计算出每个用户的行为数据中,对归属于该话题的数量,该数量即为上述的出现次数。并结合归属该话题的行为数据第二关联度,设置相应的权值,根据该出现次数和权值,计算出该特征向量中对应于该话题的参数数值。该参数数值可为该权值和次数的乘积。其中,该权值可为根据每个第二关联度所计算出的平均值。
举例来说,假设存在话题i,针对用户i的行为数据中,被确定为归属至该话题i的行为数据的数量为10个,即该出现次数为10。计算机设备可分别提取所计算出的该10个行为数据相对于该话题i的第二关联度,根据所提取出的10个第二关联度计算出相应的权值,将该权值和次数的乘积设置为用户i的特征向量Si中用于反映对该话题i的热度的参数si的数值。针对每个用户以及每个话题,可均采用上述的方法,从而可计算出每个用户的特征向量。
本实施例中,通过进一步结合所计算出的第二关联度来计算出用户的特征性向量,使得所计算出的用户的特征向量更能量化表达出用户对每个话题的热度,从而根据该特征向量所确定的第二用户更精准。
在一个实施例中,在步骤S208之后,还包括根据距离生成第二数量的聚类,将每个用户划分至对应的一个聚类之中。
本实施例中,计算机设备还预先设置了第二数量的类别,用于将每个用户划分至对应的一个类别之中,被划分至同一类别中的用户构成对应一个聚类。其中,该第二数量可为任意设置的合适的小于用户总数的数值,第二数量越大,则对用户划分的类别越细致。计算机设备可预先针对每个聚类设置相应的中心向量,中心向量是用于表征某一类别的信息对应的种子用户所共有的特征信息,中心向量的形式与特征向量相同,具有与特征向量相同长度的维度,其每个维度上的参数表征的含义与特征向量对应的参数表征的含义相同。
计算机设备可计算每个特征向量与每个中心向量之间的距离,将特征向量划分至对应距离最小的一个聚类之中,从而完成了对每个用户的类别的划分,被划分至同一聚类中的特征向量所对应的用户即处于同一聚类。
选取与第一用户的距离最短的第一数量的第二用户的步骤,包括:从与第一用户处于相同聚类的用户中选取与第一用户的距离最短的第一数量的第二用户。
当获取到第一用户生成了对预设产品的购买信息后,确定该第一用户所被划分的聚类,并从该聚类中读取特征向量与该第一用户的特征向量的距离最短的,第一数量的用户的用户标识。通过从处于相同聚类的用户中进行用户的选取,可进一步提高了对用户选取的精准度。
在一个实施例中,可根据每个用户的特征向量,按照预设的聚类算法计算出每个聚类的中心距离。该聚类算法可为K-means、K-medoids或Clara等任意一种聚类算法。如图4所示,中心向量的计算过程包括:
步骤S402,确定待形成的每个聚类的初始中心向量,将初始中心向量设置为对应待形成的聚类的当前中心向量。
本实施例中,该初始中心向量可为预先设置的特征向量。该初始中心向量可根据每个聚类的所具有的特征而形成的历史经验值而设置的特征向量,以减少计算机设备的计算量。进一步地还可从每个用户的特征向量中来选取第二数量的特征向量,将选取的每个特征向量设置为对应一个聚类的初始中心向量,使每个聚类均具有一个中心向量,将初始中心向量设置为当前中心向量。同样的,也可以按照该历史经验来选取。将确定初始中心向量即为当前中心向量,用于进行下述步骤的迭代计算,以确定最终聚类和每个所确定的最终聚类的中心向量。
步骤S404,计算每个特征向量与每个当前中心向量的距离,将每个特征向量的用户划分至最小距离对应的聚类中,生成当前聚类。
在生成了当前中心向量之后,可分别计算每个特征向量与每个当前中心向量的距离,根据所计算出的距离将用户进行划分,从而形成了对应第二数量的聚类,将该聚类设置为当前聚类,用于进行下述的迭代。具体地,可针对每个用户的特征向量,计算其与每个当前中心向量距离,确定该第二数量的距离中的最小距离,将该特征向量的用户划分至最小距离所对应的聚类中。针对每个用户的特征向量,重复该过程,以完成对所有用户的划分,从而实现一次聚类的形成。
步骤S406,计算当前聚类中,每个聚类新的中心向量。
本实施例中,可根据最新形成的聚类,针对每个聚类中的用户的特征向量,计算出该聚类的中心向量,并将新计算出的中心向量替换上一次计算出的中心向量,以进行迭代计算。
其中,可按照预设的中心向量计算模型来计算出每个聚类的中心向量的计算方式。比如可对每个聚类的特征向量,将特征向量中相同位置的参数进行求平均值等运算,以形成对应聚类的新的中心向量中,该参数的数值。
步骤S408,检测每个新的中心向量是否收敛,若否,则将每个新的中心向量设置为当前中心向量,并继续执行计算每个特征向量与每个当前中心向量的距离,直至每个新的中心向量均收敛。当每个新的中心向量均收敛时,将该当前聚类设置为确定的最终聚类,将新的中心向量设置为对应确定的最终聚类的中心向量。
本实施例中,可判断每个新的中心向量与前一次的中心向量之间的差值是否小于预设数值。若是,则判定所计算出的中心点收敛,否则,判断不收敛。当判断不收敛时,可将当前计算出的每个聚类的中心点作为对应待形成聚类的当前中心向量,返回上述步骤S404,继续执行步骤S404~S408,以再次形成新的聚类和新的聚类的中心向量,直至判定每个最新形成的聚类的中心向量收敛。
具体地,该差值可为距离值。计算机设备中对应预设有一个距离阈值,该预设距离阈值用于作为判断中心向量是否收敛的标准。通过将所计算出的差值与该距离阈值进行比较,当小于该距离阈值时,则判定对应中心向量收敛。当其中的一个或多个中心向量不收敛时,可继续执行步骤S404,将最新的中心向量设置为对应待形成聚类的初始中心向量,以进行重新聚类。若每个差值均小于距离阈值,则判定所计算出的新的中心点收敛。
当在判断出所有聚类的中心点已均经收敛时,则可终止迭代,将该当前聚类设置为确定的最终聚类,将新的中心向量设置为对应确定的最终聚类的中心向量,完成对所有用户的聚类以及每个聚类的中心向量的计算。
本实施例中,通过判断所形成的中心向量是否收敛,若否,则重新聚类,计算重新形成的聚类的中心向量,并进行中心向量的收敛判断,直至每个中心向量均收敛,将该当前聚类设置为确定的最终聚类,将新的中心向量设置为对应确定的最终聚类的中心向量,完成对所有用户的聚类以及每个聚类的中心向量的计算。可提高对聚类形成的准确度,提高所计算出的聚类中心的准确度,进而提高了对第二用户选取的精准度。
在一个实施例中,针对根据用户的个人信息所形成的用户组,对每个用户组中按照上述的聚类过程形成相应的聚类,以进一步提高对用户划分的准确度,提高对第二用户选取的精准度。
在一个实施例中,如图5所示,提供了一种产品信息推送装置,该装置包括:
行为数据获取模块502,用于获取每个用户在预设时间段内产生的行为数据。
话题确定模块504,用于确定每份行为数据归属的预设话题,将每份行为数据和归属的预设话题建立关联关系。
次数计算模块506,用于根据关联关系计算每个用户在预设时间段内产生的行为数据在每个预设话题上的出现次数。
特征向量生成模块508,用户根据出现次数生成对应用户对每个预设话题的热度的特征向量;
距离计算模块510,用于计算每个用户的特征向量之间的距离。
信息推送模块512,用于当获取到第一用户生成了对预设产品的购买信息后,选取与第一用户的距离最短的第一数量的第二用户,向第二用户的终端发送产品的产品信息。
在一个实施例中,如图6所示,上述转置还包括:
用户划分模块514,用于获取每个用户的个人信息;根据个人信息计算每个用户之间的相似度。
信息推送模块512还用于从与第一用户的相似度大于相似度阈值的用户中选取与第一用户的距离最短的第一数量的第二用户。
在一个实施例中,如图7所示,预设话题确定模块504包括:
关键词句提取单元702,用于提取每份行为数据中的关键词句;
关联度计算单元704,用于计算每个关键词句和每个预设话题的第一关联度;根据第一关联度计算出对应行为数据和每个预设话题的第二关联度;
话题确定单元706,用于将超过关联度阈值的第二关联度的预设话题确定为行为数据归属的预设话题。
在一个实施例中,特征向量生成模块508还用于根据每个用户的每份行为数据与归属的预设话题的出现次数,以及与归属的预设话题的第二关联度,计算出每个用户的特征向量。
在一个实施例中,如图8所示,上述装置还包括:
聚类模块516,用于根据距离生成第二数量的聚类,将每个用户划分至对应的一个聚类之中。
信息推送模块512还用于从与第一用户处于相同聚类的用户中选取与第一用户的距离最短的第一数量的第二用户。
在一个实施例中,该聚类模块516还用于确定待形成的每个聚类的初始中心向量,将初始中心向量设置为对应待形成的聚类的当前中心向量;计算每个特征向量与每个当前中心向量的距离,将每个特征向量的用户划分至最小距离对应的聚类中,生成当前聚类;计算当前聚类中,每个聚类新的中心向量;检测每个新的中心向量是否收敛,若否,则将每个新的中心向量设置为当前中心向量,并继续执行上述的计算每个特征向量与每个当前中心向量的距离,直至每个新的中心向量均收敛;当每个新的中心向量都收敛时将该当前聚类设置为确定的最终聚类,将新的中心向量设置为对应确定的最终聚类的中心向量。
上述装置中的各个模块和单元可全部或部分通过软件、硬件及其组合来实现。其中,网络接口可以是以太网卡或无线网卡等。上述各模块和单元可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。该处理器可以为中央处理单元(CPU)、微处理器、单片机等。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现上述各实施例所提供的产品信息推送方法的步骤。
具体地,该指令被处理器执行时实现以下步骤:获取每个用户在预设时间段内产生的行为数据;确定每份行为数据归属的预设话题,将每份行为数据和归属的预设话题建立关联关系;根据关联关系计算每个用户在预设时间段内产生的行为数据在每个预设话题上的出现次数;根据出现次数生成对应用户对每个预设话题的热度的特征向量;计算每个用户的特征向量之间的距离;当获取到第一用户生成了对预设产品的购买信息后,选取与第一用户的距离最短的第一数量的第二用户,向第二用户的终端发送产品的产品信息。
在一个实施例中,该指令被处理器执行时,在实现选取与第一用户的距离最短的第一数量的第二用户之前,还包括实现以下步骤:获取每个用户的个人信息;根据个人信息计算每个用户之间的相似度;所实现的选取与第一用户的距离最短的第一数量的第二用户,包括:从与第一用户的相似度大于相似度阈值的用户中选取与第一用户的距离最短的第一数量的第二用户。
在一个实施例中,该指令被处理器执行时实现的确定每份行为数据归属的预设话题,包括:提取每份行为数据中的关键词句;计算每个关键词句和每个预设话题的第一关联度;根据第一关联度计算出对应行为数据和每个预设话题的第二关联度;将超过关联度阈值的第二关联度的预设话题确定为行为数据归属的预设话题。
在一个实施例中,该指令被处理器执行时实现的根据出现次数生成对应用户对每个预设话题的热度的特征向量,包括:根据每个用户的每份行为数据与归属的预设话题的出现次数,以及与归属的预设话题的第二关联度,计算出每个用户的特征向量。
在一个实施例中,该指令被处理器执行时,在实现计算每个用户的特征向量之间的距离之后,还包括实现以下步骤:根据距离生成第二数量的聚类,将每个用户划分至对应的一个聚类之中;所实现的选取与第一用户的距离最短的第一数量的第二用户,包括:从与第一用户处于相同聚类的用户中选取与第一用户的距离最短的第一数量的第二用户。
在一个实施例中,该指令被处理器执行时还实现以下步骤:确定待形成的每个聚类的初始中心向量,将初始中心向量设置为对应待形成的聚类的当前中心向量;计算每个特征向量与每个当前中心向量的距离,将每个特征向量的用户划分至最小距离对应的聚类中,生成当前聚类;计算当前聚类中,每个聚类新的中心向量;检测每个新的中心向量是否收敛,若否,则将每个新的中心向量设置为当前中心向量,并继续执行上述的计算每个特征向量与每个当前中心向量的距离,直至每个新的中心向量均收敛;当每个新的中心向量都收敛时将该当前聚类设置为确定的最终聚类,将新的中心向量设置为对应确定的最终聚类的中心向量。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,处理器执行程序时实现上述各实施例所提供的产品信息推送方法的步骤。
该计算机设备可为终端或服务器,如图9所示,提供了该计算设备的一种内部结构示意图。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该处理器用于提供计算和控制能力,支撑整个计算机设备的运行。存储器用于存储数据、指令代码等。存储器上存储至少一个计算机可执行指令,该计算机可执行指令可被处理器执行,以实现本申请实施例中提供的适用于该计算机设备的产品信息推送方法。存储器可包括磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random-Access-Memory,RAM)等。例如,在一个实施例中,存储器包括非易失性存储介质及内存储器。该非易失性存储介质存储有操作系统、数据库和计算机可执行指令。该数据库中存储有用于实现以上各个实施例所提供的一种产品信息推送方法相关的数据,比如可存储有用户的行为数据。该计算机可执行指令可被处理器所执行,以用于实现以上各个实施例所提供的一种产品信息推送方法。该内存储器为非易失性存储介质中的操作系统、数据库和计算机可执行指令提供高速缓存的运行环境。网络接口可以是以太网卡或无线网卡等,用于与外部的终端或计算机设备进行通信,如将所生成的对比结果发送至预设的测试终端。当该计算机设备为服务器时,还可由独立的服务器或者是多个服务器组成的服务器集群来实现。本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,该处理器执行程序时实现以下步骤:获取每个用户在预设时间段内产生的行为数据;确定每份行为数据归属的预设话题,将每份行为数据和归属的预设话题建立关联关系;根据关联关系计算每个用户在预设时间段内产生的行为数据在每个预设话题上的出现次数;根据出现次数生成对应用户对每个预设话题的热度的特征向量;计算每个用户的特征向量之间的距离;当获取到第一用户生成了对预设产品的购买信息后,选取与第一用户的距离最短的第一数量的第二用户,向第二用户的终端发送产品的产品信息。
在一个实施例中,该处理器执行程序时,在实现选取与第一用户的距离最短的第一数量的第二用户之前,还包括实现以下步骤:获取每个用户的个人信息;根据个人信息计算每个用户之间的相似度;所实现的选取与第一用户的距离最短的第一数量的第二用户,包括:从与第一用户的相似度大于相似度阈值的用户中选取与第一用户的距离最短的第一数量的第二用户。
在一个实施例中,该处理器执行程序时实现的确定每份行为数据归属的预设话题,包括:提取每份行为数据中的关键词句;计算每个关键词句和每个预设话题的第一关联度;根据第一关联度计算出对应行为数据和每个预设话题的第二关联度;将超过关联度阈值的第二关联度的预设话题确定为行为数据归属的预设话题。
在一个实施例中,该处理器执行程序时实现的根据出现次数生成对应用户对每个预设话题的热度的特征向量,包括:根据每个用户的每份行为数据与归属的预设话题的出现次数,以及与归属的预设话题的第二关联度,计算出每个用户的特征向量。
在一个实施例中,该处理器执行程序时,在实现计算每个用户的特征向量之间的距离之后,还包括实现以下步骤:根据距离生成第二数量的聚类,将每个用户划分至对应的一个聚类之中;所实现的选取与第一用户的距离最短的第一数量的第二用户,包括:从与第一用户处于相同聚类的用户中选取与第一用户的距离最短的第一数量的第二用户。
在一个实施例中,该处理器执行程序时还实现以下步骤:确定待形成的每个聚类的初始中心向量,将初始中心向量设置为对应待形成的聚类的当前中心向量;计算每个特征向量与每个当前中心向量的距离,将每个特征向量的用户划分至最小距离对应的聚类中,生成当前聚类;计算当前聚类中,每个聚类新的中心向量;检测每个新的中心向量是否收敛,若否,则将每个新的中心向量设置为当前中心向量,并继续执行上述的计算每个特征向量与每个当前中心向量的距离,直至每个新的中心向量均收敛;当每个新的中心向量都收敛时将该当前聚类设置为确定的最终聚类,将新的中心向量设置为对应确定的最终聚类的中心向量。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。