欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

NLPIR(北理工张华平版中文分词系统)的SDK(C++)调用方法

程序员文章站 2023-01-13 11:12:41
一、本文内容简介 二、具体内容 1. 中文分词的基本概念 2.关于NLPIR(北理工张华平版中文分词系统)的基本情况 3.具体SDK模块(C++)的组装方式 ①准备内容: ②开始组装 三.注意事项 1. 中文分词的基本概念 2.关于NLPIR(北理工张华平版中文分词系统)的基本情况 3.具体SDK模 ......

 

  • 一、本文内容简介
  • 二、具体内容
    • 1. 中文分词的基本概念
    • 2.关于nlpir(北理工张华平版中文分词系统)的基本情况
    • 3.具体sdk模块(c++)的组装方式
      • ①准备内容:
      • ②开始组装
  • 三.注意事项

 

一、本文内容简介

  1. 关于中文分词的基本概念
  2. 关于nlpir(北理工张华平版中文分词系统)的基本情况
  3. 具体sdk模块(c++版)的组装方法

二、具体内容

1. 中文分词的基本概念

中文分词是的一个分支,自然语言即人们在日常生活中使用的语言,包含书面语,口语,例如报纸上的一篇通讯,博客里面的一篇文章。之所以称其为自然语言,是因为它区别于计算机语言,计算机语言的文法与组织方式较为规范,自然语言则贴近人们生活。自然语言处理作为一项技术,在搜索引擎,机器语义理解和对话系统中有着基础和决定性的作用和价值,这方面比较知名的例如微软的cortana(微软小娜),以及国内各个互联网公司发布的智能音箱等。

2.关于nlpir(北理工张华平版中文分词系统)的基本情况

北理工张华平版中文分词系统(nlpir),又名中科院分词系统,是国内高校院所中开源力度相当大的一家(下文将简称北理工分词系统),另一家是哈工大中文分词系统(ltp)。北理工分词系统功能丰富,目前已经包含了以下功能:

  • 全文检索
  • 新词发现
  • 分词标注
  • 统计分析与术语翻译大数据聚类与热点分析
  • 大数据文本过滤
  • 自动摘要
  • 关键词提取
  • 文档去重
  • html正文提取
  • 编码自动识别与转换

nlpir提供的组件包中含有13种sdk组件包:

  • classify规则组件
  • cluster聚类组件
  • deepclassifier训练分类组件
  • docextractor实体抽取组件
  • htmlpaser网站正文提取组件
  • nlpir-ictclas分词组件
  • jzsearch精准搜索组件
  • jzsearch精准搜索客户端组件
  • keyextract关键词提取组件
  • redupremover文档去重组件
  • sentiment情感组件
  • sentimentanalysis情感分析组件
  • summary摘要组件

每个组件包内容介绍

  • doc:使用说明文档和api文档
  • include:头文件
  • lib:linux32,linux64,win32,win64等不同版本的库
  • projects:开发工程包
  • sample:c#,c++,java等不同语言的案例
  • data:数据库

3.具体sdk模块(c++)的组装方式

注:以下组装方式以实体抽取模块(docextractor)为例,平台为vs2012

①准备内容:

前往github下载源码,源码的数据量在740mb左右,因为dns被禁的原因,一般网络的下载速度比较慢,几十kb的样子。博主的解决方法是使用国内的代码托管平台,例如博主使用的是码云( ),可以与github关联同一个账户,将github中的项目fork到码云中再进行下载,速度可以上每秒0.5mb。解压之后,如下图所示


NLPIR(北理工张华平版中文分词系统)的SDK(C++)调用方法整个github项目解压后的内瓤

实体抽取组件的路径为:nlpir\nlpir sdk\docextractor,其中包含的文件如下图


NLPIR(北理工张华平版中文分词系统)的SDK(C++)调用方法sdk中所含内容

②开始组装

 1.点击新建—>项目—>其他语言—>visual c++ —>空项目,名称为:docextractorcpptest,解决方案名称为:nlpir-de;如下图所示


NLPIR(北理工张华平版中文分词系统)的SDK(C++)调用方法新建空项目

 2.将路径(nlpir\nlpir sdk\docextractor\projects\docextractor_c++)中的main.cpp文件拷贝到项目目录下(我的路径为nlpir-de\docextractorcpptest\)。

 3.把路径(nlpir\nlpir sdk\docextractor\lib\win32)下的docextractor.dll以及docextractor.lib两个文件拷贝到项目目录下(我的路径为nlpir-de\docextractorcpptest\)。
 4.将(nlpir\license\license for a month\docextractor文档提取授权)下面的docextractor.user拷贝到路径nlpir\nlpir sdk\docextractor\data下 
 5.将data文件夹拷贝到新建的解决方案目录下
 6.将路径nlpir\nlpir sdk\docextractor\include下的文件docextractor.h拷贝到项目目录下,我的路径为nlpir-de\docextractorcpptest
 7.经过以上操作,新建项目文件如下图


NLPIR(北理工张华平版中文分词系统)的SDK(C++)调用方法解决方案目录下


NLPIR(北理工张华平版中文分词系统)的SDK(C++)调用方法项目目录下

 9.在vs中右键单击项目—>添加—>现有项,把项目目录下的四个文件 docextractor.dll,docextractor.h,docextractor.lib,main.cpp添加进去,点击运行,而后报错,如下图所示,正常现象,这是因为部分代码没有修改的缘故。


 10.将如图所示的红色框中的代码去掉就可以,使dll文件及lib文件正确读取。

NLPIR(北理工张华平版中文分词系统)的SDK(C++)调用方法去代码

 

 11.去掉之后再点击运行就可以正常运行了,效果如下


NLPIR(北理工张华平版中文分词系统)的SDK(C++)调用方法

三.注意事项

    1. 之所以去掉红框中标注的代码是要把dll与lib的文件路径修改正确
    2. license授权文件每月更新一次,因此data文件夹下的授权文件docextractor.user要保持最新版本    2019-04-06 16:51:44