蝸牛の歩み

蝸牛の如く,ゆっくりでも着実に前へ・・・

キーワード抽出

昨日の日記を書いた後,どのようなキーワードに捕捉されているのだろうと思って「キーワードを編集」をクリックすると,書いた覚えのない「犬神」というキーワードが含まれていた.はて,ページ内検索をしてみても,「犬」も「神」も使っていない.一体どういうわけだろう?
はてなダイアリー日記にて聞いてみたところ,既知のバグだと教えていただいた.例:

どうやら,キーワード抽出の仕組みが,2バイト文字に対応していないらしい.日本語の1文字は2バイトで表示される.例えば,EUCコードの「の」は,16進数では A4 CE である.「の百貨店」という文字列は,16進数では A4 CE C9 B4 B2 DF C5 B9 となる.「良寛」は CE C9 B4 B2 である.本来は2バイトずつ比較しないといけないので「の百貨店」に「良寛」が含まれることはない(当たり前).ところが1バイトずつ比較すると,A4 CE C9 B4 B2 DF C5 B9 の中には CE C9 B4 B2 が含まれている.そういうタコな比較をしているために,「の百貨店」の中には「良寛」というキーワードが含まれていることになってしまうのだ.
昨日の日記の場合,「犬神」がどこに含まれているか調べてみた.「犬神」は B8 A4 BF C0 である.A4 BFが「た」であることから当たりを付けて調べたところ,「閉じた世界」の「じた世」が A4 B8 A4 BF C0 A4 であり,見事に B8 A4 BF C0 を含んでいた.「犬神」を含む日記からいくつか調べてみたが,例えばid:sumikko:20050216では「感じた切なさ」の「じた切」が A4 B8 A4 BF C0 DA で,同様に「犬神」 B8 A4 BF C0 を含んでいた.一方,id:stnet:20050216の場合は,「じた劇場専属」のあたりに「犬神」が潜んでいるらしいことはわかったものの,16進数に変換した A4 B8 A4 BF B7 E0 BE EC C0 EC には「犬神」 B8 A4 BF C0が含まれていない.はて?
関連: