python简易程序跑NLPIR模型

  1. 程序和结果
python 复制代码
from ctypes import cdll, c_char_p, c_int
nlpir = cdll.LoadLibrary(r"C:\Users\Administrator\NLPIR\NLPIR SDK\NLPIR-ICTCLAS\lib\win64\NLPIR.dll")
nlpir.NLPIR_ParagraphProcess.restype = c_char_p  # ← 新增
nlpir.NLPIR_Init.restype = c_int  # 可选,保持默认也行
# 初始化 NLPIR
def init_nlpir():
    data_path = r"C:\Users\Administrator\NLPIR\NLPIR SDK\NLPIR-ICTCLAS\\"
    if nlpir.NLPIR_Init(c_char_p(data_path.encode('utf-8')), 1) == 0:
        print("NLPIR 初始化失败")
        return False
    return True
# NER 函数(需注意 NLPIR 的 NER 模式)
def ner(text):
    result = nlpir.NLPIR_ParagraphProcess(c_char_p(text.encode('utf-8')), c_int(2))  # 模式 2 为命名实体识别
    return result.decode('utf-8')
# 示例文本
text = "学校"
if init_nlpir():
    nlpir_result = ner(text)
    print("NLPIR NER 结果:\n", nlpir_result)
    nlpir.NLPIR_Exit()
  1. 下载NLPIR模型
    1. 下载git
      1. cmd使用winget tool工具下载git自动安装

    winget install --id Git.Git -e --source winget

      1. 通过git官网下载windows

git官网

    1. GitHub拉取NLPIR

    git clone https://github.com/NLPIR-team/NLPIR.git

如果无法进入GitHub

可以考虑下载加速器比如steam++(GitHub开源项目)由于无法进入github可以在以下网址下载

Watt Toolkit官网

开启加速后可以正常进入github

拉取后路径判断

复制代码
C:\Users\Administrator> git clone https://github.com/NLPIR-team/NLPIR.git

那么我拉取完后,NLPIR的位置:

C:\Users\Administrator\NLPIR

总结:克隆位置:"你执行clone的位置"+"仓库名"

  1. 调试程序
    1. 初始化失败

检查以下四项

      1. data路径是否存在或拼写错误

    import os
    print(os.path.exists(r"C:\Users\Administrator\NLPIR\NLPIR-Parser\Data")) # 必须为 True

      1. data文件是否有效授权文件且未过期

NLPIR.user 或 NLPIR.lic文件

      1. 动态库与python位数是否一致

    import platform
    print(platform.architecture()) # ('64bit', 'WindowsPE') 就要用 64 位 dll

    python -c "import platform, sys; print(platform.architecture(), sys.executable)"

如果是虚拟环境一定要先激活再执行确保是当前解释器环境

      1. NLPIR.dll缺少dll依赖(Windows常见)

Dependencies官网

如果都不是以上的问题还有一种:NLPIR 每个组件(ICTCLAS、Parser、TextSimilarity...)都有自己的 专属 Data 目录,你把 Parser 的 Data 给了 ICTCLAS 的 DLL(或反之),就会初始化失败。

结语:朝乾夕惕,功不唐捐,玉汝于成

相关推荐
song501几秒前
多卡训练加速:HCCL 集合通信实战
分布式·python·flutter·ci/cd·分类
江上清风山间明月19 分钟前
如何将python开发的window应用打包成exe
开发语言·python·exe·打包
知识分享小能手21 分钟前
Flask入门学习教程,从入门到精通, Flask模板 — 完整知识点与案例代码 (2)
python·学习·flask
不懒不懒26 分钟前
基于 Flask —— 异步任务处理接口服务
后端·python·flask
happybasic29 分钟前
Python库升级标准流程~
linux·前端·python
彦为君34 分钟前
JavaSE-11-BIO/NIO/AIO(多人聊天室)
java·开发语言·python·ai·nio
恣艺36 分钟前
Python 实用工具与机器学习入门:Rich + Tqdm + Faker + Schedule + Scikit-learn
python·机器学习·scikit-learn
测试员周周43 分钟前
【Appium 系列】第14节-断言与验证 — Validator 的设计
android·人工智能·python·功能测试·ios·单元测试·appium
Hanniel1 小时前
Python __slots__ 入门指南
开发语言·python·性能优化
小白|1 小时前
tensorflow:昇腾CANN的TensorFlow适配层
人工智能·python·tensorflow