如何使用 NLP 库解析 Python 中的文本
Python 是一种强大的面向对象的编程(object-oriented programming,OOP)语言,在人工智能领域有着广泛的用途。正是鉴于其实用性,以 Google 为首的大型科技公司,已经对其开发了 Tensorflow 等代码库,帮助人们利用强大的机器学习算法与模型,来实现各种应用目的,其中不乏各种“手语”解析器、摩托车头盔检测器、以及各种物品识别器。
而 NLP(natural language processing,自然语言处理)是所有与理解和操纵自然语言相关的人工智能活动的总称。在 Python 中,就有一种被称为 Transformers 的机器学习模型,可被用于获取文本,并将文本分解为不同的组件,进而识别出其中的重要部分。接下来,我们就来讨论一下作为深度学习模型的 Transformer,是如何解析文本的。
一、如何使用 Transformer 库在 Python 中解析文本?
在开始之前,先需要拥有一个 Google 帐户。为了省去在自己的计算机上安装 Python、其依赖项、以及 IDE(integrated development environment,集成开发环境)的麻烦,我们使用免费的云服务环境-Google Colab 笔记本,以便与不同的人使用 Python 进行协作。同时,由于 AI 代码库本身体量较大,并且具有较多的依赖项,因此云端环境的使用,可以有效地节省它们对于硬盘空间的占用。
1.安装所需的库
首先,我们需要安装如下四个代码库。打开 Colab 笔记本,并在第一个代码单元格中输入以下内容:
!pip install transformers
!pip install torch
!pip install sentencepiece
!pip install newspaper3k
在继续之前,让我们稍微了解一下这些命令。如你所知:
“Transformers”是可被用于解析文本的深度学习模型。
“Torch”提供了深度学习的算法。
“Sentencepeice”可被用于“标记化”(组件分解)文本。
“Newspaper3k”是一个网络抓取库,可用于从互联网导入文章(文字内容)。
此时,你的屏幕会显示如下内容:
2.导入文章
为了导入文章,你必须提供其对应的 URL。接着,你需要输入如下命令,来下载并解析文章,以便我们稍后对其进行进一步的标记。
在完成后,我们将进入第 3 步。
3.标记文章
我们需要从转换库中,导入自动分词器,然后使用 T5 模型(T5 是一种机器学习模型),可用于文本到文本(text-to-text)的转换(在此我们可用于解析),进而生成解析的文本。下图展示了需要为此效果输入的代码。
4.解析文章
为了解析这篇文章,你需要创建一个特定的函数。此函数能够接受已标记的文章,并且单独解析每个句子。然后,在输出之前,它会将各个句子重新连接到一起。
下图展示了已解析文本的输出:
你可以手动将其复制到文本文件中,以增强可读性。
这便是使用 NLP 库解析 Python 中文本的一种方式。不过,这是一种相当复杂且繁琐的方式,尤其是对于那些不熟悉 AI 和 Python 的人来说,更是如此。此时,你一定会想到,是否有一些在线解析工具,来达到该目的呢?
二、可用于在线解析的免费工具
1.Prepostseo
Prepostseo 提供了可用于各种目的且非常实用的解析工具。由于可以被免费使用,因此你无需注册任何类型的帐户,即可流畅地开始使用它。
使用该工具时,你可以免费地采用如下三种模式:
简单模式
高级模式
流畅模式
其中,在简单模式下,该工具只会进行一些简单的同义化,即:多个词会被一些同义词所代替。
而高级模式改变的不仅仅是单词和解析的结果。如果你不喜欢其默认给出的结果,则可以查看它的可修改之处,并用其他的同义词替换它。
流利模式不仅会改变单词,而且会改变短语、句子结构、以及语气。但是,它并不提供编辑输出的选项。
可见,流畅模式和高级模式是更为有效的模式。若想导入定制的内容,你可以上传待解析的文档,或者直接将文本复制粘贴到输入字段中,并在解析过程完成后,再下载其输出。
该工具的唯一缺点是会有广告在其网页上。
2.Linguix
Linguix 是另一个无需注册即可使用的免费解析器。由于其网页上并没有任何广告,因此它对于用户来说十分友好。
虽然 Linguix 没能提供多种模式,但是当你在解析一个句子时,会得到多个建议,而非仅仅一条。鉴于所有建议都有可能对给定的文本产生不同更改,你可以选择其中最适合的一个。
该工具的操作方法比较简单,你只需要在输入框中写入待解析的文本,然后以突出显示的方式选择它,便可逐句获得相应的弹出建议。
该工具的唯一缺点是:你一次只能解析五个句子。
3.Paraphraser
Paraphraser.io 也是一个拥有许多内容优化工具的在线工具包。顾名思义,它主要针对的是解析领域。
该工具同样无需注册便可被免费使用。不过,与前面提到的 Prepostseo 类似,你在使用过程中,也可能会被其广告所困扰。目前,它提供了两种免费模式:标准模式和流畅模式。其中,标准模式只会使用同义词去替换部分单词,并保持整体句子的结构不变。而流利模式除了会替换单词和短语,还会改变句子的结构,进而让文本更具有可读性。
除了广告,该工具的另一个缺点是:你一次性最多只能解析 500 个单词。
三、小结
综上所述,在使用 NLP 库解析 Python 中的文本时,我们完全可以利用人工智能和深度学习的各种模型,来实现转换。你既可以使用 Google Colab 的强大云服务功能,使用 Transformer 库来完成此类繁重的任务;又可以选用各种在线解析工具的各种模式,以不同的方式重写文本。而且,此类工具大多是免费且无需注册。
版权声明: 本文为 InfoQ 作者【互联网工科生】的原创文章。
原文链接:【http://xie.infoq.cn/article/9973d0fdccdd4141592b33938】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论