Pyrouge는 Rouge Summarization Evaluation 패키지를위한 파이썬 래퍼입니다. Rouge가 일하게하는 데는 시간이 많이 걸릴 수 있습니다. Pyrouge는 요약을 Rouge를 이해하는 형식으로 자동 변환하고 Rouge 구성 파일을 자동으로 생성하여 Rouge 점수를보다 쉽게 할 수 있도록 설계되었습니다.
다음과 같은 일반 텍스트 요약을 평가할 수 있습니다.
Pyrouge import rouge155에서 r = rouge155 () r.system_dir = '경로/to/system_summaries' r.model_dir = '경로/to/model_summaries' r.system_filename_pattern = 'some_name. ( d+). txt' r.model_filename_pattern = 'some_name. [az].#id#.txt' output = r.convert_and_evaluate () 인쇄 (출력) output_dict = r.output_to_dict (출력)
요약을 평가하기 위해 Rouge는 요약 및 금 표준 요약의 위치와 일치하는 방법을 알아야합니다. Rouge Parlance에서 귀하의 요약은 '시스템'요약이며 골드 표준 요약은 '모델'요약입니다. 요약은 별도의 폴더에 있어야하며 경로는 system_dir 및 model_dir 변수로 설정됩니다. 모든 요약에는 줄 당 한 문장이 포함되어야합니다.
Pyrouge는 해당 모델 요약과 시스템 요약을 자동으로 일치시키기 위해 정규식을 사용합니다. 예를 들어, 시스템 요약이 고정 이름과 이와 같은 변수 숫자 ID의 조합으로 명명되었다고 가정 해 봅시다.
그리고 이와 같은 모델 요약, 대문자 문자는 주어진 문서에 대한 여러 모델 요약을 식별합니다.
system_filename_pattern 의 그룹은 파일 이름의 어떤 부분이 ID인지 PyRouge에게 알려줍니다 (d+) . 그룹을 나타내려면 둥근 괄호를 사용해야합니다. 그렇지 않으면 Pyrouge는 나머지 파일 이름에서 ID를 구별 할 수 없습니다. 그런 다음 Pyrouge는 해당 ID를 사용하여 모든 일치하는 모델 요약을 찾습니다. 특별 자리 표시 자 #ID# PyRouge에게 model_filename_pattern 에서 ID를 기대 해야하는 위치를 알려줍니다. [AZ] 파트는 해당 ID의 여러 모델 요약과 일치합니다.
구성이 완료되면 convert_and_evaluate() 호출하면 Rouge 점수를 문자열로 얻습니다. 점수를 추가로 처리하려면 output_to_dict(output) 를 사용하여 출력을 Dict에 구문 분석 할 수 있습니다.
일반 텍스트 요약을 형식으로 변환하려면 Rouge가 이해합니다.
Pyrouge import 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 import 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 데이터의 예제 :pyrouge_evaluate_rouge_format_files -s systems -sfp "sl.p.10.r.11.sl062003- ( d+). html"-m models -mfp sl.p.10.r. [az] .sl062003-#id#.html
시스템 파일 이름 패턴은 특수 문자가 포함되어 있기 때문에 따옴표로 둘러싸여 있습니다.
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 models -mfp sl.p.10.r.
-h 옵션으로 이들 중 하나를 실행하면 다양한 명령 줄 옵션을 설명하는 사용 메시지가 표시됩니다.
Rouge 설치에 대한 지침은 여기에서 찾을 수 있습니다.
시스템에 따라 다음 명령을 루트로 실행해야 할 수도 있습니다.
Pyrouge를 설치하려면 실행하십시오.
PIP 설치 Pyrouge
Windows에 Pyrouge를 설치하는 데 어려움이있는 경우 Franck Dernoncourt 의이 안내서를 확인하십시오.
일하는 Rouge-1.5.5를 가정합니다. 설치, PyRouge 에게이 명령으로 Rouge 경로를 알려줍니다.
pyrouge_set_rouge_path/absolute/path/to/rouge-1.5.5/directory
이 스크립트를 사용하여 Rouge Path를 저장하는 것이 시스템에서 작동하지 않으면 런타임에 Rouge 경로를 제공 할 수도 있습니다.
r = rouge155 ( '/absolute/path/to/rouge-1.5.5/directory')
모든 것이 올바르게 설치되어 있는지 테스트하려면 실행하십시오.
Python -m Pyrouge.test
모든 것이 작동하면 다음과 같은 것을 볼 수 있습니다.
18.055에서 10 번의 테스트를 실행했습니다 좋아요
Pyrouge를 제거하려면 :
파이프를 제거하십시오. Pyrouge