タグ

ブックマーク / naoya-2.hatenadiary.org (10)

  • Latent Semantic Indexing - naoyaのはてなダイアリー

    情報検索におけるベクトル空間モデルでは、文書をベクトルとみなして線形空間でそれを扱います。この文書ベクトルは、文書に含まれる単語の出現頻度などを成分に取ります。結果、以下のような単語文書行列 (term document matrix) が得られます。 d1 d2 d3 d4 Apple 3 0 0 0 Linux 0 1 0 1 MacOSX 2 0 0 0 Perl 0 1 0 0 Ruby 0 1 0 3 この単語文書行列に対して内積による類似度などの計算を行って、情報要求に適合する文書を探すのがベクトル空間モデルによる検索モデルです。 見ての通り、単語文書行列の次元数は索引語の総数です。文書が増えれば増えるほど次元は増加する傾向にあります。例えば索引語が100万語あって検索対象の文書が 1,000万件あると、100万次元 * 1,000万という大きさの行列を扱うことになりますが、単

    Latent Semantic Indexing - naoyaのはてなダイアリー
    k-s1r
    k-s1r 2009/02/13
    ベクトルで検索
  • naoyaのはてなダイアリー - 負荷とは何か

    調べごとをしたので blog に書いて理解を深めようのコーナーです。長文です。 Linux でシステム負荷を見る場合にお世話になるのが top や sar (sysstat パッケージに同梱されてるコマンド) などのツールです。 top ではシステム統計のスナップショットを見ることができます。今システムがどういう状態かなーというときは top が便利。 top - 08:16:54 up 3 days, 14:43, 6 users, load average: 0.18, 0.07, 0.03 Tasks: 43 total, 2 running, 41 sleeping, 0 stopped, 0 zombie Cpu(s): 18.2% us, 0.0% sy, 0.0% ni, 81.8% id, 0.0% wa, 0.0% hi, 0.0% si一方の sar では10分ごとのシ

    naoyaのはてなダイアリー - 負荷とは何か
    k-s1r
    k-s1r 2007/02/22
  • naoyaのはてなダイアリー - Perl の話をまとめた

    use strict がどうのこうのという話があって、そういえば昔自分もそんなこと書いたなあと思っていろいろ自分の書いた Perl の話を見返してて、せっかくだから拙作のまとめでも作っておくかと思いました。とりあえず文章量がそれなりにあって、まとまりのあるものだけを見繕ってみます。 今見ると、当時の理解が不十分で微妙なところもあったりしますが、そのあたりはご愛嬌。 いま読んでもまだ陳腐化はしてなさそうな話 お薦めの Perl をいくつか紹介 : NDO::Weblog Perlおすすめの書籍や情報。今ならここにPerl救命病棟とWEB+DB PRESS総集編を入れるかな。 Perlプログラマのレベル10 - Perlプログラミング救命病棟より - naoyaのはてなダイアリー Perlプログラマのレベル10。なんか他言語にも飛び火した。 Perl の変数に関するちょっとした誤解と、動的な

    naoyaのはてなダイアリー - Perl の話をまとめた
    k-s1r
    k-s1r 2007/02/12
  • Flickr の認証API - naoyaのはてなダイアリー

    認証API をどうするか、ということで数名のスタッフであれこれ話ながらやってます。 まず、はてなの認証APIを使って何ができるといいのかというところですが、はてなラボをオープンしたときにいただいた意見などを見ると、「はてなAPIで認証付きのをセキュアに利用するための API」というより「サードパーティのアプリケーションではてなIDでユーザーを識別できるためのAPI」の方が求められているという風に思いました。 具体的には、新規にユーザーを識別する必要のあるアプリケーション、例えば掲示板などを作るとして、その掲示板のユーザーを一意に識別する方法としてはてなIDを使いたい、そのIDが当にその人のものであるかどうかをはてなが保証する、その保証を問い合わせるための API ですね。その掲示板でログインして何かを書き込むと id:naoya、と表示されると。 この手の認証APIを提供しているサービ

    Flickr の認証API - naoyaのはてなダイアリー
    k-s1r
    k-s1r 2006/02/26
  • CGI.pm と CGI::Util::utf8_chr - naoyaのはてなダイアリー

    15. CGI::Util::utf8_chr now correctly sets the UTF8 flag on 5.006 or higher perls (fix courtesy Slaven Rezic). CGI.pm の最近のバージョンから、CGI::Util::utf8_chr という関数により、一部の入力パラメータに UTF-8 フラグが立つようになったみたいです。ざっくり見てみたところ、CGI::Util::unescape を通るときにフラグが立つらしい。 最も正しい UTF-8 の扱い方は、入力で ON、出力で binmode するなり encoding 指定するなり (参照)、ということみたいで、そういう方針でこの変更が入ったのだと思います。 でも、気付かないよなあ、これw かなり深追いして変数一個一個 Devel::Peek で Dump して、CGI->p

    CGI.pm と CGI::Util::utf8_chr - naoyaのはてなダイアリー
    k-s1r
    k-s1r 2006/02/02
  • naoyaのはてなダイアリー - 自分を見直すメモ

    日々のスケジュール管理には Yahoo! カレンダーを使っていて、毎日リマインダを送ってくれるので便利です。このリマインダのメールにはリマインダ以外に「今日の作業」という項目があるのですが、その日のTODOは特にリストアップとかはしてません。せっかく空いたこの欄には、以前に読んだ書籍から学んだ、自分を見直すためのメモを入れてあります。 毎日来るのでスルーしがちになるのですが、今日たまたま目がいって、はっとしました。すぐ忘れがちになる色んなことが書いてありました。 自分を正当化するための相手の弱点を必要としていないか? 働きかけることのできる唯一のものは「自分自身」である 無理に自分を優秀だと見せ付ける癖は何も生み出さない 物事を成し遂げた結果どういうプラスがあるか、常にイメージする 反応は自分で選択する 「できない」は「できるかわからない..."まだ今のところは"」ではないのか? 「言い訳

    naoyaのはてなダイアリー - 自分を見直すメモ
    k-s1r
    k-s1r 2005/08/18
  • naoyaのはてなダイアリー - Perlプログラマのレベル10 - Perlプログラミング救命病棟より

    プログラマ、と一言で言っても、if文の意味をようやく理解したばかりの駆け出しのプログラマもいれば、汎用的で優れたライブラリを量産できるような凄腕のハッカーもいる、つまりはピンきりです。 Perlプログラマに関してはどうでしょう。一流のPerlプログラマになるためには、見えない階段があるようです。use strict を使い始めたらその階段を一歩上ったと言えるでしょうし、正規表現を理解したときも一段あがることになると思います。リファレンス、クロージャ、オブジェクト指向、CPANモジュール、mod_perl、MVCフレームワーク。それらも階段を構成する材料の数々と言えるでしょう。 さて、Perlプログラミング救命病棟という書籍から、ちょっと長いですがそんなPerlプログラマのレベル10のリストを引用してみます。 レベル1: Perl 関係の書籍や資料を何も読んでいない。Perl がプログラミン

    k-s1r
    k-s1r 2005/08/09
    use warnings?知らんなぁ
  • naoyaのはてなダイアリー - onsubmit で submit ボタンを disable にしてユーザビリティを良くする

    先の Yahoo! Shopping のアプリケーションで、今度ちょっとやってみようと思ってたことを実装してみた。 http://bloghackers.net/~naoya/ys/app.cgi ボタンを押したときに、そのボタンが disable になります。この方法を使うとボタンが押されて次の処理に入ろうとしているというのが直感的に分かるのと、二重送信防止にもなるということでユーザビリティが改善できます。 仕掛けはすごく簡単で、form の onsubmit ハンドラに、その form に紐づく submit ボタンを disable になるような JavaScript を登録しておくだけ。 function disableSubmit(form) { var elements = form.elements; for (var i = 0; i < elements.length;

    naoyaのはてなダイアリー - onsubmit で submit ボタンを disable にしてユーザビリティを良くする
    k-s1r
    k-s1r 2005/08/03
  • はてなブックマークで検索フォームを右上に持ってくる

    昨日よりはてなブックマークのデザインを変更できるようになりました。それで、b:id:finalvent を見ていて、おっと思ったので僕もフォームを右上に出るようにしてみました。(b:id:naoya) やり方は結構簡単です。 div.body { position: relative; width: auto; _width: 100%; top: 0; left: 0; } form.hatena-usersearch{ position: absolute; top: 0; right: 0; }といった具合。div.body を relative 指定で基準に沿えて、検索フォームを absolute で位置指定します。はてなダイアリーの hatena.css にあるように、div.body には width をつけてやらないとちょっとずれてしまうみたいなので、それも付け足しておきまし

    はてなブックマークで検索フォームを右上に持ってくる
  • 物を選んでから何かをさせる - オブジェクト指向のお話 - naoyaのはてなダイアリー

    ときどき「オブジェクト指向でプログラミングをするというのはどういうことなの?」と聞かれるときがあります。そんなときにうーん、オブジェクト指向ってどう説明したらいいものか...犬がワンって吼えるでしょ...ああ、これじゃわからん、などと頭を悩ませるのですが、ふと 憂なプログラマのためのオブジェクト指向開発講座 (DDJ Selection) から学んだ、WindowsUI の話が分かりやすいと思いました。 Macintosh や WindowsGUI はオブジェクト指向だ、というのが書籍の中にある説明です。(P.300 ぐらいから解説されています。) ファイルの削除、という動作を思い浮かべてみましょう。このとき行う操作は、 まずファイルをマウスで選択する 右クリックして操作一覧を出す 削除する という動作になります。(ドラッグ&ドロップでごみ箱に入れる、というのもありますね。)

    物を選んでから何かをさせる - オブジェクト指向のお話 - naoyaのはてなダイアリー
    k-s1r
    k-s1r 2005/05/30
  • 1