레플리
글 수 72

단어 간 유사도 파악 방법

조회 수 2854 추천 수 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-04-15 910
음성인식 방법과 카카오i의 음성형엔진 깊은바다 2018-04-09 661
엑소브레인 자연어 질의응답 기술 file 깊은바다 2018-03-25 627
왓슨 컴퓨터의 인공지능 소개 깊은바다 2018-03-25 836
자연어처리의 개념 깊은바다 2018-03-24 1930
단어 간 유사도 파악 방법 깊은바다 2018-02-01 2854
네이버 사용자를 만족시켜라 - 의도파악과 의미검색 깊은바다 2018-01-28 2664
머신러닝으로 쏟아지는 유저 CS 답변하기 깊은바다 2018-01-26 681
파이썬으로 3줄 요약기 만들기 깊은바다 2018-01-19 10808
한글 NLP with Python - KoNLPy 사용법 [2] 깊은바다 2017-12-08 4028
공공 인공지능 오픈 API·DATA 서비스 포털 깊은바다 2017-11-29 1379
개인 성격 분석(Watson Personality Insights) 데모 file 깊은바다 2017-10-02 2811
문서에서 핵심 단어를 찾는 TF-IDF 알고리즘 file 깊은바다 2017-09-07 4253
문서의 카테고리를 분류할 수 있는 나이브 베이즈 알고리즘 깊은바다 2017-08-31 1881
KoNLPy - 파이썬 한국어 NLP 깊은바다 2017-06-14 1693