CN113505213B - 关键句提取方法、系统、计算机可读存储介质 - Google Patents
关键句提取方法、系统、计算机可读存储介质 Download PDFInfo
- Publication number
- CN113505213B CN113505213B CN202111055741.6A CN202111055741A CN113505213B CN 113505213 B CN113505213 B CN 113505213B CN 202111055741 A CN202111055741 A CN 202111055741A CN 113505213 B CN113505213 B CN 113505213B
- Authority
- CN
- China
- Prior art keywords
- answer
- sentence
- sample
- question
- target
- 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.)
- Active
Links
Images
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/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- 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/35—Clustering; Classification
- G06F16/355—Class or cluster creation or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- 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)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种关键句提取方法、系统、计算机可读存储介质,其中关键句提取方法包括以下步骤:获取目标问题和目标答案;对目标答案进行分句处理,获得若干答案句;计算各答案句与目标问题的相关性,获得相应的相关性评分;将各答案句进行两两组合,获得若干答案对,计算答案对中两个答案句之间的连贯性,获得相应的连贯性评分;基于连贯性评分对各答案句进行聚类,获得若干组句子类簇;提取句子类簇中各答案句所对应的相关性评分,基于所提取的相关性评分计算获得句子类簇与目标问题的相关度;提取相关度最大的句子类簇中各答案句,获得相应的关键句。本发明所抽取的关键句同时兼顾连贯性和相关性,能够准确表达目标答案的中心内容。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种关键句提取技术。
背景技术
随着互联网信息爆发式的增长,使得人们获得有效信息的成本越来越高,如何从海量信息中快速获取有用信息,显得尤为重要。
在问答搜索或检索式问答场景中,基于用户所提出的问题检索相应的答复文本并反馈,当检索获得的答复文本较多,或答复文本较长时,用户难以快速理解答案相关信息。
发明内容
本发明针对现有技术中用户难以快速获取并理解答复文本中有效信息的缺点,提供了一种关键句提取技术,通过提取各答复文本的关键句以便于用户快速准确理解答复文本。
为了解决上述技术问题,本发明通过下述技术方案得以解决:
一种关键句提取方法,包括以下步骤:
获取目标问题和目标答案,目标答案为所述目标问题所对应的,待抽取关键句的答案文本;
对所述目标答案进行分句处理,获得若干答案句;
计算各答案句与所述目标问题的相关性(相关程度),获得相应的相关性评分;
将各答案句进行两两组合,获得若干答案对,计算所述答案对中两个答案句之间的连贯性(连贯程度),获得相应的连贯性评分;
基于所述连贯性评分对各答案句进行聚类,获得若干组句子类簇;
提取句子类簇中各答案句所对应的相关性评分,基于所提取的相关性评分计算获得所述句子类簇与所述目标问题的相关度,例如求句子类簇中各答案句所对应的相关性评分的平均分作为相关度;
提取相关度最大的句子类簇中各答案句,获得相应的关键句,由于答案句在目标答案中具有顺序,各关键句按照其在目标答案中的顺序依次输出,即可兼顾连贯性和相关性,便于用户快速理解目标答案的中心内容。
注:
计算相关性评分所需的相关数据为目标问题和答案句,获得由目标答案分句所得的答案句后,即可执行计算相关性评分的步骤;
计算连贯性评分所需的相关数据为答案句,获得由目标答案分句所得的答案句后,即可执行计算连贯性评分的步骤;
在实际使用中基于运行环境,本领域技术人员可自行设定计算相关性评分和连贯性评分的顺序,如先计算相关性评分再计算连贯性评分,先计算连贯性评分再计算相关性评分,或同时计算相关性评分和连贯性评分;
计算相关性评分和连贯性评分的顺序并不会影响本技术方案的实现;
同理,计算句子类簇与所述目标问题的相关度的步骤,所需的相关数据是句子类聚和相关性评分,获得句子类簇及所述句子类簇中各答案句对应的相关性评分后,即可执行相关度的计算步骤;
由上可知,撰写顺序不代表上述各步骤的执行顺序,当获得执行所需的相关数据时,即可执行对应步骤。
作为一种可实施方式:
将答案对输入预设的连贯性模型,由所述连贯性模型输出相应的连贯性评分;
训练所述连贯性模型的方法包括以下步骤:
获取问题样本和与所述问题样本相对应的答案样本,将各答案样本进行分句,获得若干个答句样本;
基于所述答句样本构建连贯正样本和连贯负样本,所述连贯正样本和所述连贯负样本均为两句答句样本构成的答句样本对,其中连贯正样本由同一段落中相邻的两句答句样本构成,本领域技术人员可根据实际需要自行设置连贯负样本的构建规则,如从不同段落中随机抽取答句样本,或抽取同一段落中不相邻的答句样本;
基于所述连贯正样本和所述连贯负样本训练获得所述连贯性模型。
作为一种可实施方式:
将目标问题分别与各答案句相组合,构成若干组问答对;
将所述问答对输入至预设的相关性模型,由所述相关性模型输出所相应的相关性评分。
作为一种可实施方式,训练所述相关性模型的方法包括以下步骤:
基于问题样本和各答句样本构建相关正样本和相关负样本,所述相关正样本和所述相关负样本均为问题样本和答句样本所构成的问答样本对;
基于所述相关正样本和所述相关负样本训练获得所述相关性模型。
基于问题样本和答句样本相关性标注问答样本对完成相关正样本或所述相关负样本,可由人工标注各问答样本对为相关正样本或相关负样本。
作为一种可实施方式:
连贯性模型和相关性模型均包括依次相连的BERT网络、全连接层和softmax层。
即,连贯性模型和相关性模型采用相同的模型架构,仅所采用的训练数据不同。
作为一种可实施方式:
将所述答句样本输入至预设的问题生成模型,由所述问题生成模型输出相应的生成问题;
对所述生成问题和相应的问题样本进行相似度计算,获得问题相似度;
基于所述问题相似度,按照预设的抽取规则从问答样本对中抽取相关正样本和相关负样本。
当答句样本与相应的问题样本相关度较高时,基于答句样本所预测的生成问题与问题样本的问题相似度较高,故可根据问题相似度,从问答样本对中抽取相关正样本和相关负样本进行模型训练。
由于答案样本中并非每一句话都与问题样本相关,如由人工判定,手动标注相应的正样本和负样本,工作量大且标注效率低;本申请中通过预测各答句的问题,与问题样本相关性高的答句,所预测获得的生成问题也将于问题样本相关,从而能够自动标注相应的正样本和负样本。
作为一种可实施方式,训练所述问题生成模型的方法包括以下步骤:
将问题样本和与所述问题样本相对应的答案样本进行拼接,获得拼接数据;
对所述拼接数据中各字符的类型进行标注,获得标注数据,其中类型为问题或答案;
基于问题样本和与所述问题相对应的答案样本构建引入注意力机制的mask矩阵;
基于所述拼接数据、所述标注数据和所述mask矩阵训练获得所述问题生成模型。
作为一种可实施方式:
获取所述问题样本的长度len_t;
获取所述答案样本的长度len_s;
构建mask矩阵MATmask,MATmask[i][j]的维度为len_t+len_s,MATmask[i][j]表示mask矩阵中第i行,第j列的值;
当i<len_s,且j<len_s时,MATmask[i][j]=1;
当i≥len_s,且j<i时,MATmask[i][j]=1。
其余位置MATmask[i][j]的值为0;
MATmask[i][j]为1时表示进行attention计算,为0时表示不进行attention计算。
本发明还提出一种关键句提取系统,包括:
数据构造模块,用于获取目标问题和目标答案,还用于对所述目标答案进行分句处理,获得若干答案句;
相关性计算模块,用于计算各答案句与所述目标问题的相关性,获得相应的相关性评分;
连贯性计算模块,用于将各答案句进行两两组合,获得若干答案对,计算所述答案对中两个答案句之间的连贯性,获得相应的连贯性评分;
聚类模块,用于基于所述连贯性评分对各答案句进行聚类,获得若干组句子类簇;
句子类簇评分模块,用于提取句子类簇中各答案句所对应的相关性评分,基于所提取的相关性评分计算获得所述句子类簇与所述目标问题的相关度;
提取模块,用于提取相关度最大的句子类簇中各答案句,获得相应的关键句。
本发明还提出一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述任意一项所述方法的步骤。
本发明由于采用了以上技术方案,具有显著的技术效果:
本发明中,计算各组答案对的连贯性评分,在基于连贯性评分对各答案句进行聚类,使得各句子类簇表达的语义连贯完整;基于各答案句与目标问题的相关性评分评估句子类簇与目标问题的相关度,与目标问题的相关度最大的句子类簇最能体现目标答案的中心内容,在实际使用过程中,通过提取相关度最大的句子类簇中的答案句作为关键句,令各关键句按照其在目标答案中的先后顺序依次输出,同时兼顾连贯性和相关性,能够向用户准确表达目标答案的中心内容,便于用户快速获取有效信息。
本发明中,还通过预测各答句样本所对应的生成问题,计算相对应的生成问题和问题样本的相似度,以自动提取问答样本对中的相关正样本和相关负样本,无需人工参与,工作效率高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一种关键句提取方法的流程示意图;
图2是mask矩阵示意图;
图3是案例中模型构建及应用的流程示意图;
图4是本发明一种关键句提取系统的模块连接示意图。
具体实施方式
下面结合实施例对本发明做进一步的详细说明,以下实施例是对本发明的解释而本发明并不局限于以下实施例。
实施例1、一种关键句提取方法,如图1所示,包括以下步骤:
S100、获取目标问题和目标答案;
所述目标问题为用户输入的问题,目标问题将具有至少一个相对应的答复文本,依次将各答复文本作为目标答案进行关键句提取。
S200、对所述目标答案进行分句处理,获得若干答案句;
S300、计算各答案句与所述目标问题的相关性,获得相应的相关性评分;
S400、将各答案句进行两两组合,获得若干答案对,计算所述答案对中两个答案句之间的连贯性,获得相应的连贯性评分;
本步骤所述的答案句亦为步骤S200分句处理所得的答案句;
S500、基于所述连贯性评分对各答案句进行聚类,获得若干组句子类簇;
S600、提取句子类簇中各答案句所对应的相关性评分,基于所提取的相关性评分计算获得所述句子类簇与所述目标问题的相关度;
本步骤中答案句所对应的相关性评分为步骤S300计算所得的相关性评分,用于体现该答案句与目标问题的相关性;
S700、提取相关度最大的句子类簇中各答案句,获得相应的关键句。
注:上述序号仅用于标识各步骤,不限定上述各步骤的执行顺序,当获得执行所需的相关数据时,即可执行对应步骤,例如获得由目标答案分句所得的答案句后,即可执行步骤S300计算相关性评分,还可执行步骤S400计算连贯性评分。
现有技术中往往基于目标问题从预先构建答案库中提取相应的答复文本,并计算目标问题和各答复文本的相似度,按照相似度从大到小的顺序输出各答复文本。
但在实际使用过程中,需要用户遍历各答复文本以寻找所需的答案,当答复文本内容较长时、答复文本数量较多时,用户均难以快速获取有效信息。
本实施例中,依次将各答复文本作为目标答案,通过提取目标答案中的关键句,能够使用户基于所提取的关键句快速、准确的知悉各答复文本的中心内容。
现有技术中,往往从答复文本中提取与目标答案相似度最高的一句或多句答案句作为关键句,但此方案所提取的关键句的连贯性和完整性均较差,仅能说明目标答案中涉及目标问题的相关答复,但难以准确地表达目标答案的中心内容,无法辅助用户准确了解目标答案的中心内容以快速获取有效信息。
本实施例中,计算各组答案对的连贯性评分,在基于连贯性评分对各答案句进行聚类,使得各句子类簇表达的语义连贯完整;基于各答案句与目标问题的相关性评分评估句子类簇与目标问题的相关度,与目标问题的相关度最大的句子类簇最能体现目标答案的中心内容,在实际使用过程中,通过提取相关度最大的句子类簇中的答案句作为关键句,令各关键句按照其在目标答案中的先后顺序依次输出,同时兼顾连贯性和相关性,能够向用户准确表达目标答案的中心内容,便于用户快速获取有效信息。
进一步地,步骤S400中计算所述答案对中两个答案句之间的连贯性,获得相应的连贯性评分的具体步骤为:
将答案对输入预设的连贯性模型,由所述连贯性模型输出相应的连贯性评分;
训练所述连贯性模型的方法包括以下步骤:
P110、获取问题样本和与所述问题样本相对应的答案样本,将各答案样本进行分句,获得若干个答句样本;
P120、基于所述答句样本构建连贯正样本和连贯负样本,所述连贯正样本和所述连贯负样本均为两句答句样本构成的答句样本对,其中连贯正样本包括同一段落中相邻的两句答句样本;
本领域技术人员可根据实际需要自行设定构建连贯负样本的规则,例如:
随机采样同一段落中不相邻的两句答句样本对作为连贯负样本;
随机采样同一答案样本中、不同段落中的两句答句样本对作为连贯负样本;
随机采样不同答案样本中的两句答句样本对作为连贯负样本;
故本实施例不对构建连贯负样本的进行详细限定;
P130、基于所述连贯正样本和所述连贯负样本训练获得所述连贯性模型。
本实施例中,所述连贯性模型包括依次相连的BERT网络、全连接层和softmax层。所述BERT网络的输入是文本;训练过程中,输入为作为连贯正样本或连贯负样本的答句样本对;连贯性评价过程中,输入为答案对。
全连接层的输入为BERT网络的输出,全连接层的输出为softmax层的输入,由softmax层输出相应的连贯性评分。
进一步地,步骤S300中计算各答案句与所述目标问题的相关性,获得相应的相关性评分的具体步骤为:
S310、将目标问题分别与各答案句相组合,构成若干组问答对;
S320、将所述问答对输入至预设的相关性模型,由所述相关性模型输出所相应的相关性评分。
本领域技术人员可利用现有已公开的任意一种相关性模型计算相关性评分,还可按照以下步骤训练相关性模型,步骤为:
P210、基于问题样本和各答句样本构建相关正样本和相关负样本,所述相关正样本和所述相关负样本均为问题样本和答句样本所构成的问答样本对;
所述问题样本为上述步骤P110中所获取的问题样本,所述答句样本为上述步骤P110中对答案样本进行分句所获取答句样本。
例如问题样本为“咳嗽看什么科?”,答句样本为“冬季天气寒冷干燥,很多人都会咳嗽”,由此可见答案中某些句子与对应的问题并不相关,将此类答句样本和问题样本所构成的问答样本对作为相关负样本,如答句样本为“我们可以前往呼吸科就诊”,其与上述问题样本相关,则将此类答句样本和问题样本所构成的问答样本对作为相关正样本;本领域技术人员可根据实际需要,手动对问答样本对进行正负样本标注,以获得相应的相关正样本和相关负样本。
P220、基于所述相关正样本和所述相关负样本训练获得所述相关性模型。
所述相关性模型的模型结构与上述连贯性模型的模型结构相同,均包括依次相连的BERT网络、全连接层和softmax层,仅模型的输入和输出不同;
相关性模型在训练过程中的输入为相关正样本或所述相关负样本,在相关性评价过程中的输入为问答对,输出为相关性评分。
由人工手动对问答样本对进行标注,以获取相关正样本和相关负样本的方式将消耗大量的人力,标注效率低,进一步地,步骤P210基于问题样本和各答句样本构建相关正样本和相关负样本,具体为:
P310、将所述答句样本输入至预设的问题生成模型,由所述问题生成模型输出相应的生成问题;
P320、对所述生成问题和相应的问题样本进行相似度计算,获得问题相似度;
既,计算答句样本所对应的生成问题和问题样本之间的相似度。
在实际使用过程中,本领域技术人员可根据实际需要,自行选择相似度计算方式,能够表征生成问题和问题样本之间的相似度即可,本实施例中将生成问题和问题样本之间的jaccard作为相应的问题相似度。
P330、基于所述问题相似度,按照预设的抽取规则从问答样本对中抽取相关正样本和相关负样本。
本实施例中,预设相似度阈值,当所述问题相似度大于相似度阈值时,将生成问题所对应的问答样本对作为相关正样本,否则,将生成问题所对应的问答样本对作为相关负样本;
如答句样本“冬季天气寒冷干燥,很多人都会咳嗽”对应的生成问题为“冬天会对健康造成哪些影响”,该生成问题与相应的问题样本“咳嗽看什么科?”的问题相似度小于相似度阈值,故问题样本“咳嗽看什么科?”与答句样本“冬季天气寒冷干燥,很多人都会咳嗽”所构成的问答样本对将作为相关负样本。
本领域技术人员还可根据实际需要自行扩充规则,以扩充相关负样本,本实施例不对其作具体限定,例如,随机选取问题样本,计算两个问题样本之间的相似度,当相似度小于等于预设的相似度阈值时,一问题样本与另一问题样本所对应的答句样本构成相关负样本。
本实施例通过基于答句预测生成问题,当答句与原始问题相关性较强时,所预测的生成问题与原始问题相似度较高,从而能够基于生成问题与相应的原始问题的问题相似度,自动对问答样本对进行正负样本标注,以获得相应的相关正样本和相关负样本,此方案无需人工参与,即可快速、准确地完成正负样本标注,能够有效提高标注效率,从而提高相关性模型的训练效率。
进一步地,训练所述问题生成模型的方法包括以下步骤:
P410、将问题样本和与所述问题样本相对应的答案样本进行拼接,获得拼接数据;
P420、对所述拼接数据中各字符的类型进行标注,获得标注数据,其中类型为问题或答案;
P430、基于问题样本和与所述问题相对应的答案样本构建引入注意力机制的mask矩阵;
具体为:
获取所述问题样本的长度len_t;
获取所述答案样本的长度len_s;
构建mask矩阵MATmask,MATmask[i][j]的维度为len_t+len_s,MATmask[i][j]表示mask矩阵中第i行,第j列的值;
当i<len_s,且j<len_s时,MATmask[i][j]=1,即,答案样本中各字符之间均可做attention计算;
当i≥len_s,且j<i时,MATmask[i][j]=1,既,问题样本中的字符,可以与答案样本中各字符做attention计算,还可以与问题样本中位于该字符之前的字符做attention计算,但不能与问题样本中位于该字符之后的字符做attention计算。
参照图2,图2中S1表示答案样本对应的数据,S2表示问题样本对应的数据,深色区域表示不能做attention计算的区域。
P440、基于所述拼接数据、所述标注数据和所述mask矩阵训练获得所述问题生成模型。
本领域技术人员可根据实际需要自行选择现有已公开的模型作为问题生成模型,如Encoder-Decoder结构网络,或任意一种以公开的预训练语言模型。本实施例采用预训练语言模型UNILM(Unifi ed pre-trained Language Model)。UNILM在BERT(BidirectionalEncoder Representations from Transformers)模型结构的基础上,通过修改mask方式来实现文本生成任务。
参照图3,以下通过一个具体的案例对本实施例所公开的关键句抽取方法进行详细介绍。
1、构建问题生成模型的训练数据TRAINgen:
从互联网中收集问题和答案,获取问答数据集DATAqa,DATAqa={(quen,ansn)∣n<N},其中,quen表示问题样本,ansn表示答案样本,N表示样本数。从上述问答数据集DATAqa中提取文本长度在预设的最大文本阈值lenmax和最小文本阈值lenmin之间的答案,以及该答案所对应的问题,获得训练数据TRAINgen。
由于问题生成模型的输入为答案中的句子,输出为所生成的问题,为使得生成的训练数据与实际处理的数据接近,故本案例中过滤答案过长的问答;同时,为了保证输入对答案句子具有一定的上下文语境,故本案例中还过滤答案过短的问答;
2、训练问题生成模型:
本案例中对现有的预训练语言模型UNILM(Unifi ed pre-trained LanguageModel)进行训练,获得相应的问题生成模型。
对于步骤1中生成的训练数据TRAINgen中的每个问答对(quen,ansn),以答案样本ansn作为源句子,以对应的问题样本quen作为目标句子,基于源句子ansn和目标句子quen构建拼接数据、标注数据和mask矩阵;
具体为:
将源句子和目标句子切分为token序列,并以<CLS>作为开始标记,以<SEP>作为分隔和结束标记,将所得token序列进行拼接;
将拼接所得的token序列进行id化,获得拼接数据,将其记作token_ids,并标注作为标注数据的segment_ids来区分源句子和目标句子,其中0表示源句子,1表示目标句子。
基于预先设置的最大输入长度max_length,对于超出的部分进行截断,不足的部分进行padding操作,以<PAD>作为padding标记。
例如:
token与id映射为{“<CLS>”:0,“<SEP>”:1,“咳”:2,“嗽”:3,“看”:4,“什”:5,“么”:6,“科”:7,“可”:8,“以”:9,“呼”:10,“吸”:11};
源句子为“咳嗽看什么科”,目标句子为“可以看呼吸科”,那么经过tokenize处理并拼接得到“<CLS>咳嗽看什么科<SEP>可以看呼吸科<SEP>”,所得token_ids为[0,2,3,4,5,6,7,1,8,9,4,10,11,7,1,],segment_ids为[0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,]。
构造attention的mask矩阵MATmask,设源句子长度为len_s,目标句子长度为len_t,则MATmask方阵的维度为len_t+len_s,图2中S1表示源句子对应的token,S2表示目标句子对应的token;源句子中每个token都是可以相互attention计算,所以当i<len_s,且j<len_s时MATmask[i][j]=1。目标句子token可以与源句子token以及当前位置前面的目标句子token做attention计算,但不能与后面的token做attention计算,所以当i≥len_s,且j<i时MATmask[i][j]=1。MATmask其余位置为0,表示不能做attention计算。
参照图2,图2中深色部分表示对应的mask矩阵中0的位置。
将上述拼接数据token_ids、标注数据segment_ids和mask作为BERT模型的输入,以交叉熵作为损失函数,选择训练过程中损失值loss最小的模型作为问题生成模型。
损失函数的公式为:
其中,N表示样本数,M表示类别数,本案例中类别包括问题和答案,ynm表示样本n的预测类别与类别m是否相同,相同为1,不同为0,pnm表示样本n在类别m上的预测概率。
3、生成与答案样本相对应的生成问题:
将问答数据集DATAqa中每条答案样本ansn进行分句,得到若干条答句样本ans_sen,即获得{ans_sen0,ans_sen1,……},将句子转化成token_ids和segment_ids的形式,作为问题生成模型的输入,源句子部分记作X,目标句子部分记作Y。
问题生成模型按照递归的方式进行解码,每一次预测一个位置token的输出概率。采用beam search方法,每一步预测保留当前概率最大的k个结果,直到预测输出结束字符或者达到最大输出长度等结束条件,则终止预测,选择概率最大的预测序列作为输出结果。
例如,假设beam search参数k=2。第一个位置预测概率最大的两个字是{“可”:0.6,“看”:0.3}。在预测第二个位置的字时,分别以{“可”,“看”}作为输入,得到两组预测结果,概率最大两个字分别是{“以”:0.7,“么”:0.1}和{“什”:0.5,“呼”:0.2},那么第二步预测概率最大的两个序列是{“可以”:0.42,“看什”:0.15}。依此类推,得到后续的序列预测结果。
遍历问答数据集DATAqa,按照上述步骤生成答句样本ans_senl对应的生成问题que_genl,得到数据集GEN_DATAqa,GEN_DATAqa={(que_genx,ans_senx)∣x<X},其中X为答句样本的总数。
4、构建相关性模型的训练数据:
基于所得数据集GEN_DATAqa和问答数据集DATAqa中的问答数据,构建用于训练相关性模型的相关正样本和相关负样本,具体为:
4.1、对于数据集GEN_DATAqa中的样本(que_genx,ans_senx),过滤停用词,然后计算生成问题与que_genx相对应的原始问题que_ori的相似度sim(que_genx,que_ori)。相似度可以通过文本token的Jaccard系数来计算。若相似度sim(que_genx,que_ori)大于设定的第一相似度阈值upper_sim_thr,则将(que_ori,ans_senx)作为相关正样本;若小于设定的第二相似度阈值lower_sim_thr,则将(que_ori,ans_senx)作为相关负样本。
注:
本案例中相似度阈值包括第一相似度阈值和第二相似度阈值,其中第一相似度阈值大于等于第二相似度阈值,本领域技术人员可根据实际需要进行设置;
本领域技术人员还可基于实际情况,对问答样本对做全量计算或随机采样。
4.2、扩充相关负样本:
4.2.1、对于上一步得到的相关正样本,随机选取若干个原始问题,计算相关正样本所对应原始问题que_ori与随机选取的其他原始问题que_orik之间的相似度;当相似度小于设定的第二相似度阈值lower_sim_thr,则将(que_orik,ans_senl)作为相关负样本;
4.2.2、随机选择一些原始问题,针对这些问题,再随机选择一些非该问题对应的答案句子与之配对,获得相应的相关负样本。
基于问题样本、答句样本和标签构建相关性模型的训练数据TRAINDM,TRAINDM={(que_ori,ans_sen,label),…},其中label为样本标签,相关正样本对应的标签为1,相关负样本对应的标签为0。
5、训练相关性模型:
构建相关性网络,本案例中相关性网络采用基于BERT的fine-tuning模式,包括依次相连的BERT网络、全连接层和softmax层。
参照步骤2中问题生成模型的训练步骤,训练相关性模型,具体为:
将训练数据按照步骤2进行处理,获得相应的token_ids和segment_ids;
利用token_ids和segment_ids和步骤4中所标注的样本标签label训练相关性网络,选择训练过程中损失值loss最小的模型作为相关性模型。
6、构建连贯性模型的训练数据:
问答数据集DATAqa中的答案样本ans进行段落切分,并按照预设的段落合并规则进行段落合并,获得相应的段落列表,ans=[para0,para1,…];本案例中将以冒号结尾的段落与其在后相邻的段落进行合并,将具有相同列表符的、段落长度小于预设的段落长度阈值的相邻段落进行合并。
按照标点对各段落进行分句,获得各段落对应的答句,即,para=[seg0,seg1,…]。
随机采样同一段落中相邻的答句对作为连贯正样本。
随机采样同一段落中不相邻的答句对作为连贯负样本。
随机采样不同段落中的答句对作为连贯负样本。
随机采样不同答案中的答句对作为连贯负样本。
将得到的连贯正样本、连贯负样本按照预设的比例进行整合,得到连贯性模型训练数据TRAINcon。
7、训练连贯性模型:
利用训练数据TRAINcon按照步骤5中训练相关性模型的步骤训练连贯性模型;
即,相关性模型和连贯性模型的模型结构训练方式都相同,仅使用的训练数据不同。
8、对目标答案进行关键句提取,具体步骤为:
获取目标问题和目标答案,对目标答案进行句子切分,获得若干个答案句,即ans=[sen0,sen1,…]。
将目标问题分别与各答案句进行组合,获得相应的问答对(que,sen),将问答对(que,sen)作为原始输入,将其转换为token_ids和segment_ids的形式,输入到相关性模型进行评分预测,得到各答案句所对应的相关性评分scorerel(que,sen)。
还将各答案句进行两两组合,获得相应的答案对(sena,senb)转换为token_ids和segment_ids的形式,输入到连贯性模型进行预测,得到相应的连贯性评分scorecon(sena,senb)。
建立描述各答案对所对应的连贯性评分矩阵MATcon,MATcon为h×h矩阵,其中h为答案句的总数,第a行,第b列矩阵元素MATcon[a][b]的值等于相应的连贯性评分scorecon(sena,senb);基于现有已公开的任意一种聚类算法对上述连贯性评分矩阵进行聚类,使连贯性评分高的答案对划分到相同的句子类簇中,连贯性评分低的答案对划分到不同的句子类簇中,本案例中采用AP聚类(Affinity Propagation Clustering);
AP聚类是一种基于数据间"消息传递"思想的聚类算法,具有不需要指定聚类数目、对初始值不敏感等优点,本案例中使用开源机器学习库scikit-learn中实现的AP算法进行聚类,设置主要参数如下:
X:相似度矩阵,本案例中采用连贯性评分矩阵MATcon;
affinity:相似度矩阵计算方式,默认是Euclidean(欧氏距离),这里设置为precomputed,即,对应的连贯性评分;
preference:相似度矩阵对角线上的值,本案例中设置为相似度矩阵的中值,该取值将影响句子类簇的数目。
经过若干次迭代,聚类完成后,得到基于连贯性评分的句子类簇;
计算各句子类簇的平均相关性评分,即,获取句子类簇中各答案句所对应的相关性评分scorerel(que,sen)后求平均,获得相应的平均相关性评分,将所得平均相关性评分作为句子类簇与目标问题的相关度:
提取平均相关性评分最大的句子类簇中的答案句,并按照答案句原有的顺序对所提取的答案句进行排列,获得目标答案的关键句。
实施例2、一种答案句抽取系统,如图4所示,包括:
数据构造模块100,用于获取目标问题和目标答案还用于对所述目标答案进行分句处理,获得若干答案句;
相关性计算模块200,用于计算各答案句与所述目标问题的相关性,获得相应的相关性评分;
连贯性计算模块300,用于将各答案句进行两两组合,获得若干答案对,计算所述答案对中两个答案句之间的连贯性,获得相应的连贯性评分;
聚类模块400,用于基于所述连贯性评分对各答案句进行聚类,获得若干组句子类簇;
句子类簇评分模块500,用于提取句子类簇中各答案句所对应的相关性评分,基于所提取的相关性评分计算获得所述句子类簇与所述目标问题的相关度;
提取模块600,用于提取相关度最大的句子类簇中各答案句,获得相应的关键句。
进一步地,所述连贯性计算模块300,用于将答案对输入预设的连贯性模型,由所述连贯性模型输出相应的连贯性评分;
进一步地,所述相关性计算模块200,用于将目标问题分别与各答案句相组合,构成若干组问答对;还用于将所述问答对输入至预设的相关性模型,由所述相关性模型输出所相应的相关性评分。
进一步地,所述关键句提取系统还包括第一模型训练模块;
所述第一模型训练模块,用于构建连贯正样本和连贯负样本,还用于基于所述连贯正样本和所述连贯负样本训练获得所述连贯性模型;
进一步地,所述关键句提取系统还包括第二模型训练模块;
所述第二模型训练模块,用于构建相关正样本和相关负样本,还用于基于所述连贯正样本和所述连贯负样本训练获得所述相关性模型;
进一步地,所述第二训练模块包括样本构建单元,其包括;
问题生成单元,用于将所述答句样本输入至预设的问题生成模型,由所述问题生成模型输出相应的生成问题;
相似度计算单元,用于对所述生成问题和相应的问题样本进行相似度计算,获得问题相似度;
抽取单元,用于基于所述问题相似度,按照预设的抽取规则从问答样本对中抽取相关正样本和相关负样本。
进一步地,所述关键句提取系统还包括第三模型训练模块,所述第三模型训练模块包括:拼接单元,用于将问题样本和与所述问题样本相对应的答案样本进行拼接,获得拼接数据;
标注单元,用于对所述拼接数据中各字符的类型进行标注,获得标注数据,其中类型为问题或答案;
矩阵构建单元,用于基于问题样本和与所述问题相对应的答案样本构建引入注意力机制的mask矩阵;
训练单元,用于基于所述拼接数据、所述标注数据和所述mask矩阵训练获得所述问题生成模型。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
实施例3、一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现实施例1中任意一项关键句提取方法的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
需要说明的是:
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
凡依本发明专利构思所述的构造、特征及原理所做的等效或简单变化,均包括于本发明专利的保护范围内。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,只要不偏离本发明的结构或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。
Claims (10)
1.一种关键句提取方法,其特征在于包括以下步骤:
获取目标问题和目标答案;
对所述目标答案进行分句处理,获得若干答案句;
计算各答案句与所述目标问题的相关性,获得相应的相关性评分;
将各答案句进行两两组合,获得若干答案对,计算所述答案对中两个答案句之间的连贯性,获得相应的连贯性评分;
基于所述连贯性评分对各答案句进行聚类,获得若干组句子类簇;
提取句子类簇中各答案句所对应的相关性评分,基于所提取的相关性评分计算获得所述句子类簇与所述目标问题的相关度;
提取相关度最大的句子类簇中各答案句,获得相应的关键句。
2.根据权利要求1所述的关键句提取方法,其特征在于:
将答案对输入预设的连贯性模型,由所述连贯性模型输出相应的连贯性评分;
训练所述连贯性模型的方法包括以下步骤:
获取问题样本和与所述问题样本相对应的答案样本,将各答案样本进行分句,获得若干个答句样本;
基于所述答句样本构建连贯正样本和连贯负样本,所述连贯正样本和所述连贯负样本均为两句答句样本构成的答句样本对,其中连贯正样本包括同一段落中相邻的两句答句样本;
基于所述连贯正样本和所述连贯负样本训练获得所述连贯性模型。
3.根据权利要求2所述的关键句提取方法,其特征在于:
将目标问题分别与各答案句相组合,构成若干组问答对;
将所述问答对输入至预设的相关性模型,由所述相关性模型输出所相应的相关性评分。
4.根据权利要求3所述的关键句提取方法,其特征在于,训练所述相关性模型的方法包括以下步骤:
基于问题样本和各答句样本构建相关正样本和相关负样本,所述相关正样本和所述相关负样本均为问题样本和答句样本所构成的问答样本对;
基于所述相关正样本和所述相关负样本训练获得所述相关性模型。
5.根据权利要求3所述的关键句提取方法,其特征在于:
连贯性模型和相关性模型均包括依次相连的BERT网络、全连接层和softmax层。
6.根据权利要求4或5所述的关键句提取方法,其特征在于:
将所述答句样本输入至预设的问题生成模型,由所述问题生成模型输出相应的生成问题;
对所述生成问题和相应的问题样本进行相似度计算,获得问题相似度;
基于所述问题相似度,按照预设的抽取规则从问答样本对中抽取相关正样本和相关负样本。
7.根据权利要求6所述的关键句提取方法,其特征在于,训练所述问题生成模型的方法包括以下步骤:
将问题样本和与所述问题样本相对应的答案样本进行拼接,获得拼接数据;
对所述拼接数据中各字符的类型进行标注,获得标注数据,其中类型为问题或答案;
基于问题样本和与所述问题相对应的答案样本构建引入注意力机制的mask矩阵;
基于所述拼接数据、所述标注数据和所述mask矩阵训练获得所述问题生成模型。
8.根据权利要求7所述的关键句提取方法,其特征在于:
获取所述问题样本的长度len_t;
获取所述答案样本的长度len_s;
构建mask矩阵MATmask,MATmask[i][j]的维度为len_t+len_s,MATmask[i][j]表示mask矩阵中第i行,第j列的值;
当i<len_s,且j<len_s时,MATmask[i][j]=1;
当i≥len_s,且j<i时,MATmask[i][j]=1。
9.一种关键句提取系统,其特征在于,包括:
数据构造模块,用于获取目标问题和目标答案,还用于对所述目标答案进行分句处理,获得若干答案句;
相关性计算模块,用于计算各答案句与所述目标问题的相关性,获得相应的相关性评分;
连贯性计算模块,用于将各答案句进行两两组合,获得若干答案对,计算所述答案对中两个答案句之间的连贯性,获得相应的连贯性评分;
聚类模块,用于基于所述连贯性评分对各答案句进行聚类,获得若干组句子类簇;
句子类簇评分模块,用于提取句子类簇中各答案句所对应的相关性评分,基于所提取的相关性评分计算获得所述句子类簇与所述目标问题的相关度;
提取模块,用于提取相关度最大的句子类簇中各答案句,获得相应的关键句。
10.一种计算机可读存储介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至8任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111055741.6A CN113505213B (zh) | 2021-09-09 | 2021-09-09 | 关键句提取方法、系统、计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111055741.6A CN113505213B (zh) | 2021-09-09 | 2021-09-09 | 关键句提取方法、系统、计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113505213A CN113505213A (zh) | 2021-10-15 |
CN113505213B true CN113505213B (zh) | 2021-12-24 |
Family
ID=78016963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111055741.6A Active CN113505213B (zh) | 2021-09-09 | 2021-09-09 | 关键句提取方法、系统、计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113505213B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114091427A (zh) * | 2021-11-19 | 2022-02-25 | 海信电子科技(武汉)有限公司 | 一种图像文本相似度模型训练方法及显示设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107480143A (zh) * | 2017-09-12 | 2017-12-15 | 山东师范大学 | 基于上下文相关性的对话话题分割方法和系统 |
CN110032636A (zh) * | 2019-04-30 | 2019-07-19 | 合肥工业大学 | 基于强化学习的情感对话异步生成模型生成文本的方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105893523B (zh) * | 2016-03-31 | 2019-05-17 | 华东师范大学 | 利用答案相关性排序的评估度量来计算问题相似度的方法 |
US20170364804A1 (en) * | 2016-06-15 | 2017-12-21 | International Business Machines Corporation | Answer Scoring Based on a Combination of Specificity and Informativity Metrics |
CN109033320B (zh) * | 2018-07-18 | 2021-02-12 | 无码科技(杭州)有限公司 | 一种双语新闻聚合方法及系统 |
CN111382263B (zh) * | 2018-12-27 | 2023-05-02 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置和系统 |
CN113032541B (zh) * | 2021-04-02 | 2023-05-12 | 同方知网数字出版技术股份有限公司 | 一种基于bert并融合句群检索的答案抽取方法 |
-
2021
- 2021-09-09 CN CN202111055741.6A patent/CN113505213B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107480143A (zh) * | 2017-09-12 | 2017-12-15 | 山东师范大学 | 基于上下文相关性的对话话题分割方法和系统 |
CN110032636A (zh) * | 2019-04-30 | 2019-07-19 | 合肥工业大学 | 基于强化学习的情感对话异步生成模型生成文本的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113505213A (zh) | 2021-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112035669B (zh) | 基于传播异质图建模的社交媒体多模态谣言检测方法 | |
CN106897559B (zh) | 一种面向多数据源的症状体征类实体识别方法及装置 | |
CN112256828B (zh) | 医学实体关系抽取方法、装置、计算机设备及可读存储介质 | |
CN111444340A (zh) | 文本分类和推荐方法、装置、设备及存储介质 | |
CN111209384A (zh) | 基于人工智能的问答数据处理方法、装置及电子设备 | |
CN110931128B (zh) | 非结构化医疗文本无监督症状自动识别方法、系统、装置 | |
CN111966812B (zh) | 一种基于动态词向量的自动问答方法和存储介质 | |
CN111221939A (zh) | 评分方法、装置和电子设备 | |
CN112270196A (zh) | 实体关系的识别方法、装置及电子设备 | |
CN112487139A (zh) | 基于文本的自动出题方法、装置及计算机设备 | |
CN110413768A (zh) | 一种文章题目自动生成方法 | |
CN110688489A (zh) | 基于交互注意力的知识图谱推演方法、装置和存储介质 | |
CN111241248A (zh) | 同义问句生成模型训练方法及系统、同义问句生成方法 | |
CN111160034B (zh) | 一种实体词的标注方法、装置、存储介质及设备 | |
CN113590810A (zh) | 摘要生成模型训练方法、摘要生成方法、装置及电子设备 | |
CN113505583A (zh) | 基于语义决策图神经网络的情感原因子句对提取方法 | |
CN113505213B (zh) | 关键句提取方法、系统、计算机可读存储介质 | |
CN112580351B (zh) | 一种基于自信息损失补偿的机器生成文本检测方法 | |
KR20200084816A (ko) | 콜드 스타트를 해결하기 위한 신규 컨텐츠 분석 분석 방법, 장치 및 컴퓨터 프로그램 | |
CN115964997A (zh) | 选择题的混淆选项生成方法及装置、电子设备、存储介质 | |
CN114281966A (zh) | 问题模板生成方法、问答方法、装置与电子设备 | |
CN111061851B (zh) | 基于给定事实的问句生成方法及系统 | |
US20220277145A1 (en) | Domain Context Ellipsis Recovery for Chatbot | |
CN114385803A (zh) | 一种基于外部知识和片段选择的抽取式阅读理解方法 | |
CN113255324B (zh) | 一种用于专利数据中发明人姓名消歧的方法 |
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 |