资源下载地址:https://download.csdn.net/download/sheziqiong/86178744
资源下载地址:https://download.csdn.net/download/sheziqiong/86178744
一、思路
本次要完成 nlp 四大基础任务之一的序列标注任务,也叫做命名实体识别。即是在给定文本中能够对词性、人名地名等特定信息进行标注。
实验主要采用循环神经网络进行搭建,每一条样本输入是一条句子(对应的嵌入向量表示),该样本的标签也是一个等长的句子标签,其中每一个元素对应句子中每一个字的标签。如样本为’我 爱 北 京’,则该样本的标签为’O O B-LOC I-LOC’。然后通过循环神经网络再结合交叉熵损失函数进行训练。但根据课上所学知识,我们知道直接用 LSTM 虽然可以完成该任务,但是往往会预测出现一些不可能真实存在的结果,如连续两个 B-LOC 标签。因此我们可以增加条件随机场 CRF 模型在 LSTM 层之后,使用梯度下降自动去学习 CRF 模型的参数,这样可以获得比只使用 LSTM 好的结果。
二、模型概况
Input()Embedding(input_dim=5000, output_dim=50)BiLSTM(units=100)BiLSTM(units=150)CRF(units=7)
三、编程实现
为了实现上述模型我们首先需要对输入进行处理。首先使用 Tokenizer 库进行分词,词典大小设置为 5000,之后对训练样本进行padding(这里选择 maxlength进行padding),之后对标签也要做相应的 padding(这里 padding 的内容直接选用 O 标签)。
使用 keras 库进行模型的搭建,堆叠型模型声明如下
优化器选用 Adam,损失函数使用稀疏交叉熵,batchsize 设为 128,训练 20 轮。之后用训练好的模型,在测试集上测试即可。 www.biyezuopin.vip
; 四、实验结果
1.两层双向 LSTM 结果:
OB-LOCI-LOCB-PERI-PERB-ORGI-ORGPrecision0.99400.90800.92260.90630.90260.81310.8626Recall0.99780.84710.79270.81350.88520.75510.7894F10.99590.87650.85270.85740.89380.78300.8244 With ‘O’Without ‘O’Macro-precision0.90130.8859Macro-recall0.84010.8138Macro-f10.86910.8480
2.三层双向 LSTM 结果,效果提升不明显
With ‘O’Without ‘O’Macro-precision0.88630.8682Macro-recall0.86100.8383Macro-f10.87260.8520
资源下载地址:https://download.csdn.net/download/sheziqiong/86178744
资源下载地址:https://download.csdn.net/download/sheziqiong/86178744
Original: https://blog.csdn.net/newlw/article/details/124728067
Author: biyezuopinvip
Title: NLP基础任务—序列标注任务
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/547889/
转载文章受原作者版权保护。转载请注明原作者出处!