Ivory Jacobs

word2vec 예제

word2vec 예제

이제 매개 변수가 제자리에 있으므로 건너뛰기 그램 모델 그래프를 정의할 수 있습니다. 간단히 하기 위해 각 단어가 정수로 표현되도록 텍스트 모음을 이미 정수화했다고 가정해 보겠습니다(자세한 내용은 텐서플로우/예제/자습서/word2vec/word2vec_basic.py 참조). 건너뛰기 그램 모델은 두 개의 입력을 합니다. 하나는 소스 컨텍스트 단어를 나타내는 정수로 가득 찬 일괄 처리이며, 다른 하나는 대상 단어에 대한 일괄 처리입니다. 나중에 데이터를 공급할 수 있도록 이러한 입력에 대한 자리 표시자 노드를 만들어 보겠습니다. 당신은 건너 뛰기 그램 신경 망가중치의 거대한 숫자를 포함하는 것으로 나타났습니다 수 있습니다 … 300개의 기능과 10,000단어의 vocab이 있는 이 예제의 경우 숨겨진 레이어와 출력 레이어의 3M 가중치입니다! 큰 데이터 집합에서 이 것을 교육하는 것은 엄청나기 때문에 word2vec 작성자는 교육을 실현할 수 있도록 여러 가지 조정을 도입했습니다. 이 자습서의 2부에서는 이 부분을 다룹니다. 출력 확률은 입력 단어 근처의 각 어휘 단어를 찾을 확률과 관련이 있습니다.

예를 들어, 학습된 네트워크에 “소련”이라는 입력 단어를 제공한 경우 출력 확률은 “수박”과 “캥거루”와 같은 관련없는 단어보다 “Union” 및 “Russia”와 같은 단어에 대해 훨씬 더 높을 것입니다. 텐서플로우/예제/자습서/word2vec/word2vec_basic.py의 전체 예제 코드를 참조하십시오. 그라데이션 하강에서는 변화하는 가중치를 나타내는 지점에서 최적화되는 함수의 그라데이션을 계산해야 합니다. 그런 다음 그라데이션을 사용하여 아래 최소화 예제와 같이 로컬 최적쪽으로 이동하는 단계를 지정하는 방향을 선택합니다. 이것은 이러한 벡터가 음성 태그 지정 또는 명명된 엔터티 인식과 같은 많은 표준 NLP 예측 작업의 기능으로도 유용한 이유를 설명합니다(예를 들어 Collobert et al., 2011(pdf) 또는 Turian 등의 후속 작업 참조 ). 이 튜토리얼은 TensorFlow에서 word2vec 모델을 빌드하는 흥미롭고 실질적인 부분을 강조하기 위한 것입니다. 숨겨진 레이어에서 출력 층에 이르기까지, 제2 가중치 매트릭스 W2는 어휘의 각 단어에 대한 점수를 계산하는 데 사용될 수 있으며, softmax는 단어의 후방 분포를 얻기 위해 사용될 수 있다. 건너뛰기 그램 모델은 CBOW 모델의 반대입니다. 포커스 단어가 단일 입력 벡터로 생성되고 대상 컨텍스트 단어가 이제 출력 레이어에 있습니다. 숨겨진 레이어의 활성화 함수는 이전에 보았듯이 가중치 행렬 W1(선형)에서 해당 행을 복사하는 데 에 해당합니다. 출력 계층에서 이제 하나만 이대신 C 다중 항식 분포를 출력합니다. 교육 목표는 출력 계층의 모든 컨텍스트 단어에서 합산된 예측 오류를 모방하는 것입니다.

이 예제에서는 입력이 “학습”이 될 것이며 출력 레이어에서 (“an”, “효율적인”, “방법”, “for”, “high”, “quality”, “분산”, “벡터”)를 볼 수 있기를 바랍니다. Word2vec은 전체 문장이 아닌 단어를 공급해야 하므로 다음 단계는 데이터를 토큰화하는 것입니다. 예를 들어, 텍스트를 원자 단위로 나누면 공백에 부딪힐 때마다 새 토큰을 만드는 것이 있습니다. 원시 구조화되지 않은 텍스트 데이터 외에도 Word2Vec을 사용하여 보다 구조화된 데이터를 사용할 수도 있습니다. 예를 들어 백만 개의 stackoverflow 질문과 답변에 대한 태그가 있는 경우 관련 태그를 찾아 탐색할 수 있는 태그를 추천할 수 있습니다.

News Categories

Vacancies

View Latest Jobs

Contact

01489 661516