Linux環境でのROUGEとPyROUGEのインストール・設定・利用手順

  1. ROUGE のインストール

ROUGE は Perl 製の要約評価ツールであり、XML::DOM などの Perl モジュールに依存しています。以下に Linux 上での導入手順を示します。

1.1 Perl 環境の確認 ROUGE は Perl 5.6.0 以上を要します。以下のコマンドで現在のバージョンを確認してください:

perl -v

1.2 必要な Perl モジュールのインストール

ROUGE は以下のモジュール群を必要とします:

XML::Parser XML::RegExp LWP::UserAgent XML::Parser::PerlSAX XML::DOM DB_File

モジュールのインストールには、APT パッケージ管理と CPAN ベースのツールの両方が利用可能です。

▲ APT を用いた方法(推奨) 以下の化合物は CPAN を介さずにAPTで直接インストール可能です:

sudo apt update
sudo apt install libwww-perl libxml-perl libxml-dom-perl libdb-file-perl

XML::Parser と XML::RegExp は libwww-perl に含まれるため、明示的なインストールは不要です。

▲ CPAN ベースのモジュール管理 より細かい制御が必要な場合、cpanm を用いる方が導入がスムーズです。

# cpanm のインストール(未インストールの場合)
curl -L https://cpanmin.us | perl - App::cpanminus

# 必要モジュールのインストール
cpanm XML::Parser XML::DOM DB_File

※ DB_File のビルド時に /var/cache/apt/archives/ 空き容量不足で失敗するケースがあります。その場合、以下でキャッシュをクリアしてください:

sudo apt clean

1.3 ROUGE 本体の導入

公式リリース(ROUGE-1.5.5)を入手し、以下の手順で設定します:

# ダウンロード(例:GitHub 或いはユーザー提供リポジトリ)
wget https://github.com/AnyUser/ROUGE-RELEASE-1.5.5/archive/refs/heads/master.zip
unzip master.zip

# 環境変数の設定(data/ ディレクトリを指定)
export ROUGE_EVAL_HOME="/path/to/ROUGE-RELEASE-1.5.5/data/"

# 実行権限付与
chmod +x ROUGE-1.5.5.pl

# 動作確認
perl ROUGE-1.5.5.pl

以下のような出力が得られれば、基本的なインストールは成功しています:

ROUGE-1.5.5.pl: Running tests...
  1. PyROUGE のインストールと利用

Python から ROUGE を利用するためのラッパーとして pyrouge を利用します。pip での直接インストールには問題が生じることが多いため、GitHub からソースコードを取得し、手動でインストールする手法が推奨されます。

2.1 ソースコードからのインストール

# GitHub からリポジトリをクローン
git clone https://github.com/bheinzerling/pyrouge.git
cd pyrouge

# インストール
python3 setup.py install

# ROUGEパスの指定
pyrouge_set_rouge_path /path/to/ROUGE-RELEASE-1.5.5

2.2 動作確認

python3 -m pyrouge.test
# → "Ran X tests in Xs\nOK" と表示されれば正常終了

2.3 評価スクリプト(例) 以下は、candidate/ および reference/ ディレクトリ内の要約文書を比較して ROUGE スコアを算出する例です。

# rouge_eval.py
from pyrouge import Rouge155
import os

# 入力設定
system_dir = "./candidate/"
model_dir  = "./reference/"

# ファイル名規則の定義(正規表現パターン)
system_pattern = r"(\d+)_candidate.txt"
model_pattern  = r"#ID#_reference.txt"

# ラッパー初期化と設定
rouge = Rouge155()
rouge.system_dir = system_dir
rouge.model_dir  = model_dir
rouge.system_filename_pattern = system_pattern
rouge.model_filename_pattern = model_pattern

# ROUGE 評価実行
result = rouge.convert_and_evaluate()
print(result)
scores = rouge.output_to_dict(result)

# 標準出力用フォーマット
for metric, value in scores.items():
    print(f"{metric}: {value:.4f}")

ただし、要約文書の命名規則は厳密に以下の形式に従う必要があります:

candidate ディレクトリ:{id}_candidate.txt reference ディレクトリ:{id}_reference.txt

  1. よくある注意点と対処法

ROUGE パスの設定は 絶対パス を使用すること(相対パスでは失敗する場合あり) DB_File のビルド失敗時は、libdb-dev をインストール后再試行 sudo apt install libdb-dev

Perl 実行時に「 Can't locate XML...」というエラーが出た場合、モジュールがパスに載っていない可能性が高い

タグ: ROUGE pyrouge Perl XML::DOM ダークシングルトン

7月27日 03:56 投稿