第5章 NLP应用
本章讨论了NLP应用。在本章中,我们将前面章节中所学习到的技术,付诸实践,并且了解使用我们所学到的概念可以开发何种类型的应用。这是完全动手实践的一章。在前面几个章节中,我们学习了任意NLP应用所需要的大部分预处理步骤。我们知道了如何使用标记解析器、词性标签和NER以及如何进行语法分析。本章针对如何利用所学到的概念,开发一些复杂的NLP应用,给读者提供一个思路。
在现实世界中,有许多NLP应用。你可以观察到的最令人兴奋并且最常见的例子是谷歌搜索、Siri、机器翻译、谷歌新闻、危机边缘(Jeopardy)和拼写检查。科研人员花了多年的时间才使得一些应用达到现有水平,有了当前的地位。NLP也相当复杂。在前面的章节中,我们已经看到了大部分的处理步骤,如POS和NER,这些处理依然是研究的热点。但是,随着NLTK的使用,我们在取得合理的准确率的前提下,解决了许多此类问题。本书不会谈到机器翻译和语音识别这样相对复杂的应用。但是,此时此刻,你应该拥有足够的背景知识,了解这些应用程序的一些基本组件块。作为NLP爱好者,我们应该对这些NLP应用有一个基本的了解。建议你尝试在网上寻找一些这样的NLP应用,并试图理解它们。
本章主要内容如下。
- 一些常见的NLP应用。
- 使用迄今为止所学到的技术开发NLP应用(新闻摘要器)的方法。
- 不同NLP应用的重要性,以及每种应用的重要细节。
5.1 构建第一个NLP应用
下面从一个非常复杂的NLP应用(也就是摘要)开始。摘要的概念十分简单。我们提供文章/段落/故事,你可以自动生成这些内容的摘要。由于我们不仅需要理解句子的结构,还需要理解整个文本的结构,因此摘要实际上要求深入了解NLP的知识。我们还需要了解文本体裁和内容主题。
对我们而言,这一切看起来都非常复杂,让我们尝试一种非常直观的方法。假设摘要其实就是基于句子对读者的重要性和意义,对句子进行排序。我们基于理解和到目前为止我们已经知道的预处理工具,创建一些规则,尝试得到人们可接受的新闻文章摘要。 ...
Get Python和NLTK实现自然语言处理 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.