Subject: 中日新聞:データの破損
Date: 2007年1月3日 15:47:44:JST
Perlで EUC-JP などのテキストを,バイト単位ではなく,文字単位で処理する場合,
使用されている文字の範囲,及び文字コード間でのマッピングがどうなっているかを
把握しておかないと,不適切な処理をしてしまう可能性があるため,dicom2 にある
中日新聞 (/corpus/ChunichiShinbun/Chunichi1999-2003.euc) ではどうなるかを
確認するために,文字の一覧表を作成してみました。(文字コードは UTF-8。)
http://dicom1.gsid.nagoya-u.ac.jp/~ohna/chunichi/char_list.txt
一覧を見てもらうとわかりますが,記事の見出しと本文だけを対象に文字一覧を
作成したのに,Basic Latin (ASCII) の範囲の文字が含まれています。見出しと
本文は「全角文字」だけだと思っていたので,不審に思って,元ファイルを
確認してみると,部分的にデータがおかしくなっていました。
私が気がついた範囲では,二つの問題があるようです。
■ 文字コード変換の問題
一つは,文字コードを変換をするときのミスです。どうも,Shift JIS で1文字の
全角文字だったものが,最初のバイトが消えてしまい,後のバイトだけが
残ってしまったようで,例えば,「(あつれき)」となるべきところが,
「iあつれき)」となってしまっています。(Shift JIS では「(」の1バイト目が
消えると「i」になってしまう。) 他にも同様のデータの破損が見られます。
■ データの欠損
もう一つは,次のように,記事の一部が欠損しているものです。(一部が
欠けているというより,一部しかない,という感じです。)
----------------------------------------------------------------------
20020405
中日新聞朝刊
25
朝刊運動1面
←ここと
930XN" width="5368" height="2464" type="JPS">
←ここの間
----------------------------------------------------------------------
----------------------------------------------------------------------
37,033山崎養世無新
←ここと
C_H> ←ここの間
『可動堰を完全中止』
----------------------------------------------------------------------
chunichi1999.euc から chunichi2003.euc まで,個別に文字リストを
作成してみましたが,文字一覧から見る限りでは,chunichi2002.euc に
データの一部が欠けているものが多いような感じがします。
オリジナルのファイルで既にデータが壊れていたのであれば,こちらでは
修復しようがないので,中日新聞からデータをもらい直すしかないですが,
オリジナルのデータはどうなっていますか?
--
名古屋大学大学院国際開発研究科
国際コミュニケーション専攻
大名 力 (Tsutomu OHNA)
--------------------------------------------------------------------------------
Subject: 中日新聞
Date: 2007年1月11日 12:54:12:JST
[データの欠損がオリジナルのファイルの方にも当てはまることなのか]
調べてみました。
作成した文字一覧から推測すると,どうも,文字コード変換の関係で
壊れたと思われる部分は大丈夫のようですが,もう一つの方の問題は
残っているようです。
記事本文には半角文字は使っていないようなので,> の後ろに半角文字が
来るものがあれば,データがおかしいと考えていいと思いますが,
grep で検索してみると,次のように,おかしな行が検出されます。
----------------------------------------------------------------------
$ grep '>[ -~]' chunichi2002.txt
930XN" width="5368" height="2464" type="JPS">
_P>
d="G098012XN" width="3696" height="2376" type="UNKNOWN">
width="5278" height="3344">
0" type="JPS">
="2534" height="1320">
C_P>
P>
2178" height="4136">
178" height="2552">
>
EXP>
C_P>
----------------------------------------------------------------------
2002年のものがおかしいですね。他のものは (少なくともこの点に関しては)
大丈夫のようです。
--
名古屋大学大学院国際開発研究科
国際コミュニケーション専攻
大名 力 (Tsutomu OHNA)