一种针对海量文本快速理解的文摘方法与流程

文档序号:12364520阅读:249来源:国知局
一种针对海量文本快速理解的文摘方法与流程

本发明涉及文本信息挖掘领域,具体涉及一种采用主题模型生成文本摘要的方法。



背景技术:

当前,互联网的快速普及使得信息资源爆炸性增长。丰富的信息资源一方面给人们带来极大便利,同时也在有效资源的选择上面临诸多困难。从网络信息资源的类型来看,非结构化资源的比例呈现增长趋势,所涉及的处理技术相比结构化数据而言具备更大的难度。其中,文本类型信息具有典型的非结构化特征,对其进行有效分析和处理在互联网以及诸多行业中具有十分重要的理论价值和实践意义。

文本摘要是文本信息处理中的一个非常重要的组成部分。一般文摘方法基于文本中词汇特征,忽略了词语表达出的主题特征,不能解决一词多义和一义多词语境下的歧义。一般文摘方法使用的是常用的词语特征,研究的重点是可以观察到的构成文章的词语、句子等基本信息,而无法利用隐藏在这些句子、词语背后,更深层次的语义信息,称之为主题特征。

20世纪50年代,统计学的兴起促使了文本摘要技术的萌芽,统计学的方法仅仅局限于文章的表层特征。比如依据句子在段落中的位置,词频与逆文本词频的大小,句子与标题的相似度等特征评估句子的重要性。Luhn于1985年发表的一篇论文中认为,出现次数多的词语与文章表达主题的关系相对比较密切,因此可以根据在文章中出现的次数计算词语权重,基于词语权重得到句子权重,选择权重较大的句子作为文章的摘要。该思路也成为了后来文本摘要技术发展的一个基石,虽然原理看似简单,但实现结果却有很高的准确率,甚至超过后来很多更复杂的算法。Kupiec提出使用朴素贝叶斯分类模型选择文章摘要句。Aone在1999年基于贝叶斯分类方法开发出一个系统Dimsim,该系统不仅基于贝叶斯模型,同时还添加了更多的文章特征进行计算,也是首次在统计词频的基础之上,添加了逆文本词频的特征,消除了一些常用连接词对词频的影响。随着机器学习的发展,更多的机器学习方法被应用到文本摘要技术中,比如决策树模型、隐马尔科夫模型,条件随机场模型,神经网络等等。随着图模型理论的发展,出现了基于图模型的文本摘要技术。基于图模型的文本摘要方法的基本思路是把文章的句子或者段落作为一个分析对象,每一个分析对象作为图中的一个点,点与点之间的关系通过寻找两个分析对象是否在某个特征上相似或者重合来确定是否连接,如果判断有关系,则在两点之间添加一条边。建立完基础的图之后,通过图模型上的迭代算法(PageRank,TextRank,HITS)来迭代计算图中各个节点的权值,按照权值的大小排序之后选择权重大的分析对象(句子或者段落)作为文摘。HyperSum,TextRank和LexRank作为主 流的基于图模型的算法被广泛应用。HyperSum算法中,每条边可以连接的节点多余两个,节点之间可以组成群组关系,整合节点的成对关系进行计算。

在基于图模型的排序算法中,节点之间的相关性度量的精确度直接影响到排序的结果,因此在基于基于图模型的排序算法的自动文摘中,文本单元的相关性度量是核心任务。在先前的诸多研究中,使用句子作为文本图节点最为普遍,而句子间的相关性度量大多局限于句子中的单词层面,例如利用句子间的单词的共现、句子的余弦相似度、利用WordNet度量单词相关性等,但是单词层面的度量方法难以准确衡量句子间的语义相关性。另一方面,基于基于图模型的排序的文摘方法虽考虑了文本单元之间的相关性却忽略了一个重要指标——文本单元与文档主题之间的相关性,这样可能导致文本单元排序出现局部最优的情况。例如,某文章中有大段主题无关的非核心内容,但是这部分内容中的句子本身互相关系密切,那么在排序后,这段内容中很可能会出现权重较高的句子,然而这个局部最优句子只能代表这部分内容却不能代表整个文档。此外,基于图排序的方法还忽略了文本单元自身的一些属性,例如句子长度和句子位置等。在很多文章尤其是新闻类文章中,首段内容通常会说明文章大意,忽略句子的位置属性,无疑会影响对句子权重的排序。



技术实现要素:

本发明的目的在于:针对上述现有技术中难以准确衡量句子间的语义相关性和忽略了文本单元的句子长度和句子位置等问题,提供一种针对海量文本快速理解的文摘方法。

本发明采用的技术方案如下:

一种针对海量文本快速理解的文摘方法,包括下列步骤:

步骤1:获取待分析的文本组成的文本集合;

步骤2:对文本集合的语料进行分词、指代消解、冗余信息去除和基本单元划分,得到预处理后的语料库;

步骤3:计算预处理后的语料库中各句子的基本特征的权值,所述基本特征包括TF-IDF值、句子位置信息与句子长度信息;综合预处理后的语料库中各句子的基本特征的权值,得到各句子的初始权值;

步骤4:对预处理后的语料库进行LDA模型训练,通过Gibbs采样过程估计文本集合中所有词语的主题概率分布;

步骤5:利用步骤4估计到的词语的主题概率分布计算句子的主题概率分布;

步骤6:构建图模型,使用预处理后的文本集合中各句子作为节点,依据各句子的主题概率分布来建立句子之间的关联,生成图模型的加权边,利用句子的主题概率分布计算句子与句 子主题分布相对熵,将句子与句子主题分布相对熵作为图模型的加权边的权值,将各句子的初始权值作为各句子在图模型中对应节点的初始权值;

步骤7:基于步骤6构建的图模型使用迭代贡献权值的方法计算每个句子的最终权值,根据每个节点的最终权值从大到小进行排序,根据句子排序的结果选择权值较高句子组合生成文摘。

上述方案中,所述步骤2包括以下步骤:

步骤2.1:对文本集合基于N最短路径算法使用ICTCLAS分词系统进行粗分词,获得所有可能的分词组合,对所有可能的分词组合使用基于层叠隐马尔科夫模型识别人名、地名与机构名;

步骤2.2:使用FudanNLP系统将文本集合中的人称代词、部分指代、指示代词类词语替换成所指示的内容;

步骤2.3:根据冗余词词库,将文本集合中没有实际意义的冗余词去除;

步骤2.4:根据文本集合中结束类标点符号的位置,将文本集合划分成多个句子,所述结束类标点符号包括:句号、感叹号、分号、问号。

上述方案中,所述步骤3包括以下步骤:

步骤3.1计算TF-IDF值:

<mrow> <mi>T</mi> <mi>F</mi> <mo>-</mo> <mi>I</mi> <mi>D</mi> <mi>F</mi> <mrow> <mo>(</mo> <msub> <mi>S</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>&Sigma;</mi> <mrow> <mi>w</mi> <mo>&Element;</mo> <msub> <mi>S</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi> </mrow> </msub> </mrow> </msub> <mfrac> <mrow> <mi>N</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <msub> <mi>D</mi> <mi>k</mi> </msub> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mi>S</mi> <mi>u</mi> <mi>m</mi> <mrow> <mo>(</mo> <msub> <mi>D</mi> <mi>k</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>*</mo> <mi>l</mi> <mi>n</mi> <mrow> <mo>(</mo> <mfrac> <mrow> <mi>N</mi> <mrow> <mo>(</mo> <msub> <mi>D</mi> <mrow> <mi>s</mi> <mi>e</mi> <mi>t</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mi>N</mi> <mrow> <mo>(</mo> <msub> <mi>D</mi> <mi>w</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>)</mo> </mrow> </mrow>

其中,Dk表示第k篇文本,Si,k表示第k篇文本中第i个句子,N()表示第k篇文本中词语W出现的次数,表示第k篇文本中所有词的总数,表示文本集所有词的总数,表示当前文本中包含单词w的个数,w∈Si,k指的是每句子Si,k中的每一个词语;

步骤3.2:计算句子位置信息权值Pos(Si):

<mrow> <mi>P</mi> <mi>o</mi> <mi>s</mi> <mrow> <mo>(</mo> <msub> <mi>S</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mi>n</mi> <mo>-</mo> <mi>i</mi> <mo>+</mo> <mn>1</mn> </mrow> <mi>n</mi> </mfrac> </mrow>

其中,表示第i个句子,n表示所有句子的总个数,i表示当前句子编号;

步骤3.3:计算句子长度信息权值Li:

<mrow> <msub> <mi>L</mi> <mi>i</mi> </msub> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <msqrt> <mrow> <mn>2</mn> <mi>&pi;</mi> </mrow> </msqrt> <mi>&sigma;</mi> </mrow> </mfrac> <msup> <mi>e</mi> <mfrac> <msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>-</mo> <mi>&mu;</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mrow> <mn>2</mn> <msup> <mi>&sigma;</mi> <mn>2</mn> </msup> </mrow> </mfrac> </msup> </mrow>

其中,x表示当前句子的长度,μ表示所有句子长度的均值,σ表示所有句子长度的方差;

步骤3.4:统计基本特征的权值:

Score(Si)=ω1TF-IDF(Si)+ω2Pos(Si)+ω3Li

其中,ω为权值系数,取ω1=0.5,ω2=0.3,ω3=0.2,Score(Si)表示句子i综合TF-IDF,Pos,L这三个特征的权值;

上述方案中,所述步骤4包括以下步骤:

步骤4.1:对文本中所有词语分配一个随机计算的主题;

步骤4.2:对文本中所有词语进行主题的重新分布,计算当前词表达为每个主题zi的概率

其中,α=2.0,β=0.5,m指文本编号,k指主题编号,Zi表示第i个词语的主题编号,nw[][]二维数组存储文本词语编号与词语对应主题的编号,nwsum[k]表示分配给主题k的词语的数目,nd[i][j]指第i篇文本里被指定为第j个主题的次数,ndsum[m]存储m篇文本中所有词语的数目;

步骤4.3:累加当前词表达为各主题的概率,随机正则化一个概率值,找到最大的不小于所述概率值的累加值对应的主题k,所以选择k作为当前词重新分配的主题。

步骤4.4:根据迭代次数重复步骤4.2-4.3,直到每个词语两次分配的主题不再变化,得到所有词语的主题概率分布。

上述方案中,所述步骤5包括以下步骤:

步骤5.1:计算句子的主题概率分布:

<mrow> <mi>P</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>j</mi> </msub> <mo>|</mo> <msub> <mi>S</mi> <mi>r</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mi>P</mi> <msup> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>j</mi> </msub> <mo>|</mo> <mi>D</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>*</mo> <msub> <mi>&Pi;</mi> <mrow> <msub> <mi>w</mi> <mi>i</mi> </msub> <mo>&Element;</mo> <msub> <mi>s</mi> <mi>r</mi> </msub> </mrow> </msub> <mi>P</mi> <mrow> <mo>(</mo> <msub> <mi>W</mi> <mi>i</mi> </msub> <mo>|</mo> <msub> <mi>T</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <mi>P</mi> <mrow> <mo>(</mo> <msub> <mi>W</mi> <mi>i</mi> </msub> <mo>|</mo> <msub> <mi>S</mi> <mi>r</mi> </msub> <mo>)</mo> </mrow> <mo>*</mo> <msub> <mi>&Pi;</mi> <mrow> <msub> <mi>W</mi> <mi>i</mi> </msub> <mo>&Element;</mo> <msub> <mi>S</mi> <mi>r</mi> </msub> </mrow> </msub> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>k</mi> </msubsup> <mi>P</mi> <mrow> <mo>(</mo> <msub> <mi>W</mi> <mi>i</mi> </msub> <mo>|</mo> <msub> <mi>T</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>*</mo> <mi>P</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>j</mi> </msub> <mo>|</mo> <mi>D</mi> <mo>)</mo> </mrow> </mrow> </mfrac> </mrow>

其中,P(Tj|Sr)表示第j个主题Tj在第r个句子Sr上的概率分布,其中P(Tj|D)=nd[m][k]/ndsum[m],nd[m][k]、ndsum[m]分别为3.2.2中统计的nd矩阵和ndsum矩阵,m指文本编号,k指主题编号;每个主题下词的概率分布P(Wi|Tj)=nw[w][k]/nwsum[k],nw[w][k]、nwsum[k]分别为步骤2中统计的nw矩阵和nwsum矩阵,w指文本中词语编号,k指主题编号,P(Wi|Sr)表示每个单词属于这个句子的概率;

步骤5.2:计算所有主题对应所有句子的概率,得到句子的主题概率分布分布。

上述方案中,所述步骤6包括以下步骤:

步骤6.1:将文本中预处理过程中划分的句子作为图模型中的节点。

步骤6.2:对图模型中的每个节点对应的句子题的概率分布进行分析,以某一个节点为比 较基准和其他所有节点进行比较,如果这两个节点对应的两个句子上的两个主题的概率分布存在任意一个主题的概率不同时为零,则在两个点之间建立一条图模型的加权边

步骤6.3:重复步骤6.2,直到所有节点都作为基准点和其他节点比较完成;

步骤6.4:计算图模型中每条加权边的权值:

<mrow> <msub> <mi>D</mi> <mrow> <mi>k</mi> <mi>l</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>P</mi> <mo>(</mo> <mrow> <mi>T</mi> <mo>|</mo> <msub> <mi>S</mi> <mi>r</mi> </msub> </mrow> <mo>)</mo> <mo>|</mo> <mo>|</mo> <mi>P</mi> <mo>(</mo> <mrow> <mi>T</mi> <mo>|</mo> <msub> <mi>S</mi> <mi>r</mi> </msub> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>K</mi> </munderover> <mi>P</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>k</mi> </msub> <mo>|</mo> <msub> <mi>S</mi> <mi>r</mi> </msub> <mo>)</mo> </mrow> <mo>*</mo> <mi>l</mi> <mi>o</mi> <mi>g</mi> <mfrac> <mrow> <mi>P</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>k</mi> </msub> <mo>|</mo> <msub> <mi>S</mi> <mi>r</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mi>P</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>k</mi> </msub> <mo>|</mo> <msub> <mi>S</mi> <mi>t</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> </mrow>

其中,P(T|Sr)表示主题T在句子Sr上的概率分布,P(T|St)表示主题在句子St上的概率分布,P(Tk|Sr)表示某个主题Tk在句子Sr上的概率大小,Dkl(P(T|Sr)||P(T|St)),图模型中每条加权边都是有向边,有向边起点Sr所在节点上的主题概率分布为P(T|Sr),有向边终点St所在节点上的主题概率分布为P(T|St),以P(T|St)作为比较基准,Dkl(P(T|Sr)||P(T|St))表示概率分布P(T|Sr)相对于概率分布P(T|St)的相对熵,即该有向边的权值。

上述方案中,所述步骤7中迭代贡献权值的方法中计算节点权值的公式为:

<mrow> <mi>S</mi> <mrow> <mo>(</mo> <msub> <mi>V</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mi>d</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>d</mi> <mo>*</mo> <munder> <mi>&Sigma;</mi> <mrow> <msub> <mi>V</mi> <mi>j</mi> </msub> <mo>&Element;</mo> <mi>I</mi> <mi>n</mi> <mrow> <mo>(</mo> <msub> <mi>V</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> </mrow> </munder> <mfrac> <mrow> <msub> <mi>w</mi> <mrow> <mi>e</mi> <mi>d</mi> <mi>g</mi> <mi>e</mi> </mrow> </msub> <mo>&lsqb;</mo> <mi>j</mi> <mo>&rsqb;</mo> <mo>&lsqb;</mo> <mi>i</mi> <mo>&rsqb;</mo> </mrow> <mrow> <munder> <mi>&Sigma;</mi> <mrow> <msub> <mi>V</mi> <mi>k</mi> </msub> <mo>&Element;</mo> <mi>O</mi> <mi>u</mi> <mi>t</mi> <mrow> <mo>(</mo> <msub> <mi>V</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow> </munder> <msub> <mi>w</mi> <mrow> <mi>e</mi> <mi>d</mi> <mi>g</mi> <mi>e</mi> </mrow> </msub> <mo>&lsqb;</mo> <mi>j</mi> <mo>&rsqb;</mo> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> </mrow> </mfrac> <mi>S</mi> <mrow> <mo>(</mo> <msub> <mi>V</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow>

其中,S(Vi)表示节点Vi的权值大小,d为常数,In(Vi)表示以节点Vi作为终点的边的起始节点集合,Out(Vj)表示以节点Vj作为起始的边的终点节点集合,Wedge[j][i]表示从节点Vj到节点Vi的边的权值大小。

综上所述,由于采用了上述技术方案,本发明的有益效果是:

1.具有很高的自动化水平,只需要用户输入需要获得的文摘篇幅大小,系统自动完成文摘的所有任务,没有了人工操作的繁琐与主观因素影响。

2.实现对海量文本的快速理解,通过主题模型挖掘提取出海量数据中能够表达文本主要内容并且篇幅远远小于原始文本的文摘,作为海量文本的一种替代,相比于一般大数据处理方法中增加并发度,提高处理器速度之类的策略不仅能够更加快速的对海量文本完成信息挖掘,而且使得挖掘过程没有冗余信息的干扰从而获得高质量的信息。

3.实现对文本的语义层面的理解,可以很好的挖掘出文本所表达主题的概率分布以及基于主题概率分布的句子相似度计算,相比于传统方法主要基于词频、位置这类可观察特征进行的文本摘要方法,基于主题特征的文摘方法很好地解决“一词多义”和“一义多词”语境下产生的歧义问题。

4.本发明能准确衡量句子间的语义相关性,同时将文本单元的句子长度和句子位置纳入影响排序的因素之中,提高了所得文摘与原文本集合的相关性。

5.本发明预处理中对文本集合的语料进行了分词、指代消解、冗余信息去除和基本单元划分,充分考虑了文本集合中代词、冗杂词对排序结果的影响。

附图说明

图1是本发明的工作流程图;

图2是本发明步骤2预处理过程流程图;

图3是本发明步骤4中Gibbs采样过程流程图;

图4是本发明文本摘要模型生成流程图;

图5是本发明步骤7中图模型求解流程图;

具体实施方式

本说明书中公开的所有特征,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。

下面结合图1-5对本发明作详细说明。

本发明提出了一种针对海量文本快速理解的文摘方法,该模型应用于说话人识别取得良好的效果。整个算法的实现示意图类似图1,包括步骤:

步骤1:获取待分析的文本组成的文本集合;

步骤2:对文本集合的语料进行分词、指代消解、冗余信息去除和基本单元划分,得到预处理后的语料库;

步骤2.1:对文本集合基于N最短路径算法使用ICTCLAS分词系统进行粗分词,获得所有可能的分词组合,对所有可能的分词组合使用基于层叠隐马尔科夫模型识别人名、地名与机构名;

步骤2.2:使用FudanNLP系统将文本集合中的人称代词、部分指代、指示代词类词语替换成所指示的内容;

步骤2.3:根据冗余词词库,将文本集合中没有实际意义的冗余词去除;

步骤2.4:根据文本集合中结束类标点符号的位置,将文本集合划分成多个句子,所述结束类标点符号包括:句号、感叹号、分号、问号。

步骤3:计算预处理后的语料库中各句子的基本特征的权值,所述基本特征包括TF-IDF值、句子位置信息与句子长度信息;综合预处理后的语料库中各句子的基本特征的权值,得到各句子的初始权值;

步骤3.1计算TF-IDF值:

<mrow> <mi>T</mi> <mi>F</mi> <mo>-</mo> <mi>I</mi> <mi>D</mi> <mi>F</mi> <mrow> <mo>(</mo> <msub> <mi>S</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>&Sigma;</mi> <mrow> <mi>w</mi> <mo>&Element;</mo> <msub> <mi>S</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi> </mrow> </msub> </mrow> </msub> <mfrac> <mrow> <mi>N</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <msub> <mi>D</mi> <mi>k</mi> </msub> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mi>S</mi> <mi>u</mi> <mi>m</mi> <mrow> <mo>(</mo> <msub> <mi>D</mi> <mi>k</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>*</mo> <mi>l</mi> <mi>n</mi> <mrow> <mo>(</mo> <mfrac> <mrow> <mi>N</mi> <mrow> <mo>(</mo> <msub> <mi>D</mi> <mrow> <mi>s</mi> <mi>e</mi> <mi>t</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mi>N</mi> <mrow> <mo>(</mo> <msub> <mi>D</mi> <mi>w</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>)</mo> </mrow> </mrow>

其中,Dk表示第k篇文本,Si,k表示第k篇文本中第i个句子,N()表示第k篇文本中词语W出现的次数,表示第k篇文本中所有词的总数,表示文本集所有词的总数,表示当前文本中包含单词w的个数,w∈Si,k指的是每句子Si,k中的每一个词语;

步骤3.2:计算句子位置信息权值Pos(Si):

<mrow> <mi>P</mi> <mi>o</mi> <mi>s</mi> <mrow> <mo>(</mo> <msub> <mi>S</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mi>n</mi> <mo>-</mo> <mi>i</mi> <mo>+</mo> <mn>1</mn> </mrow> <mi>n</mi> </mfrac> </mrow>

其中,表示第i个句子,n表示所有句子的总个数,i表示当前句子编号;

步骤3.3:计算句子长度信息权值Li:

<mrow> <msub> <mi>L</mi> <mi>i</mi> </msub> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <msqrt> <mrow> <mn>2</mn> <mi>&pi;</mi> </mrow> </msqrt> <mi>&sigma;</mi> </mrow> </mfrac> <msup> <mi>e</mi> <mfrac> <msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>-</mo> <mi>&mu;</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mrow> <mn>2</mn> <msup> <mi>&sigma;</mi> <mn>2</mn> </msup> </mrow> </mfrac> </msup> </mrow>

其中,x表示当前句子的长度,μ表示所有句子长度的均值,σ表示所有句子长度的方差;

步骤3.4:统计基本特征的权值:

Score(Si)=ω1TF-IDF(Si)+ω2Pos(Si)+ω3Li

其中,ω为权值系数,取ω1=0.5,ω2=0.3,ω3=0.2,Score(Si)表示句子i综合TF-IDF,Pos,L这三个特征的权值;

步骤4:对预处理后的语料库进行LDA模型训练,通过Gibbs采样过程估计文本集合中所有词语的主题概率分布;

步骤4.1:对文本中所有词语分配一个随机计算的主题;

步骤4.2:对文本中所有词语进行主题的重新分布,计算当前词表达为每个主题zi的概率

其中,α=2.0,β=0.5,m指文本编号,k指主题编号,Zi表示第i个词语的主题编号,nw[][]二维数组存储文本词语编号与词语对应主题的编号,nwsum[k]表示分配给主题k的词语的数目,nd[i][j]指第i篇文本里被指定为第j个主题的次数,ndsum[m]存储m篇文本中所有词语的数目;

步骤4.3:累加当前词表达为各主题的概率,随机正则化一个概率值,找到最大的不小于所述概率值的累加值对应的主题k,所以选择k作为当前词重新分配的主题。

步骤4.4:根据迭代次数重复步骤4.2-4.3,直到每个词语两次分配的主题不再变化,得到所有词语的主题概率分布。

步骤5:利用步骤4估计到的词语的主题概率分布计算句子的主题概率分布;

步骤5.1:计算句子的主题概率分布:

<mrow> <mi>P</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>j</mi> </msub> <mo>|</mo> <msub> <mi>S</mi> <mi>r</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mi>P</mi> <msup> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>j</mi> </msub> <mo>|</mo> <mi>D</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>*</mo> <msub> <mi>&Pi;</mi> <mrow> <msub> <mi>w</mi> <mi>i</mi> </msub> <mo>&Element;</mo> <msub> <mi>s</mi> <mi>r</mi> </msub> </mrow> </msub> <mi>P</mi> <mrow> <mo>(</mo> <msub> <mi>W</mi> <mi>i</mi> </msub> <mo>|</mo> <msub> <mi>T</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <mi>P</mi> <mrow> <mo>(</mo> <msub> <mi>W</mi> <mi>i</mi> </msub> <mo>|</mo> <msub> <mi>S</mi> <mi>r</mi> </msub> <mo>)</mo> </mrow> <mo>*</mo> <msub> <mi>&Pi;</mi> <mrow> <msub> <mi>W</mi> <mi>i</mi> </msub> <mo>&Element;</mo> <msub> <mi>S</mi> <mi>r</mi> </msub> </mrow> </msub> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>k</mi> </msubsup> <mi>P</mi> <mrow> <mo>(</mo> <msub> <mi>W</mi> <mi>i</mi> </msub> <mo>|</mo> <msub> <mi>T</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>*</mo> <mi>P</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>j</mi> </msub> <mo>|</mo> <mi>D</mi> <mo>)</mo> </mrow> </mrow> </mfrac> </mrow>

其中,P(Tj|Sr)表示第j个主题Tj在第r个句子Sr上的概率分布,其中P(Tj|D)=nd[m][k]/ndsum[m],nd[m][k]、ndsum[m]分别为3.2.2中统计的nd矩阵和ndsum矩阵,m指文本编号,k指主题编号;每个主题下词的概率分布P(Wi|Tj)=nw[w][k]/nwsum[k],nw[w][k]、nwsum[k]分别为步骤2中统计的nw矩阵和nwsum矩阵,w指文本中词语编号,k指主题编号,P(Wi|Sr)表示每个单词属于这个句子的概率;

步骤5.2:计算所有主题对应所有句子的概率,得到句子的主题概率分布分布。

步骤6:构建图模型,使用预处理后的文本集合中各句子作为节点,依据各句子的主题概率分布来建立句子之间的关联,生成图模型的加权边,利用句子的主题概率分布计算句子与句子主题分布相对熵,将句子与句子主题分布相对熵作为图模型的加权边的权值,将各句子的初始权值作为各句子在图模型中对应节点的初始权值;

步骤6.1:将文本中预处理过程中划分的句子作为图模型中的节点。

步骤6.2:对图模型中的每个节点对应的句子题的概率分布进行分析,以某一个节点为比较基准和其他所有节点进行比较,如果这两个节点对应的两个句子上的两个主题的概率分布存在任意一个主题的概率不同时为零,则在两个点之间建立一条图模型的加权边

步骤6.3:重复步骤6.2,直到所有节点都作为基准点和其他节点比较完成;

步骤6.4:计算图模型中每条加权边的权值:

<mrow> <msub> <mi>D</mi> <mrow> <mi>k</mi> <mi>l</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>P</mi> <mo>(</mo> <mrow> <mi>T</mi> <mo>|</mo> <msub> <mi>S</mi> <mi>r</mi> </msub> </mrow> <mo>)</mo> <mo>|</mo> <mo>|</mo> <mi>P</mi> <mo>(</mo> <mrow> <mi>T</mi> <mo>|</mo> <msub> <mi>S</mi> <mi>r</mi> </msub> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>K</mi> </munderover> <mi>P</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>k</mi> </msub> <mo>|</mo> <msub> <mi>S</mi> <mi>r</mi> </msub> <mo>)</mo> </mrow> <mo>*</mo> <mi>l</mi> <mi>o</mi> <mi>g</mi> <mfrac> <mrow> <mi>P</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>k</mi> </msub> <mo>|</mo> <msub> <mi>S</mi> <mi>r</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mi>P</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>k</mi> </msub> <mo>|</mo> <msub> <mi>S</mi> <mi>t</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> </mrow>

其中,P(T|Sr)表示主题T在句子Sr上的概率分布,P(T|St)表示主题在句子St上的概率分布,P(Tk|Sr)表示某个主题Tk在句子Sr上的概率大小,Dkl(P(T|Sr)||P(T|St)),图模型中每条加权边都是有向边,有向边起点Sr所在节点上的主题概率分布为P(T|Sr),有向边终点St所在节点上的主题概率分布为P(T|St),以P(T|St)作为比较基准,Dkl(P(T|Sr)||P(T|St))表示概率分布P(T|Sr)相对于概率分布P(T|St)的相对熵,即该有向边的权值。

步骤7:基于步骤6构建的图模型使用迭代贡献权值的方法计算每个句子的最终权值,根据每个节点的最终权值从大到小进行排序,根据句子排序的结果选择权值较高句子组合生成文摘。所述步骤7中迭代贡献权值的方法中计算节点权值的公式为:

<mrow> <mi>S</mi> <mrow> <mo>(</mo> <msub> <mi>V</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mi>d</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>d</mi> <mo>*</mo> <munder> <mi>&Sigma;</mi> <mrow> <msub> <mi>V</mi> <mi>j</mi> </msub> <mo>&Element;</mo> <mi>I</mi> <mi>n</mi> <mrow> <mo>(</mo> <msub> <mi>V</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> </mrow> </munder> <mfrac> <mrow> <msub> <mi>w</mi> <mrow> <mi>e</mi> <mi>d</mi> <mi>g</mi> <mi>e</mi> </mrow> </msub> <mo>&lsqb;</mo> <mi>j</mi> <mo>&rsqb;</mo> <mo>&lsqb;</mo> <mi>i</mi> <mo>&rsqb;</mo> </mrow> <mrow> <munder> <mi>&Sigma;</mi> <mrow> <msub> <mi>V</mi> <mi>k</mi> </msub> <mo>&Element;</mo> <mi>O</mi> <mi>u</mi> <mi>t</mi> <mrow> <mo>(</mo> <msub> <mi>V</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow> </munder> <msub> <mi>w</mi> <mrow> <mi>e</mi> <mi>d</mi> <mi>g</mi> <mi>e</mi> </mrow> </msub> <mo>&lsqb;</mo> <mi>j</mi> <mo>&rsqb;</mo> <mo>&lsqb;</mo> <mi>k</mi> <mo>&rsqb;</mo> </mrow> </mfrac> <mi>S</mi> <mrow> <mo>(</mo> <msub> <mi>V</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow>

其中,S(Vi)表示节点Vi的权值大小,d为常数,In(Vi)表示以节点Vi作为终点的边的起始节点集合,Out(Vj)表示以节点Vj作为起始的边的终点节点集合,Wedge[j][i]表示从节点Vj到节点Vi的边的权值大小。

本发明已经通过上述实施例进行了说明,但应当理解的是,上述实施例只是用于举例和说明的目的,而非意在将本发明限制于所描述的实施例范围内。此外本领域技术人员可以理解的是,本发明并不局限于上述实施例,根据本发明的教导还可以做出更多种的变型和修改,这些变型和修改均落在本发明所要求保护的范围以内。本发明的保护范围由附属的权利要求书及其等效范围所界定。

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