本发明专利技术公开了一种图书交叉阅读方法。图书交叉阅读推荐技术本质上是一种基于文档的检索,即将一个文档作为查询,去检索语义相似的其他文档,图书交叉阅读推荐技术首先将每个图书章节通过语义相似敏感哈希算法生成文档指纹,并保证两个语义相似的图书章节的文档指纹其海明距离也相近,然后将文档指纹和图书元数据、章节标题等异构信息统一建立索引,最后基于用户的访问日志和图书元数据信息,重排序候选推荐文档。本发明专利技术将图书章节投影到语义相关的文档指纹中,并将文档指纹、元数据信息、章节标题、用户点击等异构信息融入到统一索引中,基于用户的阅读章节,快速有效地推荐语义相关的其他章节,辅助用户对图书内容的理解、实现交叉阅读。
【技术实现步骤摘要】
图书交叉阅读方法
本专利技术涉及图书内容检索方法,尤其涉及一种图书交叉阅读方法。
技术介绍
随着数字图书馆的日益发展,用户在阅读图书时,希望能够阅读与当前内容相关的其他图书章节,迫切希望数字图书馆中能够提供一种图书交叉阅读推荐服务。图书交叉阅读本质上是一种基于文档的查询(querybydocument),即将一个文档作为查询(query),去检索内容相似的其他文档。传统的文本检索系统一般设计为基于关键词的检索,也就是查询词一般较短。如果直接采用传统的文本检索方法,则性能会下降。比如,如果采用倒排索引的方法,那么由于查询文档中含有较多的词汇,于是合并每个词汇的检索结果需要耗费较长的时间。文档也可以表达成高维向量,于是querybydocument可以转化为高维向量的检索问题。哈希方法已在高维向量的检索中被广泛使用。比如,相似度哈希算法可以将相似的文档投影为相似的指纹(即,压缩的二进制码),可用于文档相似检测和检索。然而,在相似度哈希算法中,所有的单词被同等看待,而不考虑单词的语义信息。然而,文档的单词可以被分为文档相关单词、主题相关单词以及背景单词。一般而言,越能反映文档语义的单词越重要,所以需要把这些信息也融入到文档指纹中,使得文档指纹更加能反映主题。此外,即使把图书章节都转化为了二进制码形式的文档指纹,从海量的文档指纹中查找相似的文档也是个极大的挑战。假设每本书有50个章节(以小节为单位),则100万册图书可形成5000万个指纹,传统采用线性扫描的文档指纹检索方式将不再适用。另外,除了文档内容外,图书的元数据信息、章节标题、用户的点击等信息在文档相似检索中也非常有用。但是很难将这些异构的信息融入到同一个索引中进行统一检索。在图书交叉阅读中,不仅需要将图书章节投影到语义相关的指纹中,还需要将文档指纹、元数据信息、章节标题、用户点击等信息融入到了同一个索引中。
技术实现思路
本专利技术的目的是为克服上述现有方法未能考虑文档单词的语义性,不能有效检索海量哈希编码等缺点,提供一种图书交叉阅读方法。本专利技术解决其技术问题采用的技术方案如下:图书交叉阅读方法的步骤如下:(1)构建图书章节指纹:融合图书章节特征向量和图书类别特征向量,为图书的每个章节构建主题敏感向量,然后再用相似度哈希算法构建图书章节指纹;(2)构建统一索引:将图书章节指纹转变为语义单词集合,并用全文检索方法为语义单词集合、图书章节名称、图书分类信息建立统一索引;(3)图书章节推荐:依据图书章节间的距离,为用户推荐相关图书章节,并基于用户的访问行为,利用流形排序算法进行重排序。所述的步骤(1)包括:2.1对于所有的图书,根据目录将一本图书拆分为章节集合,每个章节作为一个文档进行保存,同时将章节的名称、图书的名称、图书的分类信息作为章节的元数据保存;2.2对所有的章节进行自然语言处理,通过分词、词性标注、停用词去除和词组检测步骤提取章节包含的名词和名词短语,将章节转变为单词的集合;2.3根据章节所在图书的分类,构建每个分类的章节集合,分别计算每个章节中所有单词的tfidf(t,d)值和每个分类中所有单词的tfidf(t,c)值:tfidf(t,d)=tf(t,d)*idf(t,D),d∈Dtfidf(t,c)=tf(t,c)*idf(t,C),c∈C其中tf(t,d)是指单词t在文档d中出现的次数,idf(t,D)被称为逆文档频率,可以由总文档数目|D|除以包含单词t的文档的数目,再将得到的商取对数,tf(t,c)是指单词t在分类c中出现的次数,idf(t,C)则可以由总分类数|C|除以包含单词t的分类的数目,再将得到的商取对数,当tfidf(t,c)大时,表示单词t在分类c中常出现,而在其他的分类中则不常出现,此时单词t被认为是分类c的主题相关词,当tfidf(t,d)大而tfidf(t,c)小时,则单词t被认为是文档d的文档相关词,而tfidf(t,d)小时,则单词t被认为是背景单词或停用词;选择tfidf(t,c)大于阈值δ的单词作为类别的主题相关词,即T(c)={t|tfidf(t,c)>δ,c∈C},其中δ∈[0,1);文档特征向量用表示,其中wi(d)表示文档主题相关词的tfidf(t,d)值,类别特征向量用表示,其中wi(c)表示类别主题相关词的tfidf(t,c)值,最后根据和调节文档向量为d′→={w′1(d),w′2(d),...,w′N(d)},]]>其中wi′(d)=wi(d)*wi(c);]]>2.4构建图书章节指纹F的相似度哈希算法的步骤包括:首先输入文档d的特征向量并初始化向量V,向量V每个元素置为零,然后对于文档d中的每个单词wi,应用哈希函数θ,得到向量对于中的每个元素如果那么否则最后处理完文档d中的所有单词后,对于所有的{i=1……l},l是向量V的长度,如果Vi>0,那么Fi=1,否则Fi=0。所述的步骤(2)包括:3.1对一个长度为z的文档指纹F,分割为m个子串,每个子串的长度是z/m,每个子串标识为p1,p2,…,pm;3.2通过翻转pi的第j位,获得新的子串其中πj是第j位的位置,子串的权重是其中τ∈[0,1);3.3通过公式I(pi)=v(pi)+(i-1)*2f/m和将子串pi和转换为整数,其中v(pi)和分别是二进制子串pi和的相应的十进制数值;3.4返回语义单词及其权重:3.5将语义单词集合S和章节标题、图书分类信息通过倒排索引技术统一索引到同一个索引文件中。所述步骤(3)包括:4.1系统从统一索引中返回K个相似文档,记为候选文档D={d1,d2,…dK},其中d1是查询文档,两个文档间的距离用d(di,dj)=α*hamming_dist(di,dj)+(1-α)*cos_dist(di,dj)计算,其中hamming_dist(di,dj)表示两文档之间的海明距离,cos_dist(di,dj)表示两文档元数据之间的距离,其中α∈[0,1);4.2根据用户的点击日志,每个文档可以被其它的文档表示为:其中Di是文档di被点击过的文档集合,其中wj是被文档点击的次数,归一化权重为这里M是所有的文档数,Mj是其Di中含有的文档的个数,文档di可被表示为:两个文档di和dj的点击相似度则为:4.3计算关联矩阵W,元素Wij=exp(-d2(di,dj)/2σ2)*(1+Rij),Wii=0,其中σ∈[0,1),然后,对称规范化矩阵W得到矩阵S,其中D是对角矩阵,其元素(i,i)等于矩阵S第i行的行和;4.4通过流行排序算法对候选文档排序:输入返回的前K个相似文档的初始排序向量y=[y1,y2,…,yK]T,其中y1=1,其他元素为零,并定义排序函数f=[f1,f2,…fK]T,随机初始化该排序函数f,迭代计算f(t+1)=α*S*f(t)+(1-α)*y直至收敛,其中α∈[0,1),最后通过收敛的f,对文档进行排序。本专利技术方法与现有技术相比具有的有益效果:1.该方法融合图书章节特征向量和图书类别特征向量,将图书章节的主题信息编码到图书章节指纹中,使得图书章节指纹更加准确;2.该方法能将图书章节指纹和图书元数据本文档来自技高网...
【技术保护点】
一种图书交叉阅读方法,其特征在于包括它的步骤如下:(1)构建图书章节指纹:融合图书章节特征向量和图书类别特征向量,为图书的每个章节构建主题敏感向量,然后再用相似度哈希算法构建图书章节指纹;(2)构建统一索引:将图书章节指纹转变为语义单词集合,并用全文检索方法为语义单词集合、图书章节名称、图书分类信息建立统一索引;(3)图书章节推荐:依据图书章节间的距离,为用户推荐相关图书章节,并基于用户的访问行为,利用流形排序算法进行重排序。
【技术特征摘要】
1.一种图书交叉阅读方法,其特征在于包括它的步骤如下:(1)构建图书章节指纹:融合图书章节特征向量和图书类别特征向量,为图书的每个章节构建主题敏感向量,然后再用相似度哈希算法构建图书章节指纹;(2)构建统一索引:将图书章节指纹转变为语义单词集合,并用全文检索方法为语义单词集合、图书章节名称、图书分类信息建立统一索引;(3)图书章节推荐:依据图书章节间的距离,为用户推荐相关图书章节,并基于用户的访问行为,利用流形排序算法进行重排序;所述的步骤(1)具体包括:2.1对于所有的图书,根据目录将一本图书拆分为章节集合,每个章节作为一个文档进行保存,同时将章节的名称、图书的名称、图书的分类信息作为章节的元数据保存;2.2对所有的章节进行自然语言处理,通过分词、词性标注、停用词去除和词组检测步骤提取章节包含的名词和名词短语,将章节转变为单词的集合;2.3根据章节所在图书的分类,构建每个分类的章节集合,分别计算每个章节中所有单词的tfidf(t,d)值和每个分类中所有单词的tfidf(t,c)值:tfidf(t,d)=tf(t,d)*idf(t,D),d∈Dtfidf(t,c)=tf(t,c)*idf(t,C),c∈C其中tf(t,d)是指单词t在文档d中出现的次数,idf(t,D)被称为逆文档频率,由总文档数目|D|除以包含单词t的文档的数目,再将得到的商取对数计算得到,tf(t,c)是指单词t在分类c中出现的次数,idf(t,C)则由总分类数|C|除以包含单词t的分类的数目,再将得到的商取对数计算得到;当tfidf(t,c)大时,表示单词t在分类c中常出现,而在其他的分类中则不常出现,此时单词t被认为是分类c的主题相...
【专利技术属性】
技术研发人员:鲁伟明,杨善松,魏宝刚,庄越挺,
申请(专利权)人:浙江大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。