[논문이야기] Interpretable Topic Analysis ④

토픽 수와 관련된 의사 결정, 계산 효율성 및 클러스터링 관점에서 ‘정량화’ 가능해 UMAP 기반 클러스터링 통해 ‘해석가능성’ 높이고 ‘비선형성’ 찾아낸다 본 연구, 기존 코트라 서비스의 데이터와 연계해 셀러・바이어매칭 서비스의 혁신 꾀할 수 있다

[논문이야기] Interpretable Topic Analysis ③에서 이어집니다

이전 글(1,2,3)까지, ‘화려한’ 모델들을 사용하며 계산 효율성(Computational Efficiency)을 최대화하면서도, 어휘 간 맥락을 반영할 수 있는 토픽 모델링을 설계했습니다. 그 다음으로 연구를 하면서 제가 가장 많이 했던 고민은 ‘이를 통해 어떻게 의사 결정을 내릴 수 있을까’였습니다.

보편 근사 정리(Universal Approximation Theorem, 신경망 모델에서 하나의 레이어만으로도 여러 개 노드 추가를 통해 어떤 함수든 정확히 근사할 수 있다는 수학적 정리)에 의해, 딥러닝은 계산 비용(Computational Efficiency)을 충분히 지불한다면 어떤 함수든 정확히 추정할 수 있습니다. 물론 이 과정에서 과적합(overfitting)에 대한 위험은 충분히 고려돼야 할 것입니다. 하지만 제가 수요자들에게 제공하고 싶었던 것은 실질적으로 본 모델을 활용하는 분들이 모델의 결과를 보고 정량적인 의사 결정을 내릴 수 있게끔 하는 것이었습니다.

이와 관련해 가장 먼저 의사 결정을 내려야 하는 부분은 바로 ‘GNTM’이라는 모델을 통해서 ‘토픽을 몇 개까지 뽑아내야 하는가’라는 부분이었습니다. 이는 PCA(Principal Component Analysis, 주성분 분석)에서 ‘변수의 갯수를 몇 개까지 뽑아내야하는가’와 같은 선상의 질문이라고도 할 수 있습니다.

계산 효율 관점에서의 토픽 수 결정

먼저 계산 효율(Computational Efficiency) 관점에서, 그리고 계산 비용을 최소화 한다는 차원에서 토픽 갯수를 결정해봅시다. 저 또한 학교에서 이론으로 공부할 때는 계산 효율을 왜 따져야 하는지 공감이 안됐습니다. 제가 배울 때 다뤘던 것들은 길어봤자 몇 분이면 계산이 끝나는 ‘가벼운’ 모델들 이었기 때문입니다.

하지만 본 논문은 대략 450만 개에서 500만 개의 어휘의 방대한 양의 텍스트를 다루며, 모델이 본격적으로 ‘무거워’지기 시작합니다. 물론 이전 글에서 계산 비용을 줄이고 정확도를 끌어올리기 위해 모델 설계(LDA+Graph Structure, NVI)차원에서 다양한 방법론들을 결합했지만, 그럼에도 불구하고 본 모델의 특성상 토픽의 갯수를 적정한 선에서 제한하지 않으면 계산 비용은 천문학적으로 올라가게 됩니다.

위의 문제의식을 토대로 먼저 토픽의 수를 10개일 때와 20개일 때의 계산 효율성(Computational Efficiency)을 비교해 보겠습니다. 이 때 같은 토픽에 의미론적으로 유사한 단어들끼리 분류돼 토픽 내용이 일관성이 있는지 확인하는 TC(주제 일관성, Topic Coherence)와, 토픽 내용간 이질성(heterogeneity)이 충분히 담보되는지 확인하는 TD(주제 다양도, Topic Diversity) 지표가 사용됐습니다.

측정 결과 토픽이 20개일 때보다 토픽이 10개일 때 계산 속도가 1시간 정도 향상됐으며(Epoch=100기준), 나아가 TD와 TC가 크게 하락하지 않은 것을 확인할 수 있었습니다. 이 때 개인적으로는 Epoch를 500 수준으로 올려서 좀 더 정확한 검증을 해야한다고 생각하나, 본 논문의 실험이 GPU가 아닌 CPU로 진행된 만큼 epoch 횟수를 올릴수록 엄청난 시간이 소요돼 현실적인 검증이 어려웠습니다.이와 관련해서 Epoch 수치를 더 끌어올려야 하지 않느냐는 지적이 있을 수 있습니다만, 본 모델이 적응적 모멘트 추정(Adaptive Moment Estimation, Adam)을 활성화 함수(activation function)로 활용하고 있는 만큼, epoch 수치가 낮더라도 최적 범위(optimal range)로 빠르게 수렴한 이후 크게 변동이 없을 것임을 덧붙입니다.

클러스터링 관점에서의 토픽 수 결정

위 논의를 통해, 계산 효율성 관점에서 최적 토픽 수는 10개임을 확인했습니다. 이를 기반으로 이번에는 몇 개의 토픽일 때 ‘셀러-바이어 매칭’이 최적으로 이뤄지는지, 예컨대 몇 개의 산업으로 구분했을 때 해외 바이어가 적절한 관심사의 국내 셀러를 찾을 수 있는지 클러스터링 관점에서 살펴보겠습니다. 이 때 만약 텍스트를 구분해내는 토픽이 무의미하게 많아지면 오히려 TC가 감소하고 유의미한 정보를 꺼내는 데 도움이 되지 않게 됩니다. 이는 곧 선형 회귀(linear regression)에서 무의미한 변수 추가를 지양하고 $R^2_{adj}$관점으로 접근하는 것과 같은 맥락입니다. 또한 이는 PCA에서 설명 변수 중 분산 설명력 변화가 급격하게 올라가지 않는 부분을 제외하면서, 분산 설명력이 70%를 넘기는 순간 변수 선택을 주의하는 것과 궤를 같이합니다.

차원의 수가 커지면 유클리드 공간(Euclidean Space)에서는 차원의 저주(High dimension curse)가 발생합니다. 따라서 중복되는 변수의 수를 최소화한다는 관점에서, 클러스터링의 지표는 코사인 유사도(cosine similarity)와 상관관계(correlation)을 기반으로 한 실루엣 인덱스(Shilloute Index), 칼린스키-하라바즈 인덱스(Calinski-Harabasz index), 데이비스-볼딘 인덱스(Davies-Bouldin index)를 사용했습니다.

클러스터링 갯수=9일 때 최적의 군집을 이루는 것을 UMAP 알고리즘을 통해서도 확인할 수 있다.

해당 클러스터링 결과, 위 그림에서 살펴볼 수 있듯 9개의 토픽에서 최적의 군집을 이루는 것을 확인할 수 있었습니다. 여기에는 작은 단위로부터 클러스터링을 시작해 최종적으로는 모든 데이터를 묶는 응집 계층 분석(Agglomerative Hierarchical Clustering)이 사용됐음을 밝힙니다.

위 방법론의 핵심은 ‘해석가능성(Interpretability)’에 있습니다. 즉 각 클러스터(cluster)에 속하는 국가가 어떤 계산 과정을 통해 매칭이 됐는지 덴드로그램(dendrogram)을 통해 쉽게 확인할 수 있다는 것입니다. 이를 바꿔 말하면 각 매칭 정도를 코사인 유사도를 통해 구할 수 있고, 나아가 어떤 토픽에서 매칭이 됐는지, 이 토픽은 무엇인지 워드 네트워크를 제시할 수 있기 때문에 해석이 용이하다는 것입니다.

본 연구의 강점

본 모델의 큰 장점은 코트라(KOTRA)의 토픽 서비스와 직접적으로 연계될 수 있다는 점입니다. 즉 본 모델은 기존 코트라의 수출・수입 데이터에서 뽑아낸 토픽을 그대로 활용할 수 있습니다. 이를 통해 코트라가 보유하고 있는 전 세계 문서 데이터를 활용해 ‘AI 기반 바이어매칭 서비스’의 강점을 극대화할 수 있을 것으로 기대됩니다. 나아가 모델의 구조, 계산과정, 그리고 결과까지 쉬운 해석이 가능해 의사 결정 뿐만 아니라 사후 해석 및 계산 추적 과정에도 도움이 될 것으로 분석됩니다.

UMAP 적용을 통해 데이터 안의 비선형 관계를 파악할 수 있다

아울러 영어가 아닌 문서의 경우에도 본 모델이 적용될 수 있다는 장점이 있습니다. 이 경우 영어에 비해 어느 정도의 정보 손실이 존재하겠으나, 이전 글에서 언급했듯 언어와 상관없이 글로브(GloVe)를 통해 비슷한 단어는 유사한 수치인 벡터로 표현되며 맥락적 관계 또한 반영이 되기 때문에, 타 언어에 해당 방법론을 활용하기에는 큰 문제가 없을 것으로 보입니다.

마지막으로 본 모델은 UMAP(Uniform Manifold Approximation and Projection) 클러스터링을 통해 기존의 선형 관계(linear relationship) 파악을 넘어 데이터 안에 숨겨진 비선형 관계(non-linear relationship) 파악이 가능합니다. 따라서 추후 계층적 클러스터링을 넘어 일반적 클러스터링(general clustering), 그리고 추천 알고리즘(recommendation algorithm)의 적용을 기대해볼 수 있겠습니다.

[논문이야기] Interpretable Topic Analysis ⑤로 이어집니다

Similar Posts