Word2Vec을 사용한 주제 모델링

게시 됨: 2022-05-02

단어는 그것이 유지하는 회사에 의해 정의됩니다. 이것이 단어를 숫자로 변환하고 다차원 공간에서 표현하는 방법인 Word2Vec 뒤에 있는 전제입니다. 문서 모음(코퍼스)에서 자주 함께 발견되는 단어도 이 공간에 함께 표시됩니다. 문맥상 관련이 있다고 합니다.

Word2Vec은 말뭉치와 적절한 교육이 필요한 기계 학습 방법입니다. 둘 다의 품질은 주제를 정확하게 모델링하는 능력에 영향을 미칩니다. 매우 구체적이고 복잡한 주제는 정확하게 모델링하기가 가장 어렵기 때문에 출력을 검사할 때 모든 결점이 쉽게 드러납니다. Word2Vec은 자체적으로 사용할 수 있지만 제한 사항을 해결하기 위해 다른 모델링 기술과 자주 결합됩니다.

이 기사의 나머지 부분에서는 Word2Vec에 대한 추가 배경 지식, 작동 방식, 주제 모델링에서 사용되는 방법 및 제시하는 몇 가지 문제를 제공합니다.

Word2Vec이란 무엇입니까?

2013년 9월 Google 연구원인 Tomas Mikolov, Kai Chen, Greg Corrado 및 Jeffrey Dean은 '벡터 공간에서 단어 표현의 효율적인 추정'(pdf)이라는 논문을 발표했습니다. 이것은 이제 우리가 Word2Vec이라고 부르는 것입니다. 이 논문의 목표는 "수십억 단어와 수백만 단어가 포함된 방대한 데이터 세트에서 고품질 단어 벡터를 학습하는 데 사용할 수 있는 기술을 소개하는 것"이었습니다.

이 시점 이전에는 모든 자연어 처리 기술이 단어를 단수 단위로 취급했습니다. 그들은 단어 사이의 유사성을 고려하지 않았습니다. 이 접근 방식에는 타당한 이유가 있었지만 한계가 있었습니다. 이러한 기본 기술을 확장해도 상당한 개선을 제공할 수 없는 상황이 있었습니다. 따라서 첨단 기술을 개발할 필요가 있습니다.

이 논문은 계산 요구 사항이 낮은 간단한 모델이 고품질 단어 벡터를 훈련할 수 있음을 보여주었습니다. 논문의 결론에 따르면 "훨씬 더 큰 데이터 세트에서 매우 정확한 고차원 단어 벡터를 계산하는 것이 가능합니다." 그들은 사실상 무제한 크기의 어휘를 제공하는 1조 단어가 있는 문서 모음(corpora)에 대해 이야기하고 있습니다.

Word2Vec은 단어를 숫자(이 경우 벡터)로 변환하여 유사성을 수학적으로 발견할 수 있도록 하는 방법입니다. 아이디어는 유사한 단어의 벡터가 벡터 공간 내에서 그룹화된다는 것입니다.

여왕, 왕, 왕자, 공주, 여자, 남자라는 용어의 3차원 공간에서의 그래픽 표현.

지도의 위도 및 경도 좌표를 생각해 보십시오. 이 2차원 벡터를 사용하면 두 위치가 상대적으로 가까운지 여부를 빠르게 확인할 수 있습니다. 단어가 벡터 공간에서 적절하게 표현되려면 2차원만으로는 충분하지 않습니다. 따라서 벡터는 많은 차원을 통합해야 합니다.

Word2Vec은 어떻게 작동합니까?

Word2Vec은 큰 텍스트 말뭉치를 입력으로 받아 얕은 신경망을 사용하여 벡터화합니다. 출력은 각각 해당 벡터가 있는 단어 목록(어휘)입니다. 유사한 의미를 가진 단어는 가까운 거리에서 공간적으로 발생합니다. 수학적으로 이것은 코사인 유사도로 측정되며, 여기서 전체 유사도는 0도 각도로 표시되고 유사성이 없는 경우 90도 각도로 표시됩니다.

단어는 다양한 유형의 모델을 사용하여 벡터로 인코딩될 수 있습니다. 그들의 논문에서 Mikolov et al. 두 가지 기존 모델인 피드포워드 신경망 언어 모델(NNLM)과 순환 신경망 언어 모델(RNNLM)을 살펴보았습니다. 또한 두 가지 새로운 로그 선형 모델인 CBOW(Continuous Bag of Words)와 연속 Skip-gram을 제안합니다.

비교에서 CBOW와 Skip-gram이 더 나은 성능을 보였으므로 이 두 모델을 살펴보겠습니다.

CBOW는 NNLM과 유사하며 컨텍스트에 따라 대상 단어를 결정합니다. 앞뒤에 오는 단어를 기준으로 대상 단어를 결정합니다. Mikolov는 4개의 미래와 4개의 역사적 단어가 최고의 성과를 낸다는 것을 발견했습니다. 역사에서 단어의 순서는 출력에 영향을 미치지 않기 때문에 '단어의 가방'이라고 합니다. CBOW라는 용어에서 '연속'은 "컨텍스트의 연속 분산 표현"의 사용을 나타냅니다.

Skip-gram은 CBOW의 반대입니다. 단어가 주어지면 특정 범위 내에서 주변 단어를 예측합니다. 더 큰 범위는 더 나은 품질의 단어 벡터를 제공하지만 계산 복잡성을 증가시킵니다. 먼 단어는 일반적으로 현재 단어와 덜 관련이 있기 때문에 더 적은 가중치가 부여됩니다.

CBOW와 Skip-gram을 비교할 때 후자는 대규모 데이터 세트에서 더 나은 품질의 결과를 제공하는 것으로 나타났습니다. CBOW가 더 빠르지만 Skip-gram은 자주 사용하지 않는 단어를 더 잘 처리합니다.

훈련하는 동안 벡터는 각 단어에 할당됩니다. 해당 벡터의 구성요소는 유사한 단어(컨텍스트 기반)가 서로 더 가깝도록 조정됩니다. 이것을 줄다리기로 생각하면 이 다차원 벡터에서 다른 용어가 공간에 추가될 때마다 단어가 밀려오고 당겨집니다.

코사인 유사성 외에도 수학 연산을 단어 벡터에 대해 수행할 수 있습니다. 예를 들어 vector(”King”) – vector(”Man”) + vector(”Woman”)는 단어 Queen을 나타내는 것과 가장 가까운 벡터를 생성합니다.

주제 모델링을 위한 Word2Vec

Word2Vec에 의해 생성된 어휘는 단어 간의 관계를 감지하기 위해 직접 쿼리하거나 딥 러닝 신경망에 입력할 수 있습니다. CBOW 및 Skip-gram과 같은 Word2Vec 알고리즘의 한 가지 문제는 각 단어에 동일한 가중치를 부여한다는 것입니다. 문서로 작업할 때 발생하는 문제는 단어가 문장의 의미를 동등하게 나타내지 않는다는 것입니다.

어떤 단어는 다른 단어보다 더 중요합니다. 따라서 TF-IDF와 같은 다양한 가중치 전략을 사용하여 상황을 처리하는 경우가 많습니다. 이것은 또한 다음 섹션에서 언급되는 허브니스 문제를 해결하는 데 도움이 됩니다. Searchmetrics ContentExperience는 TF-IDF와 Word2Vec의 조합을 사용하며, MarketMuse와 비교하여 여기에서 읽을 수 있습니다.

Word2Vec과 같은 단어 임베딩이 형태학적, 의미론적, 구문론적 정보를 캡처하는 반면, 주제 모델링은 말뭉치에서 구조화된 잠재적 의미론적 또는 주제를 발견하는 것을 목표로 합니다.

Budhkar와 Rudzicz(PDF)에 따르면 LDA(잠재적 디리클레 할당)와 Word2Vec을 결합하면 "이 모델에 포함된 컨텍스트 정보의 부재로 인해 발생하는 문제를 해결"하는 식별 기능을 생성할 수 있습니다. LDA2vec에 대한 더 쉬운 읽기는 이 DataCamp 튜토리얼에서 찾을 수 있습니다.

Word2Vec의 과제

Word2Vec을 포함하여 일반적으로 단어 임베딩에는 몇 가지 문제가 있습니다. 이들 중 일부를 다루겠습니다. 보다 자세한 분석은 Amir Bakarov의 'A Survey of Word Embedding Evaluation Methods'(pdf)를 참조하십시오. 말뭉치와 그 크기, 훈련 자체는 출력 품질에 상당한 영향을 미칩니다.

출력을 어떻게 평가합니까?

Bakarov가 그의 논문에서 설명했듯이 NLP 엔지니어는 일반적으로 해당 문제에 대한 전산 언어학자 또는 콘텐츠 마케팅 담당자와 다르게 임베딩 성능을 평가합니다. 다음은 논문에서 인용된 몇 가지 추가 문제입니다.

  1. 의미론은 모호한 개념입니다. "좋은" 단어 임베딩은 의미론에 대한 우리의 개념을 반영합니다. 그러나 우리는 우리의 이해가 올바른지 알지 못할 수 있습니다. 또한, 단어는 의미론적 관련성 및 의미론적 유사성과 같은 다양한 유형의 관계를 가지고 있습니다. 임베딩이라는 단어는 어떤 관계를 반영해야 할까요?
  2. 적절한 훈련 데이터가 부족합니다. 연구자들은 단어 임베딩을 훈련할 때 데이터에 맞게 조정하여 품질을 높이는 경우가 많습니다. 이것을 커브 피팅이라고 합니다. 결과를 데이터에 맞추는 대신 연구자는 단어 사이의 관계를 포착하려고 노력해야 합니다.
  3. 내적 방법과 외적 방법 사이에 상관 관계가 없다는 것은 어떤 클래스의 방법이 선호되는지가 불분명하다는 것을 의미합니다. 외부 평가는 다른 자연어 처리 작업에서 더 다운스트림으로 사용할 출력 품질을 결정합니다. 본질적인 평가는 단어 관계에 대한 인간의 판단에 의존합니다.
  4. 허브 문제. 일반적인 단어를 나타내는 단어 벡터인 허브는 너무 많은 다른 단어 벡터에 가깝습니다. 이 노이즈는 평가를 편향시킬 수 있습니다.

또한 특히 Word2Vec에는 두 가지 중요한 문제가 있습니다.

  1. 모호함을 잘 다룰 수 없습니다. 결과적으로 여러 의미를 가진 단어의 벡터는 이상적과 거리가 먼 평균을 반영합니다.
  2. Word2Vec은 OOV(out-of-vocabulary) 단어와 형태학적으로 유사한 단어를 처리할 수 없습니다. 모델이 새로운 개념을 만나면 정확한 표현이 아닌 임의의 벡터를 사용합니다.

요약

Word2Vec 또는 다른 단어 임베딩을 사용한다고 해서 성공이 보장되는 것은 아닙니다. 적절하고 충분히 큰 말뭉치를 사용하여 적절한 교육을 통해 양질의 결과물을 얻을 수 있습니다.

출력 품질을 평가하는 것은 번거로울 수 있지만 콘텐츠 마케터를 위한 간단한 솔루션이 있습니다. 다음에 콘텐츠 최적화 프로그램을 평가할 때 매우 구체적인 주제를 사용해 보십시오. 품질이 낮은 주제 모델은 이러한 방식으로 테스트할 때 실패합니다. 일반적인 용어로는 괜찮지만 요청이 너무 구체적이면 문제가 해결됩니다.

따라서 '아보카도 재배 방법'이라는 주제를 사용하는 경우 제안 사항이 일반적으로 아보카도가 아닌 식물 재배와 관련이 있는지 확인하십시오.

MarketMuse NLG Technology 자연어 생성이 이 기사를 작성하는 데 도움이 되었습니다.

지금 해야 할 일

준비가 되셨다면... 더 나은 콘텐츠를 더 빠르게 게시할 수 있는 3가지 방법이 있습니다.

  1. MarketMuse와 함께 시간을 예약하십시오. 전략가와 실시간 데모 일정을 예약하여 MarketMuse가 팀이 콘텐츠 목표를 달성하는 데 어떻게 도움이 되는지 확인하십시오.
  2. 더 나은 콘텐츠를 더 빠르게 만드는 방법을 배우고 싶다면 블로그를 방문하세요. 콘텐츠 확장에 도움이 되는 리소스로 가득 차 있습니다.
  3. 이 페이지를 읽는 것을 좋아하는 다른 마케팅 담당자를 알고 있다면 이메일, LinkedIn, Twitter 또는 Facebook을 통해 공유하십시오.