Python文本处理入门



文本处理与自然语言处理(NLP)有着直接的应用关系。NLP旨在处理人们在交流时使用口语或书面语。这不同于计算机与人之间的交流,后者要么是人编写的计算机程序,要么是人的一些手势,例如在某个位置单击鼠标。NLP试图理解人们使用的自然语言,对其进行分类,并在需要时对其进行分析并做出回应。Python拥有丰富的库,可以满足NLP的需求。自然语言工具包(NLTK)就是这样一套库,它提供了NLP所需的功能。

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

摘要

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

基于语音的工具

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

信息提取

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

垃圾邮件过滤

可以通过分析邮件主题行以及邮件内容中的文本识别和消除垃圾邮件。由于垃圾邮件通常批量发送给许多收件人,即使它们的主题和内容略有不同,也可以进行匹配和标记以将其标记为垃圾邮件。这同样需要使用NLTK库。

语言翻译

计算机语言翻译严重依赖于NLP。随着越来越多的语言在在线平台上使用,将一种人类语言自动翻译成另一种语言成为必要。这将涉及编程以处理参与翻译的语言的词汇、语法和上下文标记。同样,NLTK用于处理此类需求。

情感分析

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

广告