728x90
반응형
BERTopic
BERT 임베딩 및 클래스 기반 TF-IDF를 활용하여 조밀한 클러스터를 생성하여 주제 설명에 중요한 단어를 유지하면서 쉽게 해석 가능한 주제를 허용하는 주제 모델링 기술
https://maartengr.github.io/BERTopic/index.html
Algorithm
Sentence Transformer (SBERT)
- https://www.sbert.net/index.html
- https://huggingface.co/sentence-transformers
- https://github.com/UKPLab/sentence-transformers
a Python framework for state-of-the-art sentence, text and image embeddings
BERT로 유사한 두 문장을 찾으려면 두 개의 문장을 한 개의 BERT 모델에 넣어야 유사도가 평가된다.
따라서 문장이 10000개 있으면 10000 * 9999 / 2 번의 연산 후에야 랭킹을 할 수 있다.
Clustering이나 search에서는 각 문장을 벡터 공간에 매핑하는 작업을 보통 쓰며, BERT를 이용할 때는 출력을 평균내거나 [CLS] 토큰의 출력값을 이용한다.
하지만 이랬을 때의 결과는 각 단어의 GloVe 벡터를 평균낸 것보다 좋지 않다.
- BERT 네트워크에 siamese, triplet 구조를 적용
- 기존의 BERT가 하지 못했던 large-scale의 similarity comparison, clustering, information retrieval 등이 가능
STS(Semantic Textual Similarity) benchmark (STSb)
Full list of pre-trained models
UMAP
차원 축소 알고리즘 중 하나
[NLP/Text Categorization] - 차원축소 (Dimensionality Reduction)
HDBSCAN
https://hdbscan.readthedocs.io/en/latest/index.html
import hdbscan
# min_cluster_size: set it to the smallest size grouping that you wish to consider a cluster.
# cluster_selction_method: "eom", "leaf"
hdbscan_model = hdbscan.HDBSCAN(min_cluster_size=20, cluster_selection_method="eom")
c-TF-IDF (Class-based TF-IDF)
https://github.com/MaartenGr/cTFIDF
plotly
References
- https://github.com/MaartenGr/BERTopic
- https://ichi.pro/ko/bertopiceul-sayonghan-daehwa-hyeong-juje-modelling-33695603717080
728x90
반응형
'Generative AI > Language Model' 카테고리의 다른 글
[Language Model] Transformer Model (0) | 2022.05.04 |
---|---|
[Language Model] Attention Model (0) | 2022.05.04 |
[Language Model] KR-BERT (0) | 2021.04.13 |
[NLP] 통계적 언어 모델(Statistical Language Model, SLM) (0) | 2021.04.12 |
[Language Model] T5(Text-to-Text Transfer Transformer) (0) | 2021.04.08 |