답변:
그것은 당신이 원하는 "최첨단"(SOTA)의 양과 얼마나 깊이 가고 싶은지에 달려 있습니다.
word2vec, Glove 또는 fastText에서 제공하는 얕은 단어 임베딩으로 살 수 있다면 Word Mover Distance (WMD [yes, really ...])는 문서 거리 (짧은)를 측정하는 훌륭한 기능이라고 생각합니다. [1] . 과거에는이 거리 측정에 대한 "자습서"를 제공하는 여러 Python 노트북을 보았으므로 실제로 쉽게 갈 수 있습니다.
그러나 SOTA에 더 관심이 있다면 문장에서 주제 모델을 학습하는 일종의 반복 네트워크를 사용하여 심층적 인 (시퀀스 표현) 학습을 조사해야합니다. 단어의 통합 (의미 적)을 포함하는 것 외에도, 이러한 접근법은 의존성을 사용하여 주제 표현을 학습함으로써 [좋은, 오래된] "단어"접근법을 뛰어 넘습니다.문장에서 단어의. 예를 들어, SLRTM (Sentence Level Recurrent Topic Model)은보다 전통적인 LDA (Blei 등) 또는 LSA (Landauer 등)의 아이디어를 기반으로하는 매우 흥미롭고 깊고 반복적 인 모델이지만 arXiv 일뿐입니다. 논문 (따라서 비 검토되지 않은 연구에 관한 모든 기본 "소금 채취 경고"가 적용되어야합니다 ...) [2]. 그럼에도 불구하고,이 논문에는이 토끼 구멍을 내려 가고 싶을 때 연구를 시작하기위한 훌륭한 포인터와 참고 자료가 많이 있습니다.
마지막으로, 이들은 각각 bag-of-words 및 시퀀스 모델에 대해 최상의 성능을 발휘할 수있는 방법이라고 주장하지 않습니다. 그러나 그들은 "최상의"SOTA가 될 수있는 모든 것에 아주 가까워 야하고, 적어도 훌륭한 출발점으로 작용해야합니다.
[1] Matt J. Kusner et al. 워드 임베딩에서 문서 거리까지. JMLR, 기계 학습에 관한 제 32 차 국제 컨퍼런스 진행, 2015.
Fei Tian et al. SLRTM : 주제를 스스로 말하기 arXiv 1604.02038, 2016.
https://github.com/RandyPen/TextCluster
KMeans 등을 능가하는 짧은 텍스트에 특정한 클러스터 방법입니다. 잠재 변수 번호를 설정할 필요가 없습니다.
기본 아이디어는 문장을 단어로 토큰 화하는 것입니다. 그런 다음 텍스트 구성 요소에 따라 다른 버킷으로 보내십시오. 각 버킷에서 문장과 버킷 간의 유사성을 계산합니다. 유사성 점수가 특정 값보다 높은 경우이 문장을 해당 버킷에 추가하고 다음 버킷을 검색하십시오.