09【NLP项目一人工智能辅助信息抽取】第四周part II-基于深度学习的信息抽取系统

文章目录

  • 项目简介
  • 任务简介:
  • BiLSTM-CRF模型
    • 发射分数Emission score
    • 转移分数Transition score
    • 路径分数Path score
    • 预测
  • BiLSTM-CRF代码(略)

项目简介

知识图谱、信息抽取以及规则系统
基于机器学习的信息抽取系统
基于深度学习的信息抽取系统(本节内容)
信息抽取最新研究与展望
信息抽取实战经验与面试准备

任务简介:

学习使用bilstm-crf解决ner问题
详细说明:
本节将学习bilstm-crf的原理与结构,并通过实战中的代码讲解,深入学习bilstm-crf的具体实现。

BiLSTM-CRF模型

BiLSTM:最下面是输入序列,经过阴影部分的双向LSTM后,得到序列标注信息(这里是NER任务)
09【NLP项目一人工智能辅助信息抽取】第四周part II-基于深度学习的信息抽取系统_第1张图片
CRF:无向图随机场
09【NLP项目一人工智能辅助信息抽取】第四周part II-基于深度学习的信息抽取系统_第2张图片
BiLSTM-CRF相结合的模型:可以看到标签之间有了序列的依赖,观察值和隐状态之间是用双向LSTM进行提取。
09【NLP项目一人工智能辅助信息抽取】第四周part II-基于深度学习的信息抽取系统_第3张图片
BiLSTM-CRF的具体实现:
1.句中转化为字词向量序列,字词向量可以在事先训练好或随机初始化,在模型训练时还可以再训练。
2.经BiLSTM特征提取,输出是每个单词对应的预测标签。
3.经CRF层约束,输出最优标签序列。
09【NLP项目一人工智能辅助信息抽取】第四周part II-基于深度学习的信息抽取系统_第4张图片
上图中,最下面输入的是训练好的词向量(绿色)。
经过BiLSTM,得到每个词的实体类型概率(黄色),再进入CRF。
来看看加CRF油啥用。如果不加CRF
09【NLP项目一人工智能辅助信息抽取】第四周part II-基于深度学习的信息抽取系统_第5张图片
按照实体的规则,这里应该是第一个分类应该是B做开头的,只看分类概率选择I是不对的。
加了CRF后变成:
09【NLP项目一人工智能辅助信息抽取】第四周part II-基于深度学习的信息抽取系统_第6张图片
可以看有了CRF的限制后,整个实体变成了序列,符合BIO的规则。
下面具体来看看CRF的结构:
这里的叫法和之前学的有点不一样,可以结合来看,总体来说这块没怎么讲清楚,还是另外看别的资源比较妥,这里只是记录一下。

发射分数Emission score

发射分数,来自BiLSTM层的输出。
用xiyj代表发射分数,i是单词的位置索引,yj是类别的索引。

转移分数Transition score

转移分数,来自CRF层可以学到的转移矩阵。
转移矩阵是BiLSTM-CRF模型的一个参数。可随机初始化转移矩阵的分数,然后在训练中更新。

路径分数Path score

Si=EmissionScore + TransitionScore
CRF损失函数:CRF损失函数由两部分组成,真实路径的分数和所有路径的总分数。真实路径的分数应该是所有路径中分数最高的。
当前节点得分:类似维特比解码算法,这里每个节点记录之前所有节点到当前节点的路径总和,最后一步即可得到所有路径的总和。
所有路径得分:每个节点记录之前所有节点到当前节点的路经总和,最后一步即可得到所有路径的总和。

预测

预测采用维特比解码,每个节点记录之前所有节点到当前节点的最优路径,最后一步通过回溯可得一条最优的路径。

BiLSTM-CRF代码(略)

你可能感兴趣的:(人工智能项目实战笔记)