2021-05-12 14:32:11
Ubuntu安裝設定ROUGE教學
前言
這次做自然語言處理的作業,是關於多文件摘要生成的,其中對於生成的摘要進行效果測評需要用到ROUGE(不是那個文字高亮的外掛!!)。沒想到安裝這個軟體這麼麻煩,於是寫個部落格造福後人了。
ROUGE簡介
ROUGE是由微軟亞洲研究院知識挖掘組(The Knowledge Mining group at Microsoft Research Asia)調研經理(research manager) Chin-Yew Lin 研發的,用於摘要的自動評價,通過比較機器自動生成的摘要(called system_summary)與人工生成的摘要(called model_summary, 認為它是理想的)中重疊單元的數量,來評價機器自動生成的摘要。該方法中考慮的重疊單元有n-gram, word sequences, word-pairs等,並提出了四個測量標準ROUGE-N, ROUGE-L, ROUGE-W, ROUGE-S。
該包用Perl語言編寫,目前版本為ROUGE-1.5.5。
ROUGE安裝教學
說實話ROUGE真心是難裝,按理說在Ubuntu下幾行命令就應該要安裝成功一個程式,可是ROUGE完全沒有體現這一點。
安裝要求
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所在路徑
獲取方法
現在不知道官網是哪個了,不過可以從github上獲取,也可以從我的Linux公社資源站(1.5.5版本)獲取,另外其他依賴的模組包我也放進這個連結裡了,可以一起下載省去尋找的麻煩。
可以到Linux公社資源站下載:
------------------------------------------分割線------------------------------------------
免費下載地址在 http://linux.linuxidc.com/
使用者名稱與密碼都是www.linuxidc.com
具體下載目錄在 /2018年資料/9月/22日/Ubuntu安裝設定ROUGE教學/
下載方法見 http://www.linuxidc.com/Linux/2013-07/87684.htm
------------------------------------------分割線------------------------------------------
安裝過程
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.gz1
進入解壓得到的資料夾並開始安裝。
cd XML-Parser-2.44
perl Makefile.PL
make
make test # if %%%Result看到PASS為成功就繼續,否則仔細看哪個case報錯了
sudo make install # if %%%必須要sudo,否則可能沒有讀寫檔案的許可權12345
step3: 安裝XML::RegExp
參考step2安裝
step4: 安裝LWP::UserAgent
LWP::UserAgent是libwww-perl中的一部分,直接用apt-get安裝就好啦。
sudo apt-get update
sudo apt-get install libwww-perl12
step5: 安裝XML::Parser::PerlSAX
這個模組是libxml-perl中的一部分,也可以直接用apt-get安裝(其實我在想前面幾個模組能不能也這麼安裝)。
sudo apt-get install libxml-perl1
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 2551234567891011
可以用這兩行命令修復一下。
sudo apt-get install -f
sudo apt-get update --fix-missing 12
step7: 安裝DB_File
先獲得DB_File的安裝包,可以用如下命令,也可以從我給的網路硬碟連結裡直接下載。
sudo wget http://www.cpan.org/authors/id/P/PM/PMQS/DB_File-1.835.tar.gz1
接下來如同step2,進入資料夾後使用perl命令安裝。
cd DB_File-1.835
perl Makefile.PL
make
make test # if %%%看到PASS為成功
sudo make install12345
在make的時候如果出錯如下:
version.c:30:16: fatal error: db.h: 沒有那個檔案或目錄
compilation terminated.
Makefile:360: recipe for target 'version.o' failed
make: *** [version.o] Error 11234
說明未安裝Berkeley DB library,或安裝不正確。解決方法如下:
sudo apt-get install libdb-dev1
如果還沒有用,可能是沒有安裝對應的版本,先使用
sudo apt-cache search libdb1
檢視當前Berkeley DB library 的版本,然後再安裝對應的版本.
sudo apt-get install libdb5.3-dev1
step8: 設定ROUGE環境變數
設定環境變數ROUGE_EVAL_HOME,假設你解壓的ROUGE-1.5.5在/usr/local/RELEASE-1.5.5,則:
sudo gedit etc/profile %%%這樣對所有使用者都有效,若希望僅對當前使用者有效則輸入sudo gedit ~/.profile 1
在跳出來的文字編輯器末尾新增 :
export ROUGE_EVAL_HOME="$ROUGE_EVAL_HOME:/usr/local/RELEASE-1.5.5/data"1
step9: 測試安裝是否成功
以上步驟都進行完畢後,怎麼知道自己的ROUGE是否安裝設定成功了呢?可以進入ROUGE檔案所在路徑(即RELEASE-1.5.5),然後執行一下runROUGE-test.pl檔案。
perl runROUGE-test.pl1
如果有以下輸出,且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.out123456789101112131415
至此就全部大功告成啦!
Ubuntu安裝設定pyrouge
之前設定pyrouge是很麻煩的事,安裝完之後會各種報錯,解決起來令人頭皮發麻。
這次重新安裝ROUGE和pyrouge,找到了一種簡潔的安裝pyrouge的方法,不會出錯,非常方便。記錄一下。
很簡單,就是幾行命令。
git clone https://github.com/bheinzerling/pyrouge
cd pyrouge
python setup.py install
python -m pyrouge.test1234
在最後一步,python -m pyrouge.test前,要設定rouge路徑。
pyrouge_set_rouge_path /absolute/path/to/ROUGE-1.5.5/directory1
例如我的ROUGE檔案放在了/usr/local/RELEASE-1.5.5下,就設定為
pyrouge_set_rouge_path /usr/local/RELEASE-1.5.5
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx
本文永久更新連結地址:https://www.linuxidc.com/Linux/2018-09/154295.htm
相關文章