具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性或时间先后。
如图1所示,是本发明实施例提供的服务器200与用户终端100进行交互的示意图。所述服务器200通过网络300与一个或多个用户终端100进行通信连接,以进行数据通信或交互。所述服务器200可以是网络服务器、数据库服务器等。所述用户终端100可以是个人电脑(personal computer,PC)、平板电脑、智能手机、智能电视、数字机顶盒、支持直播的智能盒子等。
如图2所示,是所述服务器200的方框示意图。所述服务器200包括点播节目的装置210、存储器220、存储控制器230、处理器240。
所述存储器220、存储控制器230、处理器240各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述选房装置210包括至少一个可以软件或固件(firmware)的形式存储于所述存储器中或固化在所述服务器200的操作系统(operating system,OS)中的软件功能模块。所述处理器240用于执行存储器220中存储的可执行模块,例如所述点播节目的装置210包括的软件功能模块或计算机程序。
其中,存储器220可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器220用于存储程序,所述处理器240在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的服务器所执行的方法可以应用于处理器中,或者由处理器实现。
处理器240可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
图3示出了本发明第一实施例提供的一种点播节目的方法的流程图,请参阅图3,本实施例描述的是服务器的处理流程,所述方法包括:
步骤S301,服务器从用户终端获取预设时间周期内用户每天观看的节目名称、观看时间以及观看时长;
其中,预设时间周期可以是一年,一个季度或者一周,当然并不局限于所述实施方式。
步骤S302,所述服务器分别将在预设时间周期内的每天的各个时间段分别与对应的索引号建立映射关系,形成多个映射关系矩阵,所述对应的索引号是指各个时间段内用户观看的节目名称对应的索引号或者各个时间段内用户观看的节目类别对应的索引号;
可以理解的是,每天的各个时间段分别与对应的索引号建立映射关系,即可以形成一个矩阵。因此预设时间周期内,即有多个矩阵。
其中,所述对应的索引号是指各个时间段内用户观看的节目名称对应的索引号或者各个时间段内用户观看的节目类别对应的索引号,可以理解的是,可以预先在服务器内部存储一张表,用来记录节目名称与其对应的索引号的对应关系,或者用来记录节目类别与其对应的索引号的对应关系。
例如,可以设置M维的对角矩阵D,M取值24时,D中元素为1,代表用户在一天内的某一个小时的时段内有观看电视的行为。可以理解的是,为了获得更加精细的用户行为,也可把时间粒度细化为半小时或一刻钟,只是增加矩阵维度M值而已。同时设置一个M*N的矩阵C,其中矩阵宽M代表时间尺度,N为用户收看到的电视台的数目。矩阵C中的元素为某时段播出的电视名称对应的索引。因此所述映射关系矩阵可以为矩阵D和C的乘积,即R=DC,R表示用户一天内看过的电视节目。可以统计所述服务器分别将在预设时间周期内的每天对应的矩阵R,形成多个映射关系矩阵。
步骤S303,所述服务器根据所述多个映射关系矩阵,计算出在所述预设时间周期内,用户每天观看节目的差异度;
具体的,计算差异度的步骤如下:
将所述多个映射关系矩阵构成映射关系矩阵集合;
依次分别计算所述映射关系矩阵集合中相邻两个元素形成的差值矩阵,分别将所述差值矩阵求平方并除以第一参数,分别得到相邻两个相邻矩阵的差异度值,所述第一参数为所述差值矩阵的行数及列数的乘积;
将所述相邻两个映射关系矩阵的差异度值求和,并除以预设时间周期,得到所述差异度。
例如,假设服务器获取了一个星期内,用户每天观看的节目名称、观看时间以及观看时长,因此可以分别构成7个映射关系矩阵Ri,。
可以根据如下公式计算差异度:
其中,σ为差异度值,Ri为第i天各个时间段分别与对应的索引号建立映射关系矩阵,Ri+l为第i+l天各个时间段分别与对应的索引号建立映射关系矩阵,l为时间间隔,total为映射关系矩阵集合中映射关系矩阵的总数目,m,n为矩阵元素的下标索引变量,M和N为所述差值矩阵的行数及列数的乘积。
步骤S304,当所述差异度小于预设阈值时,所述服务器生成推送节目表单并发送到所述用户终端以供用户进行点播,所述推送节目表单中包括所述预设时间周期内用户每天观看的节目名称;
可以理解的是,可以设置预设阈值Th,Th可以为统计经验值。当σ小于Th时,则判定在预设时间周期内,Ri的变化不大,具有准平稳性,即用户总是在某个时间段观看特定类型的节目。服务器可以录制用户喜欢的节目,在用户没有观看的情况下,提示用户点击观看。
步骤S305,当所述服务器接收到所述用户终端的点播指令,所述点播指令中包括待点播的节目名称,所述服务器录制待点播的节目。
本发明实施例提供的一种点播节目的方法,通过服务器根据所述多个映射关系矩阵,计算出在所述预设时间周期内用户每天观看节目的差异度,当所述差异度小于预设阈值时,所述服务器生成推送节目表单并发送到所述用户终端以供用户进行点播,通过这种方式向用户终端推送用户可能感兴趣的节目单,并接收用户终端发送的点播指令后进行录制,这样使得服务器不用再全部录制所有节目,释放了服务器的存储资源。并且录制合适的电视内容,使用户通过用户终端观看的感兴趣的节目更精准,以最小的资源,换取用户的最大满意度。
图4示出了本发明第二实施例提供的一种点播节目的方法的流程图,请参阅图4,本实施例描述的是服务器的处理流程,所述方法包括:
步骤S401,服务器从用户终端获取预设时间周期内用户每天观看的节目名称、观看时间以及观看时长;
步骤S402,所述服务器将所述预设时间周期内,每隔预设时间间隔取出用户当天观看的节目名称;
可以理解的是,可以不用统计预设时间周期内用户每天观看的节目名称,可以设置一个预设时间间隔,统计所述服务器将所述预设时间周期内,每隔预设时间间隔取出用户当天观看的节目名称,这样可以减少计算量。
步骤S403,判断所述用户观看的节目名称所属的节目分类;
优选的,请参阅图5,可以通过下述方法来判断所述用户观看的节目名称所属的节目分类:
步骤S431,将所述节目名称进行分词,得到分词集合;
例如,假设节目名称为新闻联播,可以对“新闻联播”进行分词,得到分词集合,所述分词集合中包括:新闻,闻联,联播。
步骤S432,依次将所述分词集合中的分词分别与节目分类名称计算汉明距离;
依次将所述分词集合与分类名称中所有分类的名称进行计算汉明距离,例如,假设分类名称中包含了(新闻,财经,综艺),则将分词集合中的三个词分别与“新闻”,“财经”,“综艺”计算汉明距离。其中,两个等长字符串之间的汉明距离是两个字符串对应位置的不同字符的个数。换句话说,它就是将一个字符串变换成另外一个字符串所需要替换的字符个数。
步骤S433,若所述分词集合中存在有与节目分类名称之间的汉明距离为零的分词,则所述节目名称属于所述节目分类。
例如新闻联播的切分集合中有“新闻”子串,与分类名称“新闻”的汉明距离为0,则新闻联播属于新闻类节目。
步骤S404,所述服务器分别将在预设时间周期内的每天的各个时间段分别与对应的索引号建立映射关系,所述对应的索引号是指各个时间段内用户观看的节目类别对应的索引号。
步骤S405,将所述多个映射关系矩阵构成映射关系矩阵集合;依次分别计算所述映射关系矩阵集合中相邻两个元素形成的差值矩阵,分别将所述差值矩阵求平方并除以第一参数,分别得到相邻两个相邻矩阵的差异度值,所述第一参数为所述差值矩阵的行数及列数的乘积;
步骤S406,将所述相邻两个映射关系矩阵的差异度值求和,并除以预设时间周期,得到所述差异度。
步骤S407,当所述差异度小于预设阈值时,所述服务器生成推送节目表单并发送到所述用户终端以供用户进行点播,所述推送节目表单中包括所述预设时间周期内用户每天观看的节目名称;
步骤S408,当所述服务器接收到所述用户终端的点播指令,所述点播指令中包括待点播的节目名称,所述服务器录制待点播的节目。
本发明实施例提供的一种点播节目的方法、装置及系统,通过服务器根据所述多个映射关系矩阵,计算出在所述预设时间周期内用户每天观看节目的差异度,当所述差异度小于预设阈值时,所述服务器生成推送节目表单并发送到所述用户终端以供用户进行点播,通过这种方式向用户终端推送用户可能感兴趣的节目单,并接收用户终端发送的点播指令后进行录制,这样使得服务器不用再全部录制所有节目,释放了服务器的存储资源。并且录制合适的电视内容,使用户通过用户终端观看的感兴趣的节目更精准,以最小的资源,换取用户的最大满意度。并且,通过建立节目类别的索引号对应的映射关系矩阵,也可以分析出用户喜欢关系的节目类别,可以像用户推送同一类别的节目,而不仅局限于用户观看过的节目,使得用户体验度进一步提升。
请参阅图6,是本发明实施例提供的图2所示的点播节目的装置210的功能模块示意图。所述点播节目的装置210包括获取模块211,映射模块212,计算模块213,生成模块214,处理模块215。
所述获取模块211,用于服务器从用户终端获取预设时间周期内用户每天观看的节目名称、观看时间以及观看时长;
所述映射模块212,用于所述服务器分别将在预设时间周期内的每天的各个时间段分别与对应的索引号建立映射关系,形成多个映射关系矩阵,所述对应的索引号是指各个时间段内用户观看的节目名称对应的索引号或者各个时间段内用户观看的节目类别对应的索引号;
其中,优选的,请参阅图7,所述映射模块212包括第一处理子模块2121,判断子模块2122以及第二处理子模块2123,
所述第一处理子模块2121,用于分别获取在预设时间周期内每天的各个时间段分别对应的用户观看的节目名称;
所述判断子模块2122,用于判断所述用户观看的节目名称所属的节目分类;优选的,所述判断子模块2122,具体用于将所述节目名称进行分词,得到分词集合;依次将所述分词集合中的分词分别与节目分类名称计算汉明距离;若所述分词集合中存在有与节目分类名称之间的汉明距离为零的分词,则所述节目名称属于所述节目分类。
所述第二处理子模块2123,用于分别将在预设时间周期内的每天的各个时间段分别与对应的索引号建立映射关系,所述对应的索引号是指各个时间段内用户观看的节目类别对应的索引号。
所述计算模块213,用于所述服务器根据所述多个映射关系矩阵,计算出在所述预设时间周期内,用户每天观看节目的差异度;
其中,优选的,请参阅图8,所述计算模块213包括第三处理子模块2131,第一计算子模块2132,以及第二计算子模块2133,
所述第三处理子模块2131,用于将所述多个映射关系矩阵构成映射关系矩阵集合;
所述第一计算子模块2132,用于依次分别计算所述映射关系矩阵集合中相邻两个元素形成的差值矩阵,分别将所述差值矩阵求平方并除以第一参数,分别得到相邻两个相邻矩阵的差异度值,所述第一参数为所述差值矩阵的行数及列数的乘积;
所述第二计算子模块2133,用于将所述相邻两个映射关系矩阵的差异度值求和,并除以预设时间周期,得到所述差异度。
所述生成模块214,用于当所述差异度小于预设阈值时,所述服务器生成推送节目表单并发送到所述用户终端以供用户进行点播,所述推送节目表单中包括所述预设时间周期内用户每天观看的节目名称;
所述处理模块215,用于当所述服务器接收到所述用户终端的点播指令,所述点播指令中包括待点播的节目名称,所述服务器录制待点播的节目。
请参阅图1,是本发明实施例提供的一种点播节目的系统,所述系统包括用户终端100以及服务器200,
所述服务器200,用于从用户终端100获取预设时间周期内用户每天观看的节目名称、观看时间以及观看时长;分别将在预设时间周期内的每天的各个时间段分别与对应的索引号建立映射关系,形成多个映射关系矩阵,所述对应的索引号是指各个时间段内用户观看的节目名称对应的索引号或者各个时间段内用户观看的节目类别对应的索引号;根据所述多个映射关系矩阵,计算出在所述预设时间周期内,用户每天观看节目的差异度;当所述差异度小于预设阈值时,生成推送节目表单并发送到所述用户终端100以供用户进行点播,所述推送节目表单中包括所述预设时间周期内用户每天观看的节目名称;当接收到所述用户终端100的点播指令,所述点播指令中包括待点播的节目名称,录制待点播的节目。
所述用户终端100,用于接收所述服务器200发送的所述推送节目表单,并向所述服务器200发送点播指令。
可以理解的是,如图9所示,服务器200的功能可以由机器学习服务器200a、节目剪辑服务器200b以及视频点播服务器200c共同实现。机器学习服务器200a,用于从用户终端100获取预设时间周期内用户每天观看的节目名称、观看时间以及观看时长;分别将在预设时间周期内的每天的各个时间段分别与对应的索引号建立映射关系,形成多个映射关系矩阵,所述对应的索引号是指各个时间段内用户观看的节目名称对应的索引号或者各个时间段内用户观看的节目类别对应的索引号;根据所述多个映射关系矩阵,计算出在所述预设时间周期内,用户每天观看节目的差异度;当所述差异度小于预设阈值时,生成推送节目表单并发送到所述用户终端100以供用户进行点播,所述推送节目表单中包括所述预设时间周期内用户每天观看的节目名称;节目剪辑服务器200b,用于当接收到所述用户终端100的点播指令,所述点播指令中包括待点播的节目名称,从视频点播服务器200c中获取待点播节目,并根据所述点播指令进行剪辑和录制;所述视频点播服务器200c,用于存储所有视频节目。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本发明实施例所提供的点播节目的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。