従来のインストール方法だと個別にインストールするものが多く大変でしたが、オフィシャルアカウント様のアドバイスのおかげで、かなり簡単にインストールできました。
併せて、mecab の辞書として mecab-ipadic-NEologd も適用しています。
(2021/10/30 時点のインストール方法になります)
まっさらのUbuntu 20.04なら、KH CoderのインストールはVagrantfile内のコマンドを順に実行していくだけで完了すると思います。https://t.co/wN0hdZK8wj 昔に比べればだいぶ楽に? https://t.co/NbFv5Y8BcV
— KH Coder (@khcoder) October 30, 2021
手元の環境は以下になります。
- VirtualBox 6.1.26
- メモリ 6144MB
- Ubuntu 20.04 LTS
事前にcurl・vim・gcc・make・perlとGuest Additionsをインストールします。
sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt-get install -y curl vim gcc make perl
Perlのライブラリ・mecab・MySQLサーバーとMySQLクライアント・OpenJDK・RとRのライブラリをインストールします。
sudo apt-get install -y \
cpanminus \
fonts-ipafont-gothic \
libalgorithm-naivebayes-perl \
libclass-accessor-lite-perl \
libcryptx-perl \
libdbd-csv-perl \
libdbd-mysql-perl \
libdbi-perl \
libexcel-writer-xlsx-perl \
libextutils-config-perl \
libextutils-helpers-perl \
libextutils-installpaths-perl \
libfile-bom-perl \
libgraphics-colorutils-perl \
libgsl-dev \
libjcode-perl \
liblingua-sentence-perl \
libmodule-build-tiny-perl \
libnet-telnet-perl \
libproc-background-perl \
libspreadsheet-parseexcel-perl \
libstatistics-distributions-perl \
libstatistics-lite-perl \
libtest-requires-perl \
libtext-diff-perl \
libunicode-escape-perl \
libxml-twig-perl \
libxml2-dev \
libyaml-perl \
perl-tk \
mecab \
mysql-server \
mysql-client \
openjdk-8-jdk \
r-base-core \
r-cran-ade4 \
r-cran-amap \
r-cran-cairo \
r-cran-cluster \
r-cran-codetools \
r-cran-colorspace \
r-cran-dichromat \
r-cran-foreign \
r-cran-ggdendro \
r-cran-ggsci \
r-cran-gtable \
r-cran-igraph \
r-cran-kernsmooth \
r-cran-lattice \
r-cran-maptools \
r-cran-mass \
r-cran-matrix \
r-cran-mgcv \
r-cran-munsell \
r-cran-nlme \
r-cran-nnet \
r-cran-permute \
r-cran-pheatmap \
r-cran-plyr \
r-cran-proto \
r-cran-rcolorbrewer \
r-cran-rcpp \
r-cran-reshape2 \
r-cran-rgl \
r-cran-rpart \
r-cran-scales \
r-cran-scatterplot3d \
r-cran-slam \
r-cran-sp \
r-cran-spatial \
r-cran-stringr \
r-cran-survival \
r-cran-tm \
r-cran-vegan \
r-cran-wordcloud
個別に作業が必要なライブラリをインストールします。
sudo cpanm Lingua::JA::Regular::Unicode Statistics::ChisqIndep
sudo cpanm DOY/Spreadsheet-ParseXLSX-0.17.tar.gz
sudo Rscript -e 'install.packages(c("ggnetwork", "som", "topicmodels"))'
sudo Rscript -e 'install.packages("http://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_2.2.1.tar.gz", repos=NULL, type="source")'
KH Coderをインストールします。
KHCODER_VERSION=3.Beta.03a
curl -sLO https://github.com/ko-ichi-h/khcoder/archive/refs/tags/${KHCODER_VERSION}.tar.gz
tar xf ${KHCODER_VERSION}.tar.gz -C /home/(任意のユーザーディレクトリ)
ln -s /home/(任意のユーザーディレクトリ)/khcoder-${KHCODER_VERSION} /home/(任意のユーザーディレクトリ)/khcoder
curl -sLO https://nlp.stanford.edu/software/stanford-postagger-full-2015-04-20.zip
unzip stanford-postagger-full-2015-04-20.zip -d /home/(任意のユーザーディレクトリ)
MySQLの設定を編集します。(ファイルからのインポートを許可する)
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
以下のように追記します。
[mysqld]
local-infile=1
[client]
loose-local-infile=1
MySQLを再起動します。
systemctl restart mysql.service
MySQLにユーザーを作成し、権限を付与します。
sudo mysql -uroot -p
CREATE USER khcoder@localhost IDENTIFIED BY 'khcoder';
GRANT ALL ON *.* TO khcoder@localhost;
ここで一旦KH Coderを起動し、画面を閉じてKH Coderを終了します。(config/coder.iniが生成される)
cd khcoder
perl kh_coder.pl
KH Coderの設定を編集します。
vi config/coder.ini
以下のように編集します。
mecab_unicode UTF-8
mecabrc_path /etc/mecabrc
sql_username khcoder
sql_password khcoder
KH Coderを起動します。
cd khcoder
perl kh_coder.pl
サンプル用の csv ファイルを作成します。
vi test1.csv
以下のようなデータを記述して保存します。
contents
8月3日に放送された「中居正広の金曜日のスマイルたちへ」(TBS系)で、1日たった5分でぽっこりおなかを解消するというダイエット方法を紹介。キンタロー。のダイエットにも密着。
KH Coder を起動して「プロジェクト → 新規」とし、「参照」で作成した test1.csv を指定し、「ChaSen」ではなく「MeCab」を指定して「OK」とします。
「前処理 → テキストのチェック」を実行してから、「前処理 → 前処理の実行」を実行します。
最後に、「ツール → 抽出語 → 抽出語リスト」を選択します。(表示されるウィンドウが小さくて見切れている場合があるので、マウス等で適宜広げます)
以上で KH Coder のインストールは確認できました。
続いて、mecab コマンドを実行して動作を確認します。
mecab
8月3日に放送された「中居正広の金曜日のスマイルたちへ」(TBS系)で、1日たった5分でぽっこりおなかを解消するというダイエット方法を紹介。キンタロー。のダイエットにも密着。
8 名詞,数,*,*,*,*,*
月 名詞,一般,*,*,*,*,月,ツキ,ツキ
3 名詞,数,*,*,*,*,*
日 名詞,接尾,助数詞,*,*,*,日,ニチ,ニチ
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
放送 名詞,サ変接続,*,*,*,*,放送,ホウソウ,ホーソー
さ 動詞,自立,*,*,サ変・スル,未然レル接続,する,サ,サ
れ 動詞,接尾,*,*,一段,連用形,れる,レ,レ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
「 記号,括弧開,*,*,*,*,「,「,「
中居 名詞,固有名詞,人名,姓,*,*,中居,ナカイ,ナカイ
正広 名詞,固有名詞,人名,名,*,*,正広,マサヒロ,マサヒロ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
金曜日 名詞,副詞可能,*,*,*,*,金曜日,キンヨウビ,キンヨービ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
スマイル 名詞,一般,*,*,*,*,スマイル,スマイル,スマイル
たち 名詞,接尾,一般,*,*,*,たち,タチ,タチ
へ 助詞,格助詞,一般,*,*,*,へ,ヘ,エ
」( 名詞,サ変接続,*,*,*,*,*
TBS 名詞,一般,*,*,*,*,*
系 名詞,接尾,一般,*,*,*,系,ケイ,ケイ
) 名詞,サ変接続,*,*,*,*,*
で 助詞,格助詞,一般,*,*,*,で,デ,デ
、 記号,読点,*,*,*,*,、,、,、
1 名詞,数,*,*,*,*,*
日 名詞,接尾,助数詞,*,*,*,日,ニチ,ニチ
たっ 動詞,自立,*,*,五段・タ行,連用タ接続,たつ,タッ,タッ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
5 名詞,数,*,*,*,*,*
分 名詞,接尾,助数詞,*,*,*,分,フン,フン
で 助動詞,*,*,*,特殊・ダ,連用形,だ,デ,デ
ぽ 形容詞,接尾,*,*,形容詞・アウオ段,ガル接続,ぽい,ポ,ポ
っ 動詞,非自立,*,*,五段・カ行促音便,連用タ接続,く,ッ,ッ
こり 動詞,自立,*,*,一段,連用形,こりる,コリ,コリ
おなか 名詞,一般,*,*,*,*,おなか,オナカ,オナカ
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
解消 名詞,サ変接続,*,*,*,*,解消,カイショウ,カイショー
する 動詞,自立,*,*,サ変・スル,基本形,する,スル,スル
という 助詞,格助詞,連語,*,*,*,という,トイウ,トユウ
ダイエット 名詞,サ変接続,*,*,*,*,ダイエット,ダイエット,ダイエット
方法 名詞,一般,*,*,*,*,方法,ホウホウ,ホーホー
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
紹介 名詞,サ変接続,*,*,*,*,紹介,ショウカイ,ショーカイ
。 記号,句点,*,*,*,*,。,。,。
キンタロー 名詞,一般,*,*,*,*,*
。 記号,句点,*,*,*,*,。,。,。
の 助詞,連体化,*,*,*,*,の,ノ,ノ
ダイエット 名詞,サ変接続,*,*,*,*,ダイエット,ダイエット,ダイエット
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
も 助詞,係助詞,*,*,*,*,も,モ,モ
密着 名詞,サ変接続,*,*,*,*,密着,ミッチャク,ミッチャク
。 記号,句点,*,*,*,*,。,。,。
EOS
事前に mecab-ipadic-NEologd に必要なものをインストールします。(mecab はここまででインストール済み)
sudo apt-get install -y aptitude
sudo aptitude install libmecab-dev mecab-ipadic-utf8 git xz-utils file
mecab-ipadic-NEologd をインストールします。
git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git
cd mecab-ipadic-neologd
./bin/install-mecab-ipadic-neologd -n
インストール中のログに以下のようにインストール場所が明記されているので控えておきます。
[install-mecab-ipadic-NEologd] : mecab-ipadic-NEologd will be install to /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd
mecab の設定を編集します。
sudo vi /etc/mecabrc
以下のように編集します。(事前に控えておいた mecab-ipadic-NEologd インストール場所を記述します)
; dicdir = /var/lib/mecab/dic/debian
dicdir = /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd
mecab コマンドを実行して、固有名詞等が解析されていることを確認します。
mecab
8月3日に放送された「中居正広の金曜日のスマイルたちへ」(TBS系)で、1日たった5分でぽっこりおなかを解消するというダイエット方法を紹介。キンタロー。のダイエットにも密着。
8月3日 名詞,固有名詞,一般,*,*,*,8月3日,ハチガツミッカ,ハチガツミッカ
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
放送 名詞,サ変接続,*,*,*,*,放送,ホウソウ,ホーソー
さ 動詞,自立,*,*,サ変・スル,未然レル接続,する,サ,サ
れ 動詞,接尾,*,*,一段,連用形,れる,レ,レ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
「 記号,括弧開,*,*,*,*,「,「,「
中居正広の金曜日のスマイルたちへ 名詞,固有名詞,一般,*,*,*,中居正広の金曜日のスマイルたちへ,ナカイマサヒロノキンヨウビノスマイルタチヘ,ナカイマサヒロノキンヨービノスマイルタチヘ
」( 記号,一般,*,*,*,*,*
TBS 名詞,固有名詞,一般,*,*,*,TBS,ティービーエス,ティービーエス
系 名詞,接尾,一般,*,*,*,系,ケイ,ケイ
) 記号,一般,*,*,*,*,*
で 助動詞,*,*,*,特殊・ダ,連用形,だ,デ,デ
、 記号,読点,*,*,*,*,、,、,、
1日 名詞,固有名詞,一般,*,*,*,1日,ツイタチ,ツイタチ
たった 副詞,助詞類接続,*,*,*,*,たった,タッタ,タッタ
5分 名詞,固有名詞,一般,*,*,*,5分,ゴフン,ゴフン
で 助詞,格助詞,一般,*,*,*,で,デ,デ
ぽっこりおなか 名詞,固有名詞,一般,*,*,*,ぽっこりおなか,ポッコリオナカ,ポッコリオナカ
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
解消 名詞,サ変接続,*,*,*,*,解消,カイショウ,カイショー
する 動詞,自立,*,*,サ変・スル,基本形,する,スル,スル
という 助詞,格助詞,連語,*,*,*,という,トイウ,トユウ
ダイエット方法 名詞,固有名詞,一般,*,*,*,ダイエット方法,ダイエットホウホウ,ダイエットホウホー
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
紹介 名詞,サ変接続,*,*,*,*,紹介,ショウカイ,ショーカイ
。 記号,句点,*,*,*,*,。,。,。
キンタロー。 名詞,固有名詞,一般,*,*,*,キンタロー。,キンタロー,キンタロー
の 助詞,連体化,*,*,*,*,の,ノ,ノ
ダイエット 名詞,サ変接続,*,*,*,*,ダイエット,ダイエット,ダイエット
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
も 助詞,係助詞,*,*,*,*,も,モ,モ
密着 名詞,サ変接続,*,*,*,*,密着,ミッチャク,ミッチャク
。 記号,句点,*,*,*,*,。,。,。
EOS
サンプル用の csv ファイルを作成します。(念のため、test2としてファイル名を変えてます)
vi test2.csv
以下のようなデータを記述して保存します。
contents
8月3日に放送された「中居正広の金曜日のスマイルたちへ」(TBS系)で、1日たった5分でぽっこりおなかを解消するというダイエット方法を紹介。キンタロー。のダイエットにも密着。
KH Coder を起動して test2.csv を指定し、前処理を実行して抽出語リストを表示します。
実際に固有名詞等が抽出されているか確認します。
以上で mecab-ipadic-NEologd の適用も確認できました。
参考になった記事
khcoder/doc_contrib/Vagrantfile
KH Coder を Ubuntu にインストールする(2021)
mecab-ipadic-neologd/README.md
Ubuntu 20.04 LTSにMeCab(mecab-ipadic-neologd)/CaboChaのインストール