0. Abstract
본 논문에서는 LLM(Large Language Models)에서 사용되는 Embedding 기법들과 Clustering 알고리즘에 따라 텍스트 데이터셋이 어떻게 군집화되는지 연구하고 있다.
선행연구들의 결과에 따르면, LLM 임베딩 기법들은 구조화된 언어에서의 뉘앙스(미묘한 차이)를 파악하는 데 효과적이었고 특히 가성비 측면에서 BERT 모델이 좋았다.
또한 임베딩 차원을 증가시키거나 summarization 기술을 향상시키는 것이 Clustering을 항상 균일하게 개선하지는 못했다.
즉, 효율적이고 효과적인 Clustering을 위해선 텍스트 표현의 미묘한 차이(nuanced text representation)를 잘 인지해야 하고 계산 복잡성이 수용 가능(computational feasibility)해야 한다.
1. Introduction
🔸Needs of Text Clustering
text clustering은 최근 거대해지고 있는 contents 환경에서 unstructured textual data를 hidden structure representation으로 대표할 수 있다는 점에서 각광받고 있다.
이렇게 텍스트 데이터를 조직화함으로써 RAG에서 retrieval 효율을 향상시킬 수 있다.
또한 텍스트 클러스터링은 topic modelling, trend analysis, sentiment analysis 등 다른 텍스트 분석의 초석이 된다는 점에서도 중요하다.
🔸How to Cluster Text
문서 내에서 서로 비슷한 텍스트끼리는 같은 cluster로 그룹핑하고 서로 다른 텍스트는 서로 다른 cluster에 그룹핑하는 것이 text clustering이다. 그 원리는 텍스트를 표현하는 고차원의 vector를 계산하는 것이다.
이 고차원 벡터공간의 축은 텍스트의 빈도수 또는 embedding 기법을 통해 그 특징들이 추출한 추출된 feature space이다.
클러스터링 알고리즘은 feature space의 근사(proximity), 유사(resemblance, correspondence)와 같은 방법론을 사용한다.
🔸Contribution
본 논문에서 연구하고자 하는 것은 다음과 같다.
- LLM이 사용하는 Embedding 기법에 따른 text clustering 성능 비교
- summarization을 통한 차원 축소와 embedding size에 따른 text clustering 성능 비교
2. Background
2.1 Text Embeddings의 발전
- TF-IDF : Term Frequency(해당 단어가 문서 내에서 나타나는 빈도수)와 Inverse Document Frequency(전체 corpus에서의 희귀성 : \(IDF(text) = log(\frac{문서개수}{1+TF(text)})\) )를 통해 텍스트를 표현한다. 단어 간 연관성을 효과적으로 표현한다는 장점이 있으나 각 단어를 모두 독립적으로 바라보므로 문맥이나 구문적 의미는 잘 파악하지 못한다는 단점이 있다.
- Word Embedding(Word2Vec, GloVe) : 대규모 corpora를 학습하여 단어 간 관계를 효과적으로 파악했다. TF-IDF보다 구문적 의미, 구조적 의미(문법, 품사, 위치에 따른 의미 변화)를 더 잘 파악한다. 그럼에도 불구하고 여전히 하나의 단어를 하나의 정적인 vector로 표현한다는 점에서 polysemous words(다중적 의미를 지닌 단어)를 파악하는 데 한계를 보인다.
- BERT : 대규모 corpus를 양방향 transformer 구조를 가진 BERT로 사전학습시켜 사용하는 embedding 기법이다. 이를 통해 더 깊은 연관성을 표현할 수 있게 되었다고 한다.
2.2 Text Clustering Algorithm의 발전
🔸전통적인 Clustering algorithms
- K-means : k개의 centroids를 초기화한 후, 각각의 cluster 내부에서 centroid를 정중앙으로 이동시키며 centroid에 변화를 주는 클러스터링 기법이다. 거대한 규모의 데이터셋에 효과적이지만, centroid initiation과 K의 값에 성능이 크게 의존한다는 단점이 있다.
- AHC(agglomerative hierarchical clustering) : Mean-shift, DBSCAN처럼 개별 데이터를 하나의 cluster로 간주하여 시작하며, 이들을 어떤 기준(criterion)에 따라 merging하는 알고리즘이다. 다재다능하고 데이터의 계층을 잘 파악한다는 장점이 있으나 계산 복잡성이 높다는 단점이 있다.
- Spectral Clustering Technique : Clustering 알고리즘을 적용하기 이전에 유사도 행렬의 eigenvalue로 차원 축소를 수행하는 기술이다. k-means처럼 구형(spherical) 분포를 가져야 한다는 가정을 만족하지 않아도 cluster를 잘 식별하고 noise나 outliers에도 효과적이다. 고유값 분해 과정에서 계산 비용이 크다는 단점이 있다.
- Fuzzy c-means : 하나의 data point가 여러 cluster에 속할 수 있다는 membership 개념을 도입한 알고리즘이다. objective function은 아래와 같다. \[ J=\sum_{i=1}^N\sum_{j=1}^c u_{ij}^m ||x_i-c_j||^2 \]
- \(||x_i-c_j||^2\) : 데이터 포인트와 centroid의 유클리드 거리의 제곱
- \(u_{ij}^m\) : i번째 데이터 포인트가 j번째 centroid에 속할 확률(=소속도)의 m제곱(m은 fuzziness 하이퍼 파라미터로 m값이 클수록 데이터 포인트는 여러 cluster에 균일하게 분포한다.) 경계가 불분명한 데이터셋을 효과적으로 clustering한다. 데이터 포인트가 각 cluster에 속할 확률을 알 수 있다. 계산 비용이 크다는 단점은 존재한다.
🔸Deep learning 모델을 사용한 Clustering algorithms
- AutoEncoder Based Clustering : ⁋ Unsupervised deep embedding for clustering analysis(J. H. Ward, et al. 2016)
- Graph-based Clustering : ⁋ Modularity based community detection with deep learning(L. Yang, et al. 2020)
- Ensemble Clustering : ⁋ Cluster ensembles - a knowledge reuse framework for combining multiple partitions(A. Strehl, et al. 2002)
⁋ Short text clustering with transformers(2021)와 같이 트랜스포머 기반의 text embedding을 고도화하는 연구나 ⁋ Integrating semantic knowledge to tackle zero-shot text classification(2019)와 같이 external knowledge base를 활용해 문맥 이해를 향상시키려는 노력이 계속 이루어지고 state-of-art를 갱신하고 있다. 또한 ⁋ Summarizing large text collection using topic modeling and clustering based on mapreduce framework(2015) 연구처럼 summarization을 활용해 text clustering을 정제하는 기술도 크고 복잡한 데이터셋에서 효과를 보이고 있다.
3. Methods
본 연구의 목표는 "Clustering Task에서 Text Representation을 위한 가장 효과적인 Embedding 기법을 식별"하는 것이다.
이를 위해 다양한 데이터셋, 임베딩 기법, 클러스터링 기법 조합에 대해 실험했다고 한다.
실험은 아래와 같은 단계를 거친다.
- 데이터셋 선택
- 불용어 제거와 같은 전처리
- LLM에 사용되는 다양한 임베딩 연산을 통한 text representation 추출
- text clustering에 주로 사용되는 clustering algorithm 적용
- 서로 다른 external, internal metrics를 사용하여 clustering 결과를 비교
3.1 Datasets
Dataset | Description | Pros | Size | No. classes |
---|---|---|---|---|
CSTR | scientific abstracts from the Centre for Speech Technology Research | 기술, 학술 분야의 text clustering 효과를 관찰 가능 | 299 | 4 |
SyskillWebert | user ratings for web pages | 추천 시스템에 사용되는 analysis information에 대한 clustering 효과 관찰 가능 | 333 | 4 |
20Newsgroups dataset | collection of news documents | noisy한 환경에서 clustering 알고리즘들의 robustness를 측정 가능 | 18846 | 20 |
MN-DS dataset level 1 | diverse compilation of multimedia news articles | multi-categorical 데이터에 대한 clustering 효과 측정 가능. level 2보다 추상적인 계층의 class로 구성 | 10917 | 17 |
MN-DS dataset level 2 | diverse compilation of multimedia news articles | multi-categorical 데이터에 대한 clustering 효과 측정 가능. level 1보다 구체적인 multi-layered label taxonomies로 구성 | 10917 | 109 |
3.2 Preprocessing
전처리를 통해 노이즈를 최소화하고, 핵심 패턴을 강조하고, 클러스터링 알고리즘의 정확도와 효율성을 향상시킬 수 있다.
일반적인 불용어 처리, 인코딩 에러를 유발할 수 있는 non-Latin 문자열 처리 등을 진행했다고 한다.
3.3 Text Embeddings
Base-line으로 traditional TF-IDF 임베딩을 사용하고, LLM 임베딩 기법들로는 BERT, OenAI의 "text-embedding-ada-002", Falcon, LLaMA-2-chat 임베딩 기법들을 사용한다.
[Table-2]
3.4 Clustering Algorithms
Standard K-means, cetroid initialisation을 개선한 K-means++, AHC, Fuzzy c-means, Spectral clustering 알고리즘을 사용하여 그 결과를 비교한다.
+) Fuzzy c-means는 scikit-fuzzy 라이브러리를 통해 구현되어 있고, 나머지는 scikit-learn에 모두 구현되어 있다.
[Table-3]
3.5 Evaluation Metrics
external type은 (x,y) 정답을 갖는 평가지표이고, internal type은 정답이 없는 평가지표이다.
Metrics | Purpose | Type | Fomula |
---|---|---|---|
F1-score | 클래스 불균형 상황에서도 precision과 recall을 균형있게 조정 | External | \(\sum_{i=1}^C w_iF_{1i}\) |
ARI | 우연에 의한 클러스터링을 보정하며 예측과 정답의 일치성을 측정 | External | \(\frac{RI-E[RI]}{\max(RI)-E[RI]}\) |
Homogeneity Score | 엔트로피를 활용하여 클러스터의 동질성을 측정 | External | \(1-\frac{H(C|K)}{H(C)}\) |
Sihlouette Score | 클러스터 간 분산, 클러스터 내 분산을 측정하는 지표 | Internal | \(\frac{1}{N}\sum_{i=1}^N s(i)\) |
Calinski-Harabasz Index | 클러스터 내 분산 대비 클러스터 간 분산 비율로 평가하는 지표 | Internal | \(\frac{Tr(B_k)}{Tr(W_k)}\times \frac{N-k}{k-1}\) |
3.6 Additional experiments
3.6.1 Summarization
추가적인 실험에서는 compact한 representation을 얻고 문맥적 핵심을 파악하기 위한 차원 축소 도구로써 "summarization"을 평가했다.
+) Falcon과 LLaMA-2-chat은 huggingface의 transformers 라이브러리에 있는 모델을 사용했다고 하며, 주요 parameter는 다음과 같다.
temperature=0, max_length=800, do_sample=True, top_k=10, num_return_sequences=1
+) Prompt
Write a concise summary of the text. Return your responses with maximum 5 sentences that cover the key points of the text.
{text}
SUMMARY:
3.6.2 Higher dimensionality of embeddings
또한 더 높은 차원의 임베딩이 텍스트의 미묘한 차이를 잡아내는 데 효과적인지 확인하는 실험도 진행한다. 이를 위해 우선 PCA로 차원축소를 진행한 후 t-SNE(t-Distributed Stochastic Neighbor Embedding)를 진행하여 임베딩의 global 그리고 local 구조를 모두 포착한다.
그 다음에 Table-7에 나온 임베딩 모델을 사용했다.
[Table-7]
4. Results and Discussion
🔸Clustering Result
OpenAI Embeddings + k-means clustering 조합의 ARI, F1-score, HS 지표가 가장 높았다. 그러나 해당 조합의 SS, CHI 값은 낮았는데 이는 클러스터 간 분산이 작음을 의미한다. 이는 OpenAI Embedding이 고차원 임베딩이라는 점에서 발생할 수 있는 문제점이다.
논문에 따르면, ARI나 F1-score 같은 external metrics는 데이터의 고차원적 특성을 잘 평가하지만, SS나 CHI같은 internal metrics는 저차원 공간에서 클러스터 간 공간적 관계를 평가한다고 한다. 따라서 OpenAI Embedding처럼 고차원 데이터를 결과로 반환하는 경우 SS와 CHI 지표가 좋지 않게 나타날 수 있다고 한다.
OpenSource 임베딩 모델 중에서는 Falcon-7b 모델이 LLaMA-2-7b 모델보다 대체로 우수한 성능을 보였다고 한다. 그 이유는 Falcon이 텍스트와 코드로 구성된 corpus를 학습했기 때문이라고 추측한다. 또한 Falcon의 CHI 지표가 좋았는데 이는 클러스터 간 분산이 크고, 클러스터 내 분산은 작다는 의미이다.
MN-DS dataset을 사용한 실험 결과, 구체적인 계층 구조보다 추상적인 계층 구조로 클러스터링을 진행했을 때 분류 성능이 더 좋았다고 한다.
즉, multi-layered label taxonomies를 가진 dataset에서 추상적인 클래스로 클러스터링하는 것이 더 cohesive(클러스터 내 분산이 작은) 클러스터링을 가능하게 한다.
그러나 추상적인 레벨로 클러스터링할수록 각 문서에서 추출되는 구체적인 정보는 적어지는 단점이 존재한다.
아래 table-8은 각 dataset, embedding, clustering algorithm 조합별 결과에 대한 평가지표이다.
짧게 요약하자면, Embedding model로는 OpenAI와 BERT의 성능이 우수하고, clustering algorithm으로는 k-means가 대체로 우수하다.
[Table-8 Clustering Result]
🔸Effectiveness of Summarization
결론적으로 본 논문에서 사용한 Summarization 방법은 Clustering에 효과가 없다.
보다 정확한 clustering을 위해서는 detail한 정보들이 포함되어야 함을 의미한다고 볼 수 있다. 물론 논문의 summarization prompt가 maximum sentences를 5로 제한하고 있기 때문에 지나치게 많은 정보가 요약되어 발생한 문제일 수도 있다고 스스로 지적했다. 따라서 이에 대해서는 요약 process를 수정하여 실험할 필요가 있다.
실험 결과에서 주목할 만한 점은 OpenSource 임베딩 Model들(Falcon, LLaMA-2)의 clustering with summarization 성능이 유난히 떨어진다는 점이다. 해당 모델들이 보다 복잡한 뉘앙스를 잘 포착하지 못하기 때문이다.
[Table-9]
🔸Effectiveness of Embedding Model Size
Falcon-40b 모델의 경우 아이러니하게도 Falcon-7b 모델보다 더 적은 양의 데이터(subset of the data used for the Falcon-7b)로 학습했다. 반면 LLaMA-2-7b와 LLaMA-2-13b는 동일한 데이터셋으로 학습했다고 알려졌다.
두 실험 결과가 모두 크기가 작은 모델의 성능이 우수하게 나왔다면 일관성 있는 결과로 볼 수 있겠지만, 서로 반대되는 결과가 나왔기 때문에 본 논문의 저자는 이에 대한 해석이 어렵다고 판단했다.
[Table-10]
🔸Conclusion
결국 본 논문에서는 클러스터링 성능과 관련된 어떤 일관된 패턴은 발견하지 못했다.
그러나 대부분의 경우에서 OpenAI의 Embedding model과 k-means clustering algorithm이 우수한 성능을 보인다는 점을 관찰했다. 또한 OpenAI 다음으로 BERT가 그나마 우수한 성능을 보였다.
따라서 k-means 알고리즘이 본 연구에서 사용된 데이터셋이나 임베딩에 대해서는 견고한 알고리즘임을 시사한다고 볼 수 있다.
또한 일반적으로 임베딩 모델의 크기가 커질수록 더 좋은 성능을 기대할 순 있지만, computational cost와 performance 간의 trade-off 관계를 고려해야 한다.
'논문 리뷰' 카테고리의 다른 글
[논문리뷰] RAG : Retrieval-Augmented Generation for Knowledge-Intensive NLP tasks (4) | 2024.09.03 |
---|---|
[논문리뷰] G-EVAL: NLG Evaluation using GPT-4 with Better Human Alignment (0) | 2024.08.09 |
[논문코드리뷰] Attention is all you need (code) (0) | 2024.07.01 |
[논문리뷰] Informer: Beyond Efficient Transformer for Long SequenceTime-Series Forecasting (1) | 2024.03.11 |
[논문리뷰] Attention is all you need (0) | 2024.03.04 |