【Linux】DockerでKH Coderを動かす!Bodhi Linux 7.0.0 & Ubuntu 22.04での導入ガイド

みなさん、こんにちは。

先日、テキストマイニングに関する記事を書きました。

 
テキストマイニングはRなどの統計ソフトを使って実施される場合が多いのですが、統計ソフトは機能が多すぎて少し難解です。テキストマイニングを実施する前に、操作の難解さに挫折してしまうかもしれません。

そこで活躍するのが「KH Coder」というテキストマイニング専用のソフトウェアです。KH Coderは、多変量解析や共起ネットワークなどの手法をGUIから実施でき、文書のコンセプトや特徴を探索することができます。

今回は、この「KH Coder」を、Bodhi Linux 7.0.0Ubuntu 22.04にインストールする方法をご紹介します。

 


 

KH CoderとLinux

 

KH CoderはWindows、Mac、そしてLinuxで動作するクロスプラットフォーム対応のソフトウェアです。

以前はベータ版として無料で利用できましたが、2023年12月に正式版のバージョン3がリリースされ、有料版の販売が始まりました。

現在無料で試したい場合、機能制限ありのStarting版(Windowsのみ)を使うか、GitHubから製品版より古いソースコードをダウンロードして自分で設定するかの2通りの方法しかありません。

今回のようにLinux環境でKH Coderを利用する場合は、基本的にソースコードから自分でセットアップする必要があります。本家GitHubにはUbuntu 20.04へのインストールを想定したVagrantfileが公開されており、これを参考にすればBodhi LinuxやUbuntu 22.04にもインストールできそうに見えます。

しかし、実際に調査を進めた結果、KH Coderを直接インストールすることは断念しました。その理由は、KH Coderの動作にはOpenJDK、MySQL、Rといったアプリケーションのバージョンが厳密に指定されており、これらを直接インストールすると他のアプリケーションとの競合が起こる可能性が非常に高いためです。

そこでたどり着いたのが、「Docker環境でKH Coderを動かす」という結論です。

幸運にも、すでにDockerでKH Coderを動作させた先駆者の方(KH Coder を Docker で動かす(2022))がいらっしゃったので、その情報を参考に、Bodhi Linux 7.0.0とUbuntu 22.04のDocker環境でKH Coderを動作させることに成功しました。

 


 

Docker環境でのKH Coderセットアップ手順

 

ここからは、具体的なインストール手順をご紹介します。

手順1: Dockerのインストール

まず、Dockerをインストールします。以下のコマンドを実行してください。

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update && sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

手順2: KH Coder in Dockerのインストール

次に、KH CoderをDockerで動かすための環境をダウンロード、設定します。

  1. KH Coder in Dockerのダウンロード

    git clone https://github.com/sinchiba-backyard/NL2E.git
    cd NL2E
    git submodule init
    git submodule update
     
  2. KH Coderのソースを最新に更新

    git submodule update --remote
     
  3. チュートリアル用ファイルのダウンロードと展開

    wget https://khcoder.net/tutorial_data_3x.zip
    unzip -x tutorial_data_3x.zip -d KHCoder/khcoder/
     
  4. Docker起動

    xhost +local:docker
    sudo docker compose up
     
  5. 不足モジュールのインストール
    nl2eのDockerイメージにはPerlモジュールが不足しているのでインストールします。

    sudo docker exec -it nl2e-nl2e-1 /bin/bash
    cpan install File::Copy::Recursive
    exit
     
  6. NL2Eフォルダ直下のdo.shの編集
    ダウンロードしたコードをそのまま実行するとDockerのコンテナ名が異なりエラーになるため、do.shの4行目と5行目を以下のように修正します。

    DOCKER_ID=${DIR_NAME}-mysql-1
    NL2E_DOCKER_ID=${DIR_NAME}-nl2e-1
     

手順3: KH Coderの実行と終了

いよいよKH Coderを起動します。

  1. KH Coderの実行
    NL2Eフォルダに移動し、以下のコマンドを実行します。

    sudo /bin/bash ./do.sh

    無事実行されると、KH Coderのウィンドウが表示されるはずです!
     
  2. KH Coderの終了手順
    KH Coderのウィンドウを閉じたら、以下のコマンドでDockerコンテナを終了させます。

    sudo docker compose down
     
KH Coder Menu
Linux版 KH Coder の画面

2回目以降の起動と終了

2回目以降は、少し起動手順が変わります。

  1. 起動
    NL2Eフォルダへ移動し、以下のコマンドを実行します。

    sudo docker compose up
    sudo docker exec -it nl2e-nl2e-1 /bin/bash
    cpan install File::Copy::Recursive
    cd /KHCoder/khcoder/
    /usr/bin/perl ./kh_coder.pl
     
  2. 終了
    KH Coderのウィンドウを閉じたら、Dockerから出てコンテナを終了させます。

    exit
    sudo docker compose down

 


 

参考: Dockerコンテナを完全に削除したい場合

 

Dockerが起動していない状態で以下のコマンドを実行すると、すべての停止中コンテナと未使用イメージが削除されます。間違って実行しないようにご注意ください。

sudo docker system prune -a

 


 

まとめ

 

これで、Bodhi Linux 7.0.0Ubuntu 22.04というLinux環境でも、快適にKH Coderを利用できる基盤が整いました。

今回の導入方法の最大のポイントは、やはりDockerを活用した点にあります。

KH Coderのような特定のバージョンに厳しく依存するアプリケーションは、直接Linuxシステムにインストールしようとすると、他のソフトウェアとの依存関係の競合や、複雑な環境構築の手間といった問題に直面しがちです。しかし、Dockerを使うことで、これらの問題をスマートに回避できます。Dockerコンテナは、必要なアプリケーションとその依存関係をすべてパッケージ化し、ホストシステムから隔離された環境で動作させるため、クリーンで安定した動作が実現します。

この方法であれば、Linux環境を汚すことなく、手軽にKH Coderを試すことが可能です。

テキストマイニングの世界に足を踏み入れたいけれど、環境構築でつまずきたくないという方は、ぜひ今回の手順を参考に、KH Coderの導入に挑戦してみてください。

 

本日も最後までお読みいただきありがとうございました。

それでは、よいテキストマイニングライフを!

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール