Traitement en cours

Veuillez attendre...

Paramétrages

Paramétrages

Aller à Demande

1. CN109710837 - A word2vec-based user missing portrait supplementing method and related equipment

Note: Texte fondé sur des processus automatiques de reconnaissance optique de caractères. Seule la version PDF a une valeur juridique

[ ZH ]
基于word2vec的用户缺失画像的补充方法和相关设备


技术领域
本申请涉及数据分析与处理技术领域,特别涉及一种基于word2vec的用户缺失画像的补充方法和相关设备。
背景技术
用户画像又称用户角色,主要表征了用户的具体相关信息,比如年龄、经济收入情况或消费倾向等。作为一种勾画目标用户、联系用户诉求与设计方向的有效工具,用户画像在各领域得到了广泛的应用。用户画像主要是从公开渠道获得,比如用户的注册信息、购物历史记录,用户画像缺失度较大。现有的对于用户画像缺失的补充方法,主要是使用传统统计学的方法,效率低下,且未能考虑到用户整体画像相互之间的影响,补充的准确性较低。
发明内容
本申请的主要目的为提供一种基于word2vec的用户缺失画像的补充方法、装置、计算机设备,旨在解决现有用户缺失画像补充方法效率低下和准确性低的弊端。
为实现上述目的,本申请提供了一种基于word2vec的用户缺失画像的补充方法,其特征在于,包括:
调取预先录入的第一用户画像,所述第一用户画像由第一预设数量的第一用户画像值按照预设排列顺序组成,所述第一用户画像包括多个第一缺失画像值和多个第一已知画像值;
将各所述第一用户画像值输入预设对应表中筛选得到对应的第一词汇,并将各所述第一词汇按照所述预设排列顺序构建语料库,所述语料库包括各所述第一缺失画像值对应的缺失词汇和各所述第一已知画像值对应的第一已知词汇,所述预设对应表由预先构建的多组用户画像值对应词汇组成;
将所述语料库输入预先基于word2vec构建的预测模型中进行计算,输出各所述缺失词汇分别对应的预测词汇;
将各所述预测词汇输入所述对应表中筛选得到对应的第一预测画像值;
将各所述第一预测画像值分别替换所述第一用户画像中对应的所述第一缺失画像值。
本申请还提供了一种基于word2vec的用户缺失画像的补充装置,包括:
调取模块,用于调取预先录入的第一用户画像;
第一构建模块,用于将各所述第一用户画像值输入预设对应表中筛选得到对应的第一词汇,并将各所述第一词汇按照所述预设排列顺序构建语料库;
计算模块,用于将所述语料库输入预先基于word2vec构建的预测模型中进行计算,输出各所述缺失词汇分别对应的预测词汇;
第一筛选模块,用于将各所述预测词汇输入所述对应表中筛选得到对应的第一预测画像值;
替换模块,用于将各所述第一预测画像值分别替换所述第一用户画像中对应的所述第一缺失画像值。
进一步的,所述计算模块包括:
第一输入单元,用于将所述语料库输入预先基于word2vec构建的所述预测模型;
第一筛选单元,用于利用所述预测模型,从所述语料库中按照所述预设排列顺序筛选各所述缺失词汇相邻出现的第二预设数量的所述第一已知词汇,并根据各所述已知词汇获得至少一个初始预测词汇以及各初始预测词汇分别对应的出现概率;
第一选择单元,用于分别比对各所述出现概率,选择所述出现概率最大的所述初始预测词汇作为所述预测词汇。
进一步的,所述补充装置还包括:
第二筛选模块,用于从原始画像表中筛选画像饱和度大于阈值的第三预设数量的第二用户画像;
第三筛选模块,用于将各所述第二用户画像值输入所述预设对应表中筛选得到对应的第二词汇;
第二构建模块,用于将各所述第二词汇按照预设规则构建训练样本,同时分别给予各所述第二词汇对应的初始向量;
训练模块,用于识别各所述初始向量,并使用霍夫曼树分类方法训练所述训练样本得到初始预测模型;
第一判断模块,用于判断所述初始预测模型当前的第一准确率是否小于预设准确率;
扩大模块,用于扩大所述训练样本重新训练所述初始预测模型,得到二次训练模型;
第二判断模块,用于判断所述二次训练模型当前的第二准确率是否满足预设要求;
设定模块,用于将所述二次训练模型设定为所述预测模型。
进一步,所述第二构建模块包括:
设定单元,用于将各所述第二词汇分别设为输出值;
第二选择单元,用于按照所述预设排列顺序,分别选择所述输出值相邻出现的第四预设数量的所述第二词汇作为输入值;
关联单元,用于将各所述输入值分别与各输出值对应关联形成多组训练值,并汇总各组所述训练值形成所述训练样本。
进一步的,所述训练模块,包括:
识别单元,用于根据所述初始向量与所述第二词汇的对应关系,识别所述训练样本中的各个所述训练值;
第一获取单元,用于获取相同输入值的出现次数,以及与所述相同输入值对应的各个所述输出值分别对应的出现次数;
第一计算单元,用于根据所述相同输入值的出现次数和各所述输出值对应的出现次数,计算得到各所述输出值的出现概率;
构建单元,用于根据所述输入值、各所述输出值以及各所述输出值对应的所述出现概率,构建所述预测模型。
进一步的,第一判断模块包括:
第二获取单元,用于获取画像饱和度为100%的多个第三用户画像;
第三选择单元,用于分别从各所述第三用户画像中选择第五预设数量的所述第三阈值画像值作为测试画像值;
剔除单元,用于将各所述测试画像值从对应的所述第三用户画像中分别剔除,得到剔除后的各所述第三用户画像对应的第四用户画像;
第二输入单元,用于使用各所述第四用户画像构建测试样本,并将所述测试样本输入所述初始预测模型,得到预测画像值;
第二计算单元,用于计算所述预测画像值与对应的所述测试画像值之间的相同率,得到所述第一准确率;
调用单元,用于调用所述预设准确率与所述第一准确率进行比较;
第一判定单元,用于判定所述初始预测模型当前的第一准确率小于预设准确率;
第二判定单元,用于判定所述初始预测模型当前的第一准确率大于预设准确率。
进一步的,所述扩大模块包括:
第二筛选单元,用于筛选测试所述初始预测模型过程中与预测画像值不同的所有测试画像值作为扩大输出值;
第四选择单元,用于按照所述预设排列顺序分别选择所述扩大输出值对应的多个扩大输入值;
扩大单元,用于分别将各所述扩大输入值与所述扩大输出值对应关联后加入所述训练样本中,扩大所述训练样本;
训练单元,用于使用扩大后的所述训练样本重新训练所述初始预测模型,得到所述二次训练模型。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请中提供的一种基于word2vec的用户画像缺失补充方法、装置、计算机设备,通过调用基于word2vec思想构建的预测模型,能够根据各画像信息之间的出现概率,从而自动根据用户已有的画像信息,选择出现概率高的预测画像信息用以补全相应的缺失画像信息,具有优秀的准确率和完整率,并且有效提高工作效率。
附图说明
图1是本申请一实施例中基于word2vec的用户画像缺失的补充方法步骤示意图;
图2是本申请一实施例中基于word2vec的用户画像缺失的补充装置整体结构框图;
图3是本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请一实施例中提供了一种基于word2vec的用户缺失画像的补充方法,包括:
S1:调取预先录入的第一用户画像,所述第一用户画像由第一预设数量的第一用户画像值按照预设排列顺序组成,所述第一用户画像包括多个第一缺失画像值和多个第一已知画像值;
S2:将各所述第一用户画像值输入预设对应表中筛选得到对应的第一词汇,,并将各所述第一词汇按照所述预设排列顺序构建语料库,所述语料库包括各所述第一缺失画像值对应的缺失词汇和各所述第一已知画像值对应的第一已知词汇,所述预设对应表由预先构建的多组用户画像值对应词汇组成;
S3:将所述语料库输入预先基于word2vec构建的预测模型中进行计算,输出各所述缺失词汇分别对应的预测词汇;
S4:将各所述预测词汇输入所述对应表中筛选得到对应的第一预测画像值;
S5:将各所述第一预测画像值分别替换所述第一用户画像中对应的所述第一缺失画像值。
本实施例中,Word2vec是为一群用来产生词向量的相关模型。这些模型为浅而双层的神经网络,用来训练以重新建构语言学之词文本。第一用户画像由操作人员录入处理终端。操作人员通过客观的数据收集渠道,比如用户自己填写、用户网上留下的购买记录、浏览记录等途径,收集用户不同纬度的信息,并将所收集的用户信息按照传统的数据加工手段处理整合成数据表,该数据表即为第一用户画像。其中,数据表中的用户信息词汇按照预设对应表表现为第一用户画像值,而非具体的文本词汇,并按照预设排列顺序进行排列。比如,第一用户画像值“1”在预设对应表中对应的文本词汇为“男性”。处理终端在调取预先录入的第一用户画像后,需要将第一用户画像中的各个第一用户画像值输入预设对应表中筛选得到对应的第一词汇,,并将转化后的第一词汇按照原先在第一用户画像中的顺序,即预设排列顺序进行排列,构建语料库,形成第一用户画像的文本描述,具有具体的词义。其中,第一用户画像值中包括多个第一已知画像值和第一缺失画像值,第一已知画像值转化为对应的具有具体词义的第一已知词汇。而第一缺失画像值,即空值统一转化为“未知”,即第一缺失词汇。处理终端将所述语料库输入预先基于word2vec构建的预测模型中进行计算。其中,预测模型中包括有多组已知词汇对应的预测词汇。语料库中的各第一词汇按照预设排列顺序排列,在进行解析时,预测模型可以识别第一已知词汇和第一缺失词汇,然后根据第一已知词汇匹配直接得到第一缺失词汇对应的一个或多个预测词汇,并根据各个预测词汇的出现概率,选择出现概率最大的一个预测词汇输出。比如,预测模型根据第一已知词汇“男”、“公务员”、“30岁”,匹配得到在“是否有车”这个文本描述中,“有车”的出现概率为60%,“没有车”的出现概率为40%,预测模型选择输出出现概率较大的“有车”这个词汇作为预测词汇。处理终端在获得预测模型输出的预测词汇后,需要将各预测词汇输入对应表中筛选得到对应的第一预测画像值,并使用第一预测画像值替换对应的第一缺失画像值,直至补全整个第一用户画像,即第一用户画像中均为已知画像值。
进一步的,所述将所述语料库输入基于word2vec构建的预测模型中进行计算,输出各所述缺失词汇分别对应的预测词汇的步骤,包括:
S301:将所述语料库输入预先基于word2vec构建的所述预测模型;
S302:利用所述预测模型,从所述语料库中按照所述预设排列顺序筛选各所述缺失词汇相邻出现的第二预设数量的所述第一已知词汇,并根据各所述已知词汇获得至少一个初始预测词汇以及各初始预测词汇分别对应的出现概率;
S303:分别比对各所述出现概率,选择所述出现概率最大的所述初始预测词汇作为所述预测词汇。
本实施例中,预测模型预先基于word2vec的训练思想构建得到,内部包含有第一已知词汇对应输出的初始预测词汇,以及初始预测词汇对应的出现概率。处理终端调用预测模型对语料库进行解析。预测模型在解析过程中可以识别第一已知词汇和第一缺失词汇,以及两者之间的预设排列顺序。预测模型在对第一缺失词汇进行预测时,根据第一词汇之间的预设排列顺序选择缺失词汇相邻出现的第二预设数量的第一已知词汇作为输入,筛选后输出对应的一个或多个初始预测词汇及其对应的出现概率。预测模型对各个初始预测词汇的出现概率一一进行比较,然后选择出现概率最大的初始预测词汇作为预测词汇输出。比如,预测模型根据第一已知词汇“男”、“公务员”、“30岁”,匹配得到在“性别”、“职业”、“年龄”预设排列顺序之后的文本描述:“是否有车”的初始预测词汇“有车”的出现概率为60%,另一初始预测词汇“没有车”的出现概率为40%,预测模型选择输出出现概率较大的“有车”这个初始预测词汇作为预测词汇。
进一步的,所述将所述语料库输入预先基于word2vec构建的预测模型中进行计算,输出各所述缺失词汇分别对应的预测词汇的步骤之前,包括:
S6:从原始画像表中筛选画像饱和度大于阈值的第三预设数量的第二用户画像,所述原始画像表由开发人员根据预先收集的多个原始用户画像构建,所述第二用户画像由所述第一预设数量的第二用户画像值按照所述预设排列顺序组成;
S7:将各所述第二用户画像值输入所述预设对应表中筛选得到对应的第二词汇;
S8:将各所述第二词汇按照预设规则构建训练样本,同时分别给予各所述第二词汇对应的初始向量;
S9:识别各所述初始向量,并使用霍夫曼树分类方法训练所述训练样本得到初始预测模型;
S10:判断所述初始预测模型当前的第一准确率是否小于预设准确率;
S11:若小于预设准确率,则扩大所述训练样本重新训练所述初始预测模型,得到二次训练模型;
S12:判断所述二次训练模型当前的第二准确率是否满足预设要求,所述预设要求为所述第二准确率等于所述预设准确率或所述第二准确率与所述第一准确率之间的差值是否小于预设差值;
S13:若满足预设要求,则将所述二次训练模型设定为所述预测模型。
本实施例中,用户画像的画像饱和度定义为:用户平均有值的画像值数/总的画像值数。处理终端从开发人员根据预先收集的多个原始用户画像构建后录入的原始画像表中,筛选画像饱和度大于阈值,比如画像饱和度大于50%的第三预设数量的第二用户画像。其中,各个第二用户画像均由第一预设数量的第二用户画像值按照预设排列顺序组成,即各个第二用户画像的规格相同。然后,处理终端对各个第二用户画像进行分词,将各个第二用户画像中的第二画像值输入所述预设对应表中筛选得到对应的第二词汇。处理终端根据第二用户画像中的各个第二词汇的出现与其上下文中第四预设数量个第二词汇的出现的相关关系构建训练样本,比如,“男,21岁,公务员,两个产险”对应与“有车”。处理终端调用word2vec算法对训练样本进行训练。首先需要使用softmax分类器(逻辑回归多分类落站)给予各个第二词汇一个初始向量,一般是k维,0—n的随机值组成一个k维变量,比如“2,1”。然后,处理终端采用霍夫曼树分类方案对具有初始向量的训练样本进行训练。根据霍夫曼树思想,概率越大的向量其离树的根节点越近,由此训练得到的预测模型,可以预测出现了N个词后,N+1个词可能出现的概率。比如,“男”、“30—40岁”两个词出现后,下一个词为“购买一次”的概率是0.3,“购买两次”的概率是0.2。处理终端在训练得到预测模型后,另外选取第三用户画像作为测试样本,用于测试预测模型,得到相应的测试结果,测试结果包括预测画像值和当前的第一准确率。处理终端调用预设准确率与第一准确率进行比较,如果第一准确率大于或等于预设准确率,则不需要扩大训练样本,直接将初始训练模型设置为预设模型。如果第一准确率小于预设准确率,则需要扩大训练样本重新训练初始预测模型,得到二次训练模型。处理终端需要判断再次训练后的二次训练模型当前的第二准确率是否满足预设要求,如果满足预设要求,则将二次训练模型设定为预测模型。如果不满足,则需要再次扩大训练样本重新训练二次训练模型,依次重复上述动作,直至训练后的训练模型满足预设要求。其中预设要求为第二准确率等于预设准确率或第二准确率与第一准确率之间的差值是否小于预设差值。
进一步的,所述将各所述第二词汇按照预设规则构建训练样本的步骤,包括:
S801:将各所述第二词汇分别设为输出值;
S802:按照所述预设排列顺序,分别选择所述输出值相邻出现的第四预设数量的所述第二词汇作为输入值;
S803:将各所述输入值分别与各输出值对应关联形成多组训练值,并汇总各组所述训练值形成所述训练样本。
本实施例中,各个第二词汇按照对应的第二画像值在用户画像中的位置,即预设排列顺序进行排序,由此处理终端可以直接识别各个用户画像对应的第二词汇的出现顺序。处理终端分别将各个第二词汇设为输出值,然后根据预设排列顺序,分别寻找各个输出值相邻出现的第四预设数量的第二词汇作为该输出值对应的输入值。比如,单个用户画像中按照顺序出现的第二词汇为“男,21岁,公务员,两个产险,有车”,选择前4个第二词汇作为输入值,则第5个第二词汇为输出值,关联形成的测试值格式为“(男,21岁,公务员,两个产险)—(有车)”。处理终端将各个输入值分别与输出值对应关联形成多组训练值,并汇总各组所述训练值汇总形成训练样本。
进一步的,所述识别所述初始向量,并使用霍夫曼树分类方法训练所述训练样本得得到初始预测模型的步骤,包括:
S901:根据所述初始向量与所述第二词汇的对应关系,识别所述训练样本中的各个所述训练值;
S902:获取相同输入值的出现次数,以及与所述相同输入值对应的各个所述输出值分别对应的出现次数;
S903:根据所述相同输入值的出现次数和各所述输出值对应的出现次数,计算得到各所述输出值的出现概率;
S904:根据所述输入值、各所述输出值以及各所述输出值对应的所述出现概率,构建所述预测模型。
本实施例中,处理终端根据初始向量与第二词汇之间的对应关系,识别各个训练值中对应的输入值和输出值,并统计相同的输入值的出现次数,以及与该输入值对应的一个或多个输出值各自的出现次数。各个输出值的出现次数除以对应的输入值的出现次数,计算获得各个输出值的出现概率。处理系统根据各个输入值以及与该输入值对应的输出值的出现概率,构建霍夫曼树。其中,霍夫曼树的根节点为输入值,子树的根节点为对应的输出值。输出值按照出现概率进行分布,出现概率越大的输出值离霍夫曼树的根节点越近。整理统合所有的霍夫曼树,形成初始模型。处理终端获取测试样本,对初始模型的准确率进行测试,并根据测试结果调整初始模型,直至初始模型的准确率等于预设准确率,得到预测模型。
进一步的,所述判断所述初始预测模型当前的第一准确率是否小于预设准确率的步骤,包括:
S1001:获取画像饱和度为100%的多个第三用户画像,所述第三用户画像包括第三已知画像值;
S1002:分别从各所述第三用户画像中选择第五预设数量的所述第三已知画像值作为测试画像值;
S1003:将各所述测试画像值从对应的所述第三用户画像中分别剔除,得到剔除后的各所述第三用户画像对应的第四用户画像;
S1004:使用各所述第四用户画像构建测试样本,并将所述测试样本输入所述初始预测模型,得到预测画像值;
S1005:计算所述预测画像值与对应的所述测试画像值之间的相同数量,得到所述第一准确率;
S1006:调用所述预设准确率与所述第一准确率进行比较;
S1007:若所述第一准确率小于所述预设准确率,则判定所述初始预测模型当前的第一准确率小于预设准确率;
S1008:若所述第一准确率大于所述预设准确率,则判定所述初始预测模型当前的第一准确率大于预设准确率。
本实施例中,处理终端录入画像饱和度为100%的多个第三用户画像,其中包括具有确定值的第三已知画像值。处理终端从各个第三用户画像中选择第五预设数量的第三已知画像值作为测试画像值,将测试画像值从各个第三用户画像中剔除,剔除后的各个第三用户画像形成新的第四用户画像。此时第四用户画像中对应测试画像值的画像值为缺失画像值。处理终端将各个第四用户画像中的第四画像值转化为对应的第四词汇,并以此构建测试样本。处理终端将测试样本输入到初始预测模型中进行解析,得到预测画像值。处理终端分别将各个预测画像值与测试画像值进行对应比对,如果预测画像值与对应的测试画像值相同,则预测正确;如果不同则错误。根据预测画像值的总数和正确的预测画像值的数目,计算得到模型准确率。处理终端调用调用预设准确率与第一准确率进行比较。如果第一准确率小于预设准确率,则判定初始预测模型当前的第一准确率小于预设准确率。若第一准确率大于预设准确率,则判定初始预测模型当前的第一准确率大于预设准确率。
进一步的,所述扩大所述训练样本重新训练所述初始预测模型,得到二次训练模型的步骤,包括:
S1101:筛选测试所述初始预测模型过程中与预测画像值不同的所有测试画像值作为扩大输出值;
S1102:按照所述预设排列顺序分别选择所述扩大输出值对应的多个扩大输入值;
S1103:分别将各所述扩大输入值与所述扩大输出值对应关联后加入所述训练样本中,扩大所述训练样本;
S1104:使用扩大后的所述训练样本重新训练所述初始预测模型,得到所述二次训练模型。
本实施例中,处理终端判定预测模型的第一准确率小于预设准确率后,则需要采用切分不同训练样本的形式重新训练初始预测模型。即处理终端筛选出在测试初始预设模型中与预测画像值不同的一个或多个测试画像值作为扩大输出值,并按照预设排列顺序从原始用户画像表中根据扩大输出值选择其对应的预设第四数量的已知画像值作为扩大输入值。比如,在测试初始预测模型中,得到的预测画像值为“有车”,而测试画像值为“无车”,则说明初始预测模型在对输出值“是否有车”进行补充时不准确,需要针对该输出值扩大训练样本,即获取更多在“是否有车”这一用户画像的更多已知画像值作为扩大输入值。处理终端分别将各个扩大输入值与输出值对应关联,形成测试值后加入训练样本中,扩大训练样本。处理终端通过霍夫曼树分类方法训练扩大后的训练样本,得到二次测试模型。
本实施例提供的一种基于word2vec的用户画像缺失补充方法,通过调用基于word2vec思想构建的预测模型,能够根据各画像信息之间的出现概率,从而自动根据用户已有的画像信息,选择出现概率高的预测画像信息用以补全相应的缺失画像信息,具有优秀的准确率和完整率,并且有效提高工作效率。
参照图2,本申请一实施例中还提供了一种基于word2vec的用户缺失画像的补充装置,包括:
调取模块1,用于调取预先录入的第一用户画像;
第一构建模块2,用于将各所述第一用户画像值输入预设对应表中筛选得到对应的第一词汇,并将各所述第一词汇按照所述预设排列顺序构建语料库;
计算模块3,用于将所述语料库输入预先基于word2vec构建的预测模型中进行计算,输出各所述缺失词汇分别对应的预测词汇;
第一筛选模块4,用于将各所述预测词汇输入所述对应表中筛选得到对应的第一预测画像值;
替换模块5,用于将各所述第一预测画像值分别替换所述第一用户画像中对应的所述第一缺失画像值。
本实施例中,Word2vec是为一群用来产生词向量的相关模型。这些模型为浅而双层的神经网络,用来训练以重新建构语言学之词文本。第一用户画像由操作人员录入处理终端。操作人员通过客观的数据收集渠道,比如用户自己填写、用户网上留下的购买记录、浏览记录等途径,收集用户不同纬度的信息,并将所收集的用户信息按照传统的数据加工手段处理整合成数据表,该数据表即为第一用户画像。其中,数据表中的用户信息词汇按照预设对应表表现为第一用户画像值,而非具体的文本词汇,并按照预设排列顺序进行排列。比如,第一用户画像值“1”在预设对应表中对应的文本词汇为“男性”。处理终端在调取预先录入的第一用户画像后,需要将第一用户画像中的各个第一用户画像值输入预设对应表中筛选得到对应的第一词汇,,并将转化后的第一词汇按照原先在第一用户画像中的顺序,即预设排列顺序进行排列,构建语料库,形成第一用户画像的文本描述,具有具体的词义。其中,第一用户画像值中包括多个第一已知画像值和第一缺失画像值,第一已知画像值转化为对应的具有具体词义的第一已知词汇。而第一缺失画像值,即空值统一转化为“未知”,即第一缺失词汇。处理终端将所述语料库输入预先基于word2vec构建的预测模型中进行计算。其中,预测模型中包括有多组已知词汇对应的预测词汇。语料库中的各第一词汇按照预设排列顺序排列,在进行解析时,预测模型可以识别第一已知词汇和第一缺失词汇,然后根据第一已知词汇匹配直接得到第一缺失词汇对应的一个或多个预测词汇,并根据各个预测词汇的出现概率,选择出现概率最大的一个预测词汇输出。比如,预测模型根据第一已知词汇“男”、“公务员”、“30岁”,匹配得到在“是否有车”这个文本描述中,“有车”的出现概率为60%,“没有车”的出现概率为40%,预测模型选择输出出现概率较大的“有车”这个词汇作为预测词汇。处理终端在获得预测模型输出的预测词汇后,需要将各预测词汇输入对应表中筛选得到对应的第一预测画像值,并使用第一预测画像值替换对应的第一缺失画像值,直至补全整个第一用户画像,即第一用户画像中均为已知画像值。
进一步的,所述计算模块3包括:
第一输入单元,用于将所述语料库输入预先基于word2vec构建的所述预测模型;
第一筛选单元,用于利用所述预测模型,从所述语料库中按照所述预设排列顺序筛选各所述缺失词汇相邻出现的第二预设数量的所述第一已知词汇,并根据各所述已知词汇获得至少一个初始预测词汇以及各初始预测词汇分别对应的出现概率;
第一选择单元,用于分别比对各所述出现概率,选择所述出现概率最大的所述初始预测词汇作为所述预测词汇。
本实施例中,预测模型预先基于word2vec的训练思想构建得到,内部包含有第一已知词汇对应输出的初始预测词汇,以及初始预测词汇对应的出现概率。处理终端调用预测模型对语料库进行解析。预测模型在解析过程中可以识别第一已知词汇和第一缺失词汇,以及两者之间的预设排列顺序。预测模型在对第一缺失词汇进行预测时,根据第一词汇之间的预设排列顺序选择缺失词汇相邻出现的第二预设数量的第一已知词汇作为输入,筛选后输出对应的一个或多个初始预测词汇及其对应的出现概率。预测模型对各个初始预测词汇的出现概率一一进行比较,然后选择出现概率最大的初始预测词汇作为预测词汇输出。比如,预测模型根据第一已知词汇“男”、“公务员”、“30岁”,匹配得到在“性别”、“职业”、“年龄”预设排列顺序之后的文本描述:“是否有车”的初始预测词汇“有车”的出现概率为60%,另一初始预测词汇“没有车”的出现概率为40%,预测模型选择输出出现概率较大的“有车”这个初始预测词汇作为预测词汇。
进一步的,所述补充装置还包括:
第二筛选模块,用于从原始画像表中筛选画像饱和度大于阈值的第三预设数量的第二用户画像;
第三筛选模块,用于将各所述第二用户画像值输入所述预设对应表中筛选得到对应的第二词汇;
第二构建模块,用于将各所述第二词汇按照预设规则构建训练样本,同时分别给予各所述第二词汇对应的初始向量;
训练模块,用于识别各所述初始向量,并使用霍夫曼树分类方法训练所述训练样本得到初始预测模型;
第一判断模块,用于判断所述初始预测模型当前的第一准确率是否小于预设准确率;
扩大模块,用于扩大所述训练样本重新训练所述初始预测模型,得到二次训练模型;
第二判断模块,用于判断所述二次训练模型当前的第二准确率是否满足预设要求;
设定模块,用于将所述二次训练模型设定为所述预测模型。
本实施例中,用户画像的画像饱和度定义为:用户平均有值的画像值数/总的画像值数。处理终端从开发人员根据预先收集的多个原始用户画像构建后录入的原始画像表中,筛选画像饱和度大于阈值,比如画像饱和度大于50%的第三预设数量的第二用户画像。其中,各个第二用户画像均由第一预设数量的第二用户画像值按照预设排列顺序组成,即各个第二用户画像的规格相同。然后,处理终端对各个第二用户画像进行分词,将各个第二用户画像中的第二画像值输入所述预设对应表中筛选得到对应的第二词汇。处理终端根据第二用户画像中的各个第二词汇的出现与其上下文中第四预设数量个第二词汇的出现的相关关系构建训练样本,比如,“男,21岁,公务员,两个产险”对应与“有车”。处理终端调用word2vec算法对训练样本进行训练。首先需要使用softmax分类器(逻辑回归多分类落站)给予各个第二词汇一个初始向量,一般是k维,0—n的随机值组成一个k维变量,比如“2,1”。然后,处理终端采用霍夫曼树分类方案对具有初始向量的训练样本进行训练。根据霍夫曼树思想,概率越大的向量其离树的根节点越近,由此训练得到的预测模型,可以预测出现了N个词后,N+1个词可能出现的概率。比如,“男”、“30—40岁”两个词出现后,下一个词为“购买一次”的概率是0.3,“购买两次”的概率是0.2。处理终端在训练得到预测模型后,另外选取第三用户画像作为测试样本,用于测试预测模型,得到相应的测试结果,测试结果包括预测画像值和当前的第一准确率。处理终端调用预设准确率与第一准确率进行比较,如果第一准确率大于或等于预设准确率,则不需要扩大训练样本,直接将初始训练模型设置为预设模型。如果第一准确率小于预设准确率,则需要扩大训练样本重新训练初始预测模型,得到二次训练模型。处理终端需要判断再次训练后的二次训练模型当前的第二准确率是否满足预设要求,如果满足预设要求,则将二次训练模型设定为预测模型。如果不满足,则需要再次扩大训练样本重新训练二次训练模型,依次重复上述动作,直至训练后的训练模型满足预设要求。其中预设要求为第二准确率等于预设准确率或第二准确率与第一准确率之间的差值是否小于预设差值。
进一步,所述第二构建模块包括:
设定单元,用于将各所述第二词汇分别设为输出值;
第二选择单元,用于按照所述预设排列顺序,分别选择所述输出值相邻出现的第四预设数量的所述第二词汇作为输入值;
关联单元,用于将各所述输入值分别与各输出值对应关联形成多组训练值,并汇总各组所述训练值形成所述训练样本。
本实施例中,各个第二词汇按照对应的第二画像值在用户画像中的位置,即预设排列顺序进行排序,由此处理终端可以直接识别各个用户画像对应的第二词汇的出现顺序。处理终端分别将各个第二词汇设为输出值,然后根据预设排列顺序,分别寻找各个输出值相邻出现的第四预设数量的第二词汇作为该输出值对应的输入值。比如,单个用户画像中按照顺序出现的第二词汇为“男,21岁,公务员,两个产险,有车”,选择前4个第二词汇作为输入值,则第5个第二词汇为输出值,关联形成的测试值格式为“(男,21岁,公务员,两个产险)—(有车)”。处理终端将各个输入值分别与输出值对应关联形成多组训练值,并汇总各组所述训练值汇总形成训练样本。
进一步的,所述训练模块,包括:
识别单元,用于根据所述初始向量与所述第二词汇的对应关系,识别所述训练样本中的各个所述训练值;
第一获取单元,用于获取相同输入值的出现次数,以及与所述相同输入值对应的各个所述输出值分别对应的出现次数;
第一计算单元,用于根据所述相同输入值的出现次数和各所述输出值对应的出现次数,计算得到各所述输出值的出现概率;
构建单元,用于根据所述输入值、各所述输出值以及各所述输出值对应的所述出现概率,构建所述预测模型。
本实施例中,处理终端根据初始向量与第二词汇之间的对应关系,识别各个训练值中对应的输入值和输出值,并统计相同的输入值的出现次数,以及与该输入值对应的一个或多个输出值各自的出现次数。各个输出值的出现次数除以对应的输入值的出现次数,计算获得各个输出值的出现概率。处理系统根据各个输入值以及与该输入值对应的输出值的出现概率,构建霍夫曼树。其中,霍夫曼树的根节点为输入值,子树的根节点为对应的输出值。输出值按照出现概率进行分布,出现概率越大的输出值离霍夫曼树的根节点越近。整理统合所有的霍夫曼树,形成初始模型。处理终端获取测试样本,对初始模型的准确率进行测试,并根据测试结果调整初始模型,直至初始模型的准确率等于预设准确率,得到预测模型。
进一步的,第一判断模块包括:
第二获取单元,用于获取画像饱和度为100%的多个第三用户画像;
第三选择单元,用于分别从各所述第三用户画像中选择第五预设数量的所述第三阈值画像值作为测试画像值;
剔除单元,用于将各所述测试画像值从对应的所述第三用户画像中分别剔除,得到剔除后的各所述第三用户画像对应的第四用户画像;
第二输入单元,用于使用各所述第四用户画像构建测试样本,并将所述测试样本输入所述初始预测模型,得到预测画像值;
第二计算单元,用于计算所述预测画像值与对应的所述测试画像值之间的相同率,得到所述第一准确率;
调用单元,用于调用所述预设准确率与所述第一准确率进行比较;
第一判定单元,用于判定所述初始预测模型当前的第一准确率小于预设准确率;
第二判定单元,用于判定所述初始预测模型当前的第一准确率大于预设准确率。
本实施例中,处理终端录入画像饱和度为100%的多个第三用户画像,其中包括具有确定值的第三已知画像值。处理终端从各个第三用户画像中选择第五预设数量的第三已知画像值作为测试画像值,将测试画像值从各个第三用户画像中剔除,剔除后的各个第三用户画像形成新的第四用户画像。此时第四用户画像中对应测试画像值的画像值为缺失画像值。处理终端将各个第四用户画像中的第四画像值转化为对应的第四词汇,并以此构建测试样本。处理终端将测试样本输入到初始预测模型中进行解析,得到预测画像值。处理终端分别将各个预测画像值与测试画像值进行对应比对,如果预测画像值与对应的测试画像值相同,则预测正确;如果不同则错误。根据预测画像值的总数和正确的预测画像值的数目,计算得到模型准确率。处理终端调用调用预设准确率与第一准确率进行比较。如果第一准确率小于预设准确率,则判定初始预测模型当前的第一准确率小于预设准确率。若第一准确率大于预设准确率,则判定初始预测模型当前的第一准确率大于预设准确率。
进一步的,所述扩大模块包括:
第二筛选单元,用于筛选测试所述初始预测模型过程中与预测画像值不同的所有测试画像值作为扩大输出值;
第四选择单元,用于按照所述预设排列顺序分别选择所述扩大输出值对应的多个扩大输入值;
扩大单元,用于分别将各所述扩大输入值与所述扩大输出值对应关联后加入所述训练样本中,扩大所述训练样本;
训练单元,用于使用扩大后的所述训练样本重新训练所述初始预测模型,得到所述二次训练模型。
本实施例中,处理终端判定预测模型的第一准确率小于预设准确率后,则需要采用切分不同训练样本的形式重新训练初始预测模型。即处理终端筛选出在测试初始预设模型中与预测画像值不同的一个或多个测试画像值作为扩大输出值,并按照预设排列顺序从原始用户画像表中根据扩大输出值选择其对应的预设第四数量的已知画像值作为扩大输入值。比如,在测试初始预测模型中,得到的预测画像值为“有车”,而测试画像值为“无车”,则说明初始预测模型在对输出值“是否有车”进行补充时不准确,需要针对该输出值扩大训练样本,即获取更多在“是否有车”这一用户画像的更多已知画像值作为扩大输入值。处理终端分别将各个扩大输入值与输出值对应关联,形成测试值后加入训练样本中,扩大训练样本。处理终端通过霍夫曼树分类方法训练扩大后的训练样本,得到二次测试模型。
本实施例提供的一种基于word2vec的用户画像缺失补充装置,通过调用基于word2vec思想构建的预测模型,能够根据各画像信息之间的出现概率,从而自动根据用户已有的画像信息,选择出现概率高的预测画像信息用以补全相应的缺失画像信息,具有优秀的准确率和完整率,并且有效提高工作效率。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储原始画像表等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于word2vec的用户画像缺失补充方法。
上述处理器执行上述基于word2vec的用户画像缺失补充的步骤:
S1:调取预先录入的第一用户画像,所述第一用户画像由第一预设数量的第一用户画像值按照预设排列顺序组成,所述第一用户画像包括多个第一缺失画像值和多个第一已知画像值;
S2:将各所述第一用户画像值输入预设对应表中筛选得到对应的第一词汇,,并将各所述第一词汇按照所述预设排列顺序构建语料库,所述语料库包括各所述第一缺失画像值对应的缺失词汇和各所述第一已知画像值对应的第一已知词汇,所述预设对应表由预先构建的多组用户画像值对应词汇组成;
S3:将所述语料库输入预先基于word2vec构建的预测模型中进行计算,输出各所述缺失词汇分别对应的预测词汇;
S4:将各所述预测词汇输入所述对应表中筛选得到对应的第一预测画像值;
S5:将各所述第一预测画像值分别替换所述第一用户画像中对应的所述第一缺失画像值。
进一步的,所述将所述语料库输入基于word2vec构建的预测模型中进行计算,输出各所述缺失词汇分别对应的预测词汇的步骤,包括:
S301:将所述语料库输入预先基于word2vec构建的所述预测模型;
S302:利用所述预测模型,从所述语料库中按照所述预设排列顺序筛选各所述缺失词汇相邻出现的第二预设数量的所述第一已知词汇,并根据各所述已知词汇获得至少一个初始预测词汇以及各初始预测词汇分别对应的出现概率;
S303:分别比对各所述出现概率,选择所述出现概率最大的所述初始预测词汇作为所述预测词汇。
进一步的,所述调用预先构建的预测模型解析所述语料库,获得各所述缺失词汇分别对应的预测词汇的步骤之前,包括:
S6:从原始画像表中筛选画像饱和度大于阈值的第三预设数量的第二用户画像,所述原始画像表由开发人员根据预先收集的多个原始用户画像构建,所述第二用户画像由所述第一预设数量的第二用户画像值按照所述预设排列顺序组成;
S7:将各所述第二用户画像值输入所述预设对应表中筛选得到对应的第二词汇;
S8:将各所述第二词汇按照预设规则构建训练样本,同时分别给予各所述第二词汇对应的初始向量;
S9:识别各所述初始向量,并使用霍夫曼树分类方法训练所述训练样本得到初始预测模型;
S10:判断所述初始预测模型当前的第一准确率是否小于预设准确率;
S11:若小于预设准确率,则扩大所述训练样本重新训练所述初始预测模型,得到二次训练模型;
S12:判断所述二次训练模型当前的第二准确率是否满足预设要求,所述预设要求为所述第二准确率等于所述预设准确率或所述第二准确率与所述第一准确率之间的差值是否小于预设差值;
S13:若满足预设要求,则将所述二次训练模型设定为所述预测模型。
进一步的,所述将各所述第二词汇按照预设规则构建训练样本的步骤,包括:
S801:将各所述第二词汇分别设为输出值;
S802:按照所述预设排列顺序,分别选择所述输出值相邻出现的第四预设数量的所述第二词汇作为输入值;
S803:将各所述输入值分别与各输出值对应关联形成多组训练值,并汇总各组所述训练值形成所述训练样本。
进一步的,所述识别所述初始向量,并使用霍夫曼树分类方法训练所述训练样本得得到初始预测模型的步骤,包括:
S901:根据所述初始向量与所述第二词汇的对应关系,识别所述训练样本中的各个所述训练值;
S902:获取相同输入值的出现次数,以及与所述相同输入值对应的各个所述输出值分别对应的出现次数;
S903:根据所述相同输入值的出现次数和各所述输出值对应的出现次数,计算得到各所述输出值的出现概率;
S904:根据所述输入值、各所述输出值以及各所述输出值对应的所述出现概率,构建所述预测模型。
进一步的,所述判断所述初始预测模型当前的第一准确率是否小于预设准确率的步骤,包括:
S1001:获取画像饱和度为100%的多个第三用户画像,所述第三用户画像包括第三已知画像值;
S1002:分别从各所述第三用户画像中选择第五预设数量的所述第三已知画像值作为测试画像值;
S1003:将各所述测试画像值从对应的所述第三用户画像中分别剔除,得到剔除后的各所述第三用户画像对应的第四用户画像;
S1004:使用各所述第四用户画像构建测试样本,并将所述测试样本输入所述初始预测模型,得到预测画像值;
S1005:计算所述预测画像值与对应的所述测试画像值之间的相同数量,得到所述第一准确率;
S1006:调用所述预设准确率与所述第一准确率进行比较;
S1007:若所述第一准确率小于所述预设准确率,则判定所述初始预测模型当前的第一准确率小于预设准确率;
S1008:若所述第一准确率大于所述预设准确率,则判定所述初始预测模型当前的第一准确率大于预设准确率。
进一步的,所述扩大所述训练样本重新训练所述初始预测模型,得到二次训练模型的步骤,包括:
S1101:筛选测试所述初始预测模型过程中与预测画像值不同的所有测试画像值作为扩大输出值;
S1102:按照所述预设排列顺序分别选择所述扩大输出值对应的多个扩大输入值;
S1103:分别将各所述扩大输入值与所述扩大输出值对应关联后加入所述训练样本中,扩大所述训练样本;
S1104:使用扩大后的所述训练样本重新训练所述初始预测模型,得到所述二次训练模型。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种基于word2vec的用户画像缺失补充方法,具体为:
S1:调取预先录入的第一用户画像,所述第一用户画像由第一预设数量的第一用户画像值按照预设排列顺序组成,所述第一用户画像包括多个第一缺失画像值和多个第一已知画像值;
S2:将各所述第一用户画像值输入预设对应表中筛选得到对应的第一词汇,,并将各所述第一词汇按照所述预设排列顺序构建语料库,所述语料库包括各所述第一缺失画像值对应的缺失词汇和各所述第一已知画像值对应的第一已知词汇,所述预设对应表由预先构建的多组用户画像值对应词汇组成;
S3:将所述语料库输入预先基于word2vec构建的预测模型中进行计算,输出各所述缺失词汇分别对应的预测词汇;
S4:将各所述预测词汇输入所述对应表中筛选得到对应的第一预测画像值;
S5:将各所述第一预测画像值分别替换所述第一用户画像中对应的所述第一缺失画像值。
进一步的,所述将所述语料库输入基于word2vec构建的预测模型中进行计算,输出各所述缺失词汇分别对应的预测词汇的步骤,包括:
S301:将所述语料库输入预先基于word2vec构建的所述预测模型;
S302:利用所述预测模型,从所述语料库中按照所述预设排列顺序筛选各所述缺失词汇相邻出现的第二预设数量的所述第一已知词汇,并根据各所述已知词汇获得至少一个初始预测词汇以及各初始预测词汇分别对应的出现概率;
S303:分别比对各所述出现概率,选择所述出现概率最大的所述初始预测词汇作为所述预测词汇。
进一步的,所述调用预先构建的预测模型解析所述语料库,获得各所述缺失词汇分别对应的预测词汇的步骤之前,包括:
S6:从原始画像表中筛选画像饱和度大于阈值的第三预设数量的第二用户画像,所述原始画像表由开发人员根据预先收集的多个原始用户画像构建,所述第二用户画像由所述第一预设数量的第二用户画像值按照所述预设排列顺序组成;
S7:将各所述第二用户画像值输入所述预设对应表中筛选得到对应的第二词汇;
S8:将各所述第二词汇按照预设规则构建训练样本,同时分别给予各所述第二词汇对应的初始向量;
S9:识别各所述初始向量,并使用霍夫曼树分类方法训练所述训练样本得到初始预测模型;
S10:判断所述初始预测模型当前的第一准确率是否小于预设准确率;
S11:若小于预设准确率,则扩大所述训练样本重新训练所述初始预测模型,得到二次训练模型;
S12:判断所述二次训练模型当前的第二准确率是否满足预设要求,所述预设要求为所述第二准确率等于所述预设准确率或所述第二准确率与所述第一准确率之间的差值是否小于预设差值;
S13:若满足预设要求,则将所述二次训练模型设定为所述预测模型。
进一步的,所述将各所述第二词汇按照预设规则构建训练样本的步骤,包括:
S801:将各所述第二词汇分别设为输出值;
S802:按照所述预设排列顺序,分别选择所述输出值相邻出现的第四预设数量的所述第二词汇作为输入值;
S803:将各所述输入值分别与各输出值对应关联形成多组训练值,并汇总各组所述训练值形成所述训练样本。
进一步的,所述识别所述初始向量,并使用霍夫曼树分类方法训练所述训练样本得得到初始预测模型的步骤,包括:
S901:根据所述初始向量与所述第二词汇的对应关系,识别所述训练样本中的各个所述训练值;
S902:获取相同输入值的出现次数,以及与所述相同输入值对应的各个所述输出值分别对应的出现次数;
S903:根据所述相同输入值的出现次数和各所述输出值对应的出现次数,计算得到各所述输出值的出现概率;
S904:根据所述输入值、各所述输出值以及各所述输出值对应的所述出现概率,构建所述预测模型。
进一步的,所述判断所述初始预测模型当前的第一准确率是否小于预设准确率的步骤,包括:
S1001:获取画像饱和度为100%的多个第三用户画像,所述第三用户画像包括第三已知画像值;
S1002:分别从各所述第三用户画像中选择第五预设数量的所述第三已知画像值作为测试画像值;
S1003:将各所述测试画像值从对应的所述第三用户画像中分别剔除,得到剔除后的各所述第三用户画像对应的第四用户画像;
S1004:使用各所述第四用户画像构建测试样本,并将所述测试样本输入所述初始预测模型,得到预测画像值;
S1005:计算所述预测画像值与对应的所述测试画像值之间的相同数量,得到所述第一准确率;
S1006:调用所述预设准确率与所述第一准确率进行比较;
S1007:若所述第一准确率小于所述预设准确率,则判定所述初始预测模型当前的第一准确率小于预设准确率;
S1008:若所述第一准确率大于所述预设准确率,则判定所述初始预测模型当前的第一准确率大于预设准确率。
进一步的,所述扩大所述训练样本重新训练所述初始预测模型,得到二次训练模型的步骤,包括:
S1101:筛选测试所述初始预测模型过程中与预测画像值不同的所有测试画像值作为扩大输出值;
S1102:按照所述预设排列顺序分别选择所述扩大输出值对应的多个扩大输入值;
S1103:分别将各所述扩大输入值与所述扩大输出值对应关联后加入所述训练样本中,扩大所述训练样本;
S1104:使用扩大后的所述训练样本重新训练所述初始预测模型,得到所述二次训练模型。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本申请的专利保护范围内。