multi criteria cws
1.0.0
紙張和語料庫的紙張“有效的多標准單詞分割的神經解決方案”(在SCI-2018上接受並即將到來)。
運行以下命令準備語料庫,將它們分為火車/開發/測試集等。
python3 convert_corpus.py 然後將copus $dataset轉換為泡菜文件:
./script/make.sh $dataset$dataset可以是以下語料庫之一: pku , msr , as , cityu , sxu , ctb , zx , cnc , udc和wtb 。$dataset也可以是聯合語料庫,例如joint-sighan2005或joint-10in1 。joint-sighan2008作為您的$dataset 。最後,一個命令同時執行訓練和測試:
./script/train.sh $dataset 由於Sighan Bakeoff 2008數據集是專有且難以獲得的,因此我們決定對更自由使用的數據集進行其他實驗,以供公眾測試和驗證我們方法的效率。我們將解決方案與4個Sighan2005數據集一起應用於6個其他免費可用數據集。
在本節中,我們將簡要介紹本文中使用的那些語料庫。
這10個公司來自官方的Sighan2005網站,或者是從開源項目中收集的,或者是從研究人員的主頁中收集的。下表列出了許可證。
由於Sighan2008 Corpora是專有的,因此我們無法分發它們。如果您有法定副本,則可以按照以下說明復制我們的分數。
首先,將Sighan2008鏈接到此項目中的數據文件夾。
ln -s /path/to/your/sighan2008/data data/sighan2008
然後,將HANLP用於傳統中文對中文的簡化,如以下Java代碼段所示:
BufferedReader br = new BufferedReader ( new InputStreamReader ( new FileInputStream (
"data/sighan2008/ckip_seg_truth&resource/ckip_truth_utf16.seg"
), "UTF-16" ));
String line ;
BufferedWriter bw = IOUtil . newBufferedWriter (
"data/sighan2008/ckip_seg_truth&resource/ckip_truth_utf8.seg" );
while (( line = br . readLine ()) != null )
{
for ( String word : line . split ( " \ s" ))
{
if ( word . length () == 0 ) continue ;
bw . write ( HanLP . convertToSimplifiedChinese ( word ));
bw . write ( " " );
}
bw . newLine ();
}
br . close ();
bw . close ();您需要在以下4文件中重複此信息:
然後,在convert_corpus.py中的代碼遵循的刪除:
# For researchers who have access to sighan2008 corpus, use official corpora please.
print ( 'Converting sighan2008 Simplified Chinese corpus' )
datasets = 'ctb' , 'ckip' , 'cityu' , 'ncc' , 'sxu'
convert_all_sighan2008 ( datasets )
print ( 'Combining those 8 sighan corpora to one joint corpus' )
datasets = 'pku' , 'msr' , 'as' , 'ctb' , 'ckip' , 'cityu' , 'ncc' , 'sxu'
make_joint_corpus ( datasets , 'joint-sighan2008' )
make_bmes ( 'joint-sighan2008' )最後,您準備出發:
python3 convert_corpus.py
./script/make.sh joint-sighan2008
./script/train.sh joint-sighan2008