안녕하세요. 이번 카테고리에서는 Text mining에 대해서 배워보려고 해요.
Text mining의 가장 기본적인 개념으로 Word embedding이 있습니다.
텍스트 분석을 위해서는 우선 텍스트에 존재하는 단어들을 정형 데이터로 바꾸어 주어야 합니다.
이를 Word embedding 이라고 정의합니다.
텍스트 분석을 해본 경험이 있으신 분들은 아시겠지만, 가장 기본적인 Word embedding 방법이 있습니다.
바로 Term-document matrix를 사용하여, one-hot encoding vector로 표현하는 것입니다.
one-hot encoding vector는 벡터의 성분이 하나만 1이고 나머지는 0인 것을 의미합니다.
예를 들어볼게요.
I am a blogger studying data analysis. 라는 문장이 있다고 할게요.
총 7개의 단어 'I', 'am', 'a', 'blogger', 'studying', 'data', 'analysis' 로 구성이 된 문장입니다.
각 단어들을 one-hot encoding vector로 표현하면 다음과 같습니다.
정말 간단한 Word embedding 방법입니다.
하지만 이러한 방법은 큰 문제점이 있습니다.
바로 차원 문제입니다.
저희가 텍스트 분석을 할 경우, 단어가 수십만개가 존재할 것입니다.
그렇다면, Word embedding은 수십만 차원의 벡터를 가지게 됩니다.
굉장히 큰 차원으로 후에 학습을 하면 성능이 좋을까요??
절대 그럴 수가 없겠지요.
따라서 적은 차원에 Word embedding할 수 있는 방법이 필요합니다.
예를 들어서, 7개의 단어를 3개의 차원으로 벡터화 시키는 것처럼요.
이 때, 각 단어 벡터는 랜덤하게 설정되는 것이 아니라, 한 문장에서 가까이 나타나면 큰 유사성을 가지면 좋겠죠??
다음 포스팅에서는 이러한 Word embedding 방법중에 가장 유명한 Word2vec 에 대해서 배워볼게요.
'데이터 다루기 > Textmining' 카테고리의 다른 글
[Text mining] 5. Word2vec (4) Negative sampling (0) | 2020.01.06 |
---|---|
[Text mining] 4. Word2vec (3) Hierarchical Softmax (1) | 2020.01.06 |
[Text mining] 3. Word2vec (2) Skip-gram (0) | 2020.01.02 |
[Text mining] 2. Word2vec (1) CBOW (0) | 2020.01.01 |