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

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

相关推荐
冷雨夜中漫步8 小时前
Python快速入门(6)——for/if/while语句
开发语言·经验分享·笔记·python
郝学胜-神的一滴8 小时前
深入解析Python字典的继承关系:从abc模块看设计之美
网络·数据结构·python·程序人生
百锦再8 小时前
Reactive编程入门:Project Reactor 深度指南
前端·javascript·python·react.js·django·前端框架·reactjs
喵手10 小时前
Python爬虫实战:旅游数据采集实战 - 携程&去哪儿酒店机票价格监控完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集结果csv导出·旅游数据采集·携程/去哪儿酒店机票价格监控
2501_9449347310 小时前
高职大数据技术专业,CDA和Python认证优先考哪个?
大数据·开发语言·python
helloworldandy10 小时前
使用Pandas进行数据分析:从数据清洗到可视化
jvm·数据库·python
肖永威12 小时前
macOS环境安装/卸载python实践笔记
笔记·python·macos
TechWJ12 小时前
PyPTO编程范式深度解读:让NPU开发像写Python一样简单
开发语言·python·cann·pypto
枷锁—sha12 小时前
【SRC】SQL注入WAF 绕过应对策略(二)
网络·数据库·python·sql·安全·网络安全
abluckyboy12 小时前
Java 实现求 n 的 n^n 次方的最后一位数字
java·python·算法