自分の仕事の生産性を上げるために集合知プログラミングにチャレンジした
2009.04.05
しばらくブログを全く書いていませんでしたが、実はここ1ヶ月ほど、平日の朝と週末を利用してずっと集合知プログラミングとPrototype & script.aculo.us JavaScriptライブラリによるAjaxアプリケーション開発の本を読んで勉強してました。
ちょっと長くなりますが、勉強しはじめた経緯についてちょっと触れると自分の仕事の進め方として、今までのやり方ではちょっと限界があって、一段上のレベルのやり方をするにはどうしても日頃の事務的な処理を見直さないとなぁーと常々考えていました。
見直すべき領域っていうのは、前からずっと手をつけたかった求人情報と求職者とのマッチングの部分。
「マッチングって、求職者の希望聞いて、それに見合う条件検索とかすれば簡単に出来るんじゃないの?」
と良く言われる事があるけど、実際は数が増えれば増えるほど倍々ゲームのような状況になって実はものすごく大変なんです。。。。
仮に自分が集団お見合いの主催者だったとして、参加者が100対100の状況で効果的にマッチングをというのを考えてもらうと、わかりやすいかなぁと思うので、ちょっとそれを例に説明します。
男性のAさんという人に合いそうな人に対して、女性100人の中から、Aさんの条件を確認してフィルタをかけて、仮に10名が抽出されたとしたら、それを順番にセッティングしていくというのが、一番オーソドックスなマッチング。
もちろん、これでも良いけれど、残りの男性Bさん、Cさん....と合計100名に対して作業してくと、1000件±500件セッティングをすることになり、ものすごく非効率。
しかも、仮にBさんとhさんが実は似たような好みだったとしても1人づつ作業しているので、それが作業し終わった後に気付くということもあったりするので、そんな状況をどうにか解決出来ればなぁと考えていました。
その1つの解決策として、以前買ってから積読状態だった集合知プログラミングで、P.15の似ている人を算出するという考えは、自分の業務に応用出来るので、これ勉強すれば良いんだと思ってひたすら勉強していました。
本に記載されているサンプルのソースコードはPythonで書かれており会社の環境ではPython使えないから、本の内容を読み解いて、違った言語で実装しなおすという大きなカベが立ちはだかりました。
少し前からJavaScriptのライブラリであるPrototype.jsを(ブラウザ上ではなく)WindowsのWSH上で活用していて、Prototype.jsを使うと、配列の扱いでRubyっぽいメソッドがいくつかあったのと、集合知プログラミングのサンプルをRubyで試している人が何人かいたので、WSH上でPrototype.jsのライブラリの機能を活用して集合知プログラミングに出ていた内容を実装するということに決めました。
ただ実装しはじめていくつかの困難に出逢うのですがそれはまた今度
投稿者 : 小山田 浩 | 投稿日時 : 2009.04.05 06:45
あすなろBLOGのトラックバック・コメントは承認制になっています。
すぐにブログに反映されませんので、ご了承ください。




