MBR(Memory-Based Reasoning, 기억 기반 추론)은 기존 사례들을 활용해 새로운 데이터를 분류하는 강력한 기법입니다. 이 방법이 제대로 작동하려면 몇 가지 핵심 요소를 신중하게 설계해야 하는데요. 지금부터 MBR을 구성하는 주요 요소들을 하나씩 자세히 살펴보겠습니다.
1. 학습 데이터셋(Training Set) 선정
MBR의 첫 번째 단계는 학습에 사용할 데이터셋을 구축하는 것입니다. 이 사례에서는 뉴스 검색 서비스를 통해 수집된 총 49,652개의 뉴스 기사가 학습 세트로 활용되었습니다.
이 기사들은 약 3개월에 걸쳐 수집되었으며, 거의 100개에 달하는 다양한 언론 소스에서 나온 것들이었습니다. 각 기사는 평균 2,700단어 분량이었고, 기사당 평균 8개의 분류 코드가 부여되어 있었습니다.
흥미로운 점은 이 학습 세트가 특별히 선별된 것이 아니라는 사실입니다. 따라서 코드의 등장 빈도가 실제 뉴스 기사 전반에서 나타나는 빈도와 유사하게 자연스럽게 분포되어 있었고, 이것이 오히려 현실적인 모델링에 도움이 되었습니다.
2. 거리 함수(Distance Function) 선택
다음 단계는 두 문서 간의 유사도를 측정할 거리 함수를 정하는 것입니다. 이 사례에서는 '관련성 피드백(relevance feedback)'이라는 개념에 기반한 거리 함수가 사용되었습니다.
관련성 피드백은 두 파일에 포함된 단어들을 바탕으로 유사도를 계산하는 방식으로, 원래는 주어진 문서와 비슷한 문서를 반환하여 검색 결과를 다듬는 용도로 개발된 기술입니다. 그리고 바로 이렇게 찾아낸 유사 문서들이 MBR에서 사용되는 '이웃(neighbors)'이 됩니다.
3. 결합 함수(Combination Function) 선택
세 번째 고려 사항은 이웃들의 결과를 어떻게 종합할지 결정하는 결합 함수입니다. 뉴스 기사에 분류 코드를 부여하는 작업은 일반적인 분류 문제와는 조금 다른 면모를 보입니다.
대부분의 분류 문제가 단 하나의 최적 해답을 찾는 데 초점을 맞추는 반면, 뉴스 기사는 동일한 속성 내에서도 여러 개의 코드를 가질 수 있습니다. 이런 복잡한 상황에 MBR을 유연하게 적용할 수 있다는 점이야말로 이 기법의 강점이라 할 수 있습니다.
결합 함수로는 가중 합산(weighted summation) 방식이 채택되었습니다. 최대 거리가 1이었기 때문에 가중치는 '1에서 거리를 뺀 값'으로 간단히 정의되었습니다. 덕분에 거리가 가까운 이웃에는 큰 가중치가, 먼 이웃에는 작은 가중치가 자연스럽게 부여됩니다.
4. 이웃(Neighbors) 수 결정
마지막 요소는 참조할 최근접 이웃의 개수입니다. 연구팀은 이웃 수를 1개부터 11개까지 다양하게 변경하며 실험을 진행했습니다.
그 결과, 더 많은 이웃을 사용할 때 가장 좋은 성과가 나타났습니다. 다만 이 사례 연구는 하나의 기사에 여러 카테고리를 부여한다는 점에서 일반적인 MBR 응용 사례와 다릅니다. 만약 단 하나의 카테고리나 코드만 예측하는 일반적인 문제라면, 더 적은 수의 이웃만으로도 충분히 좋은 결과를 얻을 수 있습니다.
MBR 성능 검증: 사람 편집자와의 비교
연구팀은 MBR의 코딩 효과를 검증하기 위해, 편집자 위원회가 인간 편집자 또는 MBR이 부여한 코드 중 200개 기사분을 검토하도록 했습니다. 위원회 과반수가 동의한 코드만 '정답'으로 간주했습니다.
검증 결과는 매우 흥미로웠습니다. 인간 편집자가 처음 부여한 코드의 88%가 정답으로 판명되었지만, 그럼에도 불구하고 인간 편집자 역시 오류를 범하고 있었다는 사실이 확인된 것입니다. 이는 잘 설계된 MBR 시스템이 인간 전문가에 필적하거나 보완할 수 있는 잠재력을 보여주는 대표적인 사례로 꼽힙니다.