RNN은 순서 변화에 따른 의미의 변화를 찾아낸다.컴퓨터 비전에서는 CNN(합성곱 신경망)이 유용하게 쓰이지만, NLP의 경우 RNN이 유용하다. CNN은 이미지의 패턴을 찾아내는 데 있어 좋은 성능을 보인다. 하지만 이미지와 달리 언어의 경우, '순서'라는 성질이 중요하다.Example① I love google.② I google love. 문장 ①의 경우, 나는 구글을 사랑한다는 의미이지만, 문장 ②는 나는 love를 구글에 검색해보았다는 의미를 지닌 문장이 된다.같은 단어들로 구성된 문장이라 할 지라도 단어가 배열된 '순서'에 따라 각 단어의 역할이 바뀌고, 문장의 뜻이 달라지는 것이다. 그렇기에 NLP에서는 '순서'를 내포하는 순환 신경망(RNN)을 이용한다. RNN이란 0과 1로만 구성된 수..
워드 임베딩에서는 라벨이 매겨지지 않은 데이터셋을 사용한다. 즉, 모델이 학습하는 데 사용하는 데이터셋에는 정답이 따로 부여되지 않았으며 이에 따라 모델은 정답을 학습하는 것이 아니라는 뜻이다.새로운 개념 아래에 유사성에 따라 수많은 데이터를 모으고, 데이터셋 내에 존재하는 유사한 단어를 파악하고, 여러 단어가 주어졌을 때 그 뒤에 나올, 혹은 그 사이에 나올 단어가 무엇인 지 예측해본다. 워드 임베딩(Word embeddings)Word2Vec특정 단어를 어떤 차원에서 벡터로 나타내는 것이다. 단순히 하나의 알고리즘을 의미하는 것이 아니라, 워드 임베딩을 학습할 때 쓰이는 특정 모델 아키텍쳐나 최적화 등을 통칭하는 말이다. 워드 임베딩은 Bow(Bag of Words)와 구별되는 몇 가지 특징을 지닌다..
텍스트 분석과 토큰화n-gram 모델단어 가방 모델텍스트 분석말뭉치와 토큰화불용어인코딩조건부 확률 개념n-gram 적용 텍스트 분석과 토큰화 문장을 다양한 수준에서 분석할 수 있는데, 언어의 종류마다 그 기준이 상이하다.다음을 보면, 영어의 성격을 고려해서 복잡성의 정도에 따라 도식화를 통해 분석할 수 있다.복잡성의 정도에 따라 네 가지 기준을 설정하면, 하나의 텍스트를 네 가지의 다른 방식으로 분석할 수 있다품사 따라서, 위 이미지에서 아래쪽에 위치할 수록 문장이 함의하고 있는 메시지를 더 잘 설명해주고 복잡성은 높아진다. 말뭉치(corpus)와 토큰화(tokenization)· 말뭉치: 언어 연구를 위해 텍스트를 컴퓨터가 읽을 수 있는 형태로 모아 놓은 언어 자료. 처리하고 분석할 자연어 자체.· ..
자연어 처리는 크게 자연어 이해(NLU; Natural Language Understanding)와 자연어 생성(NLG; Natural Language Generation)으로 나눌 수 있다. 자연어, 즉 인간 언어에는 중의적 표현과 여러 함축적인 말들이 있기 때문에 직역이 능사는 아니다. 직역을 하게 된다면 원래의 메시지를 훼손할 경우도 존재하기 때문이다. 따라서 NLU 과정에서는 문장의 단순한 해석을 넘어 맥락과 유의어까지 고려해야 하고, 자연어 생성에서는 데이터에 축적된 자연어를 조합하여 사용자가 이해하기 쉬운 문장으로 출력하도록 한다.자연어 처리 활용 분야· 인공지능 챗봇· 사진에 캡션 달기· 표절 탐지· 에세이 자동 채점· 문서 요약· 음성 인식 UI· 키워드 기반 문서 검색· 유사한 문서 그..