毎日テキストマイニング

180日間、毎日テキストマイニングをするブログです

2018/8/23【61日目】グラフ理論について学ぶ

うーん、どうもNetworkXの全貌が全くわからないので座学することにしました。 (なかなか脱線しますね)

こういったグラフを描くためのグラフ理論というのがあるんですね。

グラフ理論

もともとグラフは物と物の関係を表す数学分野の1つ、 数学的にグラフ(G = (V, E))とは、頂点またはノードの集合Vとエッジの集合Eとして定義される。エッジに順序がない場合、無向グラフという。エッジに順序がある場合は有向グラフといい、矢印がつく。

古典的なグラフ理論として次のようなものがある。

  • グラフ走査:グラフを渡り歩く
  • グラフ彩色:別の色を割り当てていく
  • 連結成分:グラフの中で連結成分を探す
  • 最短経路:最短経路を探す問題
  • ハミルトン路:すべての点を一度だけ通る
  • オイラー路:すべてのエッジを一度だけ通る
  • 巡回セールスマン問題:すべての点を通る最短の経路を探す

うーん、やっぱり色々難しそう。 Networkxを使いこなすのは諦めて、やはりKH-coderを使うことにしましょう。

KH-coderのインストール

KH-coderの公式サイトはこちら。

KH Coder: 計量テキスト分析・テキストマイニングのためのフリーソフトウェア

とりあえず、perlmacに入っていますので、必要なモジュールを入れていきます。必要なモジュールは次のようなエラーで出ます。

Can't locate Jcode.pm in @INC (you may need to install the Jcode module) 
$ brew install perl-CPAN
$ sudo perl -MCPAN -e shell
cpan[1]> install Jcode
      /usr/bin/make install  -- OK
cpan[2]> exit
Can't locate Tk.pm in @INC (you may need to install the Tk module)

永遠にエラーが出てきますね。 まとめると、次のものをインストールすれば良いそうです。

install Bundle::CPAN
install Tk
install DBD::CSV
install Net::Telnet
install YAML
install Spreadsheet::ParseExcel
install Spreadsheet::ParseXLSX
install Clipboard
install Statistics::Lite
install Algorithm::NaiveBayes
install Text::Iconv

しかし、次のエラーがどうしても解決できず。。。

Cannot find -lX11 anywhere --- cannot build Perl/Tk
No 'Makefile' created  SREZIC/Tk-804.034.tar.gz
  /usr/bin/perl Makefile.PL -- NOT OK
Running make test
  Make had some problems, won't test
Running make install
  Make had some problems, won't install
Could not read metadata file. Falling back to other methods to determine prerequisites
Failed during this command:
 SREZIC/Tk-804.034.tar.gz                     : writemakefile NO -- No 'Makefile' created

Makefileを実行すればすれば良いそうですが、あまりにperlの知識がなさすぎて時間の無駄になりそうなので、有償のサポートを受けてお金の力で解決することにしました。

KH Coderサポートルーム

流石にそろそろ画像を作りたいですね。

今日の結果

今日のAKBの呟きは47件でした。 f:id:rimt:20180825235446p:plain

'可愛い': 10, '楽しい': 7, 'すごい': 4, 'いい': 4, '面白い': 4, '良い': 3, '嬉しい': 3, 'よろしい': 2, 'かなしい': 1, '優しい': 1, '遅い': 1, '長い': 1, 'しんどい': 1, 'かわいい': 1, '素晴らしい': 1, 'こわい': 1, 'たのしい': 1, '恥ずかしい': 1, '怖い': 1, '仲良い': 1})
'公演': 12, '可愛い': 10, '今日': 10, '私': 9, 'こと': 9, 'さん': 8, 'ちゃん': 8, '楽しい': 7, '曲': 7, '生誕': 7, '祭': 7, 
'する': 29, '公演': 12, '可愛い': 10, '今日': 10, '私': 9, 'こと': 9, 'さん': 8, 'ちゃん': 8, '楽しい': 7, '曲': 7, '生誕': 7, '祭': 7, '見る': 7, 'できる': 7, 'くる': 7, '学園': 6, '回': 6, '明日': 6, 'なる': 6, 'くださる': 6, 'れる': 6,