タグ

2010年2月8日のブックマーク (15件)

  • rubygemsのtwitterを拡張 - 進・日進月歩

  • 2ind機能のおさらい - mir the developer

    とりあえずおさらいしておく。 2ind機能はMySQL+Sennaにおける、全文検索特有の性能問題を解消すべく実装された、Tritonnパッチの機能(Senna体じゃなくてパッチで実装している)です。 ここでいう全文検索特有の性能問題とは、以下の4つです。 limit指定で出力を制限しても応答が遅い問題 select columns from table where match(a) against(b) limit 1000, 10 count(*)等で件数を取得するだけでも応答が遅い問題 select count(*) from table where match(a) against(b); 全文検索以外の条件で絞り込む処理が遅い問題 select columns from table where match(a) against(b) and c like 'hoge%'; 全文

    2ind機能のおさらい - mir the developer
  • Tritonnの2ind patchでソートが遅い件の対処 - fireboat blog

    kamipo
    kamipo 2010/02/08
    Hit件数が多い場合はforce indexをつける / Hit件数が少ない場合はforce indexを外す
  • Re: Senna0.9.0 (Senna-dev 499) - senna - OSDN

    Tasuku SUENAGA a****@razil***** 2007年 3月 1日 (木) 17:23:00 JST 前の記事 [Senna-dev 498] Re: Senna0.9.0 次の記事 [Senna-dev 500] Re: Senna0.9.0 記事の並び順: [ 日付 ] [ スレッド ] [ 件名 ] [ 著者 ] うたださま、 末永です。 > Senna-1.0.1(Ngram)+2indパッチの環境で、ソート処理を含む > 一部の単語で応答が極端に遅くなってしまうのですが、(特に、結果がない場合) > 何か改善策はあるでしょうか? 検索結果が少なそうな場合には、 FORCE INDEXを外してあげれば高速になると考えます。 MySQLバインディングが、どのような処理をしているのかを説明します。 ●2indパッチを利用しなかった場合: 以下のような処理を行っており

    Re: Senna0.9.0 (Senna-dev 499) - senna - OSDN
    kamipo
    kamipo 2010/02/08
    検索件数が少なければ2ind無効 / 検索件数が多ければ2ind有効
  • 第25回 Module::Starter:モジュールを書くためのテンプレート | gihyo.jp

    モジュールを再利用可能にするためのツールたち Perl 4の時代まではいざ知らず、いまどきPerlのモジュールやアプリケーションを再配布しようと思ったら、CPANモジュールと同じ形式にしておくのがベタープラクティスです。たとえ一般には公開しない社外秘のモジュールであっても、Makefile.PLやBuild.PLを用意して、テストも書いて、できればREADMEやChangesなどの更新履歴もつけておけば、別のプロジェクトを立ち上げたときにコピー&ペーストする必要もなくなりますし、業務の引き継ぎなども簡単になります。 とはいえ、モジュールを書くたびにMakefile.PLなどを一から書きおこすのは面倒な話。メタ情報の部分はモジュールごとに異なるとはいえ、それ以外の部分は(特にひな形の時点では)大差ないのがふつうですから、できれば省力化したいところです。 今回はそんなときに使われるひな形作成ツ

    第25回 Module::Starter:モジュールを書くためのテンプレート | gihyo.jp
    kamipo
    kamipo 2010/02/08
  • Route 477 - Ruby Twitter Gem簡易リファレンス

    GitHubindexHello source: index.md View on github | Report issue Generated by middleman 3.1.6. Powered by Ruby 2.2.2.

  • memcachedのプロトコル変更の件 - blog.nomadscafe.jp

    memcachedに依存するシステムやコードを書く人は大嫌いな訳だけど、スケーラビリティを向上させてレスポンス時間の高速化には必須なmemcachedですが、最近のプロトコル変更には疑問を感じてしまう。 1.4.0では、こちらに書いた通り、いつの間にかdeleteのtimeoutがサポートされなくなった。なので、 delete key timeout noreply というコマンドが無効になって困ることになった。それでも delete key timeout というコマンドは、timeoutにどんなも文字列が入っていてもエラーになることはなかった。timeoutは効かないけど。 ここから1.4.4ではさらに悪化。timeoutが0でないとエラーになるようになった。つまり delete key 0 noreply delete key 0 は有効なんだけど、 delete key 10 がエ

  • tf-idf - Wikipedia

    情報検索の分野において、tf–idf (または、 TF*IDF、TFIDF、TF–IDF、Tf–idf)は、term frequency–inverse document frequencyの略であり、コーパスや収集された文書群において、ある単語がいかに重要なのかを反映させることを意図した統計量(数値)である[1]。また、tf-idfは情報検索や、テキストマイニング、ユーザーモデリング(英語版)における重み係数(英語版)にもよく用いられる。ある単語のtf-idfの値は文書内におけるその単語の出現回数に比例して増加し、また、その単語を含むコーパス内の文書数によってその増加が相殺される。この性質は、一般にいくつかの単語はより出現しやすいという事実をうまく調整することに役立っている。今日、tf-idfはもっとも有名な語の重みづけ(term-weighting)手法である。2015年に行われた研究

  • 形態素解析と検索APIとTF-IDFでキーワード抽出

    形態素解析と検索APIとTF-IDFでキーワード抽出 2005-10-12-1 [Programming][Algorithm] 形態素解析器と Yahoo! Web 検索 API と TF-IDF を使ってキーワード抽 出するという先日の検索会議でのデモ、KEYAPI[2005-09-30-3]。 教科書に載っているような基中の基ですが、あらためてエッセンスを 簡単な例で解説したいと思います。 目的:キーワード抽出対象テキストから、そのテキストを代表する キーワードを抽出します。TF-IDF という指標を用います。(この値が大 きいほどその単語が代表キーワードっぽいということでよろしく。) TF-IDF を計算するためには、 (1) キーワード抽出対象テキスト中の代表キーワード候補出現数 (TF)、 (2) 全てのドキュメント数 (N)、 (3) 代表キーワード候補が含まれるドキュメ

    形態素解析と検索APIとTF-IDFでキーワード抽出
  • tfidfについて - 元ダメ院生がギークになるまで続ける日記

    授業でtfidfを勉強してちょっと分かりづらかったのでまとめておく。 tfidfとは? 情報検索で使うアルゴリズムの一つ。 それぞれの単語に重みをつけて、クエリーから文書をベクトル空間で表し 文書とクエリーの類似度でランク付けを行う。 その値が高いほど重要。 tfidf = w = tf・idf w:重みということ。 tfとは? Term frequency(単語出現頻度) 同じ文書に何回も現れる単語ほど検索の有力な手がかり。 つまり一つの文書の中に多く書かれてる単語を探すってことか。 f =frequency of term in a document 単語が一つの文書で出現する頻度 つまりブラウザ上で Ctrl-Fとか使ってある単語を検索したときに、ヒットする数 tf = f/max(f) = 単語の頻度/文章で出現する単語の中で一番多い単語の数 修正(2009 1/6) tf = f

    tfidfについて - 元ダメ院生がギークになるまで続ける日記
  • 衝撃の事実。Tritonn(上のsenna) による検索はスコア値(重み付け順)でソートされない - 暴想

    結論としては、↓のブログ様でかかれていることの通り。ここで4時間消費した。というか、↓のブログを発見するのに4時間費やしたということか。 Tritonn による検索はスコア値でソートされない - Ceekz Logs (吉田光男@筑波の日記) senna 重み付けの方法 - Google 検索とかで検索すると、 Sennaのマルチセクション機能に対応 - mir the developer のページがヒットする。 おお、マルチセクション機能を使えばカラム単位で重み付けができるのかと思って早速試してみるものの、結果に変化がない。まるでない。 これをやっているうちに、そもそもtritonn(っていうか、senna)の検索結果ってorder句を指定しなかったら何順なの?とかという素朴な疑問がわいてきた。 検索結果を見ると、なんだか普通のlike検索と同じだ。 んでも、LuceneとSennaの比

    衝撃の事実。Tritonn(上のsenna) による検索はスコア値(重み付け順)でソートされない - 暴想
  • Tritonn による検索はスコア値でソートされない - Ceekz Logs (Move to y.ceek.jp)

    最近は、徹夜しながら MySQL + Senna の Tritonn を試している。先日まで、Tritonn を利用した全文検索では、取り出した結果がスコア値でソート(適合度順)されるものだと思っていた。 すなわち、 SELECT * FROM table WHERE MATCH(col) AGAINST('*D+ 検索' IN BOOLEAN MODE); というクエリを発行した場合、結果は TF-IDF に基づく順序だと思っていた。 これは、単なる思い込みで、正しくない。 SELECT *, MATCH(col) AGAINST('*D+ 検索' IN BOOLEAN MODE) FROM table WHERE MATCH(col) AGAINST('*D+ 検索' IN BOOLEAN MODE); こうすればスコア値を表示できるので、スコア順でソートされていないことを確認できた。

  • LuceneとSennaの比較:スコア計算 | 関口宏司のLuceneブログ

    一定期間更新がないため広告を表示しています

  • Javaバイトコードの読み方 - プログラマーの脳みそ

    Javaのデバッグをしていて、ステップ実行中にステップインを繰り返したらソースコードのないところに行き当たったことがあるだろう。あるいはEclipseでF3キーでクラスやメソッド・フィールドの宣言元を辿っていってソースコードのないところに行き当たったことがあるだろう。 Eclipseの場合、"Class File Editor"というものが開く。そこにはJavaのバイトコードのニーモニックがズラズラと並んでいて、「これは読めないや、ワケが分からない」と投げ出してしまったりしていないだろうか。 怖がることはない。ちょっとコツを掴めばすぐに読めるようになる。 Class File Editorの開き方 自前のJavaクラスの場合、ビルドして出来上がったclassファイルを開く必要がある。"Package Explorer"だとclassファイルは隠されていて見えないのでWindow -> Sh

    Javaバイトコードの読み方 - プログラマーの脳みそ
  • vimrc基礎文法最速マスター - 永遠に未完成

    調子に乗って vimrc を書くのに特化した内容のものを書いてみる。取り上げた内容は完全に独断と偏見です。 関連記事: Vimスクリプト基礎文法最速マスター - 永遠に未完成 この記事では vimrc を書くにあたって知っておくべき概念や機能を解説します。Vim 自体の操作方法に関しては触れません。 基礎 バッファ バッファは、ファイルを編集するための論理的な領域です。Vim で新しくファイルを開くと、新しいバッファが作成されてそこにファイルの内容が読み込まれます。 ウィンドウ ウィンドウはバッファを画面に表示するための物理的な領域です。分割することができ、1つの画面に複数のウィンドウを表示できます。 タブページ タブページを使うことでウィンドウの配置を保持したまま複数の画面を切り替えることができます。 タブ文字と区別するためか、タブページと呼ばれています。 モード Vim の中でも知って

    vimrc基礎文法最速マスター - 永遠に未完成
    kamipo
    kamipo 2010/02/08