知识图谱实战(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

计算的方法类似

然后计算

最后选出最短的即可

相关推荐
黄啊码2 分钟前
从 0 到 1 做 FDE:如何获客、成交、交付?百万级 AI 项目实战复盘
人工智能
玩美数据13 分钟前
海外市场数据服务常用术语与名词解释权威指南
大数据·人工智能
Lansonli31 分钟前
Claude Code 写 Shell 脚本翻车实录:一份避坑指南
人工智能
IT_陈寒1 小时前
Vue的这个响应式陷阱,差点让我加班到天亮
前端·人工智能·后端
东离与糖宝2 小时前
Spring AI 大模型容易混淆概念一次性讲透
人工智能
复杂网络与机器学习2 小时前
全双工 160 毫秒一格:李沐让模型不再「一问一答」
人工智能
武子康2 小时前
Qwen-Drive 的 91.4 分,究竟选中了什么?
大数据·人工智能·agent
王中阳Go3 小时前
你把重试加到 2 次那天,200 条里成功还是 181 条,你回看过吗?
人工智能·后端·架构
北杨3 小时前
三键之内的意图:用 AIUI 在 Rokid 眼镜上做一个能玩的 21 点
人工智能
火山引擎开发者社区3 小时前
给企业配一双 AI 的手:火山引擎 OS Agent 替你操作手机和电脑
前端·人工智能