Python Text Processing 简明教程

Python - Text Processing Introduction

文本处理可直接应用于自然语言处理,也称为 NLP。NLP 旨在处理人类在彼此交流时所讲或所写的语言。这不同于计算机和人类之间的通信,那里的通信是人类编写的计算机程序或人类的某些姿势,如在某个位置单击鼠标。NLP 尝试理解人类所讲的自然语言,并在需要时对其进行分类和分析,并对它进行响应。Python 拥有一系列丰富的库,可满足 NLP 的需求。自然语言工具包 (NLTK) 是此类库的套件,可提供 NLP 所需的功能。

下面介绍一些使用 NLP 和 Python 的 NLTK 的应用。

Summarization

很多时候,我们需要获取新闻文章、电影情节或长篇小说的大纲。它们全都是用人类语言编写的,而如果没有 NLP,我们必须依靠另一位人类对我们进行此类大纲的解读和展示。但是,借助 NLP,我们可以编写程序使用 NLTK 并用各种参数总结长文本,例如,最终输出中我们想要的文本的百分比、选择用以总结其正负词汇等。在线新闻提要依赖于此类总结技术来呈现新闻见解。

Voice Based Tools

像苹果的 Siri 或亚马逊的 Alexa 这样的基于语音的工具依赖于 NLP 来理解与人类之间的互动。它们拥有庞大的单词、句子和语法训练数据集,用于解读来自人类的问题或命令并对其进行处理。尽管它是关于语音的,但间接地说,它也被翻译成文本,并且来自语音的文本结果通过 NLP 系统生成结果。

Information Extraction

网络爬取是使用 python 代码从网页中提取数据的常见示例。这里不一定完全基于 NLP,但它确实涉及文本处理。例如,如果我们需要仅提取 html 页面中存在的标题,则我们在页面结构中寻找 h1 标签并找出仅提取这些标签之间文本的方法。这需要 python 的文本处理程序。

Spam Filtering

可以通过分析主题行中的文本以及消息正文中的文本来识别和消除电子邮件中的垃圾邮件。由于垃圾邮件通常会发送给多个收件人,即使它们的主题和内容略有不同,但也可以匹配并标记它们为垃圾邮件。同样它需要使用 NLTK 库。

Language Translation

计算机语言翻译很大程度上依赖于 NLP。由于越来越多的语言在线平台上使用,因此有必要将一种人类语言自动翻译成另一种人类语言。这将涉及编程来处理翻译时涉及的语言的词汇、语法和上下文标记。同样,NLTK 用于处理此类要求。

Sentiment Analysis

为了找出对电影性能的总体反应,我们可能必须阅读来自观众的成千上万条反馈帖子。但也可以通过对正面和负面反馈进行分类并通过单词和句子分析来实现自动化。然后衡量正面和负面评论的频率,以找出观众的总体情绪。这显然需要分析观众所写的语言,并且此处大量使用了 NLTK 来处理文本。