命名实体识别实践(LSTM+CRF)

任务场景

实体识别是一个经典的序列标注任务,如果有一批已经标注的样本,就可以考虑使用模型来进行训练了,传统的方式是用CRF++进行训练随着深度学习技术的兴起,任务也基本围绕着基础的LSTM+CRF的基础上或者进行微调。本文中实现了其基础版本。


    def buildd_model(self):
        """NER 模型建立"""
        inpute_ = layers.Input((self.max_sentence_len,))
        embed  =  layers.Embedding(input_dim=self.word_num, output_dim=200,mask_zero=True)(inpute_)

        lstm_encode = layers.Bidirectional(layers.LSTM(units=100, return_sequences=True,
                                                       dropout=0.3, recurrent_dropout=0.05))(embed)
        dense1 = layers.TimeDistributed(layers.Dense(50,activation="tanh"))(lstm_encode)
        dense1 = layers.Dropout(0.05)(dense1)
        # dense1 = layers.Dense(units=64,activation="tanh")(dense1)
        crf = CRF(self.class_num, sparse_target=False)
       
        crf_res = crf(dense1)
        model = Model(inpute_, crf_res)
        adam = Adam(lr=0.001)
        model.compile(optimizer=adam, loss=crf.loss_function, metrics=[crf.accuracy])
        print(model.summary())
        return model

效果:
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花咪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值