CN112015736B - 基于Spark Mllib实现的多功能推荐方法及装置 - Google Patents

基于Spark Mllib实现的多功能推荐方法及装置 Download PDF

Info

Publication number
CN112015736B
CN112015736B CN202010847896.2A CN202010847896A CN112015736B CN 112015736 B CN112015736 B CN 112015736B CN 202010847896 A CN202010847896 A CN 202010847896A CN 112015736 B CN112015736 B CN 112015736B
Authority
CN
China
Prior art keywords
data
user
program
list
recommendation
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.)
Active
Application number
CN202010847896.2A
Other languages
English (en)
Other versions
CN112015736A (zh
Inventor
张旺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Huanwang Technology Co Ltd
Original Assignee
Guangdong Huanwang Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Huanwang Technology Co Ltd filed Critical Guangdong Huanwang Technology Co Ltd
Priority to CN202010847896.2A priority Critical patent/CN112015736B/zh
Publication of CN112015736A publication Critical patent/CN112015736A/zh
Application granted granted Critical
Publication of CN112015736B publication Critical patent/CN112015736B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24573Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/7867Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title and artist information, manually generated time, location and usage information, user ratings
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Library & Information Science (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种基于Spark Mllib实现的多功能推荐方法及装置,包括获取用户行为数据,对所述用户行为数据进行处理得到用户画像数据;从mongodb数据库中获取节目单数据,对所述节目单数据进行处理得到影视元数据表;根据所述用户画像数据和影视元数据表生成数据总表,根据数据总表为预设标签配置权重,生成数据标签权重结果;采用余弦相似度算法对数据标签权重结果进行计算,生成推荐列表。本发明能够在同一时间内实现多种推荐功能,使得程序的使用范围更广,节省人力物力。

Description

基于Spark Mllib实现的多功能推荐方法及装置
技术领域
本发明属于数据处理技术领域,具体涉及一种基于Spark Mllib实现的多功能推荐方法及装置。
背景技术
随着信息技术和互联网的发展,人们逐渐从信息匮乏的时代走入了信息过载的时代。推荐系统的任务就是联系用户和信息,一方面帮助用户发现对自己有价值的信息,另一方面让信息能够展现对它感兴趣的用户面前,从而实现信息消费者和信息生产者的双赢;推荐系统利用Spark在内存迭代运算、机器学习领域强悍性能的优势,使用spark处理数据挖掘问题就显得很有实际价值。
相关技术中,当前业界基于推荐算法开发的推荐系统比较多,例如:基于人口统计学的推荐系统是根据系统用户的基本属性发现用户的相关度,然后将相似用户喜欢的其他物品推荐给当前用户;或者基于内容相似度的电影推荐系统是首先按照电影的特征比如类型、导演与主演名称、时长等建模,实现分类。比如:由于电影A与电影C属于同一个类型的电影,对于喜欢看电影A的用户,我们就可以给他推荐类似的电影C;或者基于模型的协同过滤推荐系统是基于样本的用户喜好信息,训练一个模型,然后根据实时的用户喜好的信息进行预测推荐。
但是现有的推荐系统同一时间内只能实现一种推荐功能,导致最后得到的推荐结果使用范围单一;若要实现多种功能推荐,则要编写大量代码,占用大量人力物力。
发明内容
有鉴于此,本发明的目的在于克服现有技术的不足,提供一种基于Spark Mllib实现的多功能推荐方法及装置,以解决现有技术中推荐结果单一的问题。
为实现以上目的,本发明采用如下技术方案:一种基于Spark Mllib实现的多功能推荐方法,包括:
获取用户行为数据,对所述用户行为数据进行处理得到用户画像数据;
从mongodb数据库中获取节目单数据,对所述节目单数据进行处理得到影视元数据表;
根据所述用户画像数据和影视元数据表生成数据总表,根据数据总表为预设标签配置权重,生成数据标签权重结果;其中,所述预设标签包括喜剧、恐怖、悬疑、伦理、惊悚、战争、剧情、灾难;
采用余弦相似度算法对数据标签权重结果进行计算,生成推荐列表。
进一步的,所述获取用户行为数据,包括:
利用flume采集用户行为数据并存储至kafka,所述kafka将所述用户行为数据发送至Hadoop平台中的hdfs。
进一步的,所述对所述用户行为数据进行处理得到用户画像数据,包括:
Spark Streaming从所述hdfs中拉取所述用户行为数据并对所述用户行为数据进行处理,得到用户行为数据表;
Spark Streaming从mongodb数据库中获取节目单数据并对所述节目单数据进行处理,得到节目单表;
根据所述用户行为数据表和节目单表获取节目观看记录表;
对所述节目观看记录表进行拆分统计,得到用户画像临时表;
根据所述用户画像临时表获取用户画像数据。
进一步的,对所述用户行为数据进行处理,得到用户行为数据表,包括:
从所述用户行为数据中提取第一关键字段,得到用户行为数据表;
所述第一关键字段包括:用户名称、频道名称、观看时间;
所述对所述节目单数据进行处理,得到节目单表,包括:
从所述节目单数据中提取第二关键字段,得到节目单表;
所述第二关键字段包括:节目名称、频道名称、预设标签、开始播放时间、结束播放时间。
进一步的,所述根据所述用户行为数据表和节目单表获取节目观看记录表,包括:
判断频道名称和观看时间是否在节目单的播放时间内,并根据判断结果得到节目观看记录表。
进一步的,所述对所述节目观看记录表进行拆分统计,得到用户画像临时表,包括:
根据标签对所述节目观看记录表进行拆分,得到标签分组;
根据用户名称和标签分组统计每个用户对每个标签分组的观看次数,得到用户画像临时表。
进一步的,所述根据所述用户画像临时表获取用户画像数据,包括:
将所述用户画像临时表根据标签的观看次数获取观看次数排列在前的两个标签;
将两个所述标签根据用户名称进行合并,并添加数据标识,得到用户画像数据。
进一步的,所述生成推荐列表,包括:
被推荐者为节目,推荐列表为节目;
被推荐者为节目,推荐列表为用户;
被推荐者为用户,推荐列表为节目;
被推荐者为用户,推荐列表为用户。
进一步的,所述用户行为数据采用json字符串格式。
本申请实施例提供一种基于Spark Mllib实现的多功能推荐装置,包括:
获取模块,用于获取用户行为数据,对所述用户行为数据进行处理得到用户画像数据;
处理模块,用于从mongodb数据库中获取节目单数据,对所述节目单数据进行处理得到影视元数据表;
配置模块,用于根据所述用户画像数据和影视元数据表生成数据总表,根据数据总表为预设标签配置权重,生成数据标签权重结果;其中,所述预设标签包括喜剧、恐怖、悬疑、伦理、惊悚、战争、剧情、灾难;
生成模块,用于采用余弦相似度算法对数据标签权重结果进行计算,生成推荐列表。
本发明采用以上技术方案,能够达到的有益效果包括:
本发明提供一种基于Spark Mllib实现的多功能推荐方法,实现了在已有其推荐效果的前提下,实现了其他多种推荐功能,丰富了推荐系统功能的多样性;而且技术更为精简,方便问题排查和程序升级。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明基于Spark Mllib实现的多功能推荐方法的步骤示意图;
图2为本发明基于Spark Mllib实现的多功能推荐方法的流程示意图;
图3为本发明基于Spark Mllib实现的多功能推荐方法的流程示意图;
图4为本发明基于Spark Mllib实现的多功能推荐装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
下面结合附图介绍本申请实施例中提供的一个具体的基于Spark Mllib实现的多功能推荐方法。
如图1所示,本申请实施例中提供的基于Spark Mllib实现的多功能推荐方法包括:
S101,获取用户行为数据,对所述用户行为数据进行处理得到用户画像数据;
本申请通过flume+kafka的方式采集用户行为数据,用户行为数据采用json字符串的格式发送到hadoop大数据平台,hadoop大数据平台对用户行为数据进行处理,最终得到用户画像数据。
flume是一个分布式、可靠、和高可用的海量日志聚合的系统,支持在系统中定制各类数据发送方,通过监控整个文件目录或者某一个特定文件,用于收集数据,同时flume也提供数据写到各种数据接受方的能力,用于转发数据。flume的易用性在于通过读取配置文件,可以自动收集日志文件。
kafka属于中间件,一个明显的优势就是使各层解耦,使得出错时不会干扰其他组件,因此,数据源从flume再到kafka时,数据可以实时计算,可实现数据多分发。
S102,从mongodb数据库中获取节目单数据,对所述节目单数据进行处理得到影视元数据表;
mongodb数据库中存储有节目单数据,spark从hadoop的hdfs获取用户行为数据,提取需要的字段,得到用户行为数据表,需要的字段:节目名称、频道名称、标签、开始播放时间、结束播放时间。
S103,根据所述用户画像数据和影视元数据表生成数据总表,根据数据总表为预设标签配置权重,生成数据标签权重结果;其中,所述预设标签包括喜剧、恐怖、悬疑、伦理、惊悚、战争、剧情、灾难;
采用Spark Mllib算法对用户画像数据和影视元数据表进行数据处理,得到数据标签权重结果。
S104,采用余弦相似度算法对数据标签权重结果进行计算,生成推荐列表。
基于Spark Mllib算法数据库中的余弦相似度算法对数据标签权重结果进行计算,并进行数据过滤,得到最终的推荐功能。其中,推荐列表包括多个。
基于Spark Mllib实现的多功能推荐方法的工作原理为:获取用户行为数据并进行计算得到用户画像数据,从mongodb数据库中获取影视元数据,结合用户画像数据和影视元数据得到数据总表,对数据总表进行处理得到推荐列表。
本申请实现了在已有其推荐效果的前提下,还实现了其他多种推荐功能,实现了推荐系统功能的多样性;而且程序更为精简,方便问题排查和程序升级。
优选的,如图2所示,所述获取用户行为数据,包括:
利用flume采集用户行为数据并存储至kafka,所述kafka将所述用户行为数据发送至Hadoop平台中的hdfs。
优选的,所述对所述用户行为数据进行处理得到用户画像数据,包括:
Spark Streaming从所述hdfs中拉取所述用户行为数据并对所述用户行为数据进行处理,得到用户行为数据表;
Spark Streaming从mongodb数据库中获取节目单数据并对所述节目单数据进行处理,得到节目单表;
根据所述用户行为数据表和节目单表获取节目观看记录表;
对所述节目观看记录表进行拆分统计,得到用户画像临时表;
根据所述用户画像临时表获取用户画像数据。
优选的,所述根据所述用户行为数据表和节目单表获取节目观看记录表,包括:
判断频道名称和观看时间是否在节目单的播放时间内,并根据判断结果得到节目观看记录表。
优选的,所述对所述节目观看记录表进行拆分统计,得到用户画像临时表,包括:
根据标签对所述节目观看记录表进行拆分,得到标签分组;
根据用户名称和标签分组统计每个用户对每个标签分组的观看次数,得到用户画像临时表。
一些实施例中,所述根据所述用户画像临时表获取用户画像数据,包括:
将所述用户画像临时表根据标签的观看次数获取观看次数排列在前的两个标签;
将两个所述标签根据用户名称进行合并,并添加数据标识,得到用户画像数据。
在一个具体实施例中,获取用户画像数据的具体步骤为:
通过flume+kafka的方式采集用户行为数据,并以json字符串的格式发送到hadoop大数据平台;
spark从hadoop大数据平台的hdfs获取用户行为数据,提取需要的字段,得到用户行为数据表。相关字段为:用户名称,频道名称,观看时间;
从MongoDB数据库获取节目单数据,提取需要的字段,得到节目单表。相关字段为:节目名称,频道名称,标签:喜剧、动作,开始播放时间,结束播放时间;
用户行为数据表与节目单表,根据频道名称和用户观看时间是否在节目单播放时间内判断,得到用户的节目观看记录表。相关字段为:用户名称,节目名称,标签;
对用户的节目观看记录表进行按照标签拆分,得到:用户名称,节目名称,标签1;用户名称,节目名称,标签2等......,例如:电视剧的标签包括喜剧、悬疑,那么喜剧为标签1、悬疑为标签2,由此进行分组。
按照用户名称和标签分组统计每个用户对各个标签影视的观看次数,得到用户画像临时表。相关字段为:用户名称,标签,观看次数;
拿到用户画像临时表,按照标签的观看次数倒序获取观看次数最多的两个标签;依据用户名称合并,并添加数据标识,得到用户画像数据。相关字段为:用户名称,标签1,标签2,数据标识,其中数据标识用于标明这条数据是用户数据。
如图2所示,获取影视元数据表的具体步骤为:
从MongoDB数据库获取节目单数据,提取所需字段并添加数据标识,作为影视元数据表用于后续计算。相关字段为:节目名称,标签1,标签2,数据标识,这里的数据标识用于标明这条数据是影视元数据。
如图3所示,获取数据标签权重结果的具体步骤为:
将用户画像数据和影视元数据表合并为一张数据总表。相关字段:名称,标签1,标签2,数据标识;
为数据总表的两个标签配置不同权重;
结合spark mllib的TF-IDF算法对数据总表,权重信息进行标签权重的开发,生成数据标签权重结果。字段:名称,标签,标签权重,数据标识。
最后,基于Spark Mllib算法库当中的余弦相似度算法对数据标签权重结果进行计算,得到以下推荐结果数据并分为以下推荐情况:
结果数据格式:{被推荐者名称,被推荐者标签,被推荐者数据标识,[[推荐内容名称,推荐内容标签,推荐内容数据标识,推荐内容与被推荐者的相似度],[],[],……]}。
一些实施例中,所述生成推荐列表,按照被推荐者与推荐内容的数据标识分为以下推荐情况,包括:
被推荐者为节目,推荐列表为节目;
被推荐者为节目,推荐列表为用户;
被推荐者为用户,推荐列表为节目;
被推荐者为用户,推荐列表为用户。
本申请提供一种基于Spark Mllib实现的多功能推荐装置,如图4所示,包括:
获取模块401,用于获取用户行为数据,对所述用户行为数据进行处理得到用户画像数据;
处理模块402,用于从mongodb数据库中获取节目单数据,对所述节目单数据进行处理得到影视元数据表;
配置模块403,用于根据所述用户画像数据和影视元数据表生成数据总表,根据数据总表为预设标签配置权重,生成数据标签权重结果;其中,所述预设标签包括喜剧、恐怖、悬疑、伦理、惊悚、战争、剧情、灾难;
生成模块404,用于采用余弦相似度算法对数据标签权重结果进行计算,生成推荐列表。
本申请提供的基于Spark Mllib实现的多功能推荐装置的工作原理为,获取模块401获取用户行为数据,对所述用户行为数据进行处理得到用户画像数据;处理模块402从mongodb数据库中获取节目单数据,对所述节目单数据进行处理得到影视元数据表;配置模块403根据所述用户画像数据和影视元数据表生成数据总表,根据数据总表为预设标签配置权重,生成数据标签权重结果;其中,所述预设标签包括喜剧、恐怖、悬疑、伦理、惊悚、战争、剧情、灾难;生成模块404采用余弦相似度算法对数据标签权重结果进行计算,生成推荐列表.
本申请实施例提供一种计算机设备,包括处理器,以及与处理器连接的存储器;
存储器用于存储计算机程序,计算机程序用于执行上述任一实施例提供的基于Spark Mllib实现的多功能推荐方法;
处理器用于调用并执行存储器中的计算机程序。
综上所述,本发明提供一种基于Spark Mllib实现的多功能推荐方法及装置,包括包括获取用户行为数据,对所述用户行为数据进行处理得到用户画像数据;从mongodb数据库中获取节目单数据,对所述节目单数据进行处理得到影视元数据表;根据所述用户画像数据和影视元数据表生成数据总表,根据数据总表为预设标签配置权重,生成数据标签权重结果;采用余弦相似度算法对数据标签权重结果进行计算,生成推荐列表。本发明能够在同一时间内实现多种推荐功能,使得程序的使用范围更广,节省人力物力。
可以理解的是,上述提供的方法实施例与上述的装置实施例对应,相应的具体内容可以相互参考,在此不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令方法的制造品,该指令方法实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (9)

1.一种基于Spark Mllib实现的多功能推荐方法,其特征在于,包括:
获取用户行为数据,对所述用户行为数据进行处理得到用户画像数据,其中,所述用户画像数据的字段包括用户名称、标签1、标签2和用户数据标识;
从mongodb数据库中获取节目单数据,对所述节目单数据进行处理得到影视元数据表,其中,所述影视元数据表的字段包括节目名称、标签1、标签2和影视元数据标识;
根据所述用户画像数据和影视元数据表生成数据总表,根据数据总表为预设标签配置权重,生成数据标签权重结果;其中,所述预设标签包括喜剧、恐怖、悬疑、伦理、惊悚、战争、剧情、灾难,所述数据总表的字段包括名称、标签1、标签2和数据标识,所述数据标签权重结果的字段包括名称、标签、标签权重和数据标识,所述名称包括用户名称和节目名称,所述数据标识包括用户数据标识和影视元数据标识;
采用余弦相似度算法对数据标签权重结果进行计算,生成推荐列表,其中,采用余弦相似度算法对数据标签权重结果进行计算得到的推荐结果数据的字段包括被推荐者名称、被推荐者标签、被推荐者数据标识、推荐内容名称、推荐内容标签、推荐内容数据标识、推荐内容与被推荐者的相似度;
所述生成推荐列表,包括:
被推荐者为节目,推荐列表为节目;
被推荐者为节目,推荐列表为用户;
被推荐者为用户,推荐列表为节目;
被推荐者为用户,推荐列表为用户。
2.根据权利要求1所述的基于Spark Mllib实现的多功能推荐方法,其特征在于,所述获取用户行为数据,包括:
利用flume采集用户行为数据并存储至kafka,所述kafka将所述用户行为数据发送至Hadoop平台中的hdfs。
3.根据权利要求2所述的基于Spark Mllib实现的多功能推荐方法,其特征在于,所述对所述用户行为数据进行处理得到用户画像数据,包括:
Spark Streaming从所述hdfs中拉取所述用户行为数据并对所述用户行为数据进行处理,得到用户行为数据表;
Spark Streaming从mongodb数据库中获取节目单数据并对所述节目单数据进行处理,得到节目单表;
根据所述用户行为数据表和节目单表获取节目观看记录表;
对所述节目观看记录表进行拆分统计,得到用户画像临时表;
根据所述用户画像临时表获取用户画像数据。
4.根据权利要求3所述的基于Spark Mllib实现的多功能推荐方法,其特征在于,对所述用户行为数据进行处理,得到用户行为数据表,包括:
从所述用户行为数据中提取第一关键字段,得到用户行为数据表;
所述第一关键字段包括:用户名称、频道名称、观看时间;
所述对所述节目单数据进行处理,得到节目单表,包括:
从所述节目单数据中提取第二关键字段,得到节目单表;
所述第二关键字段包括:节目名称、频道名称、预设标签、开始播放时间、结束播放时间。
5.根据权利要求4所述的基于Spark Mllib实现的多功能推荐方法,其特征在于,所述根据所述用户行为数据表和节目单表获取节目观看记录表,包括:
判断频道名称和观看时间是否在节目单的播放时间内,并根据判断结果得到节目观看记录表。
6.根据权利要求4所述的基于Spark Mllib实现的多功能推荐方法,其特征在于,所述对所述节目观看记录表进行拆分统计,得到用户画像临时表,包括:
根据标签对所述节目观看记录表进行拆分,得到标签分组;
根据用户名称和标签分组统计每个用户对每个标签分组的观看次数,得到用户画像临时表。
7.根据权利要求6所述的基于Spark Mllib实现的多功能推荐方法,其特征在于,所述根据所述用户画像临时表获取用户画像数据,包括:
将所述用户画像临时表根据标签的观看次数获取观看次数排列在前的两个标签;
将两个所述标签根据用户名称进行合并,并添加数据标识,得到用户画像数据。
8.根据权利要求1至7任一项所述的基于Spark Mllib实现的多功能推荐方法,其特征在于,
所述用户行为数据采用json字符串格式。
9.一种基于Spark Mllib实现的多功能推荐装置,其特征在于,包括:
获取模块,用于获取用户行为数据,对所述用户行为数据进行处理得到用户画像数据,其中,所述用户画像数据的字段包括用户名称、标签1、标签2和用户数据标识;
处理模块,用于从mongodb数据库中获取节目单数据,对所述节目单数据进行处理得到影视元数据表,其中,所述影视元数据表的字段包括节目名称、标签1、标签2和影视元数据标识;
配置模块,用于根据所述用户画像数据和影视元数据表生成数据总表,根据数据总表为预设标签配置权重,生成数据标签权重结果;其中,所述预设标签包括喜剧、恐怖、悬疑、伦理、惊悚、战争、剧情、灾难,所述数据总表的字段包括名称、标签1、标签2和数据标识,所述数据标签权重结果的字段包括名称、标签、标签权重和数据标识,所述名称包括用户名称和节目名称,所述数据标识包括用户数据标识和影视元数据标识;
生成模块,用于采用余弦相似度算法对数据标签权重结果进行计算,生成推荐列表,其中,采用余弦相似度算法对数据标签权重结果进行计算得到的推荐结果数据的字段包括被推荐者名称、被推荐者标签、被推荐者数据标识、推荐内容名称、推荐内容标签、推荐内容数据标识、推荐内容与被推荐者的相似度;
所述生成模块,具体用于被推荐者为节目,推荐列表为节目;被推荐者为节目,推荐列表为用户;被推荐者为用户,推荐列表为节目;被推荐者为用户,推荐列表为用户。
CN202010847896.2A 2020-08-21 2020-08-21 基于Spark Mllib实现的多功能推荐方法及装置 Active CN112015736B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010847896.2A CN112015736B (zh) 2020-08-21 2020-08-21 基于Spark Mllib实现的多功能推荐方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010847896.2A CN112015736B (zh) 2020-08-21 2020-08-21 基于Spark Mllib实现的多功能推荐方法及装置

Publications (2)

Publication Number Publication Date
CN112015736A CN112015736A (zh) 2020-12-01
CN112015736B true CN112015736B (zh) 2024-04-05

Family

ID=73505385

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010847896.2A Active CN112015736B (zh) 2020-08-21 2020-08-21 基于Spark Mllib实现的多功能推荐方法及装置

Country Status (1)

Country Link
CN (1) CN112015736B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112667923A (zh) * 2021-01-15 2021-04-16 北京金和网络股份有限公司 基于大数据的智能推荐方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106446052A (zh) * 2016-08-31 2017-02-22 北京魔力互动科技有限公司 一种基于用户集合的视频点播节目推荐方法
WO2017181612A1 (zh) * 2016-04-18 2017-10-26 乐视控股(北京)有限公司 个性化视频推荐方法及装置
CN107608989A (zh) * 2016-07-12 2018-01-19 上海视畅信息科技有限公司 一种分类个性化推荐方法
CN110598047A (zh) * 2019-08-22 2019-12-20 优地网络有限公司 一种影视信息推荐方法、装置、电子设备及存储介质
CN111339357A (zh) * 2020-02-21 2020-06-26 广州欢网科技有限责任公司 基于直播用户行为的推荐方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017181612A1 (zh) * 2016-04-18 2017-10-26 乐视控股(北京)有限公司 个性化视频推荐方法及装置
CN107608989A (zh) * 2016-07-12 2018-01-19 上海视畅信息科技有限公司 一种分类个性化推荐方法
CN106446052A (zh) * 2016-08-31 2017-02-22 北京魔力互动科技有限公司 一种基于用户集合的视频点播节目推荐方法
CN110598047A (zh) * 2019-08-22 2019-12-20 优地网络有限公司 一种影视信息推荐方法、装置、电子设备及存储介质
CN111339357A (zh) * 2020-02-21 2020-06-26 广州欢网科技有限责任公司 基于直播用户行为的推荐方法及装置

Also Published As

Publication number Publication date
CN112015736A (zh) 2020-12-01

Similar Documents

Publication Publication Date Title
CN110574387B (zh) 使用机器学习推荐直播流内容
CN106326391B (zh) 多媒体资源推荐方法及装置
EP3346717B1 (en) Methods and systems for displaying contextually relevant information regarding a media asset
US20130297611A1 (en) Method and apparatus for providing temporal context for recommending content for consumption by a user device
US10958704B2 (en) Feature generation for online/offline machine learning
CN105095508A (zh) 一种多媒体内容推荐方法和多媒体内容推荐装置
CN104504059A (zh) 多媒体资源推荐方法
CN109429103B (zh) 推荐信息的方法、装置及计算机可读存储介质、终端设备
CN105718545A (zh) 多媒体资源的推荐方法和装置
CN105230035A (zh) 用于选择的时移多媒体内容的社交媒体的处理
CN111368141B (zh) 视频标签的扩展方法、装置、计算机设备和存储介质
US20170132267A1 (en) Pushing system and method based on natural information recognition, and a client end
WO2020157283A1 (en) Method for recommending video content
US11907817B2 (en) System and methods for machine learning training data selection
US20090083141A1 (en) Methods, systems, and computer program products for detecting and predicting user content interest
CN111339357A (zh) 基于直播用户行为的推荐方法及装置
CN111241381A (zh) 信息推荐方法、装置、电子设备及计算机可读存储介质
CN112015736B (zh) 基于Spark Mllib实现的多功能推荐方法及装置
CN105912544A (zh) 视频内容的匹配方法、装置、服务器及视频播放系统
US8352626B1 (en) Program selection from within a plurality of active videos
CN110909206B (zh) 用于输出信息的方法和装置
US20160283092A1 (en) Method and system for generating personalized images for categorizing content
CN114173200B (zh) 基于广电专网的视频管理推送方法及装置
CN111382282A (zh) 处理数据的方法、装置、存储介质和处理器
CN118077206A (zh) 将视频内容匹配到播客剧集

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant