一种节目数据入库方法及装置与流程

文档序号:12667234阅读:332来源:国知局
一种节目数据入库方法及装置与流程

本发明涉及数据处理技术领域,具体而言,涉及一种节目数据入库方法及装置。



背景技术:

目前,多媒体节目数据存入后台数据库的过程中,存在着较为严重的数据重复入库的问题。例如,后台获取到的爬虫数据中通常可能包含着部分在数据库中已存储的节目数据,当将上述爬虫数据全部进行入库处理后,就会导致有些节目数据在数据库中进行了重复存储,造成数据库存储空间的严重浪费。



技术实现要素:

本发明的目的在于提供一种节目数据入库方法及装置,以改善上述问题。

本发明较佳实施例提供一种节目数据入库方法,该方法包括:

分别计算数据库中已存储的节目数据与当前一待入库的节目数据之间的相似度;

根据计算出的所有相似度中的最大值和预设的隶属度函数对该待入库的节目数据进行入库判定;

根据所述入库判定的结果对所述待入库的节目数据进行处理,其中,所述入库判定的结果包括入库、不入库两种判定结果。

本发明另一较佳实施例提供一种节目数据入库装置,该装置包括:

相似度计算模块,用于分别计算数据库中已存储的节目数据与当前一待入库的节目数据之间的相似度;

入库判定模块,用于根据计算出的所有相似度中的最大值和预设的隶属度函数对该待入库的节目数据进行入库判定;

节目处理模块,用于根据所述入库判定的结果对所述待入库的节目数据进行处理,其中,所述入库判定的结果包括入库、不入库两种判定结果。

本发明实施例提供的节目数据入库方法及装置,首先计算待入库的节目数据与当前数据库中已存储的节目数据之间的最大相似度,然后根据该最大相似度和预先设定的隶属度函数对上述待入库的节目数据进行入库判定。该种节目数据入库方法能够较好的解决节目数据重复入库的问题,明显减少相同节目在数据库中重复存储的现象,有效避免数据库存储空间的浪费。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例提供的一种节目存储设备的方框示意图;

图2为本发明实施例提供的一种节目数据入库方法的流程示意图;

图3为本发明实施例提供的图2中步骤S101的一种子步骤流程图;

图4为本发明实施例提供的一种预先构造的函数模型的示意图;

图5为本发明实施例提供的另一种预先构造的函数模型的示意图;

图6为本发明实施例提供的另一种预先构造的函数模型的示意图;

图7为本发明实施例提供的一种节目数据入库装置的功能模块框图。

图标:100-节目存储设备;110-节目数据入库装置;120-存储器;130-处理器;140-数据库;1102-相似度计算模块;1104-入库判定模块;1106-节目处理模块。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,是本发明实施例提供的一种节目存储设备100的方框示意图。所述节目存储设备100可以是,但不限于,智能电视、网络服务器、数据库服务器等。本发明实施例所涉及的节目数据入库方法可应用于该节目存储设备100中。

如图1所示,该节目存储设备100包括节目数据入库装置110、存储器120、处理器130以及数据库140。其中,所述节目数据入库装置110包括至少一个可以软件或固件的形式存储于所述存储器120中或固化在所述节目存储设备100的操作系统中的软件功能模块。所述存储器120和处理器130之间直接或间接地电性连接,以进行数据的传输或交互。更为具体地,所述处理器130可以用于执行存储器120中存储的可执行模块,例如所述节目数据入库装置110包括的软件功能模块或计算机程序。下述本发明任一实施例揭示的流过程定义的节目存储设备100所执行的方法可以应用于处理器130中,或者由处理器130实现。

所述数据库140用于存放节目数据。本实施例中,每一所述节目数据至少可以包括标签信息和内容信息两个部分。其中,所述标签信息可以是指节目数据中对应节目标识部分的数据,例如包括节目标题、导演、地区、演员(或歌手)中的一种或多种等。所述内容信息可以是指节目数据中对应节目内容部分的数据。所述节目数据可以是,但不限于,多媒体节目数据,如电视、电影、综艺、音乐以及动画等。本发明实施例中,该数据库140可以是位于上述存储器120中的一数据存储空间。

请参阅图2,是本发明实施例提供的一种节目数据入库方法的流程示意图。所应说明的是,本发明提供的方法不以图2及以下所述的具体顺序为限制。下面将对图2中示出的各步骤进行详细说明。

步骤S101,分别计算数据库140中已存储的节目数据与当前一待入库的节目数据之间的相似度。

本实施例中,对于一当前待入库的节目数据,需要首先分别计算出数据库140中已存储的各个节目数据与该待入库的节目数据之间的相似度。然后比较计算出的所有相似度值,获得其中的最大值。

作为一种实施方式,如图3所示,本实施例中的步骤S101可以包括如下子步骤。

子步骤S111:获取该待入库的节目数据的标签信息以及一存储在所述数据库140中的节目数据的标签信息。

可以理解的是,同一类型的多媒体节目不同的数据存储格式可能导致标签信息存储位置的不同。如以音乐节目为例,其节目数据中的标签信息可能存储于文件头,也可能存储于文件尾,甚至还可能是分别在文件头和文件尾中各存储一部分。所以,本实施例中,在获取上述两个节目数据的标签信息时,可以根据节目数据的类型、存储格式等信息判断标签信息可能的存储位置后再进行获取操作,以提高标签信息的获取效率。当在上述可能的存储位置未获取到所述标签信息时,再对节目数据进行遍历搜索。

子步骤S113:分别去除上述两个标签信息中的无效字符。

本实施方式中,所述“无效字符”主要是指预先设定的可能会对相似度的计算产生干扰的一些字符,如部分标点符号、乱码字符、连续多个空格等等。不难理解,将无效字符去除的目的是为了提高相似度计算结果的准确性。

子步骤S115:将去除无效字符后的两个标签信息进行字符匹配,根据匹配结果计算两个节目数据之间的相似度。

按照上述子步骤S111至S115描述的方法,逐一计算该待入库的节目数据与数据库140中已存储的各节目数据之间的相似度即为本实施例提供的步骤S101的一种可能实现方式。

为了更为具体的说明本实施方式中相似度的计算过程,以下述表1中的两个节目的标签信息为示例作进一步阐述,其中,节目一已存储于所述数据库140中,节目二为当前一待入库的节目数据。

表1

首先,计算两个节目标题间的相似度。先将节目一标题中的末尾句号(在该示例中为预先设定的无效字符之一)去除后,采用动态规划算法,从两个节目标题的最左侧字符开始进行依次匹配,并记录匹配结果。经统计,两个节目标题中的第5个字符不匹配,其余8个字符均匹配。所以,标题间的相似度为

其次,采用同样的方法计算两个节目导演之间的相似度。不难看出,两者之间的相似度为1。

再次,计算两个节目地区之间的相似度。同理地,两者之间的相似度也为1。

最后,根据上述两个节目标题、导演以及地区之间的相似度值,计算两个节目间的相似度。具体计算方式可以是,对标题、导演以及地区三部分标签信息分别设置权重系数,然后将上述三者的相似度值乘以各自对应的权重系数后相加,得到两个节目之间的相似度。例如,可以设置标题、导演以及地区的权重系数分别为0.8、0.1和0.1,则两个节目之间的相似度为0.889×0.8+1×0.1+1×0.1=0.9112。

接着,步骤S103,根据计算出的所有相似度中的最大值和预设的隶属度函数对该待入库的节目数据进行入库判定。

本实施例中,所述入库判定的结果可以包括入库、不入库两种形式。当待入库的节目数据被判定为入库时,则可以将该节目数据存储于数据库140中,反之,该节目数据则不能作入库处理。

关于所述预设的隶属度函数,作为一种可能的实施方式,其可以是通过对预先构造的函数模型进行参数训练所得到的。也就是说,预先构造一函数模型,然后依照选定的训练集对该函数模型中的参数进行参数训练,最后根据训练结果得到所述隶属度函数。

可以理解的是,上述预先构造的函数模型可以有多种,只要满足经参数训练后获得的隶属度函数能够根据相似度值对节目数据进行入库判定即可。

例如,在一实施方式中,所述函数模型可以包括第一函数和第二函数,经参数训练后得到的隶属度函数对应包括第一概率函数和第二概率函数。详细地,所述第一概率函数为待入库的节目数据被判定为入库的概率随相似度的变化函数,所述第二概率函数为待入库的节目数据被判定为不入库的概率随相似度的变化函数,其中,自变量“相似度”的取值为[0,1],因变量“概率”的取值同样为[0,1]。

请参照图4,作为一种示例,所述第一函数可以是:

其中,x表示自变量“相似度”,P1(x)表示因变量“被判定入库的概率”。

相对应地,所述第二函数可以是:

x表示自变量“相似度”,P2(x)表示因变量“被判定不入库的概率”。

假设基于此示例中的函数模型,某次参数训练后a1、c1、a2、c2的训练结果分别为0.08、0.75、0.61、0.93,则与该训练结果相对应的隶属度函数所包括的第一概率函数和第二概率函数依次为:

以及,

请参阅图5,作为另一种示例,所述第一函数还可以是:

相对应地,所述第二函数还可以是:

在此实施方式中,根据计算出的所有相似度中的最大值(下述简称最大相似度值)和上述隶属度函数对待入库的节目数据进行入库判定的具体过程为,将所述最大相似度值分别代入第一概率函数和第二概率函数计算相应的函数值,然后将获得的两个函数值进行比较。如果第一概率函数的函数值较大,则判定该待入库的节目数据入库;如果第二概率函数的函数值较大,则判定该待入库的节目数据不入库;如果两个函数值相等,则可以根据预先设定的针对该种情形的判定规则进行处理,例如直接判定为不入库,或者在所述最大相似度值大于等于设定阈值(如0.5)时判定为不入库,否则判定为入库。

特别的是,当第一概率函数与第二概率函数存在且仅存在一个因变量非零的交点时(如图4或图5所示),还可以采用另一种判定方法对节目数据进行入库判定。具体为,计算该交点的自变量取值,并将该取值设定为判定阈值。然后将所述最大相似度值直接与该判定阈值进行比较,若小于该阈值,则判定为入库,大于则判定为不入库,相等则可以根据预定的规则进行判定处理。

当然,如果第一概率函数与第二概率函数存在多个因变量非零的交点,上述方法也可以适用。只是在确定所述判定阈值时需要在多个交点对应的自变量取值中进行选择,而具体的选择方式又可以有多种,例如直接选定最小(或最大)的自变量取值,或者根据预定的某种加权规则进行加权换算得到判定阈值等。

作为一种优选,本实施例中,所述入库判定的结果除了入库或不入库以外,还可以包括第三种判定结果,如待定入库。

此时,所述预先构造的函数模型包括第一函数、第二函数以及第三函数。该函数模型经参数训练后得到的隶属度函数对应包括第一概率函数、第二概率函数和第三概率函数。其中,所述第一概率函数为待入库的节目数据被判定为入库的概率随相似度的变化函数,所述第二概率函数为该待入库的节目数据被判定为待定入库的概率随相似度的变化函数,所述第三概率函数为该待入库的节目数据被判定为不入库的概率随相似度的变化函数。

请参照图6,作为一种示例,所述第一函数可以是:

相对应地,所述第二函数可以是:

以及,所述第三函数可以是:

基于该示例中的函数模型,假设某次参数训练后上述第一、第二以及第三函数中的参数a1,b1,c1,a21,b21,c21,a22,b22,c22,a3,b3,c3的训练结果为0.1,0.375,0.65,0.6,0.65,0.7,0.748,0.752,0.751,0.75,0.8,0.95。将上述训练结果代入函数模型中即得到本次参数训练对应的隶属度函数。

在该优选实施方式中,根据所述最大相似度值和隶属度函数对待入库的节目数据进行入库判定的具体过程可以是,将所述最大相似度值分别代入隶属度函数包括的三个概率函数中,计算相应的函数值。然后将获得的三个函数值进行比较。若第一概率函数的函数值最大,则判定该待入库的节目数据入库;若第二概率函数的函数值最大或者该三个函数值中存在着两个相等的最大函数值时,则判定该待入库的节目数据待定入库;若所述第三概率函数的函数值最大,则判定该待入库的节目数据不入库。

或者是,在第一概率函数与第二概率函数之间存在且仅存在一个因变量非零的交点,同样地,第二概率函数与第三概率函数之间也存在且仅存在一个因变量非零的交点时,将上述两个交点的自变量取值依次设定为第一判定阈值和第二判定阈值。通常,第二判定阈值大于第一判定阈值,但并不排除在其他实施方式中,两者可以相等。然后,将所述最大相似度值与所述第一判定阈值和第二判定阈值进行比较。如果小于所述第一判定阈值,则判定该待入库的节目数据入库;若大于或等于所述第一判定阈值,且小于或等于所述第二判定阈值,则判定该待入库的节目数据待定入库;若大于所述第二判定阈值,则判定该待入库的节目数据不入库。

如果第一、第二概率函数之间和/或第二、第三概率函数之间存在多个因变量非零的交点,可以根据预设的判定阈值确定方法在多个因变量非零的交点所对应的自变量取值中确定出所述第一判定阈值和第二判定阈值,然后按照与上述相同的方法进行入库判定。

更进一步地,本实施方式中,当待入库的节目数据被判定为待定入库后,可以将该待入库的节目数据的内容信息和已存储在数据库140中的与其具有最大相似度值的节目数据的内容信息进行比对。若两个节目数据的内容信息的相似度小于设定阈值(如0.4),则判定该待入库的节目数据入库,否则,判定该待入库的节目数据不入库。当然,在其他实施方式中,也可以采取其他比对方式,并不限制于此。

此外,需要强调的一点是,对于相同的函数模型,选定的训练集不同,其对应的训练结果可能也不同,进而得到的隶属度函数也就不同。而隶属度函数又直接影响着入库判定的结果,所以,为了提高入库判定的准确率,本实施例中,对函数模型进行参数训练的方式可以是:选取当前所有待入库的节目数据中的一部分节目数据作为训练集对所述预先构造的函数模型进行参数训练,得到所述隶属度函数,然后再应用该隶属度函数对其余待入库的节目数据进行入库判定。

这里需要说明的是,通常情况下,节目数据是分批次进行入库处理的。示例性地,假设当前批次共包括一千个待入库的节目数据,则可以选择其中一部分(如一百个)节目数据构成训练集,对函数模型进行参数训练,得到隶属度函数。然后,应用该隶属度函数对剩余的九百个节目数据进行入库判定。

最后,步骤S105,根据所述入库判定的结果对所述待入库的节目数据进行处理。

本实施例中,根据判定结果对节目数据进行处理是指,如果判定结果为入库,则将节目数据存储于数据库140中;若判定结果为待定入库,则需要进行进一步的判定(如上述比对内容信息),然后根据进一步判定结果对节目数据进行处理;若判定结果为不入库,则放弃该节目数据,不进行存储操作。

如图7所示,是本发明实施例提供的一种节目数据入库装置110的功能模块框图。该装置包括相似度计算模块1102、入库判定模块1104以及节目处理模块1106。

所述相似度计算模块1102,用于分别计算数据库140中已存储的节目数据与当前一待入库的节目数据之间的相似度。

所述入库判定模块1104,用于根据计算出的所有相似度中的最大值和预设的隶属度函数对该待入库的节目数据进行入库判定。

所述节目处理模块1106,用于根据所述入库判定的结果对所述待入库的节目数据进行处理。

本实施例中的各功能模块的具体操作方法可参照上述方法实施例中相应步骤的详细描述,在此不再重复赘述。

综上所述,本发明实施例提供的节目数据入库方法及装置,是根据计算出的所述最大相似度值和对预先构造的函数模型进行参数学习得到的隶属度函数对待入库的节目数据进行入库判定,即模拟人脑的模糊逻辑思维来判断节目是否已经在数据库中存在,与现有的一些仅通过人为设定一个相似度阈值进行入库判定的技术相比,判定结果更加客观准确,极大的降低了人为主观因素的影响。应用该种节目数据入库方法能够很好的解决节目数据重复入库的问题,明显减少相同节目在数据库中重复存储的现象,有效避免数据库存储空间的浪费。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台执行设备(可以是智能电视、个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1