KyotoCorpus4.0とNTC1.5を復元する際のエラー (2019/12/18)

京都大学コーパス4.0およびNAIST Text Corpus 1.5 を取り出す部分で少し苦労したので書いておきます.
NAIST Text Corpus は京都大学コーパスが完成しないと作ることができないので,京都大学コーパスを正確に取り出すのが重要です.

京都大学コーパス4.0
は毎日新聞95年版のデータにタグ付けされたコーパスで,復元には,毎日新聞95年のデータと上記のリンクからdownloadしたプログラムが必要です.

Ubuntu18.04LTSで実行するとエラーが出て取り出せませんでした.

euc-jp "\xE3" does not map to Unicode at ./src/dupli.pl line 16, line 584.

どうもUbuntuのlocaleを変えるのは大変そうなのでCentOS 6系,7系 のマシンで下記を実行します

  1. CentOS系にデータをコピー
  2. src/format.pl と src/dupli.plの上記の部分を変更

    format.pl

    use encoding 'euc-jp';
    #use open IO => ':encoding(euc-jp)';
    #binmode(STDERR, ':encoding(euc-jp)');
    #binmode STDOUT, ':encoding(euc-jp)';
    use encoding 'euc-jp', STDOUT => 'euc-jp';


    dupli.pl は追加
    use encoding 'euc-jp', STDOUT => 'euc-jp';

    これで付属の auto_conv を実行する.

  3. 950106.KNPの部分が全角空白が1つずれるため周辺を手で修正
    950106 の最初の記事がずれました

    dat/rel/950106.KNP これは dat/syn/950106.KNPも同様にずれています
    # S-ID:950106001-001 部分削除:0:  部分削除:12:蔵相 KNP:2002/12/11 MOD:2004/12/29
    * 0 1D
    + 0 2D
     さきが さきがけ * 名詞 組織名 * *
    け の * 助詞 接続助詞 * *
    * 1 3P
    + 1 2D
    の武 たけむら * 名詞 人名 * *
    村正 まさよし * 名詞 人名 * *

    元の文(dat/num/950106.org)をみると

    # S-ID:950106001-001
     さきがけの武村正義代表(蔵相)と社会党の五島正規副書記長が.....

    と全角空白がはいっている.この除去に失敗しているようす.
    別の環境でためしたときに,たまたまうまくいっていたデータがあったので 950106.KNPだけコピーしました

    dat/rel/950106.KNP と dat/syn/950106.KNP を修正
  • 追加情報2019/12/27
  • 他にタグがずれているところ(全角空白がいろいろおこるみたい)
    S-ID:950104062-001
    ここも人手で修正する必要あり

    # S-ID:950104062-001 部分削除:0: ◇ KNP:2002/08/22 MOD:2005/03/01
    * 0 2D
    + 0 3D
      つま * 名詞 普通名詞 * *
    ◇ が * 助詞 格助詞 * *
    * 1 2D
    + 1 2D
    妻 「 * 特殊 括弧始 * *
    が「 フル フルだ 形容詞 * ナ形容詞 語幹
    + 2 3D
    フルタ タイム * 名詞 普通名詞 * *
    イ 」 * 特殊 括弧終 * *

つぎに,NTC1.5について.
まず,実行後, dat/ntc/knp または ipaのしたでできたファイルが2927個あることを確認します.無いとどこかで,ファイルが生成されていないので,実験の際に数値がかわなくなります.
KyotoCorpusを上記のように修正して作成したのだが,残念ながら,同じところで反対の現象がおこるので手で修正する必要があります.

NTC1.5では NTC_1.5/dat/ntc/knp に京都大学コーパスフォーマットのデータが作成される.
これは問題なくできました.
NTC_1.5/dat/ntc/ipa/ 側の場合, 950106 の記事が今度は全角空白の分のタグが存在しており,ずれてしまいます.

ipa/950106-0000-950106001.ntc

# S-ID:950106001-001 部分削除:0:  部分削除:12:蔵相 KNP:2002/12/11 MOD:2004/12/29
* 0 1D 1/0
さ     記号-空白 _ _ O _
きがけの サキガケ さきがけ 名詞-固有名詞-組織 _ _
B-ORGANIZATION _
* 1 3P 3/0
武 ノ の 助詞-連体化 _ _ O _
村正 タケムラ 武村 名詞-固有名詞-人名-姓 _ _ B-PERSON
_
義代 マサヨシ 正義 名詞-固有名詞-人名-名 _ _ I-PERSON
_
表と ダイヒョウ 代表 名詞-サ変接続 _ _ O _

これは手で修正するしかないようですね....この文だけなので NTC_1.5/dat/ntc/ipa/側のデータではなく NTC_1.5/dat/ntc/knp/側のデータで処理するとよいかもしれません.

他にずれているところがないかはプログラム処理していくなかでエラーが出ないかぎりなかなか気がつかない.ということで近年のutf8環境でタグ付きコーパスを復元するのは難しいということがわかりました.