레플리
글 수 72

단어 간 유사도 파악 방법

조회 수 2855 추천 수 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
제목 글쓴이 날짜 조회 수sort
세종 말뭉치보다 9배 더 큰 한글 코퍼스 공개 - 모두의 말뭉치 file 깊은바다 2020-08-27 3155
노가다 없이 한국어 뉴스/댓글 데이터 분석하기 깊은바다 2018-10-30 3094
검색을 통해 지식그래프를 바로 생성하는 알고리즘 file 깊은바다 2019-08-02 3052
한국어 오픈소스 자연어처리 라이브러리 - Koshort 깊은바다 2018-05-20 2937
단어 간 유사도 파악 방법 깊은바다 2018-02-01 2855
개인 성격 분석(Watson Personality Insights) 데모 file 깊은바다 2017-10-02 2812
네이버 사용자를 만족시켜라 - 의도파악과 의미검색 깊은바다 2018-01-28 2664
텍스트 분석을 자동으로 해주는 서비스 - KoALA 깊은바다 2018-10-31 2088
구글 신경망 번역의 원리 깊은바다 2017-02-28 1984
자연어처리의 개념 깊은바다 2018-03-24 1930
문서의 카테고리를 분류할 수 있는 나이브 베이즈 알고리즘 깊은바다 2017-08-31 1881
형태소 분석의 이해 깊은바다 2017-05-01 1798
KoNLPy - 파이썬 한국어 NLP 깊은바다 2017-06-14 1693
파이썬 한국어 말뭉치 패키지 - Korpora file 깊은바다 2020-09-12 1512
SentiWordNet과 감성분석 깊은바다 2018-06-04 1456