Rouge的安裝與使用

原文鏈接:https://blog.csdn.net/wr339988/article/details/70165090

這個坑實在太深了,總結幾位大佬博客,彙總了可能出現的問題。願爲後人照福吧。

步驟

1. 需要安裝perl解釋器(ubuntu 系統已自帶, 通過perl -v可查看當前版本);

2. 需要額外安裝perl解釋器的XML::DOM模塊以及DB_File模塊,而XML::DOM的安裝又需要XML::RegExp、XML::Parser、LWP::UserAgent和XML::Parser::PerlSAX模塊(對,就是這麼噁心);

3. 設置系統環境變量ROUGE_EVAL_HOME,需要設置爲ROUGE安裝目錄下詞庫data所在路徑

4.修改執行路徑
獲取

可以從github上獲取,也可以從我的百度網盤(1.5.5版本)獲取,另外其他依賴的模塊包我也放進這個網盤鏈接裏了,可以一起下載省去尋找的麻煩

安裝

step1: 檢查perl版本

因爲DOM要求perl版本要在5.6.0以上,所以先在終端用perl -v查看一下當前版本,版本較低的話先升級一下perl。

step2: 安裝XML::Parser

假設使用我百度網盤裏的文件,將XML-Parser-2.44.tar解壓到當前文件夾或指定路徑
 

tar -zxvf XML-Parser-2.44.tar.gz

cd XML-Parser-2.44

perl Makefile.PL 

make 

make test # if %%%Result看到PASS爲成功就繼續,否則仔細看哪個case報錯了 

sudo make install # if %%%必須要sudo,否則可能沒有讀寫文件的權限

step3: 安裝XML::RegExp

step2

step4: 安裝LWP::UserAgent

LWP::UserAgent是libwww-perl中的一部分,直接用apt-get安裝就好啦。

sudo apt-get update
sudo apt-get install libwww-perl

step5: 安裝XML::Parser::PerlSAX

這個模塊是libxml-perl中的一部分,也可以直接用apt-get安裝(其實我在想前面幾個模塊能不能也這麼安裝)。

sudo apt-get install libxml-perl

step6: 安裝XML::DOM

如果前面幾個都沒問題的話,到這裏應該也能一遍過了,繼續參考step2的方法,進入XML::DOM的安裝包路徑,用perl安裝即可。如果在make test的時候還報錯如下:

Test Summary Report
-------------------
t/build_dom.t       (Wstat: 512 Tests: 1 Failed: 1)
  Failed test:  1
  Non-zero exit status: 2
  Parse errors: Bad plan.  You planned 2 tests but ran 1.
Files=21, Tests=128,  2 wallclock secs ( 0.07 usr  0.01 sys +  1.56 cusr  0.10 csys =  1.74 CPU)
Result: FAIL
Failed 1/21 test programs. 1/128 subtests failed.
Makefile:968: recipe for target 'test_dynamic' failed
make: *** [test_dynamic] Error 255

可以用這兩行命令修復一下。

sudo apt-get install -f
sudo apt-get update --fix-missing 

step7: 安裝DB_File

同step2

在make的時候如果出錯如下:

version.c:30:16: fatal error: db.h: 沒有那個文件或目錄
compilation terminated.
Makefile:360: recipe for target 'version.o' failed
make: *** [version.o] Error 1

說明未安裝Berkeley DB library,或安裝不正確。解決方法如下:

sudo apt-get install libdb-dev

如果還沒有用,可能是沒有安裝對應的版本,先使用

sudo apt-cache search libdb

查看當前Berkeley DB library 的版本,然後再安裝對應的版本.

sudo apt-get install libdb5.3-dev

step8: 設置ROUGE環境變量

設置環境變量ROUGE_EVAL_HOME,假設你解壓的ROUGE-1.5.5在/usr/local/RELEASE-1.5.5,則:(二選一)

sudo gedit etc/profile  %%%這樣對所有用戶有效
sudo gedit ~/.profile   %%%這樣對當前用戶有效

在跳出來的文本編輯器末尾添加 :

export ROUGE_EVAL_HOME="$ROUGE_EVAL_HOME:/usr/local/RELEASE-1.5.5/data"

step9: 測試安裝是否成功

以上步驟都進行完畢後,怎麼知道自己的ROUGE是否安裝配置成功了呢?可以進入ROUGE文件所在路徑(即RELEASE-1.5.5),然後運行一下runROUGE-test.pl文件。

perl runROUGE-test.pl

如果有以下輸出,且sample-output路徑下各個文件都有內容的話,基本是安裝成功了。

../ROUGE-1.5.5.pl -e ../data -c 95 -2 -1 -U -r 1000 -n 4 -w 1.2 -a ROUGE-test.xml > ../sample-output/ROUGE-test-c95-2-1-U-r1000-n4-w1.2-a.out
../ROUGE-1.5.5.pl -e ../data -c 95 -2 -1 -U -r 1000 -n 4 -w 1.2 -a -m ROUGE-test.xml > ../sample-output/ROUGE-test-c95-2-1-U-r1000-n4-w1.2-a-m.out
../ROUGE-1.5.5.pl -e ../data -c 95 -2 -1 -U -r 1000 -n 4 -w 1.2 -a -m -s ROUGE-test.xml > ../sample-output/ROUGE-test-c95-2-1-U-r1000-n4-w1.2-a-m-s.out
^C../ROUGE-1.5.5.pl -e ../data -c 95 -2 -1 -U -r 1000 -n 4 -w 1.2 -l 10 -a ROUGE-test.xml > ../sample-output/ROUGE-test-c95-2-1-U-r1000-n4-w1.2-l10-a.out
../ROUGE-1.5.5.pl -e ../data -c 95 -2 -1 -U -r 1000 -n 4 -w 1.2 -l 10 -a -m ROUGE-test.xml > ../sample-output/ROUGE-test-c95-2-1-U-r1000-n4-w1.2-l10-a-m.out
../ROUGE-1.5.5.pl -e ../data -c 95 -2 -1 -U -r 1000 -n 4 -w 1.2 -l 10 -a -m -s ROUGE-test.xml > ../sample-output/ROUGE-test-c95-2-1-U-r1000-n4-w1.2-l10-a-m-s.out
../ROUGE-1.5.5.pl -e ../data -c 95 -2 -1 -U -r 1000 -n 4 -w 1.2 -b 75 -a ROUGE-test.xml > ../sample-output/ROUGE-test-c95-2-1-U-r1000-n4-w1.2-b75-a.out
../ROUGE-1.5.5.pl -e ../data -c 95 -2 -1 -U -r 1000 -n 4 -w 1.2 -b 75 -a -m ROUGE-test.xml > ../sample-output/ROUGE-test-c95-2-1-U-r1000-n4-w1.2-b75-a-m.out
../ROUGE-1.5.5.pl -e ../data -c 95 -2 -1 -U -r 1000 -n 4 -w 1.2 -b 75 -a -m -s ROUGE-test.xml > ../sample-output/ROUGE-test-c95-2-1-U-r1000-n4-w1.2-b75-a-m-s.out
../ROUGE-1.5.5.pl -e ../data -3 HM -z SIMPLE DUC2002-BE-F.in.26.lst 26 > ../sample-output/DUC2002-BE-F.in.26.lst.out
../ROUGE-1.5.5.pl -e ../data -3 HM DUC2002-BE-F.in.26.simple.xml 26 > ../sample-output/DUC2002-BE-F.in.26.simple.out
../ROUGE-1.5.5.pl -e ../data -3 HM -z SIMPLE DUC2002-BE-L.in.26.lst 26 > ../sample-output/DUC2002-BE-L.in.26.lst.out
../ROUGE-1.5.5.pl -e ../data -3 HM DUC2002-BE-L.in.26.simple.xml 26 > ../sample-output/DUC2002-BE-L.in.26.simple.out
../ROUGE-1.5.5.pl -e ../data -n 4 -z SPL DUC2002-ROUGE.in.26.spl.lst 26 > ../sample-output/DUC2002-ROUGE.in.26.spl.lst.out
../ROUGE-1.5.5.pl -e ../data -n 4 DUC2002-ROUGE.in.26.spl.xml 26 > ../sample-output/DUC2002-ROUGE.in.26.spl.out

step10:執行路徑修改

如果執行時候報以下錯誤:

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/pyrouge/tests/Rouge155_test.py", line 138, in test_config_file
    rouge = Rouge155()
  File "/usr/local/lib/python3.6/dist-packages/pyrouge/Rouge155.py", line 88, in __init__
    self.__set_rouge_dir(rouge_dir)
  File "/usr/local/lib/python3.6/dist-packages/pyrouge/Rouge155.py", line 402, in __set_rouge_dir
    self._home_dir = self.__get_rouge_home_dir_from_settings()
  File "/usr/local/lib/python3.6/dist-packages/pyrouge/Rouge155.py", line 416, in __get_rouge_home_dir_from_settings
    with open(self._settings_file) as f:
FileNotFoundError: [Errno 2] No such file or directory: '/home/admin/.pyrouge/settings.ini'

最後需要用命令pyrouge執行到當前變量路徑:

pyrouge_set_rouge_path /usr/local/ROUGE-1.5.5

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章