英文文本标点恢复

文章目录

      • 一、安装 rpunct
      • 二、使用
      • 三、下载模型时报错
        • 1、报错详情
        • 2、报错原因
        • 3、解决方案
      • 四、程序运行时报错
        • 1、报错详情
        • 2、报错原因
        • 3、解决方案
      • 五、修改默认缓存路径

一、安装 rpunct

pip install rpunct

相关依赖包信息:

langdetect==1.0.9
pandas==1.2.4
simpletransformers==0.61.4
six==1.16.0
torch==1.8.1

github链接:https://github.com/Felflare/rpunct

二、使用

字符串方式测试:

from rpunct import RestorePunctsdef main():rpunct = RestorePuncts()text = rpunct.punctuate("""in 2018 cornell researchers built a high-powered detector that in combination with an algorithm-driven process called ptychography set a world recordby tripling the resolution of a state-of-the-art electron microscope as successful as it was that approach had a weakness it only worked with ultrathin samples that werea few atoms thick anything thicker would cause the electrons to scatter in ways that could not be disentangled now a team again led by david muller the samuel b eckertprofessor of engineering has bested its own record by a factor of two with an electron microscope pixel array detector empad that incorporates even more sophisticated3d reconstruction algorithms the resolution is so fine-tuned the only blurring that remains is the thermal jiggling of the atoms themselves""")print(text)
if __name__ == "__main__":main()

注:只支持英文文本。程序中务必添加 if __name__ == "__main__",否则将报错。

文件读取方式:

rpunct = RestorePuncts()with open('./upload/text/eng.txt','r',encoding='utf-8') as f:text = f.read()output_text = rpunct.punctuate(text)
print(output_text)

注:测试过程发现没有指定 utf-8 编码时,输出的文本会出现乱码。

预期效果:

In 2018, Cornell researchers built a high-powered detector that, in combination with an algorithm-driven process called Ptychography, set a world record by tripling the
resolution of a state-of-the-art electron microscope. As successful as it was, that approach had a weakness. It only worked with ultrathin samples that were a few atoms
thick. Anything thicker would cause the electrons to scatter in ways that could not be disentangled. Now, a team again led by David Muller, the Samuel B. 
Eckert Professor of Engineering, has bested its own record by a factor of two with an Electron microscope pixel array detector empad that incorporates even more
sophisticated 3d reconstruction algorithms. The resolution is so fine-tuned the only blurring that remains is the thermal jiggling of the atoms themselves.

三、下载模型时报错

1、报错详情
OSError: We couldn't connect to 'https://huggingface.co' to load this file,
couldn't find it in the cached files and it looks like felflare/bert-restore-punctuation is not the path to a directory containing a file named config.json.
Checkout your internet connection or see how to run the library in offline mode at 'https://huggingface.co/docs/transformers/installation#offline-mode'.
2、报错原因

目标网站无法访问,无法下载相关模型数据。

3、解决方案

方法一:

找到包安装目录 D:\Anaconda\envs\speech\Lib\site-packages\rpunct\punctuate.py 下的 punctuate.py 文件 。(应根据自身实际查找包安装目录)

也可以使用 Ctrl + 鼠标点击代码 from rpunct import RestorePuncts 中的 RestorePuncts 快捷跳转

将下载地址修改为以下镜像地址:

__author__ = "Daulet N."
...import os
os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com'import logging
...

参考链接(评论区):https://zhuanlan.zhihu.com/p/627688602

方法二:

以离线方式加载模型,通过自行下载模型的方式,再填写对应模型路径。

找到包安装目录 D:\Anaconda\envs\speech\Lib\site-packages\rpunct\punctuate.py 下的 punctuate.py 文件 。(应根据自身实际查找包安装目录)

修改 punctuate.py 文件如下:

from transformers import AutoModelclass RestorePuncts:def __init__(self, wrds_per_pred=250):...self.model =  AutoModel.from_pretrained("D:/AnacondaCLI/cache/huggingface/hub/models--felflare--bert-restore-punctuation/snapshots/954108a105ef1f89f08b71c25d6e33bb89cde724") 

注:在测试过程中发现可以离线加载模型,但程序却无法正常运行。不知是程序中方法更新不再支持还是路径填写方式错误导致的。

更多详情参见:https://huggingface.co/docs/transformers/installation#offline-mode

四、程序运行时报错

1、报错详情
ValueError: 'use_cuda' set to True when cuda is unavailable.Make sure CUDA is available or set use_cuda=False.
2、报错原因

CUDA 不可用,确保 CUDA 可用,或将 use_CUDA=False 设置为空。

3、解决方案

找到包安装路径下的 ner_model.py 文件 D:\Anaconda\envs\speech\Lib\site-packages\simpletransformers\ner\ner_model.py。(应根据自身实际查找包安装目录)

快速定位:

也可以使用 Ctrl + 鼠标点击代码 from rpunct import RestorePuncts 中的 RestorePuncts 快捷跳转,再通过代码 from simpletransformers.ner import NERModel 中的 NERModel 进行跳转。

Ctrl + g 快捷键输入 114 快速定位。

修改 ner_model.py 文件参数:

class NERModel:def __init__(...# use_cuda=True,# 将参数修改为 Falseuse_cuda=False,...):

参考链接:https://github.com/Felflare/rpunct/issues/1

五、修改默认缓存路径

默认缓存路径(Windows):C:\Users\username\.cache\huggingface\hub

添加环境变量:HUGGINGFACE_HUB_CACHE

具体路径自行更改:

在这里插入图片描述

更多详情参见:https://huggingface.co/docs/transformers/installation#install-with-conda


因依赖包版本问题无法安装 rpunct 可参见:https://github.com/samwaterbury/rpunct

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

创造极致体验!5个让用户爱不释手的APP按钮设计秘诀

完美的应用程序设计离不开完美的应用程序按钮设计。应用程序按钮是UI界面不可缺少的UI组件之一。一个好的应用程序按钮可以使用户更容易与界面交互,从而提高应用程序应用程序的转换率。本文将围绕应用程序按钮进行解释,以帮助您创建一个具有良好用户体验…

【易错题】第六章-业务数据分析 #CDA Level 1

目录 一. 指标作用与理解 二. 基本指标 1)求和类(常规求和、累计求和) 2)*比较类(均比、同比、环比、定基比、标准比) 三. 场景指标 1)*流量相关指标(访客数UV、浏览量PV、访问…

【贪心算法】最小生成树Kruskal算法Python实现

文章目录 [toc]问题描述最小生成树的性质证明 Kruskal算法Python实现时间复杂性 问题描述 设 G ( V , E ) G (V , E) G(V,E)是无向连通带权图, E E E中每条边 ( v , w ) (v , w) (v,w)的权为 c [ v ] [ w ] c[v][w] c[v][w]如果 G G G的一个子图 G ′ G^{} G′是…

accelerator入门

一、目录 1 定义 2. DP、DPP的区别 3 实现 4. 测试比较 二、实现 定义 accelerator 是由大名鼎鼎的huggingface发布的,专门适用于Pytorch的分布式训练框架,是torchrun 的封装。 GitHub: https://github.com/huggingface/accelerate 官网教程:https://…

WPF之多种视图切换

1&#xff0c;View切换&#xff0c;效果呈现 视图1 视图2 视图3 2&#xff0c;在Xaml中添加Listview控件&#xff0c;Combobox控件。 <Grid ><Grid.RowDefinitions><RowDefinition Height"143*"/><RowDefinition Height"30"/>&l…

【Linux】常用基本指令

目录 食用说明 用户管理 whoami/who clear tree 目录结构和路径 pwd ls 文件 隐藏文件 常用选项 cd 家目录、根目录、绝对路径和相对路径 touch 常用选项 mkdir rmdir/rm man cp mv cat nano echo 输出重定向 > 输入重定向 < more/less head/…

pycharm code行太长显示波浪线取消

实际操作如下&#xff1a;个人比较合适的位置为160,180时有点多 效果&#xff1a;

前端开发攻略---使用Sass调整颜色亮度,实现Element组件库同款按钮

目录 1、演示 2、实现原理 3、实现代码 1、演示 2、实现原理 改变颜色亮度的原理是通过调整颜色的 RGB 值中的亮度部分来实现的。在 Sass 中&#xff0c;可以使用颜色函数来操作颜色的 RGB 值&#xff0c;从而实现亮度的调整。 具体来说&#xff0c;亮度调整函数通常会改变颜…

Python实战点云并行化处理

LAS 及其压缩版本 LAZ 是用于存储点云信息的流行文件格式&#xff0c;通常由 LiDAR 技术生成。 LiDAR&#xff08;即光探测和测距&#xff09;是一种遥感技术&#xff0c;用于测量距离并创建物体和景观的高精度 3D 地图。存储的点云信息主要包括X、Y、Z坐标、强度、颜色、特征分…

博睿数据将出席ClickHouse Hangzhou User Group第1届 Meetup

2024年5月18日&#xff0c;博睿数据数智能力中心负责人李骅宸将受邀参加ClickHouse Hangzhou User Group第1届 Meetup活动&#xff0c;分享《ClickHouse在可观测性的应用实践和优化》的主题演讲。 在当前数字化浪潮下&#xff0c;数据的规模和复杂性不断攀升&#xff0c;如何高…

人大金仓报The connection attempt failed.Reason:Connection reset解决办法

在连接人大京仓数据库 的时候报下面的错误 解决办法&#xff1a; 更换这里的IP地址就行&#xff0c;不要用127.0.0.1&#xff0c;然后就可以了

XSS、CSRF、SSRF漏洞原理以及防御方式_xss csrf ssrf

这里写目录标题 XSS XSS攻击原理&#xff1a;XSS的防范措施主要有三个&#xff1a;编码、过滤、校正 CSRF CSRF攻击攻击原理及过程如下&#xff1a;CSRF攻击的防范措施&#xff1a; SSRF SSRF漏洞攻击原理以及方式SSRF漏洞攻击的防范措施 XMLXSS、CSRF、SSRF的区别 XSS、CSRF的…

成都百洲文化传媒有限公司电商服务的新领军者

在数字化浪潮席卷全球的今天&#xff0c;电商行业以其独特的魅力和无限的可能性&#xff0c;成为了推动经济发展的重要引擎。在这个竞争激烈的市场中&#xff0c;成都百洲文化传媒有限公司凭借其专业的电商服务和前瞻性的战略布局&#xff0c;正迅速崛起为行业的新领军者。 一…

图算法必备指南:《图算法:行业应用与实践》全面解读,解锁主流图算法奥秘!

《图算法&#xff1a;行业应用与实践》于近日正式与读者见面了&#xff01; 该书详解6大类20余种经典的图算法的原理、复杂度、参数及应用&#xff0c;旨在帮助读者在分析和处理各种复杂的数据关系时能更好地得其法、善其事、尽其能。 全书共分为10章&#xff1a; 第1~3章主要…

PGP加密技术:保护信息安全的利器

随着数字化时代的到来&#xff0c;个人和企业对信息安全的需求日益增长。PGP&#xff08;Pretty Good Privacy&#xff09;加密技术作为一项强大的加密工具&#xff0c;为保护敏感数据提供了一种有效的方法。本文将探讨PGP加密技术的基本原理、应用场景以及其在现代信息安全中的…

Linux入门攻坚——22、通信安全基础知识及openssl、CA证书

Linux系统常用的加解密工具&#xff1a;OpenSSL&#xff0c;gpg&#xff08;是pgp的实现&#xff09; 加密算法和协议&#xff1a; 对称加密&#xff1a;加解密使用同一个秘钥&#xff1b; DES&#xff1a;Data Encryption Standard&#xff0c;数据加密标准&…

无人机运营合格证:民用无人机驾驶航空器运营合格证书

无人机运营合格证是指经国家相关部门审核通过并颁发给相应无人驾驶航空器运营机构的一种资质证明。获得该证书的机构具备相关的技术和管理能力&#xff0c;能够安全、合规地运营无人驾驶航空器。 无人机运营合格证的申请流程一般包括报名、培训学习、考试准备、考试报名、考试…

无人机+垂直起降:微型共轴双旋翼无人机技术详解

微型共轴双旋翼无人机技术是一种独特的无人机设计&#xff0c;它结合了垂直起降&#xff08;VTOL&#xff09;能力和微型无人机的灵活性。这种设计允许无人机在无需跑道的情况下垂直起降&#xff0c;并具备在空中悬停和执行各种飞行动作的能力。 适用于集群控制&#xff0c;荷载…

华为OD机试【全量和已占用字符集】(java)(100分)

1、题目描述 给定两个字符集合&#xff0c;一个是全量字符集&#xff0c;一个是已占用字符集&#xff0c;已占用字符集中的字符不能再使用。 2、输入描述 输入一个字符串 一定包含&#xff0c;前为全量字符集 后的为已占用字符集&#xff1b;已占用字符集中的字符一定是全量…

1756jsp农产品销售管理系统Myeclipse开发mysql数据库C2C模式java编程计算机网页项目沙箱支付

一、源码特点 java 农产品销售管理系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统采用web模式&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&#xff0…