- 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...
- 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
- よくある注意点と対処法
ROUGE パスの設定は 絶対パス を使用すること(相対パスでは失敗する場合あり) DB_File のビルド失敗時は、libdb-dev をインストール后再試行 sudo apt install libdb-dev
Perl 実行時に「 Can't locate XML...」というエラーが出た場合、モジュールがパスに載っていない可能性が高い