종이에 대한 코드 및 코포라 "다중 기준 단어 세분화를위한 효과적인 신경 솔루션"(SCI-2018에서 수락 및 발표).
Corpora를 준비하려면 다음 명령을 실행하고 Train/Dev/Test 세트 등으로 나눕니다. :
python3 convert_corpus.py 그런 다음 Corpus $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 개의 추가 자유로운 데이터 세트에 솔루션을 적용했습니다.
이 섹션에서는이 백서에 사용 된 Corpora를 간단히 소개 할 것입니다.
이 10 Corpora는 공식 Sighan2005 웹 사이트에서 또는 오픈 소스 프로젝트 또는 연구원의 홈페이지에서 수집되었습니다. 라이센스는 다음 표에 나열됩니다.
Sighan2008 Corpora가 독점적이므로 우리는 그것들을 배포 할 수 없습니다. 법적 사본이있는 경우이 지침에 따라 점수를 복제 할 수 있습니다.
먼저이 프로젝트의 Sighan2008을 데이터 폴더에 연결하십시오.
ln -s /path/to/your/sighan2008/data data/sighan2008
그런 다음 다음 Java 코드 스 니펫에서 볼 수 있듯이 전통적인 중국의 HANLP를 사용하여 중국 전환을 단순화하십시오.
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