2024년에 arXiv에 제출된 'Text clustering with LLM embeddings' 논문을 바탕으로 작성된 리뷰입니다. (Petukhova, Alina, Joao P. Matos-Carvalho, and Nuno Fachada)
Introduction
Text clustering: 유사한 주제나 의미를 갖는 문서들을 그룹화하여 분류 (content-based)
Text clustering의 효과
- 대규모의 unstructured/uncategorized 데이터에 숨겨진 패턴 발견 가능
- 유의미한 category 탐색 → 효율적인 정보 검색, 여러 domain에 대한 insightful thematic analysis
- 유사한 text들끼리 그룹화 → topic modeling과 같은 이후 분석에서의 정확도 향상
- 같은 cluster에 있는 text끼리의 유사도가 더 높은데, 특정 주제에 대해 동일한 성질의 dataset에 집중
- 고차원의 vector들로 구성된 문서를 저차원의 embedding vector들로 표현하여 구함.
본 연구의 목적: 서로 다른 text embeddings & clustering algorithms 조합 비교
- Embedding이 clustering 결과에 주는 영향 평가
- 요약을 통한 차원 축소의 영향 평가
- Embedding size와 clustering 성능의 관련성 평가
Background
1) Text Embeddings: TF-IDF, Word embeddings, BERT, LLM
- TF-IDF (Term Frequency-Inverse Document Frequency)
- term 빈도 & inverse-document 빈도를 고려 말뭉치와 관련된 문서 내 단어의 중요성을 정량화
- 각 term을 독립적으로 취급하여 단어의 문맥이나 의미를 capture하기 어려움.
- Word embeddings (ex. Word2Vec, GloVe)
- context를 바탕으로 dense vector 표현 생성
- 주변 단어, 말뭉치들을 참고하여 단어들 간의 관련성을 학습시킬 수 있음 → 의미적/구문적 유사도(semantic regularity) capture 가능
- 단어 당 하나의 정적 vector를 제공하므로 다의어를 capture하기 어려움.
- BERT (Bidirectional Encoder Representations from Transformers)
- 대규모 말뭉치로 학습 & 양방향 transformer 구조를 사용하여 contextual embedding 생성 → 문장에서 단어에 대한 전체 context를 고려하여 단어들 간의 관련성에 대한 깊은 이해
- 더 풍부한 의미적 표현을 제공하여 Text clustering 같은 task에 효율적
- LLMs’ embeddings (ex. GPT, LLaMA)
- 단어 및 문장 수준 embedding으로 encoding & 모델의 layer 확장 → 이전 모델들의 기능 확장 context/concept에 대한 종합적인 이해를 반영한 embedding 생성
- Dataset 확장 → 인간의 언어 뉘앙스의 넓은 스펙트럼 capture
2) Text Clustering Algorithms: K-Means, AHC, Spectral clustering, Fuzzy c-means, etc.
- K-Means
- cluster 내 제곱합이 최소가 되도록 dataset을 k개의 cluster들로 나누는 방법
- 각 cluster는 ‘centroid’라는, cluster 내 점들의 평균으로 나타낼 수 있음.
- (장점) 대규모 dataset에 대해서도 단순하고 효율적으로 clustering 가능
- (단점) centroid의 초기화와 k 값에 영향을 많이 받음 - hyperparameter tuning 영역
- AHC (Agglomerative Hierarchical Clustering)
- bottom-up 방식으로 nested cluster들을 merge해나가는 clustering 방식
- 각 text를 분리된 cluster로 취급하고, linkage criterion을 기반으로 cluster들 결합
- (장점) data에서 계층적 구조를 발견할 수 있음.
- (단점) 대규모 dataset에 대해서는 많은 연산량 소요
- Spectral clustering
- K-Means를 사용하기 전에 차원 축소의 목적으로 유사도 행렬의 고유값(eigenvalues) 사용
- cluster가 반드시 구형의 형태일 필요가 없는 경우에 cluster 식별 가능
- (장점) 효율적으로 noise와 이상치를 다룰 수 있음.
- (단점) 유사도 행렬의 고유값을 사용하므로 많은 연산량이 들 수도 있음.
- Fuzzy c-means
- 하나의 data가 1개 이상의 cluster과 연결 → 각각의 centroid에 대한 objective function 최소화
- soft clustering & overlapping cluster들을 다룰 수 있음.
- cluster 간의 경계가 명확하게 정의되지 않은 경우에도 유용 (K-Means보다 계산 집약적)
- Others
- Auto-encoder 기반 Deep Learning: clustering에 필요한, 유의미한 저차원 vector 표현 학습
- Graph-based Clustering: graph에서 text embedding을 생성하고 cluster들로 나누는 방법
- Ensemble Clustering: 여러 clustering algorithm들을 결합하여 개별 algorithm의 한계를 극복할 수 있다. - robustness & quality 향상
Methods
목표: Clustering task에 사용할 가장 효율적인 text 표현 방식(embedding)을 찾자!
Text Clustering Algorithm들의 성능을 향상시킬 수 있도록 다양한 embedding의 효율성 비교
과정
- Datasets 선택
- Preprocessing (ex. 불용어 제거)
- 다양한 embedding 연산 및 비교
- 다양한 clustering algorithm들 비교
- 외부/내부 validation metric을 사용하여 clustering 결과 비교
Datasets
- CSTR
- ‘Centre for Speech Technology Research’
- 299개의 과학 초록 말뭉치
- domain-specific → category와 관련된 학술적 text에서 세분화된 주제 구분을 식별 가능
- SyskillWebert
- 추천 시스템에 사용되는 정보를 분석할 때 사용되는 exploratory clustering 적용 가능
- 웹 페이지의 user ratings 포함
- 20Newsgroups dataset
- 약 19,000개의 뉴스 문서들을 20개의 다른 class들로 나눈 dataset
- 다양한 주제 분류, noise, 비구조화 data 형태 → 현실적인 시나리오를 제공하여 이상적이지 않은 조건에서 clustering algorithm의 robustness를 평가할 수 있음.
- MN-DS dataset
- Multilabeled News DataSet
- 다양한 멀티미디어 뉴스 기사들을 편집 → multi-categorical data를 다룰 때 clustering algorithm의 효율성 평가 가능
- 2개의 level로 구성된 계층적 형태 → 각 level에 대해 독립적으로 실험 수행
Pre-processing
목적
- noise를 최소화고 text의 주요 패턴을 강조하여 clustering algorithm의 효율성 및 정확성 향상
- 모든 dataset에 대해 input data의 퀄리티&보편성을 보장 가능
과정
- (초기 단계) 불용어 제거 (ex. 관련 없는 메타데이터, HTML 태그, 그 외 분석에 왜곡을 줄 수 있는 요소들)
- 타당하지 않은 Latin 문자들 제거
- multilingual data sources나 일반 data 집합에서 encoding error 등으로 인위적으로 발생했을 수도 있기 때문
- 문자들의 수를 줄여 feature space의 차원을 낮게 유지 가능 → 계산 효율성
Text Embeddings
- TF-IDF vectors
- 단어의 중요도와 분석된 dataset을 기반으로 한 sparse, 해석 가능한 표현
- BERT embeddings
- BERT 모델로부터 추출. BookCorpus & English Wikipedia로부터 학습
- 깊은 contextual(말뭉치의 의미적 뉘앙스) 이해
- HuggingFace의 transformers library 이용
- text-embedding-ada-002 (OpenAI)
- 대규모 dataset의 text, 코드 검색 및 문장 유사도 측정과 같은 task들에 대한 embedding
- Falcon
- text 문서와 code로 구성된 말뭉치 학습
- HuggingFace의 transformers library 이용
- LLaMA-2 (LLaMA-2-chat embeddings)
- 최적화된 auto-regressive transformer 모델 → 대화 & QA task에 대해 fine-tuning
- HuggingFace의 transformers library 이용
Clustering Algorithms
- Standard k-means
- 단순하고 효율적
- k-means++
- 무작위로 초기 centroid를 설정하지 않고 효율적으로 초기화하는 방법 제안
- 수렴 속도 & cluster 퀄리티 향상
- AHC
- data의 nested 구조 파악
- Fuzzy c-means
- 각 data point와 centroid 간의 거리를 바탕으로 cluster에 속할 확률을 할당 → 뉘앙스를 더 잘 반영
- 다의어와 text 내 미묘한 의미적 차이도 반영
- Spectral Clustering
- graph 구조를 기반으로 한 cluster들 구분 가능 (ex. 네트워크 상에서의 cluster)
- non-convex(비볼록) shapes를 가진 cluster들에 대해 유용
Evaluation Metrics
- External validation
- 실제 label(GT)과 비교 - 현실 세계와의 일치도 평가
- F1S (weighted F1-score): class 불균형이 존재하는 상황에서 precision & recall간의 균형 정도 파악
- ARI (Adjusted Rand Index): 랜덤 인덱스와 기대 인덱스의 차이에 따른 clustering 정도 평가
- HS (Homogeneity score): 각 cluster가 원래 class 하나의 data points로 구성된 정도 평가
- Internal validation
- data 자체에서 파생, 실제 label(GT) 없이 평가. cluster 내의 응집성&분리도로 cluster의 품질 평가
- SS (Silhouette Score)
- CHI (Calinski-Harabasz Index)
- (+) 다면적(Multifaceted) 접근
- label과의 alignment & 생성된 cluster의 고유한 구조
모두 capture → 평가의 robustness 보장
- label과의 alignment & 생성된 cluster의 고유한 구조
Additional Experiments
(1) 요약 (2) 고차원 embedding 변화 ▶ Text cluster에서 feature의 변별력 향상 가능?
(1) 요약 : Text clustering에서 차원을 축소하기 위한 목적으로 사용
- Text의 compact 표현 생성 → context/의미 모두 반영
- 대규모, 복잡한 dataset에 대해서도 일관성 있고 해석 가능한 clustering
- LLM-based 모델(OpenAI,Falcon,LLaMA-2) & BERT-large-uncased라는 저차원 요약 모델 사용
- ※ zero-shot prompt: LLM을 사용하여 요약문 생성
(2) 고차원 embedding 변화
- LLM embedding - 많은 수의 parameter를 가진 거대 모델로부터 획득
- 상식 주제, QA, code task들에 대해 모델 크기가 클수록 일반적으로 성능이 향상됨 - 고차원 embedding을 사용하는 것이 clustering algorithm의 성능에 미치는 영향 실험
- PCA & t-SNE ▶ 서로 다른 embedding 시각화 & 내부 구조 capture
- 초기에는 PCA(Principal Component Analysis) 적용
- t-SNE(t-Distributed Stochastic Neighbor Embedding) 는 데이터를 저차원 공간으로 project하기 위해 사용
- 두 방법을 같이 사용하여 풍부한 시각화 가능 & embedding의 global, local 구조 capture 가능
Results and Discussion
1) Clustering algorithm의 성능에 따른 조합 선택 → 일관된 패턴 발견
하지만 Dataset & Embedding의 종류에 대해 K-Means가 다른 알고리즘보다 우수한 성능을 보인다.
Dataset & Embedding 조합에 대한 최고의 clustering algorithm
▶ F1-score 기준으로 최고의 clustering algorithm 선정
(1) OpenAI의 ‘text-embedding-ada-002’가 다른 대부분의 metrics에 대해서 우수한 clustering 성능을 달성
- Embedding이 다양한 인터넷 text들로부터 훈련되어 언어 구조의 뉘앙스를 효율적으로 capture할 수 있었다고 추측
- K-Means와의 조합이 대부분의 실험에서 가장 높은 ARI, HS, F1S ↔ 낮은 SS, CHI
: 3가지 외부 지표에 대해서는 높으나 내부 지표를 측정하기 위해 저차원 공간으로 project할 때 cluster들이 size 측면에서 overlap되거나 변형되었을 수 있다.
(2) Open-source models(Falcon, LLaMA-2, BERT) 영역
- BERT : context 반영, 저차원 모델이라 text clustering에 효율적
- Falcon-7b가 대부분의 dataset에 대해 LLaMA-2-7b 뛰어넘음
- Falcon-7b는 text와 code가 혼합된 말뭉치로 학습되어 언어적 특징과 의미적 관계를 더 잘 capture 가능
(LLaMA-2는 대화와 QA context에 특화됨)
- CHI ↑ → cluster의 응집력 & 분리도 ↑
(3) MN-DS dataset 실험
- 2개의 level로 구성된 계층적 형태
- label 계층을 가지고 있어 상위의, 더 추상적인 label 수준(DS5)에서 clustering할 때 class를 더 잘 분리
- 보다 광범위한 주제로 통합 가능 - multi-layered label 분류법이 존재하는 dataset에 유용
- 상위 수준에서 clustering → 더 자연스러운 category 분류
- 넓은 category는 덜 구체적이어서 각 문서에서 추출되는 정보가 적다는 문제점 존재
2) 요약을 차원 축소의 목적으로 사용하는 것은 모든 모델들의 성능 향상에 도움되지 않음.
요약이 text clustering에 미치는 영향
▶ 각각의 조합에 대해 [ 요약O v/s 요약X ] 비교
- 정확한 clustering에 필요한 필수 detail이 요약 과정에서 손실되었을 수 있음.
- 또는 텍스트 표현의 고유한 복잡성과 뉘앙스때문에 복잡성을 줄이면서, 필수 정보를 유지할 수 있는 새로운 요약방식이 필요할 수도 있음.
3) Embedding size가 clustering 결과에 특히 긍정적인 영향을 미치는 경우: Falcon-7b embedding
- Falcon-7b embedding > Falcon-40b embedding
- Falcon-40b 모델에 대한 embedding(1조 개 token)이 Falcon-7b embedding(1조 5천억 개 token)에 사용된 data의 하위 집합에 대해 생성되었기 때문일 수도 있음. - LLamA-2 모델 간 결과의 격차 ↑
- LLaMA-13b embedding >> LLaMA-7b embedding
- 원래의 training dataset를 Facebook에서 공개적으로 제공하지 않아 불일치 원인을 정확하게 파악하기 어려움.
4) PCA와 t-SNE를 사용하여 다양한 크기의 LLM embeddings(Falcon, LLaMA) 시각화
CSTR dataset에서 서로 다른 embedding 표현
- LLaMA-7b(a)와 Falcon-40b(d) → Bad
- document class 1과 2의 일관성이 부족하여 feature space의 묘사가 불명확함. - LLaMA-13b(b)와 Falcon-7b(c) → Good
- class가 더 잘 분리되어 앞의 표에서 관찰된 clustering 결과를 설명할 수 있음.
Limitations
가장 큰 실험 제한 요소: 사용 가능한 컴퓨팅 자원의 부족
- 더 큰 dataset에 고차원 모델 & 요약문 생성을 적용하는 추가적 시도 불가능
▶ 대규모 text clustering에 대한 요약의 잠재적 이점은 아직 충분히 평가되지 않았음.
(뚜렷한 prompt가 있거나 대규모로 적용되었을 때 성능이 올라갈 수 있음.) - 초대형 모델(Falcon-180b, LLaMA-2-70b)을 위한 embedding은 성능 향상에 효과적일 수 있지만, 모델 크기 증가에 따라 연산량이 크게 급증하여 실제로 적용하기는 어려움.
→ 특정 크기의 모델까지만 성능 향상을 유추할 수 있어 embedding의 절대적 효율성에 대한 이해 부족
Conclusions
- 다양한 Embedding과 Clustering algorithm의 조합을 비교하여 효과적인 text grouping 방식에 대해 조사
- 요약을 통한 차원 축소의 효용성과 Embedding size가 clustering 정확도에 주는 영향 조사
요약을 통한 차원 축소는 지속적인 성능 향상에 도움되지 않아 전처리 과정에서 뉘앙스 반영시켜야 함. - Clustering 성능 향상에 대해 모델 크기(뉘앙스 반영 정도)와 컴퓨팅 자원 간의 trade-off
제한된 컴퓨팅 자원을 사용하기 위한 실용적인 challenge 필요
▶ 각각의 모델의 강점을 활용하고, 모델의 크기가 증가함에 따라 컴퓨팅 자원을 최소화하는 연구 지향!
- Text 유형, Embedding 유형 및 크기, 차원 축소, text clustering 효율성(성능) 사이의 복잡한 상호작용