รหัสและ corpora สำหรับกระดาษ "โซลูชันระบบประสาทที่มีประสิทธิภาพสำหรับการแบ่งส่วนคำหลายเกณฑ์" (ยอมรับและเตรียมพร้อมที่ SCI-2018)
เรียกใช้คำสั่งต่อไปนี้เพื่อเตรียม corpora ให้แบ่งออกเป็นชุดรถไฟ/dev/ทดสอบ ฯลฯ :
python3 convert_corpus.py จากนั้นแปลง $dataset เป็นไฟล์ Pickle:
./script/make.sh $dataset$dataset สามารถเป็นหนึ่งใน corpora ต่อไปนี้: pku , msr , as , cityu , sxu , ctb , zx , cnc , udc และ wtb$dataset ยังสามารถเป็นคลังข้อมูลร่วมเช่น joint-sighan2005 หรือ joint-10in1joint-sighan2008 เป็น $dataset ของคุณในที่สุดคำสั่งหนึ่งดำเนินการทั้งการฝึกอบรมและทดสอบได้ทันที:
./script/train.sh $dataset เนื่องจากชุดข้อมูล Sighan Bakeoff 2008 เป็นกรรมสิทธิ์และยากที่จะได้รับเราจึงตัดสินใจที่จะทำการทดลองเพิ่มเติมเกี่ยวกับชุดข้อมูลที่มีอยู่ได้อย่างอิสระมากขึ้นเพื่อให้ประชาชนทดสอบและตรวจสอบประสิทธิภาพของวิธีการของเรา เราใช้โซลูชันของเราในชุดข้อมูลเพิ่มเติม 6 ชุดพร้อมกับชุดข้อมูล 4 Sighan2005
ในส่วนนี้เราจะแนะนำ corpora เหล่านั้นที่ใช้ในบทความนี้สั้น ๆ
10 Corpora เหล่านั้นมาจากเว็บไซต์ Sighan2005 อย่างเป็นทางการหรือรวบรวมจากโครงการโอเพ่นซอร์สหรือจากหน้าแรกของนักวิจัย ใบอนุญาตมีการระบุไว้ในตารางต่อไปนี้
ในฐานะที่เป็น Sighan2008 Corpora เป็นกรรมสิทธิ์เราไม่สามารถแจกจ่ายได้ หากคุณมีสำเนาทางกฎหมายคุณสามารถทำซ้ำคะแนนของเราตามคำแนะนำเหล่านี้
ประการแรกเชื่อมโยงโฟลเดอร์ Data 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