Pyrouge เป็น wrapper Python สำหรับแพ็คเกจการประเมินผลการสรุป Rouge การทำงาน Rouge อาจต้องใช้เวลาสักครู่ Pyrouge ได้รับการออกแบบมาเพื่อให้คะแนน Rouge ง่ายขึ้นโดยการแปลงบทสรุปของคุณให้เป็นรูปแบบ Rouge โดยอัตโนมัติและสร้างไฟล์การกำหนดค่ารูจโดยอัตโนมัติ
คุณสามารถประเมินบทสรุปข้อความธรรมดาของคุณเช่นนี้:
จาก Pyrouge นำเข้า Rouge155 r = rouge155 () r.system_dir = 'path/to/system_summaries' r.model_dir = 'path/to/model_summaries' r.system_filename_pattern = 'some_name. ( d+). txt' r.model_filename_pattern = 'some_name. [az].#id#.txt' เอาต์พุต = r.convert_and_evaluate () พิมพ์ (เอาท์พุท) output_dict = r.Output_to_dict (เอาต์พุต)
ในการประเมินบทสรุป Rouge จำเป็นต้องรู้ว่าบทสรุปของคุณและบทสรุปมาตรฐานทองคำอยู่ที่ใดและจะจับคู่พวกเขาได้อย่างไร ในการพูดจารูจบทสรุปของคุณคือบทสรุป 'ระบบ' และบทสรุปมาตรฐานทองคำเป็นบทสรุป 'โมเดล' บทสรุปควรอยู่ในโฟลเดอร์แยกต่างหากซึ่งมีการตั้งค่าเส้นทางด้วยตัวแปร system_dir และ model_dir บทสรุปทั้งหมดควรมีหนึ่งประโยคต่อบรรทัด
เพื่อให้ตรงกับการสรุประบบโดยอัตโนมัติกับบทสรุปโมเดลที่สอดคล้องกัน Pyrouge ใช้นิพจน์ทั่วไป ตัวอย่างเช่นสมมติว่าการสรุประบบของคุณมีการตั้งชื่อด้วยการรวมกันของชื่อคงที่และรหัสตัวเลขตัวแปรเช่นนี้:
และบทสรุปแบบจำลองเช่นนี้ด้วยตัวอักษรตัวพิมพ์ใหญ่ระบุบทสรุปหลายรุ่นสำหรับเอกสารที่กำหนด:
กลุ่มใน system_filename_pattern บอก pyrouge ว่าส่วนใดของชื่อไฟล์คือ ID - ในกรณีนี้ (d+) คุณต้องใช้วงเล็บกลมเพื่อระบุกลุ่มมิฉะนั้น Pyrouge จะไม่สามารถแยก ID ออกจากชื่อไฟล์ที่เหลือได้ Pyrouge จะใช้ ID นั้นเพื่อค้นหาบทสรุปโมเดลที่ตรงกันทั้งหมด ตัวยึดตำแหน่งพิเศษ #ID# บอก Pyrouge ว่าควรคาดหวังว่า ID ใน model_filename_pattern จะอยู่ที่ไหน ชิ้นส่วน [AZ] ตรงกับบทสรุปหลายรุ่นสำหรับ ID นั้น
ด้วยการกำหนดค่าเสร็จสิ้นการเรียกใช้ convert_and_evaluate() ทำให้คุณได้คะแนน Rouge เป็นสตริง หากคุณต้องการประมวลผลคะแนนเพิ่มเติมคุณสามารถแยกวิเคราะห์เอาต์พุตลงใน dict ด้วย output_to_dict(output)
หากต้องการแปลงบทสรุปข้อความธรรมดาเป็นรูปแบบ Rouge เข้าใจให้ทำ:
จาก Pyrouge นำเข้า Rouge155 rouge155.convert_summaries_to_rouge_format (system_input_dir, system_output_dir) rouge155.convert_summaries_to_rouge_format (model_input_dir, model_output_dir)
สิ่งนี้จะแปลงบทสรุปทั้งหมดใน system_input_dir และ model_input_dir และบันทึกไว้ในไดเรกทอรีเอาต์พุตที่เกี่ยวข้อง
ในการสร้างไฟล์การกำหนดค่าที่ Rouge ใช้ในการจับคู่ระบบและสรุปโมเดลให้ทำ:
จาก Pyrouge นำเข้า Rouge155
rouge155.write_config_static (
system_dir, system_filename_pattern,
model_dir, model_filename_pattern,
config_file_path)
อาร์กิวเมนต์สี่ข้อแรกอธิบายไว้ข้างต้น config_file_path ระบุตำแหน่งที่จะบันทึกไฟล์การกำหนดค่า
หากคุณต้องการบรรทัดคำสั่งเป็น Python และโมดูล Pyrouge คุณสามารถใช้สคริปต์ต่อไปนี้ซึ่งติดตั้งโดยอัตโนมัติและควรเรียกใช้จากที่ใดก็ได้ในระบบของคุณ:
pyrouge_evaluate_plain_text_files -s systems_plain/ -sfp "some_name. ( d+). txt" -m models_plain/ -mfp some_name. [az].#id#.txt
sample-test/SL2003 ที่มาพร้อมกับ Rouge:pyrouge_evaluate_rouge_format_files -s ระบบ -sfp "Sl.p.10.r.11.sl062003 -( d+). html" -m รุ่น -mfp sl.p.10.r.
โปรดทราบว่ารูปแบบชื่อไฟล์ของระบบนั้นอยู่ในเครื่องหมายใบเสนอราคาเนื่องจากมีอักขระพิเศษ
pyrouge_convert_plain_text_to_rouge_format -i models_plain/ -o models_rouge
pyrouge_write_config_file -s Systems -sfp "Sl.p.10.r.11.sl062003 -( d+). html" -m รุ่น -mfp sl.p.10.r. [az] .sl062003-#id#.
การรันสิ่งเหล่านี้ด้วยตัวเลือก -h จะแสดงข้อความการใช้งานที่อธิบายตัวเลือกบรรทัดคำสั่งต่างๆ
คำแนะนำเกี่ยวกับการติดตั้งรูจสามารถพบได้ที่นี่
ขึ้นอยู่กับระบบของคุณคุณอาจต้องเรียกใช้คำสั่งต่อไปนี้เป็นรูท
ในการติดตั้ง Pyrouge ให้เรียกใช้:
Pip Install Pyrouge
หากคุณมีปัญหาในการติดตั้ง Pyrouge บน Windows โปรดตรวจสอบคู่มือนี้โดย Franck Dernoncourt
สมมติว่า Rouge-1.5.5 การติดตั้งบอก Pyrouge เส้นทางรูจด้วยคำสั่งนี้:
pyrouge_set_rouge_path /absolute/path/to/rouge-1.5.5/directory
หากการบันทึกเส้นทาง Rouge โดยใช้สคริปต์นี้ใช้งานไม่ได้ในระบบของคุณคุณยังสามารถจัดหาเส้นทาง Rouge ได้ที่รันไทม์:
r = rouge155 ('/Absolute/Path/to/rouge-1.5.5/Directory')
หากต้องการทดสอบว่าทุกอย่างถูกติดตั้งอย่างถูกต้องให้เรียกใช้:
Python -m pyrouge.test
หากทุกอย่างใช้งานได้คุณควรเห็นบางอย่างเช่น:
วิ่ง 10 การทดสอบใน 18.055s ตกลง
หากคุณต้องการถอนการติดตั้ง Pyrouge:
PIP ถอนการติดตั้ง pyrouge