书籍库中相似书的挖掘、净化方法和装置的制造方法_3

文档序号:9616323阅读:来源:国知局
过滤规则的正则表达式,将电子书的章节列表中的后缀内容提取出。
[0112]更优地,考虑到章节列表中通常还包含了一些空字符,因此,在对电子书的章节列表进行预处理的过程中,还可以将章节列表中各章节标题的空字符删掉。其中,空字符可以包括:空格、制表符等。
[0113]进一步地,考虑到章节列表中通常还包含了标点符号,因此,在对电子书的章节列表进行预处理的过程中,还可以将章节列表中的标点符号去掉。
[0114]这样,通过上述空字符、标点符号、前缀过滤规则、后缀过滤规则对书籍库中电子书的章节列表进行过滤处理,将可以得到电子书的章节列表中的各章节标题。
[0115]基于上述预处理之后的电子书,本发明提供了一种书籍库中相似书的挖掘方法,如图1所示,其流程具体包括如下步骤:
[0116]S101:根据书籍库中所有电子书的书名,确定出各电子书所属的分组。
[0117]具体地,针对书籍库中的每本电子书,可以利用预设的向量化规则拆分该电子书的书名字符串,由拆分得到的各子字符串构成该电子书对应的书名向量。将拆分得到的所有子字符串进行合并去重,得到各分组的关键词。针对书籍库中的每本电子书,对于每个分组,若该电子书的书名向量中包含该分组的关键词,则将该电子书划分到该分组中。
[0118]其中,电子书的书名字符串可以通过预设的书名过滤规则对电子书的书名进行过滤处理得到。
[0119]实际应用中,通过向量化规则,可以将书名字符串中相邻的Ν个字符组成一个子字符串,之后将拆分得到的各子字符串构成该电子书对应的书名向量,其中,Ν为预设的拆分基数,可以具体为1、2、3……等正整数。
[0120]例如,以3作为拆分基数,电子书的书名字符串“异世之我是传奇”的书名向量为“异世之世之我之我是我是传是传奇”。其中,书名向量中的向量元素“异世之”、“世之我”、“之我是”、“我是传”、“是传奇”均是电子书的书名字符串拆分得到的子字符串。实际应用中,若电子书的书名字符串的书名长度小于拆分基数(比如3),则可以不进行拆分,而是将该书名字符串直接构成该电子书的书名向量。
[0121]本发明的方案中,在得到书籍库中所有电子书各自对应的书名向量之后,可以将所有电子书所对应的书名向量合并成一个向量。之后,根据合并成的向量中的向量元素进行分组,并确定各分组的关键词。
[0122]具体地,合并成的向量中的每个向量元素,可以对应一个分组,该分组的关键词即为该向量元素。例如,将三百万本书的所有书名向量合并成一个向量,合并成的向量中向量元素可能只有一百万,即合并成的向量的长度为一百万。
[0123]实际应用中,在对合并成的向量进行分组的过程中,分组的个数可以等于该合并成的向量的长度,也可以小于该合并成的向量的长度。
[0124]在完成合并成的向量的分组之后,可以将书籍库中所有的电子书进行分组划分。具体地,可以针对每本电子书,将该电子书的书名向量与各个分组的关键词进行比对,若该书名向量中包含了某个分组的关键词,则可以将该电子书划分到该分组中。实际应用中,若电子书的书名向量中包含了多个分组的关键词,因此,该电子书将被划分到多个分组中。
[0125]S102:对于每个分组,根据该分组内各电子书的章节列表,计算出该分组内各电子书之间的相似度。
[0126]本发明的方案中,两本电子书之间的相似度是通过两本书的章节列表之间的相似度来体现的。因此,对于每个分组,可以根据该分组内各电子书的章节列表,计算出该分组内各电子书之间的相似度。
[0127]实际应用中,可以以二次规划的最优化问题来计算两个章节列表之间的相似度,但是,由于二次规划的最优化问题计算过程中需要生成一个矩阵,而在大规模的书籍库中电子书的数量庞大,因此,矩阵的生成过程就会消耗很多时间,不利于挖掘速度的提高。
[0128]因此,本发明的方案中可以采用近似最优的方法,将分组内的电子书两两进行比对,得到比对的两本电子书之间的相似度,提高相似度的计算速度,从而提高相似书的挖掘速度。具体地,对于每个分组,可以针对该分组内的任意两本电子书,将该两本电子书各自的章节列表中章节标题进行比对,计算出该两本电子书之间的jaccard(杰卡德)系数,并作为两本电子书之间的相似度。
[0129]其中,章节列表的章节标题可以通过预设的章节过滤规则对电子书的章节列表进行过滤处理得到。关于jaccard系数的计算方法可以采用本领域技术人员常用的技术手段,在此不再赘述。
[0130]S103:若分组内两本电子书之间的相似度超过设定阈值,则将该两本电子书确定为书籍库中的一对相似书。
[0131]具体地,对于每个分组,通过步骤S102计算出该分组内各电子书之间的相似度之后,若分组内两本电子书之间的相似度超过设定阈值,则将该两本电子书确定为书籍库中的一对相似书。
[0132]其中,设定阈值是由本领域技术人员预先设置的,比如,该设定阈值可以设置为0.8。这样,在将分组内的电子书的章节列表进行两两比对之后,若比对的两本电子书之间的相似度超过0.8,则说明该两本电子书的章节列表相似,可以确定为该分组内的一对相似书。
[0133]本发明的方案中,在通过步骤103确定出各分组内相似度超过设定阈值的各对相似书之后,即可挖掘出了书籍库中所有的相似书。相比现有基于电子书的章节内容进行比对来挖掘相似书,本发明的方案中通过书名和章节列表的比对来挖掘相似书,在保障了相似书挖掘的准确率的同时,还可以减少挖掘工作量,提高了挖掘速度。
[0134]进一步地,本发明的方案中,在挖掘出书籍库中的相似书之后,可以基于挖掘出的相似书对书籍库进行净化处理。因此,本发明提供的书籍库中相似书的挖掘方法中,在完成步骤S103之后,还可以利用书籍库中所有分组内的相似书,构建书籍库的图模型。
[0135]其中,每对相似书为图模型中相连的两个端点。
[0136]为了便于描述,本发明的方案中,可以将书籍库中的一对相似书称为书籍库中的一个相似对。
[0137]实际应用中,在挖掘出书籍库中所有分组内的相似书之后,可以利用所有的相似对,构建图模型。在该图模型中,每个相似对将作为一条边的两个端点。这样,通过构建的图模型可以将书籍库中所有的相似对中相关联的相似对连接起来。
[0138]进而,对于构建的图模型中的每个连通分量,可以从该连通分量中选择一本电子书保留,删除其他电子书。
[0139]实际应用中,如果从一个端点到另一个端点有路径,则称这两个端点连通。而如果图中任意两个端点之间都连通,则可以称该图为连通图,否则,称该图为非连通图,则其中的极大连通子图称为连通分量,这里所谓的极大是指子图中包含的端点个数极大。
[0140]因此,本发明的方案中,在构建了图模型之后,可以确定出该图模型中存在的连通分量。实际应用中,每个连通分量其所包含的所有电子书,其针对的往往是同一本书。因此,为了降低书籍库的规模,对于图模型中确定出的每个连通分量,可以从该连通分量的内部寻找最好最完整的电子书进行保留而删除其他电子书。
[0141]例如,书籍库中挖掘出了 1万个相似对,利用这1万个相似对构建出图模型之后,若从该图模型中寻找出了 1000个连通分量,而每个连通分量中平均有10本可以互相成为一对相似书的电子书。为了降低书籍库的规模,可以从该10本电子书中寻找出最好的一本进行保留,而删除其他9本电子书。
[0142]具体地,对于每个连通分量,可以针对该连通分量中的每本电子书,将该连通分量中与该电子书相连的电子书的个数,作为该电子书的关联度;之后,选取关联度最高的电子书保留,而删除该连通分量中其他的电子书。
[0143]或者,对于每个连通分量,可以针对该连通分量中的每本电子书,将该连通分量中该电子书相连的各本电子书与该电子书之间的相似度进行累加,得到该电子书的关联度;选取关联度最尚的电子书保留。
[0144]进一步地,针对该连通分量中的每本电子书,在确定出该连通分量中与该电子书相连的电子书之后,将各本电子书与该电子书之间的相似度进行累加,并将累加的相似度除以与该电子书相连的电子书的数量,得到该电子书的平均相似度,并作为该电子书的关联度;选取关联度最尚的电子书保留。
[0145]本发明的方案中,在挖掘出书籍库中的相似书之后,还可以基于挖掘出所有分组内的相似书,构建图模型;进而针对图模型中每个连通分量,从该连通分量中选择一个电子书保留,而删除一些相似书,从而实现对书籍库进行相似书的净化处理,以此降低书籍库的规模。
[0146]基于上述书籍库中相似书的挖掘方法,本发明还提供了一种书籍库中相似书的挖掘装置,如图2a所示,该挖掘装置包括:书籍分组单元201、相似度计算单元202、以及相似书挖掘单元203。
[0147]其中,书籍分组单元201用于根据书籍库中所有电子书的书名,确定出各电子书所属的分组。
[0148]相似度计算单元202用于对于每个分组,根据该分组内各电子书的章节列表,计算出该分组内各电子书之间的相似度。
[0149]相似书挖掘单元203用于对于每个分组,若该分组内两本电子书之间的相似度超过设定阈值,则将该两本电子书确定为书籍库中的一对相似书。
[0150]进一步地,如图2b所示,本发明提供的书籍库中相似书的挖掘装置中除了包括:书籍分组单元201、相似度计算单元202、以及相似书挖掘单元203,还可以包括:预处理单元 204。
[0151]预处理单元204用于利用预设的书名过滤规则,对书籍库中所有电子书的书名进行过滤处理,得到电子书的书名字符串;利用预设的章节过滤规则,对书籍库中所有电子书的章节列表进行过滤处理,得到电子书的章节列表中的各章节标题。
[0152]其中,章节过滤规则包括如下至少之一:前缀过滤规则、后缀过滤规则。
[0153]相应地,书籍分组单元201针对书籍库中的每本电子书,可以利用预设的向量化规则拆分该电子书的书名字符串,由拆分得到的各子字符串构成该电子书对应的书名向量;将拆分得到的所有子字符串进行合并去重,得到各分组的关键词;针对书籍库中的每本电子书,对于每个分组,若该电子书的书名向量中包含该分组的关键词,则将该电子书划分到该分组中。
[0154]相似度计算单元202对于每个分组,可以针对该分组内的任意两本电子书,将该两本电子书各自的章节列表中章节标题进行比对,计算出该两本电子书之间的jaccard系数,并作为两本电子书之间的相似度。
[0155]更优地,如图2c所示,本发明提供的书籍库中相似书的挖掘装置中除了包括:书籍分组单元201、相似度计算单元202、相似书挖掘单元203、以及预处理单元204,还可以进一步包括:书籍净化单元205。
[0156]书籍净化单元205用于利用相似书挖掘单元203确定出的书籍库中所有分组内的相似书,构建书籍库的图模型;对于图模型中的每个连通分量,从连通分量中选择一本电子书保留,删除其他电子书。其中,每对相似书为图模型中相连的两个端点。
[0157]具体地,书籍净化单元205可以利用书籍库中所有分组内的相似书,构建书籍库的图模型;对于图模型中的每个连通分量,针对连通分量中的每本电子书,将连通分量中与该电子书相连的电子书的个数,作为该电子书的关联度;选取关联度最高的电子书保留,删除其他电子书。
[0158]或者,书籍净化单元205可以利用书籍库中所有分组内的相似书,构建书籍库的
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1