NLP自然语言处理-机器学习和自然语言处理介绍-知识抽取构建流程
1.什么是知识抽取
知识抽取,即从不同来源、不同结构的数据中进行知识提取,形成知识(结构化数据)存入到知识图谱。
知识抽取的三个基本任务:
实体抽取:实体抽取抽取文本中的原子信息元素,通常包含任命、组织/机构名、地理位置、时间/日期、字符值等标签,具体的标签定义可根据任务不同而调整;
关系属性抽取:通常我们说的三元组(triple) 抽取,实体-属性-属性值,实体A-关系-实体B;
事件抽取:从自然语言中抽取出用户感兴趣的事件信息,并以结构化的形式呈现出来,例如事件发生的时间、地点、发生原因、参与者等。
2.知识抽取和图谱构建的关系


3.知识抽取基本流程
3.1知识抽取-实体抽取
3.1.1概念介绍
3.1.1.1什么是实体抽取
又称命名实体识别(Named Entities Recognition,NER),主要任务是识别命名实体的文本范围,并将其分类为预定义的类别,学术上所涉及一般包含三大类,实体类、时间类、数字类和7个小类,比如人、地名、时间、组织、日期、货币、百分比。
3.1.1.2实体抽取方法
实体抽取方法主要有基于统计学的方法和基于深度学习方法,基于统计学的方法主要包括隐马尔科夫模型(HMM)、最大熵马尔科夫模型(MEMM)、支持向量机(SVM)、条件随机场(CRF),基于统计方法的对特征选择要求较高,对语料库的依赖较大。深度学习的表征学习相比于机器学习特征工程,在特征学习方面具有较大优势,采用句子嵌入到CNN-CRF中,自动学习特征,对实体进行分类,提取的LSTM-CRF ,BiLSTM-CRF模型,对实体识别提高了一个新的高度。
![在这里插入图片描述](https://img-blog.csdnimg.cn/8cb444d29a42451c9cb6f26b7c01f438.png
3.1.2模型构建
3.1.2.1模型介绍
Bert+Bilstm+crf模型:基于字向量的BiLSTM+CRF实体识别方法,输入的是句子中各个字的char embedding,char embedding是BERT模型字向量表征;输出的是经过BiLSTM-CRF模型得到的每个单词对应的预测标签。
3.1.2.2模型实现过程
Bert+Bilstm+crf结构图如下图所示,总共有三层,分别是表示层、BILSTM层、CRF层。
1.表示层
模型第一层是表示层,利用预训练的BERT语言模型初始化获取输入文本信息中的字向量, 所获取的字向量能够利用词与词之间的相互关系有效提取文本中的特征。
BERT是一种自然语言处理预训练语言表征模型。BERT能够计算词语之间的相互关系, 并利用所计算的关系调节权重提取文本中的重要特征, 利用自注意力机制的结构来进行预训练, 基于所有层融合左右两侧语境来预训练深度双向表征, 比起以往的预训练模型, 它捕捉到的是真正意义上的上下文信息, 并能够学习到连续文本片段之间的关系。
2.BILSTM层
BILSTM是长短期记忆神经网, 是目前最流行的递归神经网络, 其不仅对短期的输入比较敏感, 更能保存长期的状态。输入是字向量或者词向量,输出是句子的每个字的所有标签的各自得分。
3.CRF层
CRF用来分割和标记序列数据, 根据输入的观察序列来预测对应的状态序列, 同时考虑输入的当前状态特征和各个标签类别转移特征。 CRF应用到NER的问题中主要是根据BiLSTM模型的预测输出序列求出使得目标函数最优化的序列。输入是发射概率矩阵和状态转移概率矩阵,输出是标签序列的概率,从而得到最终标签。
在模型训练过程中该层使用BiLSTM层的输出——每个词的所有标签的各自得分,即(发射概率矩阵)以及转移概率矩阵,作为原始CRF模型的参数,最终获得标签序列的概率。
如果没有CRF层,也可以训练一个基于BiLSTM的命名实体识别模型。但是CRF层可以加入一些约束来保证最终预测结果是有效的。这些约束可以在训练数据时被CRF层自动学习得到。
例如:句子的开头应该是“B-”或“O”,而不是“I-”。
“B-label1 I-label2 I-label3…”,在该模式中,类别1,2,3应该是同一种实体类别。比如,“B-Person I-Person” 是正确的,而“B-Person I-Organization”则是错误的。“O I-label”是错误的,命名实体的开头应该是“B-”而不是“I-”。有了这些有用的约束,错误的预测序列将会大大减少。

3.1.3模型评估
Model P R F1
BiLSTM + CRF 78.42% 72.90% 75.56%
Bert+bilstm+crf 95.04% 91.58% 93.28%

3.1.4样例和结果展示
百度百科领域语料实体抽取:
(1)文本
谷爱凌个人简介,中文名:谷爱凌,外文名:Gu Ailing、Gu Ailing Eileen、Eileen Feng Gu、Eileen Gu,别名:青蛙公主,国籍:中国,出生地:美国加利福尼亚州圣弗朗西斯科,出生日期:2003年9月3日,身高:175 cm,体重:52 kg,毕业院校:圣弗朗西斯科大学高中,运动项目:自由式滑雪,所属运动队:中国自由式滑雪队。
(2)抽取结果
ID 人名 地点 组织
1 谷爱凌 中国 圣弗朗西斯科大学高中
2 Gu Ailing 美国加利福尼亚州圣弗朗西斯科
3 Gu Ailing Eileen 美国
4 Eileen Feng Gu
5 Eileen Gu
6 青蛙公主
城市轨道领域语料实体抽取:
(1)文本
轨道信号控制可以选择北京信达荣科,北京信达荣科科技有限公司成立于2013年,是一家主营业务产品设计、机加工、产品组装等,为客户解决运营成本。致力于工业领域的企业提供富有创造性的和切实可行的产品设计解决方案。设计经验涵盖无人机控制类、医疗设备、轨道交通、工业网安设备等领域。设计群具有纯熟的69D软体应用及丰富的制造经验,配合成熟的生产技术水平,为客户创造价值。
(2)抽取结果
ID 人名 地点 组织
1 北京 北京信达荣科,北京信达荣科科技有限公司

3.2知识抽取-属性关系抽取
3.2.1概念介绍
3.2.1.1什么是信息抽取
知识图谱在语义处理、开放处理等功能方面都显现出很强的能力,在智能推荐、问答和对话系统以及大数据分析和决策等应用中也体现出越来越重要的价值。知识图谱预计将在互联网知识互联的实现过程中起到中流砥柱的作用。
从不同来源、不同结构的数据中进行信息的提取,形成知识(结构化数据)存入到知识图谱。为了方便计算机的处理和理解,知识图谱使用了更加形式化、简洁化的方式去表示知识,就是三元组(triple)。

3.2.1.2什么是关系抽取
关系抽取是一种获取已经识别出的实体之间的语法或语义之间连接方式的技术。和命名实体识别类似,关系抽取中实体关系的类型也需要预先定义,例如人物之间的亲属关系、组织机构和地点之间的关系等等。数据中有可能只有一个实体对及关系,也有可能是一个实体同另一个实体之间存在着多种关系,还有可能是一个实体与其他不同实体之间存在着多种关系,这种现象被称为关系重叠。
在关系抽取中把三元组理解为(实体entity,实体关系relation,实体entity)。其中三元组是 (s, p, o) 的形式,s 是 subject,即主实体,为句子中的一个片段。如果把实体看作是结点,把实体关系(包括属性,类别等等)看作是一条边,那么包含了大量三元组的知识库就成为了一个庞大的知识图。
关系抽取的范围分为面向特定领域(Close Domain)、面向开放领域(Open Domain)以及联合推理三大类。面向特定领域的关系抽取方法和实体识别相似,前期主要使用基于模式匹配和基于词典驱动的方法,依靠人工编写抽取规则。随着人工构造规则低效性和领域局限性的明显化以及研究的深入,现在较多使用的两类方法是:基于机器学习(Machine Learning)的方法和基于本体(Ontology)的方法。
3.2.1.3什么是属性抽取
属性抽取也是抽取文本中的三元组,其中三元组是 (s, p, o) 的形式,s 是 subject,即主实体,为句子中的一个片段;o 是 object,即客实体,也是句子中的一个片段;p 是 predicate,即两个实体之间的关系,候选 predicate 事先给出。总的来说,(s, p, o) 可以理解的“s 的 p 是 o”。这是一个“一对多”的抽取+分类任务。
例如:“姚明出生于中国上海” 可以用三元组表示为(Yao Ming, PlaceOfBirth, Shanghai)。这里我们可以简单的把三元组理解为(实体entity,实体关系relation,实体entity)。如果我们把实体看作是结点,把实体关系(包括属性,类别等等)看作是一条边,那么包含了大量三元组的知识库就成为了一个庞大的知识图。实体关系分为两种,一种是属性property,一种是关系relation。其最大区别在于,属性所在的三元组对应的两个实体,常常是一个topic和一个字符串,如属性Type/Gender,对应的三元组(Justin Bieber, Type, Person),而关系所在的三元组所对应的两个实体,常常是两个topic。如关系PlaceOfBrith,对应的三元组(Justin Bieber, PlaceOfBrith, London)。
3.2.1.4关系抽取和属性抽取的联系
实体关系分为两种,一种是属性property,一种是关系relation。其最大区别在于,属性所在的三元组对应的两个实体,常常是一个topic和一个字符串,如属性Type/Gender,对应的三元组(Justin Bieber, Type, Person),而关系所在的三元组所对应的两个实体,常常是两个topic。如关系PlaceOfBrith,对应的三元组(Justin Bieber, PlaceOfBrith, London)。
属性抽取是为实体识别而服务的,属性可以很好的对实体进行刻画。实体的属性可以看作实体和属性值之间的名称性关系,因此实体属性抽取可以视为一种特殊的关系抽取。
3.2.2模型构建
3.2.2.1模型介绍
模型框架:bert4keras是一个基于keras的预训练模型加载框架,目前支持多种预训练模型(BERT、ALBERT、RoBERTa、ALBERT、NEZHA、GPT2、T5等),并支持多种环境(python 2.7、python 3.x)和后端(keras、tf.keras、tf 1.x、tf 2.x)。
如下图所示:

这里输入句子是“《战狼2》的主演吴京生于1974年”,而要抽出的三元组是“(战狼2, 主演, 吴京)”和“(吴京, 出生日期, 1974年)”。
很显然,这是一个“一对多”的抽取+分类任务,通过对人工观察样本情况,发现其特点如下:
1、s和o未必是分词工具分出来的词,因此要对query做标注才能抽取出正确的s、o,而考虑到分词可能切错边界,因此应该使用基于字的输入来标注;
2、样本中大多数的抽取结果是“一个s、多个(p, o)”的形式,比如“《战狼》的主演包括吴京和余男”,那么要抽出“(战狼, 主演, 吴京)”、“(战狼, 主演, 余男)”;
3、抽取结果是“多个s、一个(p, o)”甚至是“多个s、多个(p, o)”的样本也占有一定比例,比如“《战狼》、《战狼2》的主演都是吴京”,那么要抽出“(战狼, 主演, 吴京)”、“(战狼2, 主演, 吴京)”;
4、同一对(s, o)也可能对应多个p,比如“《战狼》的主演和导演都是吴京”,那么要抽出“(战狼, 主演, 吴京)”、“(战狼, 导演, 吴京)”;
5、极端情况下,s、o之间是可能重叠的,比如“《鲁迅自传》由江苏文艺出版社出版”,严格上来讲,除了要抽出“(鲁迅自传, 出版社, 江苏文艺出版社)”外,还应该抽取出“(鲁迅自传, 作者, 鲁迅)”。
实际预测的时候,是先通过x来预测第一个单词,然后假设第一个单词已知来预测第二个单词,依此递推,直到出现结束标记。
也就是说,可以先预测s,然后传入s来预测该s对应的o,然后传入s、o来预测所传入的s、o的关系p,实际应用中,我们还可以把o、p的预测合并为一步,所以总的步骤只需要两步:先预测s,然后传入s来预测该s所对应的o及p。
3.2.2.2模型实现过程
为了处理可能由多个s、多个o甚至多个p的情况,模型是基于“半指针-半标注”的方式来做抽取,顺序是先抽取s,然后传入s来抽取o、p,不同的只是将模型的整体架构换成了bert:
1、原始序列转id后,传入bert的编码器,得到编码序列;
2、编码序列接两个二分类器,预测s;
3、训练时随机采样一个标注的 s(预测时逐一遍历所有的 s),根据传入的s,从编码序列中抽取出s的首和尾对应的编码向量;
4、以s的编码向量作为条件,对编码序列做一次条件Layer Norm;
5、对于每一种 p,都构建一个“半指针-半标注”结构来预测对应的 o 的首、尾位置,这样就同时把 o、p 都预测出来了。
3.2.3模型评估

3.2.4样例和结果展示
医疗领域语料抽取展示:
ID 样例 实体A 实体B 关系
1 慢性胰腺低剂量放射 自1964年起,有几项病例系列报道称外照射 (5-50Gy) 可以有效改善慢性胰腺炎患者的疼痛症状。慢性胰腺炎从概念上讲,外照射可以起到抗炎和止痛作用,并且已经开始被用于非肿瘤性疼痛的治疗。

2 在医生的检查中写道弥漫性肺泡出血易合并肺部感染"中,所以平时要注意防止肺部的感染

NLP自然语言处理-机器学习和自然语言处理介绍(五)相关推荐

  1. NLP自然语言处理-机器学习和自然语言处理介绍(四)

    NLP自然语言处理-机器学习和自然语言处理介绍-事件抽取 一.案例介绍 1.背景 事件抽取技术的核心价值,是可以把半结构化.非结构化数据转换为对事件的结构化描述,进而支持丰富的下游应用. 比如说我们要 ...

  2. NLP自然语言处理-机器学习和自然语言处理介绍(一)

    "NLP自然语言处理-机器学习和自然语言处理介绍" 一.机器学习 1.什么是机器学习 从广义上来说,机器学习是一种能够赋予机器学习的能力以此让它完成直接编程无法完成的功能的方法.但 ...

  3. java自然语言处理包_Java自然语言处理NLP工具包

    自然语言处理 1. Java自然语言处理 LingPipe LingPipe是一个自然语言处理的Java开源工具包.LingPipe目前已有很丰富的功能,包括主题分类(Top Classificati ...

  4. 面向机器学习的自然语言标注导读

    前言 本书的读者是那些使用计算机来处理自然语言的人.自然语言是指人类所说的任何一种语言,可以是当代语言(如英语.汉语.西班牙语),也可以指过去曾经使用过的语言(如拉丁语.古希腊语.梵语).标注(ann ...

  5. NLP入门之综述阅读-自然语言处理发展及应用综述

    NLP入门-综述阅读-[自然语言处理发展及应用综述] 1 前言 2 自然语言处理的发展 3 自然语言处理的研究方法和内容 3.1 自然语言处理的研究方法 3.2 自然语言处理基础研究 3.2.1 词法 ...

  6. 【机器学习】自然语言处理简介

    目录 参考 什么是自然语言处理 自然语言处理的基本方法 自然语言处理的三个层面 自然语言处理的难点 自然语言处理的发展现状 参考 华为云学院 什么是自然语言处理 利用计算机为工具对人类特有的书面形式和 ...

  7. 机器学习与自然语言处理

    一. 引言<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 随着 ...

  8. 科研指导:机器学习与自然语言处理

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Viax科研教育 科研方向:机器学习与自然语言处理 盐趣是一家专业的在线科研教育机构,核心教研团 ...

  9. 面向机器学习的自然语言标注

    作者:[美] 普斯特若夫斯基(James Pustejovsky),[美] 斯塔布斯(Amber Stubbs) 出版社: 机械工业出版社 ISBN:9787111555155 丛书名: OReill ...

最新文章

  1. 树上有10只鸟,打死1只,还剩几只?答案太牛了!
  2. 无意中发现Markdown,最终解放了我
  3. 各种编程技术中的$符的使用
  4. 把变量赋值给寄存器_阻塞赋值和非阻塞赋值的区别与记忆
  5. jsp内置对象销毁session
  6. SPSS教程:手把手教你设置哑变量以及解读结果
  7. [UWP开发] Win10微博分享
  8. 三电平igbt死区时间计算_IGBT的三电平控制原理
  9. win10 计算机右键管理,win10系统右键菜单管理的步骤介绍
  10. RL之MAB:多臂老虎机Multi-Arm Bandit的简介、应用、经典案例之详细攻略
  11. 加息对股市影响利好还是利空
  12. 冯·诺依曼,天才中的天才
  13. CAD得到填充名称(网页版)
  14. 国学入门书要目及其读法----梁启超
  15. 如何将Excel中的数据粘贴到cxGrid中
  16. 中国空气质量AQI热力图
  17. DevOps on DevCloud|如何采用流水线践行CI/CD理念
  18. 在线开票服务器设置,开票机服务器IP地址和端口更改操作说明 - 重庆市国家税务局....doc...
  19. Java连接Access 2013
  20. cURL error 1014: SSL verify failed 报错

热门文章

  1. python采集微信公众号_Python爬虫,微信公众号文章采集工具
  2. java页面数值转文本_Java读取Excel表格以及读取数字列转为文本的解决办法
  3. cocos2dx iphoneX 游戏适配
  4. 【蓝桥】算法训练 Beaver‘s Calculator(贪心)
  5. 游戏模型师是做什么的?薪资高不高?
  6. DataX--异构数据源数据交换工具
  7. python乘法函数_乘积(python乘法函数)
  8. Linux nodejs 安装以及配置环境
  9. java多核的利用率_java控制多核cpu的占用率
  10. H5页面input输入框,在ios手机中被顶出页面解决方案