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