樋口耕一 社会調査のための計量テキスト分析
の著者によるもの。
とりあえずインストールから。サイトはこちら 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とパスワードの設定ができていないようだ。
こちらを参照したがよくわからない状態。(今日はこれまで)
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
のようにスーパーユーザで入らないとうまく行かない。これはパスワード設定後に入り直す際も同じ。これに気づくのにしばらくかかった。
- rootからkh_coderでアクセするためのID(kh_coder)をつくる
https://qiita.com/waterada/items/b06a32a2b3afd4aac901 -
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を使ってくれない。