[掲示板へもどる]
一括表示

  [No.996] 関連語検索の結果のマトリクス表示 投稿者:ykawa  投稿日:2012/06/28(Thu) 16:41:15

樋口先生、

お世話になっております。
以前に質問させて頂きまして、丁寧なご回答有難うございました。
今回は、別テーマで質問があります。

関連語検索ですが、例えば「A」という語の関連語をJaccard係数順でソートして表示させると、
a,b,c,d,e,f,・・・・・・という結果になったとします。
同様に「B」という語の関連語を表示させると 
g,h,b,i,j,k・・・・・という結果になり、
「C]という関連語を表示させると、
l,m,n,e,i,o・・・・という結果が得られたとします。

このとき、行がA,B,C、列がa,b,c,d,e,f,g,h,i,j,k,l,m,n,oで
それぞれの交差するセルにはjaccard係数が表示されるというマトリクス
をKH Coderで(Excelで加工ではなく)作成することは可能でしょうか?

「抽出語x文脈ベクトル」を試してみたのですが、列には出現頻度の高い語から表示されてしまい、抽出語と強く関連している語が埋もれてしまいましたので。

以上お手数をお掛けしますが、よろしくお願いします。


  [No.997] Re: 抽出語の類似度行列 投稿者:HIGUCHI Koichi  投稿日:2012/06/28(Thu) 23:38:50

こんにちは、樋口です。書き込みありがとうございます。

(1)コーディングルールをお作りいただくか、(2)「文書 x 抽出語」表を出力
して、統計ソフトで類似度行列をお作りいただくかだと思ういます。

(1)コーディングルールを作る場合ですが、以下のようなテキストファイルを
作成します。

----------------------------------------------------------------------
*A
A

*B
B

*C
C

*a
a

*b
b
----------------------------------------------------------------------

そして、「ツール」「コーディング」「類似度行列」コマンドをご利用くださ
い。

(2)の場合、「文書 x 抽出語」表をCSV形式で保存します。そして、統計ソフ
トとしてKH Coderに付属のRを使う場合、kh_coder.exeと同じ場所のRgui.bat
をダブルクリックします。そして、以下のコマンドを実行します。

※2行目を実行すると、ファイル選択画面が開くので、上で保存した「文書 x
抽出語」表を選択します。その後、ファイルの保存画面が出るので、ファイル
名を指定して下さい。類似度行列がCSV形式で保存されます。
----------------------------------------------------------------------
# 「文書 x 抽出語」表のファイル選択
d <- read.csv( file.choose() )

# 不要部分を削除
n_cut <- NULL
for (i in 1:12){
if ( colnames(d)[i] == "length_w" ){
n_cut <- i
break
}
}
n_cut <- n_cut * -1
d <- d[,-1:n_cut]

# 類似度計算
ds <- 1 - as.matrix( dist(t(d),method="binary") )

# 保存ファイル名の取得
require(tcltk)
savefile <- tclvalue(
tkgetSaveFile(
filetypes = "{{CSV Files} {.csv}}",
defaultextension=".csv"
)
)

# 保存
write.csv(ds, file=savefile)
----------------------------------------------------------------------


なお(1)の方法では、コーディングルールを作るのが面倒ですが、どの語とど
の語を含めるかや、語の順番をコントロールできます。一方で(2)の方法では
品詞や頻度でしか語を選択できません。


  [No.998] Re: 抽出語の類似度行列 投稿者:ykawa  投稿日:2012/06/29(Fri) 14:29:13

樋口先生、

早速のご回答を有難うございます。
おかげさまで、希望どおりのマトリクスを作成することができました。

関連を見る切り口が固定している場合には(1)の方が良さそうですが、(2)では今まで気づかなかった関連を見出すことができると思いますので、うまく使い分けたいと思います。

取り急ぎお礼まで