Ruby on Rails
■ このスレッドは過去ログ倉庫に格納されています
0445デフォルトの名無しさん
2008/01/28(月) 19:01:03データベースに登録した2つのテーブル内のカラムの類似度を求めたいんですが,ベクトル空間モデルにおける
コサイン尺度を用いて類似度を求めようと考えています.
しかし,コサイン尺度をどうプログラムで表せばいいのかがわかりません.
どなたか教えていただけませんか?
↓RoRで作成したデータベースのテーブルとカラム
・Book(id, name)
・Word(id, noun)
・Relation(id, song_id, word_id, tf)
・User(id, user_name)
・Reference(id, user_id, Word_id, vector)
Relationテーブルでは,Bookに登録した書籍と,各書籍内に出現する単語を関連付けています.
Relationのtfとは各単語の出現頻度を登録しています.
そして,Userが選択したBookが持つwordのTFをvectorに登録する仕組みになってます.
なのでRelationテーブルにある各bookが持つword_idと,
Referenceテーブルにある各userが持つword_idは同じ数だけあります.
この2つのテーブルにある「tf」と「vector」の類似度を求めたいんです!
「tf」を本ベクトル,「vector」をユーザベクトルとして,ベクトル空間ベクトルとして,
類似度を求めたいんです.
どなたか,この2つのベクトルの類似度を計算するプログラム,教えてください!!
■ このスレッドは過去ログ倉庫に格納されています