논문 속 수식이나 Related Works를 제외하고 핵심만 정리해봤다!
기회가 된다면 다음 포스트에서 정리하는 걸로...ㅎ
간단하게 논문을 정리하자면?
::Neural Feedback Text Clustering with BiLSTM-CNN-Kmeans::
BiLSTM과 CNN을 이용해서 특징을 추출하여 장, 단기 문맥 정보를 학습!
::Neural Feedback Text Clustering with BiLSTM-CNN-Kmeans::
K-means 알고리즘을 통한 클러스터링 결과를 피드백 정보로 활용하여 파라미터를 동적으로 최적화!
::Neural Feedback Text Clustering with BiLSTM-CNN-Kmeans::
특징 추출과 클러스터링을 개별적인 과정이 아닌 하나의 통합된 과정으로 처리!
Introduction
| 텍스트 클러스터링이란?
텍스트 + 클러스터링 = 텍스트 그룹을 분석하여 유사한 텍스트를 같은 카테고리로 분류하는 과정
차연어 처리(NLP) 알고리즘을 통한 분류(지도학습)에 비해 클러스터링 알고리즘(비지도학습)은 사람의 개입이 덜 필요하고 효율성이 높음.
| 텍스트 클러스터링과 특징 추출?
정확한 클러스터링 모델을 생성하기 위해 특징 추출은 필수적
기존 : VSM, TF-IDF, LSA 널리 사용
문제점 : sparse한 데이터, 의미 구조 복잡, 노이즈 간섭 큼.
텍스트 클러스터링과 특징 추출을 동시에 진행한다면 -> 매개변수를 동적으로 조정할 수 있음
| 딥러닝을 통한 특징 추출!
RNN : 텍스트의 로컬 특징이 아닌 장기적인 의존성을 학습 가능
-> LSTM : 의미론적 표현 개선 가능
CNN : 로컬 특징을 추출하는 데 효과적
Proposed Method : LCK-NFC Algorithm
알고리즘 한 번에 정리하자면?
텍스트가 주어지면 추출된 특징을 기반으로 텍스트를 서로 다른 클러스터로 묶기
1. Text Preprocessing
해당 논문은 중국어 데이터셋을 기준으로 작성되었음을 유의..!!
(중국어를.. 완벽히 아는 것이 아니기 때문에 저자의 의도와 다르게 해석한 부분이 있을 수 있다...)
| 중국어 전처리
1) 중국어 단어 분할(Chinese word segmentation, CWS)
: 원본 텍스트를 특정 규칙에 따라 문자, 단어 및 구의 모음으로 나누는 과정
2) 불용어 및 문장 부호 제거
- 불용어(Stop Word) : 실제 의미가 없는 단어. 텍스트 분류에 기여하지 않거나 부정적인 영향을 미치기도 함.
-> 규칙 기반 구성 방법 / 통계 분석에 기반한 자동 학습 방법
영어는 잘 알려진 불용어 사전이 존재하지만 중국어 어휘는 훨씬 방대하고 모호한 경향이 있음 주의
해당 논문에서는 Baidu list of stop words, HIT stop list and Sichuan University Machine Intelligence Laboratory disabled thesaurus를 중복 단어 제거 후 결합하여 불용어 사전으로 이용함.
2. Neural Feedback Text Clustering
1) Feature Extraction
(1) CNN을 통한 Feature Extraction
(2) BiLSTM-CNN을 통한 문맥, 로컬 Feature Extraction
| CNN만 이용할 순 없을까?
텍스트의 의미를 파악할 대 CNN이 RNN보다 성능이 우수하지만 CNN은 필터의 window 크기를 결정하기 어려움.
window 크기 조절이 왜 필요할까?
window 크기가 작으면 -> 중요 정보 손실
window 크기가 크면 -> 파라미터 공간 폭발적으로 증가, 모델 학습 난이도 높아짐
=> CNN 레이어 전에 Bi-LSTM 레이어 추가하여 해결
| Bi-LSTM?
RNN > LSTM > Bi-LSTM
RNN > LSTM : 장기 의존성 학습 가능
LSTM > Bi-LSTM : 전방 셀(forward cells)을 통해 특정 시점의 과거 특징과 후방 셀(backward cells)를 통해 미래 특징 모두 학습 가능
=> 단어 자체와 문맥을 결합하여 단어를 표현하는 단어 임베딩을 확장하는 데 Bi-LSTM이 사용
| CNN의 문제 해결은 어떻게?
window 크기 조절의 성능을 Bi-LSTM이 해주기 때문에 1xk로 고정!(k = 단어 임베딩의 차원)
=> 텍스트의 무결성을 보장할 뿐만 아니라 컨볼루션 커널의 수와 네트워크 학습 파라미터의 수를 줄여줌 -> 시간 복잡성 감소
2) K-means Clustering
Bi-LSTM과 CNN을 통해 텍스트의 의미적 표현을 얻은 후, 최종 텍스트 표현을 클러스터링 레이어에 공급하여 Neural Feedback Text Clustering을 구현하는 과정
| 특징 추출 과정과 클러스터링 과정의 상호작용
손실 함수 : 역 실루엣 계수(inverted Silhouette Coefficient)
손실 함수를 최소화함으로써 전체 신경망을 최적의 구조로 조정하고 쵲ㄱ의 클러스터링 결과를 얻을 수 있음 -> 파라미터의 동적 최적화 가능!
Experiments and Discussions
- 학습 데이터셋이 클수록 LCK-NFC 알고리즘의 성능이 향상 (밑으로 갈수록 성능 up)
- LCK-NFC 알고리즘 최적화 구조에 따라 알고리즘의 전반적인 성능 향상 (완전한 LCK-NFC 모델이 성능 가장 높음, 특히 feedback이 없을 때 성능 낮아짐 -> feedback 중요!)
- 노이즈가 추가되어도 클러스터링 알고리즘의 성능 유지됨 -> 노이즈 견고성 가지고 있음
| 노이즈 강건성이 왜 중요할까?
텍스트 클러스터링에서 노이즈 데이터가 도입되면 클러스터링 알고리즘의 성능이 저하되는 경향이 있음
- 다른 알고리즘(TF-IDF, LAS, CNN)과 비교했을 때에도 가장 우수한 성능
다양한 말뭉치 데이터에 적용했을 때의 결과
- SogouCS, Fudan Corpus 는 5개의 범주를 가지고 있으며, Chnsenticorp는 2개의 범주를 가지고 있음 -> 카네고리 수가 적을수록 성능이 향상됨
'AI' 카테고리의 다른 글
영상 처리 기초 정리 (0) | 2025.01.02 |
---|---|
BlazePalm 모델 정리 (0) | 2024.12.26 |
Video Classification (2) | 2024.11.21 |
[추천시스템] 행렬 분해 정리 (0) | 2024.11.15 |
규제_Lasso, Ridge, Elastic-Net (1) | 2024.09.26 |