Skip to content

An application that can generate joke in English and Chinese. (一个可以生成中文和英文笑话的应用)

Notifications You must be signed in to change notification settings

ChaokunChang/Joke-Factory

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Joke-Factory

Theory of Humor and Joke

https://www.zhihu.com/question/22341849

Motivation

笑话识别

其实就是humor recognition,不是一个很新颖的任务,但是也蛮有意思的。这个的主要问题在数据上。 我可以找到一些笑话,他们是正样本,但是负样本就不太好找。不管用什么预料,似乎都是和笑话预料相差甚远,不在同一个域下。 一种方法就是搞到一份大语料,对每一个笑话,从大语料中搜寻相关性最大的段落,作为对照语料。这样构造的语料就比较合理。 不过有这种语料似乎做生成也会比较有意思。给一段正常的文字,生成出一段搞笑语料。

中英文笑话关系的探究

在识别的基础上做中英文笑话研究。应该也只能做一个初步的探讨。首先有一些幽默本身的背景知识,做翻译后再判断应该会有些不错的结果。但是这个目标似乎不是很清晰。其实可以做一个语言无关笑话的识别。有些笑话是用谐音梗的,这些笑话显然是语言相关的(这么说训练的时候似乎加一个发音的特征会好很多),但是有些笑话,如逻辑笑话,就和语言无关了。还有一些笑话是和文化历史相关的,往往涉及到一些历史人物,这种东西不是general的。

笑点识别

没有标注数据很难,问答型的倒是还好,因为笑点可以粗略地定位在回答上。

笑话生成

生成的问题,其实可以按照唐诗生成的问题来做,这样以前的代码再用一下就行,挺容易。比较麻烦的问题是笑点的问题,即梗在哪里?这个问题其实其他任务肯定也有。 最简单的语料就是问答型的那种笑话,直接问句作为输入,回答作为输出即可。这种是类似对对子的。 再者就是像唐诗宋词歌曲代码生成一样,直接seq[:-1] -> seq[0:]做预测即可。

Dataset

English Jokes

https://www.kaggle.com/abhinavmoudgil95/short-jokes

Chinese Jokes

https://github.com/Licoy/A-Joke http://www.jokeji.cn/ https://www.xiaohua.com/ http://xiaohua.zol.com.cn/

幽默的原因

有些是因为一些词语的妙用, 大多数是反转,语义上的反转,本来正常应该这样说,结果突然来一句xxx,非常有戏剧性。

笑话种类分析

谐音笑话

有些笑话是和语言相关的,比如谐音梗。
3. 两头牛在一起吃草,青牛问黑牛:“喂!你的草是什么味道?”黑牛道:“草莓味!”青牛靠过来吃了一口,愤怒地喊到“你骗我!”黑牛轻蔑地看他一眼,回道:“笨蛋,我说草没味。”

歧义笑话

一词多义,造成奇妙的效果。但是有些是和社会生活相关的,这个可能会具有语言种类的特性。
1.有一只老虎感冒了,想要吃掉熊猫,熊猫哭了:“你感冒了,干嘛要吃掉我呢?”老虎说:“广告上都说了,感冒就要吃白加黑!”

类比推理笑话

根据前面的一些条件,类比推理出一个出乎意料的结果
5.公园有一对恋人正在甜蜜,女孩撒娇说:“老公,我牙痛”男孩吻了女孩说:“还痛吗?”女孩说:“不痛了”一会女孩又撒娇说:“我脖子痛”于是男孩又吻了女孩的脖子说:“还痛吗?”女孩高兴的说:“不痛了”旁边有一老太太看见了忍不住的说:“小伙子,你真神拉,能治痔疮不?”

先果后因笑话

给出一个结果,再给出一个出乎意料又很合理的原因。
6. 医生说:去给那位今天要出院的病人注射一针镇静剂。护士不解问:都可以出院了,还打镇静剂干嘛?医生说:等下要结账,我怕他受不了!

评分标准

  1. 任务的新颖性
  2. 过程的逻辑性
  3. 结果及分析的可信度

About

An application that can generate joke in English and Chinese. (一个可以生成中文和英文笑话的应用)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages