2005/11/09

眞鍋かをりの一言で思ったこと: blogで広がる非構造化文書

昨日NHK教育でやっていたサイエンスZERO。「プログラムの達人を目指せ 第16回 高専プログラミングコンテスト」というテーマでした。すげー人がたくさん出てました

途中からしか見てないのですが、今回の課題は与えられた小さなハート型の画像が、大きな画像の中のどこから切り出されたのかを正確に短時間で見つけ出すというものでした。

ちょっと考えると、画像をスキャンして総当り式にマッチングさせていけばできそうですが、この課題はハート型の画像を拡大したり回転させる必要があります。つまり情報の欠落や補完(補間??)をする必要があります。こりゃあムリだ

こういった技術は最近よく耳にする、顔を使った認証なんかに使われているそうです。

今日の投稿はこの番組に対する感想を書きたいのではありません。放送中に眞鍋かをりさんがさらっとこんなことを言っていました。

たった一文字間違えただけでプログラムは動かなくなってしまうということに驚きました

そりゃあね。プログラムですからね。そうであるべきなのです。1文字も間違えちゃいけないんです。決められた形式に従って正しく書くべきなんです。何が言いたいかというと、blog書く奴はちゃんとHTMLに従って書けよ!!ってことです

何でこんなことを書くのかというとね。最近卒研で他人のblogを解析してるんですよ。するとPHPのパーサに「文法が間違ってるので読み込めません」って怒られるわけですよ

一番多いのは顔文字なんかに使われる「<」と「>」の処理。例えば「(>_<)」という顔文字を打つ場合、「&gt;_&lt;」と書くのが正しいのですが(これを文字実体参照という)、それをスルーしてそのまま公開している人がたくさんいるんですよ。信じられない!!

もっとも、blogに限って言えば、公開するときにチェックしてから公開すればいいだけのはなしなので、サービスを提供側の問題とも言える。

他にも
  • URLに含まれる実体参照されていない「&」
  • 「Shift-JIS」や「euc-jp」などの間違った文字コードの指定(「Shift_JIS」「EUC-JP」が正しい)
なんてのもある。まーHTMLをそのままXMLで扱おうとしているのが無理があるのかもしれないが、この辺の話もそのうちまとめよう。blogというシステムはこの辺の悪習を助長している面も持っている。bloggerは情報公開者としての自覚をもっとちゃんと持たなきゃ

HTMLがうまく読み込めないために研究はどん詰まり(←言い訳)。今は正規表現を使ってせこせこ解析をしている。せっかくの構造化文書が泣くね

みんな、HTMLはちゃんと書こう!!