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

计算的方法类似

然后计算

最后选出最短的即可

相关推荐
Token炼金师4 小时前
去噪扩散:从随机噪声到高保真图像的数学之路
人工智能·aigc
这个DBA有点耶4 小时前
AI写的SQL跑崩了生产库,这锅谁背?
数据库·人工智能·程序员
阿里云大数据AI技术5 小时前
阿里云 EMR AI 助手正式发布:从问答工具到全栈智能运维助手
运维·人工智能
Larcher6 小时前
从零搭建 MCP 服务——让 AI 拥有无限扩展能力
人工智能·程序员
zzzzzz3106 小时前
你的 AI 写的 React 烂透了?这个 8000+ Star 的开源工具能揪出 90% 的「Agent 屎山」
人工智能
小星AI6 小时前
MCP协议超详细教程,从入门到实战
人工智能
小星AI6 小时前
Kimi Code CLI 超详细教程,附源码
人工智能·agent
牧艺6 小时前
Cursor Rules / Skills 分层设计:让 Agent 像「团队新同事」
前端·人工智能·cursor
shepherd1117 小时前
一文带你掌握 LLM、Token、Context、Prompt、RAG、MCP、Skill、Agent 等 AI 核心概念
人工智能·后端·ai编程
小林ixn7 小时前
MCP 保姆级入门指南:AI 的“万能充电口”到底怎么玩?
人工智能