Distant Supervision for relation extraction without labeled data
Distant Supervision for relation extraction without labeled data
远程监督:使用未标注语料做关系抽取
1. 背景:
关系抽取(某个人是否属于某个组织等)
关系抽取中使用的3种方法:
a) 监督学习
优点:准确率很高
缺点:1.手工标注金标语料代价昂贵,时间金钱上需要很大的开销,并且数量受限,得不到大量的训练数据; 2.领域受限,标注都是在一个特定的语料中,训练的系统受限于那个领域
b) 无监督学习
优点:可以使用大规模的数据,抽取出大量的关系
缺点:抽取的结果往往比较难映射到特定的知识库
c) Bootstrap learning
往往有低准确率的问题。
d) 远程监督
使用知识库(freebase)来获取weekly labeled training data。
特点:相比监督学习,使用知识库提供训练数据来取代人工标注获取训练数据,没有过拟合的问题和领域依赖的问题;比起无监督,不用解决聚类结果到关系的映射问题,并且使用大规模的训练数据可以得到丰富的特征。
2. 方法介绍
基本假设: 如果两个实体是某个关系的参与者,任意的一个包含这两个实体的句子都可能表达了这个关系。
训练阶段
- 使用 NET(named entity tagger)标注 persons organizations 和 locations;
- 对在freebase中出现的实体对提取特征,构造训练数据;
- 训练多类别逻辑斯特回归模型。
测试阶段:
- 使用 NET(named entity tagger)标注 persons organizations 和 locations
- 在句子中出现的每对实体都被考虑做为一个潜在的关系实例,作为测试数据
- 使用训练后的模型对实体对分类。
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的更多相关文章
- 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 ...
- 少标签数据学习:宾夕法尼亚大学Learning with Few Labeled Data
目录 Few-shot image classification Three regimes of image classification Problem formulation A flavor ...
- Relation Extraction中SVM分类样例unbalance data问题解决 -松弛变量与惩罚因子
转载自:http://blog.csdn.net/yangliuy/article/details/8152390 1.问题描述 做关系抽取就是要从产品评论中抽取出描述产品特征项的target短语以及 ...
- 关系抽取--Relation Extraction: Perspective from Convolutional Neural Networks
一种使用CNN来提取特征的模型,通过CNN的filter的大小来获得不同的n-gram的信息,模型的结构如下所示: 输入 输入使用word2vec的50维词向量,加上 position embeddi ...
- 研究NLP100篇必读的论文---已整理可直接下载
100篇必读的NLP论文 100 Must-Read NLP 自己汇总的论文集,已更新 链接:https://pan.baidu.com/s/16k2s2HYfrKHLBS5lxZIkuw 提取码:x ...
- 【DeepLearning】一些资料
记录下,有空研究. http://nlp.stanford.edu/projects/DeepLearningInNaturalLanguageProcessing.shtml http://nlp. ...
- 卷积神经网络CNN在自然语言处理中的应用
卷积神经网络(Convolution Neural Network, CNN)在数字图像处理领域取得了巨大的成功,从而掀起了深度学习在自然语言处理领域(Natural Language Process ...
- (转) Graph-powered Machine Learning at Google
Graph-powered Machine Learning at Google Thursday, October 06, 2016 Posted by Sujith Ravi, S ...
- Machine Learning and Data Mining(机器学习与数据挖掘)
Problems[show] Classification Clustering Regression Anomaly detection Association rules Reinforcemen ...
随机推荐
- STM32的串口
一:2个状态位_itstatus与_flagstatus的区别: _flagstatus:只是读状态标志,不管中断是否使能或发生.例如使用查询方式发送数据就需要读改状态位. _itstatus:和中断 ...
- Ubuntu编写开机自启动脚本(转载)
From:http://blog.csdn.net/marujunyy/article/details/8466255 1.首先编写一个简单的shell脚本test.sh #! /bin/bash e ...
- java之生产者与消费者
package com.produce; import java.util.LinkedList; import java.util.Queue; /*@author shijin * 生产者与消费者 ...
- vi命令的使用
<转:http://linux.vbird.org/linux_basic/0310vi.php> 基本上 vi 共分为三种模式,分别是『一般模式』.『编辑模式』与『指令列命令模式』. 圖 ...
- Enumerator yielder.yield 与 Proc.yield 区别
最近看ruby cookbook遇到这个用法,google一下,这里原文解释 http://stackoverflow.com/questions/18865860/enumerator-yielde ...
- mysql 如何用root 登录
mysql -uroot -p 如果没有密码,按两下回车就进去了
- ms sqlserver 系列之如何查看数据链接数
[转]如何查看SQL SERVER数据库当前连接数 1.通过管理工具开始->管理工具->性能(或者是运行里面输入mmc)然后通过添加计数器添加 SQL 的常用统计然后在下面列出的项目里面选 ...
- CodeForces 604D 【离散数学 置换群】
题意: 给你一个方程,方程太变态不打,给你一个p一个k,p保证是大于等于3的质数,k保证在0~p-1之间的整数.要求对应函数的定义域在0~p-1值域为0~p-1的子集,求这样的函数有多少个... 分析 ...
- (easy)LeetCode 205.Isomorphic Strings (*)
Given two strings s and t, determine if they are isomorphic. Two strings are isomorphic if the chara ...
- hbase1.1.2安装
环境:hadoop2.6.1,zk3.4.6 1.配置环境变量 sudo vi /etc/profile.d/hbase-env.sh export HBASE_HOME=/usr/local/hba ...