topics 잠재 디리클레 할당 잠재 디리클레 할당이란 무엇인가요?
watsonx.ai에서 잠재 디리클레 할당에 대해 알아보세요 AI 업데이트 신청
페이지의 데이터가 정렬되어 다른 그룹으로 할당되는 것을 나타내는 그림입니다

게시일: 2024년 4월 22일
기고자: Jacob Murel Ph.D., Eda Kavlakoglu

 

잠재 디리클레 할당은 문서 세트에 걸쳐 중심 주제와 그 주제의 분포를 발견하기 위한 주제 모델링 기술입니다.

잠재 디리클레 할당(머신 러닝에서의 선형 판별 분석과 혼동하지 않게 주의)는 주제 모델링에 대한 베이지안 접근 방식입니다. 간단히 말해, 잠재 디리클레 할당은 주제 모델링의 조건부 확률적 형태입니다.

주제 모델링은 자연어 처리(NLP) 기술로, 대규모 텍스트 데이터 세트에 비지도 학습에 적용되어 해당 문서에서 파생된 용어의 요약 세트를 생성합니다. 이 용어들은 컬렉션의 전반적인 주요 주제 세트를 나타냅니다. 이렇게 해서 주제 모델은 문서 컬렉션을 특징짓는 잠재 주제 또는 테마를 발견하고자 합니다.1

사용자는 Python에서 사이킷 학습(또는 sklearn)의 자연어 툴킷 (ibm.com 외부 링크)(NLTK) 및 gensim (ibm.com 외부 링크)을 사용하여 LDA 주제 모델을 쉽게 생성할 수 있습니다. R의 topicmodels (ibm.com 외부 링크) 및 lda (ibm.com 외부 링크) 패키지에는 LDA 주제 모델을 생성하기 위한 함수도 포함되어 있습니다.

AI 거버넌스가 엔터프라이즈 인공 지능 확장을 위한 비즈니스의 필수 요소인 이유

AI 채택을 가로막는 장벽, 특히 AI 거버넌스 및 위험 관리 솔루션의 부족에 대해 알아보세요.

관련 내용

파운데이션 모델 가이드 등록하기

텍스트 생성 가정

LDA는 확률 모델입니다. 즉, LDA 알고리즘이 확률 분포에 따라 서로 다른 주제 중에서 단어와 문서를 분류하여 주제를 생성합니다. 그렇다면 이 모델이 텍스트 데이터에서 숨어있는 주제 구조를 발견하는 데 적합한 방법인 이유는 무엇일까요? 기본적으로 LDA는 문서 이전의 주제를 무작위로 샘플링해서 문서를 생성했다고 가정하고, 이 샘플링에 대한 리버스 엔지니어링을 시도합니다.

LDA의 상상된 생성형 텍스트 프로세스는 문서 이전의 주제에서 출발합니다. 각 주제는 고정된 어휘의 단어들이며, 각 단어는 해당 주제에 속할 확률이 있습니다. 단어에는 의미와 용법이 다수일 가능성을 처리하기 위해 별개의 범주가 아닌 확률을 할당합니다. 그런 다음 텍스트 문서를 만들기 위해, 기계가 주제에 대한 분포를 무작위로 생성합니다(예: 정치 85%, 금융 10%, 역사 5%). 이 문서에 있는 각 단어에 대해 기계가 선택된 주제 중 하나를 무작위로 선택하고, 해당 주제에서 단어를 무작위로 내보냅니다. 단, LDA 자체는 이러한 방식으로 문서를 생성하지 않습니다. 이는 LDA가 문서 생성을 가정하는 프로세스입니다. LDA 자체는 이 과정을 반전시켜서, 문서 말뭉치에 널리 퍼져 있는 중요하고 숨겨진 주제를 발견하고자 합니다.

이 그림은 LDA의 기반이 되는 가정된 텍스트 생성 프로세스를 보여줍니다.

이 이미지 맨 아래에는 단어 분포로 구성된 주제의 무작위 정렬이 있습니다. 이 주제들은 컬렉션 내 모든 문서에 존재합니다. 주어진 문서를 생성하기 위해(이 예시에서는 셰익스피어의 오델로) 기계는 주제 분포를 생성하며, 맨 오른쪽에 있는 그래프가 이 분포를 나타냅니다. 이 분포는 문서를 구성할 주제(및 각각에 대한 비율)입니다. 문서에 있는 각 단어에 대해, 기계는 선택된 주제 중 하나를 무작위로 선택한 다음(컬러 점이 있는 열), 그 안에서 단어를 무작위로 선택합니다(강조 표시된 용어).2 이 시각화는 예시일 뿐이며 실제 주제 모델링 또는 텍스트 생성의 결과물이 아닙니다. 그러나 앞서 설명한 것처럼 LDA는 모든 문서가 이 일반적인 생성 프로세스에 의해 생성된다고 가정하고 이에 대한 리버스 엔지니어링을 시도합니다.

잠재 디리클레 할당의 작동 방식

잠재 의미 분석(Latent Semantic Analysis, LSA)와 같은 다른 주제 모델링 접근 방식과 마찬가지로 LDA는 말뭉치 전체의 문서에 단어 모음으로 접근합니다. 이는 LDA가 단어 순서와 문맥을 무시한다는 의미입니다. 대신 각 개별 문서 안에서 단어가 얼마나 자주 발생되고 동시에 발생되는지에 중점을 둡니다.3 그리고 단어 빈도와 동시 발생을 문서 용어 행렬에 모델링하는데, 이때 문서는 행이고 개별 단어는 열이거나 반대로 문서가 열이고 개별 단어는 열입니다. 셀 각각의 값은 각 문서에서 주어진 단어가 나타나는 빈도를 나타냅니다.4

주제 생성

LDA 알고리즘은 문서-용어 행렬을 사용하여 단어 빈도와 동시 발생에 따른 주제 분포를 생성합니다(각각에 대한 확률이 있는 키워드 목록). LDA는 동시 발생 빈도를 추적하여, 함께 나타나는 단어들이 비슷한 주제에 속할 가능성이 있다고 가정합니다. 그런 다음 알고리즘은 주어진 문서에 나타나는 단어 클러스터를 기반으로 문서 주제 분포를 할당합니다.5

예를 들어, 다음과 같은 부분적인 아웃풋이 있는 뉴스 기사 모음에 대한 LDA 모델을 생성한다고 가정해 보겠습니다

우리에게는 이민(주제 1)과 천문학(주제 2)으로 설명할 수 있는 두 개의 주제가 있습니다. 각 단어에 붙은 점수는 해당 키워드가 주어진 주제에 나타날 확률입니다. 각 문서에 부여되는 확률은, 해당 문서의 각 주제에 대한 단어 분포와 동시 발생을 고려할 때 해당 문서가 여러 주제의 조합에 속할 확률입니다. 예를 들어 표의 첫 번째 행은 주제 1에 40% 확률로 border를 표시하고, 주제 2에서는 60% 확률로 space를 표시합니다. 이 백분율은 전체 말뭉치에서 해당 주제에 해당 용어가 나타날 확률을 나타냅니다. 첫 번째 문서 행에는 문서 1: 주제 1: .95, 주제 2: .05라고 명시되어 있습니다. 즉, 문서 1의 단어 발생을 기반으로 할 때 모델은 문서 1이 주제 1에서 95%, 주제 2에서 5% 도출되었다고 예측합니다. 다시 말해, 이 가상의 LDA 모델이 모델 생성에 사용된 주제와 그 비율을 이렇게 가정하는 것입니다.

물론, 특히 다의어는 이러한 이산형 범주화에 문제를 일으킵니다. 예를 들어 영어 단어 alien은 인간 이민자와 외계 생물을 모두 지칭할 수 있습니다. 이때 LDA 알고리즘은 단어(나아가 문서)가 어느 주제에 속하는지 어떻게 결정할까요?

깁스 공식

LDA 알고리즘은 단어에 주제를 할당할 때 깁스 샘플링이라는 것을 사용합니다. 깁스 샘플링 공식은 다음과 같습니다.

이 방정식의 정확한 연산과 초매개변수를 이해하려면 통계와 마르코프 체인 몬테카를로 기법(강화 학습에 주로 채택)에 대한 기초 지식이 필요합니다. 그렇지만 방정식의 주요 구성 요소는 다음과 같이 정리할 수 있습니다.

  • 첫 번째 비율은 문서 d에서 주제 t가 나올 확률을 나타냅니다. 알고리즘은 문서 d에서 주제 t에 속하는 단어 수에 따라 이 확률을 계산합니다. 이 계산을 통해 근본적으로 알아내고자 하는 것은, 문서 d에 주제 t가 얼마나 널리 퍼져 있는가입니다.
  • 두 번째 비율은 단어 w가 주제 t에 속할 확률을 나타냅니다. 알고리즘은 t에 있는 모든 단어 토큰에 대해, t에서의 w 발생을 열거하여 이 확률을 계산합니다. 이 계산을 통해 알아내고자 하는 것은, 말뭉치의 나머지 부분에서 주제 t에 대해 단어 w가 나타나는 빈도입니다.

깁스 샘플링은 반복적인 프로세스입니다. 즉, 단어를 한 번만 샘플링하고, 주제를 지정하고, 옆으로 치워두는 것이 아닙니다. 깁스 샘플링은 여러 번의 반복을 통해 각 단어를 처리해서, 다른 단어를 고려하여 주제-단어 확률을 업데이트합니다.6

텍스트 분류

LDA의 두드러진 특징은 공유된 주제 세트에 대한 각 문서의 확률 분포입니다. 다른 주제 모델링 접근 방식과 마찬가지로, 이러한 주제와 각 문서에서의 주제 분포는 알려져 있지 않습니다. 주제 모델링은 비지도 학습 방식이기 때문에 분석을 지도하는 데이터가 수동으로 라벨링 되어 있지 않습니다. LDA는 숨겨진 주제 구조를 발견함으로써 궁극적으로 컬렉션 전반의 문서에 주석을 달 수 있습니다. 이러한 주석(다루지 않은 주제)은 텍스트 분류에 사용할 수 있습니다. LDA는 이런 방식으로 대량의 문서에 대한 주석과 구성을 자동화하여 정보 검색 시스템을 지원합니다.7

최적화

데이터 과학 분야의 많은 텍스트 마이닝 기술과 마찬가지로 텍스트 전처리는 LDA 모델 결과를 크게 향상시킵니다. 불용어 제거는 의미론적으로 관련이 없는 일반적인 단어를 제거합니다. 형태소 분석 또는 표제어 추출은 형태학적 변형을 기본 형식으로 줄이는 데 도움이 되며, 이를 통해 기계가 분리해서 생각할 수도 있는 단어의 변형형(dance, dancing, dancer 등)을 융합하는 데 유용합니다.

LDA 모델은 결정적이지 않고 확률적이기 때문에 모델 최적화가 어려울 수 있습니다. 최상의 결과를 산출하는 주제의 수는 정해져 있지 않으며, 문서가 몇 개면 주제는 몇 개가 적합하다는 등의 지도 원리도 없는 것으로 보입니다. 해석 가능하고 일관된 주제를 생성하기 위해 모델 매개변수를 미세 조정하는 데는 실제로 많은 시행착오가 필요합니다.

평가 메트릭

사용자가 LDA 모델을 미세 조정하는 데 도움이 되는 도구나 메트릭은 무엇인가요? 주제 모델링을 처음 접하는 경우, 문헌에 채택된 성능 메트릭이 하나도, 심지어 컬렉션 형태로도 없다는 사실을 알고 실망할 수 있습니다.

정성적. 믿기 어려울 수도 있지만, 특히 실제 응용 분야에서는 정성적 평가가 드물지 않습니다. 이 과정에서는 각 주제에 대한 상위 5개 또는 10개의 키워드를 검토하기도 합니다. 그런 다음 그 결과를 사용해, 인간 사용자가 주제를 얼마나 해석할 수 있는지에 따라 주제를 평가합니다.8 이러한 일종의 '곁눈질'을 위해서는 상당한 양의 전문 도메인 지식이 필요하고, 해당 문서를 숙지하고 있어야 합니다.9

일관성. 주제 일관성은 생성된 주제를 평가하는 데 널리 사용되는 정량적 방법 중 하나입니다. 주제 일관성 점수는 지정된 주제에서 가장 가능성이 높은 단어가 말뭉치 전체의 동일한 문서에서 얼마나 자주 함께 발생되는지 측정합니다. 좀 더 구체적으로 말하자면 말뭉치 전체에서 개별 단어 각각의 빈도와 비교해, 주제의 상위 n개 단어에서 각 단어 쌍의 동시 발생 빈도를 계산합니다. 이 작업의 목표는 주어진 주제의 일관성을 정량화하는 것입니다. 모델의 일관성 합계 점수는 각 개별 주제에 속하는 일관성 점수의 평균입니다. 실제로 이 합계 점수는 주어진 모델 내의 평균 주제 일관성을 나타냅니다. 이름에서 알 수 있듯, 일관성은 주제가 얼마나 응집력이 있는지에 따라서만 모델을 평가합니다. 또한 주제는 어느 정도 배타성을 유지해야 하지만, 현재 이에 대한 정량적 측정은 없습니다.10

최근 연구에 따르면 일관성 점수와 같은 정량적 메트릭은 주제 모델 평가 방식으로 신뢰할 수 없습니다. 그 이유 중 하나는 해석 가능성이라는 공언된 평가 목표가 모호하기 때문입니다. 그렇다면 모델과 그 결과를 해석 가능하게 만드는 것은 무엇일까요?11 또한 구형 시스템에 맞춰 설계된 자동화된 메트릭은 최신 시스템에 잘 외삽되지 않을 수 있습니다. 이 문제가 복잡한 이유는, 공개된 많은 실험이 투명하지 않아 평가 방법을 다른 데이터 세트 또는 도메인까지 일반화하여 적용할 수 없기 때문입니다.12 연구진은 최근 특정 연구 목표를 위해 LDA 모델을 설계하고 평가하는 수단으로 인공 지능 애플리케이션, 특히 대규모 언어 모델(LLM)로 눈길을 돌렸습니다.13 이는 유망한 결과를 보여주지만 더 많은 연구가 필요합니다.

관련 리소스 주제 모델링이란 무엇인가요?

주제 모델은 단어 그룹을 통해 텍스트 데이터를 요약하는 비지도 NLP 방법으로 텍스트 분류와 정보 검색 작업을 보조합니다.

Python에서의 텍스트 분석을 위한 LDA 주제 모델 훈련

Python의 NLTK와 Gensim을 사용하여 LDA 주제 모델을 훈련하고 미세 조정합니다.

IBM TechXchange: 주제 모델링

주제 모델링과 그 작동 방식을 설명하는 IBM 커뮤니티 문서입니다.

다음 단계 안내

AI 빌더를 위한 차세대 엔터프라이즈 스튜디오인 IBM watsonx.ai로 생성형 AI, 파운데이션 모델 및 머신 러닝 기능을 학습, 검증, 조정 및 배포하세요. 적은 데이터로 짧은 시간 내에 AI 애플리케이션을 구축하세요.

watsonx.ai 살펴보기 라이브 데모 예약하기
각주

1 Daniel Jurafsky 및 James Martin, Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition, 3rd edition, 2023년,https://web.stanford.edu/~jurafsky/slp3/(ibm.com 외부 링크).Jay Alammar and Maarten Grootendorst, Hands-On Large Language Models, O’Reilly, 2024년.

2 David Blei, “Probabilistic Topic Models,” Communications of the ACM, Vol. 55, No. 4, 2012, pp. 77-84. Zhiyuan Chen and Bing Liu, “Topic Models for NLP Applications,” Encyclopedia of Machine Learning and Data Mining, Springer, 2017년.

3 Matthew Jockers, Text Analysis with R for Students of Literature, Springer, 2014년.

4 Cole Howard, Hobson Lane 및 Hannes Hapke, Natural Language Processing in Action, Manning Publications, 2019년. Sowmya Vajjala, Bodhisattwa Majumder, Anuj Gupta, Harshit Surana, Practical Natural Language Processing, O’Reilly, 2020년.

5 Sowmya Vajjala, Bodhisattwa Majumder, Anuj Gupta, Harshit Surana, Practical Natural Language Processing, O’Reilly, 2020년. David Blei, Andrew Ng, 및 Michael Jordan, “Lantent Dirichlet Allocation,” Journal of Machine Learning Research, Vol. 3, 2003년, pp. 993-1022.

6 Zhiyuan Chen 및 Bing Liu, “Topic Models for NLP Applications,” Encyclopedia of Machine Learning and Data Mining, Springer, 2017년.

7 David Blei, “Probabilistic Topic Models,” Communications of the ACM, Vol. 55, No. 4, 2012, pp. 77-84.

8 Chandler Camille May, “Topic Modeling in Theory and Practice,” Dissertation, John Hopkins University, 2022년.

9 Matthew Gillings 및 Andrew Hardie, “The interpretation of topic models for scholarly analysis: An evaluation and critique of current practice,” Digital Scholarship in the Humanities, Vol. 38, No. 2, 2023, pp. 530-543,https://academic.oup.com/dsh/article-abstract/38/2/530/6957052(ibm.com 외부 링크).

10 Chandler Camille May, “Topic Modeling in Theory and Practice,” Dissertation, John Hopkins University, 2022년.https://aclanthology.org/D11-1024/ (ibm.com 외부 링크)

11 Zachary Lipton, “The Mythos of Model Interpretability: In machine learning, the concept of interpretability is both important and slippery,” Queue, Vol. 16, No. 3, pp. 31-57, https://dl.acm.org/doi/10.1145/3236386.3241340 (ibm.com 외부 링크). Caitlin Doogan 및 Wray Buntine, “Topic Model or Topic Twaddle? Re-evaluating Semantic Interpretability Measures,” Proceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, 2021, pp. 3824-3848, https://aclanthology.org/2021.naacl-main.300 (ibm.com 외부 링크).

12 Alexander Hoyle, Pranav Goel, Andrew Hian-Cheong, Denis Peskov, Jordan Boyd-Graber, Philip Resnik, “Is Automated Topic Model Evaluation Broken? The Incoherence of Coherence,” Advances in Neural Information Processing Systems, 2021, pp. 2018-2033, https://proceedings.neurips.cc/paper_files/paper/2021/hash/0f83556a305d789b1d71815e8ea4f4b0-Abstract.html (ibm.com 외부 링크). Caitlin Doogan 및 Wray Buntine, “Topic Model or Topic Twaddle? Re-evaluating Semantic Interpretability Measures,” Proceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, 2021, pp. 3824-3848, https://aclanthology.org/2021.naacl-main.300 (ibm.com 외부 링크).

13 Dominik Stammbach, Vilém Zouhar, Alexander Hoyle, Mrinmaya Sachan 및 Elliott Ash, “Revisiting Automated Topic Model Evaluation with Large Language Models,” Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing, 2023, pp. 9348-9357, https://aclanthology.org/2023.emnlp-main.581/ (ibm.com 외부 링크)