Distant Supervision for relation extraction without labeled data

远程监督:使用未标注语料做关系抽取

1. 背景:

关系抽取(某个人是否属于某个组织等)

    关系抽取中使用的3种方法:

a) 监督学习

优点:准确率很高

缺点:1.手工标注金标语料代价昂贵,时间金钱上需要很大的开销,并且数量受限,得不到大量的训练数据; 2.领域受限,标注都是在一个特定的语料中,训练的系统受限于那个领域

b) 无监督学习

优点:可以使用大规模的数据,抽取出大量的关系

缺点:抽取的结果往往比较难映射到特定的知识库

c) Bootstrap learning

往往有低准确率的问题。

d) 远程监督

使用知识库(freebase)来获取weekly labeled training data。

特点:相比监督学习,使用知识库提供训练数据来取代人工标注获取训练数据,没有过拟合的问题和领域依赖的问题;比起无监督,不用解决聚类结果到关系的映射问题,并且使用大规模的训练数据可以得到丰富的特征。

2. 方法介绍

    基本假设: 如果两个实体是某个关系的参与者,任意的一个包含这两个实体的句子都可能表达了这个关系。

训练阶段

    1. 使用 NET(named entity tagger)标注 persons organizations 和 locations;
    2. 对在freebase中出现的实体对提取特征,构造训练数据;
    3. 训练多类别逻辑斯特回归模型。

测试阶段:

    1. 使用 NET(named entity tagger)标注 persons organizations 和 locations
    2. 在句子中出现的每对实体都被考虑做为一个潜在的关系实例,作为测试数据
    3. 使用训练后的模型对实体对分类。

3. 特征选择

3.1. 词汇特征:

a) 两个实体中间的词序列;

b) 这些词的词性标记;

c) 标志位表示哪个实体出现在前面;

d) 大小为k的左窗口;

e) 大小为k的右窗口。

3.2. 句法特征:

a) 两个实体之间的最短依存路径;

b) 两个实体的左右窗口。

3.3. 命名实体tag特征:

人名、地名、组织名和其他

4. 其他注意的地方

连接特征来丢进多类逻辑斯特回归模型。

负例构造:随机选取不在freebase中的实体对(有错误的可能)

训练和测试数据构造:freebase中的关系实例一半用来训练,另一半用来测试。数据使用维基百科数据,2:1的训练和测试数据分配。测试时只对在训练时未出现(不属于训练时的freebase中)的实例对分类。

测试结果选择:对所有实体对分类,并对每对实体对分配一个分类结果的置信度。然后对它们的置信度排序,选取top n。

Distant Supervision for relation extraction without labeled data的更多相关文章

  1. ACL2019: 《GraphRel: Modeling Text as Relational Graphs for Joint Entity and Relation Extraction》源码解析

    论文地址:<GraphRel: Modeling Text as Relational Graphs for Joint Entity and Relation Extraction> G ...

  2. 少标签数据学习:宾夕法尼亚大学Learning with Few Labeled Data

    目录 Few-shot image classification Three regimes of image classification Problem formulation A flavor ...

  3. Relation Extraction中SVM分类样例unbalance data问题解决 -松弛变量与惩罚因子

    转载自:http://blog.csdn.net/yangliuy/article/details/8152390 1.问题描述 做关系抽取就是要从产品评论中抽取出描述产品特征项的target短语以及 ...

  4. 关系抽取--Relation Extraction: Perspective from Convolutional Neural Networks

    一种使用CNN来提取特征的模型,通过CNN的filter的大小来获得不同的n-gram的信息,模型的结构如下所示: 输入 输入使用word2vec的50维词向量,加上 position embeddi ...

  5. 研究NLP100篇必读的论文---已整理可直接下载

    100篇必读的NLP论文 100 Must-Read NLP 自己汇总的论文集,已更新 链接:https://pan.baidu.com/s/16k2s2HYfrKHLBS5lxZIkuw 提取码:x ...

  6. 【DeepLearning】一些资料

    记录下,有空研究. http://nlp.stanford.edu/projects/DeepLearningInNaturalLanguageProcessing.shtml http://nlp. ...

  7. 卷积神经网络CNN在自然语言处理中的应用

    卷积神经网络(Convolution Neural Network, CNN)在数字图像处理领域取得了巨大的成功,从而掀起了深度学习在自然语言处理领域(Natural Language Process ...

  8. (转) Graph-powered Machine Learning at Google

        Graph-powered Machine Learning at Google     Thursday, October 06, 2016 Posted by Sujith Ravi, S ...

  9. Machine Learning and Data Mining(机器学习与数据挖掘)

    Problems[show] Classification Clustering Regression Anomaly detection Association rules Reinforcemen ...

随机推荐

  1. STM32的串口

    一:2个状态位_itstatus与_flagstatus的区别: _flagstatus:只是读状态标志,不管中断是否使能或发生.例如使用查询方式发送数据就需要读改状态位. _itstatus:和中断 ...

  2. Ubuntu编写开机自启动脚本(转载)

    From:http://blog.csdn.net/marujunyy/article/details/8466255 1.首先编写一个简单的shell脚本test.sh #! /bin/bash e ...

  3. java之生产者与消费者

    package com.produce; import java.util.LinkedList; import java.util.Queue; /*@author shijin * 生产者与消费者 ...

  4. vi命令的使用

    <转:http://linux.vbird.org/linux_basic/0310vi.php> 基本上 vi 共分为三种模式,分别是『一般模式』.『编辑模式』与『指令列命令模式』. 圖 ...

  5. Enumerator yielder.yield 与 Proc.yield 区别

    最近看ruby cookbook遇到这个用法,google一下,这里原文解释 http://stackoverflow.com/questions/18865860/enumerator-yielde ...

  6. mysql 如何用root 登录

    mysql -uroot -p 如果没有密码,按两下回车就进去了

  7. ms sqlserver 系列之如何查看数据链接数

    [转]如何查看SQL SERVER数据库当前连接数 1.通过管理工具开始->管理工具->性能(或者是运行里面输入mmc)然后通过添加计数器添加 SQL 的常用统计然后在下面列出的项目里面选 ...

  8. CodeForces 604D 【离散数学 置换群】

    题意: 给你一个方程,方程太变态不打,给你一个p一个k,p保证是大于等于3的质数,k保证在0~p-1之间的整数.要求对应函数的定义域在0~p-1值域为0~p-1的子集,求这样的函数有多少个... 分析 ...

  9. (easy)LeetCode 205.Isomorphic Strings (*)

    Given two strings s and t, determine if they are isomorphic. Two strings are isomorphic if the chara ...

  10. hbase1.1.2安装

    环境:hadoop2.6.1,zk3.4.6 1.配置环境变量 sudo vi /etc/profile.d/hbase-env.sh export HBASE_HOME=/usr/local/hba ...