자연어처리(NLP)
TF-IDF 해석 방법(+ 예제, 실험)
글을 작성하는 이유 😃 데이콘에서 "문장 유형 분류 AI 경진대회"에서 베이스라인으로 공유한 ipynb 코드 중에서 TF-IDF가 있었다. TF-IDF가 무엇이며, 왜하는지, 어떻게 해석하는지 궁금증을 해소하기 위해 작성한다. TF-IDF(Term Frequency - Inverse Document Frequency)는 무엇인가? 🤔 특정 단어가 특정 문서에서 얼마나 중요한 것인지를 나타내기 위해 사용되는 수치이다. 특정 문서에서 핵심어를 추출하거나, 검색엔진에서 검색 결과의 순위를 결정 또는 문서들 사이의 비슷한 정도를 구하는 용도로 사용할 수 있다. (1) TF(d,t) : 특정 문서 d에서의 특정 단어 t의 등장 횟수. (2) DF(t) : 특정 단어 t가 등장한 문서의 수. 예를들어, 바나나는 문..
Skip-gram
Skip-gram이란? Skip-gram는 Word2Vec의 방식 중 하나이다. CBOW는 중심에 있는 단어를 가지고, 주변에 있는 단어들을 예측하는 방법이다. 앞서 언급한 동일한 예문에 대해서 인공 신경망을 도식화해보면 위와 같다. 이제 중심 단어에 대해서 주변 단어를 예측하기 때문에, 투사층에서 벡터들의 평균을 구하는 과정은 없다. 여러 논문에서 성능 비교를 진행했을 때, 전반적으로 Skip-gram이 CBOW보다 성능이 좋다고 알려져 있다.
CBOW(Continuous Bag of Words)
CBOW란? CBOW는 Word2Vec의 방식 중 하나이다. CBOW는 주변에 있는 단어들을 가지고, 중간에 있는 단어들을 예측하는 방법이다. 예문 : "The fat cat sat on the mat" {"The", "fat", "cat", "on", "the", "mat"}으로부터 sat을 예측하는 것은 CBOW가 하는 일("sat"이 빠져있음)이다. 예측해야하는 단어 "sat"은 중심단어(center word)라고 하고, 예측에 사용되는 주변 단어(context word)라고 한다. 중심 단어(sat)을 예측하기 위해서 앞, 뒤로 몇 개의 단어를 볼지를 결정했다면 이 범위를 윈도우(window)라고 한다. 예를 들어, 윈도우 크기가 2이고, 예측하고자 싶은 단어가 sat이라면 앞의 두 단어(fat,..
워드투벡터(Word2Vec)
워드투벡터 실험 공간 사이트 Korean Word2Vec ABOUT 이곳은 단어의 효율적인 의미 추정 기법(Word2Vec 알고리즘)을 우리말에 적용해 본 실험 공간입니다. Word2Vec 알고리즘은 인공 신경망을 생성해 각각의 한국어 형태소를 1,000차원의 벡터 스페이 word2vec.kr 고양이 + 애교 = 강아지 한국 - 서울 + 도쿄 = 일본 박찬호 - 야구 + 축구 = 호나우두 분산 표현(Distributed Prpresentation) 희소 표현(sparse representation) 방법은 하나의 값만 1이고, 나머지는 전부 0으로 표현되는 벡터 표현 방법이다. 원-핫 인코딩을 통해서 생성된다. 분산 표현(distributed representation) 방법은 기본적으로 분포 가설(di..
워드 임베딩(Word Embedding)
시작하기 앞서 "원-핫 인코딩의 한계"를 다시 한번 말씀드리겠습니다. 1. 벡터를 저장하기 위해 필요한 공간이 계속 늘어난다 2. 단어의 유사도를 표현하지 못한다 원핫 인코딩의 단점을 보완하기 위해 나온 것이 "워드 임베딩"입니다. 워드 임베딩(Word Embedding)이란 ? 단어를 밀집 벡터(dense vector)의 형태로 표현하는 방법을 워드 임베딩이라고 합니다. 워드 임베딩 과정을 통해 나온 결과를 임베딩 벡터(embedding vector)라고도 합니다 - 원-핫 벡터 임베딩 벡터 차원 고차원(단어 집합의 크기) 저차원 다른 표현 희소 벡터의 일종 밀집 벡터의 일종 표현 방법 수동 훈련 데이터로부터 학습함 값의 타입 1과 0 실수 워드 임베딩의 종류 LSA Word2Vec FastText G..
NLP에서 원-핫 인코딩(One-hot encoding)이란?
원-핫 인코딩을 해야하는 이유? 컴퓨터는 문자보다는 숫자를 더 잘 처리 할 수 있다. 그렇기에 NLP에서는 문자를 수자로 바꾸는 여러가지 기법들이 있다. 그 중 원-핫 인코딩(One-hot Encoding)이 가장 기본적인 표현 방법이며, 머신러닝과 딥러닝을 위해서는 반드시 배워야하는 방법이다. 단어 사전(vocabulary)란 ? 단어 사전은 서로 다른 단어들의 집합이다. book 과 books는 다른 단어로 간주되며, 텍스트의 모든 단어의 중복을 허용하지 않고 모아 놓은 것이다. 텍스트에 단어가 총 5,000개가 존재한다면, 단어 사전의 크기는 5,000이 된다. 5,000개의 단어가 있는 단어 사전은 각 단어들마다 1번~5,000번까지 인덱스를 부여한다. 예를 들어, book은 150번, dog는 ..