机器学习(ML)已经成为我们生活中无处不在的一部分。例如,华盛顿大学的机器学习教授Pedro Domingos讨论了21世纪人生活中的典型一天,展示了她如何在一天中与机器学习应用程序相陪伴,从清晨(例如,在机器符合她喜好的音乐中醒来)到深夜(例如,服用由生物医学研究员在机器人科学家的帮助下设计的药物)(Domingos, 2015)。
自然语言处理(NLP)是ML的一个重要子领域。作为其有用性的一个例子,考虑到PubMed,一个由美国国立卫生研究院(National Institutes of Health)建立的生物医学出版物库,自2010年以来每年索引超过100万份研究出版物(Vardakas et al., 2015)。显然,没有一个人类读者(或读者团队)能够处理如此多的材料。我们需要机器来帮助我们管理这大量的知识。作为众多例子中的一个,包括我们研究团队在内的跨学科合作表明,机器阅读在生物医学文献中发现的蛋白质信号通路比目前在人工管理的知识库中发现的多一个数量级(Valenzuela-Escárcega et al., 2018)。这些自动发现的生物医学相互作用中只有60%到80%是正确的(这是一个很好的动机,不要让机器单独工作!)但是,如果没有NLP,所有这些都将是“未被发现的公共知识”(Swanson, 1986),限制了我们了解癌症等重要疾病的能力。NLP的其他重要和更常见的应用包括网络搜索、机器翻译和语音识别,所有这些几乎都对每个人的生活产生了重大影响。
大约从2014年开始,“深度学习海啸”席卷了NLP领域(Manning, 2015),如今,大多数NLP出版物都使用了深度学习。例如,深度学习在4个顶级NLP会议上的发表比例从2012年的40%以下增加到2017年的70% (Young et al., 2018)。这种优势是有充分理由的: 深度学习系统相对容易构建(由于它们的模块化),并且它们比许多其他的ML方法表现得更好例如,网站nlpprogress.com跟踪许多NLP任务的最新结果,主要是深度学习方法的结果。
这本书解释了NLP的深度学习方法,旨在涵盖理论方面(例如,神经网络如何学习?)和实践方面(例如,我如何构建一个语言应用程序?)本书的目标就是做到这一点,同时假定读者具有最低限度的技术背景。这本书中的理论材料应该对那些上过线性代数、微积分和概率论导论课程的读者,或者愿意做一些独立的工作来赶上进度的读者来说是完全可以理解的。在线性代数中,最复杂的概念是矩阵乘法。在微积分中,我们使用微分和偏微分。从概率论出发,我们使用条件概率和独立事件。对于上过Python编程课程的读者来说,代码示例应该是可以理解的。
本书几乎是从零开始,旨在为本书的典型读者提供背景知识:除了ML和NLP之外,其他学科的专家,但她的工作需要ML和NLP。这样的学科有很多例子:社会科学家需要挖掘社交媒体数据,政治科学家需要处理政治话语的文字记录,商业分析师需要解析大规模的公司财务报告,生物医学研究员需要从出版物中提取细胞信号机制,等等。此外,我们希望这本书对需要赶上深度学习浪潮的计算机科学家和计算语言学家也有帮助。总体而言,本书旨在减轻在这个机器学习和人工智能领域快速变化的时代,影响我们许多人的冒名顶替综合征(Dickerson, 2019)(作者肯定曾患过,现在仍在患!)
本书涵盖内容
这本书将讨论NLP深度学习理论方面的章节与重点实现之前讨论的理论的章节穿插在一起。在实现章节中,我们将使用PyTorch,这是一个非常适合NLP应用的深度学习库。第二章从本书的理论线索开始,试图让读者相信机器学习很容易。我们使用一本儿童读物来介绍关键的机器学习概念,包括我们的第一个学习算法。从这个例子,我们开始构建几个基本的神经网络。在同一章中,我们形式化了感知器算法,这是最简单的神经网络。在第三章中,我们将感知器转换为逻辑回归网络,这是另一个简单的神经网络,对NLP非常有效。在第5章和第6章中,我们将这些算法推广到前馈神经网络,它在人工神经元的任意组合上运行。第8章讨论了这个限制。在本文中,我们讨论了word2vec,这是一种将单词转换为捕捉(一些)语义知识的数字表示的方法。这种技巧是基于这样的观察:“你应该通过一个单词的同伴来认识它”(Firth, 1957);也就是说,它从大量文本中出现的单词的上下文中学习这些语义表示。在这种形式化下,类似的单词如house和building会有类似的表示,这将提高我们神经网络的学习能力。word2vec的一个重要限制是它将给定单词的所有含义合并为一个数字表示。也就是说,单词bank得到一个单一的数字表示,不管它的当前上下文是否表示金融意义,如伦敦银行,或地质意义。
第10章介绍了处理文本的序列模型。例如,虽然book这个词在句法上有歧义(也就是说,它既可以是名词,也可以是动词),但它前面的限定词the在文本中给出了强烈的提示,说明它是一个名词。在本章中,我们将介绍用于模拟这种序列的循环神经网络结构,包括长短期记忆网络和条件随机场。上文提到的word2vec限制在第12章通过上下文嵌入来解决,这些嵌入对单词周围的环境很敏感。这些基于上下文的嵌入是使用依赖于“注意力”的transformer网络构建的,“注意力”是一种使用单词在其上下文中表征的加权平均值来计算单词表征的机制。这些权重是学习的,并表明每个单词应该对每个相邻的单词给予多少“关注”(因此得名)。第14章讨论了编码器-解码器方法(即为NLP任务量身定制的需要将一种文本转换为另一种文本的方法)。这种任务最常见的例子是机器翻译,其输入是一种语言的单词序列,输出是一种新语言中捕获原始文本翻译的序列。
第16章展示了几种自然语言处理应用,如词性标注、句法解析、关系提取、问题回答和机器翻译,如何使用前面介绍的神经结构鲁棒地实现。
专知便捷查看
便捷下载,请关注专知公众号(点击上方蓝色专知关注)
后台回复“DLNP” 就可以获取《干货书《深度学习自然语言处理》,358页pdf, 亚利桑那大学Mihai Surdeanu等编著》专知下载链接