관리 메뉴

KorSA

단어에 사칙 연산을 할 수 있다면..? (feat. Word Embedding Model) 본문

Data Analysis/Data

단어에 사칙 연산을 할 수 있다면..? (feat. Word Embedding Model)

Praiv. 2022. 3. 28. 16:28
320x100

이 글은 "MAPPING GLOBAL CUISINE WITH WORD EMBEDDINGS"를 읽고 작성한 글입니다.

 

단어에 사칙 연산을 사용할 수 있다면 어떨까?

만약 번화가에서 팔고 있는 타르타르(Tartare)와 비슷한 일본 음식을 찾고 싶다면

우리는 아래와 같은 사칙 연산을 적용해 볼 수 있다.

"Tartare" - "America" + "Japan" = ?

 

잘 훈련된 Word Embedding 모델을 사용하면 위의 결과로 "Sashimi"가 출력된다.

미국의 타르타르와 비슷한 일본 음식은 사시미인 것이다..!

 

Word Embedding 모델은 단어들 사이의 추상적인 관계를 도출하는 도구로 사용될 수 있다.

내부 동작은 3단계로 이루어진다.

 

Step 0.

Window Size라고 불리는 목표 단어(Target Word)의 이웃의 사이즈를 정한다.

 

Step 1.

목표 단어와 함께 있는 다른 단어들의 개수를 센다. 그리고 목표 단어에서 멀어질수록 

해당 단어의 Weight를 감소시킨다.

 

Step 2.

트레이닝 하고자 하는 모든 단어들에 대해 Step 1을 반복한다.

 

출처: https://algobeans.com/2021/11/23/word-embeddings/

 

 

Word Embedding 기법은 크게 두 가지 한계점이 있다.

 

LIMIT 1.

Apple이 사과라는 뜻과 iPhone을 만드는 회사라는 뜻이 공존하는 것처럼,

한 단어가 여러 의미를 가질 경우 트레이닝 결과가 명확하지 않을 수 있다.

이 경우 한가지 해법은 앞서의 사칙연산을 사용해볼 수 있다.

"Apple" - "Technology" = ?

 

LIMIT 2.

문맥에 따라 여러 의미로 사용되는 단어는 트레이닝 결과가 불명확할 수 있다.

벼룩 시장이 벼룩을 파는 시장이 아닌 것처럼 말이다.

 

 

 

728x90
728x90
Comments