タグ

類似度に関するyuisekiのブックマーク (7)

  • Pythonで実装する類似度計算 - Screaming Loud

    A = {"みかん":5,"りんご":8,"ぶどう":2} B = {"みかん":5,"なし":8,"ぶどう":2,"もも":1} 辞書の要素は{単語:その出現頻度}という構成です. この2つのベクトルの類似度を計算する尺度を紹介する. PMIなど共起についての尺度は使わず,単純なベクトルの比較を行うものです. コサイン類似度 (cosine similarity) 頻度を考慮した類似度計算. よく使われる. import math def dotProduct(dicX,dicY): '''return a dot product.''' sum = 0 for key in dicX: if key in dicY: sum += float(dicX[key])*float(dicY[key]) return sum def root_squareSum(vector): """th

    Pythonで実装する類似度計算 - Screaming Loud
  • ベクトル空間法を利用した類似度計算

    ベクトル空間法を利用した類似度計算 澁谷 翔吾 ,廣安 知之,三木 光範 ISDL Report  No. 20081110002 2008年 5月 22日 Abstract 1 はじめに 近年, 異なる文書間の類似度を定量的に計る手法が盛んに研究されている. レポートでは, ベクトル空間モデルを用いることにより, それぞれの文書のベクトルを比較することにより類似度を定量的に計る手法について調査した. 報告では, それらの手順について解説する. 2 形態素解析 形態素解析(Morphological Analysis)とは, コンピュータ等の計算機を用いた自然言語処理の基礎技術の1つであり, かな漢字変換等にも応用されている. 対象言語の文法の知識(文法のルールの集まり)や辞書(品詞等の情報付きの単語リスト)を情報源として用い, 自然言語で書かれた文を形態素(Morpheme)の列に分

  • 『MPJoin を使った類似データ抽出 ―アルゴリズムシリーズ 1―』

    Hattori です。以前書いた記事の冒頭 で、”今度はシリーズで何かエントリを書きたい ! ”と軽いノリで一文を表記しておいたら、ホントにやることになりました。 弊社のエンジニア組織の特徴のひとつに、手を上げる・声を上げると、『じゃ、やってよ。』というノリで返ってくるという事が挙げられるのですが、今回もその例に漏れなったわけですね・・・。シクシク・・・。 というわけで、何を書こうかなぁって話しなんですが・・・。私の場合アルゴリズム系の話しかできそうにないので、毎回ポツポツとマイナーで極一部の人にしかウケないテーマを紹介して行こうと思います。 で、初回の今回は SimilarityJoin 関連のアルゴリズムで "MPJoin" というやつを紹介したいと思います。 ■ Similarity Join とは何ぞや? まず最初に SimilarityJoin [1] の定義なんですが、ざっくり

    『MPJoin を使った類似データ抽出 ―アルゴリズムシリーズ 1―』
  • 類似度と距離 - CatTail Wiki*

    2つのデータが似ている度合いを,類似度の大きさや距離の近さといった数値にしてあらわすことで,クラスタ分析や,k-近傍法,多次元尺度構成法(MDS)をはじめとするいろいろな分析を行うことが可能となる. ここでは,よく知られている類似度や距離について述べる. 類似度という概念は,2つの集合の要素がまさにどれだけ似ているかを数量化したものであり,距離とは,要素同士の離れ具合,従って非類似度とちかい概念と考えてもよい. 参考までに数学における距離の概念の定義を示すと, 距離空間の定義 Sを1つの空でない集合とし,dをSで定義された2変数の実数値関数 d(SxS) → R が,以下の4条件(距離の公理) D1 : (非負性) 任意のx,y∈Sに対して d(x,y)≧0. D2 : (非退化性) x,y∈Sに対し d(x,y)=0  ⇔ x=y. D3 : (対称性) 任意のx,y∈Sに対して d(x

    類似度と距離 - CatTail Wiki*
  • コサイン尺度(コサイン類似度)の計算 - Ceekz Logs (Move to y.ceek.jp)

    文書間の類似度を求める方法の一つとして、コサイン尺度が挙げられます。コサイン尺度とは、2つのベクトルのなす角度であり、文書をベクトル化することにより、文書間の類似度を求めることが出来ます。 sub cosine_similarity { my ($vector_1, $vector_2) = @_; my $inner_product = 0.0; map { if ($vector_2->{$_}) { $inner_product += $vector_1->{$_} * $vector_2->{$_}; } } keys %{$vector_1}; my $norm_1 = 0.0; map { $norm_1 += $_ ** 2 } values %{$vector_1}; $norm_1 = sqrt($norm_1); my $norm_2 = 0.0; map { $nor

  • ああああ エロゲー類似性ネットワークを複雑ネットワークで解析してみた

    今回のネタは、前回作成したエロゲーどうしの類似性グラフに対して、複雑ネットワークの手法で解析してみようというもの。まあ、ぶっちゃけよくあるやつです。もしかすると誰かが既に同じことをやってるかもしれませんが、気にしない。 前回はこちら:エロゲーの類似性関係を可視化してみた 前回作ったネットワークの可視化画像はこれ。 スケールフリーネットワーク 複雑ネットワークの解析の定石として、次数の分布を調べてみます。横軸に次数k、縦軸に次数分布P(k)(ある次数kを持つノードの数)をとり、両対数プロットしてみます。得られたのが次の図になります。 プロットされた緑色の点は、(大きくばらついていますが)グラフ上で赤線で示した直線上に乗っています。両対数グラフ上で直線に乗るということは、 P(k)~k-γ のように、べき乗で表されることを意味しています。 このように、次数分布が次数のべき乗に比例するような振る

  • ああああ エロゲーの類似性関係を可視化してみた

    アマゾンでエロゲーの類似性関係を垣間見る この商品を買った人はこんな商品も買っています アマゾンで買い物をしていると、「この商品を買った人はこんな商品も買っています」というメッセージが表示されます。たとえば、名作百合ゲー「カタハネ:注:18禁」のページでは、以下のようになります。 ここで推薦されている作品は、みな百合ジャンルの作品です。ある百合作品を買う人は、他の百合作品も買っている、ということです。ということは、「この商品を~」リストに提示された商品は、もとの商品と類似性が強いということができるのではないでしょうか。 ある商品について、それに類似した商品、にさらに類似した商品、のこれまた類似した商品…というように、似たものどうしのネットワークをどんどん広げていくことができます。このネットワークを広げていくと、全商品の間の類似性の関係を知ることができます。今回のネタは、似た商品どうしのネッ

  • 1