2017-05-03 9 views
2

코드 0.과 비슷한 Tensor Flow에 Word Embedding을 구현했습니다. 최종 삽입 (final_embeddings)을 얻을 수 있었지만이 연습에서 일반적인 유추를 사용하여 삽입을 평가하고 싶습니다. 최종 임베딩 배열에서 어떤 용어가 어떤 행과 일치하는지 어떻게 식별 할 수 있습니까? 또는 Tensor Flow에 구현되어 있습니까? 어떤 도움이라도 대단히 감사하겠습니다 (세부 사항과 자료는 플러스가 될 것입니다.)). 감사!TensorFlow의 Word2Vec의 유사점?

답변

1

conceptual tutorial을 추천합니다. 스킵 그램을 사용하는 경우 입력은 단일 핫 인코딩입니다. 따라서 1의 색인은 단어 벡터의 색인입니다.

enter image description here

tensorflow의 구현은 매우 간단합니다. 예를 들어 tf.nn.embedding_lookup

:

embed = tf.nn.embedding_lookup(embedding, inputs) 

삽입은 당신이 찾고있는 벡터는이 기능을 표시 할 수 있습니다.

+0

감사합니다. Qy Zuo! 그것이 내가 생각했던 거죠. 유추를 구현할 때 얻을 수있는 결과는 비관적이며 이제는 그 이유가 확실하지 않습니다! 임베딩 기능 (이 용량에서)이 임베딩의 차원에 따라 매우 가변적 일 수 있습니까? 참고로, 나는 임의적으로 차원을 선택했습니다, 나는 단지 예비 연습을하고있었습니다. – user3009734

+0

@ user3009734 네, 맞습니다. 크기는 20에서 1000까지 다양합니다.이 하이퍼 매개 변수는 사용자의 vocab 크기에 따라 선택할 수 있지만 엄격한 매핑은 없습니다. Socher는이 과정 (https://www.youtube.com/watch?v=aRqn8t1hLxs)에서이 사실을 완벽하게 설명했으며 실제로 상황을 분명하게했습니다. –

0

최종 임베딩 배열의 어느 행이 구현에 완전히 일치 하는지를 나타내는 용어입니다. 훈련 전의 어느 시점에서 각 단어를 숫자로 변환 했습니까? 이 숫자는 삽입 표의 행을 나타냅니다.

특정 이름을 알고 싶다면 여기에 코드의 일부를 게시 할 수 있습니다.