前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >世界首个无监督幽默生成系统诞生,深度学习下一个大战场:讲段子!

世界首个无监督幽默生成系统诞生,深度学习下一个大战场:讲段子!

作者头像
新智元
发布2018-03-27 11:21:22
1.1K0
发布2018-03-27 11:21:22
举报
文章被收录于专栏:新智元

【新智元导读】作者研发了第一个完全无人监督的笑话生成系统,使用的只是大量未标注的数据。这表明生成笑话并不像一般认为的那样,总是需要深度的语义理解。

摘要

幽默的生成是一个非常复杂的问题。很难准确地说出是什么使一个笑话变得可笑。一般认为解决这个问题要深入的语义理解,以及文化和其他语境线索。这一领域之前的工作是尝试使用人工特别创建的数据库和标注的训练实例来为这种知识建模。我们没有这样做,而是提出了一个模型,使用大量的未标注数据来生成诸如我喜欢我的X就像我喜欢我的Y一样,Z笑话(I like my X like I like my Y, Z jokes)这样的模式,其中X、Y和Z是要填充的变量。这是,据我们所知,第一个完全无人监督的幽默生成系统。我们的模型显著优于竞争基线,并在16%的时间生成了有趣的笑话,人类则是33%的时间里生成笑话。

概述

生成笑话通常被认为是一个非常困难的自然语言问题,因为它意味着对文本深刻语义的理解,同时经常伴有对文化的理解。我们生成了一个特定类型的笑话——-我喜欢我的X就像我喜欢我的Y一样,Z(I like my X like I like my Y,Z)-其中X和Y是名词,Z通常描述的是X和Y的属性。这类笑话的一个例子是“我喜欢我的队员就像我喜欢我的茶一样,是热的,而且是英式的) - 这些笑话在网上很流行。

尽管从单纯地生成角度来看(句法系统是固定的),这类笑话不是很有趣,但其内容选择仍非常具有挑战性。的确,大多数用于这一笑话中的X、Y和Z,不会被认为是可笑的。因此,本项工作的主要挑战,是要在这个笑话模板中填空,并使整个句子显得可笑。

与之前所做的幽默生成的工作不同,我们不依赖于标注过的训练数据或人工编码规则,而是依赖于大量未注释的数据。我们提出了一个机器学习模型,来表达我们关于什么能使这类笑话变得可笑的假设。我们也证明了,通过使用这一相当简单的模型和大量的数据,我们在16%的时间里,生成在人类评判者看来可笑的笑话。

本文的主要贡献在于,这是就我们所知第一个完全无人监督的笑话生成系统。我们使用的只是大量未标注的数据,这表明生成笑话并不像一般认为的那样,总是需要深度的语义理解。

我们提出了一个完全无人监督的笑话生成系统,来生成以下这一类笑话

我喜欢我的人际交往关系就像我喜欢我的资源一样,很开放。

I like myrelationships like I like my source

我喜欢我的咖啡就像我喜欢我的战争一样,冰冷。

I like mycoffee like I like my war, cold

“我喜欢我的X就像我喜欢我的Y一样,Z”(I like my X like I like my Y, Z)是需要填充的模板。就我们所知,这是第一个不要求任何标注数据或是人工编码规则的笑话生成系统。我们把我们认为的关于什么使得一个笑话变得好笑的假设表达成为一个机器学习模型,并证明了通过在大量无标注数据上评估参数,我们可以生成人类觉得好笑的笑话。尽管我们的实验表明人类生成的笑话在更多时间里更好笑,我们仍然相信我们的系统能在16%的时间里产生人类觉得好笑的笑话,这件事本身就是鼓舞人心的。

笑话的数学模型

在“我喜欢我的X就像我喜欢我的Y一样,Z”(I like my X like I like my Y, Z,)模板中,我们假设X和Y是名词,Z是一个形容词。

关于这个笑话,我们的模型编码了四个主要假设,:

1.属性越经常用于形容全部两个名词,笑话越有趣;

2.属性越不常见,笑话越有趣;

3.属性表达得越模糊,笑话越有趣;

4.两个名词越不相似,笑话越有趣。

图1是以因子图形式表示的模型。由圆圈表示的变量和由方块表示的因子,定义了涉及其所连接的变量的势函数。

假设1最直接,通过φ(X, Z) 和φ(Y, Z)因子表示。这一假设可以在数学上表示为:

其中f (x, z)是度量x和z联合出现概率的函数。

关于假设2,如果有一些属性非常常见,能用于描述几乎所有事物(比如新、免费、好),那么它们导出的句子很可能是糟糕的笑话。属性Z越不寻常,就越可能引起惊奇,这是笑话幽默的来源。

我们在因子φ1(Z)中表达了这一假设:

假设3是基于这一观察,即一个属性,在一种语义下描述了名词X,描述名词Y却是另一种语义。

我们用in φ2(Z)表示:

假设4表达了两个名词间的不相似性会引出更多的幽默,因为一个属性对二者的同时描写会超出听者的期待。我们用 φ(X, Y ) 来鼓励两个名词间的不相似性:

关于数据和实验

为了估算 f(x,y)和f(z),我们使用Google n-gram数据(Michel et al.,2010),特别是Google 2-gram数据。我们使用Wordnet (Fellbaum, 1998)中与该词相关联的最常见的词性标签(POS)来标记2-gram中的每个词。在我们有了POS标记的Google 2-gram数据后,我们提取所有的(名词,形容词)对,并使用他们的计数来估算f(x,z) 和f(y,z)。

需要特别指出,尽管我们在论文中使用了Wordnet,我们的方法并不特别依赖它。我们仅仅使用它来取得一些浅层信息。

我们分两阶段评估了我们的模型。首先,自动评估从推特上搜集来的笑话;然后,拿人类生成的笑话和用我们方式生成的笑话做比较。

关于模型、数据和实验的更多内容,请点击论文链接阅读。

原文地址:http://www.aclweb.org/anthology/P13-2041

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-02-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 新智元 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档