看咒语,知情节?他们用《哈利·波特》让AI学习剧透
看《哈利·波特》,学剧透技能
郭一璞 假装发自 霍格沃兹
量子位 报道 | 公众号 QbitAI
看到一句《哈利·波特》里的咒语,就知道接下来要发生什么情节了:
是逃课去喝黄油啤酒、蹲在厕所里易容、还是大战伏地魔?
真的有人做这样的研究。
西班牙拉科鲁尼亚大学的两名研究者,在一篇发表在NAACL的论文里提出了一个新的自然语言处理(NLP)任务:
看文字场景,猜下一步行动。
举个栗子来讲,就是造一个AI,让它看到“深蓝的天空中挂着一轮金黄的圆月,下面是海边的沙地,都种着一望无际的碧绿的西瓜”,就知道接下来少年闰土要刺猹了。
差不多就是一个小说剧透插件。
从咒语入门
既然想到要做这样一个任务,那一定得有相应的语料库,用监督学习的方法,就需要一段文字场景描述,对应一段下一步行动。
这样看来,《哈利·波特》里固定的几十个咒语就是最佳的文字场景描述,毕竟咒语都是一样的,说错了就不管用了,并不像普通的人类自然语言那样博大精深,可以用许多种表述来说同一件事情。
比如说:
Lumos:荧光闪烁
Alohomora:开锁
Avada Kedavra:阿瓦达索命咒
于是,研究人员们开心的抱着《哈利·波特》原著,开始找包含咒语的文本段落,大概长这样:
比如最后一个例子是这样的,文本语料库长这样:
哈利感觉好像被看不见的人推着走一样,他听到罗恩疼的叫了一声。
“怎么了?”赫敏紧张地说,步伐也突然停了下来,哈利在后面撞上了她。
“罗恩,你在哪儿?哦,这样太蠢了——Lumos”
行动是这样的:
发光。
原著翻来覆去看完了,研究者们发现了一个尴尬的问题:
七本《哈利·波特》里,只出现了432次咒语。
432,这么点哪够当语料库用的啊!
数据量不够,怎么办呢?
原著不够,同人来凑。
因为《哈利·波特》系列太火,粉丝们也觉得这些故事看不够,所以创作了很多同人小说。既然是同人小说,那故事的世界观都是一样的,大家住在同一个霍格沃茨城堡里,上一样的魔药课,说一样的咒语,能用。
于是,研究者们找到了《哈利·波特》粉丝网站,从N多部同人小说里挑出了没有太监(断更)的那一部分小说文本,开始扒拉咒语。
果然,人多力量大,这下原著+同人,凑出了82836个咒语文本段落,语料库够了。
各种模型哪家好
有了数据集,就需要在模型上跑了。
研究者用到了多项逻辑回归(MLR)、多层感知器(MLP)、LSTM、CNN四种模型,并在结果上将频繁动作和不频繁的动作分开。
看来,结论来了:
在看场景猜行动这个任务上,LSTM是最好用的,指标相对较高;其他的,像逻辑回归之类的,不太行咯。
传送门
论文
Harry Potter and the Action Prediction Challenge from Natural Language
David Vilares, Carlos Gómez-Rodríguez
https://arxiv.org/abs/1905.11037
GitHub
https://github.com/aghie/hpac
- MEET2020 | 百度景鲲:AI交互正在吃掉旧产品边界,触达移动互联网盲区用户2019-12-10
- MEET2020 | 王砚峰揭秘搜狗AI技术体系:自然交互在左,知识计算在右,核心是语言2019-12-16
- MEET2020 | 旷视唐文斌:你到底给谁创造了什么样的价值?这是AI产品的灵魂拷问2019-12-17
- MEET2020 | 快手刘霁:AI基础能力决定每个公司AI的迭代和落地效率2019-12-20