- 程序和结果
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()

- 下载NLPIR模型
-
- 下载git
-
-
- cmd使用winget tool工具下载git自动安装
winget install --id Git.Git -e --source winget
-
-
-
- 通过git官网下载windows
-

-
- GitHub拉取NLPIR
git clone https://github.com/NLPIR-team/NLPIR.git
如果无法进入GitHub

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


开启加速后可以正常进入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 位 dllpython -c "import platform, sys; print(platform.architecture(), sys.executable)"
-

如果是虚拟环境一定要先激活再执行确保是当前解释器环境
-
-
- NLPIR.dll缺少dll依赖(Windows常见)
-


如果都不是以上的问题还有一种:NLPIR 每个组件(ICTCLAS、Parser、TextSimilarity...)都有自己的 专属 Data 目录,你把 Parser 的 Data 给了 ICTCLAS 的 DLL(或反之),就会初始化失败。
结语:朝乾夕惕,功不唐捐,玉汝于成