CN112883171A - 基于bert模型的文档关键词抽取方法及装置 - Google Patents
基于bert模型的文档关键词抽取方法及装置 Download PDFInfo
- Publication number
- CN112883171A CN112883171A CN202110142917.5A CN202110142917A CN112883171A CN 112883171 A CN112883171 A CN 112883171A CN 202110142917 A CN202110142917 A CN 202110142917A CN 112883171 A CN112883171 A CN 112883171A
- Authority
- CN
- China
- Prior art keywords
- word
- document
- weight
- attention
- words
- 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
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/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/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3346—Query execution using probabilistic model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
一种基于BERT模型的文档关键词抽取方法,其包括以下步骤:将文档集合中的每篇文档通过BERT模型进行编码,并提取BERT模型生成的文档语义对每个子词的注意力权重;将子词还原成词语,并将子词的注意力权重聚合为词语的注意力权重;将文档中不同位置的同一词语的注意力权重聚合为词语的与位置无关的注意力权重,记为p(word_weight|doc);计算每个词语在文档集合上的注意力权重,记为p(word_weight|corpus);以及联合p(word_weight|doc)和p(word_weight|corpus),并选取N个最终注意力权重最高的词语作为文档关键词。该方法利用BERT模型提取文档语义表示来计算词语注意力权重分布,最终实现关键词的抽取,兼顾词语频率信息的同时,有效地解决传统无监督算法忽略语义问题,提高了关键词抽取的准确率和召回率。
Description
技术领域
本发明涉及信息处理技术领域,特别涉及一种基于BERT模型的文档关键词抽取方法及装置。
背景技术
随着互联网技术蓬勃发展和网络信息的急剧增长,利用文档关键词抽取技术可以标引文档内容特征、构建信息检索、快速提取文档中心内容,提升读者检阅查阅效率,应对信息过载问题。
关键词是能够表达文档核心内容的词语,包括单词、术语和短语,包含一定信息量,对文本内容的理解有促进作用。从技术角度出发,文档关键词抽取是文本检索、文档比较、摘要生成、文档分类和聚类等文本挖掘研究的基础性工作;从用户角度出发,关键词抽取允许用户快速窥探文章整体思想,判断是否存在所需信息,提升信息查找效率。
现有针对关键词自动抽取方法主要有以下四种方式:
(1)以词频-逆文档频率(Term Frequency–Inverse Document Frequency,简写为TF-IDF)为代表的基于统计方法:定义词频(Term Frequency,简写为TF)为某单词在文档中出现的次数,文档频率(Document Frequency,简写为DF)为文档集合中包含该单词的文档数量,逆文档频率(Inverse Document Frequency,简写为IDF)为计算TF-IDF=TF×IDF 作为单词重要性得分,选取N个TF-IDF得分最高的单词作为关键词。
(2)以文档排名(TextRank)为代表的基于词图模型方法:将文档分词,以词语为节点,利用共现关系构造任两词语节点之间的边,具体来说,当且仅当两词语节点对应词汇在长度为K的窗口中共同出现时,才会在这两词语节点之间构建连边。依照上述方法构建出文档的有向图表达,然后基于随机游走思想多次迭代,传播更新节点的权重直到图中每个节点权重收敛稳定。最后,将按节点权重倒排所有词语节点,选取K个权重最高的词语作为文档关键词。
(3)以隐狄利克雷分布(latent dirichlet allocation,简写为LDA) 为代表的基于传统机器学习的主题模型方法:假设每篇文章的每个词都是以一定概率p(topic|doc)选择了某个主题,并从这个主题中以一定概率 p(word|topic)选择某个词语这样一个过程得到,而p(topic|doc)和 p(word|topic)分别可由分布δ(d)和γ(t)计算得到,基于这些假设对文档生成过程进行建模,模型主要需要学习的参数为狄利克雷分布δ(d)和γ(t),在语料库上对模型进行训练学习直到参数收敛。使用时,将文档经过隐狄利克雷分布模型之后,得到该文档隐含的主题集合(通常文档会有多个主题,概率小的主题将被舍弃);将主题集合中每个主题包含的单词赋给文档作为候选关键词得到候选关键词集合,对每个候选关键词计算每个主题的概率乘以该单词属于该主题的概率之和作为其得分,选取得分最高的N个候选关键词作为最终关键词。
(4)以各种神经网络为代表的基于有监督深度学习的方法:这类方法可以分为两个阶段:第一阶段,构建合适的网络模型用于提取文档中单词或字的向量化表示,这就需要使用标记数据对网络模型进行训练或是微调;第二阶段是基于向量通过各种方法计算每个词或字的权重,选取权重最高N个的作为关键词。
然而,第一,以词频-逆文档频率(TF-IDF)为代表的基于统计方法,虽然简单快速,在长文档和短文档上效果都比较符合实际情况,但是该方法结果会受到整体语料库分布影响,在同类语料库中效果会大打折扣;此外,该方法并没有考虑到序列位置信息,文档开头、尾部和中间的词语被认为同样重要,显然是不准确的;最后,词频-逆文档频率本质上是基于统计的抽取方法,并没有使用到文档、单词的语义信息,因此分词、文本处理等预处理工作的好坏会对最终结果有很大影响。第二,以文档排名(TextRank)为代表的基于词图模型方法,可以充分利用单词间关系,相比于词频-逆文档频率和隐狄利克雷分布主题模型效果更好,但该方法的主要缺点是只能针对单个文档计算,无法利用整个文档集合的信息,因此在短文档或是词汇量较少的文档中,效果会比较差;而对于长文档,该方法计算复杂,可能需要大量计算才能收敛;此外,也缺乏对词语、文档语义信息的有效使用;最后,相比于词频-逆文档频率方法,该方法结果受分词、文本清洗影响更大,尤其是停用词去除部分将直接影响最终结果。第三,以隐狄利克雷分布(简写为LDA)为代表的基于传统机器学习的主题模型方法,如果训练得当,会在在长文档上获得不错的表现,但是当文档长度较短时,由于单词共现矩阵稀疏不足以支撑训练需要,因此效果并不能令人满意;同时该方法不能保证生成主题的质量,抽取的主题中存在意义不大的主题,影响最终结果的准确性;最后,该方法的核心算法本身是一种高度非凸性算法,目前优化求解方法很难有效求解,因此实际使用中,求解结果并不能保证为最优结果,这就使得隐狄利克雷分布主题模型无法保证结果准确性。第四,基于有监督深度学习的方法,相比于前三种无监督方法加入考虑了词语和文档的语义信息,提升了最终效果。但该方法的主要缺点是需要大量高质量标注数据,在很多现实场景中可能并不存在可供使用的标注数据集,因此需要高成本的人工类别标注;此外,在很多场景中可能缺乏足够的先验知识,难以进行人工标注,进一步限制了该类方法的大规模工业级应用。
综上所述,现有的文档关键词抽取技术或是缺乏对文档、单词的语义理解,难以处理同义不同词、歧义词得等情况,或是需要大量标注数据监督模型训练,难以应对标注数据少、人工标注数据成本高等情况;同时,现有技术如果想在特定语料库得到较好的结果,或是需要针对该特定语料库中进行统计或模型训练,或是需要人工针对指定语料库设计分词、数据清洗等预处理工作,不同的语料库间很难进行模型迁移,泛化性较差。
发明内容
针对现有技术的不足,本发明的目的在于提供一种基于BERT模型的文档关键词抽取方法及装置,通过语义信息和文档集合信息抽取出能准确全面表达出文档中心内容的关键词,在不同文档集合间具备很好的迁移性,无需人工分词和标注数据,减少人为工作量,以解决现有关键词抽取方法易受歧义词影响、无法解决同义不同词和提取结果不够准确等缺点。
为了实现上述目的,本发明提供了一种基于BERT模型的文档关键词抽取方法,其包括:步骤1、将文档集合中的每篇文档通过BERT模型进行编码,并提取所述BERT模型生成的文档语义对每个子词的注意力权重;步骤2、将所述子词还原成词语,并将所述子词的注意力权重聚合为所述词语的注意力权重;步骤3、将所述文档中不同位置的同一所述词语的注意力权重聚合为所述词语的与位置无关的注意力权重,记为p(word_weight|doc);步骤4、计算每个所述词语在所述文档集合上的注意力权重,记为p(word_weight|corpus);以及步骤5、联合所述p(word_weight|doc)和所述p(word_weight|corpus)计算所述词语的最终注意力权重,并选取N个所述最终注意力权重最高的所述词语作为所述文档关键词。
上述的基于BERT模型的文档关键词抽取方法,其中,所述步骤1中所述子词的注意力权重为所述BERT模型中的最后一层编码器所生成的。
上述的基于BERT模型的文档关键词抽取方法,其中,所述步骤2中将所述子词还原成词语包括:对于每个所述子词,记录其在所述文档中的起始位置和结束位置,使用分词器对文档进行词语级别的分词,对于切分出来的每个所述词语,记录其在所述文档中的起始位置和结束位置,通过所述子词的起始位置、结束位置以及所述词语的起始位置、结束位置,将所述子词还原成所述词语。
上述的基于BERT模型的文档关键词抽取方法,其中,所述步骤2中将所述子词的注意力权重聚合为所述词语的注意力权重包括:将所述词语的所述子词的注意力权重相加并作为所述词语的注意力权重,或者将所述词语的第一个所述子词作为所述词语的注意力权重。
上述的基于BERT模型的文档关键词抽取方法,其中,所述步骤3中将所述文档中不同位置的同一所述词语的注意力权重聚合为所述词语的与位置无关的注意力权重包括:将不同位置的同一所述词语的注意力权重相加并作为所述词语的与位置无关的注意力权重,或者将不同位置的同一所述词语的注意力权重中的最大者作为所述词语的与位置无关的注意力权重。
上述的基于BERT模型的文档关键词抽取方法,其中,所述步骤5中所述词语的最终注意力权重通过所述p(word_weight|doc)减去所述 p(word_weight|corpus)计算得到。
为了实现上述目的,本发明还提供了一种基于BERT模型的文档关键词抽取装置,其包括:BERT编码单元,用于将文档集合中的每篇文档通过BERT模型进行编码,并提取所述BERT模型生成的文档语义对每个子词的注意力权重;词语还原单元,用于将所述子词还原成词语,并将所述子词的注意力权重聚合为所述词语的注意力权重;文档词语权重计算单元,用于将所述文档中不同位置的同一所述词语的注意力权重聚合为所述词语的与位置无关的注意力权重,记为p(word_weight|doc);文档集合词语权重计算单元,用于计算每个所述词语在所述文档集合上的注意力权重,记为p(word_weight|corpus);以及最终权重计算单元,用于联合所述p(word_weight|doc)和所述 p(word_weight|corpus)计算所述词语的最终注意力权重,并选取N个所述最终注意力权重最高的所述词语作为所述文档关键词。
上述的基于BERT模型的文档关键词抽取装置,其中,所述子词的注意力权重为所述BERT模型中的最后一层编码器所生成的。
上述的基于BERT模型的文档关键词抽取装置,其中,将所述子词还原成词语包括:对于每个所述子词,记录其在所述文档中的起始位置和结束位置,使用分词器对文档进行词语级别的分词,对于切分出来的每个所述词语,记录其在所述文档中的起始位置和结束位置,通过所述子词的起始位置、结束位置以及所述词语的起始位置、结束位置,将所述子词还原成所述词语。
上述的基于BERT模型的文档关键词抽取装置,其中,将所述子词的注意力权重聚合为所述词语的注意力权重包括:将所述词语的所述子词的注意力权重相加并作为所述词语的注意力权重,或者将所述词语的第一个所述子词作为所述词语的注意力权重。
上述的基于BERT模型的文档关键词抽取装置,其中,将所述文档中不同位置的同一所述词语的注意力权重聚合为所述词语的与位置无关的注意力权重包括:将不同位置的同一所述词语的注意力权重相加并作为所述词语的与位置无关的注意力权重,或者将不同位置的同一所述词语的注意力权重中的最大者作为所述词语的与位置无关的注意力权重。
上述的基于BERT模型的文档关键词抽取装置,其中,所述词语的最终注意力权重通过所述p(word_weight|doc)减去所述p(word_weight|corpus)计算得到。
由以上方案可知,本发明的优点在于:无需人工分词和标注数据,减少人为工作量;兼顾词语频率信息的同时,有效地解决传统无监督算法忽略语义问题,并提高了文档关键词抽取的准确率和召回率。
附图说明
图1为本发明一实施例的基于BERT模型的文档关键词抽取方法的流程图。
具体实施方式
为让本发明的上述特征和效果能阐述的更明确易懂,下文特举实施例,并配合说明书附图作详细说明如下。
在进行关键词自动抽取方法研究时,发明人发现现有的无监督文档关键词抽取技术没有利用到文档和单词的语义信息联系,这就会导致最终抽取结果不准确。考虑这样一种情况,能体现文档中心内容的关键词并没有在文档中出现多次。这种情况下,该文档关键词的词频会降低,和该文档关键词共同出现的单词数目也会减少,使得该文档关键词得分较低,最终导致该词语不能被正确选取为文档关键词。例如,在一篇讨论牛奶的文章中,使用常用的牛奶品牌指代牛奶,比如“蒙牛”、“伊利”或“特仑苏”等,通篇中可能牛奶出现的次数可能并不如这些品牌名多。如果基于现有文档关键词抽取方法,那么“蒙牛”、“伊利”或“特仑苏”等词语更可能会被抽取为文档关键词,虽然这些词语能作为文档内容的某一方面体现,但是显然“牛奶”这个词语更能体现文档的中心内容,这就出现了最终抽取结果不准确的情况。此外,由于无监督方法没有使用文档和词语语义信息,因此最终结果会受训练语料影响而可能出现偏差;而现有的有监督深度学习的方法虽然可以解决无监督方法的缺点,但是需要大量高质量标记数据作为训练数据训练模型,标记数据的多少、质量都会影响模型训练的好坏,在大部分现实场景中或是不存在标记数据,或是已有标记数据的质量数量不足以支撑模型训练,需要投入大量人工成本标记数据,极大的限制了该类方法的应用场景。
近来,随着以BERT(Bedirectional Encoder Representation FromTransformers,Transformers的双向编码器表示)为代表预训练语言模型不断提出,越来越多的自然语言处理领域使用预处理语言模型并获得了极大的性能提升。通过在大规模语料上训练,预训练模型学习到单词的通用泛化表示;通过有效建模模型、精心设定训练任务,使得预训练语言模型具备捕捉单词上下文语义信息的能力,这些优势使得预训练语言模型对下游任务具备很强的泛化能力,同时避免了在小数据集上的过拟合。基于这些优势,如果将预训练语言模型用于文档关键词自动抽取领域将可以有效弥补现有的无监督技术无法利用文档和词语上下文语义信息的缺点,解决同义不同词、一词多义等难点;同时,由于预训练语言模型具备很强的泛化性,使得在不同文档集合之间进行直接迁移成为可能。
BERT模型之所以能在自然语言处理的各个领域获得极佳的性能,和其使用的注意力机制(self-Attention)和多头机制(MultiHead)是密不可分的。
注意力机制(Attention)的核心逻辑是为从关注整体到关注重点,本是从人类视觉注意力机制中获得的灵感。当人类视觉在感知东西的时候,面对一个场景,往往会根据需求观察注意特定的一部分;同时,当发现场景中某个部分经常出现自己想观察的东西时,人类就会学到将来再出现类似场景时将注意力放在该部分上。BERT模型使用自注意力机制(self-Attention)关注自身序列的表达,设输入向量序列为则更新公式为:
先是计算Xembed的查询(query)表示、键(key)表示及值(value)表示,然后基于这三种表示更新向量序列。在直觉上,自注意力机制模拟了人类理解语言时会集中注意到一些关键词的行为,在实际使用中,大量实验表明自注意力机制是提升模型性能的高效手段。近来,有研究工作发现能够通过一定的方法获取针对同一输出结果的不同注意力解释V。因此,自注意力机制在理论上是具备可解释性的,能够用于关键词抽取。
多头机制是在自注意力机制中将原始向量空间划分成多个子空间,使得模型能去关注不同方面的信息。使用多头的自注意力机制更新公式变为:
多头机制使用每个头去捕捉不同层次、不同方面的信息,然后将多个头捕获的信息拼映射得到最终的向量表示。BERT模型将实现了多头自注意力机制的模块作为一个基本编码单元,整体BERT模型由多个编码单元堆叠而成。研究表明,在BERT模型中低层编码单元中的多头机制更偏向关注语法信息,顶层编码单元中的多头机制更偏向于关注语义信息,在同一编码单元的头总有一两个头会关注不同于大多数头关注的部分,因此,多头机制确实能捕捉到文档不同层次的丰富特征,能帮助模型对文档进行全面的理解。
通过对BERT模型的研究发现,BERT模型可以很好地理解词语的上下文信息,对文档语义信息进行准确的向量化表示,在不同的文档集合上都表现出很强的泛化能力,同时自注意力机制和多头机制符合关键词抽取思想,因此,提出一种基于BERT模型无监督文档关键词的抽取方法,并利用文档集合信息有效剔除无意义词。具体技术方案如下:
1.将文档集合中的每篇文档通过BERT模型进行编码,提取最后一层编码器内部生成的文档语义对每个子词的注意力权重分布。
2.将子词还原成完整词语,并将文档中子词的注意力权重聚合为完整词语的注意力权重。
3.将文档中不同位置的同一个词语的注意力权重聚合为与位置无关的词注意力权重,记为p(word_weight|doc)。
4.计算词表中词语在文档集合上的的注意力权重分布,记为 p(word_weight|corpus)。
5.联合p(word_weight|corpus)和p(word_weight|doc)计算文档中词语的最终重要性,选取重要性最高的N个作为关键词。
上述的技术方案具有如下几个关键点:
关键点1:使用BERT模型提取文档的整体表达对每个子词的注意力权重。具体来说,如使用BERT模型基础版本(12个编码单元,向量嵌入维度为768 维,多头机制中头个数为12个),首先将文档输入到BERT模型中,输入格式“[CLS]”+文档内容+“[SEP]”,其中文档内容是经过词块分词器(wordpiece 分词器,对于英文是将词语分成一块一块的子词,例如将“loves”、“loved”、“loving”切分成“lov”、“es”、“ed”、“ing”等,对于中文就是将文档按字进行切分,例如将“我爱中国”切分成“我”、“爱”、“中”、“国”)处理过后的“子词”,然后抽取BERT模型最后一层编码器计算的“[CLS]”对所有位置上的“子词”分配的权重,由于BERT模型中的自注意力机制使用了多头注意力机制,如BERT base中有12个头,因此对所有头的结果取平均得到了“[CLS]”对文档中所有位置上的“子词”的注意力权重。技术效果:“[CLS]”可以看作是文档的整体上下文表达,它对于文档中子词的注意力权重代表了该子词对于文档的重要性程度,此操作获得了子词在文档中注意力权重,可以看作子词重要程度的表示。
关键点2:将文档中子词的注意力权重聚合为完整词语的注意力权重。其中使用了两种将子词的注意里权重合并为完整词的注意力权重的方法:(1)将词语的子词注意力权重值相加作为该词语的注意力权重;(2)取该词语的第一个子词代表整体所获得的注意力权重。技术效果:获得了每个位置词语在文档中注意力权重,可以看作特定位置词语重要程度的表示。
关键点3:将文档中不同位置的同一个词语的注意力权值聚合为与位置无关的词语注意力权重,得到文档上的注意力权重分布p(word_weight|doc)。使用两种注意力权重聚合的方法:(1)将同一词语的不同位置上的注意力权重值直接相加;(2)取同一词语不同位置中最大注意力权重作为该词语在本文档内的注意力权重;技术效果:获取到与位置无关的词语在文档中注意力权重,可看作词语重要程度的表示。
关键点4:计算词语在文档集合的重要程度,记为p(word_weight|corpus)。对于出现的每个词语,将其在文档集合中的每篇文档计算得到的重要程度 p(word_weight|doc)取平均,其中,若该词语没有出现在某篇文档中,则将该词语在该文档中的词语的注意力权重设为0;技术效果:保证了低频词语在文档集合上注意力权重较低,高频词语在文档集合上注意力权重较高,为整体方法显式加入了词频特征。
关键点5:计算文档中词语的最终重要性。使用文档上的权重注意力分布减去文档集合上注意力分布,即p(word_weight|doc)- p(word_weight|corpus),得到最终重要性;技术效果:借助语料库知识减少了高频无意义词权重,同时保证了低频重要词权重不受影响,保证了最终抽取关键词的准确性。
下面通过实施例对上述技术方案进行详细描述:
1.将文档集合中的每篇文档通过BERT模型进行编码,提取最后一层编码器内部生成的文档语义对每个子词的注意力权重分布。
其中,文档输入BERT模型的时候,输入格式“[CLS]”+文档内容+“[SEP]”,文档内容为已经利用子词词表进行分词后的格式;在BERT模型不同层编码其生成的文档编码表示中,最后一层编码器输出的向量化表示相对其他层编码器输出具备更高层次的语义、语法等信息,因而最后一层编码器生成的子词注意力权重矩阵相对其他层更符合语义上的相似度。由于BERT模型中的自注意力机制使用了多头注意力方法,每个头都会生成一个注意力权重矩阵,因此最后一层编码器会生成多个注意力权重矩阵,每个注意力权重矩阵代表对应头捕获的子词两两之间相似度,从每个头对应的注意力权重矩阵中抽取“[CLS]”标记对应的行,该行代表该头捕捉到的“[CLS]”标记对文档中所有位置上的子词的注意力权重。将所有头的捕捉到的“[CLS]”标记位对文档中所有位置上的子词的注意力权重取平均,得到“[CLS]”标记对文档中所有位置上的子词的注意力权重,获得了文档语义表达对所有子词的注意力权重。
2.将子词还原成词语,并将文档中子词的注意力权重聚合为词语的注意力权重。
其中,使用位置信息将之前切分后的子词还原成完整词语,对于每个子词,记录其在原始文档中的起始位置和结束位置;使用分词器对文档进行完整词语级别的分词,对于切分出来的每个词语,同样记录其在原始文档中的起始位置和结束位置,通过子词的起始结束位置和完整词语的起始结束位置,将子词还原成原本的完整词语。对于将子词的注意力权重聚合为完整词语的注意力权重,采用两种方法:1)将词语的所有子词注意力权重值相加作为完整词语的注意力权重;2)取完整词语的第一个子词作为完整词语的注意力权重。
3.将文档中不同位置的同一个词语的注意力权重聚合为与位置无关的词语注意力权重,记为p(word_weight|doc)。
其中,采用两种注意力权重聚合的方法:1)将不同位置上的同一个注意力权重值直接相加,该方法的缺点是易受词频的影响,词频高的词语会获得超过合理范围的权重;2)取不同位置上同一词语中最大的注意力权重作为该词词在文档中的注意力权重得分。
4.计算词表中词语在文档集合上的的注意力权重分布,记为 p(word_weight|corpus)。
其中,设文档集合中所有出现过的词语的集合为词表V,首先计算每篇文档中词表V中词语的注意力分布,记作p(word_weight|doc):如果词语出现在该文档中,那么利用步骤1-3计算该词语在该文档的注意力权重;如果词语没有出现在该文档中,那么将该词语在该文档中的注意力权重设为0;得到词表 V中词语在每一篇文档的注意力分布后,针对每个词语,将其在文档集合的所有文档上的注意力权重取平均作为该词语在文档集合上的注意力权重,对所有词语执行此操作,得到词表V中所有词语在文档集合上的注意力权重分布。
5.联合p(word_weight|corpus)和p(word_weight|doc)计算文档中词语的最终重要性,选取重要性最高的N个词语作为关键词。
其中,计算文档中词语重要性时,用词表在文档上的注意力权重分布 p(word_weight|doc)减去词表在文档集合上的注意力权重分布 p(word_weight|corpus),得到词表在文档上真实注意力权重分布,依据真实注意力权重分布选取N个权重最高的词语作为文档关键词。
在此列举一个利用上述步骤抽取文档关键词的示例:假设文档集合中共有 3篇文档,分别为“我爱中国,中国真好”,“我住南京”,“我在北京旅游”,那么该文档集合的词表V为三篇文档中所有出现过的词语,即为{“我”,“爱”,“中国”,“真”,“好”,“住”,“南京”,“在”,“北京”,“旅游”}。
依据步骤1,设计算得到文档“我爱中国,中国真好”子词注意力权重分别为:“我”:0.1、“爱”:0.2、“中”:0.1、“国”:0.1、“中”:0.2、“国”: 0.1、“真”:0.1、“好”:0.1;文档“我住南京”子词注意力权重分别为:“我”: 0.3、“住”:0.3、“南”:0.2、“京”:0.2;文档“我在北京旅游”子词注意力权重分别为:“我”:0.2、“在”:0.1、“北”:0.2、“京”:0.2、“旅”:0.15、“游”:0.15。
依据步骤2,采用子词注意力权重累加方式将子词还原成词语注意力权重,对于文档“我爱中国,中国真好”,根据子词位置可以得出第三个子词“中”和第四个子词“国”是词语“中国”的子词,第五个子词“中”和第六个子词“国”是词语“中国”的子词,因此得到词语注意力权重分别为:“我”:0.1、“爱”:0.2、“中国”:0.2、“中国”:0.3、“真”:0.1、“好”:0.1;对于文档“我住南京”,根据子词位置可以得出第三个子词“南”和第四个子词“京”是词语“南京”的子词,因此得出词语注意力权重分别为:“我”:0.3、“住”: 0.3、“南京”:0.4;对于文档“我在北京旅游”,根据子词位置可以得出第三个子词“北”和第四个子词“京”是词语“北京”的子词”,第五个子词“旅”和第六个子词“游”是词语“旅游”的子词,因此得出词语注意力权重分别为:“我”:0.2、“在”:0.1、“北京”:0.4、“旅游”:0.3。
依据步骤3,采用词语注意力权重累加方式计算与位置无关的词语注意力权重,对于文档“我爱中国,中国真好”,词语“中国”共出现两次,将两次权注意力重累加得到词语“中国”的与位置无关的注意力权重为“0.5”,因此与位置无关的词语注意力权重分别为:“我”:0.1、“爱”:0.2、“中国”:0.5、“真”:0.1、“好”:0.1;对于文档“我住南京”,所有词语只出现一次,因此词语注意力权重不变,与位置无关的词语注意力权重分别为:“我”:0.3、“住”: 0.3、“南京”:0.4;对于文档“我在北京旅游”,所有词语只出现一次,因此词语注意力权重不变,因此与位置无关的词语注意力权重分别为:“我”:0.2、“在”:0.1、“北京”:0.4、“旅游”:0.3。
依据步骤4,计算词表中词语在文档集合上的注意力权重分布,仅以词语“我”和词语“中国”为例,词语“我”在所有文档上都有出现,因此在文档集合上的注意力权重为词语“中国”仅在文档“我爱中国,中国真好”上出现,因此在文档集合上的注意力权重为计算后所有词语在文档集合上的注意力权重分别为:“我”:0.2、“爱”:0.067、“中国”:0.167、“真”:0.033、“好”:0.033、“住”:0.1、“南京”:0.133、“在”: 0.033、“北京”:0.133、“旅游”:0.1。
依据步骤5,计算词语在文档上的真实注意力权重,仅以文档“我爱中国,中国真好”为例,计算得到词语的真实注意力权重分别为:“我”:0.1-0.2=-0.1、“爱”:0.2-0.067=0.133、“中国”:0.5-0.167=0.333、“真”:0.1-0.033=0.067、“好”:0.1-0.033=0.067,因此选取注意力权重最高的“中国”作为文档关键词。
以下为与上述方法实施例对应的装置实施例,本实施例的装置可与上述实施例的方法互相配合实施。上述实施方式中提到的相关技术细节在本实施例的装置中依然有效,为了减少重复,在此不再赘述。
本发明还提供一种基于BERT模型的文档关键词抽取装置,其包括:BERT 编码单元,用于将文档集合中的每篇文档通过BERT模型进行编码,并提取所述BERT模型生成的文档语义对每个子词的注意力权重;词语还原单元,用于将所述子词还原成词语,并将所述子词的注意力权重聚合为所述词语的注意力权重;文档词语权重计算单元,用于将所述文档中不同位置的同一所述词语的注意力权重聚合为所述词语的与位置无关的注意力权重,记为 p(word_weight|doc);文档集合词语权重计算单元,用于计算每个所述词语在所述文档集合上的注意力权重,记为p(word_weight|corpus);以及最终权重计算单元,用于联合所述p(word_weight|doc)和所述 p(word_weight|corpus)计算所述词语的最终注意力权重,并选取N个所述最终注意力权重最高的所述词语作为所述文档关键词。
于一实施例中,上述的基于BERT模型的文档关键词抽取装置,其中,所述子词的注意力权重为所述BERT模型中的最后一层编码器所生成的。
于一实施例中,上述的基于BERT模型的文档关键词抽取装置,其中,将所述子词还原成词语包括:对于每个所述子词,记录其在所述文档中的起始位置和结束位置,使用分词器对文档进行词语级别的分词,对于切分出来的每个所述词语,记录其在所述文档中的起始位置和结束位置,通过所述子词的起始位置、结束位置以及所述词语的起始位置、结束位置,将所述子词还原成所述词语。
于一实施例中,上述的基于BERT模型的文档关键词抽取装置,其中,将所述子词的注意力权重聚合为所述词语的注意力权重包括:将所述词语的所述子词的注意力权重相加并作为所述词语的注意力权重,或者将所述词语的第一个所述子词作为所述词语的注意力权重。
于一实施例中,上述的基于BERT模型的文档关键词抽取装置,其中,将所述文档中不同位置的同一所述词语的注意力权重聚合为所述词语的与位置无关的注意力权重包括:将不同位置的同一所述词语的注意力权重相加并作为所述词语的与位置无关的注意力权重,或者将不同位置的同一所述词语的注意力权重中的最大者作为所述词语的与位置无关的注意力权重。
于一实施例中,上述的基于BERT模型的文档关键词抽取装置,其中,所述词语的最终注意力权重通过所述p(word_weight|doc)减去所述p(word_weight|corpus)计算得到。
综上,本发明提供的基于BERT模型的文档关键词抽取方法及装置,使用 BERT模型的文档关键词抽取技术,通过语义信息自动准确地抽取出能准确全面地表达出文档中心思想的关键词,无需人工干预,能隐式利用到文档序列信息,在不同语料库间具备很好的迁移性,以解决现有的关键词抽取方法无法利用语义信息、无法利用序列信息、易受歧义词影响、无法解决同义不同词和抽取结果不够准确等缺点;并且本发明无需人工干预,其中不存在人为因素,省时省力,同时相比现有技术,更提升了文档关键词抽取的准确率和召回率。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (12)
1.一种基于BERT模型的文档关键词抽取方法,其特征在于,包括:
步骤1、将文档集合中的每篇文档通过BERT模型进行编码,并提取所述BERT模型生成的文档语义对每个子词的注意力权重;
步骤2、将所述子词还原成词语,并将所述子词的注意力权重聚合为所述词语的注意力权重;
步骤3、将所述文档中不同位置的同一所述词语的注意力权重聚合为所述词语的与位置无关的注意力权重,记为p(word_weight|doc);
步骤4、计算每个所述词语在所述文档集合上的注意力权重,记为p(word_weight|corpus);以及
步骤5、联合所述p(word_weight|doc)和所述p(word_weight|corpus)计算所述词语的最终注意力权重,并选取N个所述最终注意力权重最高的所述词语作为所述文档关键词。
2.如权利要求1所述的基于BERT模型的文档关键词抽取方法,其特征在于,所述步骤1中所述子词的注意力权重为所述BERT模型中的最后一层编码器所生成的。
3.如权利要求1所述的基于BERT模型的文档关键词抽取方法,其特征在于,所述步骤2中将所述子词还原成词语包括:
对于每个所述子词,记录其在所述文档中的起始位置和结束位置,使用分词器对文档进行词语级别的分词,对于切分出来的每个所述词语,记录其在所述文档中的起始位置和结束位置,通过所述子词的起始位置、结束位置以及所述词语的起始位置、结束位置,将所述子词还原成所述词语。
4.如权利要求1或3所述的基于BERT模型的文档关键词抽取方法,其特征在于,所述步骤2中将所述子词的注意力权重聚合为所述词语的注意力权重包括:
将所述词语的所述子词的注意力权重相加并作为所述词语的注意力权重,或者将所述词语的第一个所述子词作为所述词语的注意力权重。
5.如权利要求1所述的基于BERT模型的文档关键词抽取方法,其特征在于,所述步骤3中将所述文档中不同位置的同一所述词语的注意力权重聚合为所述词语的与位置无关的注意力权重包括:
将不同位置的同一所述词语的注意力权重相加并作为所述词语的与位置无关的注意力权重,或者将不同位置的同一所述词语的注意力权重中的最大者作为所述词语的与位置无关的注意力权重。
6.如权利要求1所述的基于BERT模型的文档关键词抽取方法,其特征在于,所述步骤5中所述词语的最终注意力权重通过所述p(word_weight|doc)减去所述p(word_weight|corpus)计算得到。
7.一种基于BERT模型的文档关键词抽取装置,其特征在于,包括:
BERT编码单元,用于将文档集合中的每篇文档通过BERT模型进行编码,并提取所述BERT模型生成的文档语义对每个子词的注意力权重;
词语还原单元,用于将所述子词还原成词语,并将所述子词的注意力权重聚合为所述词语的注意力权重;
文档词语权重计算单元,用于将所述文档中不同位置的同一所述词语的注意力权重聚合为所述词语的与位置无关的注意力权重,记为p(word_weight|doc);
文档集合词语权重计算单元,用于计算每个所述词语在所述文档集合上的注意力权重,记为p(word_weight|corpus);以及
最终权重计算单元,用于联合所述p(word_weight|doc)和所述p(word_weight|corpus)计算所述词语的最终注意力权重,并选取N个所述最终注意力权重最高的所述词语作为所述文档关键词。
8.如权利要求7所述的基于BERT模型的文档关键词抽取装置,其特征在于,所述子词的注意力权重为所述BERT模型中的最后一层编码器所生成的。
9.如权利要求7所述的基于BERT模型的文档关键词抽取装置,其特征在于,将所述子词还原成词语包括:
对于每个所述子词,记录其在所述文档中的起始位置和结束位置,使用分词器对文档进行词语级别的分词,对于切分出来的每个所述词语,记录其在所述文档中的起始位置和结束位置,通过所述子词的起始位置、结束位置以及所述词语的起始位置、结束位置,将所述子词还原成所述词语。
10.如权利要求7或9所述的基于BERT模型的文档关键词抽取装置,其特征在于,将所述子词的注意力权重聚合为所述词语的注意力权重包括:
将所述词语的所述子词的注意力权重相加并作为所述词语的注意力权重,或者将所述词语的第一个所述子词作为所述词语的注意力权重。
11.如权利要求1所述的基于BERT模型的文档关键词抽取装置,其特征在于,将所述文档中不同位置的同一所述词语的注意力权重聚合为所述词语的与位置无关的注意力权重包括:
将不同位置的同一所述词语的注意力权重相加并作为所述词语的与位置无关的注意力权重,或者将不同位置的同一所述词语的注意力权重中的最大者作为所述词语的与位置无关的注意力权重。
12.如权利要求7所述的基于BERT模型的文档关键词抽取装置,其特征在于,所述词语的最终注意力权重通过所述p(word_weight|doc)减去所述p(word_weight|corpus)计算得到。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110142917.5A CN112883171B (zh) | 2021-02-02 | 2021-02-02 | 基于bert模型的文档关键词抽取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110142917.5A CN112883171B (zh) | 2021-02-02 | 2021-02-02 | 基于bert模型的文档关键词抽取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112883171A true CN112883171A (zh) | 2021-06-01 |
CN112883171B CN112883171B (zh) | 2023-02-03 |
Family
ID=76055740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110142917.5A Active CN112883171B (zh) | 2021-02-02 | 2021-02-02 | 基于bert模型的文档关键词抽取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112883171B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113268953A (zh) * | 2021-07-15 | 2021-08-17 | 中国平安人寿保险股份有限公司 | 文本重点词抽取方法、装置、计算机设备及存储介质 |
CN114357142A (zh) * | 2022-01-12 | 2022-04-15 | 南京题麦壳斯信息科技有限公司 | 一种无监督的英文写作切题评估方法及其系统和设备 |
CN114462406A (zh) * | 2022-03-01 | 2022-05-10 | 中国航空综合技术研究所 | 基于多头自注意力模型获取首次出现的航空关键词方法 |
CN115809665A (zh) * | 2022-12-13 | 2023-03-17 | 杭州电子科技大学 | 一种基于双向多粒度注意力机制的无监督关键词抽取方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105843795A (zh) * | 2016-03-21 | 2016-08-10 | 华南理工大学 | 基于主题模型的文档关键词抽取方法及其系统 |
CN108595425A (zh) * | 2018-04-20 | 2018-09-28 | 昆明理工大学 | 基于主题与语义的对话语料关键词抽取方法 |
CN110119765A (zh) * | 2019-04-18 | 2019-08-13 | 浙江工业大学 | 一种基于Seq2seq框架的关键词提取方法 |
US20200250376A1 (en) * | 2019-12-13 | 2020-08-06 | Beijing Xiaomi Intelligent Technology Co., Ltd. | Keyword extraction method, keyword extraction device and computer-readable storage medium |
-
2021
- 2021-02-02 CN CN202110142917.5A patent/CN112883171B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105843795A (zh) * | 2016-03-21 | 2016-08-10 | 华南理工大学 | 基于主题模型的文档关键词抽取方法及其系统 |
CN108595425A (zh) * | 2018-04-20 | 2018-09-28 | 昆明理工大学 | 基于主题与语义的对话语料关键词抽取方法 |
CN110119765A (zh) * | 2019-04-18 | 2019-08-13 | 浙江工业大学 | 一种基于Seq2seq框架的关键词提取方法 |
US20200250376A1 (en) * | 2019-12-13 | 2020-08-06 | Beijing Xiaomi Intelligent Technology Co., Ltd. | Keyword extraction method, keyword extraction device and computer-readable storage medium |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113268953A (zh) * | 2021-07-15 | 2021-08-17 | 中国平安人寿保险股份有限公司 | 文本重点词抽取方法、装置、计算机设备及存储介质 |
CN114357142A (zh) * | 2022-01-12 | 2022-04-15 | 南京题麦壳斯信息科技有限公司 | 一种无监督的英文写作切题评估方法及其系统和设备 |
CN114462406A (zh) * | 2022-03-01 | 2022-05-10 | 中国航空综合技术研究所 | 基于多头自注意力模型获取首次出现的航空关键词方法 |
CN115809665A (zh) * | 2022-12-13 | 2023-03-17 | 杭州电子科技大学 | 一种基于双向多粒度注意力机制的无监督关键词抽取方法 |
CN115809665B (zh) * | 2022-12-13 | 2023-07-11 | 杭州电子科技大学 | 一种基于双向多粒度注意力机制的无监督关键词抽取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112883171B (zh) | 2023-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112883171B (zh) | 基于bert模型的文档关键词抽取方法及装置 | |
CN107133213B (zh) | 一种基于算法的文本摘要自动提取方法与系统 | |
CN110175246B (zh) | 一种从视频字幕中提取概念词的方法 | |
CN104881458B (zh) | 一种网页主题的标注方法和装置 | |
CN108710611B (zh) | 一种基于词网络和词向量的短文本主题模型生成方法 | |
CN108509521B (zh) | 一种自动生成文本索引的图像检索方法 | |
CN112966525B (zh) | 一种基于预训练模型和卷积神经网络算法的法律领域事件抽取方法 | |
CN111143571B (zh) | 实体标注模型的训练方法、实体标注方法以及装置 | |
CN112347255B (zh) | 基于图网络的标题和正文结合的文本分类方法 | |
CN110705272A (zh) | 一种面向汽车发动机故障诊断的命名实体识别方法 | |
CN110688834A (zh) | 基于深度学习模型进行智能文稿风格改写的方法和设备 | |
CN114020906A (zh) | 基于孪生神经网络的中文医疗文本信息匹配方法及系统 | |
CN113111663A (zh) | 一种融合关键信息的摘要生成方法 | |
CN111581392B (zh) | 一种基于语句通顺度的自动作文评分计算方法 | |
CN115017884B (zh) | 基于图文多模态门控增强的文本平行句对抽取方法 | |
WO2023178802A1 (zh) | 命名实体识别方法、装置、设备和计算机可读存储介质 | |
CN111221964B (zh) | 一种不同分面观点演化趋势引导的文本生成方法 | |
CN114298055B (zh) | 基于多级语义匹配的检索方法、装置、计算机设备和存储介质 | |
CN111428518B (zh) | 一种低频词翻译方法及装置 | |
CN113934835A (zh) | 结合关键词和语义理解表征的检索式回复对话方法及系统 | |
CN113486143A (zh) | 一种基于多层级文本表示及模型融合的用户画像生成方法 | |
Chowanda et al. | Generative Indonesian conversation model using recurrent neural network with attention mechanism | |
CN110377753B (zh) | 基于关系触发词与gru模型的关系抽取方法及装置 | |
CN110287799B (zh) | 基于深度学习的视频ucl语义标引方法与装置 | |
CN113128199B (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 |