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(或反之),就会初始化失败。

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

相关推荐
Swizard19 分钟前
拒绝“裸奔”上线:FastAPI + Pytest 自动化测试实战指南
python
Ven%2 小时前
从单轮问答到连贯对话:RAG多轮对话技术详解
人工智能·python·深度学习·神经网络·算法
谈笑也风生2 小时前
经典算法题型之复数乘法(二)
开发语言·python·算法
先知后行。2 小时前
python的类
开发语言·python
dyxal2 小时前
Python包导入终极指南:子文件如何成功调用父目录模块
开发语言·python
nnerddboy2 小时前
解决传统特征波段选择的不可解释性:2. SHAP和LIME
python·机器学习
电商API&Tina2 小时前
【电商API接口】关于电商数据采集相关行业
java·python·oracle·django·sqlite·json·php
weixin_421585013 小时前
解释代码:val_pred = vxm_model.predict(val_input)--与tensor对比
python
xwill*3 小时前
python 字符串拼接
linux·windows·python
superman超哥3 小时前
仓颉锁竞争优化深度解析
c语言·开发语言·c++·python·仓颉