基于LDA模型从交易数据中提取信用变量的方法和装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于LDA模型从交易数据中提取信用变量的方法和装置。
背景技术
相关技术中,基于用户的信用变量,开发人员可以构建各种信用模型,用于评估用户的信用,以便后续有针对性的开展贷款、借款等与用户信用相关的电子业务。因此,信用变量的准确度将直接影响信用模型的准确度,而如何提取更为准确的信用变量,已成为目前亟待解决的问题。
发明内容
有鉴于此,本申请提供一种基于LDA模型从交易数据中提取信用变量的方法和装置。
具体地,本申请是通过如下技术方案实现的:
一种基于LDA模型从交易数据中提取信用变量的方法,所述方法包括:
获取用户的频数矩阵,所述频数矩阵的行表示用户,所述频数矩阵的列表示类目,所述频数矩阵的任一元素为对应用户在对应类目下的购买频数;
将所述频数矩阵和预设的主题类目数量作为入参输入LDA模型,经过LDA模型计算后得到各主题类目以及所述用户与各主题类目的关联概率值;
将所述用户与所述目标主题类目的关联概率值作为所述用户的信用变量,其中,所述目标主题类目是根据所述关联概率值在所述主题类目中通过计算确定的。
一种基于LDA模型从交易数据中提取信用变量的装置,所述装置包括:
矩阵获取单元,获取用户的频数矩阵,所述频数矩阵的行表示用户,所述频数矩阵的列表示类目,所述频数矩阵的任一元素为对应用户在对应类目下的购买频数;
概率确定单元,将所述频数矩阵和预设的主题类目数量作为入参输入LDA模型,经过LDA模型计算后得到各主题类目以及所述用户与各主题类目的关联概率值;
第一变量确定单元,将所述用户与所述目标主题类目的关联概率值作为所述用户的信用变量,其中,所述目标主题类目是根据所述关联概率值在所述主题类目中通过计算确定的。
本申请可将用户的历史交易数据类比为LDA模型中的文档,将交易数据中的具体类目类比为LDA模型中的单词,基于LDA模型确定出可提升信用变量准确度的潜在目标主题类目,从而基于确定的目标主题类目提取用户的信用变量,以提升信用变量提取的准确度。
附图说明
图1是本申请一示例性实施例示出的一种基于LDA模型从交易数据中提取信用变量的方法的流程示意图。
图2是本申请一示例性实施例示出的一种筛选样本频数矩阵的流程示意图。
图3是本申请一示例性实施例示出的一种基于LDA模型从交易数据中提取信用变量的示意图。
图4是本申请一示例性实施例示出的一种用于基于LDA模型从交易数据中提取信用变量的装置的一结构图。
图5是本申请一示例性实施例示出的一种基于LDA模型从交易数据中提取信用变量的装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
相关技术中,可以采用以下方式对用户的交易数据进行挖掘,以进行信用变量的提取。
一、根据专家经验,总结交易数据的统计维度,比如:过去一年购买商品的次数、去年一年的消费总金额等。
二、通过明细交易数据,对时间、类目、事件等多个维度按照一定的规则进行组合,也就是暴力衍生,比如:过去半年在网游类目上的购买次数、过去一年在服装类目上的购买平均单价等。
三、建立相关模型,比如:根据购买母婴产品等相关的类目建立模型,预测用户是否有孩子;根据购买汽车配件等相关的类目建立模型,预测用户是否有汽车等。
然而,以上这些方式挖掘出的交易数据都是预先设定的,有较大的局限性,无法确保后续信用变量的提取的准确度,进而无法确保信用模型的准确度。
针对上述问题,本申请提供一种基于LDA(Latent Dirichlet Allocation,文档主题生成)模型从交易数据中提取信用变量的方案,可将用户的历史交易数据类比为LDA模型中的文档,将交易数据中的具体类目类比为LDA模型中的单词,基于LDA模型确定出可提升信用变量准确度的潜在目标主题类目,从而基于确定的目标主题类目提取用户的信用变量,以提升信用变量提取的准确度。
图1是本申请一示例性实施例示出的一种基于LDA模型从交易数据中提取信用变量的方法的流程示意图。
请参考图1,所述基于LDA模型从交易数据中提取信用变量的方法可以应用在终端设备中,包括有以下步骤:
步骤101,获取用户的频数矩阵,所述频数矩阵的行表示用户,所述频数矩阵的列表示类目,所述频数矩阵的任一元素为对应用户在对应类目下的购买频数。
在本实施例中,可以基于一个业务平台或多个业务平台来获取所述频数矩阵。以所述业务平台为淘宝网为例,所述频数矩阵的任一元素通常为预设时段内对应用户在对应淘宝网类目下的有效购买频数。其中,所述预设时段可以由开发人员进行设置,比如:过去一年,去年一年、过去半年等。所述类目可以为淘宝网的类目,比如:化妆品、服装、外卖等商品类目或服务类目。所述有效购买频数通常为交易成功,且未发生退款等特殊情形的交易的频数,举例来说,假设用户购买了一条裙子,后续由于价格原因又选择了退货,则这笔交易可不统计在裙子的有效购买频数中。
在本实施例中,所述频数矩阵的行和列是相对的概念,请参考上述频数矩阵X,在一个例子中,n可为频数矩阵X的列数,m可为频数矩阵X的行数,频数矩阵X的任一元素Xij为用户i在类目j下的购买频数。在另一个例子中,n可为频数矩阵X的行数,m可为频数矩阵X的列数,频数矩阵X的任一元素Xij为用户j在类目i下的购买频数,本申请对此不作特殊限制。
在本实施例中,当所述频数矩阵满足预设的参数要求时,可以继续执行步骤102。当所述频数矩阵不满足预设的参数要求时,基于所述频数矩阵进行样本频数矩阵的筛选,以使得筛选得到的样本频数矩阵满足所述预设的参数要求。
在本实施例中,请参考图2,可以采用以下步骤进行样本频数矩阵的筛选:
步骤1011,根据预设的过滤规则确定样本用户。
在本实施例中,所述过滤规则可以由开发人员进行设置,用于过滤掉干扰用户。所述过滤规则可以包括:注册时长不满预设时长、在所述预设时段内的购买频数小于预设频数、未存在对应的信用信息等。其中,未存在对应的信用信息可为必要过滤规则,其他为可选的过滤规则。当然,在实际应用中,开发人员也可以设置其他的过滤规则,本申请对此不作特殊限制。
在本实施例中,所述信用信息通常由用户使用信用类业务的信用情况确定,所述信用类业务可包括:贷款业务、借款业务、信用卡业务等。举例来说,假设用户使用过贷款业务,如果用户按时还款,则可以确定用户的信用情况良好,如果用户未按时还款,则可以确定用户的信用情况较差。较为简单的,可以采用0或1的标签来标识所述信用信息,其中,0表示用户的信用情况正常,比如:未发生违约情况,或发生违约情况的概率极小;1表示用户的信用情况异常,比如:用户经常违约等。可以理解的是,如果某用户使用过信用类业务,则该用户存在信用信息,如果某用户未使用过任何信用类业务,则该用户不存在信用信息。
举例来说,在本步骤中,可以在所有用户中过滤掉注册时间未满半年、过去一年购买次数小于5次,且不存在信用信息的用户,那么剩下的用户就是确定的样本用户。
步骤1012,根据所述预设时段内所述样本用户在所有类目下的购买频数以及所述样本用户的信用信息,通过WOE值在所有类目中确定样本类目集。
基于前述步骤1021,在确定样本用户后,可以获取预设时段内所述样本用户在所有类目下的购买频数。举例来说,假设样本用户的数量为2000万,类目的数量为5000个,则根据预设时段内所述样本用户在所有类目下的购买频数可以构建5000×2000万的频数矩阵(后续称之为:第一频数矩阵),该第一频数矩阵的任意元素Xij为所述预设时段内样本用户i在类目j下的购买频数。
在本实施例中,根据所述第一频数矩阵以及各样本用户的信用信息,可以计算各类目的信用倾向(WOE值),然后根据WOE(Weight of Evidence,证据权重)值可以将所有类目分为两类,一类是较易违约的类目,一类是不易违约的类目,然后选取较易违约的类目和不易违约的类目作为样本类目,所有样本类目构成样本类目集。比如:在基于所述WOE值对所有类目进行分类后,选择一半较易违约的类目,以及一半不易违约的类目。较为形象的,如果将所有类目的违约概率看作一条曲线,那么选取曲线两端的类目作为样本类目,曲线中部的类目通常为对违约概率影响不大的类目,所以可不做选取。举例来说,网游类目通常为违约概率较大的类目,而家居类目通常为违约概率较小的类目,因为购买家居类商品的用户通常有稳定的家庭和收入,这些用户的违约概率极小。
步骤1013,根据所述样本用户和所述样本类目集在频数矩阵中进行样本交易矩阵的筛选。
基于前述步骤1021和1022,在确定样本用户以及样本类目集后,可以在上述频数矩阵中筛选出所述预设时段内样本用户在样本类目集中的各样本类目下的购买频数,作为样本交易矩阵。假设,样本类目集中共有3000个类目,则对应的样本交易矩阵为3000×2000万的矩阵(后续称之为:第二频数矩阵)。
步骤102,将所述频数矩阵和预设的主题类目数量作为入参输入LDA模型,经过LDA模型计算后得到各主题类目以及所述用户与各主题类目的关联概率值。
在本实施例中,所述主题类目数量的取值可以由开发人员进行设置,比如:开发人员可以选取几个主题类目数量分别进行试验,然后选取效果最好的主题类目数量。仍以前述3000×2000万的第二频数矩阵为例,所述主题类目数量可以为100。
在本实施例中,可以将所述频数矩阵类比为LDA模型中的文档,将类目类比为LDA模型中的单词,并将所述频数矩阵和所述主题类目数量作为LDA模型的输入参数。经过LDA模型可以计算得到各主题类目以及所述用户与各主题类目的关联概率值。假设,主题类目数量为100,则基于LDA模型可以确定2000万个用户与100个主题类目的关联概率值,其中,这100个主题类目就是所述文档的主题。换言之,基于LDA模型,可以确定100×2000万的关联概率矩阵。
在本实施例中,当步骤101中获取的频数矩阵满足参数要求时,可以将所述频数矩阵作为LDA模型的入参。当步骤101中获取的频数矩阵不满足参数要求时,可以先进行样本频数矩阵的筛选,并将得到的样本频数矩阵作为LDA模型的入参。
可选的,在另一个例子中,本步骤还可以先对频数矩阵的元素进行数值变换,以降低元素值的稀疏性,增加算法的稳定性,然后将数值变换后的所述频数矩阵作为LDA模型的入参。比如:可以将频数1变换为30,将频数2变换为43,将3以及3以上的频数变换为50等,本申请对此不作特殊限制。
步骤103,将所述用户与所述目标主题类目的关联概率值作为所述用户的信用变量,其中,所述目标主题类目是根据所述关联概率值在所述主题类目中通过计算确定的。
基于前述步骤102,在确定用户与各主题类目的关联概率值后,还可以在所述主题类目中确定目标主题类目,所述目标主题类目的数量为目标数量,所述目标数量小于所述主题类目数量,所述目标数量的取值也可以由开发人员预先进行设置,比如:设置为3、5等,本申请对此不作特殊限制。
在本实施例中,可以根据所述关联概率值计算各主题类目的评估价值,然后根据各主题类目的评估价值大小在所述主题类目中确定目标数量的目标主题类目,比如:可按照评估价值从大到小的顺序,从所述主题类目中确定目标数量的目标主题类目。以前述步骤102中确定100×2000万的关联概率矩阵为例,假设所述目标数量为3,则在本步骤中,可以在100个主题类目中进一步确定3个价值最高的目标主题类目。具体地,可以将所述100×2000万的关联概率矩阵以主题类目(也就是主题)为维度,分为100个概率向量,每个概率向量包括2000万个元素,其中任意元素表示对应用户与该主题类目的关联概率值。然后可以根据所述概率向量与用户的信用信息计算对应主题类目的评估价值,比如:可以计算KS值或AUC值作为所述评估价值。在计算得到各个主题类目的评估价值后,可以选取评估价值最高的3个主题类目作为目标主题类目。至此,已完成LDA模型的训练,在步骤102中确定的关联概率值中,用户与所述目标主题类目的关联概率值就是所述用户的信用变量。
在本实施例中,以将样本频数矩阵作为入参为例,LDA模型还可以保存主题类目×样本类目(样本频数矩阵中的类目)的LDA模型参数矩阵,即保存100个主题类目×3000个样本类目的LDA模型参数矩阵。
可选的,在本申请另一个例子中,当步骤101中获取到的频数矩阵不满足参数要求时,步骤102中LDA模型的入参是筛选后的样本频数矩阵,基于前述步骤103,可以确定各样本用户的信用变量。针对非样本用户,也就是不属于样本频数矩阵中的用户,在确定其信用变量时,可以将所述非样本用户的频数矩阵和所述目标主题类目作为入参输入所述LDA模型,基于所述LDA模型确定所述非样本用户与所述目标主题类目的关联概率值,以作为所述非样本用户的信用变量。举例来说,可以将过去一年非样本用户在3000个类目下的频数矩阵和所述目标主题变量作为LDA模型的输入参数,基于LDA模型可以确定该非样本用户与这3个目标主题类目的关联概率值,即该非样本用户的信用变量。
在本实施例中,为直观表现本申请的实现过程,请参考图3所示的信用变量提取示意图。其中,矩阵X为频数矩阵,将所述频数矩阵和预设的主题类目数量例如100输入LDA模型,可以输出各用户与100个主题类目的关联概率值矩阵K,基于上述输入,LDA模型还可以自动保存100个主题类目×矩阵X中n个类目的LDA模型参数矩阵W。
可选的,在另一个例子中,还可以根据需要更新LDA模型参数矩阵,比如:两年后,用户的消费倾向发生了较大变化,此时,可以重新执行前述步骤101至103,以重新确定主题类目×频数矩阵类目的LDA模型参数矩阵,并重新确定目标主题类目,从而确保目标主题类目的准确性。
由以上描述可以看出,本申请可将用户的历史交易数据类比为LDA模型中的文档,将交易数据中的具体类目类比为LDA模型中的单词,基于LDA模型确定出可提升信用变量准确度的潜在目标主题类目,从而基于确定的目标主题类目提取用户的信用变量,以提升信用变量提取的准确度。
与前述基于LDA模型从交易数据中提取信用变量的方法的实施例相对应,本申请还提供了基于LDA模型从交易数据中提取信用变量的装置的实施例。
本申请基于LDA模型从交易数据中提取信用变量的装置的实施例可以应用在终端设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在终端设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本申请基于LDA模型从交易数据中提取信用变量的装置所在终端设备的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的终端设备通常根据该终端设备的实际功能,还可以包括其他硬件,对此不再赘述。
图5是本申请一示例性实施例示出的一种基于LDA模型从交易数据中提取信用变量的装置的框图。
请参考图5,所述基于LDA模型从交易数据中提取信用变量的装置400可以应用在前述图4所示的终端设备中,包括有:矩阵获取单元401、概率确定单元402、第一变量确定单元403、矩阵筛选单元404以及第二变量确定单元405。
其中,矩阵获取单元401,获取用户的频数矩阵,所述频数矩阵的行表示用户,所述频数矩阵的列表示类目,所述频数矩阵的任一元素为对应用户在对应类目下的购买频数;
概率确定单元402,将所述频数矩阵和预设的主题类目数量作为入参输入LDA模型,经过LDA模型计算后得到各主题类目以及所述用户与各主题类目的关联概率值;
第一变量确定单元403,将所述用户与所述目标主题类目的关联概率值作为所述用户的信用变量,其中,所述目标主题类目是根据所述关联概率值在所述主题类目中通过计算确定的。
矩阵筛选单元404,当所述频数矩阵不满足预设的参数要求时,基于所述频数矩阵进行样本频数矩阵的筛选,并将所述样本频数矩阵和所述预设的主题类目数量作为入参输入LDA模型,经过LDA模型计算后得到各主题类目以及样本频数矩阵中样本用户与各主题类目的关联概率值;
第二变量确定单元405,针对不属于样本频数矩阵的非样本用户,将所述非样本用户的频数矩阵和所述目标主题类目作为入参输入所述LDA模型,以基于所述LDA模型确定所述非样本用户与所述目标主题类目的关联概率值,作为所述非样本用户的信用变量。
可选的,所述矩阵筛选单元404,根据预设的过滤规则确定样本用户;
根据所述预设时段内所述样本用户在所有类目下的购买频数以及所述样本用户的信用信息,通过WOE值在所有类目中确定样本类目集;
根据所述样本用户和所述样本类目集在频数矩阵中进行样本频数矩阵的筛选,其中,所述样本频数矩阵的行表示所述样本用户,所述样本频数矩阵的列表示所述样本类目集中的样本类目,所述样本频数矩阵的任一元素为对应样本用户在对应样本类目下的购买频数。
可选的,所述过滤规则包括:
注册时长不满预设时长、在所述预设时段内的购买频数小于预设频数、未存在对应的信用信息。
可选的,所述矩阵获取单元401,进一步对所述频数矩阵的元素进行数值变换,以减少元素值的稀疏性,并增加算法的稳定性;
所述概率确定单元402,进一步将数值变换后的所述频数矩阵作为所述入参。
可选的,所述目标主题类目的确定过程,包括:根据所述关联概率值计算各主题类目的评估价值,并根据各主题类目的评估价值大小在所述主题类目中确定目标数量的目标主题类目。
可选的,所述评估价值包括:KS值、AUC值。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。