中文分詞評測方法

2021-10-05 03:20:07 字數 1908 閱讀 2514

對於分詞,目前有很多開源的程式,包括hanlp、jieba、哈工大分詞等。為了確定哪種分詞結果比較好,通常有兩種方式,一種是呼叫介面,對特定的句子分詞,通過感覺對分詞結果進行對比,但這種分詞結果卻帶有了很大的主觀色彩。在網上也是部落格在介紹。另一種則通過測試集對分詞結果與標準的分詞進行分析,得出準確率、召回率等。

目錄結構

doc  nshort_seg.out  testing  training  gold  readme   scripts
其中:

評分方法

script資料夾中,包含了score指令碼,指令碼執行的時候需要三個引數,訓練集、標準分詞、自己分詞。

執行指令碼如下,可根據自己的需求更換對應的引數

perl scripts/score gold/pku_training_words.utf8 gold/pku_test_gold.utf8 gold/pku_test.out

結果展示

結果中包含了單個文字片段,以及最後總的評分結果,這裡我們僅展示總的評分結果。

=== total insertions:   993

=== total deletions: 7143

=== total substitutions: 7617

=== total nchange: 15753

=== total true word count: 104372

=== total test word count: 98222

=== total true words recall: 0.859

=== total test words precision: 0.912

=== f measure: 0.885

=== oov rate: 0.058

=== oov recall rate: 0.708

=== iv recall rate: 0.868

在結果中,recall、precision、f measure:分別為召回率、精度和f值,值越高越好。

部分**片段

為了方便開發測試,以hanlp為例,貼出部分生成segment檔案的**

public class util 

if (w.getword().equals("\r\n"))}}

}return result.tostring();

}/**

* 讀取根路徑下的檔案

** @param filepath 檔案路徑

*

* @return byte**/

public static string readsystemfiletobyte(string filepath)

data = swapstream.tobytearray();

instream.close();

} catch (filenotfoundexception e) catch (ioexception e)

string datastring = null;

try catch (unsupportedencodingexception e)

return datastring;

}/**

* 將分詞結果輸出到檔案內容

* @param content 分析結果

* @param path 儲存的路徑

*/public static void write(string content, string path)catch (exception e)

system.out.println("儲存成功");

}}

中文表示什麼 輕鬆搞懂中文分詞的評測

中文分詞指的是將一段文字拆分為一系列單詞的過程,這些單詞順序拼接後等於原文本。中文分詞操作是中文資訊處理的第一站,中文分詞效果的好壞直接影響後續自然語言處理任務。在中文分詞任務中,一般使用在標準資料集上詞語級別的精準率 召回率以及f1值來衡量分詞器的準確程度,這三種指標通常用於衡量分類器的準確程度。...

中文分詞方法簡介

中文與西方文字不同,西方文字如英文的單詞間有空格作為分隔,計算機很容易把乙個個詞分開。而中文句子裡的之間沒有分隔,要把中文句子拆分成詞就需要使用中文分詞技術。由於全文索引採用的是倒排索引技術,所以分詞的效果直接決定了搜尋的效果。目前的中文分詞技術主要有 n元切分 最長匹配 最大壓縮 統計語言模型等方...

常用中文分詞方法

一 正向最大匹配fmm 從左到右將待分詞文字中的最多個連續字元與詞表匹配,如果匹配上,則切分出乙個詞。二 逆向最大匹配 從右到左將待分詞文字中的最多個連續字元與詞表匹配,如果匹配上,則切分出乙個詞。三 雙向最大匹配 正向最大匹配演算法和逆向最大匹配演算法 如果兩個演算法得到相同的分詞結果,那就認為是...