python简易程序跑NLPIR模型
- 程序和结果
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 Falsereturn 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()
- 下载NLPIR模型
-
- 下载git
-
-
- cmd使用winget tool工具下载git自动安装
-
winget install --id Git.Git -e --source winget
-
-
- 通过git官网下载windows
-
git官网
-
- 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的位置"+"仓库名"
- 调试程序
-
- 初始化失败
检查以下四项
-
-
- data路径是否存在或拼写错误
-
import os
print(os.path.exists(r"C:\Users\Administrator\NLPIR\NLPIR-Parser\Data")) # 必须为 True
-
-
- data文件是否有效授权文件且未过期
-
NLPIR.user 或 NLPIR.lic文件
-
-
- 动态库与python位数是否一致
-
import platform
print(platform.architecture()) # ('64bit', 'WindowsPE') 就要用 64 位 dll
python -c "import platform, sys; print(platform.architecture(), sys.executable)"
如果是虚拟环境一定要先激活再执行确保是当前解释器环境
-
-
- NLPIR.dll缺少dll依赖(Windows常见)
-
Dependencies官网
如果都不是以上的问题还有一种:NLPIR 每个组件(ICTCLAS、Parser、TextSimilarity...)都有自己的 专属 Data 目录,你把 Parser 的 Data 给了 ICTCLAS 的 DLL(或反之),就会初始化失败。
结语:朝乾夕惕,功不唐捐,玉汝于成