17개 측정항목을 사용하여 대화 모델을 자동으로 평가하기 위한 경량 저장소입니다.
? 계산하려는 측정항목을 선택하세요.
평가는 응답 파일이나 여러 파일이 포함된 디렉터리에서 자동으로 실행될 수 있습니다.
? 측정항목은 사전 정의된 처리하기 쉬운 형식으로 저장됩니다.
필수 패키지를 설치하려면 다음 명령을 실행하세요.
pip install -r requirements.txt
기본 파일은 어디에서나 호출할 수 있지만 디렉터리 경로를 지정할 때는 저장소 루트에서 경로를 지정해야 합니다.
python code/main.py -h
전체 문서를 보려면 위키를 방문하세요.
필요한 인수 경로(위 이미지)를 최대한 많이 제공해야 합니다. 일부를 놓친 경우에도 프로그램은 계속 실행되지만 해당 파일이 필요한 일부 측정 항목은 계산되지 않습니다(이러한 측정 항목이 인쇄됩니다). 훈련 데이터 파일이 있는 경우 프로그램은 자동으로 어휘를 생성하고 fastText 임베딩을 다운로드할 수 있습니다.
모든 측정 항목을 계산하지 않으려면 구성 파일에서 계산해야 하는 측정 항목을 매우 쉽게 설정할 수 있습니다.
응답 파일이 있는 디렉터리에 파일이 저장됩니다. 첫 번째 행에는 측정항목 이름이 포함되고, 각 행에는 파일 하나에 대한 측정항목이 포함됩니다. 파일 이름 뒤에는 공백으로 구분된 개별 측정항목 값이 옵니다. 각 지표는 쉼표로 구분된 세 개의 숫자(평균, 표준 편차, 신뢰 구간)로 구성됩니다. 인수에서 신뢰 구간의 t 값을 설정할 수 있으며 기본값은 95% 신뢰입니다.
흥미롭게도 17개 지표 모두 특정 지점까지 개선된 다음 DailyDialog에서 Transformer 모델을 훈련하는 동안 과적합이 발생하지 않고 정체됩니다. 그림은 논문의 부록을 확인하세요.
TRF는 검증 손실 최소값에서 평가된 Transformer 모델이고, TRF-O는 메트릭이 정체되기 시작하는 150세대 훈련 후에 평가된 Transformer 모델입니다. RT는 훈련 세트에서 무작위로 선택된 응답을 의미하고 GT는 실제 응답을 의미합니다.
TRF는 Transformer 모델이고, RT는 훈련 세트에서 무작위로 선택된 응답을 의미하고 GT는 Ground Truth 응답을 의미합니다. 이러한 결과는 검증 손실이 최소화된 체크포인트의 테스트 세트에서 측정되었습니다.
TRF는 Transformer 모델이고, RT는 훈련 세트에서 무작위로 선택된 응답을 의미하고 GT는 Ground Truth 응답을 의미합니다. 이러한 결과는 검증 손실이 최소화된 체크포인트의 테스트 세트에서 측정되었습니다.
제공된 데이터에 대한 메트릭 계산을 처리하는 메트릭에 대한 클래스를 만들어 새 메트릭을 추가할 수 있습니다. 예시를 보려면 BLEU 측정항목을 확인하세요. 일반적으로 init 함수는 나중에 필요한 모든 데이터 설정을 처리하고 update_metrics는 인수의 현재 예제를 사용하여 메트릭 딕셔너리를 업데이트합니다. 클래스 내에서 주어진 테스트 파일에 대한 메트릭 값 목록을 저장하는 self.metrics dict를 정의해야 합니다. 이러한 메트릭의 이름(사전의 키)도 구성 파일의 self.metrics에 추가되어야 합니다. 마지막으로 메트릭 클래스의 인스턴스를 self.objects에 추가해야 합니다. 여기서 초기화 시 메트릭에 설정이 필요한 경우 데이터 파일 경로를 사용할 수 있습니다. 그 후에는 측정항목이 자동으로 계산되어 저장됩니다.
그러나 메트릭에 몇 가지 제약 조건도 추가해야 합니다. 예를 들어 메트릭 계산에 필요한 파일이 누락된 경우 여기에서와 같이 사용자에게 알려야 합니다.
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.
업무에 이 저장소를 사용하고 다음 논문을 인용하는 경우 이 저장소에 대한 링크를 포함하세요.
@inproceedings{Csaky:2019,
title = "Improving Neural Conversational Models with Entropy-Based Data Filtering",
author = "Cs{'a}ky, Rich{'a}rd and Purgai, Patrik and Recski, G{'a}bor",
booktitle = "Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics",
month = jul,
year = "2019",
address = "Florence, Italy",
publisher = "Association for Computational Linguistics",
url = "https://www.aclweb.org/anthology/P19-1567",
pages = "5650--5669",
}