레플리
글 수 72

단어 간 유사도 파악 방법

조회 수 2852 추천 수 0 2018.02.01 03:57:33


https://brunch.co.kr/@kakao-it/189

 

 

 

머신러닝에서 자연어를 처리하려면 우선 컴퓨터가 이해할 수 있는 형식으로 변환해야 합니다. 가장 쉬운 방법은 One-Hot Encoding을 사용하는 것입니다.

 

전체 단어의 수 만큼 벡터의 차원을 만들고 각 단어마다 하나의 차원에 대입합니다. 하지만 이 방식은 벡터의 차원이 너무 커지기 때문에 학습이 힘들다는 단점이 있습니다.

 

b5dpGQQWQTWH4gL1XOTBxYiPA3w.png

 

 

 

두번째 방법은 Word Embedding으로 0, 1과 같이 두개의 값이 아니라 0~1 사이의 벡터값을 가집니다. 하나의 단어마다 각 벡터의 차원을 모두 사용하기 때문에 벡터의 크기를 작게 할 수 있습니다. 또한 비슷한 단어는 벡터의 값 역시 유사하기 때문에 학습이 더 잘된다는 장점이 있습니다.

 

예를 들어, 위와 같은 단어는 다음과 같이 표현할 수 있습니다.

과학 -> (0.5, 0.1, 0.3)

공학 -> (0.4, 0.2, 0.5)

 

 

nstxpRGVr6vxcUej4gsW8oNXk3s.png

위의 글에서 카카오브레인이 만든 WordWeb이라는 것을 소개하고 있습니다. 워드 임베딩을 사용해서 입력으로 받은 단어와 비슷한 뜻을 가진 단어를 보여주는 기능입니다.

 

아래 링크에서 직접 테스트 할 수 있습니다.

-> http://ling.kakaobrain.com/wordweb

 

엮인글 :
List of Articles
제목 글쓴이 날짜 조회 수
노가다 없이 한국어 뉴스/댓글 데이터 분석하기 깊은바다 2018-10-30 3094
자연어(NLP) 처리 기초 정리 깊은바다 2018-10-22 5766
무엇이든 물어보세요, 지식그래프 : 카카오미니와 검색 적용 소개 깊은바다 2018-09-27 663
우리말 자연어처리 기술 - 과거와 현재 깊은바다 2018-08-28 860
엑소브레인의 질의응답 기능 file 깊은바다 2018-08-18 526
엑소브레인 강연 자료 깊은바다 2018-07-19 423
C++로 만든 형태소 분석기 - KIWI 깊은바다 2018-07-02 1130
간편한 토픽 모델링 툴 Tomoto Gui 깊은바다 2018-06-14 1442
클로바 Interaction Model의 이해 및 설계/제작 노하우 - 자연어처리 방법 깊은바다 2018-06-06 640
SentiWordNet과 감성분석 깊은바다 2018-06-04 1456
한국어 오픈소스 자연어처리 라이브러리 - Koshort 깊은바다 2018-05-20 2937
기계번역기의 발전과 역사 깊은바다 2018-05-10 476
소셜 미디어 감성분석을 통한 주가 예측 깊은바다 2018-04-28 1158
노가다 없는 텍스트 분석을 위한 한국어 NLP 깊은바다 2018-04-26 3902
한국어 채팅 데이터로 머신러닝 하기 깊은바다 2018-04-25 6086