Python文本处理入门
文本处理与自然语言处理(Natural Language Processing,简称NLP)有着直接的应用关系。NLP的目标是处理人类之间的口头或书面语言交流。这与计算机与人类之间的交流不同,后者是使用由人类编写的计算机程序或人类的一些手势,如点击鼠标等。NLP试图理解人类所说的自然语言并对其进行分类和分析,如果需要则回应它。Python拥有丰富的库,满足NLP的需求。自然语言工具包(Natural Language Tool Kit,简称NLTK)是这种库的一套,为NLP提供所需的功能。
以下是一些使用NLP和间接使用Python的NLTK的应用程序。
概述
很多时候,我们需要对新闻文章、电影情节或大故事进行摘要。它们都是用人类语言书写的,如果没有NLP,我们就要依靠另一个人的解释和呈现来给我们提供摘要。但是,借助NLP的帮助,我们可以编写程序使用NLTK并根据各种参数对长文本进行摘要,比如最终输出中文本的百分比、选择正面和负面单词进行摘要等。在线新闻提要依赖于这些摘要技术来呈现新闻见解。
基于语音的工具
基于语音的工具如苹果Siri或亚马逊Alexa依靠NLP来理解与人类的互动。它们有一个由单词、句子和语法构成的大型训练数据集来解释来自人类的问题或命令并进行处理。虽然这是关于语音的,但间接地也被转换为文本,然后文本通过NLP系统生成结果。
信息提取
网络爬虫是使用Python代码从网页中提取数据的常见示例。在这里,它可能不是严格基于NLP,但它确实涉及文本处理。例如,如果我们需要提取网页中仅有的标头,则在页面结构中查找h1标记,并找到提取仅在这些标记之间的文本的方法。这需要Python的文本处理程序。
垃圾邮件过滤
通过分析主题行和邮件内容中的文本,可以识别并消除电子邮件中的垃圾邮件。由于垃圾邮件通常被群发给许多收件人,即使它们的主题和内容有很小的变化,也可以匹配并标记它们为垃圾邮件。这也需要使用NLTK库。
语言翻译
计算机化语言翻译在很大程度上依赖于NLP。随着越来越多的语言在在线平台上使用,有必要自动化从一种人类语言到另一种人类语言的翻译。这将涉及到处理涉及到的语言的词汇、语法和上下文标记的编程。再次,NLTK用于处理这样的要求。
情感分析
为了了解一部电影的整体反应,我们可能需要阅读来自观众的数千条反馈帖子。但是,通过使用单词和句子分析来分类正面和负面反馈,这也可以自动化。然后,测量正面和负面评论的频率,以找到观众的整体情绪。这显然需要对观众编写的人类语言进行分析,而NLTK在此处被广泛使用来处理文本。