LDA vs 워드 2 벡


39

단어 유사성을 계산하기 위해 Latent Dirichlet Allocationword2vec의 유사점이 무엇인지 이해하려고합니다 .

내가 이해하는 바와 같이, LDA는 단어를 잠재 주제 의 확률 벡터로 매핑하는 반면, word2vec는 실제 숫자 벡터로 매핑합니다 (점별 상호 정보의 특이 값 분해와 관련이 있습니다 . O. Levy, Y. Goldberg, "Neural Word Embedding" "암시 적 행렬 분해" " ; word2vec어떻게 작동합니까? "를 참조하십시오 .

나는 이론적 관계 (하나는 일반화 또는 다른 것으로 간주 될 수 있음)와 실용적 (하나는 사용하지만 다른 하나는 사용하지 않을 때)에 관심이 있습니다.

관련 :


: 나는 온 자리로이 프레젠테이션을 발견 slideshare.net/ChristopherMoody3/...
표트르 Migdal

Doc2vec (일명 단락 2vec)를보아야합니다. 문서 벡터는 단어 대신 문서를 요약합니다.
sachinruk

답변:


19

주제 모델과 단어 동시 발생 방법에 대한 답변 은 차이점을 다룹니다 (건너 뛰기 단어 word2vec는 PMI (pointwise mutual information )의 압축입니다 ).

그래서:

  • 어떤 방법도 다른 방법의 일반화가 아니며
  • vkingvman+vwomanvqueen
  • LDA는 두 요소보다 높은 상관 관계를 보았습니다.
  • LDA는 해석 가능한 주제를 제공합니다.

슬라이드 word2vec, LDA에서 새로운 하이브리드 알고리즘 인 lda2vec-Christopher Moody를 소개 합니다.


1
LDA의 주제가 잠재적으로 해석 가능 하다는 것을 말하기 위해 "LDA는 해석 가능한 주제를 제공합니다"라는 문구에주의를 기울 였습니다. LDA의 "주제"라는 개념은 인간이 주제로 생각하는 것에 항상 매핑되는 것은 아닙니다.
웨인

LDA는 bag-of-words 접근 방식을 사용하므로 문서 내에서 동시 발생에 대해서만 알고있는 반면, word2vec (또는보다 doc2vec)는 단어의 문맥을 고려한다는 것이 핵심 개념입니다.
웨인

13

두 알고리즘은 목적에 따라 약간 다릅니다.

LDA는 주로 문서와 문서 모음에 주제 배포를 할당하여 문서와 문서 모음을 설명하는 데 목적이 있으며, 여기에 언급 된대로 단어 배포가 할당됩니다.

word2vec는 잠복 벡터 공간에 단어를 삽입하는 것으로 보인다. 또한 문서를 설명하는 데 사용될 수도 있지만 실제로 작업을 위해 설계된 것은 아닙니다.


1
이론적으로 LDA에서 P (topic | word)를 계산하여 word2vec의 벡터 임베딩과 유사한 것을 얻을 수 있지만 @Bar가 말했듯이 이러한 모델은 다른 작업을 위해 설계되었습니다. LDA의 P (topic | word) 분포를 word2vec의 벡터 임베딩과 비교했다면, 그것들이 매우 유사 할 것입니다. LDA는 문서 레벨 연관을 캡처하고 word2vec는 매우 로컬 연관을 캡처합니다.
Zubin

4

Topic2Vectogether with

D={w1:z1,...,wM:zM}ziwi

LCBOW(D)=1Mi=1M(logp(wi|wext)+logp(zi|wext))

LSkipgram(D)=1Mi=1Mkck,c0(logp(wi+c|wi)+logp(wi+c|zi))

COSINE SIMILARITY

또한 내부에서 다음과 같은 문구가 작동합니다.

"확률은 기능 표현을위한 최선의 선택이 아닙니다"

"LDA는 단어, 주제 및 문서에 포함 된 실제 의미 정보보다는 발생의 통계적 관계를 설명하는 것을 선호합니다"

다른 모델을 더 잘 이해하는 데 도움이됩니다.


2

여기에있는 다른 답변은 두 알고리즘의 기술적 차이점을 다루지 만 핵심 차이점은 그 목적이라고 생각합니다.이 두 알고리즘은 다른 작업을 수행하도록 설계되었습니다.

word2vec궁극적으로 단어 와 고정 길이 벡터 간의 매핑을 생성합니다 . 우리가 그것을 다른 잘 알려진 접근법과 비교한다면, Bag of Words (BOW 모델)와 같은 동일한 의도를 위해 설계된 다른 도구를 사용하는 것이 더 합리적입니다. 이것은 동일하지만 word2vec단어 순서를 사용하고 의미 표현을 단어 표현 사이의 거리에 할당하는 것과 같은 원하는 기능이 부족 합니다.

LDA반면에 다양한 길이의 문서 에서 벡터로 의 매핑을 만듭니다 . 이 문서는 문장, 단락 또는 전문 파일 일 수 있지만 한 단어가 아닙니다. doc2vec동일한 작업을 수행하고 Tomas Mikolov가 여기에 소개 한 것과 비교하는 것이 더 합리적입니다 (저자는 용어를 사용합니다 paragraph vectors). 또는 LSI그 문제로.

따라서 두 가지 질문에 직접 답하십시오.

  1. 그들 중 어느 것도 다른 것의 일반화 또는 변형이 아닙니다.
  2. LDA를 사용하여 문서 를 고정 길이 벡터 에 매핑하십시오 . 그런 다음이 벡터를 문서를 받아들이고 감상적 레이블을 예측하는 분류기와 같은 기존 ML 알고리즘에서 사용할 수 있습니다.
  3. 단어 를 고정 길이 벡터 word2vec에 매핑하는 데 사용 합니다 . 이 벡터를 사용하여 ML 모델에 피드를 입력 할 수 있습니다. 예를 들어 이전 단어를 피드하고 다음 단어를 예측하는 자동 완성기를 개발할 때 입력이 단어였습니다.

1

실용적인 관점에서 ...

LDA는 문서에서 단어가 함께 발생하는 것을 고려하지만 단어의 즉각적인 맥락에주의를 기울이지 않는 단어 모음으로 시작합니다. 즉, 단어가 문서의 어느 곳에 나 어떤 순서로든 나타날 수 있으며 특정 수준의 정보가 제거됩니다. 대조적으로 word2vec는 단어가 사용되는 문맥에 관한 것입니다.

LDA의 "주제"는 수학적 구성이므로 실제 인간 주제와 혼동해서는 안됩니다. 인간의 해석이없는 주제 (실제 주제보다 프로세스의 인공물과 유사 함)로 끝날 수 있으며 기본적으로 동일한 인간 주제를 다루는 주제를 포함하여 다양한 추상화 수준의 주제로 끝날 수 있습니다. 찻잎을 읽는 것과 같습니다.

LDA가 데이터를 탐색하는 데 유용하지만 솔루션을 제공하는 데 유용하지는 않지만 마일리지는 다를 수 있습니다.

Word2vec는 주제를 직접 작성하지 않습니다. 비슷한 사용법을 기반으로 단어를 고차원 공간에 투사하므로 공간에서 서로 구별되거나 구별 될 수 있다고 생각되는 단어에 대해 자체 놀라움을 줄 수 있습니다.

두 단어 중 하나를 사용하여 단어가 "유사한 지"확인할 수 있습니다. LDA : 같은 주제에서 단어의 가중치가 비슷합니까? word2vec : 포함 공간에서 (어느 정도) 닫혀 있습니까?

문서를 사용하여 문서가 유사한 지 확인할 수 있습니다. LDA를 사용하면 비슷한 주제가 혼합되어 있고 word2vec를 사용하면 문서 단어의 벡터를 더하는 것과 같은 작업을 수행 할 수 있습니다. "문서"는 문장, 단락, 페이지 또는 전체 문서 일 수 있습니다. Doc2vec는 문서를 직접 비교할 수있는 수정 된 word2vec 버전입니다.

LDA는 단어 접근 방식으로 상황에 맞는 정보를 버리지 만 word2vec에는없는 주제 (또는 "주제")가 있습니다. 따라서 doc2vec를 사용하여 "이 문서와 유사한 문서를 표시하십시오"라고 말하고 LDA에서는 "주제 A가 눈에 띄는 곳에 문서를 표시하십시오"라고 간단하게 말할 수 있습니다. (또, "주제 A"는 문서의 수학적 프로세스에서 나온다는 점을 알고 있으며, 그 주제가 주로 어떤 주제에 해당하는지 알아냅니다.)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.