[확률 기반의 자연어 처리] DOP 모델의 평가
이번 글의 내용은 이강혁 교수님의 "문법을 넘어서, 확률 기반의 자연어 처리" 저서를 참조 하였음을 먼저 밝힙니다. (다른 참조한 논문과 자료들은 아래에 기재되어 있습니다.)
혹시 제가 잘못 알고 있는 점이나 보완할 점 있다면 댓글로 알려주시면 감사하겠습니다.
DOP 모델들의 실제구현을 상술하기에 앞서 평가의 문제에 대해서 언급할 필요가 있습니다. 자연어 시스템의 평가는 오랫동안 다소 소홀하게 다루어졌던 문제입니다.
※ 자연어 파싱의 영역에서는 아래와 같은 절차가 일반적으로 사용되었습니다.
1) 테스트 문장세트를 선택
2) 시스템이 이 문장들에 대해 "최선의" 분석을 계산
3) 원어민에게 "최선의" 분석이 "적합하" 분석인지 결정
※ 이러한 평가절차는 적어도 한 가지 결점이 있습니다.
원어민이 실험에 의해 얻어진 분석을 "적합한" (즉, 인지된 분석에 상응하는) 것으로 결정하게 되면 그 원어민은 그러한 분석에 매우 큰 영향을 받게 된다는 점입니다. 원어민이 어떤 분석을 적합한 것으로 판단할 수도 있지만, 만약 실험에 의해 생성된 분석을 접하지 않았더라면 이 문장에 대해 완전히 다른 분석을 할 수도 있습니다. 그럼에도 불구하고 이러한 평가절차는 몇몇 파싱 시스템에서 여전히 사용되고 있습니다.
적합성 판단에 대한 실험결과의 영향을 배제하기 위해서는 테스트 문장의 적합한 분석을 사후가 아니라 그 이전에 확립하는 것이 매우 중요합니다. 더구나 적합한 분석은 시렇ㅁ자 자신이 아니라 독립된 주석가(annotator)에 의해 이루어져야 합니다.
이러한 요구를 충족시킬 수 있는 검증절차를 차양 테스팅 (blind testing) 방법이라고 합니다. 이 방법은 수작업에 의해 분석된 언어코퍼스를 무작위로 트레이닝 셋 (training set)와 테스트 셋 (test set)으로 나누어 줍니다. 시스템에 의해 생성된 가장 높은 확률의 분석이 됩니다.
어떤 종류의 정확도 측정규준 (accuracy metric)이 시스템에 의해 생성된 가장 높은 확률의 분석을 테스트 셋에 있는 분석과 비교하는데 가장 충분한 것인가 하는 문제가 있습니다. 구구조 분석을 평가하기 위해 많이 사용되어온 정확도 측정규준은 괄호구분 정확도 (bracketing accuracy) 입니다. 괄호구분 정확도는 테스트 세트 분석 내의 괄호구분을 "가로지르기 (crossing)" 않는 분석괄호의 쌍들에 대한 퍼센트로 정의가 됩니다.
이러한 측정규준이 넓게 받아들여지는 이유는 서로 다른 구구조 문법을 사용하는 시스템의 평가를 가능하게 해준다는 사실에 있습니다. 다른 구문구조와 다른 수의 계층단계에 의해 형성되는 구성성분구조 (constituent structure)는 호환성에 따랏 비교할 수 있습니다. (괄호 가로지르기는 비호환성을 나타냅니다.)
괄호구분 정확도 (혹은 명칭이 붙은 정확률/재현율 (labeled precision / recall) 과 같은 "부분적" 정확도 측정규준) 개념은 언어수행 모델의 정확도를 측정하기에는 너무 불충분합니다. 언어수행 모델을 검증하는데 있어 무엇보다도 우리의 관심을 끄는 것은 그러한 모델이 테스트 문장의 가능한 분석들로부터 적합한 분석을 올바르게 선택해낼 수 있는가 하는 것입니다.
여기에서 필요한 것은 테스트 결과와 테스트 분석의 정확한 일치를 요구하는 측정규준입니다. 그러므로 우리는 분석정확도 (parse accuracy)를 테스트 결과와 테스트 세트 분석이 동일한 테스트 문장들의 퍼센트로 정의합니다. 테스트 결과의 정성적 (qualitative) 평가에도 관심을 기울여야 하지만 정확한 일치 (exact match)에 기반한 정확도가 정량적 (quantitative) 평가에는 가장 적합할 것입니다.
긴 글 읽어주셔서 감사합니다.
References
[1] K. Lee. (2003). 문법을 넘어서, 확률 기반의 자연어 처리.