事件关键词提取方法、装置、设备及介质与流程

文档序号:22182221发布日期:2020-09-11 21:44阅读:149来源:国知局
事件关键词提取方法、装置、设备及介质与流程
本发明涉及自然语言处理
技术领域
,尤其涉及一种事件关键词提取方法、装置、设备及介质。
背景技术
:文本结构化技术被广泛应用于数据预处理、数据分析、知识图谱、数据搜索、内容推荐等领域。随着数据增长越来越快,噪声数据将有用数据淹没的可能性也随之变大;为了去除噪声,以提取重要信息,文本结构化技术,尤其是事件提取的方法成为了目前重点研究的方向。现有技术开始使用bert模型及其相关方法来进行事件的提取,对事件进行提取时,通常只提取其中最重要的一句话,并对其进行属性信息(时间,地点等)补充,以作为文档级事件的提取结果。但是,由于文档信息的碎片化,有效信息分散在多个句子中,导致该方法容易产生较大的信息损失,适用对象有限,通常只能应用于金融新闻快讯等领域。现有技术还有使用迁移句子进行时间提取的方法,其通过统计分析、有向图等方式找出文档重点及高频事件,作为提取结果,但是此方法会使得上下文间的相关性被简化,导致信息损失较大。此外,现有的事件提取方法都需要大量的文档标注文本,但是以文档为标注对象的语料标注难度大,获取成本高。技术实现要素:为了克服现有技术的不足,本发明的目的之一在于提供一种事件关键词提取方法,其通过句子层模型的有监督训练结合文档层模型的无监督训练,并通过事件关系图实现文档关键词的提取。本发明的目的之一采用以下技术方案实现:一种事件关键词提取方法,包括以下步骤:获取文本数据及所述文本数据的标注数据;将所述文本数据及所述标注数据以句子形式输入第一bert模型进行训练,得到句子层关键词;将所述句子层关键词作为掩码对象,将所述文本数据以文档形式输入第二bert模型进行模型精调,得到文档层关键词;计算所述文档层关键词的自注意系数,根据所述自注意系数生成事件关系图;根据所述事件关系图筛选出符合预设条件的若干文档层关键词作为事件关键词。进一步地,将所述文本数据及所述标注数据以句子形式输入第一bert模型进行训练,得到句子层关键词,包括以下步骤:将所述文本数据划分为若干句子,将所述若干句子导入所述第一bert模型进行模型精调;将所述若干句子分别进行字符切分,将得到的字符转换为字符向量;将所述字符向量及所述标注数据输入精调后的所述第一bert模型进行训练;得到所述文本数据的预测标注类型,根据所述标注类型,从所述文本数据中映射到对应位置的词,得到句子层关键词。进一步地,将所述文本数据以句子为单位导入所述第一bert模型进行模型精调,包括以下步骤:将所述文本数据以句子为单位拆分成字符;将所述字符转换为字符向量,并进行随机字符掩码,输入所述第一bert模型得到所述字符掩码处的预测值;根据所述预测值与真实值的误差更新所述第一bert模型的参数。进一步地,将所述句子层关键词作为掩码对象,将所述文本数据以文档形式输入第二bert模型进行模型精调,得到文档层关键词,包括以下步骤:以文档为单位,将所述文本数据分成字符;将所述字符转换为字符向量,并将所述句子层关键词作为掩码对象;通过所述第一bert模型预测所述掩码对象的结果,更新所述第一bert模型的参数,得到所述第二bert模型;以文档为单位,将所述文本数据输入所述第二bert模型,得到文档层关键词。进一步地,将所述句子层关键词作为掩码对象,将所述文本数据以文档形式输入第二bert模型进行模型精调,得到文档层关键词,包括以下步骤:以文档为单位,将所述文本数据分成词组;将所述词组转换为词向量,并将所述句子层关键词作为掩码对象,输入所述第二bert模型;根据所述掩码对象预测结果对所述第二bert模型进行训练;以文档为单位,将所述文本数据输入训练后的所述第二bert模型,得到文档层关键词。进一步地,计算所述文档层关键词的自注意系数,根据所述自注意系数生成事件关系图,包括以下步骤:对所述第二bert模型进行参数分析,计算所述第二bert模型中每一层每一头的向量间自注意系数;通过kl变换去除所述自注意系数中的无效值与重复值;合并经过kl变换后的所述自注意系数,得到所述事件关系图。进一步地,所述每一层每一头的向量间自注意系数通过键向量、查询向量进行点乘的方法计算得到。本发明的目的之二在于提供一种事件关键词提取装置,其通过句子层模型的有监督训练结合文档层模型的无监督训练,并通过事件关系图实现文档关键词的提取。本发明的目的之二采用以下技术方案实现:一种事件关键词提取装置,其包括:获取模块,用于获取文本数据及所述文本数据的标注数据;事件提取模块,用于将所述文本数据及所述标注数据以句子形式输入第一bert模型进行训练,得到句子层关键词;将所述句子层关键词作为掩码对象,将所述文本数据以文档形式输入第二bert模型进行模型精调,得到文档层关键词,计算所述文档层关键词的自注意系数,根据所述自注意系数生成事件关系图,根据所述事件关系图筛选出符合预设条件的若干文档层关键词作为事件关键词。本发明的目的之三在于提供执行发明目的之一的电子设备,其包括处理器、存储介质以及计算机程序,所述计算机程序存储于存储介质中,所述计算机程序被处理器执行时实现上述的事件关键词提取方法。本发明的目的之四在于提供存储发明目的之一的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的事件关键词提取方法。相比现有技术,本发明的有益效果在于:本发明通过半监督方法进行事件关键词的提取,在句子层利用有监督的方式提取每句话对应关键词,在文档层利用无监督的方式提取文档中的关键词,既降低了标注成本,又保证了提取精度,利用事件关系图作为提取结果,可保留的关键词信息且关键词信息更精确。附图说明图1是实施例一的事件关键词提取方法的流程图;图2是实施例一的第一bert模型训练方法的流程图;图3是实施例一的模型精调方法的流程图;图4是实施例二的第二bert模型精调方法的流程图;图5是实施例三的事件关键词筛选方法的流程图;图6是实施例四的事件关键词提取装置的结构框图;图7是实施例五的电子设备的结构框图。具体实施方式以下将结合附图,对本发明进行更为详细的描述,需要说明的是,以下参照附图对本发明进行的描述仅是示意性的,而非限制性的。各个不同实施例之间可以进行相互组合,以构成未在以下描述中示出的其他实施例。实施例一实施例一提供了一种事件关键词提取方法,旨在通过利用半监督的方式提取文档关键词,并根据自注意系数,定位出文章中的重点事件关键词。本发明事件提取模型通过对bert模型进行训练完成构建;bert模型是一种语言表征模型,它使用transformer的双向编码器表示。与其他语言表征模型不同,bert旨在通过联合调节所有层中的上下文来预先训练深度双向表示。因此,预训练的bert模型可以通过一个额外的输出层进行微调,以适用于不同的场景。请参照图1所示,一种事件关键词提取方法,包括以下步骤:s110、获取文本数据及所述文本数据的标注数据;由于不同领域的关键词不同,因此s110中的文本数据为同一领域内的文本数据,例如医疗新闻领域的文本数据。文本数据由不同文档组成,文档由不同句子组成。本实施例中,上述标注数据为使用bio实体识别格式标注的数据,标注数据的前缀包括起始字符、内部字符和其他字符(begin,innel,other),后缀为标注类型,具体的标注类型可以根据实际需求进行设定,例如在医疗新闻领域,通过loc,sym,ent,ob等后缀来表示事件地点,事件疾病,事件本体,事件作用对象等。例如对于句子“截至今日,城市a新冠肺炎传染人数已接近两万”,对应标注为[oooooblocilocbsymisymisymisymbentientbobiobooooo]。标注对象视业务场景定义,例如上文的日期和数字被标注为o,但某些更需要日期和数字的场景下,这些信息就需要被定义为触发词并标注。另外,标注的标签也要针对业务场景进行分级,例如loc标签可进一步分为国家,省份,地市,区县等多个粒度,以区分多义词,从而用于更大语料库中。s120、将所述文本数据及所述标注数据以句子形式输入第一bert模型进行训练,得到句子层关键词;请参照图2所示,s120具体包括以下步骤:s1201、将所述文本数据划分为若干句子,将所述若干句子导入所述第一bert模型进行模型精调;上述的第一bert模型可以是现有的一些中文关键字模型,例如在wiki百科等语料中训练的bert-chinese-base模型。s1201中的模型精调是为了提高模型对语料的适应性,实现对新数据集内特殊词汇和语法的契合性,以提升模型精度。精调主要通过对掩码字符进行预测完成,具体地,请参照图3所示,将所述文本数据以句子为单位导入所述第一bert模型进行模型精调,包括以下步骤:s1201.1、将所述文本数据以句子为单位拆分成字符;将句子拆分为字符的具体过程是常见的技术手段,本实施例不对此作过多赘述。s1201.2、将所述字符转换为字符向量,并进行随机字符掩码,输入所述第一bert模型得到所述字符掩码处的预测值;字符向量的转换方法本实施例不作具体限制,独热嵌入,cosine嵌入等方法都可以用于实现上述的字符向量转换过程。字符掩码时,仅对字符进行掩码,保留字符的标注数据,掩码的具体字符可以是仅对事件字符掩码,也可以是随机选择事件和属性字符进行掩码,在实际的模型精调中,可以根据精调后的模型掩码预测效果进行掩码词的选择。本实施例中,第一bert模型中的双向transformer编码器为六层transformer编码器,每一层包括一个自注意模块,两个层规范模块和一个前向反馈模块,当然编码器的层数可以根据实际需求进行改变。s1201.3、根据所述预测值与真实值的误差更新所述第一bert模型的参数。在实际训练时,需要使用优化器来优化预测值和真实值之间的误差,本实施例中选用梯度下降法作为模型的优化器。上述的精调过程中,第一bert模型的输出维度为n*t,t表示字典中的字数量,n为句子中字符数量。在每个维度的值表示预测为对应字符的概率。例如某一掩码的预测输出为[0.0,0.0,0.1,0.3,……],假设字典的第4个字为‘肺’,表示掩码对应字符为‘肺’的概率是0.3。s1202、将所述若干句子分别进行字符切分,将得到的字符转换为字符向量;字符向量的转换方法请参照s1201.2步骤中的说明。s1203、将所述字符向量及所述标注数据输入精调后的所述第一bert模型进行训练;需要说明的是,为预测每个字符对应的标签,需保持现有模型参数不变,并在模型后端增加一层全连接层,使用softmax函数计算字符对应标注类型的概率,以便于模型可以根据字符进行标注预测;以预测值和真实值间的误差作为反馈。模型训练时,只需对全连接层进行训练,并更新其参数。s1204、得到所述文本数据的预测标注类型,根据所述标注类型,从所述文本数据中映射到对应位置的词,得到句子层关键词。需要说明的是,可以根据实际需求,将属性词作为关键词的一部分,以使最后的到的事件关键词更准确,属性词例如事件、地点等相关词。s130、将所述句子层关键词作为掩码对象,将所述文本数据以文档形式输入第二bert模型进行模型精调,得到文档层关键词;本实施例中,s130的第二bert模型为字符级模型,具体训练过程包括以下步骤:以文档为单位,将所述文本数据分成字符;将所述字符转换为字符向量,并将所述句子层关键词作为掩码对象;通过所述第一bert模型预测所述掩码对象的结果,更新所述第一bert模型的参数,得到所述第二bert模型;以文档为单位,将所述文本数据输入所述第二bert模型,得到文档层关键词。上述步骤中,会沿用第一bert模型,并通过断点恢复进行训练,得到第二bert模型,上述步骤中,掩码的作用是为了对模型进行精调,具体过程请参照s1201.1-s1201.3。需要说明的是,由于文档通常字符数较多,会超出bert的512字符数据的长度限制,因此,可以通过使用transformer–xl等支持长文档的衍生模型实现。s140、计算所述文档层关键词的自注意系数,根据所述自注意系数生成事件关系图;由于第二bert模型输出的关键词会有上百甚至上千个,因此需要对其进行筛选,以便于得到每个文档对应的几个关键词,本实施例中通过自注意系数实现关键词的筛选;自注意系数是bert模型训练过程中的一个参数,其可以表示词的重要性,本实施例中通过该参数实现对关键词的筛选。需要说明的是,为了更直观地体现关键词间的相关性和重要性,还可以对事件关系图进行可视化展示。事件关键词间的自注意系数代表相关性,可视化展示时,通过事件关键词间的连线进行展示,连线颜色越深表示相关性越强;事件关键词与其他事件关键词的相关性越强,关联事件越多,则其重要性越强。s150、根据所述事件关系图筛选出符合预设条件的若干文档层关键词作为事件关键词。预设条件可以根据实际情况进行设定,例如自注意系数大于0.5或自注意系数最大的若干个文档层关键词。实施例二实施例二是在实施例一的基础上进行的,其主要对第二bert模型的一种实现方式进行了解释和说明。本实施例中的第二bert模型是一种词级模型,即基于词进行模型训练。请参照图4所示,将所述句子层关键词作为掩码对象,将所述文本数据以文档形式输入第二bert模型进行模型精调,得到文档层关键词,包括以下步骤:s210、以文档为单位,将所述文本数据分成词组;需要说明的是,为了降低数据稀疏性带来的模型不可收敛可能性,可以对文本数据进行数据扩增,数据扩增可以通过随机打乱句子顺序、同义词替换等方法实现。s220、将所述词组转换为词向量,并将所述句子层关键词作为掩码对象,输入所述第二bert模型;词向量的转换方法本实施例中不作具体限定,可以通过word2vec词嵌入等方法实现。s230、根据所述掩码对象预测结果对所述第二bert模型进行训练;s230中的训练为参数正态随机初始化训练,或者根据现有基于词的bert预训练模型进行精调;精调和训练的具体过程请参照实施例一中模型精调和训练的相关解释和说明。参数正态随机初始化是常见的模型训练方法,本实施例不作过多赘述。s240、以文档为单位,将所述文本数据输入训练后的所述第二bert模型,得到文档层关键词。本实施例中第二bert模型的transformer编码器与实施例一中相同,即一个六层transformer编码器,每一层包括一个自注意模块,两个层规范模块和一个前向反馈模块,当然,transformer编码器的层数也可以根据实际需求进行增加。实施例三实施例三是在实施例一的基础上进行的,其主要对关键词筛选的具体过程进行了解释和说明。请参照图5所示计算所述文档层关键词的自注意系数,根据所述自注意系数生成事件关系图,包括以下步骤:s310、对所述第二bert模型进行参数分析,计算所述第二bert模型中每一层每一头的向量间自注意系数;本实施例中,上述的参数分析通过使用bertviz工具实现,参数分析时,无需考虑模型的输出值,只需分析模型在计算过程中的自注意系数;上述的每一头指的是bert模型中的注意力头。具体地,在第二bert模型的每一层的自注意模块上,每一层每一头的向量间自注意系数通过键向量、查询向量进行点乘的方法计算得到。例如,键字符(键向量)为‘q’,查询字符(查询向量)为‘p’,q和p均为汉字的指代,二者的组合为城市a的具体名称,其对应向量分别为[0.1,-0.2,0.5],[0.1,-0.3,0.0],则自注意系数为0.07;根据此方法可以依次算出所有字符之间的自注意系数。s320、通过kl变换去除所述自注意系数中的无效值与重复值。系数合并时,由于在不同层和不同head上的计算自注意系数存在无效值,因此不可以直接合并,可以通过使用kl变换以去除重复、相关和无效项。s330、合并经过kl变换后的所述自注意系数,得到所述事件关系图。上述过程以一个6层双向transformer编码器为例,每层的自注意模型有12个head,则共有72组自注意系数矩阵,每组为n*n维,n为事件词数量;然后将矩阵展开为向量x,整个模型共72个x向量,组成x矩阵,维度72*n2。接着,计算去均值的协方差矩阵。定义为每一行的均值,则协方差矩阵为k=0.5*l*lt,lt为l的转置矩阵。然后,对k矩阵进行特征分解,计算特征值并对特征值排序,选若干个最大特征值对应的x向量为去噪声后的自注意系数矩阵y。最后,将y矩阵按行相加,合并成一维向量,转换为n*n矩阵,作为事件关系图,请参照表1所示,为一个事件关系图的示例,从表一可以看出“城市a”与“新冠肺炎”、“城市b”、“城市c”的相关性较强,“传染”与“新冠肺炎”,“人数”相关性较强。若预设条件为自注意系数(自注意系数的和)最高的3个关键词,则对应的事件关键词为{传染,新冠肺炎,城市a}。计算时通过合并每个字符与文档层关键词的自注意系数完成,例如城市a的具体名称包含了两个汉字,并分别使用q和p进行指代,其中“q”与“传染”的自注意系数为0.15,“p”与“传染”的自注意系数为0.16,则“城市a”与“传染”的自注意系数为0.31。城市a新冠肺炎城市b城市c传染城市a/0.260.240.130.31新冠肺炎//0.160.090.67城市b///0.170.22城市c////0.19传染/////表1表1实施例四实施例四公开了一种对应上述实施例的事件关键词提取方法对应的装置,为上述实施例的虚拟装置结构,请参照图6所示,包括:获取模块410,用于获取文本数据及所述文本数据的标注数据;事件提取模块420,用于将所述文本数据及所述标注数据以句子形式输入第一bert模型进行训练,得到句子层关键词;将所述句子层关键词作为掩码对象,将所述文本数据以文档形式输入第二bert模型进行模型精调,得到文档层关键词,计算所述文档层关键词的自注意系数,根据所述自注意系数生成事件关系图,根据所述事件关系图筛选出符合预设条件的若干文档层关键词作为事件关键词。实施例五图7为本发明实施例五提供的一种电子设备的结构示意图,如图7所示,该电子设备包括处理器510、存储器520、输入装置530和输出装置540;计算机设备中处理器510的数量可以是一个或多个,图7中以一个处理器510为例;电子设备中的处理器510、存储器520、输入装置530和输出装置540可以通过总线或其他方式连接,图7中以通过总线连接为例。存储器520作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的事件关键词提取方法对应的程序指令/模块(例如,事件关键词提取方法装置中的获取模块410和事件提取模块420)。处理器510通过运行存储在存储器520中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述实施例一至实施例三的事件关键词提取方法。存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器520可进一步包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。输入装置530可用于接收输入的用户身份信息、文本数据以及标注数据等。输出装置540可包括显示屏等显示设备。实施例六本发明实施例六还提供一种包含计算机可执行指令的存储介质,该存储介质可用于计算机执行事件关键词提取方法,该方法包括:获取文本数据及所述文本数据的标注数据;将所述文本数据及所述标注数据以句子形式输入第一bert模型进行训练,得到句子层关键词;将所述句子层关键词作为掩码对象,将所述文本数据以文档形式输入第二bert模型进行模型精调,得到文档层关键词;计算所述文档层关键词的自注意系数,根据所述自注意系数生成事件关系图;根据所述事件关系图筛选出符合预设条件的若干文档层关键词作为事件关键词。当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的基于事件关键词提取方法中的相关操作。通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台电子设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。值得注意的是,上述基于事件关键词提取方法装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1