• ベストアンサー

単語の重要度をふまえた類似度について

あるキーワード群AとBがあり、それぞれいくつか単語が含まれており、単語にはその群の中での重要度の値がついています。 例: [A] 車 30 バイク 10 飛行機 5 [B] 自転車 20 車 15 三輪車 5 この例だと、Aだと車が重要なワードであり、Bでは自転車と車が重要なワードとなります。 ここで、A群とB群の類似度を求めたいのですが、単純に一致する項目数で計算するのではなく、重要度も利用して類似度を求めたいです。 それによって、群の中での重要度が高いもの同士が一致するほど類似度が高くなるようにしたいと思っています。 類似度を計算するのに使えそうな手法もしくは、計算式を教えてください。 各群の単語数は毎回同じではないです。 ちなみに群の中の重要度は足しても100になるわけではないです。 宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • rabbit_cat
  • ベストアンサー率40% (829/2062)
回答No.1

真っ先に思いつくものとしては、一致するものに関しては、重要度同士を掛け算して、それらの総和求めるとか。 提示の例は、AとBで一致しているものが車しかなくて、説明しにくいので、 ちょっと直して、 [A] 車 30 バイク 10 自転車 5 [B] 自転車 20 車 15 三輪車 5 だとすれば、車と自転車が一致しているので、 類似度 = 30×15 + 5×20 = 550 ですね。 もし、「群の中での重要度が高いもの同士が一致するほど類似度が高くなるように」ということなら、重要度をそれぞれ足して1になるように正規化して、 [A] 車 0.67 バイク 0.22 自転車 0.11 [B] 自転車 0.44 車 0.33 三輪車 0.11 として、 類似度 = 0.67×0.33 + 0.11×0.44 = 0.27 とするとか。 さらに、「群の中での重要度が高いもの同士が一致するほど類似度が高くなるようにしたい」を強調するなら、 それぞれの項を2乗して、 類似度 = (0.67×0.33)^2 + (0.11×0.44)^2 = 0.052 とする、とかも考えられますね。 どれがいいのかは、実際の問題が分からないので何ともいえません。まあ、はっきり言えばこんなアンケートものは、つまり自分が出したい結論ってのが最初にあって、その結果になるように定義を後付けでつければ、それで論文になります。 逆に言えば、言葉の定義をちょっと変えれば、結論はどうにでも変えることができたります。メディアリテラシーの基本。

questionid
質問者

お礼

説明とアドバイスをありがとうございます。 参考になりました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • phyonco
  • ベストアンサー率38% (47/121)
回答No.2

A群のi番目の項目の重要度をA_i とし、Bについても同様の記号を使います。 すぐに思いつくのはべき型 類似度 = [ Sum_i (A_i * B_i)^c ]^d ですね。cとdはベキ乗のパラメータで、dを大きくしてcを小さくすると、大きな重要度を持った項目の一致よりも一致項目の数を増やす方が類似度を上げるのに貢献するようになります。

questionid
質問者

お礼

ちょっと自分には 類似度 = [ Sum_i (A_i * B_i)^c ]^d の式がわかりにくかったのですが、回答ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 類似度の高いものを取り出したい。

    数学・統計学初心者です。 現在Rを使って統計学を勉強しています。 ある、パラメータA,B,C,D,E,F.・・・・・・を持った対象データがあり、 さらに同じパラメータを持った複数のデータ集団(標本の集団)があったとします。 そのデータ集団から対象データと類似度が高いものを取得したいとします。 以前、類似度を求める場合、対象データと集団との相関係数を求めれば良い、というHPは見たのですが、 この方法だと、各パラメータのデータの分布の大きさが異なれば、変な値が出てきそうな気がします。 かと言って各パラメータデータを正規化しようとすると標本集団のため、どこかのパラメータでばらつきが出てきそうな気がします。 そもそも私には一般的な知識がないので、類似度を求める際、頭の良い人たちがどういった感じで類似度を求めているかわかりません。 このような場合、どうやって類似度が高いものを取り出してくれば良いのでしょうか?教えてください。

  • 3つの比「1:2:3」と「1:4:6」がどの程度近いか(距離,類似度)を求める方法がわからず,困っています・・・

    3つの比「1:2:3」と「1:4:6」の比の近さと,「1:2:3」と「1:5:10」がどの程度近いか(距離,類似度でもいい)を求める方法がわからず,困っています. 例えば,簡単に推測可能な,2つの比でやると, <例1> (1)「1:2」と「1:3」の距離と,(2)「1:2」と「1:6」の距離がどちらが近いかは, (1) < (2) だと,誰もがわかると思います. また, <例2>(1)と,(2)と,(3)「1:3」と「1:10」の距離に対しても, (1) < (2) < (3) だと,感覚的にわかると思います. これを応用して,「3つの比の類似度(比較)」を数値で表す方法はどのようにするのでしょうか? ------------------------------------------------ 今まで思いついた案を,先ほどの2つの比の例でやってみます. (※以下,分数の計算は小数点0.01未満切り捨て) 【案1】 左辺を1に正規化して,右辺を「引いた絶対値」 <例1> (1)|3-2|=1 < (2)|6-2|=4  => (1)が(2)より 3 近い で表す方法が考えられます. しかし,この場合, <例2> (1)1 < (2)4 >??? (3)|10-3|=7  となり,感覚と違ってしまいます. 【案2】 左辺を1に正規化して,右辺を「前から後ろを割る」 <例1> (1)|2/3|=0.66 >??? (2)|3/6|=0.5  => (1)が(2)より|0.66-0.5| = 0.16 近い? となり,符号が逆になってしまいます. 【案3】 左辺を1に正規化して,右辺を「後ろから前を割る」 <例1> (1)|3/2|=1.5 < (2)|6/3|=2  => (1)が(2)より|1.5-2| = 0.5 近い                       もしくは,|1.5/2| = 0.75 倍 と表す方法が,今のところ,妥当だと考えています. また,この場合は, <例2> (1)1.5 < (2)2 < (3)|10/3|=3.33 => (1)が(3)より|1.5-3.33|= 1.83 近い,|1.5/3.33|= 0.45 倍 => (2)が(3)より|2-3.33|= 1.33 近い, |2/3.33|= 0.60 倍 となり,綺麗に比較できます. ----------------------------------------------- しかし,3つの比「1:2:3」と「1:4:6」との比較をする場合, 案1の引き算では,それぞれの辺を引いた絶対値(|4-2|+|6-3|,2辺の足し算でいいかどうかは不明)を取る方法が考えられますが, 2つの比の結果より,直観と異なると思います. また,案2,3割り算も,どれをどう割ったらいいのか,わかりません. 以下,メモです. (よりよい解法・説明を導くうえで,もし何かの参考になりましたら幸いです.) ==================== (例えば,4/2+6/3?,(4/2)*(6/3)?,でもこの連結演算子になる理由は?) 感覚的には,3つの比というのは,3軸のベクトルと似ている気がします… 例えば,A=(1,2,3),B=(1,4,6)とおいてみると, 内積A・B = 1*1+2*4+3*6 = 24, 外積A×B = (a2b3-a3b2, a3b1-a1b3, a1b2-a2b1)=(2*6-3*4, 3-6, 4-2) = (12, -3, 2), となる. ただ,これらが何を意味しているのかは,私にはさっぱりわかりません. ====================== 3つの比の比較をする計算方法をご存じの方がいれば,教えていただけないでしょうか? 正直,私は難しく考えすぎる傾向があり,案外,簡単なことなのかもしれません. 実際にどんな比重を対象にするかで,正解はないのかもしれませんが…. よろしくお願いします.

  • 類似度 ユークリッド距離とコサイン尺度の統合

    類似楽曲検索を作ろうと考えています。 ある楽曲の音響信号の特徴量と似た楽曲を検索するシステムです。 検索するにあたって、ある3つの特徴量(A,B,C)を使うとします。 AとBの特徴量はコサイン尺度を用いて類似度を計算、 Cはユークリッド距離で計算し、最終的に一つの類似度を計算したいと考えているのですが どのような方法がありますか? 例えばすべてをコサイン尺度で計算すれば、 類似度=cos(Ai,Aj)+cos(Bi,Bj)+cos(Ci,Cj)   (cos(Ai,Aj)は楽曲iとjの特徴量Aにおけるコサイン尺度) のように和を類似度として使えると思うのですが、 コサイン尺度(-1から1までの値をとる)とユークリッド距離は(0以上の値をとる)を使う場合、単純に加算しただけではうまくいきません。 正規化、無次元化?をすればいいのでしょうが、具体的な方法がわかりません。 どなたかアドバイスお願いします。

  • 行列の類似度を測る手法として適切なモノ

    実験で統計処理をしようと思うのですが、なにぶん知識薄なので教えてください。サイトでも結構です。 行列{A_ij} (ただし一般にi≠j)で、 各成分は0または1である行列がA1,A2,...とあります。 # エクセルの同じ表が何シートもあるイメージ。 2つの行列、A1, A2 の互いの{0,1}のマッピングがどれだけ類似しているか、類似度を定量的に表せるような数学手法があるのでしょうか? # 0,1の一致度を数えれば済む話ですが、。。。

  • 文字列の類似度計算

    文字列の類似度検索に関する手法や論文やアルゴリズムについての資料を探しています。 文書間の類似度や単語の類似度などはかなり資料があるのですが文字列の類似度に関する資料が見つからなくて困っています。 文字列の類似度ですが toukyoutotokkyokyokakyoku(とうきょうととっきょきょかきょく) というアルファベット文字列に対し tokkyo(とっきょ) という文字列がどこで一番マッチするか探すことです 使用文字はすべてアルファベットです。 この場合は10文字目で100%マッチしますが kyuuto(きゅうと) で探索をかけると完全マッチする場所はなく人間的には4文字目からの部分が一番似ているということが直感でわかります。 文字列処理の類似度計算ではどうも違う気がしてむしろ画像処理分野における類似度計算の方が参考になるのではと考えましたが現在調べ注なのと画像処理分野は専門ではないため探すのに苦労している状態です。 なにかアドバイス。よい資料などありましたら教えてください。 よろしくお願いします。

  • 商標の類似判断について教えてください。

    例として、以下の指定商品と役務における類似の判断についてお尋ねいたします。 第9類:紫外線測定器(類似群コード10C01) 第35類:紫外線測定機械器具の小売又は卸売の業務において行われる顧客に対する便益の提供(類似群コード10C01) 質問1:自社が9類のみで商標登録している場合、他社が「紫外線測定器」自体にAという商標を付さず、「紫外線測定機械器具の小売又は卸売の業務において行われる顧客に対する便益の提供」をAという商標を付して行っているときには、類似群が一緒なので差し止め等の権利行使ができるという理解でよいでしょうか。 質問2:類似商品・役務審査基準に類似群として明確に記載されていない業務は、類似と判断してもらえないのでしょうか。例えば、他社が紫外線測定器を用いて「小売又は卸売」以外の業務(測定器を売るのではなく測定の代理業務を行う等)を行っている場合です。 (防護標章・不正競争は考慮しません) 以上、長くなりましたが宜しくお願いいたします。

  • 数値を複数の群に分ける最適な組み合わせを求める方法

    次のような問題をCで記述するにはどのようにすればいいでしょうか? 要素数が不定の整数値配列がある。 この配列の各要素を、与えられた個数の群に分ける。 条件として、与えられた数値列で隣り合う数値しか同じ群に含めることは出来ない。 例: 数値列は{5,2,7,12,6,15,4} 群の個数を3とする。 (1) {5,2},{7,12,6},{15,4} (2) {5},{2,7},{12,6,15,4} (3) {5,2,7},{12},{6,15,4} ・・・ と複数の組み合わせがある。 これらの組み合わせのうち、各群の合計値が最も均等になるような組み合わせを求める。最大値と最小値の差が最小となる組み合わせを最も均等と考える。 上の例であれば、各群の合計値と、合計値の最大値と最小値の差は、 (1) {5,2},{7,12,6},{15,4} ==> 7,25,19 (25-7=18) (2) {5},{2,7},{12,6,15,4} ==> 5,9,37 (37-5=32) (3) {5,2,7},{12},{6,15,4} ==> 14,12,25 (25-12=13) ☆ のようになり、この3つの中で最も均等なのは (3) {5,2,7}{12}{6,15,4} となる。 実際は、これ以外の組み合わせでより均等となるものがあるかと思います。 この問題そのものが必要なわけではなく、この結果を利用して別のある問題を解決しようとしています。 数値の数が増えると組み合わせの数も大幅に増えて計算時間に影響すると思います。 全ての組み合わせを試すことなく答えにたどり着く方法があれば、考え方だけでも提示頂ければと思います。

  • ワード2010において単語の置き換えについて

    ワード2010を使っています。1ページから20ページまである書類を作成しました。その中で15ページ以降の「A」という単語を「B」に置き換えたいんですが、一括して置き換える方法を教えてください。

  • 統計の方法の選択

    特定の疾患を対象とした群間の比較を行う場合の統計方法についての質問です。 対象とされる群は、調査を行った年度ごとの特定の疾患「A」を有する患者群、とします。 n数は各年度ごとに異なります。 各群において、「A」の危険因子とされる疾患「B」を有する割合が増加しているか、減少しているか、変わらないのかを評価する場合、統計は何を用いるのが正しいのか、またどのようにデータを処理して求めれば良いのかご教示ください。 1.各年度ごとの疾患「A」を有する6つの群のn数 (大体150から300くらいです) 2.各年度ごとの「B」を有する者の数bと、そのパーセンテージ(100*b/n) (パーセンテージは50%から70%くらいです) が、わかっている条件です。 よろしくお願いします。

  • wordで、前の単語とくっついて変換される

    説明しづらいので、具体例で説明いたします。 wordで「λの計算」と入力したいときを考えます。 1.まず「λの」と入力します。 2.次に「計算」と入力します。 3.すると、普通のエディタでは、「λの計算」と出力されると思いますが、 wordでは、「λのけ遺産」と出力されてしまいます。 これをやめさせるにはどのようにすればよいでしょうか? つまり、「前に入力した単語」と「今、入力している単語」が くっついて変換されてしまうという事態をやめさせ、 普通のエディタのように出力されるようにしたいということです。

このQ&Aのポイント
  • 請求書についての質問です。
  • 貴社と契約をしていないのに、請求の葉書が届いたという状況について相談させてください。
  • 特に「ISPぷらら」についての問題です。
回答を見る