在C 專案中如何使用ICTCLAS工具包

2021-06-19 09:12:49 字數 1615 閱讀 7799

摘自:

做中文資訊處理研究這一方向的人都知道,漢語的分詞是研究的基礎的基礎,只有建立在分詞之後的基礎上才能進行下一步研究, 術語抽取,命名實體識別等等(當然,也有些研究並不需要建立在分詞的基礎之上)。

目前分詞工具包有很多,而且大部分是開源的,具體有哪些可以參考下面這個**,作者總結得比較好:

本文的目的是介紹如何快速的在c++專案中使用ictclas這個工具包。網上大部分介紹使用ictclas的文章都是介紹如何在vs中配置動態鏈結庫,本人嫌這樣配置來配置去太麻煩,這樣不利用新手快速學會使用ictclas。(當然,在乙個c++大專案中,最好的方式當然是在vs中配置啦,不過本人一般做就是在做**實驗時才用到ictclas)。

好了,廢話不多說了,下面進入正式內容:

這裡只介紹我們用得到的目錄和檔案。doc目錄很重要,裡面有詞性集的說明,還有ictclas的使用說明文件,這是非常重要的。

bin目錄中有名為nlpir.dll的動態庫檔案,這是我們需要的。include目錄裡有nlpir.h標頭檔案,這也是我們需要用到的檔案。data目錄裡的所有內容都是我們需要的,所有整個data目錄就是我們需要的。

二、現在我們需要做的是把data目錄,bin目錄下的nlpir.dll,include目錄下的nlpir.h 這三樣東西拷貝到我們c++工程目錄下。

比如,本人建了的c++工程名為terminologyextractionusecrf,拷貝後,它下面的檔案結構如下圖示:

(被選中的檔案即為拷貝而來的,細心的人可能還看到了裡面有個nlpir.lib,這個檔案是可拷貝,也可不可拷貝的,本人試過,沒有它的存在一樣能分詞,如果你遇到什麼意想不到的問題,可以考慮把它也拷貝進來。)

三、已經拷貝好了後,在c++檔案中需要加上這樣幾行**:

#include 「nlpir.h」   //這是標頭檔案

#pragma comment(lib,"nlpir.lib")   //沒有分號哦,這是包含庫檔案

四、接下來,你就可以參考doc目錄下的使用說明文件進行隨心所欲得使用ictclas這個強大的工具包啦!

為了使你更清晰明白,我還是把我的main.cpp**貼出來,讓你看看ictclas的初始化,退出,以及分詞的**吧。

#include #include #include using namespace std;

#include "nlpir.h"

#pragma comment(lib,"nlpir.lib")

int main(int argc,char *argv)

string text,tempstr;

while (!fin.eof())

//cout<

if (!nlpir_init())

string resulttext = nlpir_paragraphprocess(text.c_str(),1);

cout<

nlpir_exit();

return 0;

}

在專案中如何使用ja micro框架 二

在第一節中,我介紹了如何在自己的工程中引入ja micro。接下來介紹一下ja micro啟動的關鍵點吧。類中,程式啟動時,還需要向main方法傳遞一些執行時需要的引數,分別是 serviceaddress serviceport loglevel registryserver registry這些...

C 非同步程式設計在專案中的使用

對非同步程式設計沒有了解的同學可以看我的這篇文章 今天主要說一下,在專案中怎麼就用到了非同步程式設計 在進行web開發時,非同步這塊我們用的並不多,但當你的專案做到一定規模時,它可以與其它站點 api 其它設定 手機,平板 之間的通訊就多了起來,這時,為了提高ui 瀏覽器,手機終端,平板終端,win...

在實戰專案中,我們應該如何使用Position定位

有很多時候,我們不太情願去用position定位,雖然它能達到我們期望的效果,可它的缺點也很明顯。我最不喜歡的就是它的脫離文件流,可這也正是它的有點所在。下面我們簡單的描述一下在開發中哪些情形我們會使用到position定位吧!情景一 在移動端開發時,我們常常用彈性布局或者line height來使...