哲学語の共起ネットワーク

スタンフォード哲学事典のデータを使って自然言語処理をやってみる。自然言語処理の技術を使った研究は心理学や社会学などでもさかんになりつつあるようなので、メタフィロソフィーの分野でもやったらおもしろいのではないかと思う。


とりあえず共起ネットワーク(共に出現する頻度の高い語のネットワーク)を描いてみた。
(本当はkh_coderという便利なツールがあるらしいのでそれを使う予定だったが、macでうまく動かなかった)。

やったこと


特定の単語だけを中心に描くこともできる。
以下は"action"のネットワーク。それっぽい。

"logic"のネットワーク。


高頻出語のリストを一部紹介。トップは"theory"でした。おめでとうございます。
なおthis/thatのように一般的すぎる語や3文字以下の語は抜いた(と思ったがよく見たらthisは入ってた。機械任せなもので)。
NNとか入ってるのは品詞タグ。語幹をとってるので、ところどころ語尾がおかしい。

theory NN 21930
nature NN 18563
would MD 18317
object NN 17941
also RB 16724
differ NN 16171
moral JJ 15823
view NN 15730
this DT 15071
reason NN 15037
philosophe PRP 14952
world NN 14318
exist NN 13137
work NN 13135
first JJ 12944
human NN 12905
thing NN 12893
argument NN 12720
genere RB 12522
concept NN 12327
form NN 12251
state NN 12214
case NN 12199
possibly RB 12035
make VB 11838
mean JJ 11776
claim NN 11442
philosophy NN 11363
...

ソースコード

ソースコードgithubにあげてあります。スクレイピングはscrapy、自然言語処理はnltk(Natural Language Toolkit)を使いました。
なんかもっといろいろやってみたいのでアイデアください。
https://github.com/takada-at/sep