BILSTM+CRF

根据标签的数据对数据处理
模型选择
BILSTM+CRF
为什么选择加CRF

CRF特征特征提取函数变成了BILSTM

化目标变了
真实序列最大概率化全局的(真除以所有的可能),并且学习到当前时刻的状态与其他状态的关系

分母是真实序列的值 所有可能的隐状态的序列值求和 全局归一化

损失函数包括两部分:真实序列的分值 -所有序列的分值求指数再求和再求对数

所有可能的隐状态的序列值求和 使用前向算法 RNN
每一时刻最归一化是局部 HMM

最终的损失函数是真实序列的分数-指数和再进行对数计算

加了CRF优化的目标函数已经变了发射矩阵分数+转移矩阵分数
学习了一个转移矩阵,也就是约束条件
是真实序列的概率最大化

预测使用维特比算法
求所有可能的隐状态的序列值 最大的值

实现
标签加了两个 start end 给的值1000 对数函数图像接近为0
时刻也加了两个,其他为-10000 start为1 第一个为位置肯定是start 最后肯定是stop
为什么模拟了一个初始概率 最后一个肯定是end

一句话先求每一时刻的 最后求所有时刻的和

求指数

标签例如58中 这58中分别求指数 在求和 在log

分值最大的序列求出路径

损失函数第一项分值

类似RNN
先初始化一个转移1矩阵 使得只能从start开始
定义前向变量forawrd

for循环遍历每一句话的每一时间步的分数 保存 变量时间步列表 左后cat 求和 再经过指数 求和log函数得到第一句话的分值

损失函数第二项分值
在真实标签指导下求得的分数
定义一个score为累加做准备
为真实标签列表拼接一个start列表

编写损失函数的函数

forward使用位特比啊求解

别写评估函数
取出真实的标签

取出预测的标签

对比预测的 在真实的标签有多少

88
93
90

训练

预测
先将文本做char2id

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值