Python - 文本处理介绍

文本处理可以直接应用于自然语言处理,也称为 NLP。 NLP 旨在处理人类在相互交流时所说或所写的语言。 这不同于计算机和人之间的通信,在计算机和人之间的通信是通过人类编写的计算机程序或人类的某种手势(例如在某个位置单击鼠标)进行的。NLP 试图理解人类所说的自然语言并对它进行分类,并在需要时对其进行分析并做出回应。 Python 有一组丰富的库可以满足 NLP 的需求。 自然语言工具包 (NLTK) 是一套此类库,可提供 NLP 所需的功能。

以下是一些使用 NLP 并间接使用 Python 的 NLTK 的应用。


摘要

很多时候,我们需要获取新闻文章、电影情节或故事的摘要。 它们都是用人类语言写成的,如果没有 NLP,我们必须依靠另一个人对此类摘要的解释和呈现。 但是在 NLP 的帮助下,我们可以编写程序来使用 NLTK 并用各种参数对长文本进行总结,比如我们想要的文本在最终输出中的百分比是多少,选择用于总结的正面和负面词等。在线新闻提要依赖 在这种总结技术上呈现新闻见解。


基于语音的工具

苹果 Siri 或亚马逊 Alexa 等基于语音的工具依靠 NLP 来理解与人类的互动。 他们有大量的单词、句子和语法训练数据集来解释来自人类的问题或命令并进行处理。 虽然它是关于语音的,但它也间接地被翻译成文本,而生成的文本形式的语音通过 NLP 系统产生结果。


信息提取

Web 抓取是使用 Python 代码从网页中提取数据的常见示例。 这里它可能不是严格基于 NLP 的,但它确实涉及文本处理。 例如,如果我们只需要提取 html 页面中的标题,那么我们会在页面结构中寻找 h1 标签,并找到一种方法来仅提取这些标签之间的文本。 这需要来自 python 的文本处理程序。


垃圾邮件过滤

通过分析邮件主题行中的文本以及邮件内容,可以识别和消除电子邮件中的垃圾邮件。 由于垃圾邮件通常被批量发送给许多收件人,即使它们的主题和内容变化很小,也可以进行匹配和标记以将它们标记为垃圾邮件,这再次需要使用 NLTK 库。


语言翻译

计算机化语言翻译在很大程度上依赖于自然语言处理。 随着越来越多的语言被用于在线平台,自动化从一种人类语言到另一种语言的翻译成为必要。 这将涉及编程来处理翻译中涉及语言的词汇、语法和上下文标记。 同样,NLTK 用于处理此类需求。


情感分析

要了解对电影表演的总体反应,我们可能需要阅读来自观众的数千条反馈帖子。但这也可以通过单词和句子分析使用正面反馈和负面反馈的分类来实现自动化。 然后测量正面和负面评论的频率,以了解观众的整体情绪。 这显然需要对听众的人类语言进行分析,这里大量使用 NLTK 来处理文本。