社会調査のための計量テキスト分析―内容分析の継承と発展を目指して

樋口耕一 社会調査のための計量テキスト分析
の著者によるもの。

とりあえずインストールから。サイトはこちら http://khcoder.net/

今回初めてgitによるcloneというものを恐る恐る試してみたら、意外とあっさり。
しかしインストールはこの本を読んでもよく分からなかったので、例によってgoogleで検索して適当な解説を探す。

まずこちらを見つけ。
Ubuntuでkhcoderを動かす
https://qiita.com/TakabayaP/items/81c05086dfe034714fb9

しかし、Perlモジュールのインストールがうまく行かない。Debian系の場合、Perlモジュールもリポジトリが整理されているので、実際のブログラムを走らせてエラーメッセージを見ながら不足しているモジュールを検索してインストールすれば良いみたいだ。

sudo apt search perl

などで探すと出てくるものの中に、それっぽいものを見つけてインストールする。ローテク(´・ω・`)

perlを初めて使ったが、何をやっているのかよく分からなかったけど、一応起動するようにはなった。

次いで、KH Coderで適当にテキストを読み込んでみたが、MySQLでエラーになる。
IDとパスワードの設定ができていないようだ。

こちらを参照したがよくわからない状態。(今日はこれまで)

MySQLのrootパスワードを設定 - Linux環境

8月29日再会して続き

MySQLの設定が悪いことは、ターミナルで perl auto_test.pl を叩いた時に起動するKH_Coderから出てくるエラーメッセージで明白だった。そもそもMySQLの権限設定の考え方などがよくわからないまま使っているので、ハードルは高い。
そこは、この辺のブログなどを参照したが、結果的には旨く行かなかった。みなさんそれぞれに苦労されているのが偲ばれる。こういう情報を共有いただくのはありがたい。(だから自分も書いているわけなんだけど)

https://qiita.com/blue-ossan/items/e7e7229a37feaf792e35
https://centossrv.com/mysql.shtml
https://www.anchor-journey.com/etc/kh-coder/
https://qiita.com/DDaikitigogo/items/28b41501d3b7db016cfd
https://blog.codecamp.jp/root-password
https://www.dbonline.jp/mysql/user/index6.html#section7

ということで、githubの著者のサイトに質問を投げかけたら10分もしないうちに回答が。
https://github.com/ko-ichi-h/khcoder/issues/83
しばらくやり取りして、一晩置いて冷静になって権限設定したら、一応、当初のエラーは出なくなった。

対応したこと
1. MySQLのrootにパスワードを設定する(特権なのにフリーアクセス状態なので常識として)
ここはハマりどころで、MySQL5.6とMySQL5.7とでは処理方法が大きく異なる。
5.7の場合:https://utano.jp/entry/2017/10/mysql57-mysql-secure-installation/

$sudo mysql_secure_installation

のようにスーパーユーザで入らないとうまく行かない。これはパスワード設定後に入り直す際も同じ。これに気づくのにしばらくかかった。

  1. rootからkh_coderでアクセするためのID(kh_coder)をつくる
    https://qiita.com/waterada/items/b06a32a2b3afd4aac901
  2. rootからkh_coderにMySQLの権限を設定する ここがひかかったところ

    show grants for kh_coder@localhost;
    grant all privileges on . to kh_coder@localhost;
    show grants for kh_coder@localhost;
    これにより前後の権限の違いが確認できたら、
    exit;
    して今度は、kh_coderのIDで入り直す。
    $ mysql -u kh_coder -p
    password
    これでMySQLに入れるかどうかが関門で、そこを通過したらIDは設定されているので、念の為に権限の確認もする。
    show grants for kh_coder@localhost;

ここまで旨く行けば、とりあえずMySQLの設定はできたことになる。

$perl auto_test.pl
を試す。

今回初めて知ったことの一つに、SQLのコマンドの最後には、;が必要だ。(苦笑)

まだ、ChasenとかMecabの設定が残っているようだ。

2019年9月1日追記

続いて、MeCabのエラーの修正。
日本語解析のための辞書としてChaSenやMeCabが使えるようになっている。
もともとの解析にMeCabを使っていたこともあって、ここは他との整合性も考えて、MeCabを使うことにする。

エラーが出てくるので問い合わせて状況を見ると、辞書にIPADICではなくJumanを(意識せずに)使っていたようだ。
覚えていないからどうしてなのかもわからない。

またGitHubのサイトで問い合わせをしたら直ぐに回答いだけたので対処。

https://github.com/ko-ichi-h/khcoder/issues/84

ようやくエラーメッセージが消えると思ったら、今度はまたSQLからのメッセージである。

またしても、GitHubで問い合わせ。

https://github.com/ko-ichi-h/khcoder/issues/85

また数時間後に回答(しかも二つの方法)を頂き、両方共に成功。

ようやく、漱石の「こころ」の解析テストがクリアでき、KH Coderに入門できました。

その他の注意事項
プロジェクトをテストする際には、オリジナルのテキストファイルの読み込みから始めること。二度目、三度目でそれを怠ると、初期設定で「茶筅」を読み込む設定がそのまま残ってしまいMeCabを使ってくれない。