1. 程式人生 > >ICTCLAS2016 linux C++版本 使用教程 Eclipse下開發C/C++程式之標頭檔案,庫檔案引用

ICTCLAS2016 linux C++版本 使用教程 Eclipse下開發C/C++程式之標頭檔案,庫檔案引用

歡迎使用NLPIR/ICTCLAS2014分詞系統

       NLPIR分詞系統前身為2000年釋出的ICTCLAS詞法分析系統,從2009年開始,為了和以前工作進行大的區隔,並推廣NLPIR自然語言處理與資訊檢索共享平臺,調整命名為NLPIR分詞系統。張華平博士先後傾力打造十餘年,核心升級十餘次,先後獲得了2010年錢偉長中文資訊處理科學技術獎一等獎,2003年國際SIGHAN分詞大賽綜合第一名,2002年國內973評測綜合第一名。全球使用者突破30萬,包括中國移動、華為、中搜、3721、NEC、中華商務網、矽谷動力、雲南日報等企業,清華大學、新疆大學、華南理工、麻省大學等機構:同時,ICTCLAS廣泛地被《科學時報》、《人民日報》海外版、《科技日報》等多家媒體報道。您可以訪問Google進一步瞭解ICTCLAS的應用情況。
       NLPIR提供各類二次開發介面,特別歡迎相關的科研人員、工程技術人員使用,並承諾非商用應用永久免費的共享策略。訪問http://ictclas.nlpir.org/(自然語言處理與資訊檢索共享平臺),您可以獲取NLPIR系統的最新版本,並歡迎您關注張華平博士的新浪微博 @ICTCLAS張華平博士 交流。
       NLPIR是一套專門針對原始文字集進行處理和加工的軟體,提供了中介軟體處理效果的視覺化展示,也可以作為小規模資料的處理加工工具。使用者可以使用該軟體對自己的資料進行處理。

NLPIR網路搜尋與挖掘共享開發平臺的十一種功能:

  1. 全文精準檢索

       支援文字、數字、日期、字串等各種資料型別,多欄位的高效搜尋,支援AND/OR/NOT以及NEAR鄰近等查詢語法,支援維語、藏語、蒙語、阿拉伯、韓語等多種少數民族語言的檢索。可以無縫地與現有文字處理系統與資料庫系統融合。
    
  2. 新詞發現:

       從檔案集合中挖掘出內涵的新詞語列表,可以用於使用者專業詞典的編撰;還可以進一步編輯標註,匯入分詞詞典中,從而提高分詞系統的準確度,並適應新的語言變化。
    
  3. 分詞標註:

       對原始語料進行分詞、自動識別人名地名機構名等未登入詞、新詞標註以及詞性標註。並可在分析過程中,匯入使用者定義的詞典。
    
  4. 統計分析與術語翻譯

       針對切分標註結果,系統可以自動地進行一元詞頻統計、二元詞語轉移概率統計(統計兩個詞左右連線的頻次即概率)。針對常用的術語,會自動給出相應的英文解釋。
    
  5. 文字聚類及熱點分析

       能夠從大規模資料中自動分析出熱點事件,並提供事件話題的關鍵特徵描述。同時適用於長文字和簡訊、微博等短文字的熱點分析。
    
  6. 分類過濾

       針對事先指定的規則和示例樣本,系統自動從海量文件中篩選出符合需求的樣本。
    
    1. 自動摘要

      能夠對單篇或多篇文章,自動提煉出內容的精華,方便使用者快速瀏覽文字內容。

    2. 關鍵詞提取

      能夠對單篇文章或文章集合,提取出若干個代表文章中心思想的詞彙或短語,可用於精化閱讀、語義查詢和快速匹配等。

    3. 文件去重

      能夠快速準確地判斷檔案集合或資料庫中是否存在相同或相似內容的記錄,同時找出所有的重複記錄。

    4. HTML正文提取

      自動剔除導航性質的網頁,剔除網頁中的HTML標籤和導航、廣告等干擾性文字,返回有價值的正文內容。適用於大規模網際網路資訊的預處理和分析。

    5. 編碼自動識別與轉換

      自動識別文件內容的編碼,並進行自動轉換,目前支援Unicode/BIG5/UTF-8等編碼自動轉換為簡體的GBK,同時將繁體BIG5和繁體GBK進行繁簡轉化。

    6. 正負面分析

      自動分析文字內涵的正負面情感,並對情感分析物件進行綜合。

1 ICTCLAS2016版本 NLPIR/ICTCLAS2016分詞系統下載包

http://ictclas.nlpir.org/newsdownloads?DocId=389
軟體包解壓之後如下圖所示:
 圖1. 軟體包解壓後的檔案圖
圖1. 軟體包解壓後的檔案圖
使用到的資料夾有Data,lib,include。需要使用例項是,也可以新增sample資料夾。

2 動態連結庫(.so)的匯入(基於linux eclipse CDT 編譯環境)

  1. 專案工程如圖所示:
    圖2 專案工程圖
    圖2 專案工程圖
  2. 標頭檔案匯入
 Project->Properties->C/C++ Build->Settings->Tool Settings->GCC C++ Linker->includes

新增Include paths(-l): "${workspace_loc:/${ProjName}/src/include}"
NLPIR.h檔案所在的lib檔案目錄
新增Include files(-include):"${workspace_loc:/${ProjName}/src/include/NLPIR.h}"
NLPIR.h檔案
圖3 新增includes
圖3 新增includes
3. 連結庫呼叫
本次測試環境為linux 64位。編譯環境為eclipse CDT。
匯入步驟:

 Project->Properties->C/C++ Build->Settings->Tool Settings->GCC C++ Linker->Libraries

新增Libraries (-l): NLPIR
新增Library search path (-L): "${workspace_loc:/${ProjName}/Debug}"
lib檔案下的libNLPIR.so的路徑
圖4新增Libraries

圖4 新增Libraries
4. 修改環境變數
以上均做正確的話編譯連結是能通過的,但是在執行時會報錯error while loading shared libraries: libShared.so: cannot open shared object file: No such file or directory ,這時需要修改環境變數。在工程處右鍵,Run As->Run Configurations,選擇Environment,如下圖:
圖5 修改環境變數
圖5 修改環境變數
新加一個環境變數,名稱必需是 LD_LIBRARY_PATH,值為動態連結庫所在的路徑:${workspace_loc:/ICTCLAS/lib/linux64}

   以上就完成了linux下生成動態連結庫和使用動態連結庫。