タグ

ブックマーク / www.chokkan.org (2)

  • SimString - 高速かつシンプルな類似文字列検索ライブラリ

    SimStringは,類似文字列検索のための高速かつシンプルなライブラリです. 類似文字列検索とは,文字列集合(データベース)の中から,クエリ文字列との類似度が閾値以上のものを,見つけ出す操作です. クエリ文字列と完全に一致しなくても,データベース中の似ている文字列を検索することができるので,スペル訂正,あいまい計算,柔軟な辞書マッチング,重複レコード検出,データベース統合など,様々なアプリケーションを構築できます. SimStringは,類似度関数として,コサイン係数,ジャッカード係数,ダイス係数,オーバーラップ係数に対応しています. 文字列の類似度を計算するための特徴量としては,文字nグラムをサポートしています. SimStringには,次のような特徴があります. 高速な類似文字列検索アルゴリズム.Google Web1T の英語単語(13,588,391文字列)から,コサイン類似度が

    hitode909
    hitode909 2010/07/25
  • Não Aqui! » 10行強で書けるロジスティック回帰モデル学習

    ロジスティック回帰(logistic regression)の学習が,確率的勾配降下法(SGD: stochastic gradient descent)を使って,非常に簡単に書けることを示すPythonコード.コメントや空行を除けば十数行です. リストの内包表記,条件演算子(Cで言う三項演算子),自動的に初期化してくれる辞書型(collections.defaultdict)は,Python以外ではあまり見ないかも知れません. リストの内包表記は,Haskell, OCaml, C#にもあるようなので,結構メジャーかも知れません. [W[x] for x in X] と書くと,「Xに含まれるすべてのxに対し,それぞれW[x]を計算した結果をリストにしたもの」という意味になります.sum関数はリストの値の和を返すので,変数aにはXとWの内積が計算されます. Pythonでは,三項演算子を条

    hitode909
    hitode909 2009/04/03
  • 1