发明名称 基于图书阅读行为的图书章节摘要生成方法
摘要 本发明公开了一种基于图书阅读行为的图书章节摘要生成方法。基于图书阅读行为的图书章节摘要生成技术本质上是一种文档摘要生成技术,即将用户阅读行为加入文档摘要生成之中,并且应用于工程科教图书资源上。本发明首先采用图书页面量化阅读行为评分机制计算图书章节中每页书页的权重大小,然后将图书章节按句子分割,句子之间的相似度按距离计算并将已有的句子权重值按流行结构传播,最后基于数据重构的思想挑选出最能够代表图书章节内容的句子作为图书章节摘要。本发明将用户阅读行为收集,用于对图书书页的重要性评价中,通过基于数据重构的文档摘要生成思想得到对应的图书章节摘要,进而辅助用户快速了解图书章节内容,提高图书阅读效率。
申请公布号 CN103885935B 申请公布日期 2016.06.29
申请号 CN201410090143.6 申请日期 2014.03.12
申请人 浙江大学 发明人 鲁伟明;安文佳;吴江琴;庄越挺
分类号 G06F17/27(2006.01)I 主分类号 G06F17/27(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 张法高
主权项 一种基于图书阅读行为的图书章节摘要生成方法,其特征在于它的步骤如下:1)构建图书页面量化阅读行为评分机制:将用户阅读行为按阅读深度由浅到深分为四个层次,分别是浏览层次、收藏层次、浅度阅读层次和深度阅读层次,基于这四个层次得到基于用户阅读行为的图书页面评分机制;2)句子权重值传播:通过步骤1)的基于用户阅读行为的图书页面评分机制得到图书书页量化得分,将图书章节按句子分割,图书书页量化得分会赋予每个句子初始的权重值,基于句子之间的距离,利用数据流行结构上的排序算法进行句子权重值的传播;3)图书章节摘要生成:句子权重值得到传播后,将句子权重值加入基于数据重构的文档摘要生成算法中,从图书章节中挑选重要句子作为章节摘要;所述的步骤1)具体为:2.1将用户阅读某页的行为划分为四个层次,分别是浏览层次、收藏层次、浅度阅读层次和深度阅读层次,不同层次对书页有不同的得分贡献;2.2使用留存率、流失率和评分指数衰减来衡量阅读到达某个层次的难度,以此来进行评分,图书页面用户留存率是指对于某图书页面来讲,相对于浏览时的用户数,进行到收藏、浅度阅读和深度阅读的留存用户数的比例,图书页面用户流失率是指对于上一步留存用户数,这一步所减少的用户数的比例,建立基于用户阅读行为的评分公式:V<sub>i</sub>=[(p<sub>i</sub>+q<sub>i</sub>)/p<sub>i</sub>]exp(1‑p<sub>i</sub>)   i=1,2,3,4图书页面用户留存率公式:p<sub>i</sub>=U<sub>i</sub>/U<sub>1</sub>   i=1,2,3,4图书页面用户流失率公式:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>q</mi><mi>i</mi></msub><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><msub><mi>U</mi><mi>i</mi></msub><mo>/</mo><msub><mi>U</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow></msub></mrow></mtd><mtd><mrow><mi>i</mi><mo>=</mo><mn>2</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>4</mn></mrow></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000963824770000011.GIF" wi="613" he="119" /></maths>其中:V<sub>i</sub>为整个用户群体的阅读行为第i步对图书某页的得分贡献;p<sub>i</sub>为第i步相对于浏览的留存率;q<sub>i</sub>为第i步相对于第i‑1步的流失率;U<sub>i</sub>为进行到第i步的用户数;2.3图书页面访问时间有先后之分,越先访问并标注该图书页面的用户对该页面的贡献越大,基于图书页面关键行为节点的评分机制计算图书页面的重要程度,图书页面的重要程度的综合评分公式如下:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>s</mi><mi>j</mi></msub><mo>=</mo><mfrac><mrow><msub><mi>&Sigma;</mi><mrow><mi>u</mi><mo>&Element;</mo><msub><mi>R</mi><mi>j</mi></msub></mrow></msub><msub><mi>W</mi><mrow><mi>u</mi><mi>j</mi></mrow></msub><mo>&times;</mo><msub><mi>S</mi><mrow><mi>u</mi><mi>j</mi></mrow></msub></mrow><mrow><msub><mi>&Sigma;</mi><mrow><mi>u</mi><mo>&Element;</mo><msub><mi>R</mi><mi>j</mi></msub></mrow></msub><msub><mi>W</mi><mrow><mi>u</mi><mi>j</mi></mrow></msub></mrow></mfrac></mrow>]]></math><img file="FDA0000963824770000021.GIF" wi="468" he="159" /></maths><maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>W</mi><mrow><mi>u</mi><mi>j</mi></mrow></msub><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><msub><mi>log</mi><mn>2</mn></msub><mrow><mo>(</mo><msub><mi>T</mi><mi>j</mi></msub><mo>/</mo><mo>(</mo><mrow><msub><mi>t</mi><mrow><mi>u</mi><mi>j</mi></mrow></msub><mo>-</mo><msub><mi>t</mi><mi>j</mi></msub></mrow><mo>)</mo><mo>)</mo></mrow></mrow></mtd><mtd><mrow><msub><mi>t</mi><mrow><mi>u</mi><mi>j</mi></mrow></msub><mo>&NotEqual;</mo><msub><mi>t</mi><mi>j</mi></msub></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>log</mi><mn>2</mn></msub><msub><mi>T</mi><mi>j</mi></msub></mrow></mtd><mtd><mrow><msub><mi>t</mi><mrow><mi>u</mi><mi>j</mi></mrow></msub><mo>=</mo><msub><mi>t</mi><mi>j</mi></msub></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000963824770000022.GIF" wi="853" he="143" /></maths><maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msub><mi>S</mi><mrow><mi>u</mi><mi>j</mi></mrow></msub><mo>=</mo><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>L</mi></msubsup><msub><mi>V</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub></mrow>]]></math><img file="FDA0000963824770000023.GIF" wi="335" he="135" /></maths>上述式子中:s<sub>j</sub>为图书第j页的评分值;W<sub>uj</sub>为用户u对图书第j页的贡献权重;T<sub>j</sub>为图书第j页被访问时间的总和;t<sub>uj</sub>为用户u对图书第j页的第一次访问的时间;t<sub>j</sub>为图书第j页第一次被访问的时间;S<sub>uj</sub>为用户u对图书第j页所到达的关键行为步骤的评分值之和,V<sub>ij</sub>为用户u对图书第j页所达到第i步关键行为步骤的评分值;L为用户u阅读图书第j页所到达的深度及关键步骤数,R<sub>j</sub>表示访问图书第j页的用户集合;2.4根据以上评分机制的方法能够对图书每一页在书中的重要性给出量化的评分,因为图书阅读群体的差异性,为了避免图书书页评分因访问用户数少而评分高的现象,在实际的书页评价过程中,对访问用户数和评分进行归一化处理,得到了最终的图书页面的综合评分公式如下:<img file="FDA0000963824770000024.GIF" wi="1374" he="93" />上式中:u<sub>j</sub>为图书页面j的浏览用户数,s<sub>j</sub>为对图书页面j的评分,PageScore<sub>j</sub>为图书书页的评分,利用与平均值比较的方法可知,只有浏览图书页面的用户数和读者对该页面的评分值都很高的时候,综合评分才会高,根据用户阅读行为在图书阅读中的特点,建立基于用户阅读行为的图书页面重要程度评价体系,通过图书页面阅读的四个层次量化用户行为,通过计算四个层次的评价贡献值来定义用户从浏览层次到深度阅读层次到达的难度,最终通过图书页面上用户群体的阅读行为来计算量化该页面的重要性;所述的步骤2)具体为:3.1在步骤1)中给出了图书页面j的得分PageScore<sub>j</sub>,这个得分反映了页面j在图书中的重要性,同时需要考虑被划句子在该书页中具有相对重要性,句子的重要性与页面得分的关系如下:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msub><mi>w</mi><mi>i</mi></msub><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mfrac><mrow><msub><mi>L</mi><mi>i</mi></msub><mo>*</mo><msub><mi>PageScore</mi><mi>j</mi></msub></mrow><mrow><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></msubsup><mrow><mo>(</mo><msub><mi>L</mi><mi>i</mi></msub><mo>*</mo><msub><mi>PageScore</mi><mi>j</mi></msub><mo>)</mo></mrow></mrow></mfrac></mtd><mtd><mrow><msub><mi>L</mi><mi>i</mi></msub><mo>&NotEqual;</mo><mn>0</mn></mrow></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mrow><msub><mi>L</mi><mi>i</mi></msub><mo>=</mo><mn>0</mn></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000963824770000031.GIF" wi="926" he="196" /></maths>上式中的w<sub>i</sub>表示句子v<sub>i</sub>当前的权重值,L<sub>i</sub>表示第i个被划句子在该书页中的相对重要性,假设给定文档句子集合为<img file="FDA0000963824770000032.GIF" wi="717" he="71" /><img file="FDA0000963824770000039.GIF" wi="70" he="63" />表示v<sub>i</sub>是d维向量,其中v<sub>i</sub>表示集合V中第i个句子,把被用户用直线划过的句子放在集合的前面,假定前k个句子是用户划过的,通过剩下句子与前k个句子的关系来求句子的权重值;3.2令<img file="FDA0000963824770000033.GIF" wi="326" he="55" />表示在集合V上的距离度量方式,则可以得到每对句子v<sub>i</sub>和句子v<sub>e</sub>之间的距离dis(v<sub>i</sub>,v<sub>e</sub>),令映射<img file="FDA0000963824770000034.GIF" wi="214" he="62" />表示分配给每个句子v<sub>i</sub>权重值f<sub>i</sub>的排序函数,向量f=[f<sub>1</sub>,…,f<sub>n</sub>]<sup>T</sup>,向量w=[w<sub>1</sub>,…,w<sub>n</sub>]<sup>T</sup>,其中,w<sub>i</sub>表示句子v<sub>i</sub>当前的权重值,如果句子v<sub>i</sub>被划过则w<sub>i</sub>≠0,否则w<sub>i</sub>=0;3.3在数据流形结构上的权重传播算法表示如下:Step1:计算句子向量两两之间的距离dis(v<sub>i</sub>,v<sub>e</sub>),并且升序排列,按升序列表在两两句子向量所对应的节点之间连接一条边直到得到连通图;Step2:定义关联矩阵W,满足:如果句子向量v<sub>i</sub>和v<sub>e</sub>对应的点之间存在一条边的话,W<sub>ie</sub>=exp[‑dis<sup>2</sup>(v<sub>i</sub>,v<sub>e</sub>)/2σ<sup>2</sup>];其中σ表示调节参数,如果句子向量v<sub>i</sub>和v<sub>e</sub>对应的点之间不存在边的话,W<sub>ie</sub>=0;并且W<sub>ii</sub>=0;Step3:对关联矩阵W进行对称标准化,得到矩阵S:S=D<sup>‑1/2</sup>WD<sup>‑1/2</sup>,式中D是对角矩阵,对角矩阵D的对角元素项<img file="FDA0000963824770000035.GIF" wi="334" he="71" />Step4:迭代计算f(t+1)=θSf(t)+(1‑θ)w直到收敛,θ是一个取值范围在[0,1)的参数;Step5:令<img file="FDA0000963824770000038.GIF" wi="58" he="71" />表示序列{f<sub>i</sub>(t)}的极限,得到句子权重的极限序列为<img file="FDA0000963824770000036.GIF" wi="246" he="71" />句子权重向量为<img file="FDA0000963824770000037.GIF" wi="360" he="71" />3.4在Step4中,参数θ用来指定邻居节点对该节点的权重值贡献和初始的权重值;由于算法中的矩阵S是一个对角矩阵,所以权重值的传播过程是对称的;而对于序列{f(t)}的收敛值,计算f<sup>*</sup>=(I‑θS)<sup>‑1</sup>w;其中I表示单位矩阵,经过权重值的传播,就得到了图书章节中每个句子的合理权重值;所述步骤3)具体为:4.1得到图书章节句子v<sub>i</sub>的权重值<img file="FDA0000963824770000044.GIF" wi="72" he="61" />权重值<img file="FDA0000963824770000045.GIF" wi="53" he="59" />反映了句子v<sub>i</sub>在图书章节中的重要性,将n个权重值<img file="FDA0000963824770000046.GIF" wi="50" he="59" />作为矩阵F的对角元素,对n个权重值进行对角矩阵化,即<img file="FDA0000963824770000047.GIF" wi="189" he="63" />得到对角矩阵F,将对角矩阵F加入基于数据重构的文档摘要生成算法;4.2在文档摘要生成过程中重新定义线性非负数据重构算法的目标函数如下:<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><munder><mrow><mi>m</mi><mi>i</mi><mi>n</mi></mrow><mrow><msub><mi>a</mi><mi>i</mi></msub><mo>,</mo><mi>&beta;</mi></mrow></munder><mi>J</mi><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mo>{</mo><msubsup><mi>f</mi><mi>i</mi><mo>*</mo></msubsup><mo>|</mo><mo>|</mo><msub><mi>v</mi><mi>i</mi></msub><mo>-</mo><msup><mi>M</mi><mi>T</mi></msup><msub><mi>a</mi><mi>i</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>+</mo><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mfrac><msubsup><mi>a</mi><mrow><mi>i</mi><mi>j</mi></mrow><mn>2</mn></msubsup><msub><mi>&beta;</mi><mi>j</mi></msub></mfrac><mo>}</mo><mo>+</mo><mi>&gamma;</mi><mo>|</mo><mo>|</mo><mi>&beta;</mi><mo>|</mo><msub><mo>|</mo><mn>1</mn></msub></mrow>]]></math><img file="FDA0000963824770000041.GIF" wi="1046" he="206" /></maths>s.t. β<sub>j</sub>≥0,a<sub>ij</sub>≥0,and a<sub>j</sub>∈R<sup>n</sup>上式中,每个句子的挑选过程加入了图书章节句子v<sub>i</sub>的权重值<img file="FDA0000963824770000048.GIF" wi="71" he="61" />M表示文档句子集合V的词频矩阵,a<sub>i</sub>表示语句i的重构参数向量,a<sub>ij</sub>表示语句i的重构参数向量的第j个元素,其中a<sub>ij</sub>≥0表明该方法只允许集合空间中句子的加法运算,不允许减法运算;同时β=[β<sub>1</sub>,β<sub>2</sub>,…,β<sub>n</sub>]<sup>T</sup>是一个辅助变量;如果β<sub>j</sub>=0的话,则所有的a<sub>1j</sub>,…,a<sub>nj</sub>为0,这意味着第j列的候选句子没有被选中,γ是正则项参数;4.3基于数据重构的文档摘要生成算法的目标函数是一个凸优化问题,可以保证全局最优解,此时,固定a<sub>i</sub>,令J对β的导数为0,得到β的最小解如下:<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><msub><mi>&beta;</mi><mi>j</mi></msub><mo>=</mo><msqrt><mfrac><mrow><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></msubsup><msubsup><mi>a</mi><mrow><mi>i</mi><mi>j</mi></mrow><mn>2</mn></msubsup></mrow><mi>&gamma;</mi></mfrac></msqrt></mrow>]]></math><img file="FDA0000963824770000042.GIF" wi="323" he="183" /></maths>当得到了β的最小解之后,非负约束下的最小化问题可以用拉格朗日方法求解;4.4令α<sub>ij</sub>为约束条件α<sub>ij</sub>≥0和A=[a<sub>ij</sub>]下的拉格朗日算子,则拉格朗日公式L如下:L=J+Tr[αA<sup>T</sup>]=Tr[F(M‑AM)(M‑AM)<sup>T</sup>+diag(β)<sup>‑1</sup>A<sup>T</sup>A]+γ‖β‖<sub>1</sub>+Tr[αA<sup>T</sup>],α=[α<sub>ij</sub>]F是步骤4.1中的对角矩阵,对角矩阵F对角线上的元素项分别为<img file="FDA0000963824770000043.GIF" wi="207" he="63" />diag(β)也是对角矩阵,对角矩阵diag(β)对角线上的元素项分别为β<sub>1</sub>,…,β<sub>n</sub>;4.5拉格朗日公式L对A求导结果如下:<maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><mfrac><mrow><mo>&part;</mo><mi>L</mi></mrow><mrow><mo>&part;</mo><mi>A</mi></mrow></mfrac><mo>=</mo><mo>-</mo><mn>2</mn><msup><mi>FMM</mi><mi>T</mi></msup><mo>+</mo><mn>2</mn><msup><mi>FAMM</mi><mi>T</mi></msup><mo>+</mo><mn>2</mn><mi>A</mi><mi>d</mi><mi>i</mi><mi>a</mi><mi>g</mi><msup><mrow><mo>(</mo><mi>&beta;</mi><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>+</mo><mi>&alpha;</mi></mrow>]]></math><img file="FDA0000963824770000051.GIF" wi="1047" he="128" /></maths>令<img file="FDA0000963824770000052.GIF" wi="57" he="103" />的导数为0,可以得到关于α的表示如下:α=2FMM<sup>T</sup>‑2FAMM<sup>T</sup>‑2Adiag(β)<sup>‑1</sup>根据Karush‑Kuhn‑Tucker条件α<sub>ij</sub>a<sub>ij</sub>=0,对上式各项乘以a<sub>ij</sub>得到如下等式:(FMM<sup>T</sup>)<sub>ij</sub>a<sub>ij</sub>‑(FAMM<sup>T</sup>)<sub>ij</sub>a<sub>ij</sub>‑(Adiag(β)<sup>‑1</sup>)<sub>ij</sub>a<sub>ij</sub>=0根据上式得到如下的更新公式:<maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><msub><mi>a</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>&LeftArrow;</mo><mfrac><mrow><msub><mi>a</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><msub><mrow><mo>(</mo><msup><mi>FMM</mi><mi>T</mi></msup><mo>)</mo></mrow><mrow><mi>i</mi><mi>j</mi></mrow></msub></mrow><msub><mrow><mo>&lsqb;</mo><msup><mi>FAMM</mi><mi>T</mi></msup><mo>+</mo><mi>A</mi><mi>d</mi><mi>i</mi><mi>a</mi><mi>g</mi><msup><mrow><mo>(</mo><mi>&beta;</mi><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>&rsqb;</mo></mrow><mrow><mi>i</mi><mi>j</mi></mrow></msub></mfrac></mrow>]]></math><img file="FDA0000963824770000053.GIF" wi="710" he="143" /></maths>将上述更新公式迭代执行直到收敛,最终得到图书章节的摘要句子。
地址 310027 浙江省杭州市西湖区玉古路38号