タグ

ブックマーク / llamerada.hatenadiary.org (5)

  • Googleの分散データ処理言語Sawzallの統計ライブラリをC++, Ruby, Pythonから利用するライブラリSZaruを公開しました - llameradaの日記

    Googleで利用されている分散データ処理言語SawzallのOSS実装 szl が公開されました。 公開されたソースの中にはSawzallの実行環境の他に大規模データ向けの統計ライブラリが含まれています。この統計ライブラリには高度なアルゴリズムが実装されているので、これを他の言語からも利用できると便利だなと思い、C++, Ruby, Pythonから利用できるようにしました。 便利な統計アルゴリズムの1つに出現回数が上位のN件の要素の抽出(top-N)があります。 top-Nを求める具体例としては、自然言語処理でよく使う、出現回数上位の単語を求める処理があります。この処理の単純な実装では、まず全単語の出現回数を求めておき、次に各単語を出現回数の降順でソートして出現回数上位の単語を求めます。しかし、この実装ではユニークな単語数K(数十万から数百万)に比例したメモリと計算量が必要となります。

    Googleの分散データ処理言語Sawzallの統計ライブラリをC++, Ruby, Pythonから利用するライブラリSZaruを公開しました - llameradaの日記
    isdyy
    isdyy 2010/11/13
  • Google WSDM'09講演翻訳:大規模な情報検索システム構築における課題(2) - llameradaの日記

    GoogleのFellowであるJeffrey Dean氏のWSDM'09における講演"Challenges in Building Large-Scale Information Retrieval Systems"のスライドの翻訳の第2回です。Googleの検索システムの10年間の進化の軌跡が紹介されており、今回は2000年から2001年ぐらいまでの検索システムの一部の紹介となっています。個人的には転置インデックスの詳細な符号化方式が公開されているのが印象に残りました。Googleにとっては過去のインデックス構造でしょうが、商用の全文検索エンジンの詳細な仕様が公開されるのは珍しい気がします。なお、イタリック体で一部解説・感想をいれています。翻訳は素人なので詳しくは元の資料を参照してください。 第1回:Google WSDM'09講演翻訳:大規模な情報検索システム構築における課題(1)

    Google WSDM'09講演翻訳:大規模な情報検索システム構築における課題(2) - llameradaの日記
  • 「はてなダイアリー」は「はてな」の収益に貢献しているか? - llameradaの日記

    twitterでのid:fromdusktildawnとid:malaのやり取り*1をみて考えてみたが、「はてなダイアリー」は、「はてな」の収益に凄い貢献していると思う。多分、ブログサービスの中では例外的に儲かっている気がする。特に、無料ユーザをお金に結びつける点ではピカイチかも。 もちろん、「はてなダイアリー」では(他のブログサービスと違って)無料ユーザのダイアリーでも広告は表示されない。なので、一見、無料ユーザは収益に全然貢献しないように思える。 ヒントは有料オプションにある。有料ユーザはキーワード自動リンクをオフにすることができる。つまり、逆にいえば、無料ユーザにはダイアリー内のキーワードを「はてなキーワード」にリンクしてもらう必要があるのだ。 無料ユーザが記事をアップする毎に「はてなキーワード」へのリンクが増える。検索エンジン対策で最も有効なのは、優良な被リンクを増やすことである。

    「はてなダイアリー」は「はてな」の収益に貢献しているか? - llameradaの日記
    isdyy
    isdyy 2008/04/02
  • for 文を setTimeout に変換する(継続風) - llameradaの日記

    for 文を setTimeout に変換する - IT戦記が楽しそうだったので、久しぶりにJavaScriptを書いてみた。 継続風に書くと、通常のforループとsetTimeout付きforループが同じようになります。 JavaScriptも楽しいなぁ。また、書きたい。 // 通常版 forloop(0, 3, 1)(function(i, cont){ forloop(0, 7 ,1)(function(j, cont){ console.log('a' + i + "-" + j); cont(); }, cont); }, function(){}); // timeout版 to_forloop(0, 3, 1)(function(i, cont){ to_forloop(0, 7 ,1)(function(j, cont){ console.log('a' + i + "-"

    for 文を setTimeout に変換する(継続風) - llameradaの日記
    isdyy
    isdyy 2007/11/10
  • JavaScriptによる全文検索エンジン - llameradaの日記

    JavaScriptでインデックス型の全文検索エンジンを作ってみた。全文検索エンジンを作る際に問題となるのは、インデックスデータを部分的に読み込む方法である。通常はmmapやpreadなどを使ってファイルの一部を部分的に読み込むのだが、もちろん、ブラウザには使えない。ブラウザでファイルの一部分を読み込むには2通りの方法がある。1つは、ファイルを多数のファイルに分割する方法であり、もう1つはHTTPリクエストのRangeヘッダを利用して、ファイルの一部を取得する方法である。前者の利点は、ブラウザのキャッシュが効くことや、対応ブラウザが多いことである。後者の利点は、ファイル数が少なくなるので、インデックスの管理が容易になることである。今回はRangeヘッダの実用性にも興味があったので、後者の方法を用いた。 参考ページ:最速インターフェース研究会 :: Ajaxを使ったシンプルなチャット 転置イ

    JavaScriptによる全文検索エンジン - llameradaの日記
  • 1