一种基于加权混合的移动app推荐方法

文档序号:10535059阅读:264来源:国知局
一种基于加权混合的移动app推荐方法
【专利摘要】本发明公开了一种基于加权混合的移动APP推荐方法,抓取移动APP标签数据和移动APP简介数据,并与用户移动APP下载数据分别进行数据预处理;针对预处理后的移动APP标签数据和用户移动APP下载数据,建立个性化标签模型,利用该模型计算预测分数以此得到第一推荐列表;针对处理后的移动APP简介数据和用户移动APP下载数据,建立LDA用户模型,通过该模型得到主题下用户的概率分布,然后利用KL散度计算用户之间的相似度以此形成第二推荐列表;对两个推荐列表进行加权混合,形成最终推荐列表。本发明通过两种相互独立的方法各自形成相应的推荐结果,最终对两个推荐结果进行加权混合,通过并列式加权混合的方式将两种方法的优势结合起来,提高推荐结果的准确性和多样性。
【专利说明】
一种基于加权混合的移动APP推荐方法
技术领域
[0001] 本发明涉及信息技术领域,具体涉及移动APP个性化推荐研究的一种基于加权混 合的移动APP推荐方法。
【背景技术】
[0002] 伴随着信息技术和互联网的快速发展,移动智能终端作为信息服务的载体近几年 迅速普及。而移动智能终端的普及带来了移动APP市场的快速增长,几大应用市场的应用安 装也相应越来越流行,主要的应用市场包括:APP Store、Android Market和Windows Store,且拥有用户较多的APP Store和Android Market的移动APP个数已超百万。
[0003] 移动APP的快速发展,给用户带来了丰富多样的选择,但是要从海量的移动APP中 找到感兴趣的APP,用户需要耗费大量的时间来进行选择。在信息过滤领域,存在着"信息过 载"问题,而对于目前的移动APP市场同样也存在着此问题,能解决此类问题最有效的方式 则是推荐系统(Recommender Systems)。为了深入有效地解决"信息过载"问题,工业界和学 术界展开了一系列对推荐系统的广泛研究,并且也取得了很多的研究成果。推荐系统的实 现方式是通过充分挖掘用户与项目之间(User-Item)的二元关系,从而帮助用户在海量的 数据中发现用户可能感兴趣的项目。因此,针对如何提高移动APP的推荐算法性能的研究势 在必行。
[0004] -个完整的推荐系统由三个模块组成,分别为:用户建模模块、推荐对象建模模块 和推荐算法模块。用户建模模块完成的是收集用户历史信息数据,建立用户模型,而用户历 史信息数据的种类很多,如用户购买行为、点击行为、评分行为等;推荐对象建模模块实现 的是对推荐对象内容进行建模;推荐算法模块是最核心的部分,针对不同类型的推荐系统 以及不同的数据形态存在多种不同的推荐算法,这个模块将利用相应的规则对用户建模模 块和推荐对象建模模块进行处理。最终将用户最可能喜欢的内容作为推荐结果。常见的推 荐算法有基于内容的推荐算法、协同过滤推荐算法和混合推荐算法。
[0005] 基于内容的推荐算法基于物品信息内容进行推荐,通常用特征抽取来描述物品, 用户偏好的刻画用来表示用户喜爱什么类型的物品。换句话说,此算法根据用户历史的喜 爱物品为其推荐相似物品。通常基于内容的推荐算法首先对物品进行建模,用来描述物品 的属性,算法利用物品特征的权重向量来对用户进行特征表示,权重代表每个特征对用户 的重要程度,可以通过Bayesian、决策树等计算用户对于物品的喜爱程度。通过用户的直接 反馈,比如喜爱与不喜爱,可以分配不同大小的权重。因此,基于内容的推荐是根据物品的 内容信息生成的推荐,而不需要依赖用户对物品的评价等数据。
[0006] 协同过滤推荐算法主要是通过收集和分析大量的用户和物品关系数据,通过此数 据得到用户或物品之间的相似度,从而给用户推荐可能最感兴趣的物品[15]。协同过滤推 荐算法不需要对物品内容信息进行特征表示,而是基于假设用户现在的喜好和历史的喜好 相同,过去喜爱的物品现在也仍会喜欢。协同过滤算法需要有用户的积极参与,且能够用简 单的方法描述用户的兴趣,然后根据信息匹配相似兴趣的用户。协同过滤的实现方式是通 过用户对物品的评分,以此表示用户对物品的喜好程度,以此来描述用户的兴趣,系统能够 将用户对物品的评分和其他用户对相同物品的评分进行匹配,发现兴趣最相似的用户,最 后将相似用户评分很高的物品,且此物品不在此用户列表中,推荐给此用户。协同过滤推荐 算法可以分为基于用户的协同过滤和基于物品的协同过滤。协同过滤推荐算法的推荐质量 取决于用户对物品的评价,而本文所处理的移动APP数据中没有用户对移动APP的评价信 息,因此本文将不考虑协同过滤推荐算法。
[0007] 基于内容的推荐算法主要依附于物品的内容信息和描述进行推荐,协同过滤推荐 算法是通过对用户特定行为进行收集和分析形成推荐,利用单一的推荐算法对用户进行推 荐时可能会存在数据稀疏和冷启动等问题。因此可以利用混合算法扬长避短,结合不同推 荐算法的优点为用户进行推荐。

【发明内容】

[0008] 本发明目的是:提供一种基于加权混合的移动APP推荐方法,以解决目前基于内容 的推荐算法只考虑信息和信息之间的相似关系,而忽略了用户行为,存在模型有效性问题 和过度特征化等问题,以及基于主题模型的推荐算法无法表征用户偏好的问题。
[0009] 本发明的技术方案是:
[0010] 一种基于加权混合的移动APP推荐方法,包括以下步骤:
[0011] S1:抓取移动APP标签数据和移动APP简介数据,然后对移动APP标签数据、移动APP 简介数据及用户移动APP下载数据进行数据预处理;
[0012] S2:针对预处理后的移动APP标签数据和用户移动APP下载数据,通过对用户行为 进行分析建立个性化标签模型,然后对用户所下载APP的标签数据集进行加权量化,利用个 性化标签模型遍历所有候选移动APP,计算用户对候选移动APP的预测分数以此得到第一推 荐列表;
[0013] S3:针对处理后的移动APP简介数据和用户移动APP下载数据,建立LDA用户模型, 通过该模型得到主题下用户的概率分布,然后利用KL散度计算用户之间的相似度以此形成 第二推荐列表;
[0014] S4:对第一推荐列表与第二推荐列表进行加权混合,通过并列式的混合方式形成 最终推荐列表。
[0015] 优选的,步骤S1中通过定向爬虫技术,即利用Nutch工具的爬虫组件Crawler对移 动APP标签数据和移动APP简介数据进行抓取。
[0016]优选的,步骤S2中得到第一推荐列表的方法包括:
[0017]针对处理后的移动APP标签数据和用户移动APP下载数据,对用户行为进行分析, [0018]根据用户下载来源对用户所下载的移动APP进行划分,将其划分为High、N〇rmal和 Low三个等级,
[0019]得到用户移动APP的划分后,对标签数据集进行划分,将其划分为HighTags Set、 Normal Tags Set和Low Tags Set三个数据集,
[0020 ]去除重复标签,根据每个标签的频率对标签进行加权量化,
[0021 ]得到标签的权重后,建立个性化标签模型,
[0022]利用个性化标签模型遍历所有候选移动APP,计算用户对候选移动APP的预测分 数,
[0023]通过对预测分数排序,得到第一推荐列表。
[0024]优选的,根据用户下载来源对用户所下载的移动APP进行划分,将其划分为High、 Normal和Low三个等级,具体如下:
[0025] High:搜索、猜你喜欢、更新管理,收藏;
[0026] Normal:软件、首页,游戏;
[0027] Low:后台下载、来源未知、none。
[0028] 优选的,步骤S3中得到第二推荐列表的方法包括:
[0029]针对处理后的移动APP简介数据和用户下载列表数据,建立LDA用户模型,
[0030] 首先是对数据格式的系列转换,具体包括将数据转换成SequenceFile格式,将 SequenceFile格式文件转换为向量表示,且将单词形式转换成单词id的形式,
[0031] 使用CVB0方法对LDA用户模型训练,设定迭代次数和主题个数,
[0032] LDA用户模型训练后得到用户在主题空间下的概率分布,
[0033] 利用优化后的KL散度计算用户之间的相似度,
[0034] 利用用户之间的相似度,选定相应的移动APP,给用户形成第二推荐列表。
[0035] 优选的,所述步骤S4中加权混合的方法为:对于第一推荐列表与第二推荐列表,利 用并行式混合模型思想将其进行混合,利用加权因子来对不同方法生成的推荐结果进行控 制,形成最终推荐列表。
[0036]本发明的有益效果:
[0037]本发明所提供的基于加权混合的移动APP推荐方法,通过两种相互独立的方法各 自形成相应的推荐结果,最终对两个推荐结果进行加权混合,通过并列式加权混合的方式 将两种方法的优势结合起来,提高算法的推荐结果的准确性和多样性。
【附图说明】
[0038] 下面结合附图及实施例对本发明作进一步描述:
[0039] 图1为本发明实施例中利用个性化标签模型得到推荐列表的流程图;
[0040] 图2为本发明实施例中LDA用户模型矩阵示意图;
[0041] 图3为本发明实施例中利用LDA用户模型得到推荐列表的流程图;
[0042]图4为本发明实施例中基于加权混合的移动APP推荐方法的方法架构设计图。
【具体实施方式】
[0043]下面结合附图对本发明作进一步详细的说明。
[0044]如图1所示,本发明方法针对数据处理后的移动APP简介数据和用户APP下载列表 数据,首先对用户行为进行分析,根据分析结果对用户所下载的标签数据集进行加权量化, 然后建立个性化标签模型,利用个性化标签模型遍历所有候选移动APP,计算用户对候选移 动APP的预测分数,最终得到推荐列表。
[0045] (1)用户行为分析
[0046]根据用户移动APP下载列表数据中下载来源对用户下载的移动APP进行分类,然后 根据分类结果对用户所下载移动APP的标签数据进行加权量化。首先对移动APP下载列表数 据中用户下载来源来对用户行为进行分析。对数据分析可得,用户的移动APP下载来源共包 括10类,分别为搜索、软件、更新管理、首页、后台下载、猜你喜欢、收藏、来源未知、游戏、 none,对其进行分析后将其划分为三个等级,分别为High、Normal和Low,下载来源等级划分 具体如下:
[0047] High:搜索、猜你喜欢、更新管理,收藏;
[0048] Normal:软件、首页,游戏;
[0049] Low:后台下载、来源未知、none。
[0050] 根据此等级可以将每一个用户下载的所有移动APP划分为High APP、Normal APP 和Low APP三个等级,因此每个用户所下载的移动APP可以划分为三大类。通过APP等级的划 分同样也可以对用户所下载的移动APP的标签数据进行划分,将用户所下载的全部移动APP 的标签数据分为三个数据集,分别为High Tags Set、Normal Tags Set和Low Tags Set,去 除重复标签后将根据标签的频率对其进行加权量化。将用户的High Tags Set、Normal Tags Set、Low Tags Set分别表示为HT、NT和LT,则计算标签权重的公式分别为 acorc(/(|//,/rr)-./;(/, |/-/7)
[0051 ] <: score: " ,;AT!T) = | MT) scorc(/; \u ,LTJ - \LT)
[0052]其中,fr(ti |HT)是标签ti在用户u在High tags set中的频率。fr(ti |NT)和fr(ti | LT)则是在Normal tags set和Low tags set中的频率。
[0053] (2)建立个性化标签模型
[0054] 根据得到标签的权重,本方法则可以建立个性化标签模型,具体的计算公式如下:
[0055] T Model(u) = a X score(u,HT)+0X score(u,NT)+xX score(u,LT)
[0056] 其中,a,f3,x是独立的参数来控制HT、NT和LT中不同标签的权重,且满足条件0〈f3< a^l ,-l^x<〇〇
[0057]建立个性化标签模型后,然后对候选移动APP进行预测分数的计算,设定候选APP i的标签集为i T,则候选APP i的预测分数为:
[0058] rui - a x H score(tt \u, 11^ + PY, score (i: |?,AT) + JX E score (t;\ii,LT)
[0059] 其中,是计算标签同时在标签集i T和HT中的标签权重, g是用来计算标签同时在标签集i T和N T中的标签权重, ^€{;rrixvr^ g 是用来计算标签同时在标签集i T和LT中的标签权重,并且a,e,x作为 权重参数用来对权重进行调整,最终将rul作为用户u对候选APP i的喜欢程度。通过建立个 性化标签模型,得到用户对候选APP的预测分数m后,对其进行排序,采取前Top N个对用户 进行推荐。通过权重参数来控制三个标签数据集中的权重,三个参数的设置直接影响到个 性化标签模型所产生的推荐,若设定High Tag Set的权重大,则产生的推荐侧重的是用户 喜欢的标签集HighTag Set所对应的移动APP,而设定Low Tag Set的权重大,则产生的推荐 侧重的是过滤了用户不喜欢的标签集Low Tag Set所对应的移动APP。
[0060] 建立个性化标签模型后,通过计算得到用户对候选移动APP的预测分数,对预测分 数进行排序,选定前N个项目为用户进行推荐。与传统的计算内容之间的相似度,然后根据 相似度的大小给用户进行推荐的方式相比,个性化标签模型利用对用户行为的分析,对标 签数据进行加权量化,而不是提取出标签中权重较大的关键词作为特征,比较特征之间的 相似度,因此,本发明通过建立个性化标签模型生成推荐列表,以此提高推荐性能。
[0061] 如图2所示,本发明方法在标准的主题模型文档-主题-词的三层贝叶斯模型上,利 用其贝叶斯结构,针对海量移动APP简介数据和用户APP下载数据,提出了LDA用户模型,首 先将每个用户u表示成由该用户所下载移动APP简介数据构成的一个长的文本数据d,用d来 表示用户u,因此得到的用户下载的移动APP简介集合D代表用户集合U,对移动APP简介集合 D建立LDA用户模型,通过LDA用户模型的训练,则可以得到用户在主题空间下的概率分布。 这些主题可以看作移动APP的一个类别或是用户喜欢的一个兴趣点,每个用户喜欢的兴趣 点都不尽相同,在这种情况下,每个用户在主题空间下的概率分布也各自不同,因此可以通 过此概率分布计算得到形似用户,本方法提出的LDA用户模型描述的是用户-主题-词的新 三层关系。
[0062] 从图2可以看到,用户集合U = WXK,即可得到LDA用户模型下,用户在主题下的概 率分布,其中W为主题空间,K为概率分布。用户-主题-词的三层关系中,在第一层关系用户 层中,针对所有移动APP下载用户的集合U= {m,u2,…,um},对应其中的每一个用户m,可以 对该用户所下载的所有移动APP简介数据组成的长的文本中获取一个词频向量 X 2,…尤,〉;在第二层关系主题层中,在用户集合中的每一个用户m可以将其表 示为相应的向量形式& = /Vi, 』,_ ?, /Vi: },其中然w对应的是每一个用户u i在主题空间下 的概率分布值,这样就得到了用户在主题空间下的概率分布。
[0063]如图3所示,本发明方法针对处理后的移动APP简介数据和用户下载列表数据,建 立LDA用户模型,首先是数据格式的系列转换,然后训练LDA用户模型,通过该模型得到主题 下用户的概率分布,然后利用KL散度计算用户之间的相似度以此形成推荐列表。
[0064] (1)数据格式的系列转换
[0065]要建立LDA用户模型,首先将数据转换成分成SequenceFile格式,利用Hadoop平台 的MapReduce框架将数据预处理的数据(以txt形式进行保存)转化成SequenceFile数据格 式。本方法采用Mahout平台对LDA用户模型进行实现,而Mahout的标准数据输入格式为 SequenceFi le格式,因此本文将数据转换为SequenceFi le格式,这样大大地压缩了数据,使 得数据处理过程更高效。然后将SequenceFile文件转换为向量表示,为了适应多种数据, Mahout机器学习算法多使用向量空间作为输入数据。权重选择词频TF,即Term-Frequency。 由于上一步中将数据处理成SequenceFile格式,且各个单词之间以空格作为分隔符,将其 转换成向量的形式分词器采用的是Lucene的WhitespaceAnalyzer。最后将单词形式转换成 单词id,本方法要利用Mahout的CVB0方法对LDA用户模型进行训练,因此需要将单词形式转 换为word_id的形式,故需要对上一步骤中生成的word将其转换成word_id〇 [0066] (2)训练LDA用户模型
[0067] 根据转换的向量词典表和word_id表,使用CVB0方法对LDA用户模型训练。Mahout CVBO算法本质上面就是Bayes公式和EM算法的结合,而EM算法的实现是对单词-主题不断重 复计算的过程,在E过程中,设定一个向量docTopics,这个向量满足的条件是均匀分布的, 同时满足归一化,对这个向量使用Bayes公式就可以得到矩阵docTopicModel,这个矩阵为 单词-主题的概率分布的结果;M过程所实现的功能是对E过程生成的矩阵重新计算,进而获 得新的向量,一直重复EM过程,直到得到的矩阵和向量为收敛的为止。且得到的概率分布矩 阵用来对LDA用户模型的更新,得到的向量则是主题概率分布向量。CVB0算法的运行流程如 下:
[0068] ①解析参数与Configuration设置;
[0069] ②读取Model,如果HDFS上已经有部分Model,那么程序将读取最后一个Model,并 以这个Model作为初始readModel来继续进行算法迭代。
[0070]③运行算法迭代(Mapper过程)生成LDA模型,首先通过分析Mapper过程,获取缓存 的Mapper,即CachingCVBOMapper,表现在其readModel的选取上面,如果目录里面不存在任 何Model则用RandomSeed初始化一个readModel方法,若存在Model则读取最近的一个 Model。程序将Model划分为readModel和writeModel两类,都为TopicModel类,并由 ModelTrainer来进行调度和管理。
[0071] Mahout程序应用了CVBOAlgorithm来计算LDA用户模型,在Map过程中通过对向量 docTopic和矩阵docTopicModel的反复迭代求解,通过不断的迭代计算,得到每个用户的矩 阵,并且在update writeModel这个过程中,对用户的矩阵进行相加,然后计算完所有的Map 过程之后,就可以得到所有语料集中的docTopicModel矩阵,最后还需要经历一个cleanup 过程,这个过程是将主题的索引作为关键字,并且将矩阵作为具体值写入到Reduce过程中。 详细训练过程步骤如下:
[0072]①根据贝叶斯公式,docTopicModel的计算公式为:
[0074] 其中p(topic x| term a)描述了在给定term a下,文档属于topic x的概率,且p (term) = sum_a(p(term a | topic x)),在ReadModel初始化时确定在整个训练过程中不会 发生变化,该值是一个和topic相关的向量;p(topic x)描述的是目标文档的topic概率分 布,初始值为均匀分布且归一化的向量,在每次算法训练过程中将被更新作为下一次算法 训练的输入;P(term a| topic x)则是所有单词向量term在给定topic x下的概率,在 ReadModel初始化时确定在整个训练过程中不会变化,该对象是一个密集矩阵。
[0075] ②将docTopicModel进行归一化,使sum_x(p(topic x | term a)) = 1 〇
[0076] ③生成新的docTopicModel,是docTopicModel和TF-IDF的乘积,而TF-IDF是目标 文档的单词向量集合,用以评估一个词对于一个文件集或一个语料库中的其中一个文档的 重要程度。
[0077]④根据全概率公式可以得到:
[0078] p(topic x)= sum_x(p(term a)p(topic x|term a))
[0 07 9 ] 重新计算得到的新的d o c T o p i c的值作为下次算法的输入,而p (t e r m a)则是T F - IDF的值,这是由于权重越大的单词则表示其出现的概率越高。
[0080] ⑤Update WriteModel,每次用新生成的docTopics重复进行以上训练过程N次后, 得到一个最终的docTopicModel,该对象描述了给定item a下生成topic x的概率,然后用 该对象来更新WriteModel,使得WriteModel的topicTermCounts(初始值为0)和topicSums (初始值为1和〇)在上一次运算mapper得到的值的基础上加上这一次运算得到的值,并且对 corpus中所有的document全部进行相应运算,得到最终的topicTermCounts则是p(topic x |term a)的加和,即根据单词term将可以得到topic x出现的概率p(topic x|term),即可 以得到最终LDA模型的输出。DocTopicInference过程,即通过LDA模型来进行从Document到 Topic 的概率分布。首先初始化 readModel、WriteModel 和mode ITrainer,Mapper 过程与CVB0 算法的过程相同,对readModel的算法迭代训练过程N次,最终得到docTopic,即目标文档的 主题概率分布p(topic x),然后将文本编号作为key,这个值作为value写入map中,即可得 到最终的文本_主题概率矩阵,也就得到了用户在主题空间下的概率分布矩阵。
[00811 (3)用户相似度计算
[0082]本发明方法的用户相似度的计算采用的是KL散度,也称KL距离,KL散度计算公式 常用来计算概率分布间的相似度,其计算公式如下:
[0084] 其中,Dkl(P | | Q)表不随机变量P = (pi,P2,…,pm)和Q = (qi,q2,…,qM)之间的KL距 离,KL距离为零表示的是用户在主题下的概率分布一样,且KL距离满足非负性的条件。 [0085]由于KL距离不满足对称性,即Dkl(P| |Q)乒Dkl(Q| |P),因此本发明方法将其转换成 对称的形式,解决了在计算不同用户间的KL距离时由于不对称性导致计算结果存在差异的 问题,具体公式如下:
[0086] D(P,Q) = [Dkl(P| |Q)^Dkl(Q| |P)]/2
[0087] 其中D(P,Q)值越小表示用户在主题下的概率分布越接近,相似度就越高。在本发 明方法提出的LDA用户模型中,用户的兴趣可以由用户所下载的APP简介数据在主题空间的 概率分布来表示的,LDA用户模型得到了用户在主题下的概率分布,那么则可以用概率分布 之间的相似性来表示用户间的相似性,因此用户的相似度的计算公式如下:
[0089]其中sim(Ui,Uj)表示的是用户m和Uj的之间的相似度,而Ui和Uj分别是用户在主题 下的概率分布。simOJi,山)越大则表示用户之间的相似度越高。
[0090] (4)生成推荐列表
[0091] 得到了用户之间的相似度后,为了根据用户之间的相似度来为用户形成移动APP 的推荐,本方法提出了利用用户相似度所占比值来选定该用户所需要选取的移动APP个数, 以此方法来形成给用户的推荐列表。具体公式如下:
[0093]其中,Rdj)表示用户i的相似用户j所选取的移动APP推荐个数,S^(j)表示用户i 的相似用户j之间的相似度,且N为选定的用户i的相似用户个数,K为生成的推荐列表的个 数。用户相似度越高,则该用户所下载的移动APP更需要推荐给用户。通过上式可以得到用 户的相似用户所应选取的推荐个数,最终形成推荐列表。
[0094]如图4所示,本发明方法根据图4所述方法,利用上海某软件公司的移动APP市场的 用户APP下载数据,先后通过数据预处理,对网页数据进行抓取,以及数据的一系列预处理 得到处理后的数据,针对处理后的数据分别建立个性化标签模型和LDA用户模型,通过两个 模型分别得到相应的推荐列表,然后利用并行化加权混合的方法,对推荐结果进行加权混 合,得到最终的推荐列表。
[0095]其中,数据预处理部分主要包括数据抓取和数据处理两部分,数据抓取利用的是 开源抓取工具Nutch,来对360手机助手(网页来源http: //zhushou. 360. cn/)的数据进行抓 取,利用了Nutch的Crawler爬虫组件,建立初始URL集,得到移动APP标签数据和移动APP简 介数据;本方法数据处理及存储采用的是Hive数据仓库,数据预处理部分首先对数据进行 导入,然后对重复数据进行去除,最后对移动APP简介数据实现分词,分词采用的是Ansj,现 对移动APP简介数据标出词性,如:肯德基\n,前面的"肯德基"是将一个句子分词过后的一 个词语,其中"\n"代表的是词性,这里为名词。然后再根据词性和停用表过滤一些无益于 LDA的词性,比如助词"的"等。
[0096] 其中,本发明方法的加权混合方式的实现,所采用的是并行式混合方式,并行式混 合模式各推荐算法可以独立运行,然后分别产生推荐列表,然后对分别产生的推荐结果进 行混合。本文通过对数据的抓取和预处理后,分别建立个性化标签模型和LDA用户模型,两 种模型各自生成了相应的推荐列表,然后对两个推荐结果进行并行式加权混合,具体公式 如下:
[0097] R = aR(T) + (l-a)R(L)
[0098] 其中,a为加权因子,且满足条件〇<a$l,R(T)为个性化标签模型生成的推荐结 果,R(L)为LDA用户模型生成的推荐结果,R是最终给用户形成的推荐结果。
[0099] 本方法通过两种相互独立的方法各自形成相应的推荐结果,最终对结果进行加权 混合,通过并列式加权混合的方式将两种方法的优势结合起来,提高算法的推荐结果的准 确性和多样性。
[0100] 本发明对算法个性化标签模型的参数、LDA用户模型参数和混合加权因子参数分 别进行了测试,选定了最优参数的情况下,对推荐算法的F1参数和覆盖率参数进行了测试, 且与优化前的基于内容的推荐算法性能进行了对比,测试结果表明,本发明方法的所产生 推荐结果的F1参数和覆盖率参数均优于其他算法,提高了移动APP推荐算法的准确性和多 样性,能给用户形成准确更高和覆盖率更广的推荐列表。
[0101] 上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人 能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明主 要技术方案的精神实质所做的修饰,都应涵盖在本发明的保护范围之内。
【主权项】
1. 一种基于加权混合的移动APP推荐方法,其特征在于,包括以下步骤: Sl:抓取移动APP标签数据和移动APP简介数据,然后对移动APP标签数据、移动APP简介 数据及用户移动APP下载数据进行数据预处理; S2:针对预处理后的移动APP标签数据和用户移动APP下载数据,通过对用户行为进行 分析建立个性化标签模型,然后对用户所下载APP的标签数据集进行加权量化,利用个性化 标签模型遍历所有候选移动APP,计算用户对候选移动APP的预测分数以此得到第一推荐列 表; S3:针对处理后的移动APP简介数据和用户移动APP下载数据,建立LDA用户模型,通过 该模型得到主题下用户的概率分布,然后利用KL散度计算用户之间的相似度以此形成第二 推荐列表; S4:对第一推荐列表与第二推荐列表进行加权混合,通过并列式的混合方式形成最终 推荐列表。2. 根据权利要求1所述的基于加权混合的移动APP推荐方法,其特征在于,步骤Sl中通 过定向爬虫技术,即利用Nutch工具的爬虫组件Crawler对移动APP标签数据和移动APP简介 数据进行抓取。3. 根据权利要求1所述的一种基于加权混合的移动APP推荐方法,其特征在于,步骤S2 中得到第一推荐列表的方法包括: 针对处理后的移动APP标签数据和用户移动APP下载数据,对用户行为进行分析, 根据用户下载来源对用户所下载的移动APP进行划分,将其划分为High、Normal和Low 三个等级, 得到用户移动APP的划分后,对标签数据集进行划分,将其划分为High Tags Set、 Normal Tags Set和Low Tags Set三个数据集, 去除重复标签,根据每个标签的频率对标签进行加权量化, 得到标签的权重后,建立个性化标签模型, 利用个性化标签模型遍历所有候选移动APP,计算用户对候选移动APP的预测分数, 通过对预测分数排序,得到第一推荐列表。4. 根据权利要求3所述的一种基于加权混合的移动APP推荐方法,其特征在于,根据用 户下载来源对用户所下载的移动APP进行划分,将其划分为High、Normal和Low三个等级,具 体如下: Hi gh:搜索、猜你喜欢、更新管理,收藏; Normal:软件、首页,游戏; Low:后台下载、来源未知、none 〇5. 根据权利要求1所述的一种基于加权混合的移动APP推荐方法,其特征在于,步骤S3 中得到第二推荐列表的方法包括: 针对处理后的移动APP简介数据和用户下载列表数据,建立LDA用户模型, 首先是对数据格式的系列转换,具体包括将数据转换成SequenceFile格式,将 SequenceFi Ie格式文件转换为向量表示,且将单词形式转换成单词id的形式, 使用CVBO方法对LDA用户模型训练,设定迭代次数和主题个数, LDA用户模型训练后得到用户在主题空间下的概率分布, 利用优化后的KL散度计算用户之间的相似度, 利用用户之间的相似度,选定相应的移动APP,给用户形成第二推荐列表。6.根据权利要求1所述的一种基于加权混合的移动APP推荐方法,其特征在于,所述步 骤S4中加权混合的方法为:对于第一推荐列表与第二推荐列表,利用并行式混合模型思想 将其进行混合,利用加权因子来对不同方法生成的推荐结果进行控制,形成最终推荐列表。
【文档编号】G06F17/30GK105893609SQ201610263952
【公开日】2016年8月24日
【申请日】2016年4月26日
【发明人】施佺, 肖瑶, 丁卫平, 陈建平, 杨晨晨
【申请人】南通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1