読者です 読者をやめる 読者になる 読者になる

文章間における単語の共起の尺度

R

ピアソンの相関係数で文章間の相関係数を求めようとしたら、0.3よりでかいのがほとんどないという結果になった。いや、関係ないのばっかりという可能性もなくはないんですが。

> cor(hoge[,1:13])
             [,1]         [,2]        [,3]        [,4]        [,5]         [,6]
 [1,]  1.00000000  0.157760835 0.071814486 0.157060938  0.16302774  0.183552768
 [2,]  0.15776084  1.000000000 0.006045204 0.191024609  0.17415142  0.101318893
 [3,]  0.07181449  0.006045204 1.000000000 0.020391838  0.05517087  0.009458425
 [4,]  0.15706094  0.191024609 0.020391838 1.000000000  0.11630618  0.144788205
 [5,]  0.16302774  0.174151424 0.055170870 0.116306178  1.00000000  0.179556155
 [6,]  0.18355277  0.101318893 0.009458425 0.144788205  0.17955615  1.000000000
 [7,]  0.12161017  0.109312081 0.017719239 0.123919368  0.09500487  0.167504496
 [8,]  0.21840251  0.119402059 0.141403983 0.100141817  0.07714136  0.063092489
 [9,]  0.18868042  0.170168466 0.064569441 0.163486252  0.12044991  0.090672903
[10,]  0.12163915  0.115680827 0.014443147 0.085859612  0.12341879  0.104437503
[11,] -0.02954592 -0.056637832 0.022931774 0.001531746 -0.04079881 -0.040858882
[12,]  0.17113714  0.207306944 0.033473402 0.182147660  0.21803726  0.122748509
[13,]  0.21162881  0.041425355 0.042999949 0.029705413  0.01731143  0.017030311
             [,7]        [,8]        [,9]       [,10]         [,11]       [,12]
 [1,]  0.12161017  0.21840251  0.18868042  0.12163915 -0.0295459239  0.17113714
 [2,]  0.10931208  0.11940206  0.17016847  0.11568083 -0.0566378323  0.20730694
 [3,]  0.01771924  0.14140398  0.06456944  0.01444315  0.0229317739  0.03347340
 [4,]  0.12391937  0.10014182  0.16348625  0.08585961  0.0015317457  0.18214766
 [5,]  0.09500487  0.07714136  0.12044991  0.12341879 -0.0407988136  0.21803726
 [6,]  0.16750450  0.06309249  0.09067290  0.10443750 -0.0408588817  0.12274851
 [7,]  1.00000000  0.05253962  0.21246174  0.10590630 -0.0238990115  0.10965005
 [8,]  0.05253962  1.00000000  0.07378277  0.05325539 -0.0339268211  0.09198556
 [9,]  0.21246174  0.07378277  1.00000000  0.06741943 -0.0261322710  0.13264689
[10,]  0.10590630  0.05325539  0.06741943  1.00000000 -0.0175731362  0.09443231
[11,] -0.02389901 -0.03392682 -0.02613227 -0.01757314  1.0000000000 -0.03554839
[12,]  0.10965005  0.09198556  0.13264689  0.09443231 -0.0355483891  1.00000000
[13,]  0.02526739  0.55881995  0.04223615  0.01906396 -0.0003089301  0.03158161
              [,13]
 [1,]  0.2116288110
 [2,]  0.0414253553
 [3,]  0.0429999488
 [4,]  0.0297054133
 [5,]  0.0173114316
 [6,]  0.0170303113
 [7,]  0.0252673907
 [8,]  0.5588199511
 [9,]  0.0422361492
[10,]  0.0190639573
[11,] -0.0003089301
[12,]  0.0315816147
[13,]  1.0000000000

もとの行列がかなり疎というのも原因なのかもしれない(ほぼ0ばっかり)。ピアソン以外にも色々尺度はあったような気がするんだけど、忘れてしまった。[あとで調べる]

この辺はid:beatinaniwaが専門な気がするので、何かアドバイスをくれることを期待して寝ることにしようwww。

追記

0.3以上ないとか言ってたら、id:ujihisaに見逃しているのを教えてもらった。目がしょぼしょぼな時でも、こういうのを逃さないようにするためにはsymnum関数が便利である。「巨大な相関係数行列と戦うときのお供にsymnum」と覚えておいてもらえれば。数字ではなく、記号で表わしてくれるので、見やすくなる。

> symnum(cor(hoge[,1:13]))
                               
 [1,] 1                        
 [2,]   1                      
 [3,]     1                    
 [4,]       1                  
 [5,]         1                
 [6,]           1              
 [7,]             1            
 [8,]               1          
 [9,]                 1        
[10,]                   1      
[11,]                     1    
[12,]                       1  
[13,]               .         1
attr(,"legend")
[1] 0 ‘ ’ 0.3 ‘.’ 0.6,0.8+0.9*0.95 ‘B’ 1

まあ、本番のやるだと400 \times 400の相関係数行列になるので、symnumを使っても結構大変なんだけどさ。。。

ちなみに0.5くらいあったペアはこの二つでした。htmlのタグとかをまだfilterしていないので、その影響もあるのかもしれない。