LinuxでKH Coderを使用する方法

Tips
2020年02月17日 10:00

概要

テキストマイニングで使えるツールとして、KH Coderというものがあります。

KH Coderは、Windows用で使う場合、インストーラが用意されているため、簡単にインストールできますが、Linuxでは中々インストールが面倒です。

今回は、LinuxへのKH Coderのインストール方法を説明します。

環境

  • KH Coder 3.Alpha.17j
  • R 3.6.1
  • Perl 5.30.1

MySQLのインストール

KH Coderは、Perlのプログラムですが、Perl以外にも色々とインストールする必要があります。

ここでは、まず最初に、MySQLのインストールをします。

MySQLの場合、OS毎のパッケージマネージャでインストールできることがほとんどです。

Ubuntuでインストールするコマンドは次のものです。

$ sudo apt install mysql-server mysql-client

この記事の執筆時点で、KH Coderはmysqlのバージョンが8以上だと認証でつまづくため、5.7あたりをインストールしましょう。

これで、MySQLのインストールができました。

Perlのインストール

Perlは、Linuxにデフォルトでインストールされているものを使っても構いません。

そのため、今回はLinuxに標準でインストールされているPerlを使用します。

KH Coderでは、いくつかのPerlのライブラリを使用します。

そのため、Perlのライブラリをインストールします。

次のURLを参考にインストールします。

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

次のコマンドでperlのライブラリをインストールする画面を開きます。

$ perl -MCPAN -e shell

インストールは次のコマンドを実行することでできます。

    install Jcode*
    install Tk*
    install DBI
    install DBD::CSV (allow testing, say y)
    install File::BOM*
    install Lingua::JA::Regular::Unicode (needs sudo)*
    install Net::Telnet
    install Excel::Writer::XLSX
    install DBD::mysql
    install Spreadsheet::ParseExcel::FmtJapan
    install Spreadsheet::ParseXLSX
    install Statistics::ChisqIndep*
    install Statistics::Lite*
    install Unicode::Escape*
    install Algorithm::NaiveBayes*
    install Lingua::Sentence*
    install Proc::Background

いくつかエラーが発生するかもしれませんが、その場合は無視するかその都度調べながらやってみましょう。

Rのインストール

KH CoderではRの環境を必要とします。

Rは、MySQLと同じようにOSのパッケージマネージャを使ってインストールすることができます。

Ubuntuでインストールするコマンドは次のものです。

$ sudo apt install r-base

さらに、Rのライブラリをインストールする必要があります。

次のコマンドでライブラリをインストールする画面を起動します。

$ R

インストールするためのコマンドは次のものになります。

    install.packages("ade4", dependencies=TRUE)
    install.packages("amap", dependencies=TRUE)
    install.packages("Cairo", dependencies=TRUE)
    install.packages("cluster", dependencies=TRUE)
    install.packages("codetools", dependencies=TRUE)
    install.packages("colorspace", dependencies=TRUE)
    install.packages("dichromat", dependencies=TRUE)
    install.packages("foreign", dependencies=TRUE)
    install.packages("ggdendro", dependencies=TRUE)
    install.packages("ggplot2", dependencies=TRUE)
    install.packages("ggnetwork", dependencies=TRUE)
    install.packages("ggsci", dependencies=TRUE)
    install.packages("gtable", dependencies=TRUE)
    install.packages("igraph", dependencies=TRUE)
    install.packages("KernSmooth", dependencies=TRUE)
    install.packages("lattice", dependencies=TRUE)
    install.packages("maptools", dependencies=TRUE)
    install.packages("MASS", dependencies=TRUE)
    install.packages("Matrix", dependencies=TRUE)
    install.packages("mgcv", dependencies=TRUE)
    install.packages("munsell", dependencies=TRUE)
    install.packages("nlme", dependencies=TRUE)
    install.packages("nnet", dependencies=TRUE)
    install.packages("permute", dependencies=TRUE)
    install.packages("pheatmap", dependencies=TRUE)
    install.packages("plyr", dependencies=TRUE)
    install.packages("proto", dependencies=TRUE)
    install.packages("RcolorBrewer", dependencies=TRUE)
    install.packages("Rcpp", dependencies=TRUE)
    install.packages("reshape2", dependencies=TRUE)
    install.packages("rgl", dependencies=TRUE)
    install.packages("rpart", dependencies=TRUE)
    install.packages("scales", dependencies=TRUE)
    install.packages("scatterplot3d", dependencies=TRUE)
    install.packages("slam", dependencies=TRUE)
    install.packages("som", dependencies=TRUE)
    install.packages("sp", dependencies=TRUE)
    install.packages("spatial", dependencies=TRUE)
    install.packages("stringr", dependencies=TRUE)
    install.packages("survival", dependencies=TRUE)
    install.packages("vegan", dependencies=TRUE)
    install.packages("wordcloud", dependencies=TRUE)

これで、Rの準備はできました。

MeCabのインストール

最後にKH Coderで使う形態素解析のエンジンとしてMeCabとその辞書データのインストールをします。

MeCabは次のURLからダウンロードします。

http://taku910.github.io/mecab/#download

ダウンロードしたものは解凍してインストールします。

$ tar zxvf mecab-0.996.tar.gz
$ cd mecab-0.996/
$ ./configure --with-charset=utf8
$ sudo make install

次に、辞書データのインストールをします。
辞書データは、最近の言葉にも対応しているmecab-ipadic-NEologdをインストールします。

$ git clone https://github.com/neologd/mecab-ipadic-neologd.git
$ cd mecab-ipadic-neologd
$ ./bin/install-mecab-ipadic-neologd -n

最後にMeCabの設定を変更して、辞書を読み込むようにします。

設定は/usr/local/etc/mecabrcで、dicdirの部分を次のように変更します。

dicdir =  /usr/local/lib/mecab/dic/mecab-ipadic-neologd

これで、MeCabのインストールができました。

KH Coderのインストール

最後に、KH Coderのインストールをします。

KH Coderは次のURLからダウンロードできます。

https://github.com/ko-ichi-h/khcoder/releases

基本的に最新のものをダウンロードしておけば大丈夫です。

ダウンロードしたものは解凍して適当な場所におきます。

KH Coderの中には、設定ファイルがあるため、最初に設定をしておきましょう。

基本的に必要な設定は、MySQLへの接続に必要な設定で、次の箇所にMySQLに接続するためのユーザ名とパスワードを設定します。

sql_username    ユーザ名
sql_password    パスワード

これで設定は終わりです。

KH Coderの起動は、KH Coder内のkh_coder.plというファイルを実行します。

$ perl kh_coder.pl

これで、KH Coderを起動できるはずです。

もし起動できないのであれば、エラーメッセージを参考にして起動できるようにしましょう。

設定の補足

KH Coderを使用する際に、ハマった部分として文字コードがあります。

KH CoderはデフォルトでShift_JISでテキストを読み込みます。しかしLinuxではUTF-8が基本的に使われるため、この部分でハマります。

これは、KH Coder起動後の画面でUTF-8を使用するように設定を変更することで解決することができます。

おそらく、LinuxでKH Coderを使うのであればこの設定はしておく必要があると思います。

さいごに

KH Coderを起動するまで、かなり大変でした。

LinuxでKH Coderを使用したいという人の参考になれば幸いです。