发明内容
本发明的目的在于提出一种高准确率的自动发现人物或者事件相关关键词的方法和装置,能够高效发现与人物或者事件相关的关键词且能够覆盖大量人物,解决了覆盖广度和高效更新的问题。
为达此目的,本发明采用以下技术方案:
一种采用互补信息的关联关键词计算方法,包括如下步骤:
构造统一的事件集合步骤S110:添加与搜索或者视频有关的记录,统计所有的记录得到事件集合,对所述事件集合中的每一条记录进行切词处理,顺序扫描已切词的文本记录,并给每一个词按照其最早出现的顺序递增的数字值,作为该词的词id,从而将每条记录转换为若干个数字表示的序列,并保存每个词和其对应的词id到词典文件;
统计词id的平均出现次数S120:遍历所述事件集合,统计每一个词id出现的次数,同一个词id在一个事件中的多次出现只算一次,统计所有词id出现的总的次数和词id的数量,得到词id的平均出现次数;
构建一级项集合步骤S130: 遍历所有词id,并找出,出现次数超过平均出现次数的词id,每个词id成为一个一级项,添加所有一级项形成一级项集合;
构建高一级项集合步骤S140:对于刚形成的上一步骤的项集合,称为原始项集合,每个原始项含有n个词id,n31,找出满足下面条件的两个原始项进行“并”运算,
所述条件为:所述两个原始项包括第一原始项和第二原始项,将所述两个原始项中各个词id按照从小到大排序,第一原始项和第二原始项的前n-1项相同,且第一原始项的第n项词id小于第二原始项的第n项词id,
对所述两个原始项进行“并”运算,得到的含有n+1项的高一级项,遍历事件集合,统计含有所述高一级项中所有词id的事件个数,如果所述事件个数超过所述平均出现次数,则保留所述高一级项,否则丢弃所述高一级项,添加保留的所有的高一级项,形成高一级项集合;
继续构建集合判断步骤S150,根据所述构建高一级项集合步骤的方法,判断能否构建更高一级项集合,如果能,则返回所述构建高一级项集合步骤S140,否则进入筛选关联规则步骤S160;
筛选关联规则步骤S160;首先定义阈值TH,用于筛选关联规则,对于得到的最终多项集合中的每个最终多项D,按照如下办法筛选得到关联规则:
所述最终多项D含有m个词id,从中取出1至m-1个词id构成多个真子集E,对于每个真子集E,在所述事件集合中分别统计含有最终多项D和所述真子集E的事件个数,分别记为Cnt(D)和Cnt(E),计算Cnt(D)/Cnt(E)得到概率值P(D|E),如果P(D|E)大于TH,则认为所述真子集能够推导出最终多项,则构成一条关联规则,并记录保存得到关联规则集合;
文本复原步骤S170:利用所述词典文件,遍历已经得到的所述关联规则集合,对每条关联规则进行文本复原,将所述真子集E和最终多项D中的各个项的词id根据词典文件查询得到原文本,并认为真子集中的词能得到最终多项中除了真子集以外的剩余的词。
优选地,在所述构造统一的事件集合步骤中,所述与搜索或者视频有关的记录包括用户查询数据,用户查询后播放视频数据,用户上传视频数据,每一次用户查询数据,每一次播放视频数据,每一次用户上传视频数据均分别作为一条记录。
优选地,对于所述构建高一级项集合步骤,当构建二级项集合时,对每个在第一级项集合中的词id,两两组合得到多个二级项,所述二级项含有两个元素,对得到的每个二级项,在所述事件集合中统计包含所述二级项的事件个数 ,如果所述事件个数超出所述平均出现次数,则保留,反之则放弃,将保留的二级项进行集合构成第二级项集合。
优选地,人工设定所述阈值TH,使得所述阈值TH所筛选出的关联规则基本反映用户查询数据与播放视频数据或者用户上传视频数据的其它文字的相关性。
优选地,在文本复原步骤中,选取只含有人名的真子集,得到人物相关的关键词。 本发明还公开了一种采用互补信息的关联关键词计算装置,包括如下单元:
统一的事件集合构造单元:添加与搜索或者视频有关的记录,统计所有的记录得到事件集合,对所述事件集合中的每一条记录进行切词处理,顺序扫描已切词的文本记录,并给每一个词按照其最早出现的顺序递增的数字值,作为该词的词id,从而将每条记录转换为若干个数字表示的序列,并保存每个词和其对应的词id到词典文件;
词id的平均出现次数统计单元:遍历所述事件集合,统计每一个词id出现的次数,同一个词id在一个事件中的多次出现只算一次,统计所有词id出现的总的次数和词id的数量,得到词id的平均出现次数;
一级项集合构建单元: 遍历所有词id,并找出,出现次数超过平均出现次数的词id,每个词id成为一个一级项,添加所有一级项形成一级项集合;
高一级项集合构建单元:对于刚形成的上一单元的项集合,称为原始项集合,每个原始项含有n个词id,n31,找出满足下面条件的两个原始项进行“并”运算,
所述条件为:所述两个原始项包括第一原始项和第二原始项,将所述两个原始项中各个词id按照从小到大排序,第一原始项和第二原始项的前n-1项相同,且第一原始项的第n项词id小于第二原始项的第n项词id,
对所述两个原始项进行“并”运算,得到的含有n+1项的高一级项,遍历事件集合,统计含有所述高一级项中所有词id的事件个数,如果所述事件个数超过所述平均出现次数,则保留所述高一级项,否则丢弃所述高一级项,添加保留的所有的高一级项,形成高一级项集合;
继续构建集合判断单元,根据所述高一级项集合构建单元,判断能否构建更高一级项集合,如果能,则返回所述高一级项集合构建单元,否则进入关联规则筛选单元;
关联规则筛选单元;首先定义阈值TH,用于筛选关联规则,对于得到的最终多项集合中的每个最终多项D,按照如下筛选得到关联规则:
所述最终多项D含有m个词id,从中取出1至m-1个词id构成多个真子集E,对于每个真子集E,在所述事件集合中分别统计含有最终多项D和所述真子集E的事件个数,分别记为Cnt(D)和Cnt(E),计算Cnt(D)/Cnt(E)得到概率值P(D|E),如果P(D|E)大于TH,则认为所述真子集能够推导出最终多项,则构成一条关联规则,并记录保存得到关联规则集合;
文本复原单元:利用所述词典文件,遍历已经得到的所述关联规则集合,对每条关联规则进行文本复原,将所述真子集E和最终多项D中的各个项的词id根据词典文件查询得到原文本,并认为真子集中的词能得到最终多项中除了真子集以外的剩余的词。
优选地,在所述统一的事件集合构造单元中,所述与搜索或者视频有关的记录包括用户查询数据,用户查询后播放视频数据,用户上传视频数据,每一次用户查询数据,每一次播放视频数据,每一次用户上传视频数据均分别作为一条记录。
优选地,对于所述高一级项集合构建单元,当构建二级项集合时,对每个在第一级项集合中的词id,两两组合得到多个二级项,所述二级项含有两个元素,对得到的每个二级项,在所述事件集合中统计包含所述二级项的事件个数 ,如果所述事件个数超出所述平均出现次数,则保留,反之则放弃,将保留的二级项进行集合构成第二级项集合。
优选地,人工设定所述阈值TH,使得所述阈值TH所筛选出的关联规则基本反映用户查询数据与播放视频数据或者用户上传视频数据的其它文字的相关性。
优选地,在文本复原单元中,选取只含有人名的真子集,得到人物相关的关键词。
因此,本发明综合互补用户查询和用户查询后播放视频以及用户上传数据的优点,避免了使用单一数据源得到的有倾向性的人物相关关键词结果。加入用户查询后播放数据可以得到用户真实感兴趣的关键词,加入用户上传数据可以避免出现用户不知道搜索哪些关键词的问题,通过调高事件和关联规则的阈值,可以得到比较高的准确率。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
本发明以用户查询数据为主体,将查询后播放数据和用户上传视频数据补充到查询数据中,得到统一的事件集合。使用关联规则算法从事件集合中找出人物、事件相关的关联规则。最后从关联规则中解析出关联关键词。
实施例1:
参见图1,公开了根据本发明的采用互补信息的关联关键词计算方法的流程图。所述关联关键词计算方法包括如下步骤:
构造统一的事件集合步骤S110:添加与搜索或者视频有关的记录,统计所有的记录得到事件集合,对所述事件集合中的每一条记录进行切词处理,顺序扫描已切词的文本记录,并给每一个词按照其最早出现的顺序递增的数字值,作为该词的词id,例如,可以从1开始的顺序递增的数字值,从而将每条文本记录就转换为若干个数字表示的序列,并保存每个词和其对应的词id,例如将每个词和其对应的词id到词典文件。
优选的,所述与搜索或者视频有关的记录包括用户查询数据,用户查询后播放视频数据,用户上传视频数据,每一次用户查询数据,每一次播放视频数据,每一次用户上传视频数据均分别作为一条记录。
统计词id的平均出现次数S120:遍历所述事件集合,统计每一个词id出现的次数,同一个词id在一个事件中的多次出现只算一次,统计所有词id出现的总的次数和词id的数量,得到词id的平均出现次数。
构建一级项集合步骤S130: 遍历所有词id,并找出,出现次数超过平均出现次数的词id,每个词id成为一个一级项,添加所有一级项形成一级项集合;
构建高一级项集合步骤S140:对于刚形成的上一步骤的项集合,称为原始项集合,每个原始项含有n个词id,n31,找出满足下面条件的两个原始项进行“并”运算,即相当于逻辑运算的“或”运算,
所述条件为:所述两个原始项包括第一原始项和第二原始项,例如第一原始项A和第二原始项B,中各个词id按照从小到大排序,第一原始项A和第二原始项B的前n-1项相同,且第一原始项A的第n项词id小于第二原始项B的第n项词id,
对所述两个原始项进行“并”运算,得到的含有n+1项的高一级项C,遍历事件集合,统计含有所述高一级项C中所有词id的事件个数,如果所述事件个数超过所述平均出现次数,则高一级项C保留,否则丢弃;
添加保留的所有的高一级项,即n+1级的项,形成高一级项集合,即第n+1级项集合;
特别的,当构建二级项集合时,对每个在第一级项集合中的词id,两两组合得到若干二级项,所述二级项含有两个元素,对得到的每个二级项,在所述事件集合中统计包含所述二级项的事件个数 ,如果所述事件个数超出所述平均出现次数,则保留,反之则放弃,将保留的二级项进行集合构成第二级项集合;
特别说明,在本发明中,为了配合构建二级项集合的特殊情况,在构建高一级项集合步骤S140,当n=1时,n-1=0,可以认为各个原始项的第0项词均相同,均视为满足条件。因此,在构建二级项集合的时候,各个一级项直接进行了“并”运算,而在构建其他的高一级项集合的时候,只有前n-1项词相同,才能进行“并”运算。
继续构建集合判断步骤S150,根据所述构建高一级项集合步骤的方法,判断能否构建更高一级项集合,即有没有两个原始项能够构建出更高一级项,并且所述更高一级项在所述事件集合中出现的事件个数超出所述平均出现次数,如果能,则返回所述构建高一级项集合步骤S140,否则进入筛选关联规则步骤S160;
筛选关联规则步骤S160;首先定义阈值TH,用于筛选关联规则,对于得到的最终多项集合中的每个最终多项,按照如下办法筛选得到关联规则:
所述最终多项D含有m个词id,从中取出1至m-1个词id构成若干个真子集E,对于每个真子集E,在所述事件集合中分别统计含有最终多项D和所述真子集E的事件个数,分别记为Cnt(D)和Cnt(E),计算Cnt(D)/Cnt(E)得到概率值P(D|E),如果P(D|E)大于TH,则认为所述真子集能够推导出最终多项,则构成一条关联规则,并记录保存得到关联规则集合。
优选地,人工设定所述阈值TH,使得所述阈值TH所筛选出的关联规则基本反映用户查询数据,即查询串,与播放视频数据或者用户上传视频数据的其它文字的相关性。
文本复原步骤S170:利用所述词典文件,遍历已经得到的所述关联规则集合,对每条关联规则进行文本复原,将所述真子集E和最终多项D中的各个项的词id根据词典文件查询得到原文本,并认为真子集中的词能得到最终多项中除了真子集以外的剩余的词。
优选地,选取只含有人名的真子集,则得到正确识别人物相关的关键词。
当然,也可以选取包含事件的真子集,得到与事件相关的关键词。
通常地,在文本复原时,应当去除符号文本。
因此,本发明综合了互补用户查询和用户查询后播放以及用户上传数据的优点,避免了使用单一数据源得到的有倾向性的人物相关关键词结果。加入用户查询后播放数据可以得到用户真实感兴趣的关键词,加入用户上传数据可以避免出现用户不知道搜索哪些关键词的问题,通过调高事件和关联规则的阈值,可以得到比较高的准确率。
实施例2:
在本实施例中,公开了根据实施例1的关联关键词计算方法的具体示例:
根据用户查询、用户查询后播放、用户上传三类数据,共五条事件,综合并切词后得到:
事件1:郭德纲(1)
事件2:郭德纲(1) 最新(2) 相声(3)
事件3:郭德纲(1) 于谦(4) 2013(5) 最新(2) 相声(3) 《(6) 你是流氓兔(7) 》(8)
事件4:郭德纲(1) 于谦(4) 2013(5) 最新(2) 相声(3) 《(6) 打火鸡(9) 》(8)
事件5:郭德纲(1) 于谦(4) 相声(3) 《(6) 怯富贵(10) 》(8)
每个词后面圆括号中的数字代表分配给该词的id,这里一共有10个词id,所有词出现的总数为26,平均每个词出现2.6次,定义后面所用阈值为2.6。
得到的事件集合表示为:
{{1},{1,2,3},{1,2,3,4,5,6,7,8},{1,2,3,4,5,6,8,9},{1,3,4,6,8,10}}
首先找出一级频次项集,统计各个词出现的次数:
可见,词id 1、2、3、4、6、8的次数大于阈值2.6,作为一级项集,表示为{{1}, {2},{3},{4},{6},{8}},
然后开始构造二级项集合,可能构成的二级项包括:
{
{1,2}, {1,3}, {1,4}, {1,6}, {1,8},
{2,3},{2,4},{2,6},{2,8},
{3,4},{3,6},{3,7},
{4,6},{4,8},
{6,8}
}
该二级项集合中各个二项集合在事件中出现的频次为:
因为二级项{2,4},{2,6},{2,8},{3,7}的次数低于阈值2.6,需要删除, 得到二级项集合为:
{
{1,2}, {1,3}, {1,4}, {1,6}, {1,8},
{2,3},
{3,4},{3,6},
{4,6},{4,8},
{6,8}
}
接着构造三级项集合,可能得到的三级项集包括:
{
{1,2,3},{1,2,4},{1,2,6},{1,2,8},
{1,3,4},{1,3,6},{1,3,8},
{1,4,6},{1,4,8},
{1,6,8},
{3,4,6},
{4,6,8},
}
这里从二级项得到三级项的方法是,对每两个二级项,例如{3,4}和{3,6},对每个二级项里的元素采用id值进行排序,(这里已经是排序的),得到{3,4}和{3,6},因为这两个二级项的前n-1(2-1=1)项相同,且前者的第二个值4小于后者的第二个值6,因此可以得到三级项{3,4,6},而对于两个二级项{3,4}和{4,8}(两者内部已按照id排序),因为{3,4}和{4,8}的前n-1项(2-1=1)不同,所以不能合并得到{3,4,8}。
统计三级项出现的频次得到:
但是因为三级项{1,2,4},{1,2,6},{1,2,8}的次数少于阈值2.6,因此得到三级项集合为:
{
{1,2,3},
{1,3,4},{1,3,6},{1,3,8},
{1,4,6},{1,4,8},
{1,6,8},
{3,4,6},
{4,6,8},
}
接着构造四级项集合,可能得到的四级项集合包括:
{
{1,3,4,6},{1,3,4,8},{1,3,6,8},
{1,4,6,8},
}
而且这些四级项出现的事件次数都大于阈值2.6。
继续构造五级项集合,可能得到的五级项包括:
{
{1,3,4,6,8},
}
这唯一一个五级项出现的事件次数为3大于阈值2.6,同时也不能继续得到更高级别的项集合。所以该五级项为最终项。
构造该最终项的真子集,其集合为:
{
{1},{3},{4},{6},{8},
{1,3},{1,4},{1,6},{1,8},
{3,4},{3,6},{3,8},
{4,6},{4,8},
{6,8},
{1,3,4},{1,3,6},{1,3,8},
{1,4,6},{1,4,8},
{1,6,8},
{3,4,6},{3,4,8},
{4,6,8},
{1,3,4,6},{1,3,4,8},{1,4,6,8},{3,4,6,8},
}
这些真子集在事件集合中出现的频次分别为:
其真子集{1}出现了5次,则
P({1,3,4,6,8}|{1}) = 3/5 = 0.6。
设定阈值TH为0.55,则该关联规则有效。根据词典翻译成文字得到
{郭德纲}->{郭德纲,相声,于谦,《,》}
即与郭德纲关联的关键词为“相声”、“于谦”。书名号《》被符号规则过滤掉。
如果设定阈值TH为0.7,根据各个子集的频次,可以看到只有{1}->{1,3,4,6,8}没有达到阈值,即有效的关联规则为除去{1}->{1,3,4,6,8} 之外的所有规则。
对子集进行文本恢复,选出其中只含有人名的子集(即含有词1-郭德纲、词4-于谦),得到:
{4}->{1,3,4,6,8}
{1,4}->{1,3,4,6,8}
这样两条规则,文本表示为:
1、{于谦}->{郭德纲,相声,于谦,《,》}
2、{郭德纲,于谦}->{郭德纲,相声,于谦,《,》}
可以理解为,
人物“于谦”关联的关键词为“郭德纲”、“相声”。
人物组合{“郭德纲”+“于谦”}关联的关键词为“相声”。
可以看到经过关联规则计算,能够比较正确地识别人物相关的关键词。
以上仅仅示例只含人名的子集,也可以选取包含事件的子集,其效果,本领域技术人员应当知道,也能够正确地识别事件相关的关键词。
实施例3:
本发明还公开了一种采用互补信息的关联关键词计算装置,包括如下单元:
统一的事件集合构造单元210:添加与搜索或者视频有关的记录,统计所有的记录得到事件集合,对所述事件集合中的每一条记录进行切词处理,顺序扫描已切词的文本记录,并给每一个词按照其最早出现的顺序递增的数字值,作为该词的词id,从而将每条记录转换为若干个数字表示的序列,并保存每个词和其对应的词id到词典文件;
词id的平均出现次数统计单元220:遍历所述事件集合,统计每一个词id出现的次数,同一个词id在一个事件中的多次出现只算一次,统计所有词id出现的总的次数和词id的数量,得到词id的平均出现次数;
一级项集合构建单元230: 遍历所有词id,并找出,出现次数超过平均出现次数的词id,每个词id成为一个一级项,添加所有一级项形成一级项集合;
高一级项集合构建单元240:对于刚形成的上一单元的项集合,称为原始项集合,每个原始项含有n个词id,n31,找出满足下面条件的两个原始项进行“并”运算,
所述条件为:所述两个原始项包括第一原始项和第二原始项,将所述两个原始项中各个词id按照从小到大排序,第一原始项和第二原始项的前n-1项相同,且第一原始项的第n项词id小于第二原始项的第n项词id,
对所述两个原始项进行“并”运算,得到的含有n+1项的高一级项,遍历事件集合,统计含有所述高一级项中所有词id的事件个数,如果所述事件个数超过所述平均出现次数,则保留所述高一级项,否则丢弃所述高一级项,添加保留的所有的高一级项,形成高一级项集合;
继续构建集合判断单元250,根据所述高一级项集合构建单元,判断能否继续构建更高一级项集合,如果能,则返回所述高一级项集合构建单元,否则进入关联规则筛选单元;
关联规则筛选单元260;首先定义阈值TH,用于筛选关联规则,对于得到的最终多项集合中的每个最终多项D,按照如下筛选得到关联规则:
所述最终多项D含有m个词id,从中取出1至m-1个词id构成多个真子集E,对于每个真子集E,在所述事件集合中分别统计含有最终多项D和所述真子集E的事件个数,分别记为Cnt(D)和Cnt(E),计算Cnt(D)/Cnt(E)得到概率值P(D|E),如果P(D|E)大于TH,则认为所述真子集能够推导出最终多项,则构成一条关联规则,并记录保存得到关联规则集合;
文本复原单元270:利用所述词典文件,遍历已经得到的所述关联规则集合,对每条关联规则进行文本复原,将所述真子集E和最终多项D中的各个项的词id根据词典文件查询得到原文本,并认为真子集中的词能得到最终多项中除了真子集以外的剩余的词。
优选地,在所述统一的事件集合构造单元中,所述与搜索或者视频有关的记录包括用户查询数据,用户查询后播放视频数据,用户上传视频数据,每一次用户查询数据,每一次播放视频数据,每一次用户上传视频数据均分别作为一条记录。
优选地,对于所述高一级项集合构建单元,当构建二级项集合时,对每个在第一级项集合中的词id,两两组合得到多个二级项,所述二级项含有两个元素,对得到的每个二级项,在所述事件集合中统计包含所述二级项的事件个数 ,如果所述事件个数超出所述平均出现次数,则保留,反之则放弃,将保留的二级项进行集合构成第二级项集合。
其中,人工设定所述阈值TH,使得所述阈值TH所筛选出的关联规则基本反映用户查询数据与播放视频数据或者用户上传视频数据的其它文字的相关性。
优选地,在文本复原单元中,选取只含有人名的真子集,得到人物相关的关键词。
显然,本领域技术人员应该明白,上述的本发明的各单元或各步骤可以用通用的计算装置来实现,它们可以集中在单个计算装置上,可选地,他们可以用计算机装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施方式仅限于此,对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单的推演或替换,都应当视为属于本发明由所提交的权利要求书确定保护范围。