사용하기 전에 word2vec의 단어 벡터를 정규화해야합니까?


36

word2vec로 단어 벡터를 학습 한 후 일부 다운 스트림 응용 프로그램에 사용하기 전에 정규화하는 것이 더 낫습니까? 즉, 정규화의 장단점은 무엇입니까?


유사성 작업에서 정규화로 인해 시스템 성능이 약간 향상되었습니다.
keramat

답변:


29

다운 스트림 응용 프로그램이 단어 벡터의 방향에만 관심이있는 경우 (예 : 두 단어의 코사인 유사성에만주의를 기울임) 정규화하고 길이를 잊어 버립니다.

그러나 다운 스트림 응용 프로그램이 단어의 중요성 또는 단어 사용의 일관성 (아래 참조) 과 같이보다 합리적인 측면을 고려할 수 있거나 고려해야하는 경우 정규화가 좋은 생각이 아닐 수 있습니다.


에서 . 레비 등 2015 년 (그리고 사실, 단어 묻어에서 문학의 가장) :

벡터는 유사도 계산에 사용되기 전에 단위 길이로 정규화되어 코사인 유사성과 내적을 동등하게 만듭니다.

또한 Wilson과 Schakel의 2015 년 :

대부분의 단어 임베딩 응용 프로그램은 단어 벡터 자체가 아니라 유사성 및 단어 관계 작업 등을 해결하기 위해 단어 벡터 자체의 관계를 탐색합니다. 이러한 작업의 경우 정규화 된 단어 벡터를 사용하면 성능이 향상됩니다. 따라서 단어 벡터 길이는 일반적으로 무시됩니다.

정규화는 길이 개념을 잃는 것과 같습니다. 즉, 단어 벡터를 정규화하면 훈련 단계 직후에 있던 길이 (표준, 모듈)를 잊게됩니다.

그러나 때로는 단어 벡터의 원래 길이를 고려해야합니다.

Schakel과 Wilson, 2015 는 단어 벡터의 길이와 관련하여 몇 가지 흥미로운 사실을 관찰했습니다.

유사한 문맥에서 일관되게 사용되는 단어는 다른 문맥에서 사용되는 동일한 빈도의 단어보다 긴 벡터로 표시됩니다.

방향뿐만 아니라 워드 벡터의 길이도 중요한 정보를 전달합니다.

단어 벡터 길이는 단어 빈도와 함께 단어의 유용한 의미를 제공합니다.


"정규화 된 단어 벡터를 사용하면 성능이 향상된다는 것을 알 수 있습니까?" 정규화에 추가 계산이 필요하지 않습니까?
neurite

4
@neurite, 그 맥락에서 더 나은 성능 은 평가 작업에서 더 나은 점수 를 나타냅니다 .
turdus-merula
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.