SumEvalというPythonのテキスト評価用のライブラリを試してみた

SumEvalというPythonのテキスト評価用のライブラリを試すための環境構築です。

環境の構築はCentOS7系でPython3.6で実施しました。

SumEvalの詳しい説明は以下になります。

・ROUGEを訪ねて三千里:より良い要約の評価を求めて
https://qiita.com/icoxfog417/items/65faecbbe27d3c53d212

  • ROUGE-Xスコアという様々なテキスト要約の評価が行えます。
  • BLEUスコアという同じ値のスコアリング集計をした評価が行えます。

実際には係り受けなど文章としての要約をしたスコアリングなど評価が実施できるので様々な点で利用ができます。

 

sumEvalのインストール

sumEvalの利用にあたっては以下などが必要になります。

  • Basic Elementの実装に必要な構文解析で英語圏はspaCyが必要
  • Basic Elementの実装に必要な構文解析で日本語圏はCaboChaが必要
  • CaboChaのインストールにMecabやCRF++が必要
  • 日本語の解析ではjanomeかMecabが必要
  • テストにpythonrougeとrougescoreが必要

今回は全部入れてみました。

spaCyのインストール

・公式サイト
https://githubja.com/explosion/spacy

インストールは以下で実施します。

 

Janomeのインストール

・公式サイト
https://github.com/mocobeta/janome

インストールは以下で実施します。

 

pythonrougeのインストール

・公式サイト
https://github.com/tagucci/pythonrouge

インストールは以下で実施します。

 

rougescoreeのインストール

・公式サイト
https://github.com/bdusell/rougescore

インストールは以下で実施します。

 

sumEvalのインストール

・公式サイト
https://github.com/chakki-works/sumeval

インストールは以下で実施します。

 

ここまででsumEval自体のインストールは完了で、ROUGE-BEの日本語の評価以外は実施できます。

ただ、以下では折角なのでROUGE-BEの日本語の評価に必要なCaboChaのインストールを行います。

 

CaboChaのインストール

インストールにあたっては以下のサイトを参考にしました。

・Python3で形態素解析エンジンMeCabを使えるようにする(2016年3月版)
https://qiita.com/osyou-create/items/c7864a5200238d8678aa

・python3からcabochaを使ってみる
https://qiita.com/osyou-create/items/4e2f686d82bf9e1166e8

 

Groongaリポジトリを導入

 

Mecab本体+その他諸々のインストール

 

CRF++のインストール

 

CaboChaのインストール

こちらから最新版を取得して「/tmp」に保存します。
https://drive.google.com/drive/folders/0B4y35FiV1wh7cGRCUUJHVTNJRnM

 

CaboChaのPythonライブラリのインストール

こちらでインストールは完了です。

それでは評価してみます。

 

SumEvalでの日本語の評価

まず、BLEUでのテストを行います。

 

以下が結果です。

 

正直、ちょっとわかりにくいかなという印象でした。

「score_ja1」だけが飛び抜けてスコアが高くなってしまったので、少し難しいかなという印象です。

 

次にROUGEでの評価です。

 

以下が結果です。

 

こちらは少し差が出ました。

ただ、ROUGE-BEだと値が0になります。

少し条件を変えての評価です。

 

以下が結果です。

ROUGE-BEでの値はでましたが、ROUGE-Nが値が出ないようで。

評価ももう少し実施していくと値の精度が良いものが出るかもしれません。