【pkuseg】由于网络策略组织下载请求,因此直接在github中下载细分领域模型medicine

简介: 【pkuseg】由于网络策略组织下载请求,因此直接在github中下载细分领域模型medicine

写在最前面

运行代码时,报错。

代码示例2:细领域分词(如果用户明确分词领域,推荐使用细领域模型分词)

import pkuseg

seg = pkuseg.pkuseg(model_name='medicine')  # 程序会自动下载所对应的细领域模型
text = seg.cut('我爱北京天安门')              # 进行分词
print(text)

解决方案

Downloading: “https://github.com/lancopku/pkuseg-python/releases/download/v0.0.16/medicine.zip” to /home/tjh/.pkuseg/medicine.zip

搜索下载https://github.com/lancopku/pkuseg-python/releases/download/v0.0.16/medicine.zip

然后解压,并将压缩包+解压后文件夹,放到文件夹/home/tjh/.pkuseg/medicine.zip下。

然后就完美解决啦!!!嘿嘿

记得解压,否则报错:

Traceback (most recent call last):
  File "/home/tjh/wyt/CT-base/4-2.Seq2seq_Att/load_data.py", line 41, in <module>
    seg = pkuseg.pkuseg(model_name='medicine')
  File "/home/tjh/miniconda3/envs/pytorch1.12_gpu/lib/python3.9/site-packages/pkuseg/__init__.py", line 239, in __init__
    self.postprocesser = Postprocesser(None, other_names)
  File "/home/tjh/miniconda3/envs/pytorch1.12_gpu/lib/python3.9/site-packages/pkuseg/__init__.py", line 148, in __init__
    with open(other_name, "rb") as f:
FileNotFoundError: [Errno 2] No such file or directory: '/home/tjh/.pkuseg/medicine/medicine_dict.pkl'

pkuseg是什么?

PKUSEG 是一个由北京大学开发的多领域中文分词工具。这个工具在分词精度上比很多流行的中文分词工具都要优秀,特别是在处理不同领域的文本时,因为它支持对特定领域的文本进行训练和优化。下面是一些PKUSEG的关键特性:

  1. 多领域分词:PKUSEG 支持多种领域的分词,包括但不限于通用文本、网络文本、旅游、新闻等,可以根据特定的领域数据进行优化。
  2. 高精度:该工具使用了基于深度学习的模型,与传统的基于规则和统计的分词工具相比,能更好地处理复杂的中文文本和歧义现象。
  3. 易于使用:PKUSEG 提供了简洁的 API,便于在Python环境中直接使用。用户可以很容易地集成和部署在自己的应用程序中。
  4. 自定义模型训练:用户可以使用自己的标注数据来训练专门的分词模型,进一步提升分词效果在特定应用场景中的表现。
  5. 开源:PKUSEG 是开源软件,任何人都可以使用、修改和分发,这为开发者提供了极大的灵活性和扩展性。

使用PKUSEG进行中文分词非常简单,一般包括安装、模型选择、文本分词等步骤。这样的工具非常适合需要处理具体领域中文文本的开发者和研究人员。

报错原因

你的代码试图从GitHub下载一个名为"medicine.zip"的文件,但是在SSL证书验证过程中出现了错误。这可能是由于你的网络环境中的SSL证书问题,或者是因为你的Python环境中缺少某些必要的证书。

这里我的问题是第一个,因此直接下载后复制到该区域即可。

你可以尝试以下几种解决方案:

  1. 如果你在公司或学校网络环境中,可能存在网络策略阻止了你的下载请求。你可以尝试在其他网络环境中运行你的代码。
  1. 你可以尝试更新你的Python环境中的certifi库。这个库包含了Python需要的SSL证书。你可以在终端中运行以下命令来更新这个库:
pip install --upgrade certifi
  1. 如果以上方法都不能解决问题,你可以尝试禁用SSL证书验证。但是请注意,这种方法可能会带来安全风险。你可以在你的代码中找到所有的requests.get或requests.post调用,然后添加一个参数verify=False来禁用SSL证书验证。例如:
requests.get(url, verify=False)

请注意,这种方法可能会导致你的代码在某些环境中无法正常工作,因为它依赖于你的网络环境是否允许未经验证的SSL连接。

报错详情

(pytorch1.12_gpu) tjh@tjh-SYS:~/wyt/CT-base$ /home/tjh/miniconda3/envs/pytorch1.12_gpu/bin/python /home/tjh/wyt/CT-base/4-2.Seq2seq_Att/load_data.py

cuda

Downloading: “https://github.com/lancopku/pkuseg-python/releases/download/v0.0.16/medicine.zip” to /home/tjh/.pkuseg/medicine.zip

Traceback (most recent call last):

  File "/home/tjh/miniconda3/envs/pytorch1.12_gpu/lib/python3.9/site-packages/urllib3/connectionpool.py", line 467, in _make_request
    self._validate_conn(conn)
  File "/home/tjh/miniconda3/envs/pytorch1.12_gpu/lib/python3.9/site-packages/urllib3/connectionpool.py", line 1096, in _validate_conn
    conn.connect()
  File "/home/tjh/miniconda3/envs/pytorch1.12_gpu/lib/python3.9/site-packages/urllib3/connection.py", line 642, in connect
    sock_and_verified = _ssl_wrap_socket_and_match_hostname(
  File "/home/tjh/miniconda3/envs/pytorch1.12_gpu/lib/python3.9/site-packages/urllib3/connection.py", line 782, in _ssl_wrap_socket_and_match_hostname
    ssl_sock = ssl_wrap_socket(
  File "/home/tjh/miniconda3/envs/pytorch1.12_gpu/lib/python3.9/site-packages/urllib3/util/ssl_.py", line 470, in ssl_wrap_socket
    ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls, server_hostname)
  File "/home/tjh/miniconda3/envs/pytorch1.12_gpu/lib/python3.9/site-packages/urllib3/util/ssl_.py", line 514, in _ssl_wrap_socket_impl
    return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
  File "/home/tjh/miniconda3/envs/pytorch1.12_gpu/lib/python3.9/ssl.py", line 500, in wrap_socket
    return self.sslsocket_class._create(
  File "/home/tjh/miniconda3/envs/pytorch1.12_gpu/lib/python3.9/ssl.py", line 1040, in _create
    self.do_handshake()
  File "/home/tjh/miniconda3/envs/pytorch1.12_gpu/lib/python3.9/ssl.py", line 1309, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Hostname mismatch, certificate is not valid for 'objects.githubusercontent.com'. (_ssl.c:1122)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/tjh/miniconda3/envs/pytorch1.12_gpu/lib/python3.9/site-packages/urllib3/connectionpool.py", line 790, in urlopen
    response = self._make_request(
  File "/home/tjh/miniconda3/envs/pytorch1.12_gpu/lib/python3.9/site-packages/urllib3/connectionpool.py", line 491, in _make_request
    raise new_e
urllib3.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Hostname mismatch, certificate is not valid for 'objects.githubusercontent.com'. (_ssl.c:1122)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/tjh/miniconda3/envs/pytorch1.12_gpu/lib/python3.9/site-packages/requests/adapters.py", line 486, in send
    resp = conn.urlopen(
  File "/home/tjh/miniconda3/envs/pytorch1.12_gpu/lib/python3.9/site-packages/urllib3/connectionpool.py", line 844, in urlopen
    retries = retries.increment(
  File "/home/tjh/miniconda3/envs/pytorch1.12_gpu/lib/python3.9/site-packages/urllib3/util/retry.py", line 515, in increment
    raise MaxRetryError(_pool, url, reason) from reason  # type: ignore[arg-type]
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='objects.githubusercontent.com', port=443): Max retries exceeded with url: /github-production-release-asset-2e65be/143589809/c6d88a00-360f-11e9-9b5e-57de5648f695?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20240511%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240511T053934Z&X-Amz-Expires=300&X-Amz-Signature=8d5146d02a102c051952c64a2a73d2b6e58486d736468807511cb2e4c7c82ad0&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=143589809&response-content-disposition=attachment%3B%20filename%3Dmedicine.zip&response-content-type=application%2Foctet-stream (Caused by SSLError(SSLCertVerificationError(1, "[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Hostname mismatch, certificate is not valid for 'objects.githubusercontent.com'. (_ssl.c:1122)")))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/tjh/wyt/CT-base/4-2.Seq2seq_Att/load_data.py", line 41, in <module>
    seg = pkuseg.pkuseg(model_name='medicine')
  File "/home/tjh/miniconda3/envs/pytorch1.12_gpu/lib/python3.9/site-packages/pkuseg/__init__.py", line 207, in __init__
    download_model(config.model_urls[model_name], config.pkuseg_home, config.model_hash[model_name])
  File "/home/tjh/miniconda3/envs/pytorch1.12_gpu/lib/python3.9/site-packages/pkuseg/download.py", line 38, in download_model
    _download_url_to_file(url, cached_file, hash_prefix, progress=progress)
  File "/home/tjh/miniconda3/envs/pytorch1.12_gpu/lib/python3.9/site-packages/pkuseg/download.py", line 44, in _download_url_to_file
    u = urlopen(url, stream=True, timeout=5)
  File "/home/tjh/miniconda3/envs/pytorch1.12_gpu/lib/python3.9/site-packages/requests/api.py", line 73, in get
    return request("get", url, params=params, **kwargs)
  File "/home/tjh/miniconda3/envs/pytorch1.12_gpu/lib/python3.9/site-packages/requests/api.py", line 59, in request
    return session.request(method=method, url=url, **kwargs)
  File "/home/tjh/miniconda3/envs/pytorch1.12_gpu/lib/python3.9/site-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/tjh/miniconda3/envs/pytorch1.12_gpu/lib/python3.9/site-packages/requests/sessions.py", line 725, in send
    history = [resp for resp in gen]
  File "/home/tjh/miniconda3/envs/pytorch1.12_gpu/lib/python3.9/site-packages/requests/sessions.py", line 725, in <listcomp>
    history = [resp for resp in gen]
  File "/home/tjh/miniconda3/envs/pytorch1.12_gpu/lib/python3.9/site-packages/requests/sessions.py", line 266, in resolve_redirects
    resp = self.send(
  File "/home/tjh/miniconda3/envs/pytorch1.12_gpu/lib/python3.9/site-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
  File "/home/tjh/miniconda3/envs/pytorch1.12_gpu/lib/python3.9/site-packages/requests/adapters.py", line 517, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='objects.githubusercontent.com', port=443): Max retries exceeded with url: /github-production-release-asset-2e65be/143589809/c6d88a00-360f-11e9-9b5e-57de5648f695?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20240511%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240511T053934Z&X-Amz-Expires=300&X-Amz-Signature=8d5146d02a102c051952c64a2a73d2b6e58486d736468807511cb2e4c7c82ad0&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=143589809&response-content-disposition=attachment%3B%20filename%3Dmedicine.zip&response-content-type=application%2Foctet-stream (Caused by SSLError(SSLCertVerificationError(1, "[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Hostname mismatch, certificate is not valid for 'objects.githubusercontent.com'. (_ssl.c:1122)")))


相关实践学习
在云上部署ChatGLM2-6B大模型(GPU版)
ChatGLM2-6B是由智谱AI及清华KEG实验室于2023年6月发布的中英双语对话开源大模型。通过本实验,可以学习如何配置AIGC开发环境,如何部署ChatGLM2-6B大模型。
目录
相关文章
|
2月前
|
网络协议 算法 Java
基于Reactor模型的高性能网络库之Tcpserver组件-上层调度器
TcpServer 是一个用于管理 TCP 连接的类,包含成员变量如事件循环(EventLoop)、连接池(ConnectionMap)和回调函数等。其主要功能包括监听新连接、设置线程池、启动服务器及处理连接事件。通过 Acceptor 接收新连接,并使用轮询算法将连接分配给子事件循环(subloop)进行读写操作。调用链从 start() 开始,经由线程池启动和 Acceptor 监听,最终由 TcpConnection 管理具体连接的事件处理。
63 2
|
2月前
基于Reactor模型的高性能网络库之Tcpconnection组件
TcpConnection 由 subLoop 管理 connfd,负责处理具体连接。它封装了连接套接字,通过 Channel 监听可读、可写、关闭、错误等
89 1
|
2月前
|
JSON 监控 网络协议
干货分享“对接的 API 总是不稳定,网络分层模型” 看电商 API 故障的本质
本文从 OSI 七层网络模型出发,深入剖析电商 API 不稳定的根本原因,涵盖物理层到应用层的典型故障与解决方案,结合阿里、京东等大厂架构,详解如何构建高稳定性的电商 API 通信体系。
|
11天前
|
机器学习/深度学习 并行计算 算法
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
|
29天前
|
安全 KVM 虚拟化
Cisco Identity Services Engine (ISE) 3.4 - 基于身份的网络访问控制和策略实施系统
Cisco Identity Services Engine (ISE) 3.4 - 基于身份的网络访问控制和策略实施系统
101 2
Cisco Identity Services Engine (ISE) 3.4 - 基于身份的网络访问控制和策略实施系统
|
1月前
|
机器学习/深度学习 数据采集 运维
匹配网络处理不平衡数据集的6种优化策略:有效提升分类准确率
匹配网络是一种基于度量的元学习方法,通过计算查询样本与支持集样本的相似性实现分类。其核心依赖距离度量函数(如余弦相似度),并引入注意力机制对特征维度加权,提升对关键特征的关注能力,尤其在处理复杂或噪声数据时表现出更强的泛化性。
89 6
匹配网络处理不平衡数据集的6种优化策略:有效提升分类准确率
|
2月前
基于Reactor模型的高性能网络库之Poller(EpollPoller)组件
封装底层 I/O 多路复用机制(如 epoll)的抽象类 Poller,提供统一接口支持多种实现。Poller 是一个抽象基类,定义了 Channel 管理、事件收集等核心功能,并与 EventLoop 绑定。其子类 EPollPoller 实现了基于 epoll 的具体操作,包括事件等待、Channel 更新和删除等。通过工厂方法可创建默认的 Poller 实例,实现多态调用。
204 60
|
2月前
|
安全 调度
基于Reactor模型的高性能网络库之核心调度器:EventLoop组件
它负责:监听事件(如 I/O 可读写、定时器)、分发事件、执行回调、管理事件源 Channel 等。
188 57
|
11天前
|
监控 安全 Devops
DevOps 流水线的网络安全盲区与防御策略
在软件研发中,DevOps流水线加速了开发与交付,但也带来严重安全风险。自动化节点和第三方集成成为攻击入口,凭证泄露、供应链渗透、配置错误和依赖混乱等问题频发。企业需构建全流程安全体系,嵌入自动化安全策略,强化访问控制与监控,提升全员安全意识,实现效率与安全的协同发展。
297 0
|
1月前
|
算法 安全 网络安全
【多智能体系统】遭受DoS攻击的网络物理多智能体系统的弹性模型预测控制MPC研究(Simulink仿真实现)
【多智能体系统】遭受DoS攻击的网络物理多智能体系统的弹性模型预测控制MPC研究(Simulink仿真实现)