Notes on Noise Contrastive Estimation and Negative Sampling

## 生成负样本

在常见的关系抽取应用中,我们经常需要生成负样本来训练一个好的系统。如果没有负样本,系统会趋向于把所有的变量分类成正类。但是,在关系抽取中,并不容易找到足够的高质量的负样本(ground truth)。这种情况下,我们通常需要使用distant supervision来生成负样本。

负样本的生成多少可看成是一种艺术。以下讨论了几种常用的方法,还有些方法没有列出。
  - random sampling
  - incompatible relations
  - domain-specific knowledge

## 随机抽样 Random samples
  另一种产生负面证据的方法是在所有变量中随机抽取一小部分(people mention pairs in our spouse example),并将其标记为负面证据。
  这可能会产生一些错误的负面例子,但是如果统计变量更有可能是错误的,那么随机抽样就会起作用。
  例如,大多数人在句子中提到成对,但他们不是配偶,我们就可以在提及成对的人群中,随机抽取一小部分的,并把它们标记为错误的配偶关系的例子。

## 不相容关系
  不相容关系总是或常常是与我们想要抽取的关系冲突的。比如我们有2个实体,x & y. 我们想抽取A关系,而B是与A不相容关系,我们有:
  >> B(x,y) => not A(x,y)
  比如,我们要为"spouse"(配偶)关系生成负样本,我们可以使用非配偶关系来作为与之不相容的关系,比如parents, children, or siblings: 如果 x 是 y 的父母,那么x和y不能是夫妻。

## 特定领域规则
  有时,我们可以利用其他领域特定的知识来生成负样本。这些规则的设计很大程度上依赖于应用场景。例如,对于配偶关系,一个使用时间信息的领域特定规则是“不同时活着的人不可能是配偶”。Specifically, if a person x has birth_date later than y's death_date, then x and y cannot be spouses.

This is the video of Negative Sampling in Natural Language Process Course in Coursea.com:
https://www.coursera.org/learn/nlp-sequence-models/lecture/Iwx0e/negative-sampling

Related Papers

[Noise-Contrastive Estimation of Unnormalized Statistical Models with Applications to Natural Image Statistics]

[Word2vec Parameter Learning Explained]

[Efficient Estimation of Word Representation in Vector Space]

[Distributed Representations of Words and Phrases and their Compositionality]

[Notes on Noise Contrastive Estimation and Negative Sampling]

Notes on Noise Contrastive Estimation and Negative Sampling的更多相关文章

  1. Noise Contrastive Estimation

    Notes from Notes on Noise Contrastive Estimation and Negative Sampling one sample: \[x_i \to [y_i^0, ...

  2. DL4NLP——词表示模型(三)word2vec(CBOW/Skip-gram)的加速:Hierarchical Softmax与Negative Sampling

    上篇博文提到,原始的CBOW / Skip-gram模型虽然去掉了NPLM中的隐藏层从而减少了耗时,但由于输出层仍然是softmax(),所以实际上依然“impractical”.所以接下来就介绍一下 ...

  3. 论文解读(SelfGNN)《Self-supervised Graph Neural Networks without explicit negative sampling》

    论文信息 论文标题:Self-supervised Graph Neural Networks without explicit negative sampling论文作者:Zekarias T. K ...

  4. word2vec 中的数学原理具体解释(五)基于 Negative Sampling 的模型

      word2vec 是 Google 于 2013 年开源推出的一个用于获取 word vector 的工具包,它简单.高效,因此引起了非常多人的关注. 因为 word2vec 的作者 Tomas ...

  5. word2vec原理(三) 基于Negative Sampling的模型

    word2vec原理(一) CBOW与Skip-Gram模型基础 word2vec原理(二) 基于Hierarchical Softmax的模型 word2vec原理(三) 基于Negative Sa ...

  6. [DeeplearningAI笔记]序列模型2.7负采样Negative sampling

    5.2自然语言处理 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.7 负采样 Negative sampling Mikolov T, Sutskever I, Chen K, et a ...

  7. word2vec改进之Negative Sampling

    训练网络时往往会对全部的神经元参数进行微调,从而让训练结果更加准确.但在这个网络中,训练参数很多,每次微调上百万的数据是很浪费计算资源的.那么Negative Sampling方法可以通过每次调整很小 ...

  8. 词表征 2:word2vec、CBoW、Skip-Gram、Negative Sampling、Hierarchical Softmax

    原文地址:https://www.jianshu.com/p/5a896955abf0 2)基于迭代的方法直接学 相较于基于SVD的方法直接捕获所有共现值的做法,基于迭代的方法一次只捕获一个窗口内的词 ...

  9. 【计算语言学实验】基于 Skip-Gram with Negative Sampling (SGNS) 的汉语词向量学习和评估

    一.概述 训练语料来源:维基媒体 https://dumps.wikimedia.org/backup-index.html 汉语数据 用word2vec训练词向量,并用所学得的词向量,计算 pku_ ...

随机推荐

  1. ML平台_PAI参考

    阿里云机器学习PAI(Platform of Artificial Intelligence)是一款一站式的机器学习平台,包含数据预处理.特征工程.常规机器学习算法.深度学习框架.模型的评估以及预测这 ...

  2. 坑人的 Javascript 模块化编程 require.js

    坑人的 Javascript 模块化编程 require.js

  3. 跟着未名学Office - 高效工作Outlook

    目录 第一篇邮件与联系人    1 第一节    使用与技巧    1 第二节    高效    11 第二篇    事务助手    21 第一节    日程管理    21 第二节    任务    ...

  4. java线程之间的通信

    1.常用的方法 sleep() 该线程进入等待状态,不释放锁 wait() 该线程进入等待状态,释放锁 notify() 随机唤醒一个线程 notifyAll() 唤醒全部线程 getName() 获 ...

  5. 【springmvc】之使用jQuery接收前端传入List对象

    前端代码: <form id="person_add" method="post" action="user"> <tab ...

  6. [转载]领域驱动设计(Domain Driven Design)参考架构详解

    摘要 本文将介绍领域驱动设计(Domain Driven Design)的官方参考架构,该架构分成了Interfaces.Applications和Domain三层以及包含各类基础设施的Infrast ...

  7. react中的路由模块化

    在vue中,可以将路由单独写在一个配置文件中,便于整理维护,而在前面总结整理的react中,都是直接将路由配置放在需要使用的地方,少数的时候话可以接受,但是当项目做大,这种方式就不再被推荐了,我们再r ...

  8. spring4.0之三:@RestController

    spring4.0重要的一个新的改进是@RestController注解,它继承自@Controller注解.4.0之前的版本,Spring MVC的组件都使用@Controller来标识当前类是一个 ...

  9. Ubuntu 16.04安装Pycharm2017.1.1

    安装pycharm 1.到官网下载安装包. 2.到下载目录下进行解压. 3.运行解压后的文件夹中的bin目录下的pycharm.sh文件. cd pycharm-community-2017.1.1/ ...

  10. 廖雪峰Java6 IO编程-2input和output-5操作zip

    1.ZipInputStream是一种FilterInputStream 可以直接读取zip的内容 InputStream->FilterInputStream->InflateInput ...