CN107992526B - 主播推荐方法、存储设备及计算机设备 - Google Patents

主播推荐方法、存储设备及计算机设备 Download PDF

Info

Publication number
CN107992526B
CN107992526B CN201711106768.7A CN201711106768A CN107992526B CN 107992526 B CN107992526 B CN 107992526B CN 201711106768 A CN201711106768 A CN 201711106768A CN 107992526 B CN107992526 B CN 107992526B
Authority
CN
China
Prior art keywords
anchor
data
subset
anchor data
subsets
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
CN201711106768.7A
Other languages
English (en)
Other versions
CN107992526A (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.)
Guangzhou Huya Information Technology Co Ltd
Original Assignee
Guangzhou Huya Information 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 Guangzhou Huya Information Technology Co Ltd filed Critical Guangzhou Huya Information Technology Co Ltd
Priority to CN201711106768.7A priority Critical patent/CN107992526B/zh
Publication of CN107992526A publication Critical patent/CN107992526A/zh
Application granted granted Critical
Publication of CN107992526B publication Critical patent/CN107992526B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/488Data services, e.g. news ticker

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种主播推荐方法、存储设备及计算机设备。所述方法包括:获取预置数量主播的主播数据,形成主播数据集合;依次从所述主播数据集合中获得一个主播数据,根据该主播数据从所述主播数据集合中获取其他主播数据生成子集置于总集合中;对所述总集合中的子集进行协同过滤,得到过滤后子集的主播数据对应的主播;向用户推荐所述主播。该主播推荐方法与传统的采用递归算法的主播推荐方法相比,不需要调用自身,从而提高了获取推荐主播的效率。

Description

主播推荐方法、存储设备及计算机设备
技术领域
本发明涉及软件应用领域,具体涉及一种主播推荐方法、存储设备及计算机设备。
背景技术
随着互联网技术的高速发展,人们通过互联网络可以快速地获得大量的网络信息。然而,如何在大量的网络信息中,给用户推送有用的信息对于信息生产者来说,是个很大的难题。在直播平台领域,逐渐涌现出越来越多的主播。如何快速获取到相应数量的推荐主播给用户进行推荐,对于推荐系统来说,是一个比较大的难题。
一般解决该问题的方式是:将一定数量的主播数据形成集合,求取该集合的幂集,再将该幂集中的所有子集对应的主播数据进行协同过滤,最后将过滤后的子集中主播数据对应的主播推荐给用户。传统求取该集合的幂集的方式是采用递归算法。但在实践过程中采用递归算法非常耗时和耗空间,效率非常低。因此,推荐系统很难快速获取到推荐主播。
发明内容
本发明的目的在于提供一种主播推荐方法、存储设备及计算机设备,让推荐系统能够快速获取到推荐主播给用户进行推荐,从而用户可以快速获取到推荐主播。
为实现该目的,本发明采用如下技术方案:
一种主播推荐方法,包括以下步骤:获取预置数量主播的主播数据,形成主播数据集合;依次从所述主播数据集合中获得一个主播数据,根据该主播数据从所述主播数据集合中获取其他主播数据生成子集置于总集合中;对所述总集合中的子集进行协同过滤,得到过滤后子集的主播数据对应的主播;向用户推荐所述主播。
在其中一个实施例中,所述获取预置数量主播的主播数据,形成主播数据集合,包括:将所述主播数据集合中的主播数据进行顺序编号;所述依次从所述主播数据集合中获得一个主播数据,根据该主播数据从所述主播数据集合中获取其他主播数据生成子集置于总集合中,包括:按照主播数据的编号从小到大依次从所述主播数据集合中获得一个主播数据,根据该主播数据的编号从所述主播数据集合中获取编号排在该主播数据的编号之后的其他主播数据生成子集置于总集合中。
在其中一个实施例中,所述将所述主播数据集合中的主播数据进行顺序编号,包括:根据获取主播数据的次序对主播数据进行顺序编号;或对主播数据按该主播数据对应的主播特征进行从小到大顺序编号,形成从小到大顺序编号的主播数据集合。
在其中一个实施例中,所述依次从所述主播数据集合中获得一个主播数据,根据该主播数据从所述主播数据集合中获取其他主播数据生成子集置于总集合中,包括:按照编号从小到大顺序,依次从主播数据集合中获得一个主播数据,根据每次获得的一个主播数据生成子集且将子集置于结果区,把结果区中的子集作为总集合。
在其中一个实施例中,所述根据每次获得的一个主播数据生成子集且将子集置于结果区,包括:a把获得的一个主播数据作为当前主播数据,生成包含所述当前主播数据的子集,把该子集置于缓冲区;b判断缓冲区中是否有包含编号最大主播数据不属于主播数据集合编号最大主播数据的子集,若是,继续步骤c;否则,把缓冲区的子集置于结果区,清空缓冲区,本次的生成子集且将子集置于结果区的步骤结束;c从缓冲区中依次获取子集,根据每次获取子集生成拓展的子集;生成拓展的子集包括:把获取子集作为当前子集,获取当前子集中编号最大主播数据;判断所述当前子集中编号最大主播数据是否为所述主播数据集合中的编号最大的主播数据;若否,执行步骤d;若是,将该当前子集置于中间区;d从主播数据集合中,按照编号从小到大依次获取编号在该编号最大主播数据之后的一个主播数据;根据每次获取的一个主播数据,生成包含所述获取的一个主播数据与所述当前子集中主播数据的子集;把该子集置于中间区;e把缓冲区的子集置于结果区,清空缓冲区;把中间区的子集置于缓冲区,清空中间区,返回步骤b。
在其中一个实施例中,所述主播数据包括主播的品类数据;或,所述主播数据包括主播的等级数据。
在其中一个实施例中,所述对所述总集合中的子集进行协同过滤,得到过滤后子集的主播数据对应的主播,包括:分析所述总集合中子集的主播数据的相似性;根据所述相似性对所述总集合中的子集进行协同过滤,得到过滤后子集的主播数据对应的主播。
在其中一个实施例中,所述对所述总集合中的子集进行协同过滤,得到过滤后子集的主播数据对应的主播,包括:分析所述总集合中子集的主播的直播内容数据的相似性;根据所述相似性对所述总集合中的子集进行协同过滤,得到过滤后子集的主播数据对应的主播。
一种存储设备,包括多条指令;所述指令适于由处理器加载并执行:获取预置数量主播的主播数据,形成主播数据集合;依次从所述主播数据集合中获得一个主播数据,根据该主播数据从所述主播数据集合中获取其他主播数据生成子集置于总集合中;对所述总集合中的子集进行协同过滤,得到过滤后子集的主播数据对应的主播;向用户推荐所述主播。
一种计算机设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于:执行上述任一实施例所述的主播推荐方法。
与现有技术相比,本发明具备如下优点:
本发明的一种主播推荐方法,通过在主播数据集合中,依次获取一个主播数据,并根据该主播数据从主播数据集合中获取其他主播数据生成子集置于总集合中,最后将总集合中的子集进行协同过滤,以向用户推送过滤后的主播数据对应的主播。该主播推荐方法与传统的采用递归算法的主播推荐方法相比,不需要调用自身,从而提高了获取推荐主播的效率。
显然,上述有关本发明优点的描述是概括性的,更多的优点描述将体现在后续的实施例揭示中,以及,本领域技术人员也可以本发明所揭示的内容合理地发现本发明的其他诸多优点。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明主播推荐方法的一实施例流程示意图;
图2为步骤S200的一实施例流程示意图;
图3为本发明实施例提供的计算机设备部分结构的一实施例示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本领域技术人员应当理解,本发明所称的“应用”、“应用程序”、“应用软件”以及类似表述的概念,是业内技术人员所公知的相同概念,是指由一系列计算机指令及相关数据资源有机构造的适于电子运行的计算机软件。除非特别指定,这种命名本身不受编程语言种类、级别,也不受其赖以运行的操作系统或平台所限制。理所当然地,此类概念也不受任何形式的终端所限制。
本领域技术人员应当理解,本发明所称的用户界面、显示界面泛指能够用于向智能终端发送所述控制指令的显示界面,例如,可以是Android/IOS/Windows Phone系统的设置页面中的一个选项(或按键,由所述应用程序添加其中,下同),也可以是从桌面呼出的通知栏或者交互页面中的一个选项,还可以是所述应用程序的一个活动组件所构造的页面中的一个选项。
本发明提供一种主播推荐方法。在一实施例中,如图1所示,该主播推荐方法包括:
S100:获取预置数量主播的主播数据,形成主播数据集合。
服务器获取预置数量主播的主播数据,将该预置数量主播的主播数据形成主播数据集合。在本实施例中,主播数据可以是主播的品类数据。或者主播数据还可以是主播的等级数据。在其他实施例中,主播数据还可以是主播的直播内容数据、主播的等级数据以及主播的特征数据等。
S200:依次从所述主播数据集合中获得一个主播数据,根据该主播数据从所述主播数据集合中获取其他主播数据生成子集置于总集合中。
在本实施例中,服务器依次从所述主播数据集合中,获取一个主播数据。根据该主播数据从所述主播数据集合中,获取其他主播数据形成子集,并将生成的子集置于总集合中。
在一实施例中,步骤S100包括:将所述主播数据集合中的主播数据进行顺序编号。具体地,该步骤可包括:根据获取主播数据的次序对主播数据进行顺序编号;或对主播数据按该主播数据对应的主播特征进行从小到大顺序编号,形成从小到大顺序编号的主播数据集合。步骤S200包括:按照主播数据的编号从小到大依次从所述主播数据集合中获得一个主播数据,根据该主播数据的编号从所述主播数据集合中获取编号排在该主播数据的编号之后的其他主播数据生成子集置于总集合中。
在一实施方式中,按照编号从小到大顺序,依次从主播数据集合中获得一个主播数据,根据每次获得的一个主播数据生成子集且将子集置于结果区,把结果区中的子集作为总集合。具体,可包括以下步骤:a把获得的一个主播数据作为当前主播数据,生成包含所述当前主播数据的子集,把该子集置于缓冲区;b判断缓冲区中是否有包含编号最大主播数据不属于主播数据集合编号最大主播数据的子集,若是,继续步骤c;否则,把缓冲区的子集置于结果区,清空缓冲区,本次的生成子集且将子集置于结果区的步骤结束;c从缓冲区中依次获取子集,根据每次获取子集生成拓展的子集;生成拓展的子集包括:把获取子集作为当前子集,获取当前子集中编号最大主播数据;判断所述当前子集中编号最大主播数据是否为所述主播数据集合中的编号最大的主播数据;若否,执行步骤d;若是,将该当前子集置于中间区;d从主播数据集合中,按照编号从小到大依次获取编号在该编号最大主播数据之后的一个主播数据;根据每次获取的一个主播数据,生成包含所述获取的一个主播数据与所述当前子集中主播数据的子集;把该子集置于中间区;e把缓冲区的子集置于结果区,清空缓冲区;把中间区的子集置于缓冲区,清空中间区,返回步骤b。
例如,主播数据集合X={A,B,C}。其中A、B、C表示数据集合X中不同的主播数据且A、B和C是按照编号排序1、2、3形成于主播数据X中。依序从主播数据集合X中获取主播数据A,把主播数据A作为当前主播数据,生成子集{A},把子集{A}置于缓冲区中。判断缓冲区中是否有包含编号最大主播数据不属于主播数据集合编号最大主播数据的子集,也即是判断子集{A}中主播数据A的编号是否为主播数据集合X中的主播数据集合的最大编号(此处为编号3),若否。从缓冲区中获取子集{A}生成拓展的子集。其中生成拓展的子集包括:把子集{A}作为当前子集,获取子集{A}中主播数据的最大编号(此处为1),该编号不是最大编号3,则从主播数据集合X中按照编号从小到大分别获取编号为2和编号为3对应的主播数据(此处分别为B和C),分别形成子集{A、B}和子集{A、C},把子集{A、B}和子集{A、C}置于中间区中。把缓冲区中的子集{A}置于结果区中,清空缓冲区。再把中间区中的子集{A、B}和子集{A、C}置于缓冲区中,清空中间区。进一步地,再判断缓存期中的子集{A、B}和子集{A、C},每个子集中是否有包含最大的编号3,将包含最大编号3对应的子集{A、C}置于结果区中。将子集{A、B}当作当前子集,获取该子集中最大编号2,获取编号2之后的编号3对应的主播数据C,进一步形成子集{A、B、C}。将子集{A、B、C}放置缓冲区中继续做循环判定。依次类推,继续获取主播数据B和主播数据C,形成子集{B}和子集{C},再分别获取子集{B}和子集{C}的拓展的子集。最后获得总子集{{A}、{A、B}、{A、C}、{A、B、C}、{B}、{B、C}、{C}},最后在所述总子集中也可以加上空子集{}。
S300:对所述总集合中的子集进行协同过滤,得到过滤后子集的主播数据对应的主播;向用户推荐所述主播。
服务器根据所述主播数据集合中每个主播数据,获取到相应的子集形成总集合后,对所述总集合中的子集进行相似性的协同过滤。进一步地,获取协同过滤后的子集中的主播数据对应的主播,并向用户推荐该主播。
在一实施例中,步骤S300还可包括:分析所述总集合中子集的主播数据的相似性;根据所述相似性对所述总集合中的子集进行协同过滤,得到过滤后子集的主播数据对应的主播。在一具体实施方式中,主播数据为主播的直播内容数据。具体地,步骤S300包括:分析所述总集合中子集的主播的直播内容数据的相似性;根据所述相似性对所述总集合中的子集进行协同过滤,得到过滤后子集的主播数据对应的主播。
上述一种主播推荐方法,通过在主播数据集合中,依次获取一个主播数据,并根据该主播数据从主播数据集合中获取其他主播数据生成子集置于总集合中,最后将总集合中的子集进行协同过滤,以向用户推送过滤后的主播数据对应的主播。该主播推荐方法与传统的采用递归算法的主播推荐方法相比,不需要调用自身,从而提高了获取推荐主播的效率。
以下给出本发明的一种主播推荐方法对应的具体的逻辑实施过程:
令输入的主播数据集合为inputData(类型为List<String>),且inputData.get(i)表示获取inputData的第i个元素,且此处要求inputData非空,|inputData|=inputLen(大于0),在处理之前对inputData的元素进行自增排序,序号从0至inputLen-1。幂集中的元素,仍是集合,数据类型定为PowerCell,定义如下:
Figure GDA0002617486190000081
基于PowerCell,为方便后面陈述,再定义2种操作(输入参数的类型不同):
令makePowerCell(a:String,i:int),生成一个PowerCell,data只有一个元素a,lastIndex=i
令makePowerCell(list:List<String>,i:int),生成一个PowerCell,data=list,lastIndex=i
再令结果集数据记为result:List<PowerCell>,缓冲区数据集为buffer:List<PowerCell>,中间过程的结果记为middle:List<PowerCell>。
此处,将步骤S200中,获取所述总集合中每个子集的算法称为非递归算法。该非递归算法核心在于,首先将inputData的第1个元素(inputData.get(0))加工成PowerCell并放入buffer,再后面循环:result装入buffer的数据,middle清空,基于buffer生产出middle,从buffer到middle是只增加一个(inputData中的)元素的拓展,并且是弄出所有这样的拓展,针对每个buffer.PowerCell,与之相对应的middle.PowerCell满足如下要求:
令:bLen=|buffer.PowerCell.data|,bIndex=buffer.PowerCell.lastIndex
|middle.PowerCell.data|=bLen+1
middle.PowerCell.data的前bLen个元素=buffer.PowerCell.data
middle.PowerCell.data的第bLen+1个元素∈
{inputData.get(bIndex+1),inputData.get(bIndex+2),...,inputData.get(inputLen-1)}
基于该buffer.PowerCell能加工成inputLen-bIndex-1个middle.PowerCell
如果bIndex>=inputLen-1,则说明已经走到尽头,不能衍生出PowerCell到middle中去。
该循环结束后,就完成了很重要的一步。而且,实际上这是把包括inputData.get(0)的所有幂集所形成的PowerCell都装入了result,接下来针对result中的所有PowerCell,在其成员变量data中剔除inputData.get(0),再装入result,即完成了非递归。
例如,该非递归算法包括以下步骤:
第1步:buffer中装入makePowerCell(inputData.get(0),0)
第2步:进入下面的循环,终止条件是buffer为空
result装入buffer的数据,middle清空
Figure GDA0002617486190000091
buffer清空,buffer装入middle的数据。
第3步:result中装入剩下的元素(操作如下所示),然后就完成了非递归遍历。
Figure GDA0002617486190000101
具体可通过以下例子进行说明:记集合X={A、B、C},PowerCell用[data,lastIndex]来表示。
开始时,buffer={[{A},0]},result装入buffer,执行第2步的第1次循环后:
middle={[{A,B},1],[{A,C},2]},这些都是[{A},0]衍生出来的,middle里面的数据长度为2,result装入middle
接下来,buffer清空,装入middle,即:buffer={[{A,B},1],[{A,C},2]},
这里也可以看出来,buffer里面放的是数据长度相同的所有集合,是接下来需要被处理的对象,而处理的结果是middle,result里面放所有的集合,buffer与middle都只是result的一部分,执行第2次循环后:
middle={[{A,B,C},2]},这是[{A,B},1]衍生的,[{A,C},2]已经到尽头不能再衍生,result再装入middle
接下来,buffer清空,装入middle,即:buffer={[{A,B,C},2]},
此时,[{A,B,C},2]也是一样不能再衍生,所以第2步结束循环,此时的result的值为:
result={[{A},0],[{A,B},1],[{A,C},2],[{A,B,C},2]}
再执行上面的第3步,逐个PowerCell的data中去掉A,lastIndex保持不变,再装入result:
result={[{A},0],[{A,B},1],[{A,C},2],[{A,B,C},2]
[{},0],[{B},1],[{C},2],[{B,C},2]
}
result共有8个PowerCell,其中第4、5个分别是全集、空集。因此,也就完成了本发明所述的非递归算法。
本发明还提供一种存储设备,包括多条指令;所述指令适于由处理器加载并执行:获取预置数量主播的主播数据,形成主播数据集合;依次从所述主播数据集合中获得一个主播数据,根据该主播数据从所述主播数据集合中获取其他主播数据生成子集置于总集合中;对所述总集合中的子集进行协同过滤,得到过滤后子集的主播数据对应的主播;向用户推荐所述主播。
进一步地,该存储设备可以是U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
在其他实施例中,本发明提供的存储设备中的指令,由处理器加载并执行上述任一实施例所述的主播推荐方法中所述的步骤。
本发明还提供一种计算机设备。该计算机设备包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行上述任一实施例所述的主播推荐方法。
图3为本发明一实施例中的计算机设备结构示意图。例如服务器、个人计算机以及网络设备。如图3所示,设备包括处理器303、存储器305、输入单元307以及显示单元309等器件。本领域技术人员可以理解,图3示出的设备结构器件并不构成对所有设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件。存储器305可用于存储应用程序301以及各功能模块,处理器303运行存储在存储器305的应用程序301,从而执行设备的各种功能应用以及数据处理。存储器可以是内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、ZIP盘、U盘、磁带等。本发明所公开的存储器包括但不限于这些类型的存储器。本发明所公开的存储器只作为例子而非作为限定。
输入单元307用于接收信号的输入,以及接收用户输入的关键字。输入单元307可包括触控面板以及其它输入设备。触控面板可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程序驱动相应的连接装置;其它输入设备可以包括但不限于物理键盘、功能键(比如播放控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元309可用于显示用户输入的信息或提供给用户的信息以及计算机设备的各种菜单。显示单元309可采用液晶显示器、有机发光二极管等形式。处理器303是计算机设备的控制中心,利用各种接口和线路连接整个电脑的各个部分,通过运行或执行存储在存储器303内的软件程序和/或模块,以及调用存储在存储器内的数据,执行各种功能和处理数据。
在一实施方式中,设备包括一个或多个处理器303,以及一个或多个存储器305,一个或多个应用程序301。其中所述一个或多个应用程序301被存储在存储器305中并被配置为由所述一个或多个处理器303执行,所述一个或多个应用程序301配置用于执行以上任一实施例所述的主播推荐方法。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括存储器、磁盘或光盘等。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (9)

1.一种主播推荐方法,其特征在于,包括以下步骤:
获取预置数量主播的主播数据,形成从小到大顺序编号主播数据集合;
依次从所述主播数据集合中获得一个主播数据,并将该主播数据作为当前主播数据,生成该当前主播数据的子集,并将该子集置于缓冲区;当缓冲区中不包含有编号最大的主播数据的子集,则从缓冲区依次获取子集,并根据每一次获取的子集生成拓展的子集;当缓冲区中包含有编号最大的主播数据的子集时,将所述子集和包含有编号最大的主播数据的拓展子集置于结果区,将结果区的所有子集作为总集合,并清空缓冲区;
对所述总集合中的子集进行协同过滤,得到过滤后子集的主播数据对应的主播;向用户推荐所述主播。
2.根据权利要求1所述的主播推荐方法,其特征在于,所述获取预置数量主播的主播数据,形成主播数据集合,包括:将所述主播数据集合中的主播数据进行顺序编号;
所述依次从所述主播数据集合中获得一个主播数据,根据该主播数据从所述主播数据集合中获取其他主播数据生成子集置于总集合中,包括:按照主播数据的编号从小到大依次从所述主播数据集合中获得一个主播数据,根据该主播数据的编号从所述主播数据集合中获取编号排在该主播数据的编号之后的其他主播数据生成子集置于总集合中。
3.根据权利要求2所述的主播推荐方法,其特征在于,所述将所述主播数据集合中的主播数据进行顺序编号,包括:
根据获取主播数据的次序对主播数据进行顺序编号;或
对主播数据按该主播数据对应的主播特征进行从小到大顺序编号,形成从小到大顺序编号的主播数据集合。
4.根据权利要求1所述的主播推荐方法,其特征在于,所述生成拓展的子集包括:把获取子集作为当前子集,获取当前子集中编号最大主播数据;判断所述当前子集中编号最大主播数据是否为所述主播数据集合中的编号最大的主播数据;若否,执行步骤d;若是,将该当前子集置于中间区;
d从主播数据集合中,按照编号从小到大依次获取编号在该编号最大主播数据之后的一个主播数据;根据每次获取的一个主播数据,生成包含所述获取的一个主播数据与所述当前子集中主播数据的子集;把该子集置于中间区;
e把缓冲区的子集置于结果区,清空缓冲区;把中间区的子集置于缓冲区,清空中间区,则重新判断缓冲区中是否有包含编号最大主播数据不属于主播数据集合编号最大主播数据的子集。
5.根据权利要求1所述的主播推荐方法,其特征在于,所述主播数据包括主播的品类数据;或,所述主播数据包括主播的等级数据。
6.根据权利要求1所述的主播推荐方法,其特征在于,所述对所述总集合中的子集进行协同过滤,得到过滤后子集的主播数据对应的主播,包括:
分析所述总集合中子集的主播数据的相似性;
根据所述相似性对所述总集合中的子集进行协同过滤,得到过滤后子集的主播数据对应的主播。
7.根据权利要求5所述的主播推荐方法,其特征在于,所述对所述总集合中的子集进行协同过滤,得到过滤后子集的主播数据对应的主播,包括:
分析所述总集合中子集的主播的直播内容数据的相似性;
根据所述相似性对所述总集合中的子集进行协同过滤,得到过滤后子集的主播数据对应的主播。
8.一种存储设备,其特征在于,包括多条指令;所述指令适于由处理器加载并执行:
获取预置数量主播的主播数据,形成从小到大顺序编号主播数据集合;
依次从所述主播数据集合中获得一个主播数据,并将该主播数据作为当前主播数据,生成该当前主播数据的子集,并将该子集置于缓冲区;当缓冲区中不包含有编号最大的主播数据的子集,则从缓冲区依次获取子集,并根据每一次获取的子集生成拓展的子集;当缓冲区中包含有编号最大的主播数据的子集时,将所述子集和包含有编号最大的主播数据的拓展子集置于结果区,将结果区的所有子集作为总集合,并清空缓冲区;
对所述总集合中的子集进行协同过滤,得到过滤后子集的主播数据对应的主播;向用户推荐所述主播。
9.一种计算机设备,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于:执行根据权利要求1~7任一项所述的主播推荐方法。
CN201711106768.7A 2017-11-10 2017-11-10 主播推荐方法、存储设备及计算机设备 Active CN107992526B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711106768.7A CN107992526B (zh) 2017-11-10 2017-11-10 主播推荐方法、存储设备及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711106768.7A CN107992526B (zh) 2017-11-10 2017-11-10 主播推荐方法、存储设备及计算机设备

Publications (2)

Publication Number Publication Date
CN107992526A CN107992526A (zh) 2018-05-04
CN107992526B true CN107992526B (zh) 2021-03-23

Family

ID=62030234

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711106768.7A Active CN107992526B (zh) 2017-11-10 2017-11-10 主播推荐方法、存储设备及计算机设备

Country Status (1)

Country Link
CN (1) CN107992526B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110087119B (zh) * 2019-04-26 2022-02-22 广州酷狗计算机科技有限公司 直播首页显示方法、装置及计算机可读存储介质
CN110830812B (zh) * 2019-10-31 2021-11-30 广州市网星信息技术有限公司 相似主播分类模型训练方法、主播推荐方法及相关装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104081378A (zh) * 2012-01-30 2014-10-01 国际商业机器公司 充分利用并行处理器用于数据处理
CN106993202A (zh) * 2017-03-31 2017-07-28 武汉斗鱼网络科技有限公司 首页推荐方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0884688A3 (en) * 1997-06-16 2005-06-22 Koninklijke Philips Electronics N.V. Sparse index search method
CN1725214A (zh) * 2004-07-21 2006-01-25 鼎诚资讯股份有限公司 树状数据结构及其于生产选择方面的应用方法
US7415487B2 (en) * 2004-12-17 2008-08-19 Amazon Technologies, Inc. Apparatus and method for data warehousing
US10318903B2 (en) * 2016-05-06 2019-06-11 General Electric Company Constrained cash computing system to optimally schedule aircraft repair capacity with closed loop dynamic physical state and asset utilization attainment control
CN106560811A (zh) * 2016-09-23 2017-04-12 武汉斗鱼网络科技有限公司 一种基于主播风格的直播间推荐方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104081378A (zh) * 2012-01-30 2014-10-01 国际商业机器公司 充分利用并行处理器用于数据处理
CN106993202A (zh) * 2017-03-31 2017-07-28 武汉斗鱼网络科技有限公司 首页推荐方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"基于聚类层次模型的视频推荐算法";金亮等;《计算机应用》;20171109;第37卷(第10期);第2828-2833页 *
"属性子集选择算法及其推荐方法研究";王广涛;《西南交通大学硕士毕业论文》;20171010;第13-38页 *

Also Published As

Publication number Publication date
CN107992526A (zh) 2018-05-04

Similar Documents

Publication Publication Date Title
US9805022B2 (en) Generation of topic-based language models for an app search engine
US8468146B2 (en) System and method for creating search index on cloud database
CN108520034B (zh) 应用推荐方法、装置及计算机设备
CN109784365B (zh) 一种特征选择方法、终端、可读介质及计算机程序
Gonçalves et al. An experimental comparison of biased and unbiased random-key genetic algorithms
CN111143178A (zh) 用户行为分析方法、装置及设备
CN107992526B (zh) 主播推荐方法、存储设备及计算机设备
CN105574030A (zh) 一种信息搜索方法及装置
CN110209875A (zh) 用户内容画像确定方法、访问对象推荐方法和相关装置
JP2019204246A (ja) 学習データ作成方法及び学習データ作成装置
US12050867B2 (en) Language model based writing aid method, device and system
CN107741850B (zh) 动态壁纸包的生成方法、装置及存储介质
CN104580109A (zh) 生成点选验证码的方法及装置
CN113515620A (zh) 电力设备技术标准文档排序方法、装置、电子设备和介质
CN109451347A (zh) 一种特效制作方法、装置、终端及计算机可读存储介质
Ramos-Pollán et al. BIGS: A framework for large-scale image processing and analysis over distributed and heterogeneous computing resources
CN109918595B (zh) 获取公共模块的方法和装置
CN107798091B (zh) 一种数据爬取的方法及其相关设备
US20160092595A1 (en) Systems And Methods For Processing Graphs
JPWO2011016281A1 (ja) ベイジアンネットワーク構造学習のための情報処理装置及びプログラム
CN109614542B (zh) 公众号推荐方法、装置、计算机设备及存储介质
CN111491198B (zh) 一种小视频搜索方法和装置
CN111291186A (zh) 一种基于聚类算法的上下文挖掘方法、装置和电子设备
CN111782932B (zh) 数据关联的建立方法、装置和计算机可读存储介质
CN112631752B (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