アーカイブ

‘スクレイピング’ カテゴリーのアーカイブ

スケジュール課題

2009 年 5 月 5 日 コメントはありません

あるお客さまから食事の招待にあずかりました。

私だけでなく家族まで。

ブログを読んでくださっているかどうかわかりませんが、ありがとうといわせていただきます。(もちろん、その場でありがとうを言わせていただきました)

妻、娘、息子にはほとんど初めて高級な食事をいただきました。

私はコンサルティング業などにいたときは、たまーにいい思いをさせていただきましたが、娘や息子には初めてでしょう。「君たちもがんばっていれば、おいしいものを食べるれるよ」と伝えました。

娘や息子は「無理だから…」と軽くいなされました。

でもおいしいものをいただくことで動機付けになっていただくといいなと思います。

今回、ご招待に預かったのは仕事の話からです。

スケジュール問題です。しかも積極的なスケジューリングです。

簡単にいえば、複数の条件から最適なスケジュールを導き出すというものです。この分野はルールエンジンなどを使った普通のアルゴリズムから導き出すと、すぐに極大値(locally supreme value?)に達しますが、全体の最大値から程遠いものになりそうです。

その場合は遺伝的アルゴリズムを使って、極大値を探すという手法をとります。

この場合困難なのは、

1. ものごとをモデル化(遺伝子データとその突然変異や交叉の手法)すること

2. 何世代目での評価かを見極めること

さらに実稼動するためには、使い勝手の部分や遺伝的アルゴリズムだけでなく何かエッセンスを加えないといけません。

昔からのカンですが、普通のアルゴリズムで終わってしまっては、実用に耐えないのではと思います。それはGoogleが検索エンジンを、単なる1CPUの今ぴゅたーからデータフロー型のコンピューターへしたように。

同じような変化をおこさないと、一つ上のステージには上がれないでしょう。

仕事というものは、一つ上に上がって上から見とおさないと、自分で作ったことになりません。

お客さまの内容なのであまり詳細に触れることができませんが、たぶん奥を突き詰めていけば、未踏に応募できるレベルだと思いますが、それだけにさきほど言ったような困難が付きまといます。

お客さまご自身が、すべての希望に沿うのは非常に難しいと認識しておられており、完璧なものはできません。それは数学的な挑戦を含み、とても大きなものになるからです。

昔から私自身がすぐに健忘症にかかったり、大切なお約束を忘れたり、しかも時間の組み立てができなかったり、なまぐさだったので、このスケジューリング問題は自分自身が20年以上考えてきたものです。

LifeHackの問題として、私だけでなくいろいろな人が取り組み方はちがっても挑戦していることでしょう。

それが、電子手帳、Palmなどの自分のスケジュール管理・同期からはじまって、Google Calendarなどのスケジュールをオンラインでやりとりできることになり、とうとう機は熟したのかなという感じを受けます。

当面の生活の糧を確保しながらもやっていかねばなりませんので「やらせてください」という即答はできませんが、これから自分なりの分析と設計をして前進していこうと思います。

一応、未踏出身だけれど

2009 年 4 月 23 日 コメントはありません

ある会社の社長のブログ。たしかiPhone発売のときに会社全員で並んでいたので驚いたけれど、ブログを読むと優秀な社長だなと思います。

http://d.hatena.ne.jp/shi3z/20090307/1236418320

僕のように大学を出ていなくても、未踏出身というだけで大起業がアドバイザーとしてコンサル契約ほ結んでくれる。この肩書きだけで僕は一生仕事にこまらないかもしれない。

ここ数ヶ月ほど仕事に困っていました。(^^;
でも、最近少しずつ出てくるようになりました。

原因は、未踏のプロジェクトは中途半端に終わってしまったので、その発表をするのに表に出て行くの控えているからでしょうか。未踏事務局からはIPAXなどで発表の機会を持つようにメールが来るけれど。

プログラム開発はまだ継続中。細ーく長ーくです。

でもプログラマーとしては私なんて全然ダメダメで1日に平均100行ぐらいしか書けない。がんばっても1日300行ぐらいか。デバッグしてリファクタリングしていたらそれぐらい。だからプロデューサー的な視点で広く見ているのが適任かなと思う。

http://d.hatena.ne.jp/shi3z/20090308/1236483705

つまりテーマだけは、自分で見つけ出さなくては成らない。

さらに言うと、未踏で研究したテーマは、一生付いて回るものだ。

その人の一生を決定してしまうと言っても過言ではない。

そのとおりですね。
それがライフワークになります。
これまで漠然とやりたいなと思っていたことがいくつかあって、そのうちの一つが結晶として具体化したのですから。

採択された当初は、「俺こそスーパークリエーター」だなんて鼻を高くして行きましたが、未開の分野に足を踏み入れていくのは思ったよりハードでした。バランスよく一つのものをつくっていくというのが成功の鍵を握っているかもしれません。

私の場合はプログラマーとしての才能が期待通りでなかったことと、精神的に行き詰まったのが敗因でした。才能を追い込むためにキチガイになろうとしていたのですが、家庭生活をしているせいか年を取っているせいか、なりきれず、結果として精神的に行き詰まったのかなと思います。

未踏IT人材発掘・育成事業
http://www.ipa.go.jp/jinzai/esp/

カテゴリー: スクレイピング, ビジネス, 未分類 タグ:

楽天日記→WordPress移行

2009 年 3 月 10 日 コメント 2 件

楽天日記のブログを、WordPressへ移行しました。

私が先月までブログを書いておりました楽天日記から、コンテンツをダウンロードして、そしてこのブログにアップロードしました。いっきに、コンテンツが1600も増えました
(^0^)

同じ内容の複製なので、、、あまり意味がないかもしれませんけれど。

楽天日記バックアップというソフトを使って、ダウンロードしました。
そして、アップロードは以下のプログラムを使って実行したんです。
WordPressの環境に依存する部分を残しているのでそのまま使えるわけではないのですが、少し修正すれば動くと思います。

画像を貼り付けたり、リンクを変えたりはできていません。
(楽天サイトから画像が消えたら、アウトです)
またコメントやトラックバックも追加していません。

まあとりあえず、スクレイピングを利用して移行したということで大きな目標がクリアできました。

下記のプログラムは、XML-RPCに対応しているブログならば実行できると思いますので、WordPress以外にMovableTypeやブログサイトへも移行可能だと思います。

require 'time'
require 'xmlrpc/client'
require 'kconv'

user = 'wordpressのユーザー名'
password = 'wordpressのパスワード'
publish = 1 # 下書きの場合は0

# WordPressのURLに依存します
server = XMLRPC::Client.new('blog.shockby.com', '/xmlrpc.php')

# カテゴリーを設定する場合、IDはWordPressの環境に依存します
# category = [{"categoryId"=>"25"}]

# 私の楽天ブログバックアップソフトの設定
filelist = Dir::glob("solis/*.txt")

filelist.each do |filename|
  open(filename) do |f|
    title = f.gets.sub(/TITLE: /, '').chomp.toutf8
    date =  Time.parse(f.gets.sub(/DATE: /, '').chomp)
    category2 =  f.gets.sub(/CATEGORY: /, '').chomp.toutf8
    description = f.read.toutf8
    f.close

    struct = {
      'title' => title,
      'description' => description,
      'dateCreated' => date
    }



      id = server.call("metaWeblog.newPost", 1, user, password, struct, publish)

      puts "Post ID: #{id}"

      # カテゴリーを設定する場合
      # res = server.call("mt.setPostCategories", id , user, password, category)
      # puts res

  end


end