CN105893609A - 一种基于加权混合的移动app推荐方法 - Google Patents
一种基于加权混合的移动app推荐方法 Download PDFInfo
- Publication number
- CN105893609A CN105893609A CN201610263952.1A CN201610263952A CN105893609A CN 105893609 A CN105893609 A CN 105893609A CN 201610263952 A CN201610263952 A CN 201610263952A CN 105893609 A CN105893609 A CN 105893609A
- Authority
- CN
- China
- Prior art keywords
- user
- mobile app
- data
- app
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0282—Rating or review of business operators or products
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于加权混合的移动APP推荐方法,抓取移动APP标签数据和移动APP简介数据,并与用户移动APP下载数据分别进行数据预处理;针对预处理后的移动APP标签数据和用户移动APP下载数据,建立个性化标签模型,利用该模型计算预测分数以此得到第一推荐列表;针对处理后的移动APP简介数据和用户移动APP下载数据,建立LDA用户模型,通过该模型得到主题下用户的概率分布,然后利用KL散度计算用户之间的相似度以此形成第二推荐列表;对两个推荐列表进行加权混合,形成最终推荐列表。本发明通过两种相互独立的方法各自形成相应的推荐结果,最终对两个推荐结果进行加权混合,通过并列式加权混合的方式将两种方法的优势结合起来,提高推荐结果的准确性和多样性。
Description
技术领域
本发明涉及信息技术领域,具体涉及移动APP个性化推荐研究的一种基于加权混合的移动APP推荐方法。
背景技术
伴随着信息技术和互联网的快速发展,移动智能终端作为信息服务的载体近几年迅速普及。而移动智能终端的普及带来了移动APP市场的快速增长,几大应用市场的应用安装也相应越来越流行,主要的应用市场包括:APP Store、Android Market和Windows Store,且拥有用户较多的APP Store和Android Market的移动APP个数已超百万。
移动APP的快速发展,给用户带来了丰富多样的选择,但是要从海量的移动APP中找到感兴趣的APP,用户需要耗费大量的时间来进行选择。在信息过滤领域,存在着“信息过载”问题,而对于目前的移动APP市场同样也存在着此问题,能解决此类问题最有效的方式则是推荐***(Recommender Systems)。为了深入有效地解决“信息过载”问题,工业界和学术界展开了一系列对推荐***的广泛研究,并且也取得了很多的研究成果。推荐***的实现方式是通过充分挖掘用户与项目之间(User-Item)的二元关系,从而帮助用户在海量的数据中发现用户可能感兴趣的项目。因此,针对如何提高移动APP的推荐算法性能的研究势在必行。
一个完整的推荐***由三个模块组成,分别为:用户建模模块、推荐对象建模模块和推荐算法模块。用户建模模块完成的是收集用户历史信息数据,建立用户模型,而用户历史信息数据的种类很多,如用户购买行为、点击行为、评分行为等;推荐对象建模模块实现的是对推荐对象内容进行建模;推荐算法模块是最核心的部分,针对不同类型的推荐***以及不同的数据形态存在多种不同的推荐算法,这个模块将利用相应的规则对用户建模模块和推荐对象建模模块进行处理。最终将用户最可能喜欢的内容作为推荐结果。常见的推荐算法有基于内容的推荐算法、协同过滤推荐算法和混合推荐算法。
基于内容的推荐算法基于物品信息内容进行推荐,通常用特征抽取来描述物品,用户偏好的刻画用来表示用户喜爱什么类型的物品。换句话说,此算法根据用户历史的喜爱物品为其推荐相似物品。通常基于内容的推荐算法首先对物品进行建模,用来描述物品的属性,算法利用物品特征的权重向量来对用户进行特征表示,权重代表每个特征对用户的重要程度,可以通过Bayesian、决策树等计算用户对于物品的喜爱程度。通过用户的直接反馈,比如喜爱与不喜爱,可以分配不同大小的权重。因此,基于内容的推荐是根据物品的内容信息生成的推荐,而不需要依赖用户对物品的评价等数据。
协同过滤推荐算法主要是通过收集和分析大量的用户和物品关系数据,通过此数据得到用户或物品之间的相似度,从而给用户推荐可能最感兴趣的物品[15]。协同过滤推荐算法不需要对物品内容信息进行特征表示,而是基于假设用户现在的喜好和历史的喜好相同,过去喜爱的物品现在也仍会喜欢。协同过滤算法需要有用户的积极参与,且能够用简单的方法描述用户的兴趣,然后根据信息匹配相似兴趣的用户。协同过滤的实现方式是通过用户对物品的评分,以此表示用户对物品的喜好程度,以此来描述用户的兴趣,***能够将用户对物品的评分和其他用户对相同物品的评分进行匹配,发现兴趣最相似的用户,最后将相似用户评分很高的物品,且此物品不在此用户列表中,推荐给此用户。协同过滤推荐算法可以分为基于用户的协同过滤和基于物品的协同过滤。协同过滤推荐算法的推荐质量取决于用户对物品的评价,而本文所处理的移动APP数据中没有用户对移动APP的评价信息,因此本文将不考虑协同过滤推荐算法。
基于内容的推荐算法主要依附于物品的内容信息和描述进行推荐,协同过滤推荐算法是通过对用户特定行为进行收集和分析形成推荐,利用单一的推荐算法对用户进行推荐时可能会存在数据稀疏和冷启动等问题。因此可以利用混合算法扬长避短,结合不同推荐算法的优点为用户进行推荐。
发明内容
本发明目的是:提供一种基于加权混合的移动APP推荐方法,以解决目前基于内容的推荐算法只考虑信息和信息之间的相似关系,而忽略了用户行为,存在模型有效性问题和过度特征化等问题,以及基于主题模型的推荐算法无法表征用户偏好的问题。
本发明的技术方案是:
一种基于加权混合的移动APP推荐方法,包括以下步骤:
S1:抓取移动APP标签数据和移动APP简介数据,然后对移动APP标签数据、移动APP简介数据及用户移动APP下载数据进行数据预处理;
S2:针对预处理后的移动APP标签数据和用户移动APP下载数据,通过对用户行为进行分析建立个性化标签模型,然后对用户所下载APP的标签数据集进行加权量化,利用个性化标签模型遍历所有候选移动APP,计算用户对候选移动APP的预测分数以此得到第一推荐列表;
S3:针对处理后的移动APP简介数据和用户移动APP下载数据,建立LDA用户模型,通过该模型得到主题下用户的概率分布,然后利用KL散度计算用户之间的相似度以此形成第二推荐列表;
S4:对第一推荐列表与第二推荐列表进行加权混合,通过并列式的混合方式形成最终推荐列表。
优选的,步骤S1中通过定向爬虫技术,即利用Nutch工具的爬虫组件Crawler对移动APP标签数据和移动APP简介数据进行抓取。
优选的,步骤S2中得到第一推荐列表的方法包括:
针对处理后的移动APP标签数据和用户移动APP下载数据,对用户行为进行分析,
根据用户下载来源对用户所下载的移动APP进行划分,将其划分为High、Normal和Low三个等级,
得到用户移动APP的划分后,对标签数据集进行划分,将其划分为HighTags Set、Normal Tags Set和Low Tags Set三个数据集,
去除重复标签,根据每个标签的频率对标签进行加权量化,
得到标签的权重后,建立个性化标签模型,
利用个性化标签模型遍历所有候选移动APP,计算用户对候选移动APP的预测分数,
通过对预测分数排序,得到第一推荐列表。
优选的,根据用户下载来源对用户所下载的移动APP进行划分,将其划分为High、Normal和Low三个等级,具体如下:
High:搜索、猜你喜欢、更新管理,收藏;
Normal:软件、首页,游戏;
Low:后台下载、来源未知、none。
优选的,步骤S3中得到第二推荐列表的方法包括:
针对处理后的移动APP简介数据和用户下载列表数据,建立LDA用户模型,
首先是对数据格式的系列转换,具体包括将数据转换成SequenceFile格式,将SequenceFile格式文件转换为向量表示,且将单词形式转换成单词id的形式,
使用CVB0方法对LDA用户模型训练,设定迭代次数和主题个数,
LDA用户模型训练后得到用户在主题空间下的概率分布,
利用优化后的KL散度计算用户之间的相似度,
利用用户之间的相似度,选定相应的移动APP,给用户形成第二推荐列表。
优选的,所述步骤S4中加权混合的方法为:对于第一推荐列表与第二推荐列表,利用并行式混合模型思想将其进行混合,利用加权因子来对不同方法生成的推荐结果进行控制,形成最终推荐列表。
本发明的有益效果:
本发明所提供的基于加权混合的移动APP推荐方法,通过两种相互独立的方法各自形成相应的推荐结果,最终对两个推荐结果进行加权混合,通过并列式加权混合的方式将两种方法的优势结合起来,提高算法的推荐结果的准确性和多样性。
附图说明
下面结合附图及实施例对本发明作进一步描述:
图1为本发明实施例中利用个性化标签模型得到推荐列表的流程图;
图2为本发明实施例中LDA用户模型矩阵示意图;
图3为本发明实施例中利用LDA用户模型得到推荐列表的流程图;
图4为本发明实施例中基于加权混合的移动APP推荐方法的方法架构设计图。
具体实施方式
下面结合附图对本发明作进一步详细的说明。
如图1所示,本发明方法针对数据处理后的移动APP简介数据和用户APP下载列表数据,首先对用户行为进行分析,根据分析结果对用户所下载的标签数据集进行加权量化,然后建立个性化标签模型,利用个性化标签模型遍历所有候选移动APP,计算用户对候选移动APP的预测分数,最终得到推荐列表。
(1)用户行为分析
根据用户移动APP下载列表数据中下载来源对用户下载的移动APP进行分类,然后根据分类结果对用户所下载移动APP的标签数据进行加权量化。首先对移动APP下载列表数据中用户下载来源来对用户行为进行分析。对数据分析可得,用户的移动APP下载来源共包括10类,分别为搜索、软件、更新管理、首页、后台下载、猜你喜欢、收藏、来源未知、游戏、none,对其进行分析后将其划分为三个等级,分别为High、Normal和Low,下载来源等级划分具体如下:
High:搜索、猜你喜欢、更新管理,收藏;
Normal:软件、首页,游戏;
Low:后台下载、来源未知、none。
根据此等级可以将每一个用户下载的所有移动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,则计算标签权重的公式分别为
其中,fr(ti|HT)是标签ti在用户u在High tags set中的频率。fr(ti|NT)和fr(ti|LT)则是在Normal tags set和Low tags set中的频率。
(2)建立个性化标签模型
根据得到标签的权重,本方法则可以建立个性化标签模型,具体的计算公式如下:
T Model(u)=α×score(u,HT)+β×score(u,NT)+χ×score(u,LT)
其中,α,β,χ是独立的参数来控制HT、NT和LT中不同标签的权重,且满足条件0<β≤α≤1,-1≤χ<0。
建立个性化标签模型后,然后对候选移动APP进行预测分数的计算,设定候选APP i的标签集为i T,则候选APP i的预测分数为:
其中,是计算标签同时在标签集i T和HT中的标签权重,是用来计算标签同时在标签集i T和NT中的标签权重,是用来计算标签同时在标签集i T和LT中的标签权重,并且α,β,χ作为权重参数用来对权重进行调整,最终将rui作为用户u对候选APP i的喜欢程度。通过建立个性化标签模型,得到用户对候选APP的预测分数rui后,对其进行排序,采取前Top N个对用户进行推荐。通过权重参数来控制三个标签数据集中的权重,三个参数的设置直接影响到个性化标签模型所产生的推荐,若设定High Tag Set的权重大,则产生的推荐侧重的是用户喜欢的标签集HighTag Set所对应的移动APP,而设定Low Tag Set的权重大,则产生的推荐侧重的是过滤了用户不喜欢的标签集Low Tag Set所对应的移动APP。
建立个性化标签模型后,通过计算得到用户对候选移动APP的预测分数,对预测分数进行排序,选定前N个项目为用户进行推荐。与传统的计算内容之间的相似度,然后根据相似度的大小给用户进行推荐的方式相比,个性化标签模型利用对用户行为的分析,对标签数据进行加权量化,而不是提取出标签中权重较大的关键词作为特征,比较特征之间的相似度,因此,本发明通过建立个性化标签模型生成推荐列表,以此提高推荐性能。
如图2所示,本发明方法在标准的主题模型文档-主题-词的三层贝叶斯模型上,利用其贝叶斯结构,针对海量移动APP简介数据和用户APP下载数据,提出了LDA用户模型,首先将每个用户u表示成由该用户所下载移动APP简介数据构成的一个长的文本数据d,用d来表示用户u,因此得到的用户下载的移动APP简介集合D代表用户集合U,对移动APP简介集合D建立LDA用户模型,通过LDA用户模型的训练,则可以得到用户在主题空间下的概率分布。这些主题可以看作移动APP的一个类别或是用户喜欢的一个兴趣点,每个用户喜欢的兴趣点都不尽相同,在这种情况下,每个用户在主题空间下的概率分布也各自不同,因此可以通过此概率分布计算得到形似用户,本方法提出的LDA用户模型描述的是用户-主题-词的新三层关系。
从图2可以看到,用户集合U=W×K,即可得到LDA用户模型下,用户在主题下的概率分布,其中W为主题空间,K为概率分布。用户-主题-词的三层关系中,在第一层关系用户层中,针对所有移动APP下载用户的集合U={u1,u2,…,um},对应其中的每一个用户ui,可以对该用户所下载的所有移动APP简介数据组成的长的文本中获取一个词频向量在第二层关系主题层中,在用户集合中的每一个用户ui可以将其表示为相应的向量形式其中对应的是每一个用户ui在主题空间下的概率分布值,这样就得到了用户在主题空间下的概率分布。
如图3所示,本发明方法针对处理后的移动APP简介数据和用户下载列表数据,建立LDA用户模型,首先是数据格式的系列转换,然后训练LDA用户模型,通过该模型得到主题下用户的概率分布,然后利用KL散度计算用户之间的相似度以此形成推荐列表。
(1)数据格式的系列转换
要建立LDA用户模型,首先将数据转换成分成SequenceFile格式,利用Hadoop平台的MapReduce框架将数据预处理的数据(以txt形式进行保存)转化成SequenceFile数据格式。本方法采用Mahout平台对LDA用户模型进行实现,而Mahout的标准数据输入格式为SequenceFile格式,因此本文将数据转换为SequenceFile格式,这样大大地压缩了数据,使得数据处理过程更高效。然后将SequenceFile文件转换为向量表示,为了适应多种数据,Mahout机器学习算法多使用向量空间作为输入数据。权重选择词频TF,即Term-Frequency。由于上一步中将数据处理成SequenceFile格式,且各个单词之间以空格作为分隔符,将其转换成向量的形式分词器采用的是Lucene的WhitespaceAnalyzer。最后将单词形式转换成单词id,本方法要利用Mahout的CVB0方法对LDA用户模型进行训练,因此需要将单词形式转换为word_id的形式,故需要对上一步骤中生成的word将其转换成word_id。
(2)训练LDA用户模型
根据转换的向量词典表和word_id表,使用CVB0方法对LDA用户模型训练。Mahout CVB0算法本质上面就是Bayes公式和EM算法的结合,而EM算法的实现是对单词-主题不断重复计算的过程,在E过程中,设定一个向量docTopics,这个向量满足的条件是均匀分布的,同时满足归一化,对这个向量使用Bayes公式就可以得到矩阵docTopicModel,这个矩阵为单词-主题的概率分布的结果;M过程所实现的功能是对E过程生成的矩阵重新计算,进而获得新的向量,一直重复EM过程,直到得到的矩阵和向量为收敛的为止。且得到的概率分布矩阵用来对LDA用户模型的更新,得到的向量则是主题概率分布向量。CVB0算法的运行流程如下:
①解析参数与Configuration设置;
②读取Model,如果HDFS上已经有部分Model,那么程序将读取最后一个Model,并以这个Model作为初始readModel来继续进行算法迭代。
③运行算法迭代(Mapper过程)生成LDA模型,首先通过分析Mapper过程,获取缓存的Mapper,即CachingCVB0Mapper,表现在其readModel的选取上面,如果目录里面不存在任何Model则用RandomSeed初始化一个readModel方法,若存在Model则读取最近的一个Model。程序将Model划分为readModel和writeModel两类,都为TopicModel类,并由ModelTrainer来进行调度和管理。
Mahout程序应用了CVB0Algorithm来计算LDA用户模型,在Map过程中通过对向量docTopic和矩阵docTopicModel的反复迭代求解,通过不断的迭代计算,得到每个用户的矩阵,并且在update writeModel这个过程中,对用户的矩阵进行相加,然后计算完所有的Map过程之后,就可以得到所有语料集中的docTopicModel矩阵,最后还需要经历一个cleanup过程,这个过程是将主题的索引作为关键字,并且将矩阵作为具体值写入到Reduce过程中。详细训练过程步骤如下:
①根据贝叶斯公式,docTopicModel的计算公式为:
其中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初始化时确定在整个训练过程中不会变化,该对象是一个密集矩阵。
②将docTopicModel进行归一化,使sum_x(p(topic x|term a))=1。
③生成新的docTopicModel,是docTopicModel和TF-IDF的乘积,而TF-IDF是目标文档的单词向量集合,用以评估一个词对于一个文件集或一个语料库中的其中一个文档的重要程度。
④根据全概率公式可以得到:
p(topic x)=sum_x(p(term a)p(topic x|term a))
重新计算得到的新的docTopic的值作为下次算法的输入,而p(term a)则是TF-IDF的值,这是由于权重越大的单词则表示其出现的概率越高。
⑤Update WriteModel,每次用新生成的docTopics重复进行以上训练过程N次后,得到一个最终的docTopicModel,该对象描述了给定item a下生成topic x的概率,然后用该对象来更新WriteModel,使得WriteModel的topicTermCounts(初始值为0)和topicSums(初始值为1和0)在上一次运算mapper得到的值的基础上加上这一次运算得到的值,并且对corpus中所有的document全部进行相应运算,得到最终的topicTermCounts则是p(topic x|term a)的加和,即根据单词term将可以得到topic x出现的概率p(topic x|term),即可以得到最终LDA模型的输出。DocTopicInference过程,即通过LDA模型来进行从Document到Topic的概率分布。首先初始化readModel、writeModel和modelTrainer,Mapper过程与CVB0算法的过程相同,对readModel的算法迭代训练过程N次,最终得到docTopic,即目标文档的主题概率分布p(topic x),然后将文本编号作为key,这个值作为value写入map中,即可得到最终的文本-主题概率矩阵,也就得到了用户在主题空间下的概率分布矩阵。
(3)用户相似度计算
本发明方法的用户相似度的计算采用的是KL散度,也称KL距离,KL散度计算公式常用来计算概率分布间的相似度,其计算公式如下:
其中,DKL(P||Q)表示随机变量P=(p1,p2,…,pM)和Q=(q1,q2,…,qM)之间的KL距离,KL距离为零表示的是用户在主题下的概率分布一样,且KL距离满足非负性的条件。
由于KL距离不满足对称性,即DKL(P||Q)≠DKL(Q||P),因此本发明方法将其转换成对称的形式,解决了在计算不同用户间的KL距离时由于不对称性导致计算结果存在差异的问题,具体公式如下:
D(P,Q)=[DKL(P||Q)≠DKL(Q||P)]/2
其中D(P,Q)值越小表示用户在主题下的概率分布越接近,相似度就越高。在本发明方法提出的LDA用户模型中,用户的兴趣可以由用户所下载的APP简介数据在主题空间的概率分布来表示的,LDA用户模型得到了用户在主题下的概率分布,那么则可以用概率分布之间的相似性来表示用户间的相似性,因此用户的相似度的计算公式如下:
其中sim(Ui,Uj)表示的是用户ui和uj的之间的相似度,而Ui和Uj分别是用户在主题下的概率分布。sim(Ui,Uj)越大则表示用户之间的相似度越高。
(4)生成推荐列表
得到了用户之间的相似度后,为了根据用户之间的相似度来为用户形成移动APP的推荐,本方法提出了利用用户相似度所占比值来选定该用户所需要选取的移动APP个数,以此方法来形成给用户的推荐列表。具体公式如下:
其中,Ri(j)表示用户i的相似用户j所选取的移动APP推荐个数,Sij(j)表示用户i的相似用户j之间的相似度,且N为选定的用户i的相似用户个数,K为生成的推荐列表的个数。用户相似度越高,则该用户所下载的移动APP更需要推荐给用户。通过上式可以得到用户的相似用户所应选取的推荐个数,最终形成推荐列表。
如图4所示,本发明方法根据图4所述方法,利用上海某软件公司的移动APP市场的用户APP下载数据,先后通过数据预处理,对网页数据进行抓取,以及数据的一系列预处理得到处理后的数据,针对处理后的数据分别建立个性化标签模型和LDA用户模型,通过两个模型分别得到相应的推荐列表,然后利用并行化加权混合的方法,对推荐结果进行加权混合,得到最终的推荐列表。
其中,数据预处理部分主要包括数据抓取和数据处理两部分,数据抓取利用的是开源抓取工具Nutch,来对360手机助手(网页来源http://zhushou.360.cn/)的数据进行抓取,利用了Nutch的Crawler爬虫组件,建立初始URL集,得到移动APP标签数据和移动APP简介数据;本方法数据处理及存储采用的是Hive数据仓库,数据预处理部分首先对数据进行导入,然后对重复数据进行去除,最后对移动APP简介数据实现分词,分词采用的是Ansj,现对移动APP简介数据标出词性,如:肯德基\n,前面的“肯德基”是将一个句子分词过后的一个词语,其中“\n”代表的是词性,这里为名词。然后再根据词性和停用表过滤一些无益于LDA的词性,比如助词“的”等。
其中,本发明方法的加权混合方式的实现,所采用的是并行式混合方式,并行式混合模式各推荐算法可以独立运行,然后分别产生推荐列表,然后对分别产生的推荐结果进行混合。本文通过对数据的抓取和预处理后,分别建立个性化标签模型和LDA用户模型,两种模型各自生成了相应的推荐列表,然后对两个推荐结果进行并行式加权混合,具体公式如下:
R=αR(T)+(1-α)R(L)
其中,α为加权因子,且满足条件0≤α≤1,R(T)为个性化标签模型生成的推荐结果,R(L)为LDA用户模型生成的推荐结果,R是最终给用户形成的推荐结果。
本方法通过两种相互独立的方法各自形成相应的推荐结果,最终对结果进行加权混合,通过并列式加权混合的方式将两种方法的优势结合起来,提高算法的推荐结果的准确性和多样性。
本发明对算法个性化标签模型的参数、LDA用户模型参数和混合加权因子参数分别进行了测试,选定了最优参数的情况下,对推荐算法的F1参数和覆盖率参数进行了测试,且与优化前的基于内容的推荐算法性能进行了对比,测试结果表明,本发明方法的所产生推荐结果的F1参数和覆盖率参数均优于其他算法,提高了移动APP推荐算法的准确性和多样性,能给用户形成准确更高和覆盖率更广的推荐列表。
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明主要技术方案的精神实质所做的修饰,都应涵盖在本发明的保护范围之内。
Claims (6)
1.一种基于加权混合的移动APP推荐方法,其特征在于,包括以下步骤:
S1:抓取移动APP标签数据和移动APP简介数据,然后对移动APP标签数据、移动APP简介数据及用户移动APP下载数据进行数据预处理;
S2:针对预处理后的移动APP标签数据和用户移动APP下载数据,通过对用户行为进行分析建立个性化标签模型,然后对用户所下载APP的标签数据集进行加权量化,利用个性化标签模型遍历所有候选移动APP,计算用户对候选移动APP的预测分数以此得到第一推荐列表;
S3:针对处理后的移动APP简介数据和用户移动APP下载数据,建立LDA用户模型,通过该模型得到主题下用户的概率分布,然后利用KL散度计算用户之间的相似度以此形成第二推荐列表;
S4:对第一推荐列表与第二推荐列表进行加权混合,通过并列式的混合方式形成最终推荐列表。
2.根据权利要求1所述的基于加权混合的移动APP推荐方法,其特征在于,步骤S1中通过定向爬虫技术,即利用Nutch工具的爬虫组件Crawler对移动APP标签数据和移动APP简介数据进行抓取。
3.根据权利要求1所述的一种基于加权混合的移动APP推荐方法,其特征在于,步骤S2中得到第一推荐列表的方法包括:
针对处理后的移动APP标签数据和用户移动APP下载数据,对用户行为进行分析,
根据用户下载来源对用户所下载的移动APP进行划分,将其划分为High、Normal和Low三个等级,
得到用户移动APP的划分后,对标签数据集进行划分,将其划分为HighTags Set、Normal Tags Set和Low Tags Set三个数据集,
去除重复标签,根据每个标签的频率对标签进行加权量化,
得到标签的权重后,建立个性化标签模型,
利用个性化标签模型遍历所有候选移动APP,计算用户对候选移动APP的预测分数,
通过对预测分数排序,得到第一推荐列表。
4.根据权利要求3所述的一种基于加权混合的移动APP推荐方法,其特征在于,根据用户下载来源对用户所下载的移动APP进行划分,将其划分为High、Normal和Low三个等级,具体如下:
High:搜索、猜你喜欢、更新管理,收藏;
Normal:软件、首页,游戏;
Low:后台下载、来源未知、none。
5.根据权利要求1所述的一种基于加权混合的移动APP推荐方法,其特征在于,步骤S3中得到第二推荐列表的方法包括:
针对处理后的移动APP简介数据和用户下载列表数据,建立LDA用户模型,
首先是对数据格式的系列转换,具体包括将数据转换成SequenceFile格式,将SequenceFile格式文件转换为向量表示,且将单词形式转换成单词id的形式,
使用CVB0方法对LDA用户模型训练,设定迭代次数和主题个数,
LDA用户模型训练后得到用户在主题空间下的概率分布,
利用优化后的KL散度计算用户之间的相似度,
利用用户之间的相似度,选定相应的移动APP,给用户形成第二推荐列表。
6.根据权利要求1所述的一种基于加权混合的移动APP推荐方法,其特征在于,所述步骤S4中加权混合的方法为:对于第一推荐列表与第二推荐列表,利用并行式混合模型思想将其进行混合,利用加权因子来对不同方法生成的推荐结果进行控制,形成最终推荐列表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610263952.1A CN105893609B (zh) | 2016-04-26 | 2016-04-26 | 一种基于加权混合的移动app推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610263952.1A CN105893609B (zh) | 2016-04-26 | 2016-04-26 | 一种基于加权混合的移动app推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105893609A true CN105893609A (zh) | 2016-08-24 |
CN105893609B CN105893609B (zh) | 2019-09-24 |
Family
ID=56704572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610263952.1A Active CN105893609B (zh) | 2016-04-26 | 2016-04-26 | 一种基于加权混合的移动app推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105893609B (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106682170A (zh) * | 2016-12-27 | 2017-05-17 | 北京奇虎科技有限公司 | 一种应用搜索方法和装置 |
CN107423442A (zh) * | 2017-08-07 | 2017-12-01 | 火烈鸟网络(广州)股份有限公司 | 基于用户画像行为分析的应用推荐方法及***,储存介质及计算机设备 |
CN107451694A (zh) * | 2017-08-03 | 2017-12-08 | 重庆大学 | 一种用于移动***中上下文感知与自适应的应用预测方法 |
CN107798100A (zh) * | 2017-10-30 | 2018-03-13 | 江西博瑞彤芸科技有限公司 | 一种应用推荐信息的配置方法 |
CN107967330A (zh) * | 2017-11-27 | 2018-04-27 | 中山大学 | 基于下载行为数据及向量表征学习的移动应用推荐方法 |
CN108415913A (zh) * | 2017-02-09 | 2018-08-17 | 周孟 | 基于不确定邻居的人群定向方法 |
CN108460153A (zh) * | 2018-03-27 | 2018-08-28 | 广西师范大学 | 一种混合博文与用户关系的社交媒体好友推荐方法 |
CN108536572A (zh) * | 2018-04-16 | 2018-09-14 | 浙江大学 | 基于AppUsage2Vec模型的智能手机App使用预测方法 |
WO2019000469A1 (zh) * | 2017-06-30 | 2019-01-03 | 广东欧珀移动通信有限公司 | 应用控制方法、装置、存储介质及电子设备 |
CN109359180A (zh) * | 2018-09-20 | 2019-02-19 | 腾讯科技(深圳)有限公司 | 用户画像生成方法、装置、电子设备及计算机可读介质 |
CN110110205A (zh) * | 2018-01-16 | 2019-08-09 | 北京京东金融科技控股有限公司 | 推荐信息生成方法与装置 |
CN110363580A (zh) * | 2019-06-28 | 2019-10-22 | 深圳新度博望科技有限公司 | 信息推荐方法、装置、计算机设备及存储介质 |
TWI685230B (zh) * | 2018-09-11 | 2020-02-11 | 立新 陳 | 具備行動加值服務之智能網路交換機系統 |
CN111209953A (zh) * | 2020-01-03 | 2020-05-29 | 腾讯科技(深圳)有限公司 | 近邻向量的召回方法、装置、计算机设备及存储介质 |
CN111552831A (zh) * | 2020-04-21 | 2020-08-18 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种音乐推荐的方法及服务器 |
CN111737576A (zh) * | 2020-06-22 | 2020-10-02 | 中国银行股份有限公司 | 应用功能个性化推荐方法和装置 |
CN111897999A (zh) * | 2020-07-27 | 2020-11-06 | 九江学院 | 一种用于视频推荐且基于lda的深度学习模型构建方法 |
CN113468229A (zh) * | 2021-07-16 | 2021-10-01 | 南京信息工程大学 | 一种基于连续评分的推荐***加权相似性度量方法 |
CN113805931A (zh) * | 2021-09-17 | 2021-12-17 | 杭州云深科技有限公司 | 一种确定app标签的方法、电子设备及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8019707B2 (en) * | 2007-09-20 | 2011-09-13 | Deutsche Telekom Ag | Interactive hybrid recommender system |
CN103294812A (zh) * | 2013-06-06 | 2013-09-11 | 浙江大学 | 一种基于混合模型的商品推荐方法 |
CN105302873A (zh) * | 2015-10-08 | 2016-02-03 | 北京航空航天大学 | 一种基于条件受限波尔兹曼机的协同过滤优化方法 |
CN105404678A (zh) * | 2015-11-24 | 2016-03-16 | 中国科学院重庆绿色智能技术研究院 | 一种在线***中用户定制推荐***的方法 |
CN105488206A (zh) * | 2015-12-09 | 2016-04-13 | 扬州大学 | 一种基于众包的安卓应用演化推荐方法 |
-
2016
- 2016-04-26 CN CN201610263952.1A patent/CN105893609B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8019707B2 (en) * | 2007-09-20 | 2011-09-13 | Deutsche Telekom Ag | Interactive hybrid recommender system |
CN103294812A (zh) * | 2013-06-06 | 2013-09-11 | 浙江大学 | 一种基于混合模型的商品推荐方法 |
CN105302873A (zh) * | 2015-10-08 | 2016-02-03 | 北京航空航天大学 | 一种基于条件受限波尔兹曼机的协同过滤优化方法 |
CN105404678A (zh) * | 2015-11-24 | 2016-03-16 | 中国科学院重庆绿色智能技术研究院 | 一种在线***中用户定制推荐***的方法 |
CN105488206A (zh) * | 2015-12-09 | 2016-04-13 | 扬州大学 | 一种基于众包的安卓应用演化推荐方法 |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106682170A (zh) * | 2016-12-27 | 2017-05-17 | 北京奇虎科技有限公司 | 一种应用搜索方法和装置 |
CN106682170B (zh) * | 2016-12-27 | 2020-09-18 | 北京奇虎科技有限公司 | 一种应用搜索方法和装置 |
CN108415913A (zh) * | 2017-02-09 | 2018-08-17 | 周孟 | 基于不确定邻居的人群定向方法 |
WO2019000469A1 (zh) * | 2017-06-30 | 2019-01-03 | 广东欧珀移动通信有限公司 | 应用控制方法、装置、存储介质及电子设备 |
CN107451694A (zh) * | 2017-08-03 | 2017-12-08 | 重庆大学 | 一种用于移动***中上下文感知与自适应的应用预测方法 |
CN107451694B (zh) * | 2017-08-03 | 2020-10-02 | 重庆大学 | 一种用于移动***中上下文感知与自适应的应用预测方法 |
CN107423442A (zh) * | 2017-08-07 | 2017-12-01 | 火烈鸟网络(广州)股份有限公司 | 基于用户画像行为分析的应用推荐方法及***,储存介质及计算机设备 |
CN107423442B (zh) * | 2017-08-07 | 2020-09-25 | 火烈鸟网络(广州)股份有限公司 | 基于用户画像行为分析的应用推荐方法及***,储存介质及计算机设备 |
CN107798100A (zh) * | 2017-10-30 | 2018-03-13 | 江西博瑞彤芸科技有限公司 | 一种应用推荐信息的配置方法 |
CN107967330A (zh) * | 2017-11-27 | 2018-04-27 | 中山大学 | 基于下载行为数据及向量表征学习的移动应用推荐方法 |
CN110110205A (zh) * | 2018-01-16 | 2019-08-09 | 北京京东金融科技控股有限公司 | 推荐信息生成方法与装置 |
CN108460153A (zh) * | 2018-03-27 | 2018-08-28 | 广西师范大学 | 一种混合博文与用户关系的社交媒体好友推荐方法 |
CN108536572B (zh) * | 2018-04-16 | 2020-05-12 | 浙江大学 | 基于AppUsage2Vec模型的智能手机App使用预测方法 |
CN108536572A (zh) * | 2018-04-16 | 2018-09-14 | 浙江大学 | 基于AppUsage2Vec模型的智能手机App使用预测方法 |
TWI685230B (zh) * | 2018-09-11 | 2020-02-11 | 立新 陳 | 具備行動加值服務之智能網路交換機系統 |
CN109359180A (zh) * | 2018-09-20 | 2019-02-19 | 腾讯科技(深圳)有限公司 | 用户画像生成方法、装置、电子设备及计算机可读介质 |
CN110363580A (zh) * | 2019-06-28 | 2019-10-22 | 深圳新度博望科技有限公司 | 信息推荐方法、装置、计算机设备及存储介质 |
CN111209953A (zh) * | 2020-01-03 | 2020-05-29 | 腾讯科技(深圳)有限公司 | 近邻向量的召回方法、装置、计算机设备及存储介质 |
CN111209953B (zh) * | 2020-01-03 | 2024-01-16 | 腾讯科技(深圳)有限公司 | 近邻向量的召回方法、装置、计算机设备及存储介质 |
CN111552831A (zh) * | 2020-04-21 | 2020-08-18 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种音乐推荐的方法及服务器 |
CN111552831B (zh) * | 2020-04-21 | 2024-03-26 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种音乐推荐的方法及服务器 |
CN111737576A (zh) * | 2020-06-22 | 2020-10-02 | 中国银行股份有限公司 | 应用功能个性化推荐方法和装置 |
CN111737576B (zh) * | 2020-06-22 | 2023-09-19 | 中国银行股份有限公司 | 应用功能个性化推荐方法和装置 |
CN111897999A (zh) * | 2020-07-27 | 2020-11-06 | 九江学院 | 一种用于视频推荐且基于lda的深度学习模型构建方法 |
CN111897999B (zh) * | 2020-07-27 | 2023-06-16 | 九江学院 | 一种用于视频推荐且基于lda的深度学习模型构建方法 |
CN113468229A (zh) * | 2021-07-16 | 2021-10-01 | 南京信息工程大学 | 一种基于连续评分的推荐***加权相似性度量方法 |
CN113468229B (zh) * | 2021-07-16 | 2023-04-25 | 南京信息工程大学 | 一种基于连续评分的推荐***加权相似性度量方法 |
CN113805931A (zh) * | 2021-09-17 | 2021-12-17 | 杭州云深科技有限公司 | 一种确定app标签的方法、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105893609B (zh) | 2019-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105893609A (zh) | 一种基于加权混合的移动app推荐方法 | |
Fan et al. | Metapath-guided heterogeneous graph neural network for intent recommendation | |
CN110046304B (zh) | 一种用户推荐方法和装置 | |
Zhang et al. | Scientific evolutionary pathways: Identifying and visualizing relationships for scientific topics | |
CN108073568A (zh) | 关键词提取方法和装置 | |
CN110674407A (zh) | 基于图卷积神经网络的混合推荐方法 | |
CN104657496A (zh) | 一种计算信息热度值的方法和设备 | |
CN104484380A (zh) | 个性化搜索方法及装置 | |
CN104899229A (zh) | 基于群体智能的行为聚类*** | |
CN104077417A (zh) | 社交网络中的人物标签推荐方法和*** | |
CN109740655A (zh) | 基于矩阵分解及神经协同过滤的物品评分预测方法 | |
CN105893362A (zh) | 获取知识点语义向量的方法、确定相关知识点的方法及*** | |
CN104239496A (zh) | 一种结合模糊权重相似性度量和聚类协同过滤的方法 | |
CN113312480A (zh) | 基于图卷积网络的科技论文层级多标签分类方法及设备 | |
CN106294882A (zh) | 数据挖掘方法以及装置 | |
CN105574213A (zh) | 一种基于数据挖掘技术的微博推荐方法及装置 | |
CN110647995A (zh) | 规则训练方法、装置、设备及存储介质 | |
CN110990718A (zh) | 一种公司形象提升***的社会网络模型构建模块 | |
Zhong et al. | Design of a personalized recommendation system for learning resources based on collaborative filtering | |
CN103869999A (zh) | 对输入法所产生的候选项进行排序的方法及装置 | |
CN110310012B (zh) | 数据分析方法、装置、设备及计算机可读存储介质 | |
CN103095849A (zh) | 基于QoS属性预测和纠错的有监督Web服务发现方法及*** | |
Wei et al. | Online education recommendation model based on user behavior data analysis | |
Prudêncio et al. | A modal symbolic classifier for selecting time series models | |
Saha et al. | A large scale study of SVM based methods for abstract screening in systematic reviews |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |