5

如何使用NLP库解析Python中的文本

 1 year ago
source link: https://www.51cto.com/article/722272.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

如何使用NLP库解析Python中的文本

译文 精选
作者: 陈峻 2022-11-08 11:49:09
针对在Python中解析文本的需求,本文介绍了使用Google Colab的强大云服务功能,使用Transformer库去完成繁重的任务,以及选用各种在线解析工具的各种模式。

​译者 | 陈峻

​审校 | 孙淑娟

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库来完成此类繁重的任务;又可以选用各种在线解析工具的各种模式,以不同的方式重写文本。而且,此类工具大多是免费且无需注册。

原文链接:https://dzone.com/articles/how-to-paraphrase-text-in-python-using-nlp-librari

陈峻 (Julian Chen),51CTO社区编辑,具有十多年的IT项目实施经验,善于对内外部资源与风险实施管控,专注传播网络与信息安全知识与经验。​

责任编辑:武晓燕 来源: 51CTO技术栈

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK