NLPIR(北理工張華平版中文分詞系統)的SDK(C++)調用方法

来源:https://www.cnblogs.com/YamamotoRisa/archive/2019/04/06/10662185.html
-Advertisement-
Play Games

一、本文內容簡介 二、具體內容 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的樣子。博主的解決方法是使用國內的代碼托管平臺,例如博主使用的是碼雲( https://gitee.com),可以與Github關聯同一個賬戶,將Github中的項目fork到碼雲中再進行下載,速度可以上每秒0.5MB。解壓之後,如下圖所示


解壓之後包含的內容整個github項目解壓後的內瓤

實體抽取組件的路徑為:NLPIR\NLPIR SDK\DocExtractor,其中包含的文件如下圖


DocExtractor內容SDK中所含內容

②開始組裝

 1.點擊新建—>項目—>其他語言—>Visual C++ —>空項目,名稱為:DocExtractorCppTest,解決方案名稱為:NLPIR-DE;如下圖所示


新建項目新建空項目

 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.經過以上操作,新建項目文件如下圖


解決方案目錄下解決方案目錄下

項目目錄下項目目錄下

 9.在VS中右鍵單擊項目—>添加—>現有項,把項目目錄下的四個文件 DocExtractor.dll,DocExtractor.h,DocExtractor.lib,main.cpp添加進去,點擊運行,而後報錯,如下圖所示,正常現象,這是因為部分代碼沒有修改的緣故。


 10.將如圖所示的紅色框中的代碼去掉就可以,使dll文件及lib文件正確讀取。

去代碼去代碼

 

 11.去掉之後再點擊運行就可以正常運行了,效果如下


最終效果

三.註意事項

    1. 之所以去掉紅框中標註的代碼是要把dll與lib的文件路徑修改正確
    2. license授權文件每月更新一次,因此DATA文件夾下的授權文件DocExtractor.user要保持最新版本    2019-04-06 16:51:44

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 上篇我們做了一個WriterActor的例子,主要目的是示範WriterActor如何作為集群分片用persistentActor特性及event-sourcing模式實現CQRS的寫功能。既然是集群分片,那麼我們就在這篇講講WriterActor的部署和測試,因為這個裡面還是有些值得註意的地方。下 ...
  • 三、指針和數組 儘管在某些上下文中數組和指針可相互替換,但在編譯器看來二者完全不同,並且在運行時所表達的含義也不同。 當我們說對象或表達式有類型的時候,我們通常想的是定位器值的類型,也叫做左值。當左值有完全non-const類型時,此類型不是數組類型(因為數組本質是記憶體的一部分,是個只讀常量,譯者註 ...
  • MATLAB除了生孩子,其他全都能做系列。 使用MATLAB進行播放《追光者》,純文本內容哦。 載入的y是哪裡來的呢?當然是調用函數生成的咯。 y中的內容就不展示了,全是數據。 鏈接:!!!!! 鏈接:https://pan.baidu.com/s/1NPh4SaAJZ3ZMiN2M98vL6g 提 ...
  • WebSocket項目筆記 1. What is WebSocket? (以下內容來源於百度百科) WebSocket是一種在單個TCP連接上進行全雙工通信的協議 WebSocket使得客戶端和伺服器之間的數據交換變得更加簡單,允許服務端主動向客戶端推送數據。 在WebSocket API中,瀏覽器 ...
  • 一、TCP簡介 TCP介紹 TCP協議,傳輸控制協議(英語:Transmission Control Protocol,縮寫為 TCP)是一種面向連接的、可靠的、基於位元組流的傳輸層通信協議,由IETF的RFC 793定義。 TCP通信需要經過創建連接、數據傳送、終止連接三個步驟。 TCP通信模型中, ...
  • C++中的引用類似於現實生活中人們之間起昵稱,昵稱和本名都可以辨別人。 1.普通變數的引用: 其中不能光有昵稱沒有本名,如果只定義了引用,卻沒有將這個引用指向哪個變數,編譯器會報錯。 2.結構體的引用: 3.指針類型的引用: 一般形式為——類型 *&指針引用名 = 指針; 4.引用作為函數參數: 兩 ...
  • 這個系列主要參考Wes McKinney的Python for Data Analysis,也是對自己在平時學習工作中遇到的一些問題還有小技巧的總結。 ...
  • ``` // // main.cpp // 類模版與函數模版 // 在類聲明中使用類型參數來聲明通用的類 // Created by mac on 2019/4/6. // Copyright © 2019年 mac. All rights reserved. // 一個類模版中是否支持多種類型的參 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...