日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ictclas4j 分词工具包 安装流程

發布時間:2023/12/9 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ictclas4j 分词工具包 安装流程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先把 ictclasj解壓縮,然后

1.把 Data文件夾整個拷貝到 Eclipse項目的文件夾下,

2.而 bin目錄下的 org文件夾整個拷貝到你 Eclipse項目的 bin目錄下,(將class文件存進去)

3.把src目錄下的org文件夾整個拷貝到 Eclipse項目 的src目錄下。

4.把目錄中commons-lang-2.4.jar 加到項目中(右鍵新建folder--設置名字為LIB--直接復制jar到此文件夾--點擊此jar-右鍵-buidpath-add 點擊即可)

3.測試分詞結果

Java代碼

import?org.ictclas4j.bean.SegResult; ??

import?org.ictclas4j.segment.SegTag; ??

public?class?TextSegmentation?{ ??

public?static?void?main(String[]?args)?{ ??

String?fileContent?=?"中國科學院計算技術研究所在多年研究基礎上,"?+ ??"耗時一年研制出了ICTCLAS漢語詞法分析系統"; ?

SegTag?segTag?=?new?SegTag(1);//?分詞路徑的數目???????? ??

SegResult?segResult?=?segTag.split(fileContent.trim()); ??

String?classifyContent?=?segResult.getFinalResult();

System.out.println("分詞結果\n"+classifyContent);

}

}??

就是這樣,我們可以得到輸出的結果,并且帶有詞性的標注。

Java代碼

分詞結果 ??

中國科學院/n?計算/n?技術/n?研究所/n?在/c?多年/m?研究/n?基礎/a?上/f?,/w?耗時/v?一/d?年/a?研制/v?出/q?了/u?ICTCLAS/nx?漢語/n?詞法/n?分析/v?系統/a???

分詞結果

中國科學院/n 計算/n 技術/n 研究所/n 在/c 多年/m 研究/n 基礎/a 上/f ,/w 耗時/v 一/d 年/a 研制/v 出/q 了/u ICTCLAS/nx 漢語/n 詞法/n 分析/v 系統/a

?

?

?

?

?

三、關于可能出現的錯誤??

????1.越界錯誤

在Dictionary.java里面的getMaxMatch()函數里要注意加上對wis的判斷語句

if(wis != null)

?否則有時會報出越界錯誤

?

2.關于第三點越界的問題之前的博主沒有注意到

在Dictionary.Java的findInModifyTable方法中有這么一段:

?

if (mts != null && mts.size() > index) {ArrayList<WordItem> wis = mts.get(index).getWords(); .....}

?

此處需要對index進行負數的判斷,應改為

if (mts != null && mts.size() > index) {if(index < 0)return result;ArrayList<WordItem> wis = mts.get(index).getWords(); ........}

?

在對大文件進行中文分詞時,出現了以下的錯誤信息

?

java.lang.ArrayIndexOutOfBoundsException: -39at java.util.ArrayList.get(ArrayList.java:324)at org.ictclas4j.bean.Dictionary.findInOriginalTable(Dictionary.java: 422)at org.ictclas4j.bean.Dictionary.getFreq(Dictionary.java:632)at org.ictclas4j.segment.GraphGenerate.biGenerate(GraphGenerate.java: 170)at org.ictclas4j.segment.Segment.split(Segment.java:81)at com.ictclas4j.test.MyTest.main(MyTest.java:19)

?

經過上網查詢資料以及閱讀相關源代碼,找到可能的出錯原因:

?

分詞過程中出現了未能識別的字,如繁體字等

改錯方法:在Dictionary.java文件中找到findInOriginalTable()方法,將其中的

?

  • if?(res?!=?null?&&?wts?!=?null)?{??

  • 修改為

    if (res != null && wts != null &&index>=0 &&index<wts.size()) {

    ?


    即可。

    ?

    ?

    轉載于:https://www.cnblogs.com/lifegoesonitself/p/3214015.html

    總結

    以上是生活随笔為你收集整理的ictclas4j 分词工具包 安装流程的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。