다음을 통해 공유


단어를 벡터로 변환 구성 요소

이 문서에서는 Azure Machine Learning 디자이너에서 단어를 벡터로 변환 구성 요소를 사용하여 이러한 작업을 수행하는 방법을 설명합니다.

  • 입력으로 지정한 텍스트 모음에 다양한 Word2Vec 모델(Word2Vec, FastText, GloVe 미리 학습된 모델)을 적용합니다.
  • 단어 포함을 사용하여 어휘를 생성합니다.

이 구성 요소는 Gensim 라이브러리를 사용합니다. Gensim에 대한 자세한 내용은 공식 웹 사이트를 참조하세요. 여기에는 자습서 및 알고리즘에 대한 설명이 포함되어 있습니다.

단어를 벡터로 변환에 대한 자세한 정보

단어를 벡터 또는 단어 벡터화로 변환하는 것은 NLP(자연어 처리) 프로세스입니다. 이 프로세스에서는 언어 모델을 사용하여 단어를 벡터 공간에 매핑합니다. 벡터 공간은 각 단어를 실수의 벡터로 나타냅니다. 또한 비슷한 의미를 가진 단어가 비슷한 표현을 가질 수 있습니다.

텍스트 분류 및 감정 분석과 같은 NLP 다운스트림 작업에 대한 초기 입력으로 단어 포함을 사용합니다.

다양한 단어 포함 기술 중에서 이 구성 요소에서 널리 사용되는 세 가지 메서드를 구현했습니다. Word2Vec 및 FastText 두 가지는 온라인 학습 모델입니다. 다른 하나는 미리 학습된 모델인 glove-wiki-gigaword-100입니다.

온라인 학습 모델은 입력 데이터에 대해 학습됩니다. 미리 학습된 모델은 일반적으로 약 1,000억 단어가 포함된 더 큰 텍스트 모음(예: Wikipedia, Google News)에서 오프라인으로 학습됩니다. 그런 다음 단어 포함은 단어 벡터화 중에 일정하게 유지됩니다. 미리 학습된 모델은 학습 시간 단축, 인코드된 단어 벡터 개선, 전체 성능 향상과 같은 혜택을 제공합니다.

메서드에 대한 몇 가지 정보는 다음과 같습니다.

  • Word2Vec는 단순 신경망을 사용하여 단어 임베딩을 학습하는 가장 인기 있는 기술 중 하나입니다. 이론은 PDF 다운로드로 제공되는 벡터 공간에서 단어 표현의 효율적인 추정 문서에 설명되어 있습니다. 이 구성 요소의 구현은 Word2Vec용 Gensim 라이브러리를 기반으로 합니다.

  • FastText 이론은 PDF 다운로드로 사용할 수 있는 이 문서에서 설명합니다. 하위 단어 정보를 사용하여 Word 벡터 보강 이 구성 요소의 구현은 FastText용 Gensim 라이브러리를 기반으로 합니다.

  • GloVe 미리 학습된 모델은 glove-wiki-gigaword-100입니다. 56억 개의 토큰과 400,000개의 단어를 포함하는 Wikipedia 텍스트 모음을 기반으로 하는 미리 학습된 벡터 컬렉션입니다. PDF 다운로드를 사용할 수 있습니다 . GloVe: Word 표현을 위한 전역 벡터입니다.

Word를 벡터로 변환을 구성하는 방법

이 구성 요소에는 텍스트 열이 포함된 데이터 세트가 필요합니다. 전처리된 텍스트가 더 좋습니다.

  1. 단어를 벡터로 변환 구성 요소를 파이프라인에 추가합니다.

  2. 구성 요소에 대한 입력으로 하나 이상의 텍스트 열이 포함된 데이터 세트를 제공합니다.

  3. 대상 열에서 처리할 텍스트가 포함된 열을 하나만 선택합니다.

    이 구성 요소는 텍스트에서 어휘를 만들기 때문에 열 내용이 다르므로 어휘 내용이 달라집니다. 이러한 이유로 구성 요소는 하나의 대상 열만 허용합니다.

  4. Word2Vec 전략의 경우 GloVe 미리 학습된 영어 모델, Gensim Word2Vec, Gensim FastText 중에서 선택합니다.

  5. Word2Vec 전략Gensim Word2Vec 또는 Gensim FastText인 경우

    • Word2Vec 학습 알고리즘의 경우 Skip_gramCBOW 중에서 선택합니다. 차이점은 원본 문서(PDF)도입됩니다.

      기본 방법은 Skip_gram입니다.

    • 단어 포함의 길이에 대해 단어 벡터의 차원을 지정합니다. 이 설정은 Gensim의 size 매개 변수에 해당합니다.

      기본 포함 크기는 100입니다.

    • 컨텍스트 창 크기의 경우 예측되는 단어와 현재 단어 사이의 최대 거리를 지정합니다. 이 설정은 Gensim의 window 매개 변수에 해당합니다.

      기본 창 크기는 5입니다.

    • Epoch 수의 경우 모음에 대한 epoch(반복) 수를 지정합니다. Gensim의 iter 매개 변수에 해당합니다.

      기본 Epoch 번호는 5입니다.

  6. 최대 어휘 크기의 경우 생성된 어휘의 최대 단어 수를 지정합니다.

    최대 크기보다 더 고유한 단어가 있는 경우 자주 없는 단어를 정리합니다.

    기본 어휘 크기는 10,000입니다.

  7. 최소 단어 수에서 최소 단어 수를 지정합니다. 구성 요소는 이 값보다 빈도가 낮은 모든 단어를 무시합니다.

    기본 값은 5입니다.

  8. 파이프라인을 제출합니다.

예제

구성 요소에는 다음과 같은 하나의 출력이 있습니다.

  • 포함 어휘: 각 단어의 포함과 함께 생성된 어휘를 포함합니다. 하나의 차원이 하나의 열을 차지합니다.

다음 예제는 단어를 벡터로 변환 구성 요소의 작동 방식을 보여 줍니다. 기본 설정이 있는 Word를 벡터로 변환을 전처리된 Wikipedia SP 500 데이터 세트로 사용합니다.

원본 데이터 세트

데이터 세트에는 위키백과에서 가져온 전체 텍스트와 함께 범주 열이 포함됩니다. 다음 표에서는 몇 가지 대표적인 예를 보여 줍니다.

Text
nasdaq 100 component s p 500 component foundation founder location city apple Campus 1 infinite loop street infinite loop cupertino california cupertino california location country united states...
br nasdaq 100 nasdaq 100 component br s p 500 s p 500 component industry computer software foundation br founder charles geschke br john warnock location adobe systems...
s p 500 s p 500 부품 산업 자동차 산업 자동차 전임자 제너럴 모터 회사 1908 2009 후속...
s p 500 s p 500 component industry conglomerate company conglomerate foundation founder location city fairfield connecticut fairfield connecticut location country usa area...
br s p 500 s p 500 component foundation 1903 founder william s harley br arthur davidson harley davidson founder arthur davidson br walter davidson br william a davidson location...

임베딩이 있는 어휘 출력

다음 표에는 Wikipedia SP 500 데이터 세트를 입력으로 하는 이 구성 요소의 출력이 포함되어 있습니다. 맨 왼쪽 열은 어휘를 나타냅니다. 임베딩 벡터는 동일한 행의 나머지 열 값으로 표현됩니다.

단어의 dim 0 포함 딤 1 포함 dim 2 포함 딤 3 포함 임베딩 dim 4 dim 5 포함 ... Dim 99 포함
nasdaq -0.375865 0.609234 0.812797 -0.002236 0.319071 -0.591986 ... 0.364276
구성 요소 0.081302 0.40001 0.121803 0.108181 0.043651 -0.091452 ... 0.636587
s -0.34355 -0.037092 -0.012167 0.151542 0.601019 0.084501 ... 0.149419
p -0.133407 0.073244 0.170396 0.326706 0.213463 -0.700355 ... 0.530901
foundation -0.166819 0.10883 -0.07933 -0.073753 0.262137 0.045725 ... 0.27487
시조 -0.297408 0.493067 0.316709 -0.031651 0.455416 -0.284208 ... 0.22798
location -0.375213 0.461229 0.310698 0.213465 0.200092 0.314288 ... 0.14228
city -0.460828 0.505516 -0.074294 -0.00639 0.116545 0.494368 ... -0.2403
사과 0.05779 0.672657 0.597267 -0.898889 0.099901 0.11833 ... 0.4636
캠퍼스 -0.281835 0.29312 0.106966 -0.031385 0.100777 -0.061452 ... 0.05978
무한 -0.263074 0.245753 0.07058 -0.164666 0.162857 -0.027345 ... -0.0525
loop -0.391421 0.52366 0.141503 -0.105423 0.084503 -0.018424 ... -0.0521

이 예제에서는 Word2Vec용 기본 Gensim Word2Vec 전략을 사용했으며 학습 알고리즘은 Skip-gram입니다. 단어 포함 길이는 100이므로 포함 열은 100개입니다.

기술 정보

이 섹션에는 자주 묻는 질문에 대한 팁과 답변이 포함되어 있습니다.

  • 온라인 학습 모델과 미리 학습된 모델의 차이점:

    이 단어를 벡터로 변환 구성 요소에서는 세 가지 전략, 즉 두 가지의 온라인 학습 모델과 한 가지의 미리 학습된 모델을 제공했습니다. 온라인 학습 모델은 입력 데이터 세트를 학습 데이터로 사용하고 학습 중에 어휘 및 단어 벡터를 생성합니다. 미리 학습된 모델은 Wikipedia 또는 X 텍스트와 같은 훨씬 더 큰 텍스트 모음에 의해 이미 학습되었습니다. 미리 학습된 모델은 실제로 단어/임베딩 쌍의 컬렉션입니다.

    GloVe 미리 학습된 모델은 입력 데이터 세트의 어휘를 요약하고 미리 학습된 모델의 각 단어에 대한 포함 벡터를 생성합니다. 온라인 학습이 없으면 미리 학습된 모델을 사용하면 학습 시간을 절약할 수 있습니다. 특히 입력 데이터 세트 크기가 비교적 작은 경우 성능이 향상됩니다.

  • 포함 크기:

    일반적으로 단어 포함의 길이는 수백 으로 설정됩니다. 예를 들어 100, 200, 300입니다. 작은 임베딩 크기는 작은 벡터 공간을 의미하므로 단어 임베딩 충돌이 발생할 수 있습니다.

    단어 포함의 길이는 미리 학습된 모델에 대해 고정됩니다. 이 예제에서는 glove-wiki-gigaword-100의 포함 크기가 100입니다.

다음 단계

Azure Machine Learning에서 사용 가능한 구성 요소 집합을 참조하세요.

디자이너 구성 요소와 관련된 오류 목록은 Machine Learning 오류 코드를 참조하세요.