2007/04/02

[技術系]   ほとんどの「論理マークアップ」はクローラにとってはクソの役にも立たない

at 23:10JST
追追記:このエントリ、いつのまにか元記事よりも多くSBMされてるみたいだけどそんなに読む価値あるのかしら…。

どっちにしろたくさんアクセスされているようなので、すかさずアフィリエイトを貼っておこう。さあ、キミたち買うんだ。


Japan.internet.com Webビジネス - SEO のキホン―なぜ論理構造が必要なのか
http://japan.internet.com/busnews/20070402/6.html

てなことをあやしげSEO系マーケターが書いてるわけだが。

こういう神話が一人歩きしている状態がイヤだ。いくぶん極論ではあるが、これが「間違っている」ということをネット辺境のきわみであるこのページに、せめてメモっておこう。

ほとんどの場合、クローラにとってHTMLごときの論理マークアップなんてクソの役にも立たない!

…だって作ってる本人が最初にタグを削除してるって言ってんだから、役に立つわけないじゃん。

フィードリーダや特殊なスパイダーでもない限り、細かい論理マークアップを見たりなんかしないよ。フィードリーダは埋め込まれているフィード情報をチェックするからしかたない。特殊なスパイダーというのは、特定ページを頻繁にチェックして更新差分をとるとか、そういうやつ。

※以下「クローラ」という単語は、Webページを取得するだけでなく、その内容を解析してなんらかの役に立てるプログラムとして使っている

だってね、ちょっと考えてほしいのよ。

論理マークアップが役に立つとするなら、たとえば
・hタグが後続パラグラフの意味ダイジェストになっている
というような状況だろう。

しかし、その状況が「100%」でない限り、クローラはそれを前提として動作することはできないんだよ。逆に、採用状況が50%以下なら、それを前提として動作することがノイズになってしまい、期待している成果を得られなくなってしまう。だとしたらはじめからタグを無視することを前提とした解析手法をとったほうが効率的だ。hタグ→後続タグ、のような構造を分析して、単語の重み付けをするシステムつくるのってけっこう大変だよ?

さらに、
「人間の生成する文章というのは論理的ではない」
というのも重要なポイントだ。一般論として、人間は大量の非文(文章になっていない文)を平気で量産する。文法的に成立していても「黒は白だ」というように、意味がない文章は日常的に生まれている。だが、それを「論理的でない」と言って捨てることはできない。自然言語処理のお父さんである言語学というのは「現象」としての言語を分析する科学であって、論理的でないからといって現象を排除したら科学ではなくなってしまう。

端的に言うと、直前にあるhタグがパラグラフの意味ダイジェストになっていない「非論理的」なケースが大量にあって、クローラはそれを正常に評価できなくてはいけないということだ。

手近な本を拾って目次をチェックしてほしいのだが、セクションタイトルが各セクションの内容を端的に表しているなどという事例は、実は世の中の文章のごく一部に過ぎない。多くは文学的に表徴しているだけで、非常に論理性を欠いたタイトルになっているはずだ。

じゃあさ、hタグに依存して文章を解析するのって、
「コストが高いわりに見合わない」
ということになりませんか? 実際見合わないんだよ。

HTML文書で、本当にクローラにとって役に立つものって、
・title情報
・metaタグの情報
ぐらいなんだよ。だから、多くの場合、クローラはこれらの情報を取得したあとはHTMLのタグをバッサリと切って捨ててしまう。「タグの意味を拾ってる」と主張するなら「ホワイトスペースにも意味がある」と主張されてもいいはずだが、ホワイトスペースもばっさり切り捨て。どうにかして「本文はどこらへんかなー」とタグを頼りに探索することもあるけど、それって間違えると本文が全部消し飛んじゃうのでやらないほうが無難。

タグベースでHTML文書を解析するのって、ほとんど生成文法論みたいなもんで、実用的には役に立たないって。いくら文章の構造をカッコよく解析しても、機械翻訳の精度は上がらないし、意味解析もできない。

代わりにどうするかというと、けっきょくヒューリスティクスと統計的手法に頼るしかない。日本語では形態素解析だけは不可欠なのでそれはやるとしても、あとはクラスタリングとかTF/IDFとかそういう方法を取る。
「うそー?」
と言われても、現実問題、実際に世の中で動いているWebサービスのほとんどがそれなんだからしょうがないじゃん!

そういう状況下で
「論理マークアップ!」
とか叫んでも無意味。CSSベースだろうが、TABLEベースだろうが、HTMLがどう書かれていてもクローラは差別せずに解析しているよ。逆に言うと、TABLEベースのページがたくさんあるのに、差別して解析してたら実用にならないじゃんよ。まあ、天才の作ってるクローラは別だろうけどね…多くの凡才が作っているものはそんなもんだって。

むしろ言わせてもらうなら、最近多い
「CSSとかJavaScriptはどんなブラウザも対応してて当然」
とか思いこんで書かれているページのほうがSEO上は有害だと思う。90年代くらいの常識にのっとって、
・スタイル、JavaScriptは、
 非対応ブラウザに配慮してコメントアウトする
ようにしててくれているサイトのほうが有利。だってねえ…タグ削除するとき、HTMLコメントアウト部分だけ削除してればオッケーかと思ってると、最近はちゃんとスクリプトをコメントアウトしてないところが多くてノイズが増えちゃって困るのよ。これって解析上はポイントダウンよ?

頼むから、論理構造がSEO上有利なんて科学的根拠のない風説を広めるのはもうやめてください。実際のクローラの動作を知らないで主張しているのがモロバレです。

そもそもね、
「HTMLは論理マークアップ言語だ」
って主張してる人は、ちょっとモノ考えなさすぎだよ。あれのどこが論理マークアップ可能な高等言語なんだよ。

いちばんバカげていると思うのは、ここで俎上にあがっているようなhタグだ。

h1
h2
h3


といくつもありますが…なぜ「タグ名にレベルの数が含まれている」の? この時点でHTMLは
「論理マークアップ言語としては致命的な欠陥を含有している言語」
と察知できて当然だと思うんだけどどうよ?

たとえば「h2タグが先行するパラグラフ」があったとするじゃない? そのパラグラフをそのまま別の位置にある「h3タグが先行するセクション」の配下に移したとする。そうするとなんと、内容を人間が判断してh2をh4に書き換えたりとかしないといけない(機械的には操作不可)。なんじゃそりゃ。childHeadingとかchildSectionとかいうタグがあって、それで階層構造を記述してるんだったら論理マークアップしてるって認めるけど、こんなの機能不足だろ。つーかそもそも、hタグがそれ以降のどこまでを配下セクションとして扱うのかを明示してないじゃん? わけわからん。名前が「heading」って時点で視覚的情報を反映した命名だしさ(digestOfThisSectionとかにしろ)。

個人的には、
・W3C原理主義者
・SEO業者
には、「HTMLは欠陥言語です」というあたりから現実を認識してほしいもんだ。

追記:
あとアレね。
この話はクローラだけじゃなくて、スクリーンリーダとかにも通用することだからね。「Web標準を守らないのは障害者差別」とか、実際にスクリーンリーダ常用してから言えっての。都合のいいときだけ障害者を錦の御旗として引っ張り出してこられるのは、障害当事者として非常に迷惑。

[ネット]   パソコン向け貸本サービス

at 21:06JST
パピレスがパソコン向け貸本サービスを開始:ITpro
http://itpro.nikkeibp.co.jp/article/NEWS/20070402/267161/

Renta!
http://renta.papy.co.jp/

これ、
・一冊100円で24時間読める
・Flashによる閲覧
と手頃で、
・少年ガンガンなどメジャーレーベル作品を公開
なのはすばらしいんだけど…。

入会しないと決済手段がわからないのはどうかしてると思うぞ。

入会して確認したところ、決済手段は、
・ドコモの携帯への通話料合算請求
・クレジットカード(VISA、JCBほか)
で、一枚105円からのチケットを購入することで課金。

20070402m2age1.png


…なんで本体のパピレスと違うんだ。WebMoneyが1,000円ぶん余ってるから使おうと思ったのに。まあ、
・携帯→若者ターゲット
・カード→M2層以上
で過不足ないんだけどね。auでの決済もできないとまずいかな?

[雑記]   コロッケのことを考えてみる

at 15:50JST
ついてないし気分のんないし。借りてきたレンタルCDはハズレっぽいし、脱薬症状かあたまが軽く痛いし。

気分転換にスーパーで買い物してきた。おとうふ、値引き品のししゃも。あと冷凍コロッケ。

さすがに揚げ物はしないんだけど、「揚げないコロッケ」というのを一度試してみたかったのだ。このあいだallaboutで作り方が紹介されてたのを見て、
「別にイチから作らなくても
 冷凍のを焼けばよくね?」
と思って。

うちのボロトースターの天板にコロッケを2コ載せる。片面を6分くらい焼いて、ひっくり返してまた5分。ちょっとコゲめがつく感じで。まあ、火が通ってなくてもただのジャガイモだから死なないけど。

ふうむ。
ふつうにコロッケができた。味は…ソースをかけたのでソースの味。

なーんだ。これで食べられるなら、ハナマサで100コ単位で買い溜めしといて、焼けばいいや。メニューが増えた。

もうちょっと手が込んだことをしたければ、焼く前に油を塗っておけばいいようだ。でも、油塗ってなくたってコロッケだからいいや。

むかし、よくお惣菜のコロッケをタマゴでとじてコロッケ丼を作った。焼くのに飽きたらあっちに転用してもいいし。経験をつんでひとつおとなになったぞ。

で、もうひとつの野望は、ガスコンロのグリルを汚さずにししゃもを焼くことなわけだが…。トースターで焼くと脂でひどいことになりそうだなあ。

[雑記]   小林香織

at 12:58JST


ふむう。
なんか見た目に惹かれただけだが、

【グロウ 】小林 香織 : 試聴とダウンロード - listen.jp
http://listen.jp/store/album_vicj61399.htm

あたりで聴いてみるといいカンジだな。借りてこよ。

[雑記]   そんなもん絶対売ってないと思う

at 12:44JST
20070402mage1.png


おまえ、宇宙世紀の武器ショップじゃねーんだから…。我が子ながらバカだ。

やっぱ単語は最小単位で切っておいたほうが無難かなあ。結合語のことを考え始めるとこうなる…。

# 単に「とか」が悪いんだとは思いつつ

[技術系]   ギャー!

at 12:39JST
そうか…。
ドメイン移転したから、それ以前のものはヒットしないのか…。

作った自分がいちばん恩恵を受けられないってどういうこっちゃねん…。やっぱサイト全体を取得してやるASP型で作るしかないのか。

ほんとに死にたい。
川村ゆきえにカニばさみされて死にたい…。

[木鐸]   あなたに「くだらない」粗探しに思えることでも他人には「くだらなくない」かもしれない。それが多様性であって、ぼくがネットに支援をゆだねたい機能だ

at 10:45JST
別に批判しているわけではないのよ。思ったことをとりとめもなく書いておこ。

My Life Between Silicon Valley and Japan - 「好きを貫く」のはそんなに簡単なことではない。意識的で戦略的でなければ「好きを貫く」人生なんて送れないよ。
http://d.hatena.ne.jp/umedamochio/20070331/p1

これを読んでても、なんかこう雲を掴むような話で、具体的に何のことを話しているのかわからない。不毛なメタ議論の域に入ってしまっているのかもしれない。

でも、それが吟味されずにはてブでパカパカブックマークされて、露出して、御輿として担ぎ上げられて…。はてなに限らずネットコミュニティではこういうのが顕著で、梅田氏が称揚している「Web 2.0」では特にそれが加速しがちなのが怖いよね─というのを、このあいだメモったのだ↓

ぼくはその方法でサバイバルしたくないんだ : ひろ式めもちょう
http://memo.hirosiki.jp/article/36404599.html

たとえば、先の梅田氏の記事へのコメントに、
梅田さんに賛同するブックマークは約900、批判するブックマークはそれには及びません。梅田さん、若者にポジティブなエネルギーを送り続けてください。

とあるのだが。

意味わかんないよ…。なに? 賛同ブックマークたくさん集めると勝ちというゲームかなんかなの?

これがぼくが「こわい」と言っている典型で、けっきょく梅田氏を教祖とする熱いセクトがボーンとできているように見える。そこでは細かい差異とかはひとつのドグマに吸収されちゃってて、反する存在は敵なんだよね ↑のコメントの人もヘンな理論武装してるし。

ぼくはネットって多様性の涵養に貢献するもんだとここ20年来信じて生きてきたのだが、こういうの見るとむしろ単一化のための同調圧力を増すもののように思える…ここまで前回エントリの繰り返し。

そんでもって。

My Life Between Silicon Valley and Japan - 嵐のような反応を読んで
http://d.hatena.ne.jp/umedamochio/20070319/p1
賛否はともかく、これだけの強度で反応が届いたということには何か理由があるのだろう。じっくりと考えていきたいと思う。
と梅田氏は言っていたが、たぶんぼくが
「んん?」
と思ったというか、どうにも居心地の悪さを感じて反応した理由は、

こんな難しいことを本気でやり切ろうと思ったら、くだらない粗探しなんかしてる暇もなくなるはずだ


というこの一節に尽きるんだと思うよ。

前にも書いたけど「好きを貫いて生きる」とか、そういうのはねらわずともぼくはそういう生き方しかできないし、おかげで今日明日にも自殺してもなんの不思議もない体調で生をしのいでいるわけで、別に同意しないでもない。

でも「くだらない粗探し」ってなんなん?

新しいビジネスプランとかアイデアとか、そういうものに対して否定的な見方をすることとか、抵抗勢力が立ちふさがることとか、そういうのを氏は「くだらない粗探し」と言ってやまない。

でもさー、誰かが「好き」ってものは、必ず「キライ」ってひとがほかに出てくるもんだよ。キライ、じゃなくても「困る」って人はぜったいにいる。

好きを貫けば貫くほど、こういうあらがいはより多くぶつかってくるし、別に向こうからぶつけてこなくてもそこかしこに転がってる。それは見るだけでも、好きを貫いてる人にとっては自分を否定されたようなイヤ〜な気分になるもんだろうね。…少なくともぼくは毎日そういう感情と戦ってる。

まるで、海岸に行って波打ち際を歩くようなもんだ。力を込めて歩もうとすればするほど、海水は強く足にまとわりついてくる。そりゃ世の理で、そういうものなのだ。だって、逆に海水にとってみればキミの足こそがまとわりついてきて浜辺に打ち寄せるのをじゃましようとしてるのだから。

それを「くだらない」と言い切るのはあまりにも近視眼的だろう。

「好き」でやってんだったら、「好きじゃない」という動きと対峙しなくてはならない。それに対して猛然と抗していくか、それとも妥協するか。はたまたその中間点のどこかか。対処のしかたは何万通りもある。「好きじゃない」って動きから思いっきり逃げまくって、まじめに対処しないという方法もある(=ぼくはそうしている)。

でもそれを「くだらない粗探し」とレッテル貼りしてしまっても、何もよくならないぞ? だって、

全肯定ポジティブ教はきらいだ : ひろ式めもちょう
http://memo.hirosiki.jp/article/36234807.html

でも書いたみたいに、「粗探し」をしている側はきちんとした根拠や理由があって「粗探し」しているのかもしれない。そういう場合、それを「くだらない粗探し」として一蹴することはそりゃあなたにとって気持ちいいし単純でカンタンだけれど…。敵対性を深めることになるし、そもそもそこで他人の視点を取り入れて自分のプランに潜んでいた弱点を克服するチャンスなのかもしれないのをみすみす棒に振ってる。

ぼくがね、むかしむかし300bpsくらいのネットに触れて「むぅ! コレはぁ!」と期待した可能性というのはね、こういう
「他人の視点をくれる」
ということだ。

ネットにはいろんな人が出てくる。そこには狭い地域コミュニティとか、同質化しがちな企業・組織とか、あるいは国とか宗教とか、そういうものにおさまっていてはまず遭遇できないいろんな人が出てくる。

自分の「好き」を追究してるだけだと他人の視点を忘れがちだが、ネットをそれを十二分に補ってくれる。…十二分どころか過剰に、かもしれない。おかげでぼくはサイトを巡回していると持病の胸の痛みが出てくるくらいだ。

でも、やっぱそういう多様性って希有だよね。さっきも言ったように、ときには自分の弱点を指摘してくれることだってあるし。そもそも新しいアイデアを思いつくチャンスにつながる。とてもつらいけど、得難い効用は認めざるを得ない。

それを「くだらない」って言えちゃうのがポジティブ思考だっつーんなら、そりゃあんまりなんじゃないかなーと思う。


あとさ。
みんな、もっと自分の頭で考えようよ。
なぜそんなに他人のことばをありがたがるか。

なんか適当に書き散らしてしまった。疲れたからカフェオレでもつくって風呂入って寝るかな…。

[技術系]   クロール中…

at 08:51JST
んー。

1日ぶんのテキストをgzipした状態で、約6MB。

6×30日×12ヶ月×2年=4GB!

ありゃ。けっこうデカいな。
取得後にDVDに焼けばいいだろうと思っていたが、DLメディアレベルか。

…で、そのDVDドライブの調子がおかしいんだってば…_| ̄|O 死ぬ

[技術系]   Locationでリダイレクトされているかどうかをチェック

at 07:36JST
Perl。

LWP::UserAgentで、たとえば
#/bin/sh 
/bin/cat <<_EOF_
Location: http://www.yahoo.co.jp/

_EOF_
としたCGIスクリプトのページに
my $ua = LWP::UserAgent->new(); 
my $response = $ua->get( '上記CGIのURL' );
if ( $response->is_redirect ) {
print "Locationヘッダでリダイレクトされてますね\n";
}
としてアクセスしても、リダイレクトとして検知されないなあ。

if ( $response->previous->is_redirect )
としても同様。

・このCGI → レスポンスが302
・Yahoo! → レスポンスが302

だからなんだろうけど。つーか、もしかして世界の常識ではLocationヘッダで転送するのはリダイレクトと言わない?

こうしてみる。
my $ua = LWP::UserAgent->new(); 
my $response = $ua->get( '上記CGIのURL' );
if ( defined $response->previous ) {
if ( defined $response->previous->headers->{location} ) {
print "Locationヘッダでリダイレクトされてますね\n";
}
}
動く。なんか長いが、undefinedだとエラーになるので。ひろ式驚異の低技術力ではこれが限界。
さらに過去の記事
2009/04 (1)   2008/12 (3)   2008/11 (9)   2008/10 (10)   2008/09 (20)   2008/08 (2)   2008/07 (23)   2008/06 (16)   2008/05 (22)   2008/04 (11)   2008/03 (21)   2008/02 (20)   2008/01 (21)   2007/12 (32)   2007/11 (37)   2007/10 (46)   2007/09 (63)   2007/08 (33)   2007/07 (41)   2007/06 (81)   2007/05 (173)   2007/04 (168)   2007/03 (113)   2007/02 (123)   2007/01 (92)   2006/12 (111)   2006/11 (185)   2006/10 (20)  

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。