タグ

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

  • Google WSDM'09講演翻訳:大規模な情報検索システム構築における課題(1) - llameradaの日記

    GoogleのFellowであるJeffrey Dean氏のWSDM'09における講演"Challenges in Building Large-Scale Information Retrieval Systems"のスライドを翻訳してみました。Googleの検索システムの10年間の進化の軌跡が紹介されており、興味深い話が満載です。個人的にはディスクの外周部と内周部を使い分けている話がツボでした。なお、イタリック体で一部解説・感想をいれています。翻訳は素人なので詳しくは元の資料を参照してください。 スライドの入手元:Jeffrey Dean – Google AI 検索システムに取り組む理由 チャレンジングなサイエンスとエンジリアニングのブレンド 多くの魅力的な未解決な問題が存在する。 CS(コンピュータサイエンス)の多数の領域にまたがる。 アーキテクチャ、分散システム、アルゴリズム、圧

    Google WSDM'09講演翻訳:大規模な情報検索システム構築における課題(1) - llameradaの日記
  • TinySegmenterをRubyに移植 - llameradaの日記

    Javascriptだけで書かれたコンパクトな分かち書きソフトウェアであるTinySegmenterをRubyに移植しました。移植してから別実装があるのに気がつきましたが、気にせず公開することにします。 Codereposにアップしてありますので、下記のURLよりダウンロードできます。 http://svn.coderepos.org/share/lang/ruby/ruby_tiny_segmenter/ MeCabに対するTinySegmenterの利点は、Ruby だけで書かれているので、どんな環境でも簡単に動作する点です。インストールも簡単です。Windows環境でMeCabをRubyから扱うのは少し面倒ですが、TinySegmenterならば殆んど問題ありません。 実行例はこんな感じです。 require "tiny_segmenter" words = TinySegmente

    TinySegmenterをRubyに移植 - llameradaの日記
  • MySQLでの高速な重み付きランダム表示 - llameradaの日記

    東京都で賢い借金返済方法を教えます!では、MySQLに格納したWikipedia記事をランダムに表示している。速度を気にしないなら、 SELECT * FROM docs ORDER BY RAND() LIMIT 10; で良いのだけど、レコード数が多いと遅くて使いものにならない。そこで、記事IDを1から始まる連番になるようにDBに格納している。このようにすると、アプリケーション側でDBに格納されている文書IDが全て分かるので、ランダムに文書IDを10個選択して、その文書IDのレコードを表示することで、ランダム表示を実現している。 例えば、IDは10個選択するRubyコードは、 ids = Array.new(10){ rand(num_docs) + 1 } で、DBに発行するSQLはこんな感じになる。 SELECT * FROM docs where ID in (id1,id2,.

    MySQLでの高速な重み付きランダム表示 - llameradaの日記
  • TagGridのデータ配置アルゴリズムの簡単な解説 - llameradaの日記

    はじめに TagGridでは16000毎のFlickrの写真を、写真のタグにしたがって格子状に配置しています。この配置アルゴリズムについて簡単に説明したいと思います。 基的なアイデア まず、入力となるのはN個のタグ付きデータとします。また、K種類のタグがあるとします。 TagGridでは、このN個のデータとK種類のタグがそれぞれ平面上に配置されるとします。 データだけでなく、タグも2次元平面上に配置するのが大事な点です。 基的な考え方としては、あるデータのタグが例えばseaとsunの場合、このデータの位置がseaタグと sunタグの近くになるようにデータとタグを配置します。データは複数のタグを持つので、一番良い配置方法というのは簡単には決定できません。そこで、なるだけ良さそうな配置を求めてみます。 フォーマルな問題定義 基的なアイデアを、もう少しフォーマルに定義します。 n番目のデー

    TagGridのデータ配置アルゴリズムの簡単な解説 - llameradaの日記
  • HTML要素を抜き出す正規表現の自動生成プログラム - llameradaの日記

    HTML要素を抜き出す正規表現を自動生成するプログラム html2regexp を作ったので公開します。 札幌市で賢い借金返済方法を教えます! 使い方は簡単で、HTMLファイル中の抜き出したいHTML要素の先頭タグの末尾にh2rと書き加えるだけです。例えば次のように指定します。 <ul> <li><a href="hoge" class="h" h2r>hoge</a></li> <li><a href="huga" class="h" h2r>huga</a></li> </ul> <div> <a href="f">f</a> </div>すると、html2regexpは、2つのa要素を抜き出す次の正規表現を生成します。 (<(\w*?)\s*([^>]*?" class="h"[^>]*?)>(.*?)<\/\2>)HTMLを抜き出して利用したり、Webアプリケーションのテストなどの

    HTML要素を抜き出す正規表現の自動生成プログラム - llameradaの日記
  • 1