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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/86966.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Flask狼书笔记 | 03_模板

文章目录 3 模板3.1 模板基本使用3.2 模板结构组织3.3 模板进阶 3 模板 模板(template):包含固定内容和动态部分的可重用文件。Jinja2模板引擎可用于任何纯文本文件。 3.1 模板基本使用 HTML实体:https://dev.w3.org/html5/htm…

Ubuntu系统安装之后首需要做的事情

Ubuntu系统的初步环境搭建 1、换源2、显卡3、浏览器4、输入法5、终端6、ROS7、VSCode8、设置时间与win一致9、 TimeShift10、 Anaconda(考虑装不装) 1、换源 点开Software&&Update,找到Ubuntu Software中的Download from&#xff0c…

数据通信——传输层(UDP)

引言 我们上网观看比赛的时候,一旦网络信号出现问题,那可就太难受了,这意味着卡顿的时间内,你会错过这段时间内的内容。这种特性要归功于UDP(User Datagram Protocol)用户数据报协议。 无连接性 一般的&am…

IntelliJ IDEA maven配置,设置pom.xml的配置文件

IntelliJ IDEA项目,选择 文件 设置,弹窗 构建、执行、部署 构建工具 Maven就可以 maven配置好以后,在pom.xml的配置文件中就可以设置对应的jar包了,这样构建的时候自动需要的jar,在项目中导入即 需要的jar包设置在po…

解锁ChatGLM-6B的潜力:优化大语言模型训练,突破任务困难与答案解析难题

解锁ChatGLM-6B的潜力:优化大语言模型训练,突破任务困难与答案解析难题 LLM(Large Language Model)通常拥有大量的先验知识,使得其在许多自然语言处理任务上都有着不错的性能。 但,想要直接利用 LLM 完成…

UML 类图

1、概述 目录 1、概述 1.1、UML概念 1.2、类图的概念 2、类的表示方式 2.1、普通类 2.2、抽象类 2.3、接口 3、类与类关系的表示 3.1、关联关系(Association) 3.1.1、单向关联 3.1.2、双向关联 3.1.3、自关联 3.2、聚合关系(aggre…

无涯教程-TensorFlow - 单词嵌入

Word embedding是从离散对象(如单词)映射到向量和实数的概念,可将离散的输入对象有效地转换为有用的向量。 Word embedding的输入如下所示: blue: (0.01359, 0.00075997, 0.24608, ..., -0.2524, 1.0048, 0.06259) blues: (0.01396, 0.11887, -0.48963, ..., 0.03…

【Unity】Text文本组件的一些操作

Unity的Text组件的几种常见的操作方法 Text组件是Unity中用于在UI界面上显示文本的组件。它包含了一些常见的属性和方法,可以用来控制文本的内容、外观和交互。以下是一些常见的Text组件的操作: 设置文本内容:通过直接在Unity编辑器中的Text…

SpringCloud学习笔记(三)_服务提供者集群与服务发现Discovery

服务提供者集群 既然SpringCloud的是微服务结构,那么对于同一种服务,当然不可能只有一个节点,需要部署多个节点 架构图如下: 由上可以看出存在多个同一种服务提供者(Service Provider) 搭建服务提供者集…

Mybatis-动态sql和分页

目录 一.什么是Mybatis动态分页 二.mybatis中的动态SQL 在BookMaaper.xml中写sql BookMapper BookBiz接口类 BookBizImpl实现接口类 demo测试类 ​编辑 测试结果 三.mybatis中的模糊查询 mybatis中的#与$有是什么区别 在BookMapper.xml里面建立三个模糊查询 ​编辑 …

腾讯云-对象存储服务(COS)的使用总结

简介 对象存储(Cloud Object Storage,COS)是腾讯云提供的一种存储海量文件的分布式存储服务,具有高扩展性、低成本、可靠安全等优点。通过控制台、API、SDK 和工具等多样化方式,用户可简单、快速地接入 COS&#xff0…

73 # 发布自己的 http-server 到 npm

1、添加 .npmignore 文件,忽略不需要的文件 public2、去官网https://www.npmjs.com/检查自己的包名是否被占用 3、切换到官方源,然后检查确认 nrm use npm nrm ls4、登录 npm 账号 npm login5、发布 npm publish6、查看发布情况,发布成功…

基于卷积神经网络的种子等级识别

目录 背影 卷积神经网络CNN的原理 卷积神经网络CNN的定义 卷积神经网络CNN的神经元 卷积神经网络CNN的激活函数 卷积神经网络CNN的传递函数 基于GUI的卷积神经网络和长短期神经网络的语音识别系统 代码下载链接:基于MATLABGUI编程的卷积神经网络和长短期神经网络语音识别系统…

住宅IP代理与数据中心IP代理的区别,最详解

跨境业务中常见到浏览器指纹防关联,但说到底,最重要的指纹是您的IP地址。在多个账号使用相同的IP地址简直触犯了大忌,这样做往往会导致账号惨遭暂停。 现在越来越多的跨境业务场景需要用到IP代理,那么我们常见的数据中心代理与住…

Linux 虚拟机安装 hadoop

目录 1 hadoop下载 2 解压hadoop 3 为 hadoop 文件夹改名 4 给 hadoop 文件夹赋权 5 修改环境变量 6 刷新环境变量 7 在hadoop313目录下创建文件夹data 8 检查文件 9 编辑 ./core-site.xml文件 10 编辑./hadoop-env.sh文件 11 编辑./hdfs-site.xml文件 12 编辑./mapr…

【业务功能篇73】web系统架构演变-单体-集群-垂直化-服务化-微服务化

1.服务架构的演 1.1 单体架构 单体架构应该是我们最先接触到的架构实现了,在单体架构中使用经典的三层模型,即表现层,业务逻辑层和数据访问层。 单体架构只适合在应用初期,且访问量比较下的情况下使用,优点是性价比很…

C++笔记之设计模式:setter函数、依赖注入

C笔记之设计模式:setter函数、依赖注入 code review! 文章目录 C笔记之设计模式:setter函数、依赖注入1.概念2.基本示例3.setter函数4.基本示例setter函数构成依赖注入5.概念——ChatGpt6.构造函数注入示例7.接口注入示例8. 构造函数注入的使用场景和用…

vue3 实现按钮权限管理

在做后台管理系统时,经常会有权限管理的功能,这里来记录一下关于按钮权限管理的实现方法 1、自定义指令 v-permission。新建js文件用来写指令代码。 export default function btnPerms(app) {app.directive(permission, {mounted(el, binding) {if (!p…

[bug日志]springboot多模块启动,在yml配置启动端口8081,但还是启动了8080

【问题描述】 配置的启动端口是8081,实际启动端口是8080 【解决方法】 1.检查application.yml的配置是否有错误(配置项中,显示白色就错,橙色无措) 2.检查pom.xml的打包方式配置项配置,主pom.xml中的配置项一般为:&l…

【FAQ】云存储EasyCVR视频汇聚平台分发rtsp流时,出现“用户已过期”提示该如何解决?

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。音视频流媒体视频平台EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录像、…