xml放在工程的那个路径下_Ubuntu下配置pyrouge
前言
這次做自然語言處理的作業(yè),是關(guān)于多文檔摘要生成的,其中對于生成的摘要進(jìn)行效果測評需要用到ROUGE(不是那個文本高亮的插件!!)。沒想到安裝這個軟件這么麻煩,于是寫個博客造福后人了。
ROUGE簡介
ROUGE是由微軟亞洲研究院知識挖掘組(The Knowledge Mining group at Microsoft Research Asia)調(diào)研經(jīng)理(research manager) Chin-Yew Lin 研發(fā)的,用于摘要的自動評價,通過比較機(jī)器自動生成的摘要(called system_summary)與人工生成的摘要(called model_summary, 認(rèn)為它是理想的)中重疊單元的數(shù)量,來評價機(jī)器自動生成的摘要。該方法中考慮的重疊單元有n-gram, word sequences, word-pairs等,并提出了四個測量標(biāo)準(zhǔn)ROUGE-N, ROUGE-L, ROUGE-W, ROUGE-S。
該包用Perl語言編寫,目前版本為ROUGE-1.5.5。
ROUGE安裝教程
說實(shí)話ROUGE真心是難裝,按理說在Ubuntu下幾行命令就應(yīng)該要安裝成功一個程序,可是ROUGE完全沒有體現(xiàn)這一點(diǎn)。
安裝要求
1. 需要安裝perl解釋器(ubuntu 系統(tǒng)已自帶, 通過perl -v可查看當(dāng)前版本);
2. 需要額外安裝perl解釋器的XML::DOM模塊以及DB_File模塊,而XML::DOM的安裝又需要XML::RegExp、XML::Parser、LWP::UserAgent和XML::Parser::PerlSAX模塊(對,就是這么惡心);
3. 設(shè)置系統(tǒng)環(huán)境變量ROUGE_EVAL_HOME,需要設(shè)置為ROUGE安裝目錄下詞庫data所在路徑
獲取方法
現(xiàn)在不知道官網(wǎng)是哪個了,不過可以從github上獲取,也可以從百度網(wǎng)盤獲取,另外其他依賴的模塊包我也放進(jìn)這個網(wǎng)盤鏈接里了,可以一起下載省去尋找的麻煩。
安裝過程
step1: 檢查perl版本
因為DOM要求perl版本要在5.6.0以上,所以先在終端用perl -v查看一下當(dāng)前版本,版本較低的話先升級一下perl。
step2: 安裝XML::Parser
假設(shè)使用我百度網(wǎng)盤里的文件,將XML-Parser-2.44.tar解壓到當(dāng)前文件夾或指定路徑。
tar -zxvf XML-Parser-2.44.tar.gz 進(jìn)入解壓得到的文件夾并開始安裝。
cd XML-Parser-2.44
perl Makefile.PL
make make test # if %%%Result看到PASS為成功就繼續(xù),否則仔細(xì)看哪個case報錯了
sudo make install # if %%%必須要sudo,否則可能沒有讀寫文件的權(quán)限 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安裝(其實(shí)我在想前面幾個模塊能不能也這么安裝)。
sudo apt-get install libxml-perl step6: 安裝XML::DOM
如果前面幾個都沒問題的話,到這里應(yīng)該也能一遍過了,繼續(xù)參考step2的方法,進(jìn)入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 可以用這兩行命令修復(fù)一下。
sudo apt-get install -fsudo apt-get update --fix-missing step7: 安裝DB_File
先獲得DB_File的安裝包,可以用如下命令,也可以從我給的網(wǎng)盤鏈接里直接下載。
sudo wget http://www.cpan.org/authors/id/P/PM/PMQS/DB_File-1.835.tar.gz 接下來如同step2,進(jìn)入文件夾后使用perl命令安裝。
cd DB_File-1.835
perl Makefile.PL
make make test # if %%%看到PASS為成功
sudo make install 在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 如果還沒有用,可能是沒有安裝對應(yīng)的版本,先使用
sudo apt-cache search libdb 查看當(dāng)前Berkeley DB library 的版本,然后再安裝對應(yīng)的版本.
sudo apt-get install libdb5.3-dev step8: 設(shè)置ROUGE環(huán)境變量
設(shè)置環(huán)境變量ROUGE_EVAL_HOME,假設(shè)你解壓的ROUGE-1.5.5在/usr/local/RELEASE-1.5.5,則:
export ROUGE_EVAL_HOME="$ROUGE_EVAL_HOME:/usr/local/RELEASE-1.5.5/data" 或者
export PATH="/usr/local/RELEASE-1.5.5/data"
export ROUGE_EVAL_HOME="/usr/local/RELEASE-1.5.5/data" step9: 測試安裝是否成功
以上步驟都進(jìn)行完畢后,怎么知道自己的ROUGE是否安裝配置成功了呢?可以進(jìn)入ROUGE文件所在路徑(即RELEASE-1.5.5),然后運(yùn)行一下runROUGE-test.pl文件。
perl runROUGE-test.pl 如果有以下輸出,且sample-output路徑下各個文件都有內(nèi)容的話,基本是安裝成功了。
../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 至此就全部大功告成啦!
設(shè)置pyrouge path
假設(shè)之前安裝的ROUGE-1.5.5在/usr/local/ROUGE-1.5.5, 運(yùn)行指令
python pyrouge_set_rouge_path /usr/local/ROUGE-1.5.5安裝pyrouge
git clone https://github.com/bheinzerling/pyrouge cd pyrouge sudo python setup.py install python -m pyrouge.tes 接著進(jìn)入pathto/RELEASE1.5.5/samples_output中查看輸出是否為空,如果全部有輸出則配置成功。
---------------------
作者:TaeyangLucky
總結(jié)
以上是生活随笔為你收集整理的xml放在工程的那个路径下_Ubuntu下配置pyrouge的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 憋了好久了,想问大家一个问题,都说杨幂情
- 下一篇: 弟弟妹妹们来回答,你的姐姐真的很爱你吗?