知识图谱实战(BILSTM+CRF)【第五章】

一、BiLSTM+CRF模型介绍

  • BILSTM是双向的LSTM,本身是做信息捕获的,需要在上面加一层线性层进行输出标签的概率分布
  • 只用BILSTM可以做NER任务,可以用发射分数最高的作为标签,但是效果可能不是最佳的,因为他只考虑词的局部最高概率,不会考虑考虑整个语义.
  • CRF模型负责生成转移分数,我们训练CRF也是为了获取转移分数矩阵
  • Decoding Process 通过相加发射分数和转移分数,获取最佳的路径.
  • CRF输出的是转移分数矩阵

二、线性链条件随机场

线性链:输入序列x和输出标签序列y都是线性序列

条件随机:给定x的条件下,输出y的条件概率分布,需要满足马尔可夫性质

场:用图结构来描述概率依赖关系

马尔科夫性质:生成的标签只和前一个标签和后一个标签有关系,与其他标签或者序列无关。

线性链条件随机场图示:

三、发射分数和转移分数

3.1发射分数

发射分数由BILSTM+线性层产生,主要用于生成标签权重。

执行流程:

用户输入序列进来,首先进行向量化,然后经过BILSTM的隐藏状态处理,因为BILSTM是双向的LSTM,所以得到的维度要乘以2,最后经过一个线性层把维度转换为标签数即可。

3.2转移分数

转移分数越高,转移的概率越大

转移矩阵是线性CRF生成的

转移分数矩阵:

转移矩阵是可以学习的矩阵,可以通过训练得到准确的结果

四、CRF最优序列计算方式

发射分数根据标签的位置选择:

比如B-Person位置是(0,1),那么他的发射分数是E00

转移分数则是根据标签的上下文来选择:

比如B-Person的下一个是I-Person,那么就在第二个矩阵中选择0.93.

五、Viterbi解码

CRF输出的是转移分数矩阵,需要使用viterbi解码的方式获取最终的最优路径

  • 原始结算最短路径的方法:分别计算每条路径的长度,然后比较大小

Viterbi算法解决最短路径的

先计算第一列所有的节点和第二列B1的和,然后得到一个最小的,只保留这一条,然后B3

计算的方法类似

然后计算

最后选出最短的即可

相关推荐
美林数据Tempodata2 小时前
高质量数据集建设与 AI 应用落地:四大范式及最佳实践
人工智能
Roselind_Yi2 小时前
多模态数据挖掘前沿:生物医学与情感分析领域论文深度解析
人工智能·python·数据挖掘·nlp·gnn·情感分析·loss
码农三叔2 小时前
(11-4-02)感知-运动耦合与行为理解:人形机器人沉浸式感知运动协同系统(2)人形机器人运动控制
人工智能·机器人·agent·人形机器人
会一点点设计2 小时前
怎么用AI生成LOGO:从概念到落地的完整指南
人工智能
幂律智能2 小时前
合同管理的控制逻辑:现状、问题与重构方向
人工智能·经验分享·重构
EF@蛐蛐堂2 小时前
【AI】手写openclaw的Skill全过程
人工智能
唐天下闻化2 小时前
2026知识付费平台选择指南:学习者与创作者如何各取所需
人工智能
百胜软件@百胜软件2 小时前
对话文斌:E3+PRO的“AI大脑”——『胜券商品』如何让数据智能触手可及?
大数据·人工智能
王者鳜錸3 小时前
讯飞语音唤醒+语音识别+语音合成+文生图完整集成实战
人工智能·文生图·语音识别·xcode·语音生图