掌桥专利:专业的专利平台
掌桥专利
首页

一种短文本实体消歧方法

文献发布时间:2023-06-19 11:14:36


一种短文本实体消歧方法

技术领域

本发明属于自然语言处理领域,具体涉及一种短文本实体消歧方法,是一种有效的基于深度学习Long-Short Term Memory RNN(LSTM)和Bidirectional EncoderRepresentation from Transformers(BERT)模型的实体消歧技术,主要用于解决公司实体在不同短文本中指向不同的意思的问题。

背景技术

互联网时代,信息爆炸,面对海量咨询,人们希望前沿AI技术能够将文本和海量实体(公司、人名等)信息关联起来,提升用户阅读流畅度,实现精准化内容推荐等。智能咨询处理,不仅给金融业提供智能化服务,还能为金融业务提供更多创新空间。

文本资讯是公司实体信息传播的主要媒介,精确定位发生新闻的公司实体直接决定如何开展下游金融工作。在金融资讯中,公司实体(公司实体数以千万计)多以领域简称的形式出现,从而引发歧义。例如,苹果是一个美国上市公司,也是一种水果。实体消歧旨在消除资讯处理过程中的实体多义问题,提纯文本信息。歧义消除一般通过结合实体知识实现。近年来,人工智能技术飞速发展,使得众多问题的解决成为可能,人们希望能应用前沿人工智能方法,解决智能资讯中的实体歧义问题。

传统实体消歧任务主要是基于知识库的长文本,知识库较全,长文本具有更丰富的上下文信息以辅助实体消歧,基于垂直域(公司实体)消歧数据的实体消歧系统构建存在更大挑战。

鉴于BERT模型具有并行能力,提取特征以及对文本双向建模的能力,可以用较少的数据和较短的时间获得较好的结果,而长短期神经网络可以保留较重要的信息,忘记冗余信息,将这两种技术结合起来并使用二分类技术,对实体消歧,提出了一种新型的基于深度学习的实体消歧技术。

发明内容

本发明要解决的技术问题是提供一种短文本实体消歧方法,能够有效地帮助自然语言处理开发人员以及相关读者根据自己的需求判断待消歧词是否为公司名,具有较高的精确率和效率。

为解决上述技术问题,本发明的实施例提供一种短文本实体消歧方法,包括如下步骤:

S1、对训练样本和测试样本进行分词;

S2、对样本以待消歧实体为中心进行切分;

S3、将包含待消歧实体的样本转化为BERT模型预训练好的词向量;

S4、构建神经网络模型;

S5、使用交叉熵计算神经网络输出的一维向量和该样本的标签向量之间的值,作为损失函数,优化神经网络参数模型;

S6、使用微软Neural Network Intelligence(NNI)寻找训练准确率较高的参数。

其中,步骤S1的具体步骤为:

S1.1、为所有实体名(包含公司全称和简称)创建词典,对训练样本和测试样本使用jieba分词技术找出所有待消歧的实体;

S1.2、对待分词的文本生成前缀树,并用正则匹配构建潜在串序的有向无环图;

S1.3、通过动态规划找出最大概率路径的分词方案,为了让分词效果适应文本,使用维特比算法求解HMM模型,挖掘新词。

其中,步骤S2的具体步骤为:

S2.1、对句子进行切分,同时对句子进行编码时只选32个字;

S2.2、以实体名为中心切分句子,先找到实体名在文本中的位置,再将实体名的前13个字和后14个字划分成一个句子,其中实体名固定占5个字节。

其中,步骤S3的具体步骤为:

S3.1、对经过裁剪的训练和验证样本的每个句子中的每个词找到BERT预训练模型对应的id;

S3.2、标识每个句子的长度,用0和1作为掩码,0代表该位置没有单词,1代表该位置有单词,则每个句子转化为为一个二元向量组[I,T,L,M],其中,I标识每个单词对应的BERT模型id;T标识该样本是否为公司名,其中1标识是公司名,0标识不是公司名;L表示该句子的长度;M为每个句子的掩码;

S3.3、对所有训练集进行分批次处理,每32个样本作为一个批次,优化参数;

步骤S4的具体步骤为:神经网络模型分为三个子模块:

S4.1、BERT转换模块,此模块用于将步骤3.1中的id转换为实际预训练的BERT模型向量;

S4.2、LSTM模块,此模块作为第一层训练模型,便于学习语句序列之间的信息;

S4.3、线性输出模块,此模块用于作为最终输入向量。

进一步,步骤S4.1中,对于BERT模型,在计算中保留对应的梯度信息,其公式为:

其中,loss为损失函数,w为权重,y

步骤S4.2中,LSTM模块使用dropout算法,对于每层的神经元,按照一定的概率将其暂时从网络中丢弃,每次迭代训练时,随机选择不同的神经元,相当于每次都在不同的神经网络上进行训练;

步骤S4.3中,线性输出模块使用Attention机制,Attention机制对句子中的每个字有重要影响的Tokens序列给予更高的权重;Tokens的Attention分数计算公式如下:

其中,f

其中,步骤S5的具体步骤为:

S5.1、使用交叉熵计算神经网络损失函数,优化神经网络参数模型;

S5.2、对于实体名来说,名称只是一个指示代词,没有实际语法方面的意思,将问题简化为二分类问题:是实体名为1,非实体名为0;交叉熵是二分类的一种工具,能衡量细微的差异,利用梯度下降方法找到最优解,交叉熵损失函数定义如下:

其中,y

S5.3、使用Adam作为梯度下降算法来优化参数,Adam算法不仅在每次训练时,对梯度进行指数加权平均处理,然后用得到的梯度值更新权重W和常数项b,并且如果哪个方向振荡大,就减小该方向的更新速度,从而减小振荡;指数加权平均公式如下:

V

其中,β代表超参,v

其中,步骤S6的具体步骤为:

微软Neural Network Intelligence(NNI)是一个轻量级但功能强大的工具包,可对超参数调整,并且对批大小、学习率、每句话处理成的长度、循环次数、卷积核数量进行调参,其中,以F1值作为判断依据,F1公式如下:

其中,TP表示正样本被判断为正的个数,FP表示负样本被判断为正的个数,FN表示正样本被判断为负的个数。

本发明的上述技术方案的有益效果如下:

本发明提供了一种基于Bidirectional Encoder Representation fromTransformers(BERT)模型和Long-Short Term Memory RNN(LSTM)模型相结合的实体消歧方法,能够有效地帮助自然语言处理开发人员以及相关读者根据自己的需求判断待消歧词是否为公司名,具有较高的精确率和效率。

附图说明

图1为本发明的总体框架图;

图2为本发明中jieba分词工作流程图;

图3为本发明中切分句子算法图;

图4为本发明中神经网络总体框架图;

图5为本发明中使用三种词向量得到的F1的值;

图6为本发明中使用三种神经网络得到的F1的值;

图7为本发明中使用三种文本长度得到的F1的值。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。

本发明提供一种基于深度学习的短文本实体消歧技术,主要用于帮助自然语言处理开发人员以及相关读者根据自己的需求判断待消歧词是否为公司名。这种技术首先通过jieba分词找到待消歧实体并且对长文本进行切分缩小为短文本,减少神经网络的规模;其次,文中使用了BERT模型作为词向量预训练模型,将每个句子中的每个单词转换为BERT模型对应的id,并记录句子的长度,掩码以及是否为公司名;最后,采用了长短期神经网络技术,Attention机制,交叉熵等技术构造并训练深度神经网络,获得比较好的参数。

本发明提供的短文本实体消歧方法,包括如下步骤:

S1、对训练样本和测试样本进行分词;具体步骤为:

S1.1、为所有实体名(包含公司全称和简称)创建词典,对训练样本和测试样本使用jieba分词技术找出所有待消歧的实体;图2是jieba分词工作流程图,图中加载的字典为实体名,方便快速找出待消歧词。

S1.2、对待分词的文本生成前缀树,并用正则匹配构建潜在串序的有向无环图;

S1.3、通过动态规划找出最大概率路径的分词方案,为了让分词效果适应文本,使用维特比算法求解HMM模型,挖掘新词。

S2、对样本以待消歧实体为中心进行切分;具体步骤为:

S2.1、对句子进行切分,同时对句子进行编码时只选32个字,这样在保证准确率的基础上,尽可能的降低了神经网络的训练速度;

S2.2、以实体名为中心切分句子,先找到实体名在文本中的位置,再将实体名的前13个字和后14个字划分成一个句子,其中实体名固定占5个字节,如图3所示。

S3、将包含待消歧实体的样本转化为BERT模型预训练好的词向量;具体步骤为:

S3.1、对经过裁剪的训练和验证样本的每个句子中的每个词找到BERT预训练模型对应的id;

S3.2、由于步骤2只能保证长句子的长度相等,对于长度较小的句子,其长度则无法保证。因此必须标识每个句子的长度,用0和1作为掩码,0代表该位置没有单词,1代表该位置有单词,则每个句子转化为为一个二元向量组[I,T,L,M],其中,I标识每个单词对应的BERT模型id;T标识该样本是否为公司名,其中1标识是公司名,0标识不是公司名;L表示该句子的长度;M为每个句子的掩码;

S3.3、对所有训练集进行分批次处理,每32个样本作为一个批次,优化参数。

S4、构建神经网络模型,神经网络总体框架如图4所示,神经网络模型分为三个子模块:

S4.1、BERT转换模块,此模块用于将步骤3.1中的id转换为实际预训练的BERT模型向量;

S4.2、LSTM模块,此模块作为第一层训练模型,便于学习语句序列之间的信息;

S4.3、线性输出模块,此模块用于作为最终输入向量。

对于BERT模型,在计算中保留对应的梯度信息,其公式为:

其中,loss为损失函数,w为权重,y

对于LSTM模块使用dropout算法,对于每层的神经元,按照一定的概率将其暂时从网络中丢弃,每次迭代训练时,随机选择不同的神经元,相当于每次都在不同的神经网络上进行训练;

由于一个句子的重要部分通常在关键几个字上,于是线性输出模块,使用Attention机制,Attention机制对句子中的每个字有重要影响的Tokens序列给予更高的权重;Tokens的Attention分数计算公式如下:

其中,f

S5、使用交叉熵计算神经网络输出的一维向量和该样本的标签向量之间的值,作为损失函数,优化神经网络参数模型;具体步骤为:

S5.1、使用交叉熵计算神经网络损失函数,优化神经网络参数模型;

S5.2、对于实体名来说,名称只是一个指示代词,没有实际语法方面的意思,将问题简化为二分类问题:是实体名为1,非实体名为0;交叉熵是二分类的一种工具,能衡量细微的差异,利用梯度下降方法找到最优解,交叉熵损失函数定义如下:

其中,y

S5.3、使用Adam作为梯度下降算法来优化参数,Adam算法不仅在每次训练时,对梯度进行指数加权平均处理,然后用得到的梯度值更新权重W和常数项b,并且如果哪个方向振荡大,就减小该方向的更新速度,从而减小振荡;指数加权平均公式如下:

V

其中,β代表超参,v

S6、使用微软Neural Network Intelligence(NNI)寻找训练准确率较高的参数;具体步骤为:

微软Neural Network Intelligence(NNI)是一个轻量级但功能强大的工具包,可对超参数调整,并且对批大小、学习率、每句话处理成的长度、循环次数、卷积核数量进行调参。其中,以F1值作为判断依据,F1公式如下:

其中,TP表示正样本被判断为正的个数,FP表示负样本被判断为正的个数,FN表示正样本被判断为负的个数。

本发明提供的方法总体框架如图1所示,BERT模型和LSTM模型相结合,前者可以使用前人通过海量数据与训练好的向量参数,后者通过更新门,输出门和遗忘门来获取语句之间的信息关系。

下面进行模型比较,分别就词向量模型、神经网络和文本长度进行分析。

比较1:对Word2vec,BERT和ERNIE模型比较,三种词向量得到的测试集F1的值对应的结果如图5所示,从图中可以体现BERT和ERNIE的结果最好,但BERT模型曲线更加平稳。

比较2:一般神经网络、卷积神经网络(CNN)和长短期神经网络(LSTM)三种神经网络模型进行比较,如图6所示,从图中可以体现LSTM收敛更加平滑。

比较3:对不同文本长度比较,如图7所示,在训练相同的周期内,长度影响并不是太大。

通过实验的结果与分析,本发明使用了BERT模型能够有效地获取词之间的关系同时避免冗余信息的导入。对于神经网络,LSTM的使用解决了长文本信息保存问题。此外,对文本长度的合理切分,可以获得足够多的信息同时训练速度得到提高。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

相关技术
  • 一种短文本实体消歧方法
  • 一种基于增强字符向量的中文短文本实体识别与消歧方法
技术分类

06120112858913