2008年07月のエントリ

プリント用のCSS

会社の人が連載:WEB DESIGN WORKSHOP「正しいウェブデザイン」|gihyo.jp … 技術評論社を「キレイに印刷したい!」と泣き喚いていて,このままじゃ近所迷惑だしなーと思って書いた CSS です.

#sub,
#secondary,
.utility,
#headerBanner01,
#headerBanner02,
#footer,
#comment,
#trackback,
.primaryBanner,
#backNumber01,
#authorProfile,
.sectionInfo01
{ display:none; }

#main #primary { width: 985px; }
#header { height: 80px; }

AutoPagerize で全ページをまとめてから印刷するとさらにベネです.

Before

before
Uploaded with plasq’s Skitch!

After

after
Uploaded with plasq’s Skitch!

印刷に必要な紙も減りますし,弊社もエコをアピールですね!

Web上のデータを使った研究

ボクが研究室に配属された2005年当時,Web 上の実データを用いた研究ってのは,今ほど盛んに行われてはいなかった.だから,ブログや SNS のデータを数十万ユーザ単位で収集して解析した結果を発表すれば,それだけでも新規性が認められて注目された.

今となっては,そんな研究もそれほど珍しいものではなくなった.先日参加させていただいたソーシャルブックマーク研究会でも,ソーシャルブックマークを対象とした研究をしている人たちに会うことができたし,Google Scholar でソーシャルブックマークと検索すれば日本語だけでも数十本の論文に辿り着ける.

ボクも修士時代に,自分や研究室の仲間が収集したデータを解析してみたりした.幸い,ボクが属していた研究室の,ボクが過ごした時期には,Web の研究ってのはホットで,様々な研究が成されていたし議論の相手にも困らなかった.しかし,学会や研究会で会う人の話を聞いてみると,みんながみんなそうというわけではなく,属する研究チームの中でも1人で「Web が面白い!」と孤軍奮闘している人はたくさんいた.

Web の研究は,当然だけど,Web の登場以降に始まったものだから,比較的歴史は浅い.そこに用いられる手法が古典的なものだったとしても,対象が新しければ,得られる結果も新しいものになる.ソーシャルブックマークのデータを用いた研究の発表をするのに,ソーシャルブックマークの説明から入らなければならないのはけっこうしんどい.ソーシャルブックマーク自体の面白さや可能性を感じてもらえないことには,研究の面白さを伝えるのは難しい.願わくば,Web のダイナミクスや Web 上に見るユーザのアクティビティに理解のある人と議論したい,Web の研究をしている人なら感じるところであろう.

じゃあ,研究仲間をどうやって見つけたらいいか.Web の研究をしているんだもの,Web で見つけるってのがいいんじゃないか!

そんなことを考えて,最近,このブログでも研究関連の話題でいくつかエントリを書いた.仲間を見つける最良の方法は,自分の興味を表明することだ.現状,技術者というかプログラマの人たちは,Web を活用して良質のコミュニティを形成できている.研究者にも同じようなコミュニティがあってもいいはずだ.Web のパワーを理解しているのなら,研究室やゼミ,学会や研究会といったコミュニティのみに縛られる理由はないのではないか.

あるいは,ボクが知らないだけかもしれない.もしすでにあるのなら教えて下さい.ぜひ参加したいです.

ここで,ボクが想像している Web の研究者のコミュニティとは,次に示すような特徴を持ったものだ.

  • 日々の研究活動を共有できる場がある
  • チャットなどで気軽に議論できる場がある
  • 共有できるデータセットがある
  • オープンに活動し,成果を Web のユーザやサービスプロバイダにアピールできる

プログラマのコミュニティをイメージしてもらえると分かりやすいと思う.そんなに崇高な理想があるわけじゃなくて,「今日こんな論文を読んだんだけどさー」「誰かこういう研究やっている人知らない?」とか,そんな感じで研究の話をできる仲間がほしいってだけです!妙に堅苦しく書いちゃったなぁ.

例えば社会学の研究をしている人なんかは,SNS に見る人の行動を社会学的に調べようと思ったら,まず「クローラを作ってデータを集めなきゃいけない」ってなって,急にハードルが高くなっちゃう.本当は,データをどう料理するかで勝負するはずなのに,スタートラインに立つまでの本質的じゃないところで苦労しちゃう.そんなとき,割とプログラミングが得意な人がいて,すでにある程度集まったデータがあったら,共有してもいいんじゃないかな.そうして,社会学的に見て得られた知見と,自分が行った解析から得られた知見を比較できたら,それはすごく価値のあることだ.Web の研究をやっていると,みんなそれぞれ扱うデータセットが違うから,結果を比較する対象がなくてそれ以上議論できないってことがある.さらに,みんなが個別にクローリングを行うと,サービスプロバイダには負担をかけることになる.可能な範囲でデータを共有できれば,幸せになる人は多いのではないか.

そんな想いがあって,web-researcher.jp ドメインを取得しました.まだ何もありません!具体的に何をどうしていったらいいか考えているところです.

http://web-researchers.jp/

IRC も同じく web-researchers.jp という名前で irc.freenode.net 上にチャンネルを作ってみました.共感してくれる人がいたら,ぜひ参加してほしいです!

まずはボク自身が情報を発信するところから始めよう,そうしよう.

iPhone買いました

発売から約1週間して,iPhone をゲットしたよー!

iPhone 3G

19日(土)の朝にどっかの家電量販店に並んで買おうと思っていたんだけど,そこまで計画も立てていなくて,朝起きてなんとなく近くの SoftBank ショップに行ったら運良く買えました.お店のお姉さんは全然「iPhone ありますよ!」って雰囲気を出していなくて,ボクが「iPhone ありますか」って聞いたら「何 GB のモデルですか」と意外な反応を見せ「何でもいいからあれば教えて下さい」と言ったところ,「16GB のホワイトならご用意できます」とのことで,「じゃあそれください!」となったとさ!

もともと au の携帯電話を所持していたボクは,前日に発行しておいた MNP 予約番号を持って手続きに臨んだ.手続きの最初に「iTunes 7.7 以降が必要になりますが」と言われて,つまづく人はここでつまづくだろうな,と思った.それから Google Maps や YouTube の利用規約に書面上で同意することになる.Web 大好きっ子じゃないと大変だよね!

手続きはスムーズに進んだんだけど,途中で SoftBank のシステムが動かなくなっちゃったみたいで,時間をおいてから再度来店することになった.一旦帰宅してランチを食べるなどして時間を過ごした.手元の au の機種から一切の外部接続ができなくなったことを確認したところで,もう1度 SoftBank ショップに行き,ついに iPhone を持ち帰ることができた!

iPhone 3G

実際に使える容量は 14.4GB だそうです.

IMG_0002

2日間ぐらい使ってみて

MacBook の一部分だけを切り出して持ち歩いている,そんな感じです.3G の通信はボクが思っていたより高速で,地図アプリなんかもバリバリ動いていい感じです.

よく言われているように日本語入力まわりはなかなか難があって,とてもじゃないけど iPhone で長文を打ち込む気にはならないな.起動時間が長くなってくると,メモリ管理がよろしくないのか,予測変換がどうしようもならないぐらいに重くなって,一文節を入力し終えるまでにけっこうな待ち時間が発生して困っちゃう.

じゃあ使い物にならないかっていうと,そこは MacBook とどう上手く連携させるか,がキモかなぁと今は感じている.例えばアドレス帳.今まで使っていた携帯電話には,長いことかけて積み重ねてきたデータがたくさん貯まっているから,こいつを使えないのは大いにデメリット.だけど,これからは MacBook のアドレスブックですべて管理することにしちゃえば,ボクにとってはそれが1番楽な方法だよ.入力の快適さで言えば

MacBook >>>>>> 今までの携帯電話 > iPhone

だもんね.アドレス帳だけじゃなくて他のデータも,上手いこと MacBook で管理して iPhone に同期させる使い方を覚えていこうと思います.

これ1台で完結させるって発想じゃないんだろうな.小型端末には向かないことは,大きな画面とフルキーボードでやればいい,っていう切り分けには共感する.

App Store

iTunes と同じで,国ごとにアカウントが完全に別物らしいですね><

日本の iTunes のアカウントだと,海外のアプリは買えないってのがけっこうな罠です.うちの子で見る App Store では価格が $ 表記なんですが,知人は円表記だと言っていました.皆さんはどうですか.

IMG_0005

どうも検索しても日本のアプリ,駅探エクスプレスとかが見つからないんですよね.どうやったら日本の App Store にアクセスできるんだろう.

アカウントの変更ができるのかよく分からないから,iTunes の設定は「後で」にして保留にしてあります.要調査.

iPhone の設定

メール

i.softbank.jp のアドレスを設定しました.これもよく言われている通り,PC メールを受信しない設定になっているお友達の携帯電話には届かないみたいで,ちょっと困りましたね.imap なのは素晴らしい.基本的には MacBook 上の Mail で送受信することになりそう.

きのうから SoftBank の smtp サーバが重い気がする.ときどき送信に失敗して,しばらく経ってからリトライすると送れたりする.よく分かりません.

全体的な使用感

ここまで愚痴っぽく書いちゃったけど,かなり楽しく使っていますよ!迷っている人にはオススメしないけどね,ボクは気に入っています.カワイイ.魅力的なアプリもいっぱいあるし,欲しい物が見つからなければ自分で作ることもできる.ソフトウェア的にも進化の伸びしろはまだまだあるように感じます.持ち物にワクワクできるってのは素晴らしいことだね!

iPhone 3G

iPhone で遊ぼう!

第1回ソーシャルブックマーク研究会に参加してきた!

2008年7月12日(土),第1回ソーシャルブックマーク研究会に参加してきました!会場は東京工業大学大岡山キャンパス.当時修士1年生だったボクが,初めて学外で自分の研究を発表した場所です.久しぶりに訪れたキャンパスにちょっとドキドキ.

今回のイベント用に作った簡易名札!
SBM研究会用名札

全体の感想

「ソーシャルブックマーク」というひとつのテーマに対して,サービスを提供する人,毎日の中で使う人,研究対象とする人,ビジネスに発展させようとする人,様々な人たちが集まっていたイベント.このような雰囲気のイベントって珍しい!これまで研究者が集まる学会・研究会とか,技術者が集まる勉強会とか,いくつか参加させてもらってきたけれど,これまでのどのイベントとも違う空気が新鮮で面白かった!学会・研究会でお世話になっている人がいたり,ボクの修士論文で参考文献に掲載させてもらった @yanbe さんがいたり,先日マイネット・ジャパンに遊びに行ったときにお会いした newsing の中の人がいたり,楽しかったなぁ.業界は狭い!

今回は研究寄りの話が多かったかなー.サービス提供側の人たちは「じゃあ,たくさん集まったデータをどう扱おう」「どうやったらここから面白いものが出せるか」と少なからず考えておられるようで,Web 好きな研究者の人たちから見ても,ソーシャルブックマークに蓄積されたデータってのはとても魅力的に感じられる.今や,データベース連携する Web アプリなんてのは,スケーリングや運用の話をひとまず置いておけば個人レベルで週末に作れちゃうものになっていて,企業がサービスとして提供する上ではそれ以上のことが求められているのかもしれない.

WWW2008 の論文なんかをざっと見てみると,Google や Yahoo! からデータ提供を受けて新しい手法を試してみました,って話が非常に多い.そして上手いこと芽が出たものはパックンチョされちゃう.研究者もガンバって成果を出せばそういった魅力的なデータを抱える企業に入れちゃうから,当然モチベーションも上がるんだろうな.シリコンバレーやその周辺全体で上手い仕組みが出来上がっているのだとしたら,そりゃあ底力があるわけだ.

日本はこの辺り,どうだろう.「はてなブックマークのデータを使って○○○」って論文はけっこうあるけど,どうやってデータを集めているかっていうと,プログラムによるクローリングだ.集めるのが大変ってのもあるし,何よりサービスに負荷を掛けちゃっているし,なかなか悩ましいところ.上手く連携して何か面白いことができないだろうか.ボクが知らないだけですでにそういった事例もあるのかもしれない.知っていたら教えてほしい.コンペとかどうだろうね.データセットを公開して「これで面白い物を作ってみてください!」とか.

「私がチャレンジしたSBMデータマイニング」というタイトルで発表されていた @ryo_grid さんが,自分が行った解析を紹介しながら「なんでこんな簡単なことをはてなさんがやらないのか」と疑問を投げかけられていて,とても面白かった.そのあとで「きっと,かけるコストにリターンが見合わないからでしょう」と付け加えていた.ボクも1人のユーザとしては,新しい機能や新しい体験を求めたいところ.今はネガティブコメント対策とか,マイナスをゼロにするお仕事にリソースを割かれているように見えて悲しい.はてなさんはゼロからプラスを生み出すのが得意な会社だと思っていますので,そっちに期待しています!リソースが足りないなら面白そうな学生を連れてきてでも何とか!はてな大好き!はてなTシャツ欲しかった!

Web サービスだけじゃなくて,人々のスキルもマッシュアップできたらいいよね!得意な人が得意なことをやるのがいいよ!

データ等の連携については考えていることがあるので,エントリを改めて書く.ここでは一旦おしまい.

ソーシャルブックマークの母集団

社内ソーシャルブックマークの話がとても面白かった!ある組織への導入事例が紹介されていて,社内ソーシャルブックマークは概ね「有用」だそうな.実際の数値入りでアンケート結果を見せられると,気付くことがあるなぁ.

ここでひとつ「母集団」の話をしたい.

これらはすべて「母集団」というキーワードで語ることができる.とある企業や研究室に属する集団というのは,ランダムに選び出した人から成る集団よりも,興味が似ていると考えられる.なので,その集団に属するメンバーがブックマークするものは,他のメンバーにとっても有用である可能性が高い.逆に,母集団が膨らんで特定の共通する興味が薄まっていくと,そこに集まる情報も各個人にとっては薄く感じられるようになる.お気に入り機能は,まさに自分にとっての母集団を作り出す行為だ.

つまり,ソーシャルブックマークは,母集団をどのように設定するかによって,見え方が大きく変わってくるということ.ここに次の発展の可能性を感じる.最適な母集団発見のための何かがあればいい.それはアルゴリズムによって得られるのか,ユーザコミュニティによってもたらされるのかは分からないけれど,楽しいことが起こりそうな予感でワクワクします.

第2回も楽しみです!

懇親会では,早速,第2回開催のアナウンスがなされていました.素晴らしい盛り上がりですね!ソーシャルブックマークがちょうどいい時期にきているんだろうな.これが「ブログ研究会」だったら,それこそ母集団が大きすぎて,話が発散していたんじゃないかな.良くも悪くもソーシャルブックマークはまだまだ認知度が低くて,だからこそ濃い話ができるんだと思った.マイノリティ故の結束ってのは,この間参加した高専カンファレンスでもキーワードになっていたな.

今回,参加者の一部から,「研究寄りの話が多くて,ユーザサイドの話がなかったねー」との声が上がっていたので,次回は,セッション制にしてみたらどうでしょう.少なくとも「研究者から見たソーシャルブックマーク」と「ユーザから見たソーシャルブックマーク」では全然見え方が違いますよね.お互いがお互いの話を聞いて得られるものもあると思うので,なんとか,みんなが幸せになる形で開催できると継続できたら素晴らしいと思います!

第1回ソーシャルブックマーク研究会,とても楽しく参加させていただきました!発表者の皆さんお疲れさまでした!運営の皆さんありがとうございました!

大規模ネットワークのコミュニティ階層構造を高速に抽出する

論文を読んだので内容のメモ.訳すというよりはボクの解釈のメモです.先日のエントリ 気が向いたので研究について書く は前置きでした.

Fast unfolding of community hierarchies in large networks

アブストラクト

ソーシャル系のサービスは秩序と乱雑さを併せ持つ複雑ネットワークとして捉えられる.SNS や携帯電話のネットワーク,Web のように大規模なものにおいては,その全体構造を把握するための解析手法が求められている.

ネットワークを密に結合したノード集合であるコミュニティ(ここではクラスタと同意)に分解するアプローチは有効だ.SNS などからコミュニティを抽出することで,トピックについて知ることができる.さらに,得られたコミュニティをノードしてメタネットワークを生成すれば,ネットワークの構造を視覚的に把握できるよになるだろう.

この論文では,コミュニティの階層構造を明らかにするシンプルな手法を提案する.これは既存のどの手法よりも優れている.実際に,260万ユーザで構成されるベルギーの携帯電話ネットワークから言語のコミュニティを見つけ出し,コミュニティ間の関係を解析する.

手法の説明などはスッ飛ばす

既存の手法でコミュニティ分割して,得られたコミュニティをノードとしてネットワークを作り直して,またコミュニティ分割して… ってのを繰り返すのがこの論文で提案されている手法.

30CD30C330C830EF30FC30AF306830B330DF30E530CB30C630A3

コミュニティ分割結果の例.同じ色で塗られたノードは,最初のステップで同一コミュニティに属するノード,線で囲まれたノードが,次のステップでのコミュニティを意味する.

2つのステップを繰り返すことで,コミュニティの階層構造が浮かび上がる.

30B330DF30E530CB30C630A3306E968E5C6469CB9020

Google Maps のように,ズームレベルを変化させると見えるコミュニティも変わってくる.コミュニティの中にはさらに細かいサブコミュニティが存在する.

いきなり実験結果

提案手法を用いてベルギーの携帯電話ネットワーク(過去半年間の通話記録を用いてノード間のリンクを定義)を解析し,コミュニティを抽出した.

30D930EB30AE30FC306E643A5E2F96FB8A7130CD30C330C830EF30FC30AF

数十のコミュニティが存在し,それらは大きく2つに分かれている.ノードの大きさは,そのコミュニティに属するユーザの数による.赤はフランス語を話す人のコミュニティで,緑はオランダ語.

続いて,2つの言語コミュニティの間の橋になっている部位を拡大して見てみる.

30D930EB30AE30FC306E643A5E2F96FB8A7130CD30C330C830EF30FC30AFFF0C4E0090E862E15927

ここにはさらに,英語やドイツ語を話すユーザがいて,言語の壁をこえてコミュニケーションが行われている.

さて,先の赤と緑の図に戻ってもう1度よく見てみると,赤で表されるフランス語のコミュニティ間の方が,緑のオランダ語のコミュニティ間に比べて,リンクが密になっている様子が見て取れる.これは文化の違いに起因するものだろう.

以上,メモでした.最後に一言

複雑ネットワーク,コミュニティ分割,ネットワーク可視化,面白いなぁ.ソーシャル系のサービスに慣れている人なら,これがすぐに色んなサービスに適用できそうだってことに気が付きますよね.Twitter で「クラスタ」と呼ばれているものは,複雑ネットワーク的手法で可視化できる.