CN110334192A - 文本摘要生成方法及***、电子设备及存储介质 - Google Patents
文本摘要生成方法及***、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110334192A CN110334192A CN201910635062.2A CN201910635062A CN110334192A CN 110334192 A CN110334192 A CN 110334192A CN 201910635062 A CN201910635062 A CN 201910635062A CN 110334192 A CN110334192 A CN 110334192A
- Authority
- CN
- China
- Prior art keywords
- clause
- node
- group
- score
- text
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/34—Browsing; Visualisation therefor
- G06F16/345—Summarisation for human users
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种文本摘要生成方法及***、电子设备及存储介质,文本摘要生成方法包括:基于一待处理文本生成一子句组集合,子句组集合中包含多个子句组,每个子句组中包含的子句数量相同;对每个子句组中的子句进行分词;以每个子句组为节点构建文本网络图,并计算文本网络图中任意两个节点之间的边的权重;根据任意两个节点之间的边的权重计算所述每个子句组的最终得分;将每个子句组按照最终得分从高到低进行排序,选取排序靠前的若干个子句组,并根据选取的所述若干个子句组生成文本摘要。本发明以子句组为单位进行数据处理,生成的文本摘要能够涵盖待处理文本的核心信息,所生成的摘要的语义连贯性很强,包含的冗余信息也很少。
Description
技术领域
本发明涉及文本处理领域,特别涉及一种文本摘要生成方法及***、电子设备及存储介质。
背景技术
现有的自动摘要生成方法可以分为两类:抽取式方法与生成式方法。抽取式方法通过识别、抽取文本中的关键语句构成摘要;而生成式方法将原始文本作为输入,通过构建机器学习模型,逐个词地输出一段文本作为摘要。与生成式方法相比,抽取式方法生成的摘要往往更具可读性,计算复杂度也较低,因此,实际应用中通常使用抽取式方法生成文本的摘要。抽取式自动摘要生成方法可以进一步分为有监督方法和无监督方法。其中,有监督方法需要人工标注的数据以训练摘要生成模型,无监督方法则直接根据文本语义信息生成摘要,无需事先准备标注数据,更具实用性。
TextRank算法是目前应用最为广泛的无监督、抽取式自动摘要生成方法,但是现有的以TextRank算法为代表的无监督、抽取式自动摘要生成方法主要存在两方面缺点:首先,大部分方法以整句或子句为单位计算得分、生成摘要。以整句为单位生成的摘要虽然可读性高、语义连贯性强,但其中包含的冗余信息较多;而以子句为单位生成的摘要中冗余信息较少,但语义连贯性较差,可读性较差。现有大部分自动摘要生成方法难以生成兼具高语义连贯与低信息冗余的摘要文本。其次,现有方法主要根据语句与全文的语义相关性对语句进行打分并生成摘要,缺乏对文本所属领域的专业知识的有效融合。
发明内容
本发明要解决的技术问题是为了克服现有技术中大部分自动摘要生成方法难以生成兼具高语义连贯与低信息冗余的摘要文本并且缺乏对文本所属领域的专业知识的有效融合的缺陷,提供一种文本摘要生成方法及***、电子设备及存储介质。
本发明是通过下述技术方案来解决上述技术问题:
本发明提供了一种文本摘要生成方法,包括以下步骤:
基于一待处理文本生成一子句组集合,所述子句组集合中包含多个子句组,每个子句组中包含的子句数量相同;
对每个子句组中的子句进行分词;
以每个子句组为节点构建文本网络图,并计算所述文本网络图中任意两个节点之间的边的权重;
根据所述任意两个节点之间的边的权重计算所述每个子句组的最终得分;
将所述每个子句组按照最终得分从高到低进行排序,选取排序靠前的若干个子句组,并根据选取的所述若干个子句组生成文本摘要。
较佳地,所述计算所述文本网络图中任意两个节点之间的边的权重的步骤包括:
采用BM25模型、TF模型或TF-IDF模型计算权重。
较佳地,当采用BM25模型计算权重时,所述计算所述文本网络图中任意两个节点之间的边的权重的步骤具体包括:
采用如下公式计算任意两个节点i和节点j之间的BM25得分:
其中,IDF(q)的计算公式如下:
其中,BM25(i,j)表示节点i和节点j之间的BM25得分,节点i表示第i个子句组,节点j表示第j个子句组,si表示节点i中的所有词,q∈si表示节点i中的每一个词q,IDF(q)表示词q的逆文档频率,TF(q,sj)表示词q在节点j中的出现频率,Len(sj)表示节点j的总词数,AvgLen表示待处理文本中所有子句组的平均词数,k1和b为预设参数;
在计算IDF(q)的公式中,N表示待处理文本中总共包含的子句组数,freq(q)表示待处理文本中包含词q的子句组数;
采用如下公式对节点i和节点j之间的BM25得分进行增强处理并将处理后的结果作为节点i和节点j之间的边的权重:
其中,wij表示节点i和节点j之间的边的权重,α表示增强系数,I(i,j)表示节点i和节点j之间的整句从属关系,当节点i和节点j属于同一个整句时,I(i,j)取值为1,当节点i和节点j不属于同一个整句时,I(i,j)取值为0;BM25(i,k)表示节点i和节点k之间的BM25得分,I(i,k)表示节点i和节点k之间的整句从属关系。
较佳地,所述计算所述每个子句组的最终得分的步骤之前还包括:
计算所述每个子句组的领域知识得分和/或社区结构得分;
其中,所述领域知识得分用于表征所述子句组中包含的词与预设领域的相关度,且所述领域知识得分与所述相关度呈正相关;所述社区结构得分用于表征所述子句组所属的社区中包含的子句组的数量,且所述社区结构得分与所述子句组的数量呈负相关;
所述计算所述每个子句组的最终得分的步骤具体包括:
以计算出的所述边的权重为基础,融合所述每个子句组的领域知识得分和/或社区结构得分,计算所述每个子句组的最终得分。
较佳地,在所述计算所述每个子句组的领域知识得分和/或社区结构得分的步骤中,
当计算所述每个子句组的领域知识得分时,采用如下公式进行计算:
KnowledgeScorei=LawScorei+EntityScorei
其中,KnowledgeScorei表示第i个子句组的领域知识得分;LawScorei表示第i个子句组的法律知识得分,当第i个子句组与预设法律正则表达式相匹配时,LawScorei取值为1,否则LawScorei取值为0;EntityScorei表示第i个子句组的实体知识得分,当第i个子句组中包含预设词性的词时,EntityScorei取值为1,否则EntityScorei取值为0;
当计算所述每个子句组的社区结构得分时,采用如下公式进行计算:
其中,CommunityScorei表示第i个子句组的社区结构得分,N表示待处理文本中总共包含的子句组的数量,Ci为第i个子句组所属的社区;NC为社区数量,由社区发现算法自动确定;A(x,y)为指示函数,当x=y时A(x,y)=1,否则A(x,y)=0。
较佳地,在所述计算所述每个子句组的领域知识得分和/或社区结构得分的步骤中,当计算所述每个子句组的社区结构得分时,采用如下步骤对所述子句组集合进行社区划分:
构建二分图,所述二分图包含词节点和子句组节点,且所述二分图中不同类型的节点之间有边相连,同类型的节点之间没有边;
采用如下公式计算所述二分图中任意第J个词节点和第I个子句组节点之间的边的权重:
w′IJ=TF(qJ,sI)·IDF(qJ)
其中,w′IJ表示第J个词节点和第I个子句组节点之间的边的权重,TF(qJ,sI)表示词qJ在子句组sI中的出现频率,IDF(qJ)表示词汇qJ的逆文档频率;
初始化所述二分图中每个词节点的社区归属,将每个词节点分别作为一个独立社区;
迭代更新所述二分图中每个节点的社区分配,包括根据当前时刻词节点的社区分配更新子句组节点的社区分配,具体公式如下:
其中,CI(t+1)表示第t+1次迭代更新后第I个子句组节点的所属社区,表示第t次迭代更新后第J个词节点的所属社区;
以及根据当前时刻子句组节点的社区分配更新词节点的社区分配,具体公式如下:
其中,表示第t+1次迭代更新后第J个词节点的所属社区,cI(t+1)表示第t+1次迭代更新后第I个子句组节点的所属社区;
重复上述迭代更新社区分配的步骤,直至所述二分图中所有节点的社区分配保持不变。
较佳地,在所述计算所述每个子句组的最终得分的步骤中,当以计算出的所述边的权重为基础,同时融合每个子句组的领域知识得分和社区结构得分时,计算所述每个子句组的最终得分具体包括以下步骤:
初始化所述文本网络图中每个节点的得分,令scorei(0)=1,其中scorei(0)表示第i个节点的初始得分;
采用如下公式迭代更新每个节点的得分:
其中,d和β为预设参数,且0≤d≤1,β取值范围为0-1;
重复上述迭代更新得分的步骤,直至满足以下条件时结束迭代并得到每个节点的最终得分:
其中,ε为设定阈值。
较佳地,所述根据选取的所述若干个子句组生成文本摘要的步骤具体包括:
按照最终得分从高到低的顺序将选取的子句组依次加入至摘要文本中,并且对于摘要文本中的子句进行去重处理,直至去重后的摘要文本中的所有子句的长度之和大于预设长度阈值;
按照子句在所述待处理文本中的顺序将摘要文本中的子句拼接起来,生成最终的文本摘要。
较佳地,所述基于一待处理文本生成一子句组集合的步骤具体包括:
将所述待处理文本划分为多个子句,以滑动窗口的方式将所述待处理文本中的连续K个子句连接成一个子句组,根据连接成的子句组构建所述子句组集合,其中K为正整数且K≥2。
本发明还提供了一种文本摘要生成***,包括:
集合生成模块,用于基于一待处理文本生成一子句组集合,所述子句组集合中包含多个子句组,每个子句组中包含的子句数量相同;
分词模块,用于对每个子句组中的子句进行分词;
构建模块,用于以每个子句组为节点构建文本网络图,并计算所述文本网络图中任意两个节点之间的边的权重;
最终得分计算模块,用于根据所述任意两个节点之间的边的权重计算所述每个子句组的最终得分;
文本摘要生成模块,用于将所述每个子句组按照最终得分从高到低进行排序,选取排序靠前的若干个子句组,并根据选取的所述若干个子句组生成文本摘要。
较佳地,所述构建模块用于采用BM25模型、TF模型或TF-IDF模型计算权重。
较佳地,当采用BM25模型计算权重时,所述构建模块具体包括:
BM25得分计算单元,用于采用如下公式计算任意两个节点i和节点j之间的BM25得分:
其中,IDF(q)的计算公式如下:
其中,BM25(i,j)表示节点i和节点j之间的BM25得分,节点i表示第i个子句组,节点j表示第j个子句组,si表示节点i中的所有词,q∈si表示节点i中的每一个词q,IDF(q)表示词q的逆文档频率,TF(q,sj)表示词q在节点j中的出现频率,Len(sj)表示节点j的总词数,AvgLen表示待处理文本中所有子句组的平均词数,k1和b为预设参数;
在计算IDF(q)的公式中,N表示待处理文本中总共包含的子句组数,freq(q)表示待处理文本中包含词q的子句组数;
增强处理单元,用于采用如下公式对节点i和节点j之间的BM25得分进行增强处理并将处理后的结果作为节点i和节点j之间的边的权重:
其中,wij表示节点i和节点j之间的边的权重,α表示增强系数,I(i,j)表示节点i和节点j之间的整句从属关系,当节点i和节点j属于同一个整句时,I(i,j)取值为1,当节点i和节点j不属于同一个整句时,I(i,j)取值为0;BM25(i,k)表示节点i和节点k之间的BM25得分,I(i,k)表示节点i和节点k之间的整句从属关系。
较佳地,所述文本摘要生成***还包括:
辅助得分计算模块,用于计算所述每个子句组的领域知识得分和/或社区结构得分;
其中,所述领域知识得分用于表征所述子句组中包含的词与预设领域的相关度,且所述领域知识得分与所述相关度呈正相关;所述社区结构得分用于表征所述子句组所属的社区中包含的子句组的数量,且所述社区结构得分与所述子句组的数量呈负相关;
所述最终得分计算模块具体用于以计算出的所述边的权重为基础,融合所述每个子句组的领域知识得分和/或社区结构得分,计算所述每个子句组的最终得分。
较佳地,当计算所述每个子句组的领域知识得分时,所述辅助得分计算模块用于采用如下公式进行计算:
KnowledgeScorei=LawScorei+EntityScorei
其中,KnowledgeScorei表示第i个子句组的领域知识得分;LawScorei表示第i个子句组的法律知识得分,当第i个子句组与预设法律正则表达式相匹配时,LawScorei取值为1,否则LawScorei取值为0;EntityScorei表示第i个子句组的实体知识得分,当第i个子句组中包含预设词性的词时,EntityScorei取值为1,否则EntityScorei取值为0;
当计算所述每个子句组的社区结构得分时,所述辅助得分计算模块用于采用如下公式进行计算:
其中,CommunityScorei表示第i个子句组的社区结构得分,N表示待处理文本中总共包含的子句组的数量,Ci为第i个子句组所属的社区;NC为社区数量,由社区发现算法自动确定;A(x,y)为指示函数,当x=y时A(x,y)=1,否则A(x,y)=0。
较佳地,当计算所述每个子句组的社区结构得分时,所述辅助得分计算模块还用于对所述子句组集合进行社区划分;所述辅助得分计算模块具体包括:
二分图构建单元,用于构建二分图,所述二分图包含词节点和子句组节点,且所述二分图中不同类型的节点之间有边相连,同类型的节点之间没有边;
计算单元,用于采用如下公式计算所述二分图中任意第J个词节点和第I个子句组节点之间的边的权重:
w′IJ=TF(qJ,sI)·IDF(qJ)
其中,w′IJ表示第J个词节点和第I个子句组节点之间的边的权重,TF(qJ,sI)表示词qJ在子句组sI中的出现频率,IDF(qJ)表示词汇qJ的逆文档频率;
社区初始化单元,用于初始化所述二分图中每个词节点的社区归属,将每个词节点分别作为一个独立社区;
社区迭代更新单元,用于迭代更新所述二分图中每个节点的社区分配,包括根据当前时刻词节点的社区分配更新子句组节点的社区分配,具体公式如下:
其中,CI(t+1)表示第t+1次迭代更新后第I个子句组节点的所属社区,表示第t次迭代更新后第J个词节点的所属社区;
以及根据当前时刻子句组节点的社区分配更新词节点的社区分配,具体公式如下:
其中,表示第t+1次迭代更新后第J个词节点的所属社区,cI(t+1)表示第t+1次迭代更新后第I个子句组节点的所属社区;
所述社区迭代更新单元用于重复执行上述迭代更新社区分配的操作,直至所述二分图中所有节点的社区分配保持不变。
较佳地,当所述最终得分计算模块以计算出的所述边的权重为基础,融合所述每个子句组的领域知识得分和社区结构得分,计算所述每个子句组的最终得分时,所述最终得分计算模块具体包括:
得分初始化单元,用于初始化所述文本网络图中每个节点的得分,令scorei(0)=1,其中scorei(0)表示第i个节点的初始得分;
得分迭代更新单元,用于采用如下公式迭代更新每个节点的得分:
其中,d和β为预设参数,且0≤d≤1,β取值范围为0-1;
所述得分迭代更新单元用于重复执行上述迭代更新得分的操作,直至满足以下条件时结束迭代并得到每个节点的最终得分:
其中,ε为设定阈值。
较佳地,所述文本摘要生成模块包括:
子句组选取单元,用于按照最终得分从高到低的顺序将选取的子句组依次加入至摘要文本中;
去重单元,用于对于摘要文本中的子句进行去重处理,直至去重后的摘要文本中的所有子句的长度之和大于预设长度阈值;
拼接单元,用于按照子句在所述待处理文本中的顺序将摘要文本中的子句拼接起来,生成最终的文本摘要。
较佳地,所述集合生成模块具体用于将所述待处理文本划分为多个子句,以滑动窗口的方式将所述待处理文本中的连续K个子句连接成一个子句组,根据连接成的子句组构建所述子句组集合,其中K为正整数且K≥2。
本发明还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的文本摘要生成方法。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的文本摘要生成方法的步骤。
本发明的积极进步效果在于:本发明以子句组为单位进行数据处理,生成的文本摘要能够涵盖待处理文本的核心信息,且文本摘要能够有效融合文本所属领域的专业知识,同时,所生成的摘要的语义连贯性很强,可读性强,包含的冗余信息也很少,并且降低了所生成摘要中各语句之间的语义重复度,还可以使生成的摘要更具有专业性。
附图说明
图1为本发明实施例1的文本摘要生成方法的流程图。
图2为本发明实施例2的文本摘要生成方法的流程图。
图3为本发明实施例3的电子设备的硬件结构示意图。
图4为本发明实施例5的文本摘要生成***的模块示意图。
图5为本发明实施例6的文本摘要生成***的模块示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
本实施例提供了一种文本摘要生成方法,如图1所示,包括以下步骤:
步骤101、基于一待处理文本生成一子句组集合,所述子句组集合中包含多个子句组,每个子句组中包含的子句数量相同;
具体地,在步骤101中,可以首先将待处理文本划分为多个子句,具体可以根据逗号、句号、问号、感叹号、冒号、分号等标点符号来划分出待处理文本中的子句,然后以滑动窗口的方式将所述待处理文本中的连续K个子句连接成一个子句组,根据连接成的子句组构建所述子句组集合,其中K为正整数且K≥2,即每个子句组中包含的子句数量均为K个;
步骤102、对每个子句组中的子句进行分词,将每个子句组转换为词的列表;
步骤103、以每个子句组为节点构建文本网络图,并计算所述文本网络图中任意两个节点之间的边的权重;
在步骤103中具体可以采用BM25模型、TF模型或TF-IDF模型计算权重,本实施例优选采用BM25模型来进行计算,具体计算步骤如下:
首先利用语义相关性初始化边权,采用如下公式计算任意两个节点i和节点j之间的BM25得分并作为边的权重的初始值:
在上述公式中还体现了对语句长度的惩罚(具体通过)来体现,以保证语义相关性的度量不会偏向于长句;
其中,IDF(q)的计算公式如下:
其中,BM25(i,j)表示节点i和节点j之间的BM25得分,节点i表示第i个子句组,节点j表示第j个子句组,si表示节点i中的所有词,q∈si表示节点i中的每一个词q,IDF(q)表示词q的逆文档频率,TF(q,sj)表示词q在节点j中的出现频率,Len(j)表示节点j的总词数,AvgLen表示待处理文本中所有子句组的平均词数,k1和b为预设参数;
在计算IDF(q)的公式中,N表示待处理文本中总共包含的子句组数,freq(q)表示待处理文本中包含词q的子句组数;
采用如下公式对节点i和节点j之间的BM25得分进行增强处理并将处理后的结果作为节点i和节点j之间的边的权重:
通过上述增强处理的公式可以在边的权重的计算中融合子句组之间的整句从属关系,若两个子句组属于同一个整句,那么它们之间的语义相关性通常较强;
其中,wij表示节点i和节点j之间的边的权重,α表示增强系数(α的取值大于0,优选值为2),I(i,j)表示节点i和节点j之间的整句从属关系,当节点i和节点j属于同一个整句时,I(i,j)取值为1,当节点i和节点j不属于同一个整句时,I(i,j)取值为0;BM25(i,k)表示节点i和节点k之间的BM25得分,I(i,k)表示节点i和节点k之间的整句从属关系;并且wii=0。
步骤104、根据所述任意两个节点之间的边的权重计算所述每个子句组的最终得分;
在本实施例中,令scorei(0)=1,其中scorei(0)表示第i个节点的初始得分,然后采用如下公式迭代更新每个节点i的得分:
重复上述迭代更新得分的步骤,直至满足以下条件时结束迭代并得到每个节点的最终得分:
其中,ε为设定阈值;
根据上述操作就可以得到每个子句组的最终得分;
步骤105、将所述每个子句组按照最终得分从高到低进行排序,选取排序靠前的若干个子句组,并根据选取的所述若干个子句组生成文本摘要;
具体地,在步骤105中根据选取的所述若干个子句组生成文本摘要的步骤具体包括:
按照最终得分从高到低的顺序将选取的子句组依次加入至摘要文本中,并且对于摘要文本中的子句进行去重处理,直至去重后的摘要文本中的所有子句的长度之和大于预设长度阈值;
按照子句在所述待处理文本中的顺序将摘要文本中的子句拼接起来,生成最终的文本摘要。
实施例2
本实施例提供了一种文本摘要生成方法,本实施例在实施例1的基础上做了进一步改进,具体地,如图2所示,本实施例在步骤103和104之间还包括:
步骤1031、计算所述每个子句组的领域知识得分和社区结构得分;
其中,所述领域知识得分用于表征所述子句组中包含的词与预设领域的相关度,且所述领域知识得分与所述相关度呈正相关;所述社区结构得分用于表征所述子句组所属的社区中包含的子句组的数量,且所述社区结构得分与所述子句组的数量呈负相关;
具体地,本实施例针对的待处理文本为法律起诉书,由于一篇高质量的法律起诉书的摘要通常包含嫌疑人、违法犯罪事实、所触犯法律等信息,因此本实施例根据子句组中法律相关词汇与时间、地点、人物等实体词的出现情况计算其领域知识得分;在计算所述每个子句组的领域知识得分时,采用如下公式进行计算:
KnowledgeScorei=LawScorei+EntityScorei
其中,KnowledgeScorei表示第i个子句组的领域知识得分;
LawScorei表示第i个子句组的法律知识得分,当第i个子句组与预设法律正则表达式相匹配时,LawScorei取值为1,否则LawScorei取值为0;其中,所述预设法律正则表达式为:(.*)中华人民共和国(.*)法(.*);
EntityScorei表示第i个子句组的实体知识得分,当第i个子句组中包含预设词性的词时(具体为同时包含地点词、时间词和人名词),EntityScorei取值为1,否则EntityScorei取值为0;而地点词、时间词、人名词均可采用分词工具进行词性分析来获得,所得分析结果中“ns”词性对应的词即为地点词,“t”词性对应的词即为时间词,“nr”词性对应的词即为人名词。
而在计算所述每个子句组的社区结构得分时,采用如下公式进行计算:
其中,CommunityScorei表示第i个子句组的社区结构得分,N表示待处理文本中总共包含的子句组的数量,Ci为第i个子句组所属的社区;NC为社区数量,由社区发现算法自动确定;A(x,y)为指示函数,当x=y时A(x,y)=1,否则A(x,y)=0;本实施例通过在二分图上采用标签传播算法挖掘子句组集合的社区结构,将子句组集合划分为多个社区,同一社区内的子句组之间的语义相关性更高,在此基础上,每个子句组的社区结构得分为其所属社区大小的倒数;通过上述公式可知,社区中包含的子句组越少,则该社区中每个子句组的社区结构得分越高,该社区结构得分反映了将一个子句组加入为摘要后带来冗余信息的可能性,社区结构得分越高,带来冗余信息的可能性越小。
在所述计算所述每个子句组的社区结构得分时,采用如下步骤对所述子句组集合进行社区划分:
构建二分图,所述二分图包含词节点和子句组节点,且所述二分图中不同类型的节点之间有边相连,同类型的节点之间没有边;本实施例中具体将子句组集合中的每个词汇作为词节点,每个子句组作为子句组节点来构建出二分图;
采用如下公式计算所述二分图中任意第J个词节点和第I个子句组节点之间的边的权重:
w′IJ=TF(qJ,sI)·IDF(qJ)
其中,w′IJ表示第J个词节点和第I个子句组节点之间的边的权重,TF(qJ,sI)表示词qJ在子句组sI中的出现频率,IDF(qJ)表示词汇qJ的逆文档频率;
初始化所述二分图中每个词节点的社区归属,将每个词节点分别作为一个独立社区;即表示初始时刻第J个词节点的所属社区为J,子句组节点则暂不分配社区;
迭代更新所述二分图中每个节点的社区分配,包括根据当前时刻词节点的社区分配更新子句组节点的社区分配,具体公式如下:
其中,CI(t+1)表示第t+1次迭代更新后第I个子句组节点的所属社区,表示第t次迭代更新后第J个词节点的所属社区;
以及根据当前时刻子句组节点的社区分配更新词节点的社区分配,具体公式如下:
其中,表示第t+1次迭代更新后第J个词节点的所属社区,cI(t+1)表示第t+1次迭代更新后第I个子句组节点的所属社区;
重复上述迭代更新社区分配的步骤,直至所述二分图中所有节点的社区分配保持不变。
而在本实施例中步骤104具体为:
以计算出的所述边的权重为基础,融合所述每个子句组的领域知识得分和社区结构得分,计算所述每个子句组的最终得分;
具体地,本实施例中计算每个子句组的最终得分的步骤包括:
初始化所述文本网络图中每个节点i的得分,令scorei(0)=1,其中scorei(0)表示第i个节点的初始得分;初始化迭代次数t=1;
采用如下公式迭代更新每个节点的得分:
其中,d和β为预设参数,且0≤d≤1,β取值范围为0-1,且优选取值为0.1;上述公式的第一部分中分子和分母均加了0.1的平滑因子,用于防止出现先验得分为0的情况;
重复上述迭代更新得分的步骤,直至满足以下条件时结束迭代并得到每个节点的最终得分:
当然,若不满足上述条件,则令t=t+1然后继续迭代更新;其中,ε为设定阈值,一般取值为0.0001。
下面举一个利用本实施例的文本摘要生成方法处理一法律起诉书得到文本摘要的具体例子:
输入文本(即待处理文本)范例如下:
“被告人许某甲,男,1971年**月**日生,身份证号码3209191971********,汉族,高中文化,个体经营,出生地和户籍地均为江苏省东台市,住东台市**镇**村**组**号。被告人许某甲因涉嫌交通肇事罪,于2018年10月25日被东台市公安局取保候审,于2019年1月8日被本院决定取保候审,当日由该局执行取保候审。
本案由东台市公安局侦查终结,以被告人许某甲涉嫌交通肇事罪,于2019年1月7向本院移送审查起诉。本院受理后,于2019年1月8日已告知被告人许某甲有权委托辩护人,同日已告知被害人的近亲属有权委托诉讼代理人,依法讯问了被告人许某甲,听取了被害人近亲属的意见,审查了全部案件材料
经依法审查查明:
2018年8月7日4时50分许,被告人许某甲驾驶牌号为苏J8****号轻型普通货车沿东台市**线由东向西行驶至54KM+15M处,左侧通行,撞上在道路步行的许某乙,致许某乙当场死亡。经东台市公安局交通警察大队民警现场勘查、调查取证,认定被告人许某甲负此事故的主要责任。
案发后,被告人许某甲主动报警,归案后,如实供述了犯罪事实。许某甲已部分赔偿被害方损失。
认定上述事实的证据如下:
1.东台市公安局接处警工作登记表、前科劣迹情况说明等书证;
2.证人许某丙的证言;
3.被告人许某甲的供述和辩解;
4.东台市公安局出具的法医学尸体检验意见书、道路交通事故认定书等鉴定意见;
5.东台市公安局制作的现场勘查笔录。
本院认为,被告人许某甲驾驶机动车行驶道路,左侧通行,对路面情况观察不够,遇有情况未能采取有效的安全措施,发生交通事故致一人死亡,负事故的主要责任,其行为触犯了《中华人民共和国刑法》第一百三十三条之规定,犯罪事实清楚,证据确实、充分,应当以交通肇事罪追究其刑事责任。被告人许某甲犯罪以后主动投案,并如实供述了犯罪事实,根据《中华人民共和国刑法》第六十七条第一款的规定,系自首,可以从轻或者减轻处罚。根据《中华人民共和国刑事诉讼法》第一百七十六条的规定,提起公诉,请依法判处。”
基于该输入文本,本实施例的方法各个步骤产生的输出结果样例如下:
(1)将输入文本表示为子句组集合(本例子中K取值为3):
子句组1:被告人许某甲,男,1971年**月**日生,
子句组2:男,1971年**月**日生,身份证号码3209191971********,
……
子句组58:根据《中华人民共和国刑事诉讼法》第一百七十六条的规定,提起公诉,请依法判处。
注:在上述表示中,每行由两部分构成:子句组序号和具体的子句组。
(2)确定子句组集合中任意两个子句组是否属于同一个整句,用I(i,j)表示。例如:I(1,2)=1,I(1,58)=0。
(3)采用jieba分词工具对子句组集合中的每个子句组进行分词:
子句组1:被告人许某甲,男,1971年**月**日生,
子句组2:男,1971年**月**日生,身份证号码3209191971********,
……
子句组58:根据《中华人民共和国刑事诉讼法》第一百七十六条的规定,提起公诉,请依法判处。
(4)融合子句组之间的BM25得分与整句从属关系,计算文本网络图中任意两个节点之间边的权重wij。实验中取α=0.5,k1=2,b=0.75,根据公式可以计算得到:
BM25(1,2)=5.753,w12=0.126
……
BM25(1,58)=0.478,w1,58=0.005
(5)对每个子句组分别计算领域知识得分,可以得到:
KnowledgeScore1=0,LawScore1=0,EntityScore1=0
KnowledgeScore2=0,LawScore2=0,EntityScore2=0
……
KnowledgeScore58=1,LawScore58=1,EntityScore58=0
(6)对每个子句组分别计算社区结构得分。对子句组集合进行社区发现后,可以计算得到:
CommunityScore1=0.004
CommunityScore2=0.004
……
CommunityScore58=0.02
(7)在以子句组为节点构建的文本网络图上,融合领域知识得分与社区结构得分,计算子句组的最终得分。实验中取d=0.4,β=0.1,ε=0.0001,可以计算得到:
Score1=0.015
Score2=0.013
……
Score58=0.025
(8)根据输入文本中各个子句组的最终得分生成摘要。实验中取摘要最大长度阈值L=250,根据最终得分从高到低将子句组中的子句依次加入摘要子句集合中,直至摘要子句集合中所有子句长度之和大于L=250。最后按照子句在输入文本中的位置将摘要子句集合中的各个子句串联起来,可以得到最终生成的文本摘要:
“2018年8月7日4时50分许,被告人许某甲驾驶牌号为苏J8****号轻型普通货车沿东台市**线由东向西行驶至54KM+15M处,左侧通行,撞上在道路步行的许某乙。发生交通事故致一人死亡,负事故的主要责任,其行为触犯了《中华人民共和国刑法》第一百三十三条之规定,犯罪事实清楚,证据确实、充分。被告人许某甲犯罪以后主动投案,并如实供述了犯罪事实,根据《中华人民共和国刑法》第六十七条第一款的规定,系自首,可以从轻或者减轻处罚。根据《中华人民共和国刑事诉讼法》第一百七十六条的规定,提起公诉,请依法判处。”
本实施例与以现有的TextRank算法相比,本实施例的方法生成的文本摘要能够涵盖输入文本的核心信息,且文本摘要中包含了较为全面的法律领域知识。同时,所生成文本摘要的语义连贯性很强,可读性强,包含的冗余信息也较少。相比之下,现有的TextRank算法生成的摘要虽然语义连贯性较好,但含有一些冗余信息,且包含的信息不够全面;而以整句为单位的TextRank算法生成的摘要语义连贯性很差,较难理解,基本不具备可读性。
实施例3
本实施例提供一种电子设备,电子设备可以通过计算设备的形式表现(例如可以为服务器设备),包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中处理器执行计算机程序时可以实现实施例1或2提供的文本摘要生成方法。
图3示出了本实施例的硬件结构示意图,如图3所示,电子设备9具体包括:
至少一个处理器91、至少一个存储器92以及用于连接不同***组件(包括处理器91和存储器92)的总线93,其中:
总线93包括数据总线、地址总线和控制总线。
存储器92包括易失性存储器,例如随机存取存储器(RAM)921和/或高速缓存存储器922,还可以进一步包括只读存储器(ROM)923。
存储器92还包括具有一组(至少一个)程序模块924的程序/实用工具925,这样的程序模块924包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器91通过运行存储在存储器92中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1或2提供的文本摘要生成方法。
电子设备9进一步可以与一个或多个外部设备94(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口95进行。并且,电子设备9还可以通过网络适配器96与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器96通过总线93与电子设备9的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备9使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)***、磁带驱动器以及数据备份存储***等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
实施例4
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现实施例1或2提供的文本摘要生成方法的步骤。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现实施例1或2提供的文本摘要生成方法的步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
实施例5
本实施例提供了一种文本摘要生成***,本实施例的文本摘要生成***能够实现实施例1的文本摘要生成方法,具体地,如图4所示,本实施例的文本摘要生成***包括:
集合生成模块1,用于基于一待处理文本生成一子句组集合,所述子句组集合中包含多个子句组,每个子句组中包含的子句数量相同;
其中,所述集合生成模块1可以首先将待处理文本划分为多个子句,具体可以根据逗号、句号、问号、感叹号、冒号、分号等标点符号来划分出待处理文本中的子句,然后以滑动窗口的方式将所述待处理文本中的连续K个子句连接成一个子句组,根据连接成的子句组构建所述子句组集合,其中K为正整数且K≥2,即每个子句组中包含的子句数量均为K个;
分词模块2,用于对每个子句组中的子句进行分词;
构建模块3,用于以每个子句组为节点构建文本网络图,并计算所述文本网络图中任意两个节点之间的边的权重;
其中,所述构建模块3具体可以采用BM25模型、TF模型或TF-IDF模型计算权重,本实施例优选采用BM25模型来进行计算,所述构建模块具体包括:
BM25得分计算单元31,首先利用语义相关性初始化边权,采用如下公式计算任意两个节点i和节点j之间的BM25得分并作为边的权重的初始值:
在上述公式中还体现了对语句长度的惩罚(具体通过)来体现,以保证语义相关性的度量不会偏向于长句;
其中,IDF(a)的计算公式如下:
其中,BM25(i,j)表示节点i和节点j之间的BM25得分,节点i表示第i个子句组,节点j表示第j个子句组,si表示节点i中的所有词,q∈si表示节点i中的每一个词q,IDF(q)表示词q的逆文档频率,TF(q,sj)表示词q在节点j中的出现频率,Len(sj)表示节点j的总词数,AvgLen表示待处理文本中所有子句组的平均词数,k1和b为预设参数;
在计算IDF(q)的公式中,N表示待处理文本中总共包含的子句组数,freq(q)表示待处理文本中包含词q的子句组数;
增强处理单元32,采用如下公式对节点i和节点j之间的BM25得分进行增强处理并将处理后的结果作为节点i和节点j之间的边的权重:
通过上述增强处理的公式可以在边的权重的计算中融合子句组之间的整句从属关系,若两个子句组属于同一个整句,那么它们之间的语义相关性通常较强;
其中,wij表示节点i和节点j之间的边的权重,α表示增强系数(α的取值大于0,优选值为2),I(i,j)表示节点i和节点j之间的整句从属关系,当节点i和节点j属于同一个整句时,I(i,j)取值为1,当节点i和节点j不属于同一个整句时,I(i,j)取值为0;BM25(i,k)表示节点i和节点k之间的BM25得分,I(i,k)表示节点i和节点k之间的整句从属关系;并且wii=0。
最终得分计算模块4,用于根据所述任意两个节点之间的边的权重计算所述每个子句组的最终得分;
在本实施例中,令scorei(0)=1,其中scorei(0)表示第i个节点的初始得分,然后采用如下公式迭代更新每个节点i的得分:
重复上述迭代更新得分的步骤,直至满足以下条件时结束迭代并得到每个节点的最终得分:
其中,ε为设定阈值;
根据上述操作就可以得到每个子句组的最终得分;
文本摘要生成模块5,用于将所述每个子句组按照最终得分从高到低进行排序,选取排序靠前的若干个子句组,并根据选取的所述若干个子句组生成文本摘要。
具体地,所述文本摘要生成模块5包括:
子句组选取单元51,用于按照最终得分从高到低的顺序将选取的子句组依次加入至摘要文本中;
去重单元52,用于对于摘要文本中的子句进行去重处理,直至去重后的摘要文本中的所有子句的长度之和大于预设长度阈值;
拼接单元53,用于按照子句在所述待处理文本中的顺序将摘要文本中的子句拼接起来,生成最终的文本摘要。
实施例6
本实施例提供了一种文本摘要生成***,本实施例的文本摘要生成***能够实现实施例2的文本摘要生成方法,本实施例在实施例5的基础上做了进一步改进,具体地,如图5所示,本实施例的文本摘要生成***还包括:
辅助得分计算模块6,用于计算所述每个子句组的领域知识得分和社区结构得分;
其中,所述领域知识得分用于表征所述子句组中包含的词与预设领域的相关度,且所述领域知识得分与所述相关度呈正相关;所述社区结构得分用于表征所述子句组所属的社区中包含的子句组的数量,且所述社区结构得分与所述子句组的数量呈负相关;
具体地,本实施例针对的待处理文本为法律起诉书,由于一篇高质量的法律起诉书的摘要通常包含嫌疑人、违法犯罪事实、所触犯法律等信息,因此本实施例根据子句组中法律相关词汇与时间、地点、人物等实体词的出现情况计算其领域知识得分;在计算所述每个子句组的领域知识得分时,采用如下公式进行计算:
KnowledgeScorei=LawScorei+EntityScorei
其中,KnowledgeScorei表示第i个子句组的领域知识得分;
LawScorei表示第i个子句组的法律知识得分,当第i个子句组与预设法律正则表达式相匹配时,LawScorei取值为1,否则LawScorei取值为0;其中,所述预设法律正则表达式为:(.*)中华人民共和国(.*)法(.*);
EntityScorei表示第i个子句组的实体知识得分,当第i个子句组中包含预设词性的词时(具体为同时包含地点词、时间词和人名词),EntityScorei取值为1,否则EntityScorei取值为0;而地点词、时间词、人名词均可采用分词工具进行词性分析来获得,所得分析结果中“ns”词性对应的词即为地点词,“t”词性对应的词即为时间词,“nr”词性对应的词即为人名词。
而在计算所述每个子句组的社区结构得分时,采用如下公式进行计算:
其中,CommunityScorei表示第i个子句组的社区结构得分,N表示待处理文本中总共包含的子句组的数量,Ci为第i个子句组所属的社区;NC为社区数量,由社区发现算法自动确定;A(x,y)为指示函数,当x=y时A(x,y)=1,否则A(x,y)=0;本实施例通过在二分图上采用标签传播算法挖掘子句组集合的社区结构,将子句组集合划分为多个社区,同一社区内的子句组之间的语义相关性更高,在此基础上,每个子句组的社区结构得分为其所属社区大小的倒数;通过上述公式可知,社区中包含的子句组越少,则该社区中每个子句组的社区结构得分越高,该社区结构得分反映了将一个子句组加入为摘要后带来冗余信息的可能性,社区结构得分越高,带来冗余信息的可能性越小。
当计算所述每个子句组的社区结构得分时,所述辅助得分计算模块6还用于对所述子句组集合进行社区划分;所述辅助得分计算模块6具体包括:
二分图构建单元,用于构建二分图,所述二分图包含词节点和子句组节点,且所述二分图中不同类型的节点之间有边相连,同类型的节点之间没有边;本实施例中具体将子句组集合中的每个词汇作为词节点,每个子句组作为子句组节点来构建出二分图;
计算单元,用于采用如下公式计算所述二分图中任意第J个词节点和第I个子句组节点之间的边的权重:
w′IJ=TF(qJ,sI)·IDF(qJ)
其中,w′IJ表示第J个词节点和第I个子句组节点之间的边的权重,TF(qJ,sI)表示词qJ在子句组sI中的出现频率,IDF(qJ)表示词汇qJ的逆文档频率;
社区初始化单元,用于初始化所述二分图中每个词节点的社区归属,将每个词节点分别作为一个独立社区;即表示初始时刻第J个词节点的所属社区为J,子句组节点则暂不分配社区;
社区迭代更新单元,用于迭代更新所述二分图中每个节点的社区分配,包括根据当前时刻词节点的社区分配更新子句组节点的社区分配,具体公式如下:
其中,CI(t+1)表示第t+1次迭代更新后第I个子句组节点的所属社区,表示第t次迭代更新后第J个词节点的所属社区;
以及根据当前时刻子句组节点的社区分配更新词节点的社区分配,具体公式如下:
其中,表示第t+1次迭代更新后第J个词节点的所属社区,cI(t+1)表示第t+1次迭代更新后第I个子句组节点的所属社区;
所述社区迭代更新单元用于重复执行上述迭代更新社区分配的操作,直至所述二分图中所有节点的社区分配保持不变。
而在本实施例中,所述最终得分计算模块4具体会以计算出的所述边的权重为基础,融合所述每个子句组的领域知识得分和社区结构得分,计算所述每个子句组的最终得分时,所述最终得分计算模块4具体包括:
得分初始化单元,用于初始化所述文本网络图中每个节点i的得分,令scorei(0)=1,其中scorei(0)表示第i个节点的初始得分;初始化迭代次数t=1;
得分迭代更新单元,用于采用如下公式迭代更新每个节点的得分:
其中,d和β为预设参数,且0≤d≤1,β取值范围为0-1,且优选取值为0.1;上述公式的第一部分中分子和分母均加了0.1的平滑因子,用于防止出现先验得分为0的情况;
所述得分迭代更新单元用于重复执行上述迭代更新得分的操作,直至满足以下条件时结束迭代并得到每个节点的最终得分:
当然,若不满足上述条件,则令t=t+1然后继续迭代更新;其中,ε为设定阈值,一般取值为0.0001。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
Claims (20)
1.一种文本摘要生成方法,其特征在于,包括以下步骤:
基于一待处理文本生成一子句组集合,所述子句组集合中包含多个子句组,每个子句组中包含的子句数量相同;
对每个子句组中的子句进行分词;
以每个子句组为节点构建文本网络图,并计算所述文本网络图中任意两个节点之间的边的权重;
根据所述任意两个节点之间的边的权重计算所述每个子句组的最终得分;
将所述每个子句组按照最终得分从高到低进行排序,选取排序靠前的若干个子句组,并根据选取的所述若干个子句组生成文本摘要。
2.如权利要求1所述的文本摘要生成方法,其特征在于,所述计算所述文本网络图中任意两个节点之间的边的权重的步骤包括:
采用BM25模型、TF模型或TF-IDF模型计算权重。
3.如权利要求2所述的文本摘要生成方法,其特征在于,当采用BM25模型计算权重时,所述计算所述文本网络图中任意两个节点之间的边的权重的步骤具体包括:
采用如下公式计算任意两个节点i和节点j之间的BM25得分:
其中,IDF(q)的计算公式如下:
其中,BM25(i,j)表示节点i和节点j之间的BM25得分,节点i表示第i个子句组,节点j表示第j个子句组,si表示节点i中的所有词,q∈si表示节点i中的每一个词q,IDF(q)表示词q的逆文档频率,TF(q,sj)表示词q在节点j中的出现频率,Len(sj)表示节点j的总词数,AvgLen表示待处理文本中所有子句组的平均词数,k1和b为预设参数;
在计算IDF(q)的公式中,N表示待处理文本中总共包含的子句组数,freq(q)表示待处理文本中包含词q的子句组数;
采用如下公式对节点i和节点j之间的BM25得分进行增强处理并将处理后的结果作为节点i和节点j之间的边的权重:
其中,wij表示节点i和节点j之间的边的权重,α表示增强系数,I(i,j)表示节点i和节点j之间的整句从属关系,当节点i和节点j属于同一个整句时,I(i,j)取值为1,当节点i和节点j不属于同一个整句时,I(i,j)取值为0;BM25(i,k)表示节点i和节点k之间的BM25得分,I(i,k)表示节点i和节点k之间的整句从属关系。
4.如权利要求1-3中任意一项所述的文本摘要生成方法,其特征在于,所述计算所述每个子句组的最终得分的步骤之前还包括:
计算所述每个子句组的领域知识得分和/或社区结构得分;
其中,所述领域知识得分用于表征所述子句组中包含的词与预设领域的相关度,且所述领域知识得分与所述相关度呈正相关;所述社区结构得分用于表征所述子句组所属的社区中包含的子句组的数量,且所述社区结构得分与所述子句组的数量呈负相关;
所述计算所述每个子句组的最终得分的步骤具体包括:
以计算出的所述边的权重为基础,融合所述每个子句组的领域知识得分和/或社区结构得分,计算所述每个子句组的最终得分。
5.如权利要求4所述的文本摘要生成方法,其特征在于,在所述计算所述每个子句组的领域知识得分和/或社区结构得分的步骤中,
当计算所述每个子句组的领域知识得分时,采用如下公式进行计算:
KnowledgeScorei=LawScorei+EntityScorei
其中,KnowledgeScorei表示第i个子句组的领域知识得分;LawScorei表示第i个子句组的法律知识得分,当第i个子句组与预设法律正则表达式相匹配时,LawScorei取值为1,否则LawScorei取值为0;EntityScorei表示第i个子句组的实体知识得分,当第i个子句组中包含预设词性的词时,EntityScorei取值为1,否则EntityScorei取值为0;
当计算所述每个子句组的社区结构得分时,采用如下公式进行计算:
其中,CommunityScorei表示第i个子句组的社区结构得分,N表示待处理文本中总共包含的子句组的数量,Ci为第i个子句组所属的社区;NC为社区数量,由社区发现算法自动确定;A(x,y)为指示函数,当x=y时A(x,y)=1,否则A(x,y)=0。
6.如权利要求5所述的文本摘要生成方法,其特征在于,在所述计算所述每个子句组的领域知识得分和/或社区结构得分的步骤中,当计算所述每个子句组的社区结构得分时,采用如下步骤对所述子句组集合进行社区划分:
构建二分图,所述二分图包含词节点和子句组节点,且所述二分图中不同类型的节点之间有边相连,同类型的节点之间没有边;
采用如下公式计算所述二分图中任意第J个词节点和第I个子句组节点之间的边的权重:
wIJ=TF(qJ,sI)·IDF(qJ)
其中,w′IJ表示第J个词节点和第I个子句组节点之间的边的权重,TF(qJ,sI)表示词qJ在子句组sI中的出现频率,IDF(qJ)表示词汇qJ的逆文档频率;
初始化所述二分图中每个词节点的社区归属,将每个词节点分别作为一个独立社区;
迭代更新所述二分图中每个节点的社区分配,包括根据当前时刻词节点的社区分配更新子句组节点的社区分配,具体公式如下:
其中,CI(t+1)表示第t+1次迭代更新后第I个子句组节点的所属社区,表示第t次迭代更新后第J个词节点的所属社区;
以及根据当前时刻子句组节点的社区分配更新词节点的社区分配,具体公式如下:
其中,表示第t+1次迭代更新后第J个词节点的所属社区,cI(t+1)表示第t+1次迭代更新后第I个子句组节点的所属社区;
重复上述迭代更新社区分配的步骤,直至所述二分图中所有节点的社区分配保持不变。
7.如权利要求5所述的文本摘要生成方法,其特征在于,在所述计算所述每个子句组的最终得分的步骤中,当以计算出的所述边的权重为基础,同时融合每个子句组的领域知识得分和社区结构得分时,计算所述每个子句组的最终得分具体包括以下步骤:
初始化所述文本网络图中每个节点的得分,令scorei(0)=1,其中scorei(0)表示第i个节点的初始得分;
采用如下公式迭代更新每个节点的得分:
其中,d和β为预设参数,且0≤d≤1,β取值范围为0-1;
重复上述迭代更新得分的步骤,直至满足以下条件时结束迭代并得到每个节点的最终得分:
其中,ε为设定阈值。
8.如权利要求1所述的文本摘要生成方法,其特征在于,所述根据选取的所述若干个子句组生成文本摘要的步骤具体包括:
按照最终得分从高到低的顺序将选取的子句组依次加入至摘要文本中,并且对于摘要文本中的子句进行去重处理,直至去重后的摘要文本中的所有子句的长度之和大于预设长度阈值;
按照子句在所述待处理文本中的顺序将摘要文本中的子句拼接起来,生成最终的文本摘要。
9.如权利要求1所述的文本摘要生成方法,其特征在于,所述基于一待处理文本生成一子句组集合的步骤具体包括:
将所述待处理文本划分为多个子句,以滑动窗口的方式将所述待处理文本中的连续K个子句连接成一个子句组,根据连接成的子句组构建所述子句组集合,其中K为正整数且K≥2。
10.一种文本摘要生成***,其特征在于,包括:
集合生成模块,用于基于一待处理文本生成一子句组集合,所述子句组集合中包含多个子句组,每个子句组中包含的子句数量相同;
分词模块,用于对每个子句组中的子句进行分词;
构建模块,用于以每个子句组为节点构建文本网络图,并计算所述文本网络图中任意两个节点之间的边的权重;
最终得分计算模块,用于根据所述任意两个节点之间的边的权重计算所述每个子句组的最终得分;
文本摘要生成模块,用于将所述每个子句组按照最终得分从高到低进行排序,选取排序靠前的若干个子句组,并根据选取的所述若干个子句组生成文本摘要。
11.如权利要求10所述的文本摘要生成***,其特征在于,所述构建模块用于采用BM25模型、TF模型或TF-IDF模型计算权重。
12.如权利要求11所述的文本摘要生成***,其特征在于,当采用BM25模型计算权重时,所述构建模块具体包括:
BM25得分计算单元,用于采用如下公式计算任意两个节点i和节点j之间的BM25得分:
其中,IDF(q)的计算公式如下:
其中,BM25(i,j)表示节点i和节点j之间的BM25得分,节点i表示第i个子句组,节点j表示第j个子句组,si表示节点i中的所有词,q∈si表示节点i中的每一个词q,IDF(q)表示词q的逆文档频率,TF(q,sj)表示词q在节点j中的出现频率,Len(sj)表示节点j的总词数,AvgLen表示待处理文本中所有子句组的平均词数,k1和b为预设参数;
在计算IDF(q)的公式中,N表示待处理文本中总共包含的子句组数,freq(q)表示待处理文本中包含词q的子句组数;
增强处理单元,用于采用如下公式对节点i和节点j之间的BM25得分进行增强处理并将处理后的结果作为节点i和节点j之间的边的权重:
其中,wij表示节点i和节点j之间的边的权重,α表示增强系数,I(i,j)表示节点i和节点j之间的整句从属关系,当节点i和节点j属于同一个整句时,I(i,j)取值为1,当节点i和节点j不属于同一个整句时,I(i,j)取值为0;BM25(i,k)表示节点i和节点k之间的BM25得分,I(i,k)表示节点i和节点k之间的整句从属关系。
13.如权利要求10-12中任意一项所述的文本摘要生成***,其特征在于,所述文本摘要生成***还包括:
辅助得分计算模块,用于计算所述每个子句组的领域知识得分和/或社区结构得分;
其中,所述领域知识得分用于表征所述子句组中包含的词与预设领域的相关度,且所述领域知识得分与所述相关度呈正相关;所述社区结构得分用于表征所述子句组所属的社区中包含的子句组的数量,且所述社区结构得分与所述子句组的数量呈负相关;
所述最终得分计算模块具体用于以计算出的所述边的权重为基础,融合所述每个子句组的领域知识得分和/或社区结构得分,计算所述每个子句组的最终得分。
14.如权利要求13所述的文本摘要生成***,其特征在于,当计算所述每个子句组的领域知识得分时,所述辅助得分计算模块用于采用如下公式进行计算:
KnowledgeScorei=LawScorei+EntityScorei
其中,KnowledgeScorei表示第i个子句组的领域知识得分;LawScorei表示第i个子句组的法律知识得分,当第i个子句组与预设法律正则表达式相匹配时,LawScorei取值为1,否则LawScorei取值为0;EntityScorei表示第i个子句组的实体知识得分,当第i个子句组中包含预设词性的词时,EntityScorei取值为1,否则EntityScorei取值为0;
当计算所述每个子句组的社区结构得分时,所述辅助得分计算模块用于采用如下公式进行计算:
其中,CommunityScorei表示第i个子句组的社区结构得分,N表示待处理文本中总共包含的子句组的数量,Ci为第i个子句组所属的社区;NC为社区数量,由社区发现算法自动确定;A(x,y)为指示函数,当x=y时A(x,y)=1,否则A(x,y)=0。
15.如权利要求14所述的文本摘要生成***,其特征在于,当计算所述每个子句组的社区结构得分时,所述辅助得分计算模块还用于对所述子句组集合进行社区划分;所述辅助得分计算模块具体包括:
二分图构建单元,用于构建二分图,所述二分图包含词节点和子句组节点,且所述二分图中不同类型的节点之间有边相连,同类型的节点之间没有边;
计算单元,用于采用如下公式计算所述二分图中任意第J个词节点和第I个子句组节点之间的边的权重:
w′IJ=TF(qJ,sI)·IDF(qJ)
其中,w′IJ表示第J个词节点和第I个子句组节点之间的边的权重,TF(qJ,sI)表示词qJ在子句组sI中的出现频率,IDF(qJ)表示词汇qJ的逆文档频率;
社区初始化单元,用于初始化所述二分图中每个词节点的社区归属,将每个词节点分别作为一个独立社区;
社区迭代更新单元,用于迭代更新所述二分图中每个节点的社区分配,包括根据当前时刻词节点的社区分配更新子句组节点的社区分配,具体公式如下:
其中,CI(t+1)表示第t+1次迭代更新后第I个子句组节点的所属社区,表示第t次迭代更新后第J个词节点的所属社区;
以及根据当前时刻子句组节点的社区分配更新词节点的社区分配,具体公式如下:
其中,表示第t+1次迭代更新后第J个词节点的所属社区,cI(t+1)表示第t+1次迭代更新后第I个子句组节点的所属社区;
所述社区迭代更新单元用于重复执行上述迭代更新社区分配的操作,直至所述二分图中所有节点的社区分配保持不变。
16.如权利要求14所述的文本摘要生成***,其特征在于,当所述最终得分计算模块以计算出的所述边的权重为基础,融合所述每个子句组的领域知识得分和社区结构得分,计算所述每个子句组的最终得分时,所述最终得分计算模块具体包括:
得分初始化单元,用于初始化所述文本网络图中每个节点的得分,令scorei(0)=1,其中scorei(0)表示第i个节点的初始得分;
得分迭代更新单元,用于采用如下公式迭代更新每个节点的得分:
其中,d和β为预设参数,且0≤d≤1,β取值范围为0-1;
所述得分迭代更新单元用于重复执行上述迭代更新得分的操作,直至满足以下条件时结束迭代并得到每个节点的最终得分:
其中,ε为设定阈值。
17.如权利要求10所述的文本摘要生成***,其特征在于,所述文本摘要生成模块包括:
子句组选取单元,用于按照最终得分从高到低的顺序将选取的子句组依次加入至摘要文本中;
去重单元,用于对于摘要文本中的子句进行去重处理,直至去重后的摘要文本中的所有子句的长度之和大于预设长度阈值;
拼接单元,用于按照子句在所述待处理文本中的顺序将摘要文本中的子句拼接起来,生成最终的文本摘要。
18.如权利要求10所述的文本摘要生成***,其特征在于,所述集合生成模块具体用于将所述待处理文本划分为多个子句,以滑动窗口的方式将所述待处理文本中的连续K个子句连接成一个子句组,根据连接成的子句组构建所述子句组集合,其中K为正整数且K≥2。
19.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述的文本摘要生成方法。
20.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的文本摘要生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910635062.2A CN110334192B (zh) | 2019-07-15 | 2019-07-15 | 文本摘要生成方法及***、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910635062.2A CN110334192B (zh) | 2019-07-15 | 2019-07-15 | 文本摘要生成方法及***、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110334192A true CN110334192A (zh) | 2019-10-15 |
CN110334192B CN110334192B (zh) | 2021-09-24 |
Family
ID=68146741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910635062.2A Active CN110334192B (zh) | 2019-07-15 | 2019-07-15 | 文本摘要生成方法及***、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110334192B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110781669A (zh) * | 2019-10-24 | 2020-02-11 | 泰康保险集团股份有限公司 | 文本关键信息提取方法与装置、电子设备、存储介质 |
CN111241267A (zh) * | 2020-01-10 | 2020-06-05 | 科大讯飞股份有限公司 | 摘要提取和摘要抽取模型训练方法及相关装置、存储介质 |
CN113127632A (zh) * | 2021-05-17 | 2021-07-16 | 同济大学 | 基于异质图的文本摘要方法及装置、存储介质和终端 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6397209B1 (en) * | 1996-08-30 | 2002-05-28 | Telexis Corporation | Real time structured summary search engine |
CN105183710A (zh) * | 2015-06-23 | 2015-12-23 | 武汉传神信息技术有限公司 | 一种文档摘要自动生成的方法 |
CN105868175A (zh) * | 2015-12-03 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 摘要生成方法及装置 |
CN108628833A (zh) * | 2018-05-11 | 2018-10-09 | 北京三快在线科技有限公司 | 原创内容摘要确定方法及装置,原创内容推荐方法及装置 |
-
2019
- 2019-07-15 CN CN201910635062.2A patent/CN110334192B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6397209B1 (en) * | 1996-08-30 | 2002-05-28 | Telexis Corporation | Real time structured summary search engine |
CN105183710A (zh) * | 2015-06-23 | 2015-12-23 | 武汉传神信息技术有限公司 | 一种文档摘要自动生成的方法 |
CN105868175A (zh) * | 2015-12-03 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 摘要生成方法及装置 |
CN108628833A (zh) * | 2018-05-11 | 2018-10-09 | 北京三快在线科技有限公司 | 原创内容摘要确定方法及装置,原创内容推荐方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110781669A (zh) * | 2019-10-24 | 2020-02-11 | 泰康保险集团股份有限公司 | 文本关键信息提取方法与装置、电子设备、存储介质 |
CN111241267A (zh) * | 2020-01-10 | 2020-06-05 | 科大讯飞股份有限公司 | 摘要提取和摘要抽取模型训练方法及相关装置、存储介质 |
CN111241267B (zh) * | 2020-01-10 | 2022-12-06 | 科大讯飞股份有限公司 | 摘要提取和摘要抽取模型训练方法及相关装置、存储介质 |
CN113127632A (zh) * | 2021-05-17 | 2021-07-16 | 同济大学 | 基于异质图的文本摘要方法及装置、存储介质和终端 |
Also Published As
Publication number | Publication date |
---|---|
CN110334192B (zh) | 2021-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Nunez‐Mir et al. | Automated content analysis: addressing the big literature challenge in ecology and evolution | |
Maleki et al. | A comprehensive literature review of the rank reversal phenomenon in the analytic hierarchy process | |
CN110334192A (zh) | 文本摘要生成方法及***、电子设备及存储介质 | |
US8832126B2 (en) | Custodian suggestion for efficient legal e-discovery | |
CN105868175A (zh) | 摘要生成方法及装置 | |
US8356245B2 (en) | System and method of automatically mapping a given annotator to an aggregate of given annotators | |
JP6061337B2 (ja) | 規則生成装置及び抽出装置 | |
Jeong et al. | Intellectual structure of biomedical informatics reflected in scholarly events | |
US20150347467A1 (en) | Dynamic creation of domain specific corpora | |
CN109241298A (zh) | 语义数据存储调度方法 | |
CN104462408A (zh) | 一种基于主题建模的多粒度情感分析方法 | |
Szczuka et al. | Clustering of rough set related documents with use of knowledge from DBpedia | |
JP2021140228A (ja) | 広告文自動作成システム | |
Ross et al. | A case-based reasoning system for conflict resolution: design and implementation | |
CN116703328B (zh) | 一种项目评审方法及*** | |
KR101783791B1 (ko) | 프로버넌스 관리를 위한 압축 장치 및 방법 | |
Jeong et al. | Discovery of research interests of authors over time using a topic model | |
CN114969001B (zh) | 一种数据库元数据字段匹配方法、装置、设备及介质 | |
Mahoney et al. | Explainable Text Classification Techniques in Legal Document Review: Locating Rationales without Using Human Annotated Training Text Snippets | |
Raffat et al. | Ontology: A scientific classification technique | |
JP2004171220A (ja) | 文書管理装置および方法 | |
Mohemad et al. | Ontological-based information extraction of construction tender documents | |
Alnababteh et al. | Associative Classification Based on Incremental Mining (ACIM) | |
Fonou-Dombeu et al. | Adaptive search and selection of domain ontologies for reuse on the semantic web | |
JP2002269120A (ja) | 文書分類装置、文書分類方法及び該文書分類方法を実行するプログラム記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |