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

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

相关推荐
量化炼金 (CodeAlchemy)18 小时前
【量化研究】美股历史数据获取:Yahoo Finance 转 Zorro 回测格式
python·量化研究·量化交易
小嘉丶学长18 小时前
Day13 · 列表与元组
linux·运维·服务器·开发语言·python
小小张说故事18 小时前
Python 的 int 为什么不会溢出?拆开 PyLongObject 和它背后那串变长数组
python
威哥爱编程19 小时前
Python 智能体开发实战 03:聊十轮就“失忆”,账单还翻倍?管好上下文,Token 立省一半
python·agent
情 九19 小时前
MCP 开发环境搭建:Mac 与 Windows 跑通 Python 服务和 stdio 客户端
windows·python·macos·mcp
SEO_juper19 小时前
Bash 交叉验证 robots.txt 和 sitemap:两个文件自相矛盾,页面永远收录不了
开发语言·python·node.js·json·bash
日日大王学编程19 小时前
LangGraph 基本用法详解:从入门到实战
python·语言模型·langchain
威哥爱编程19 小时前
Python 智能体开发实战 04:模型答得挺漂亮,程序却读不懂?让回答直接变成能入库的 JSON
python·agent
全栈陈序员19 小时前
【Python】基础语法入门(三十)—— Web 开发入门:用 Flask 搭建第一个网站
前端·python·flask
全栈陈序员19 小时前
【Python】基础语法入门(三十三)—— 日志系统详解:用 logging 记录程序运行
java·开发语言·python