首页 / 专利库 / 资料储存系统 / 数据库 / 一种直播间推荐方法、存储介质、电子设备及系统

一种直播间推荐方法、存储介质、电子设备及系统

阅读:1056发布:2020-05-12

专利汇可以提供一种直播间推荐方法、存储介质、电子设备及系统专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种直播间推荐方法、存储介质、 电子 设备及系统,涉及互联网直播领域,该方法包括获取每一个直播间的文字信息。将文字信息输入分布式 搜索引擎 中进行分词,得到多个词组以及对应词组的权重。为直播间ID和该直播间ID对应的词组建立倒排索引并存储至 数据库 。实时监测搜索内容并获取输入语句,将所述输入语句进行拆分得到检索字词,将检索字词存入kafka消息队列中。使用实时流处理 框架 storm从kafka队列获取所述检索字词,并检索数据库中的倒排序索引,按照包含检索字词在倒排序索引的权重对直播间进行排序,并推荐排序最优的预设数目的直播间。本发明能够根据用户实时的搜索内容向客户推荐当前客户所感兴趣的直播间。,下面是一种直播间推荐方法、存储介质、电子设备及系统专利的具体信息内容。

1.一种直播间推荐方法,用于向用户实时推荐用户当前感兴趣的直播间,其特征在于,其包括:
获取每一个直播间的文字信息;
将文字信息输入分布式搜索引擎中进行分词,得到多个词组以及对应词组的权重;
为直播间ID和该直播间ID对应的词组建立倒排索引并存储至数据库
实时监测搜索内容并获取输入语句,将所述输入语句进行拆分得到检索字词,将检索字词存入kafka消息队列中;
使用实时流处理框架storm从kafka队列获取所述检索字词,并检索数据库中的倒排序索引,按照包含检索字词在倒排序索引的权重对直播间进行排序,并推荐排序最优的预设数目的直播间。
2.如权利要求1所述的方法,其特征在于:
所述将文字信息输入分布式搜索引擎中进行分词,得到多个词组以及对应词组的权重包括:
将文字信息差分为若干个语元以及语元组合起来的词组;
通过分布式搜索引擎对语元以及语元组合起来的词组进行评分,得到对应语元以及语元组合起来的词组的权重,所述权重为该语元或词组对应直播间文字信息的相关度的评分。
3.如权利要求1所示的方法,其特征在于,
所述实时检测搜索行为并获取输入语句具体为:将每次输入的语句按次存放,并获取最新的若干次输入语句。
4.如权利要求3所述的方法,其特征在于:所述索引字词存储结构为Redis数据库的sorted set结构,所述sorted set结构的double类型分数用于存放搜索时间戳。
5.如权利要求1所述的方法,其特征在于:所述文字信息包括直播间标题、直播间ID、主播ID、主播昵称。
6.如权利要求1所述的方法,其特征在于:所述使用ElasticSearch分词工具对文字信息进行拆分。
7.如权利要求1所述的方法,其特征在于:在用户界面上的部分推荐栏位显示所述排序最优的预设数目的直播间。
8.一种存储介质,该存储介质上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至7任一项所述的方法。
9.一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的方法。
10.一种直播间推荐方法系统,其特征在于,其包括:
拆分模,用于获取所有直播间的文字信息,按照文字信息构成从复杂到简单对文字信息进行拆分,并按照复杂度逐级建立倒排序索引存入数据库;
检索模块,用于实时检测用户的搜索行为并获取用户的输入语句,将用户的输入语句进行拆分得到检索字词,将检索字词存入kafka消息队列中;
推荐模块,用于使用实时流处理框架storm从kafka队列获取所述检索字词,并检索数据库中的倒排序索引,按照包含检索字词数量从多到少对检索到的直播间进行排序,并推荐排序最前的预设数目的直播间。

说明书全文

一种直播间推荐方法、存储介质、电子设备及系统

技术领域

[0001] 本发明涉及互联网直播领域,具体涉及一种直播间推荐方法、存储介质、电子设备及系统。

背景技术

[0002] 直播作为一种在现场随着时间的发生、发展进程同时制作和播出电视节目的播出方式,吸引了越来越多人的关注。直播平台作为具有多个直播房间的聚合平台,除了一些人气火爆的直播间,还有许多新人以及人气需要提升的直播间。为了提升这些新人主播以及人气需要提升的直播间的观看人数,并辅助用户找到自己喜欢的直播间,直播平台一般会向用户进行推荐。
[0003] 但是在在直播间的推荐过程中,一般的做法是根据用户的离线行为数据(缓存在平台中的历史行为数据)进行计算并推断出用户喜爱的直播间,然后将这些直播间对用户进行推荐。这些离线行为数据一般来说,包括有用户过去的行为,如关注、观看、送礼物、发弹幕等,即根据用户在此之前的所有的行为进行汇总统计。这种常见的推荐方案可以有效的利用大数据技术计算出每个用户的历史兴趣,并进行千人千面的个性化推荐。
[0004] 但是,这种推荐方法存在着明显的缺陷:首先推荐的直播间是基于用户历史(今天以前)的行为计算出来的,无法反映用户的实时兴趣。比如某一个用户在关注了一个新主播后、或者有了新的想法以及兴趣后,其实际需要收到关于新主播或者新想法、兴趣的推荐,而直播平台的推荐系统还是基于用户的历史兴趣对用户进行推荐,使得用户感到难以在该平台找到自己当前喜欢的直播间。
[0005] 其次,由于直播间是实时的,很多用户根据当前流行的元素进行观看,比如从一个流行游戏到另一个流行游戏,用户会随着这些流行度进行观看,而用户行为中仅仅包含历史数据,其是没有当下流行的信息的,难以向用户推荐更合适的流行的直播间,使得用户觉得平台无法提供最时兴的直播内容;再次,对登陆的账号和正在使用的不是同一个人:其可能是另外一个潜在用户尝试使用,而直播平台却根据账户的历史信息进行推荐的,使得潜在用户认为该直播平台之能对于一个单一方面的兴趣进行推荐,导致直播平台失去潜在用户。最后,直播平台拥有大量的用户,对每一个用户的历史数据都进行存储会占用大量的存储空间。
[0006] 因此亟须一种直播间推荐方法能够弥补上述缺陷。

发明内容

[0007] 针对现有技术中存在的缺陷,本发明的目的在于提供一种直播间推荐方法、存储介质、电子设备及系统,能够根据用户实时的搜索内容向客户推荐当前客户所感兴趣的直播间。
[0008] 为达到以上目的,第一方面,本发明实施例提供一种直播间推荐方法,用于向用户实时推荐用户当前感兴趣的直播间,其特征在于,其包括:
[0009] 获取每一个直播间的文字信息;
[0010] 将文字信息输入分布式搜索引擎中进行分词,得到多个词组以及对应词组的权重;
[0011] 为直播间ID和该直播间ID对应的词组建立倒排索引并存储至数据库
[0012] 实时监测搜索内容并获取输入语句,将所述输入语句进行拆分得到检索字词,将检索字词存入kafka消息队列中;
[0013] 使用实时流处理框架storm从kafka队列获取所述检索字词,并检索数据库中的倒排序索引,按照包含检索字词在倒排序索引的权重对直播间进行排序,并推荐排序最优的预设数目的直播间。
[0014] 作为一个优选的实施方案,所述将文字信息输入分布式搜索引擎中进行分词,得到多个词组以及对应词组的权重包括:
[0015] 将文字信息差分为若干个语元以及语元组合起来的词组;
[0016] 通过分布式搜索引擎对语元以及语元组合起来的词组进行评分,得到对应语元以及语元组合起来的词组的权重,所述权重为该语元或词组对应直播间文字信息的相关度的评分。
[0017] 作为一个优选的实施方案,所述实时检测搜索行为并获取输入语句具体为:将每次输入的语句按次存放,并获取最新的若干次输入语句。
[0018] 作为一个优选的实施方案,所述索引字词存储结构为Redis数据库的sorted set结构,所述sorted set结构的double类型分数用于存放搜索时间戳。
[0019] 作为一个优选的实施方案,所述文字信息包括直播间标题、直播间ID、主播ID、主播昵称。
[0020] 作为一个优选的实施方案,所述使用ElasticSearch分词工具对文字信息进行拆分,所述倒排索引存入ElasticSearch集群。
[0021] 作为一个优选的实施方案,根据用户历史行为特征,选取若干历史行为推荐直播间,所述历史行为推荐直播间和所述推荐排序最优的预设数目的直播间一起发送至客户端。
[0022] 第二方面,本发明实施例还提供一种直播间推荐系统,其包括:
[0023] 拆分模,用于获取所有直播间的文字信息,按照文字信息构成从复杂到简单对文字信息进行拆分,并按照复杂度逐级建立倒排序索引存入数据库;
[0024] 检索模块,用于实时检测用户的搜索行为并获取用户的输入语句,将用户的输入语句进行拆分得到检索字词,将检索字词存入kafka消息队列中;
[0025] 推荐模块,用于使用实时流处理框架storm从kafka队列获取所述检索字词,并检索数据库中的倒排序索引,按照包含检索字词数量从多到少对检索到的直播间进行排序,并推荐排序最前的预设数目的直播间。
[0026] 第三方面,本发明实施例还提供一种存储介质,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面实施例中的方法。
[0027] 第四方面,本发明实施例还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面实施例中的方法。
[0028] 与现有技术相比,本发明的优点在于:
[0029] (1)本发明一种直播间推荐方法、存储介质、电子设备及系统对最近的几次搜索字词进行查找,不再考虑用户的历史行为的所留下的数据,能够根据用于的实时兴趣爱好进行推荐,保证向用户推荐的直播间更加的贴合用户当前的需要;同时对直播间的文字信息进行分词,并使用倒排索引的方式进行存储,使得在根据检索字词检索直播间时候能够更快更明确的找到直播间。此外,由于针对的是用户的实时搜索行为,其要求快速、稳定且不崩溃,本发明通过使用kafka队列和实时流处理框架storm能够较好的保证上述用户体验。
[0030] (2)本发明一种直播间推荐方法、存储介质、电子设备及系统在分词时候,按照词元进行分词,能够更好的将直播间的文字信息进行拆分,从而使得在倒排索引中检索时候,能够找到更加贴合用户需求的直播间。
[0031] (3)本发明一种直播间推荐方法、存储介质、电子设备及系统将用户每次输入的语句按照次数逐条进行存放,同时其获取的是最新的若干次输入语句,保证了根据用户最新产生的兴趣、偏好进行取样,同时通过redis数据库进行存储,其设置的sorted结构为double类型分数,能够更好的存放搜素时间戳,保证了平台能够应对大量客户,并实时为其推荐当前感兴趣的直播间。
[0032] (4)本发明一种直播间推荐方法、存储介质、电子设备及系统见每一个直播间的直播间标题、直播间ID、主播ID、主播昵称等等均作为文字信息进行拆分,保证了倒排索引中能够进行检索的词组是必要且充分的,提升了推荐贴合用户体验的直播间的几率。
[0033] (5)本发明一种直播间推荐方法、存储介质、电子设备及系统使用Elastic Search分词工具对文字信息进行拆分,该分词工具能够在对文字信息拆分的同时直接为文字信息分配权重,更加方便平台进行后续的推荐,同时其设置有Elastic Search集群能够存储倒排索引,更加贴合本发明的在分词后建立倒排索引并存储的需求,使得推荐更加的流畅,提升了用户的体验。
[0034] (6)本发明一种直播间推荐方法、存储介质、电子设备及系统除了向用户推荐根据用户实时检索行为进行推断得到的直播间,还会向客户推荐根据其他数据推荐的直播间,例如历史行为数据。因为用户的兴趣爱好不会突然之间完全转变,其可能暂时性的增大了对另一方面的兴趣,但是其旧有兴趣仍然是存在的,完全推荐用户实时检索行为推断的直播间可能仍会造成用户不适,因此,合理的整合两种推荐类型的直播间向用户进行推荐能够更好的提升用户体验。附图说明
[0035] 为了更清楚地说明本发明实施例中的技术方案,下面对实施例对应的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0036] 图1为本发明一种直播间推荐方法步骤流程图
[0037] 图2为本发明一种直播间推荐系统的结构示意图。
[0038] 图中:1-拆分模块,2-检索模块,3-推荐模块。

具体实施方式

[0039] 以下结合附图对本发明的实施例作进一步详细说明。
[0040] 参见图1所示,本发明实施例提供一种直播间推荐方法、存储介质、电子设备及系统,其通过为每个直播间建立根据其位置信息拆分词组的倒排索引,并实时根据用户在平台上的搜索的输入语句在倒排索引中进行检索,能够根据用户当前的兴趣爱好,实时的向用户推荐直播间。
[0041] 为达到上述技术效果,本申请的总体思路如下:
[0042] 本发明实施例提供一种直播间推荐方法,用于向用户实时推荐用户当前感兴趣的直播间,其包括:
[0043] 获取每一个直播间的文字信息;
[0044] 将文字信息输入分布式搜索引擎中进行分词,得到多个词组以及对应词组的权重;
[0045] 为直播间ID和该直播间ID对应的词组建立倒排索引并存储至数据库;
[0046] 实时监测搜索内容并获取输入语句,将所述输入语句进行拆分得到检索字词,将检索字词存入kafka消息队列中;
[0047] 使用实时流处理框架storm从kafka队列获取所述检索字词,并检索数据库中的倒排序索引,按照包含检索字词在倒排序索引的权重对直播间进行排序,并推荐排序最优的预设数目的直播间。
[0048] 综上所述,对于平台来说,其需要更好的引起用户的兴趣,吸引用户观看直播。因此在向用户进行推荐的时候,一般而言会记录每一个用户的历史行为数据,然后根据用户的历史行为进行推断。但是这种推荐并不是根据用户当前的兴趣爱好进行的,在用户产生新兴趣后,进行检索时,平台只能向客户推荐根据其历史行为数据推荐的直播间,不符合用户的需求的,使得推荐效果大打折扣。
[0049] 本发明则实时监测用户的搜索内容,获取其输入的语句进行检索,保证能够实时获取用户当前的兴趣信息。
[0050] 而为了能够分析用户的兴趣信息,获取的是用户的输入语句,这些输入语句是用户兴趣体现的直观表现,也是直播平台能够最直接获取的信息。
[0051] 进一步的,为了能够针对用户的输入语句进行合理的检索,需要进来一套检索数据库。因此首先需要根据平台上的直播间信息进行创建。
[0052] 使用直播间的文字信息拆分达到的词句和直播间ID建立倒排索引,在检索时候,能够根据该索引进行用户输入语句拆分后的检索,关联性好效,同时率更高:倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引。
[0053] 进一步的,本发明使用kafka队列存储检索字词,并使用实时流处理框架storm从kafka队列获取该检索字词,能够满足直播平台对大数据、海量用户、实时处理的需求:由于直播平台的实时性要求,其需要对用户当前,即近乎每次行为进行记录和分析,其需要实时对用户当前兴趣进行分析以及推荐,对平台的性能以及架构提出了更加严格的要求:针对大量的用户、大量的数据,且能够实时对数据进行传递和分析。
[0054] 而Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据,其拥有高吞吐量、支持集群区分等等特性,能够满足对检索字词存储和处理的需求。
[0055] 实时流处理框架storm是一种分布式的实时计算系统,能够可信任的处理大量的流式数据。其能够实时的进行相应的计算,同时稳定不崩溃,保证了直播平台面对直播高峰期的海量用户仍能够不卡顿的处理。
[0056] 为了更好的理解上述技术方案,下面结合具体实施方式进行详细的说明。
[0057] 实施例一
[0058] 本发明实施例提供一种直播间推荐方法,其包括:
[0059] S1:获取每一个直播间的文字信息。
[0060] 需要对直播间进行相应的检索,需要建立相应的数据库/索引,供检索时候使用,本发明使用的是用户搜索时候的输入语句,这些输入语句是文字相关的信息。因此对应这些文字相关信息,建立直播平台上每一个直播间的数据库/索引,则需要对每一个直播间的文字信息。
[0061] 作为一个优选的实施方案,该文字信息包括但不限于:播间标题、直播间ID、主播ID、主播昵称。直播间的播间标题、直播间ID、主播ID、主播昵称,能够较广范围地反应直播间的内容,因此,通过这些文字建立的数据库/索引,能够较客观、合理的反应直播间属性,方便后续检索和判断。
[0062] S2:将文字信息输入分布式搜索引擎中进行分词,得到多个词组以及对应词组的权重。
[0063] 在获取了直播间的文字信息后,如果仅仅将该文字信息和直播间进行关联,用户检索的输入语句通常并不能和这些文字信息完全的匹配,因此,需要对这些文字信息进行处理,形成多个词组。这样,在检索时候能够对词组进行完全或者不完全匹配。
[0064] 同时如果输入语句匹配到多个直播间时候,平台需要判断哪一个更加贴合用户的兴趣,因此需要对词组进行评分,得到词组的权重,在不同权重下,能够更加容易的进行评比,从而为用户推荐贴合的直播间。
[0065] 需要说明的是,在本步骤S2的拆分中得到的权重,是在拆分时候,根据预设的计算公式,计算词语关于其对应文字信息的关联性所得出的,该预设的计算公式在搜索、检索时候本领域技术人员常用的技术手段,在此不再冗述。
[0066] 作为一个优选的实施方案,所述将文字信息输入分布式搜索引擎中进行分词,得到多个词组以及对应词组的权重包括:
[0067] 将文字信息差分为若干个语元以及语元组合起来的词组;
[0068] 通过分布式搜索引擎对语元以及语元组合起来的词组进行评分,得到对应语元以及语元组合起来的词组的权重,所述权重为该语元或词组对应直播间文字信息的相关度的评分。
[0069] 进一步的,使用ElasticSearch分词工具对文字信息进行拆分,ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
[0070] 举例来说,直播间ID96291的文字信息有:直播间标题为“东北大鹌鹑相声艺术家”,主播昵称为“东北大鹌鹑”。将该文字信息输入至ElasticSearch分词工具中,得到词组以及对应了权重(权重为括号中数值):96291(1.0),东北大鹌鹑(0.95),相声艺术家(0.5),东北(0.4),大鹌鹑(0.3),相声(0.2),艺术家(0.1)。同样的还有一个直播间ID为96200,直播间标题为“东北相声”将这个直播间文字信息输入到ElasticSearch分词工具中就会得到词组以及对应了权重(权重为括号中数值):96200(1.0),东北相声(0.95),东北(0.6),相声(0.4)。
[0071] S3:为直播间ID和该直播间ID对应的词组建立倒排索引并存储至数据库。
[0072] 倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引。在检索时候,能够直接根据输入语句拆分得到的检索字词检索对应的直播间,更加效率和快捷。
[0073] 进一步的,该倒排索引存入ElasticSearch集群。
[0074] Elastic Search每一个字段存入索引,使其可以被检索到,同时将倒排索引中的字词作为分片每个分片可有零个或多个副本。集群中的每个数据节点都可承载一个或多个分片,并且协调和处理各种操作。这样保证了处理大批量数据时候,负载再平衡和路由在大多数情况下自动完成。其次,Elastic Search集群可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。最后支持插件机制,分词插件、同步插件、Hadoop插件、可视化插件等。
[0075] S4:实时监测搜索内容并获取输入语句,将所述输入语句进行拆分得到检索字词,将检索字词存入kafka消息队列中;
[0076] 用户在拥有新的兴趣,并希望观看关于新兴趣的直播间时候,一般会通过平台的搜索功能进行搜索,因此,对应于该搜索行为,平台实时监测搜索内容,并获取输入语句。这样,输入语句作为用户当前兴趣的直接反应能够完全被平台所捕获。
[0077] 直播平台需要满足海量用户的观看需求,而本发明是根据用户当前的兴趣进行实时推荐的,其需求大量数据、实时处理以及数据处理稳定性。本发明使用kafka队列,保证检索字词能够快速的存取,使用storm实时流处理框架,实时且稳定的进行检索,保证了平台进行本发明需求的实时处理大量用户的数据处理需求。
[0078] 进一步的,上述的实时检测搜索行为并获取输入语句具体为:将每次输入的语句按次存放,并获取最新的若干次输入语句。用户当前兴趣下搜索时的输入语句,是和时间相关的,因此存放其每次输入的语句按次存放,并获取最新的若干次输入语句,是能够更好的捕获当前的用户兴趣。
[0079] 具体的,所述索引字词存储结构为Redis数据库的sorted set结构,所述sorted set结构的double类型分数用于存放搜索时间戳。通过redis数据库进行存储,其设置的sorted结构为double类型分数,能够更好的存放搜素时间戳,保证了平台能够应对大量客户,并实时为其推荐当前感兴趣的直播间。
[0080] S5:使用实时流处理框架storm从kafka队列获取所述检索字词,并检索数据库中的倒排序索引,按照包含检索字词在倒排序索引的权重对直播间进行排序,并推荐排序最优的预设数目的直播间。
[0081] 为了得到贴合当前用户推荐的直播间,进一步的需要在倒排索引中进行检索,从而得到相关的直播间,在得到了多个直播间后,根据检索字词所对应获取的拆文字信息得到词组的权重进行排序,进而将排序最优的预设数目的直播间推荐给用户。
[0082] 需要说明的是,排序最优的是按照权重排序后,不管从大到小排还是从小到大排,其权重较大的直播间。在为了实时向用户进行推荐最贴合当前兴趣的直播间时候,使用权重较大的直播间是可以提高推荐给用户的直播间与用户兴趣的匹配度。
[0083] 举例来说,对应ID为96291的直播间,其分词词组和对应权重(权重为括号中数值)为:词组以及对应了权重(权重在括号中):96291(1.0),东北大鹌鹑(0.95),相声艺术家(0.5),东北(0.4),大鹌鹑(0.3),相声(0.2),艺术家(0.1);以及ID为96200的直播间,其分词词组和对应权重为:96200(1.0),东北相声(0.95),东北(0.6),相声(0.4)。
[0084] 在搜索“东北相声”时候,直接检索到ID为96200直播间的东北相声(0.95)。而搜索“东北”时候,会检索到ID为96291的直播间以及ID为96200的直播间,其中东北(0.4)和东北(0.6)由于权重0.6大于0.4,使得ID为96200的直播间比ID为96291的直播间排序更优。
[0085] 作为一个可选的实施方案,在用户界面上的部分推荐栏位显示所述排序最优的预设数目的直播间。
[0086] 即用户界面上推荐给用户的直播间只有部分是根据用户实时检索的输入语句进行推荐,其余的推荐栏则可以显示其他推荐直播间,如:根据用户历史行为特征,选取若干历史行为推荐直播间,然后将历史行为推荐直播间和所述推荐排序最优的预设数目的直播间一起发送至客户端。
[0087] 除了向用户推荐根据用户实时检索行为进行推断得到的直播间,还会向客户推荐根据用户历史行为推荐的直播间,因为用户的兴趣爱好不会突然之间完全转变,其可能暂时性的增大了对另一方面的兴趣,但是其旧有兴趣仍然是存在的,完全推荐用户实时检索行为推断的直播间可能仍会造成用户不适,因此,合理的整合两种推荐类型的直播间向用户进行推荐能够更好的提升用户体验。
[0088] 基于同一发明构思,本申请提供实施例二,其具体实施方式如下。
[0089] 实施例二
[0090] 如图2所示,本发明实施例提供一种直播间推荐方法系统,其特征在于,其包括:
[0091] 拆分模块(1),用于获取所有直播间的文字信息,按照文字信息构成从复杂到简单对文字信息进行拆分,并按照复杂度逐级建立倒排序索引存入数据库;
[0092] 检索模块(2),用于实时检测用户的搜索行为并获取用户的输入语句,将用户的输入语句进行拆分得到检索字词,将检索字词存入kafka消息队列中;
[0093] 推荐模块(3),用于使用实时流处理框架storm从kafka队列获取所述检索字词,并检索数据库中的倒排序索引,按照包含检索字词数量从多到少对检索到的直播间进行排序,并推荐排序最前的预设数目的直播间。
[0094] 前述方法实施例中的各种变化方式和具体实例同样适用于本实施例的系统,通过前述方法的详细描述,本领域技术人员可以清楚的知道本实施例中系统的实施方法和好处,所以为了说明书的简洁,在此不再详述。
[0095] 基于同一发明构思,本申请提供实施例三。
[0096] 实施例三
[0097] 本发明第三实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的直播间推荐方法,该方法包括:
[0098] 获取每一个直播间的文字信息;
[0099] 将文字信息输入分布式搜索引擎中进行分词,得到多个词组以及对应词组的权重;
[0100] 为直播间ID和该直播间ID对应的词组建立倒排索引并存储至数据库;
[0101] 实时监测搜索内容并获取输入语句,将所述输入语句进行拆分得到检索字词,将检索字词存入kafka消息队列中;
[0102] 使用实时流处理框架storm从kafka队列获取所述检索字词,并检索数据库中的倒排序索引,按照包含检索字词在倒排序索引的权重对直播间进行排序,并推荐排序最优的预设数目的直播间。
[0103] 本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0104] 计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0105] 计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
[0106] 可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0107] 注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
[0108] 基于同一发明构思,本申请提供实施例四。
[0109] 实施例四
[0110] 本发明第四实施例还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一实施例中的所有方法步骤或部分方法步骤。
[0111] 所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
[0112] 所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0113] 总体来说,本发明实施例提供的一种直播间推荐方法、存储介质、电子设备及系统,通过实时获取用户搜索的输入字词捕获用户当前兴趣,并建立每一个直播间的倒排索引进行检索,向用户推荐贴合当前兴趣的直播间,相较于传统的技术,能够更好的满足用户需求,提升用户体验。
[0114] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0115] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0116] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0117] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0118] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈