信息抽取

概述

  • 互联网和社交媒体快速发展
  • 文本信息资源极大丰富
  • 信息过载问题日益显现
  • 高效准确的信息获取手段成为必需
  • (文本)信息抽取技术应运而生
  • 非结构化文本数据占据约80%
  • 信息抽取
  • 从非结构化、半结构化的自然语言文本中抽取实体、实体属性、实体间的关系以及事件等事实信息,并形成结构化数据输出的一种文本数据挖掘技术
  • 信息抽取 vs 信息检索
  • 信息检索:查询——文档——检索相关结果
  • 信息抽取:文档——相关信息抽取和整理(关系、事件、属性)
  • 主要任务
  • 实体识别
  • 实体消歧
  • 关系抽取
  • 事件抽取

命名实体识别

定义

  • 命名实体识别
  • 信息抽取的一项基础任务
  • 自动识别出文本中指定类别的实体,包括人名、地名、机构名、日期、时间和货币等七类
  • 时间、日期、货币和百分比规则性强,利用模板或正则表达式基本可处理
  • 人名、地名和组织机构名是关注重点
  • 任务
  • 实体检测:检测出文本中哪些词串属于实体,即发现实体的左边界和右边界
  • 实体分类:判别检测出的实体具体属于哪个类别

典型方法

  • 基于规则的方法
  • 人名:可借助姓氏和名字用字词典,结合称谓等线索词识别大部分的人名
  • 地名和组织结构名:右边界明显,但左边界模糊,往往收集一个机构名库和地名库
  • 不足
  • 一个实体属于多个类别
  • 既是普通词也是实体
  • 实体缩写变化多、嵌套情形复杂
  • 新的命名实体层出不穷
  • 基于有监督的机器学习方法
  • 训练数据的格式化:BIOS格式化,格式为实体类别+位置类别(LOC-I)
  • 测试:每一个字符打上标签,同时包含实体类别和位置类别
  • 基于隐马尔科夫模型的命名实体识别
  • 问题形式化
  • 句子观测金融领域自然语音处理 关系抽取 python_结构化
  • 搜索标签序列金融领域自然语音处理 关系抽取 python_人工智能_02
  • 目标为最大后验概率金融领域自然语音处理 关系抽取 python_结构化_03
  • 金融领域自然语音处理 关系抽取 python_人工智能_04
  • 金融领域自然语音处理 关系抽取 python_自然语言处理_05
  • 测试
  • 给定待标注句子金融领域自然语音处理 关系抽取 python_信息检索_06,利用Viterbi算法搜索标签序列金融领域自然语音处理 关系抽取 python_自然语言处理_07
  • 金融领域自然语音处理 关系抽取 python_结构化_08
  • 金融领域自然语音处理 关系抽取 python_结构化_09
  • 基于条件随机场的命名实体识别
  • 金融领域自然语音处理 关系抽取 python_自然语言处理_10
  • 根据训练数据构造特征函数,同时训练权重
  • 词汇化特征、标签特征、标签词汇组合特征、词典特征
  • 基于深度神经网络的命名实体识别
  • 分布式向量表示 + LSTM + CRF

自动评价

  • 选择一个无关测试文本金融领域自然语音处理 关系抽取 python_结构化_11,人工标注视为GT金融领域自然语音处理 关系抽取 python_人工智能_12,得到的系统输出为金融领域自然语音处理 关系抽取 python_人工智能_13
  • 金融领域自然语音处理 关系抽取 python_自然语言处理_14金融领域自然语音处理 关系抽取 python_人工智能_12金融领域自然语音处理 关系抽取 python_人工智能_13中完全一致的实体数目
  • 金融领域自然语音处理 关系抽取 python_数据_17金融领域自然语音处理 关系抽取 python_人工智能_13中识别出但金融领域自然语音处理 关系抽取 python_人工智能_12中没有的实体数目
  • 金融领域自然语音处理 关系抽取 python_数据_20金融领域自然语音处理 关系抽取 python_人工智能_12中存在出但金融领域自然语音处理 关系抽取 python_人工智能_13中没有的实体数目
  • 金融领域自然语音处理 关系抽取 python_人工智能_23
  • 金融领域自然语音处理 关系抽取 python_信息检索_24
  • 金融领域自然语音处理 关系抽取 python_数据_25

实体消歧

定义

  • 一篇文档中同一实体可能有多种不同的指称(Mention)——共指消解
  • 共指消解:为文本中的指称确定其具体实体的过程
  • 不同文档中相同名称的实体也可能表示不同的含义——实体链接
  • 实体链接:确定实体指称所对应的真实世界实体的过程
  • 共指消解
  • 指称类型:普通名词短语、专有名词和代词
  • 目标:将文档中所有指称进行聚类,将指向同一实体的所有指称归为一类
  • 实体链接
  • 无论对于关系抽取还是事件抽取,都需要对多个文档中相同指称进行消岐
  • 确定实体指称所对应的真实世界实体

典型方法

共指消解
  • 问题形式化
  • 假设文本中所有指称都已经正确识别,并构成候选指称集合金融领域自然语音处理 关系抽取 python_数据_26
  • 共指消解问题可视为集合金融领域自然语音处理 关系抽取 python_结构化_27上的划分问题,每个等价类中的所有元素指向同一个实体
  • 基于规则的共指消解——多遍过滤法
  • 用强规则对候选指称集合金融领域自然语音处理 关系抽取 python_结构化_27进行划分和聚类,得到新集合金融领域自然语音处理 关系抽取 python_信息检索_29,上标金融领域自然语音处理 关系抽取 python_自然语言处理_30相同的指称具有共指关系,合并为一个聚类(共指链),算作一个元素,金融领域自然语音处理 关系抽取 python_自然语言处理_31
  • 金融领域自然语音处理 关系抽取 python_数据_32的基础上,逐渐利用准确率稍低的规则对其进行划分,不断放松约束归并具有共指关系的指称集合
  • 集合𝑀中的元素个数随着各层筛子的应用不断减少,总体上正确率不断下降,召回率不断上升
  1. 第一遍,精确匹配规则:如果两个指称在字符层面完全匹配,那么这两个指称指向同一个实体,将其聚为一类
  2. 第二遍,精确结构规则:如果两个指称满足P50中条件之一,则认为这两个指称指向同一个实体
  3. 第三遍,严格的中心词匹配规则:指称或指称聚类满足P51所有条件才能将其归为某个聚类
  4. 第四~六遍,更加宽松的匹配规则
  5. 第七遍,代词匹配规则:消解代词时,要求先行语和该代词在单复数、性别、人称、动物性(是否为生命体)和实体类别上保持一致
  • 数据驱动的共指消解
  • 假设存在一批正确标注了共指关系的语料库,希望从标注数据中学习共指消解模型,自动对测试数据中的候选指称集合进行划分
  • 输入:候选之臣集合金融领域自然语音处理 关系抽取 python_信息检索_33、训练样本(已标记)、测试样本(未标记)
  • 核心模块:正负指称对构建、特征提取、指称对分类训练模型
  • 模型判别结构:
  • 正负指称对:对金融领域自然语音处理 关系抽取 python_信息检索_33的任意指称金融领域自然语音处理 关系抽取 python_人工智能_35,若与之最近的具有共指关系的指称是金融领域自然语音处理 关系抽取 python_信息检索_36,则金融领域自然语音处理 关系抽取 python_自然语言处理_37构成正例,任意金融领域自然语音处理 关系抽取 python_信息检索_38金融领域自然语音处理 关系抽取 python_人工智能_35构成负例
  • 特征提取
  • 指称自身以及上下文共同构成特征
  • 特征函数金融领域自然语音处理 关系抽取 python_自然语言处理_40
  • 分类模型:朴素贝叶斯、最大熵、支持向量机等
  • 自动评价
  • 人工标注集合金融领域自然语音处理 关系抽取 python_人工智能_41和系统生成集合金融领域自然语音处理 关系抽取 python_数据_42
  • 金融领域自然语音处理 关系抽取 python_信息检索_43金融领域自然语音处理 关系抽取 python_信息检索_44为在标准等价类内系统的划分结果
  • 金融领域自然语音处理 关系抽取 python_信息检索_45金融领域自然语音处理 关系抽取 python_人工智能_46为在系统等价类内实际的划分结果
实体链接
  • 目标:学校一个映射函数金融领域自然语音处理 关系抽取 python_数据_47,将金融领域自然语音处理 关系抽取 python_自然语言处理_48中每一个实体指称准确连接到实体概念集合金融领域自然语音处理 关系抽取 python_数据_49中某个对应实体,通常参考背景金融领域自然语音处理 关系抽取 python_自然语言处理_50
  • 主要步骤
  • 候选实体概念的确定:对于给定的实体指称金融领域自然语音处理 关系抽取 python_自然语言处理_51,从金融领域自然语音处理 关系抽取 python_自然语言处理_52中找出可能的候选集合金融领域自然语音处理 关系抽取 python_人工智能_53
  • 候选实体概念的排序:对候选集合金融领域自然语音处理 关系抽取 python_人工智能_53中的所有实体进行打分排序,排在最前面的实体概念就是答案
  • 确定候选实体概念
  • 确定结果直接影响实体链接的候选空间
  • 方法:构造 指称-实体概念 词典
  • 以维基百科为知识源,最终形成<mention, entity>的键值对
  • 利用Wikipedia页面的各种特性
  • 候选实体概念排序
  • 方法分类(是否独立预测)
  • 基于局部的实体排序:假设文档中多个指称之间相互独立,对某个指称的候选实体排序仅仅关注该指称的上下文以及候选实体概念的语义信息
  • 基于全局的实体排序:假设文档中指称相关,一定程度上属于同一个主题,因此在实体链接过程中相互影响(相关图)
  • 自动评价
  • 类似于分类任务,直接使用P、R进行评价
  • 对于文档金融领域自然语音处理 关系抽取 python_结构化_55,人工标注的指称和链接结果集合为金融领域自然语音处理 关系抽取 python_数据_56金融领域自然语音处理 关系抽取 python_信息检索_57,系统产生为金融领域自然语音处理 关系抽取 python_结构化_27金融领域自然语音处理 关系抽取 python_自然语言处理_52
  • 二者的交集为金融领域自然语音处理 关系抽取 python_结构化_60金融领域自然语音处理 关系抽取 python_数据_61
  • 金融领域自然语音处理 关系抽取 python_信息检索_62
  • 金融领域自然语音处理 关系抽取 python_信息检索_63
  • 金融领域自然语音处理 关系抽取 python_人工智能_64

关系抽取

定义

  • 关系抽取:识别文本中的实体并判别实体间关系
  • n-元关系:金融领域自然语音处理 关系抽取 python_自然语言处理_65,一般关注2-元关系,构成三元组金融领域自然语音处理 关系抽取 python_人工智能_66

典型方法

  • 问题形式化
  • 假设句子中的实体已经给定,目标在于识别实体之间的关系
  • 以下探讨限定领域给定关系类别集合下的关系识别任务
  • 实体关系训练数据金融领域自然语音处理 关系抽取 python_数据_67,关系类别集合金融领域自然语音处理 关系抽取 python_数据_68
  • 测试数据金融领域自然语音处理 关系抽取 python_人工智能_69
  • 基于分布式表示的关系分类
  • 方法关键:如何根据实体所在的上下文准确判别一对实体之间的关
  • 核心思想
  • 所有特征采用分布式表示,以克服数据稀疏与语义鸿沟问题
  • 采用局部表示捕捉实体对周围的上下文词汇化特征
  • 采用CNN捕捉实体对所在句子的全局信息
  • 输入:经过分词的句子金融领域自然语音处理 关系抽取 python_信息检索_70,并标注了待识别关系的两个实体金融领域自然语音处理 关系抽取 python_结构化_71金融领域自然语音处理 关系抽取 python_自然语言处理_72
  • 首先将每个词语映射为词向量金融领域自然语音处理 关系抽取 python_信息检索_73,形成词向量列表金融领域自然语音处理 关系抽取 python_数据_74
  • 核心模块
  • 学习词汇化分布式特征表示金融领域自然语音处理 关系抽取 python_结构化_75
  • 学习句子级分布式特征表示金融领域自然语音处理 关系抽取 python_自然语言处理_76
  • 最终表示金融领域自然语音处理 关系抽取 python_数据_77
  • 分类:线性映射 + softmax
  • 词汇化分布式表示
  • 实体自身
  • 实体的上下文词汇
  • 实体对在语义知识库的上位词

自动评价

  • 人工表示实体关系集合金融领域自然语音处理 关系抽取 python_自然语言处理_78,自动标注结果金融领域自然语音处理 关系抽取 python_结构化_79
  • 金融领域自然语音处理 关系抽取 python_结构化_80
  • 金融领域自然语音处理 关系抽取 python_数据_81
  • 金融领域自然语音处理 关系抽取 python_结构化_82

事件抽取

定义

  • 针对特定领域的事件进行事件元素的抽取
  • 事件
  • 事件类型
  • 参与者(人名、机构名)
  • 通用事件属性(地点、时间、时长)
  • 事件相关属性(由具体的事件类型决定)
  • 每个事件属性视为一种角色
  • 不同类型的事件对应不同的组织结构
  • 事件抽取旨在抽取表明事件类型的触发词及其对应的事件元素
  • 每种类型的事件可以通过一个模板表示,该模板可以是通用模板,也可以是事件类型相关的特定模板

典型方法

  • 基于联合模型的事件抽取方法
  • 多个事件联合抽取
  • 形式化
  • 触发词标记集合金融领域自然语音处理 关系抽取 python_数据_83
  • 事件元素角色结合金融领域自然语音处理 关系抽取 python_结构化_84
  • 输入:句子金融领域自然语音处理 关系抽取 python_自然语言处理_85,候选事件元素列表金融领域自然语音处理 关系抽取 python_自然语言处理_86
  • 输出:金融领域自然语音处理 关系抽取 python_结构化_87金融领域自然语音处理 关系抽取 python_信息检索_88金融领域自然语音处理 关系抽取 python_结构化_89的触发词标记,金融领域自然语音处理 关系抽取 python_自然语言处理_90金融领域自然语音处理 关系抽取 python_信息检索_91输入事件类型金融领域自然语音处理 关系抽取 python_信息检索_92的角色标记
  • 目标:给定任意金融领域自然语音处理 关系抽取 python_数据_93,准确输出标注结果金融领域自然语音处理 关系抽取 python_人工智能_94,该问题可通过金融领域自然语音处理 关系抽取 python_数据_95求解
  • 优化:在线更新金融领域自然语音处理 关系抽取 python_结构化_96,其中金融领域自然语音处理 关系抽取 python_人工智能_97为标注结果,金融领域自然语音处理 关系抽取 python_人工智能_94为预测结果
  • 算法:P109(BeamSearch)
  • 基于分布式模型的事件抽取方法
  • 词向量表示
  • 词汇特征的分布式表示
  • 句子特征 + 卷积
  • 角色分类

自动评价

  • 触发词识别
  • 触发词定位
  • 事件类型分类
  • 事件角色分类
  • 时间元素识别
  • 角色分类
  • 正确事件
  • 正确定位触发词
  • 正确预测事件类型
  • 正确识别触发词关联属性
  • 正确预测事件角色