teacup. byGMO サービス終了のお知らせ teacup. byGMOは、2022年8月1日をもちまして、サービスを終了いたしました。 これまでteacup. byGMOをご愛顧いただき、誠にありがとうございました。心より感謝申し上げます。 今後とも、GMOメディア株式会社のサービスをよろしくお願いいたします。 2022年8月1日
先日言及した Burrows Wheeler Transform (id:naoya:20081016:1224173077) による変換後のテキストは圧縮に使えたり、全文索引に利用できたりと応用範囲は広いです。 BWT により変換したテキストを圧縮するには、そのまま圧縮するのではなく先頭移動法 (Move-To-Front http://ja.wikipedia.org/wiki/Move_To_Front) を適用することでより情報に偏りを持たせてから圧縮するのがセオリーです。 今日は先頭移動法の Perl 実装を作ってみました。Algoritm::MTF です。 http://github.com/naoya/perl-algorithm-mtf/tree/master に置いています。 use Algorithm::MTF; my $encoder = Algorithm::MTF
単語の重み付けの古典的な方法に tf-idf があります。文書中の各単語の tf-idf 値計算し、値でソートすると、その文書に特徴的な単語リストを得ることができます。 http://nais.to/~yto/clog/2005-10-12-1.html tf-idf は、単なるヒューリスティックスだと考えられていましたが、最近言語モデルに基づく情報検索手法がさかんに研究されるようになり、tf*idf の解釈が明らかになってきました。言語モデルに基づく手法は、ヒューリスティックスばりばりの手法と同性能にもかかわらず、文書のランキングに理論的で合理的な説明を与えることができます。 情報検索は、クエリ q に対し、もっとも適合する文書 d_opt を求めるタスクです。つまり、q が与えられたとき、文書 d が出現する確率 p(d|q) の最大化問題と解釈できます。 d_opt = argmax
17:29 08/09/30 クロスワード 暇つぶしに "Clueless Crossword" という冊子を買ってみて意外とハマっています。 クロスワードパズルなんだけど、単語のヒントの代わりに、 各マスに1~26の数字が振ってあって同じ数字のマスには同じA~Zが入るように埋めるというもの。 「母音っぽくて二連続して語尾にも出てくるのは多分 E だろう、もしかしたら O の可能性はなくもないけど」 みたいに埋めていく。 ちょっと違うけど フラッシュであった。 20:15 08/09/28 だいちのよろい そろそろ日本に戻る前に観光するぞ月間、ということにして、ウルル(エアーズロック)に行ってきました。 もっとワイルドな感じかと思ったら、完全にリゾートのリゾートによるリゾートのための地帯になってました。 まあそんなもんか。 本日は強風のため登るの禁止とのことだったので、周りから見るだけ。
WWW 2008(http://www2008.org/)で発表された論文である,"Trust-Based Recommendation Systems: an Axiomatic Approach"を読んだメモです.この論文は公理に基づいて,Recommendationシステムの解析をしようというモノですが,いまいち分からなかったので,詳細は省きます^^; ですが,この論文中で紹介されていた,Personalizing PageRankが面白かったので,メモっておきます. 普通のPageRankでは,ネットワーク(有向グラフ)の繋がり全てを再帰的に走査し,どのノードが重要かをランクづけます.しかしながら,Personalizing PageRankでは,あるノードにとって,他のノードはどれぐらい重要かと言うことを,ランダムウォークを用いて求めます. ランダムウォークのアルゴリズムは以下の
朝のジョギング生活を絶賛継続中ですが、あまり体重が減らなくてショボンヌなmikioです。さて今回は、Tokyo Dystopiaを使った検索機能「かんたん友人検索」の設計と実装についてお話しします。 全体の戦略 Tokyo Dystopia(TD)は単なる全文検索用のインデックス管理ツールです。多数の文字列の中から特定のパターンを含んだ文字列を特定する処理を高速化することはできますが、逆に言えばそれしかできないのです。住所を市区町村単位で限定して結果を絞り込むとか、ログイン時間が近い順に並び替えるとかの高機能は備えていません。Hyper Estraierにはそういったアプリケーション寄りの機能を持たせていましたが、逆にコードベースが肥大化して保守や最適化がしにくくなってしまいました。その反省を踏まえて、今回は、「全文検索による対象の絞り込み」だけはTDにやらせて、その他の機能は全て専用に書
先日 Array::Gap という Variable Byte Codes による整列済み整数の圧縮の実装を作りました。(id:naoya:20080906:1220685978) 今日は Front Coding を使った同じような圧縮リストクラス、List::FrontCode を作ってみました。Front Coding は辞書式順に整列済みの文字列リストなどを圧縮する手法です。WEB+DB PRESS Vol.42 のアルゴリズム&データ構造の記事で PFI の岡野原さんによる解説があったので、それを参考に実装しました。 Front Coding Front Coding は http://www.hoge.jp http://www.hoge.jp/a.htm http://www.hoge.jp/index.htm http://www.fuga.com/ http://www.
Introduction to Information Retrieval 輪読会 11章の復習資料を以下にアップロードしました。 http://bloghackers.net/~naoya/iir/ppt/iir_11.ppt 11章は、は "Probabilistic information retrieval" すなわち確率的検索モデルです。 IIR 10章までにあつかった検索モデル IRシステムをどのような概念を用いて実現するかが「検索モデル」であり、IIR ではここまで以下の2つのモデルを扱いしました。 ブーリアンモデル ベクトル空間モデル ブーリアンモデルは比較的単純な検索モデルで、ブール代数を基礎とした論理式によりクエリを組み立て、検索するモデルです。基本的にスコアリングは行いません。 ベクトル空間モデルは、クエリや文書を索引語の重みベクトルで表現して、クエリベクトルと文書ベ
http://www.slash-zero.jp/archives/program/466 http://www.slash-zero.jp/archives/program/468 http://www.slash-zero.jp/archives/program/476http://hp.vector.co.jp/authors/VA007799/viviProg/doc5.htm ■Diffとは何か 感覚的には理解できるDiffだが、厳密なアルゴリズムとしてのDiffとは何かを説明する。 AとBのDiffとは、 AとBの「最も共通部分が長くなる組み合わせ(LCS)」を見つける作業 または、 要素の追加/削除のみの操作で、「最も少ない操作でAからBを作成する手順(SED)」を見つける作業 ……である。 (以上の2つは別のアルゴリズムであり、結果は異なる場合がある) ここでは、「最も少な
問題名:Common Subsequence (PKU) 出典:Southeastern Europe 2003 難易度:☆☆☆ 問題の種類:DP 解法:LCS (Longest Common Subsequence) 解答ソースコード: 1458-deq.cpp アルゴリズムの概略 DPの四天王(?),LCS (Longest Common Subsequence) そのままの問題です。 アジア地区予選など,通常はこれをひねった問題が出てきます。 LCSとは,二つの値の列(この問題では文字列)が与えられて,最長の共通部分列を見つける問題です。 部分列は連続している必要はありませんが,順序は変更してはいけません。 例えば X = "abcfbc", Y = "abfcab" であればLCSは "abfc" や "abcb" になります。 LCSは一般的に複数ありえますが,この問題ではその長
チャリンコ通勤による滝のような汗で、朝からTシャツがシースルーになってしまうmikioです。さて今回は、Tokyo Cabinet(TC)のデータベースを各種のアルゴリズムで圧縮して利用する方法についてご紹介します。 圧縮B+木 B+木とは、比較関数の値による順序が近いレコード群を単一のページにまとめ、各ページにB木(multiway balanced treeの略であり、二分木(binary tree)とは違います)の索引を張ったものです。理論的にはレコードの探索も更新も O(log n) の時間計算量で行え、内部ノード(B木)の操作をキャッシュすると実質的には O(1) の時間計算量で探索や更新が行えるという、かなり安定した性能を備えるデータ構造です。その上、レコードが一定の順序に基づいて並べられているので、数値の範囲検索や文字列の前方一致検索が高速に行えたり、カーソルによって順序に基
Products Moz Pro Your all-in-one suite of SEO essentials. Moz Local Raise your local SEO visibility with complete local SEO management. STAT SERP tracking and analytics for enterprise SEO experts. Moz API Power your SEO with our index of over 44 trillion links. Compare SEO Products See which Moz SEO solution best meets your business needs. Moz Data Power your SEO strategy & AI models with custom d
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く