LDA를 돌려 토픽 5개가 나왔다고 쓰면 심사위원은 반드시 왜 5개인가를 묻는다. 그 질문에 답은 한 장의 그림이다.

무엇이 문제인가

토픽모델링 논문에서 가장 흔히 나오는 문장은 "분석 결과 5개의 토픽이 도출되었다"이다. 그런데 왜 4개도 6개도 아닌 5개인지에 대한 근거가 본문 어디에도 없는 경우가 많다. 연구자가 결과를 눈으로 보고 "그럴듯한 개수"를 골랐다는 인상을 주면, 이는 방법론의 재현가능성과 객관성을 흔드는 지점이 된다. 토픽 수 K는 LDA의 핵심 하이퍼파라미터이므로, 이를 정하는 절차 자체가 결과의 신뢰도를 좌우한다.

어떻게 하는가

K를 감으로 정하지 않으려면, K 값을 일정 범위(대개 3~10)에서 하나씩 바꿔가며 각 K에서 모델을 학습시키고 Coherence Score(U_Mass)를 계산한다. 이렇게 얻은 K별 Coherence 값을 그래프로 그리면 곡선이 그려지는데, 이 곡선의 최고점에 해당하는 K를 최종 토픽 수로 선택한다. 즉 "토픽이 몇 개일 때 각 토픽 내부 단어들의 의미적 일관성이 가장 높은가"를 정량 지표로 확인하는 절차다.

실무에서는 gensim 라이브러리의 LdaModel로 토픽모델을 학습시키고, CoherenceModel(coherence=u_mass)로 각 K의 Coherence 값을 산출한다. 이때 학습에 쓰는 하이퍼파라미터도 임의로 고르지 않고 표준값을 명시해야 한다. alpha=0.1, beta=0.01, Iterations=1000, Passes=10이 흔히 쓰이는 표준 하이퍼파라미터 조합이다. 아울러 gensim이 사용하는 u_mass 정규화 계수(2/(M(M-1)))는 라이브러리 구현에 따라 달라질 수 있는 부분이므로, 어떤 구현을 썼는지 본문에 명시해두는 편이 안전하다.

심사위원이라면 여기를 본다

토픽 수를 결정한 근거, 즉 정량 지표를 어느 구간에서 탐색했고 그 곡선이 어떤 모양이었는지가 본문이나 부록에 없으면, 이는 방법론 지적 1순위로 꼽힌다. "토픽 수는 어떻게 정했는가"라는 질문에 "Coherence Score를 K=3부터 10까지 계산해 곡선 최고점을 선택했다"고 답할 수 있어야 하고, 가능하면 그 곡선 자체를 그림으로 제시하는 편이 방어에 유리하다. 하이퍼파라미터를 명시하지 않은 채 결과만 제시하는 것도 같은 맥락에서 지적받기 쉬운데, alpha·beta·iteration·passes 값을 함께 밝혀두면 재현가능성 측면의 질문을 줄일 수 있다.

마치며

토픽 수 K는 눈대중이 아니라 Coherence Score 곡선의 최고점으로 정하고, 그 탐색 구간과 하이퍼파라미터를 본문에 남겨야 방어할 수 있다.

이 절차의 이론적 배경은 Blei, Ng & Jordan(2003)의 LDA 원 논문에서 확인할 수 있다. 텍스트마이닝 분석 설계가 필요하다면 텍스트마이닝 분석 페이지에서 진행 방식을 확인할 수 있다. 방법론 노하우는 뉴스레터 「강의실의 AI」 구독 시 받아볼 수 있다.