Web上のデータの信頼性

NLP(自然言語処理)とWebマイニングの間のようなことを研究テーマにしているので、Web上のデータをとってきて処理することは多い。 ブログのデータを集めてきて単語の出現頻度などの統計をとっているが、これらのデータはノイズが混じっていることを前提に処理している。 一方、データを処理するためのツールやライブラリ、一部のデータもWebからとってきたものを利用している。 しかし、通常これらのものにはノイズが混じっていないことを前提にして研究をしてしまう。 今回、実験の結果得られた統計値に妙なバイアスがかかっていることを発見した。デバッグに丸1日程度かかってしまった。 調べて分かった原因は、オンラインで公開されているデータの一部が欠損していたことだった。 Webから取ってきたデータを「信頼できるデータ」と「信頼できないデータ」の2種類に分けて、信頼できないデータばかり疑っている自分に驚いた。

若者はなぜ3年でやめるのか

「若者はなぜ3年でやめるのか」という流行の(?)本を読んでみた。 基本的には ・年功序列の前提が崩壊しつつある ・年寄りの給料は若者が払う ・若者は将来もらえないかも ・だったら離脱するの当たり前じゃん という年金未払いと似た構図が会社でも起きているよという話。 (何でたったこれだけのことを書くのにあんなにページが必要なんだ?というのはおいといて。) 3年でやめる。むしろ、年功序列の組織には入らない。という話はいい。 でも、この本で語られているのは主に今若者が、今の生活のためにどうするのがベストかだ。 自分が40歳になったとき、成果主義+年老いた人は首切りというのが広まっているとして、そのときどうしたらいいのだろう? そのときに向けてどういう進路をとるのが正しいのだろう? この本には、この部分のヒントが全くといっていいほどなかった気がする。 でも現状を理解するにはいい本だと思うので、読んでいない人は読んでみてもいいと思う。

国内の検索エンジンは違法!?

数日前の毎日新聞の記事に衝撃的な話が載っていた ヤフーやグーグルなど米国の大手検索事業者の多くは、瞬時に検索結果を提供するため、保有する大量のサーバーに世界中のホームページの内容などを蓄積し、キーワードや内容などの索引(インデックス)を付けている。日本の著作権法では、著作権のある情報を蓄積することは「複製」、索引を付けることは「編集」と解釈され、ビジネスに利用することは違法だ。事業者はサーバーを日本に置くことができず、適法としている米国などの海外に設置している。 検索サーバー:国内に設置 実現へ著作権法改正方針 まずこの報道をまとめてみると、 ホームページのデータを蓄積することは「複製」と解釈できる インデクシングは「編集」と解釈できる ビジネスへの利用が違法 国内の事業者もサーバーは海外に置いている 国内設置が認められないという認識を既に政府が持っている となる。 1,2については法律は専門外の自分にはよくわからない。「ナガブロ:著作権法的には海外の検索サーバーもマズいと思うんですが。。」によればこの認識は正しいらしい。そして、同サイトによれば4のようにサーバーを海外に配置するだけでは問題は解決しないとか。 さて、ここではそもそも4番のようなことが実際に行われているのかという点について検証してみる。 検索エンジンの裏側でデータがどう保管されているのかということについてはちょっと分からない。しかし少なくとも検索エンジンのフロントエンドがどこにあるかはPingの時間を比べればだいたい予想がつくはずだ。 いくつかの検索エンジンサイトに、日本にあるサーバーとUSにあるサーバーからPingを打ってみた。 <td> IP </td> <td> Server@US </td> <td> Server@Japan </td> <td> 124.83.135.243 </td> <td> 123ms </td> <td> 20.36ms </td> <td> 72.30.186.52 </td> <td> 64.2ms </td> <td> 198.205ms </td> <td> 66.249.89.99 </td> <td> 117ms </td> <td> 9.032ms </td> <td> 210.150.25.240 </td> <td> 117ms </td> <td> 9.902ms </td> <td> 60.254.185.11 </td> <td> 118ms </td> <td> 8.178ms </td> <td> 203.

コードページとかUnicodeとUTF-8の違いとか

日本語をうまく扱えないプログラムは多い。海外製のソフトで日本語をうまく扱えるものは決して多くない。これは主に彼らのinternationalization(i18n)に関する知識が少ないため・・・という話はよくある。ところが、日本人でもプログラムのi18nについて知っている人は少ないような気がする。恥ずかしながら自分もほとんど知らなかった(研究で日本語データを扱っているのに!)。 最近Joel on Software(もちろん日本語版;)を読んでいて、「すべてのソフトウェア開発者が絶対確実に知っていなければならないUnicodeとキャラクタセットに関する最低限のこと(言い訳なし!)」の章を読んだ。たった数ページだけど、コードページとかUnicodeとUTF-8の違いがなんとなく分かってしまった。WindowsでUnicodeを扱うときなぜ”WideChar”という名前のものを使わないといけないのかとか、UTF-8はUnicodeなはずなのにどうしてwcharで読み込んでも正しく扱えないのか、UTF-8はUnicodeなのになぜUTF-8でエンコードされた英文は普通に読めるのか・・・。個人的に引っかかっていた部分が全て氷解した。 この本は会社でプログラム開発を担当している管理職を対象としている本で、自分には関係ない話も少なくはない。でも、知っておいて損になることはないし、むしろ知ってよかったことは多い。マネジメントの話は自分と直接関係ないようで、人間誰もが自分自身のマネジメントはしないといけないわけで、その観点からするとマネジメントの本だからといってスルーするのはまずいような気がする。(とかいいつつ、いい本だって友達に聞かなかったら自分も読んでなかったと思うけど。) ちなみにこの記事はオンラインでも読むことができる。 The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

Weka: Data Mining Software in Java

Wekaというものを使ってみた。存在は1年以上前から知っていたが、機械学習アルゴリズムのJavaによる「ライブラリ」だと思っていた。しばらくの間研究に必要なプログラムをC++またはRubyで書いていたので、Wekaに目を向けることはなかった。 いまBlog関連でやっている研究で、ある問題に文書分類アルゴリズムを使ってみようと思った。今回のテーマでは研究用プログラムをJavaで書いてみていて(書くの楽ちんだしね!)、C++のときに使っていたTinySVMや自作のNaiveBayes, AdaBoostライブラリの代わりになるものとして自然とWekaに目がいった。 Wekaをダウンロードして、ホームページに目を通すと、単なるライブラリではないことが分かる。たくさんの機械学習アルゴリズムが実装されており、それぞれのアルゴリズムは必要なパラメータを設定できるようになっている。さらに、たとえばスペース区切りの単語をfeature vectorとして扱うためのフィルタのように、一般的に学習アルゴリズムを使う際に必要な処理がプラグインのような形で用意されている。そして、これに何よりも驚いたが、これらのことが全てGUIからできるようになっている。 GUIの使い方が分かってから、目的のデータの分類精度をNaiveBayes, SVMそれぞれで10通りのデータサイズで精度と速度を見るのに1時間かからなかった。今まで使ってこなかったことが残念だ。研究用に使えるツールにはGUIがないものが多い。GUIがないというのはCUIがないよりはずっとマシだが(CUIがなければスクリプトで制御できないから)、manページで調べなくても何ができるのがぱっと見で分かるのはとてもありがたい。

「情報系なら就職先に困らない」のは本当か

大学の情報系の学科を出れば就職先には困らないという話はよく聞く。もちろん、誰もが望んだところに行けるわけではないが、全く就職できないということは確かに少ないと思う。そういった意味で、生物系や化学系といった他の学科と比べたら就職に有利なのかもしれない。 世の中の職種には、2種類ある。切り売りで生き延びられる職種と、そうでない職種。切り売りできるというのは、大学で学んだこと(+各企業特有の詳細)で仕事ができるということ。大学までで学び、その後は学んできたことを生かして社会に貢献していく。一方切り売りできない職種とは、大学を出たとしても常に学び続けていないと役立たずとなってしまうような職種。 さて、情報系は明らかに「切り売りできない」職種だ。大学で学んできたことを知っているだけで5年もたてば完全に役立たずになるだろう。なりふり構わず、自分の持っている知識を活用して働いていて、ふと気づくと自分の能力の範囲内の仕事はなくなっている・・・ということが十分にあり得る。 こういった意味で、情報系は大学卒業直後の就職には困らないけれど、その後は働き続けるためにかなりの努力を強いられるといえるだろう。

宣伝のためのブログ記事はスパムメールと変わらない

Blogなどのパーソナルメディアが普及してきたことに伴って、「口コミ」の力が大きくなってきた。個人的にはパーソナルメディアの力が大きくなること自体は問題ないと思う。 しかし衆偶政治とはよくいったもので(政治じゃないけど)、パーソナルメディアの担い手たちはメディアであることの認識が薄い。ブログサイトランキングや統計サイトが登場する理由もこのあたりにあると思うけれど、とりあえずそれは置いておく。 ここで議論したいのは、このパーソナルメディアを広告媒体として利用する話。ここ数年、口コミマーケティングと称するマーケティング手法が広まっている。自分は専門家ではないので何を口コミマーケティングと呼んでいるのか、また具体的にどういう形なのかはあまり知らない。ただ、ブログの書き手が記事を投稿し、それが閲覧される(または何かがクリックされる)とお金がもらえるという形が一般的だとおもう。 口コミマーケティングが有望な新マーケティング方法として売り出され、またアフィリエイトを目的としたブログの作り方が本になって紹介されているのは異様だ。これらは本質的にはスパムメールと何ら変わらない。 メールは個々人宛てに届くが、ブログは個々人宛てに届くものじゃないから違うという意見もあるかもしれない。でも、たとえばキーワードによるアラートサービスを利用している人からみれば、スパムメールと同等だ。また自分の日記に広告の記事を投稿するのは、スパム業者に友人のメールアドレスを売り渡しているに等しい。届け先がメーラーからRSSリーダーに変わっただけだ。 スパムメールのようなみんなから忌み嫌われているという認識が広まっていないのが問題なのかもしれない。すでにWeb系の学会ではスパムメール・検索エンジンスパムと並んで、スパムブログの除去方法に関する研究が盛んだ。ブログに広告のための記事を載せる行為も徐々に、迷惑行為だという認識が広まっていくのだろう。

宅配DVD

映画とかを見るために、DVDを時たま借りるけど、とにかく返すのがめんどくさい。借りる時は楽しいし、好きなタイミングで店舗に行ける。でも返すときは期限がある。 返す手間を省ける宅配DVDというのがあるのは知っていたけど、「どうせ映画マニアの人たちのためのものだろう。そんなに頻繁には見ないし。」と思いこんでいて、ろくに調べもしていなかった。ところがちょっと前に、ふつうに便利だという話を聞いた。 週末にTwenty Fourを見たいと思って、それを借りるためにTsutaya Discasを申し込んでみた。昨日無事に第1話と第2話が届いて、無事に見ることができた。他のサービスもたぶん似たようなものだろうが、ネットで注文すると数日でDVDが送られてくる。そして好きなときに準備されている返信用封筒に入れてポストに放り込む。 個人的に宅配DVDのいいところだと思うのは ・タイトルをキーワード検索できる。店頭でもできるけど、気軽さが違う。 ・借りる際の時間/場所の制約がない。 ・返せる場所が多い。レンタルショップのポストではなく、全国の郵便ポスト。 ・借りる期限がない。 よくないところだと思うのは ・すぐには借りられない。思い立って借りてすぐ見ることはできない。 ・見るDVDが少ない月でもお金を取られる。 自分の場合、場所/時間の制約がないことはとてもありがたい。また、期限がないというのも「見ようと思っていた時間に別の予定が入ってしまった・・・」というありがちな状況ではとてもうれしい。同じような状況の人は全国にたくさんいるだろうから、きっと宅配DVDは普及していくだろう。 便利だといったあとではナンだが、正直なところ、DVDやCDの宅配というのは異様に思えて仕方がない。映画や音楽なんてものは媒体ではなくデータであって、通信回線ではなくトラックで送るというのは異様だ。しかも注文はインターネットでしているのに。 インターネットが商用で使われ始めた当初から映画の配信という話はあるのに、まだ実用的といえるようなサービスはない。インターネットの適切な使い方ができるまでにはまだ時間を要するようだ。