来源: 机器人圈
概要:这些主题分为三个高级主题,使其成为一个过程,从理解用于序列语言建模的神经网络的使用,到了解它们作为用于转导任务的条件语言模型的用途,最后是将这些技术与其他机制相结合形成的高级应用的方法。
说明:该文章包含牛津大学2017春季提供的关于深度自然语言处理课程的幻灯片和课程说明。
这是一门关于自然语言处理的高级课程。自动处理自然语言输入和产生语言输出是通用人工智能的关键组成部分。人类传播中固有的模糊性和噪音使得传统的符号AI技术无法表示和分析语言数据。最近基于神经网络的统计技术在自然语言处理方面取得了一系列显著的成功,在很大程度上引起了学界和学术界对此领域的浓厚兴趣。
这是一门应用课程,侧重于使用循环神经网络分析并生成语言和文本的最新进展。我们会介绍相关机器学习模型的数学定义,并推导出相关的优化算法。该课程涵盖了神经网络在NLP中的一系列应用,包括分析文本中的潜在维度,将语音转录为文本,语言翻译和问题问答。这些主题分为三个高级主题,使其成为一个过程,从理解用于序列语言建模的神经网络的使用,到了解它们作为用于转导任务的条件语言模型的用途,最后是将这些技术与其他机制相结合形成的高级应用的方法。在整个课程中,还讨论了在CPU和GPU硬件上这些模型的实际实现。
本课程由Phil Blunsom主讲,并与DeepMind自然语言研究小组有着紧密合作。
讲师
Phil Blunsom(牛津大学和DeepMind)
克里斯•戴尔(卡内基梅隆大学和DeepMind)
Edward Grefenstette(DeepMind)
卡尔•莫里茨•赫尔曼(DeepMind)
Andrew Senior(DeepMind)
Wang Ling(DeepMind)
Jeremy Appleyard(英伟达)
助教
Yannis Assael
Yishu Miao
布伦丹•希林福德
Jan Buys
时间表
实习
第1组:周一,9:00-11:00(第2-8周)
第2组:周五,16:00-18:00(第2-8周)
实践1:word2vec
实践2:文本分类
实践3:用于文本分类和语言建模的循环神经网络
实践4:自由实践
讲座
公开讲座在星期二和星期四(除了第八周),16:00-18:00(Hilary Term周末1,3-8)在数学研究所的演讲厅1号厅举行。
讲座材料
1.讲座1a——介绍[Phil Blunsom]
本讲座介绍课程,并强调了深度学习技术来学习语言处理的乐趣所在。
[幻灯片]
(https://github.com/oxfordcsdeepnlp2017/lectures/blob/master/Lecture%201a%20-%20Introduction.pdf)
[视频]
(http://101.96.8.164/media.podcasts.ox.ac.uk/comlab/deep_learning_NLP/2017-01_deep_NLP_1b_friends.mp4)
2.讲座1b——深神经网络是我们的朋友[Wang Ling]
该讲座修正了学生在开始本课程之前应该了解的基本机器学习概念。
[幻灯片]
(http://101.96.8.164/media.podcasts.ox.ac.uk/comlab/deep_learning_NLP/2017-01_deep_NLP_1b_friends.mp4)
[视频]
(http://101.96.8.164/media.podcasts.ox.ac.uk/comlab/deep_learning_NLP/2017-01_deep_NLP_1b_friends.mp4)
3.讲座2a——词级语义学[Ed Grefenstette]
词汇在语言中有着核心意义,表示和学习词汇的意义是NLP中的一项基本任务,在本讲座中,引入将单词嵌入的概念使其作为一个实践和可扩展的解决方案。
[幻灯片]
(https://github.com/oxford-cs-deepnlp2017/lectures/blob/master/Lecture%202a-%20Word%20Level%20Semantics.pdf)
[视频]
(http://101.96.8.164/media.podcasts.ox.ac.uk/comlab/deep_learning_NLP/2017-01_deep_NLP_2a_lexical_semantics.mp4)
阅读
嵌入基础知识
Firth,John R《语言学理论的概要,1930-1955》(1957):1-32。(http://annabellelukin.edublogs.org/files/2013/08/Firth-JR-1962-A-Synopsis-of-Linguistic-Theory-wfihi5.pdf)
Curran, James Richard《从分布到语义相似》(2004年)。
(https://www.era.lib.ed.ac.uk/bitstream/handle/1842/563/IP030023.pdf?sequence=2&isAllowed=y)
Collobert,Ronan等人《自然语言处理(几乎)从零开始》机器学习研究学报12. Aug(2011):2493-2537。
(http://www.jmlr.org/papers/volume12/collobert11a/collobert11a.pdf)
Mikolov,Tomas等人《单词、短语及其组合的分布式表达》。神经信息处理系统的进展, 2013。
(http://papers.nips.cc/paper/5021-distributed-representations-of-words-and-phrases-and-their-compositionality.pdf)
数据集和可视化
Finkelstein, Lev等人《在情境中搜索:概念的重新审视》,第十届万维网国际会议论文集。 ACM,2001。
(https://www.tugraz.at/institute/isds/thesis/cguetl_diss/literatur/Kapitel07/References/Finkelstein_et_al._2002/p116-finkelstein.pdf)
Hill,Felix,Roi Reichart和Anna Korhonen《Simlex-999:用(真实的)相似度估计来评估语义模型》,计算语言学(2016)。
(http://www.aclweb.org/website/old_anthology/J/J15/J15-4004.pdf)
Maaten,Laurens van der和Geoffrey Hinton《使用t-SNE可视化数据》,机器学习研究杂志9.Nov(2008):2579-2605。
(http://www.jmlr.org/papers/volume9/vandermaaten08a/vandermaaten08a.pdf)
博客帖子
深度学习,NLP和表征,Christopher Olah。
(http://colah.github.io/posts/2014-07-NLP-RNNs-Representations/)
在Javascript,使用t-SNE来可视化顶部Tweep,Andrej Karpathy
(http://karpathy.github.io/2014/07/02/visualizing-top-tweeps-with-t-sne-in-Javascript/)
进一步阅读
Hermann,Karl Moritz和Phil Blunsom《用于组合分布式语义的多语言模型》,arXiv preprint arXiv:1404.4641(2014)。
(https://arxiv.org/pdf/1404.4641.pdf)
Levy,Omer和Yoav Goldberg。 《神经元词汇嵌入作为隐式矩阵分解》,神经信息处理系统的进展,2014年。
(http://101.96.8.165/u.cs.biu.ac.il/~nlp/wp-content/uploads/Neural-Word-Embeddings-as-Implicit-Matrix-Factorization-NIPS-2014.pdf)
Levy,Omer,Yoav Goldberg和Ido Dagan《通过词汇嵌入的经验教训改进分布相似性》,计算语言学协会3(2015):211-225。
(https://www.transacl.org/ojs/index.php/tacl/article/view/570/124)
Ling和Wang等人《用于语法问题的Word2Vec的两个/太简单的应用》,HLT-NAACL,2015年。
(https://www.aclweb.org/anthology/N/N15/N15-1142.pdf)
4.讲座2b——实践概述[Chris Dyer]
这个讲座强调的是该课程的实践部分。
[幻灯片]
(https://github.com/oxfordcsdeepnlp2017/lectures/blob/master/Lecture%202b%20-%20Overview%20of%20the%20Practicals.pdf)
[视频]
(http://101.96.8.164/media.podcasts.ox.ac.uk/comlab/deep_learning_NLP/2017-01_deep_NLP_2b_practicals.mp4)
5.讲座3——语言建模和RNN第1部分[Phil Blunsom]
语言建模是许多NLP应用程序中非常实用的重要任务。本讲座介绍了语言建模,包括传统的基于n-gram的方法和更多的当代神经学方法。特别引入流行的循环神经网络(RNN)