2016-12-11 5 views
2

미리 훈련 된 Google News word2vec 모델을 특정 도메인에 적용하려고합니다. 내가보고있는 도메인의 경우 특정 단어가 서로 유사하므로 이상적인 세계에서는 Word2Vec 표현이이를 나타냅니다. 벡터를 업데이트하기 위해 사전에 훈련 된 모델을 도메인 관련 데이터의 코퍼스에서 교육 할 수 있음을 이해합니다.Word2Vec - 벡터 표현에 제약 조건 추가

그러나 특정 단어가 매우 유사하며 함께 있어야한다는 것을 알고 있다면 해당 제약 조건을 word2vec 모델에 통합 할 수있는 방법이 있습니까? 수학적으로, 저는 비슷한 것으로 알고있는 두 개가 벡터 공간에서 서로 가깝게 배치되지 않은 경우 penalty를 제공하는 word2vec의 손실 함수에 용어를 추가하고 싶습니다. 누구든지이 구현하는 방법에 대한 조언을 가지고 있습니까? 이를 통해 word2vec 모델의 압축을 풀어야합니까? 아니면 손실 함수에 추가 용어를 잠재적으로 추가 할 수있는 방법이 있습니까?

Faruqui, Manaal, 제시 닷지, Sujay K. Jauhar, 크리스 다이어, 에드워드 Hovy, 노아 A. 스미스 :

답변

2

한 가지 방법은 사전에 훈련 된 Google 뉴스 word2vec을이 "개조"도구를 사용하는 것입니다 . "단어 벡터를 시맨틱 어휘로 개조." arXiv preprint arXiv : 1411.4166 (2014). https://arxiv.org/abs/1411.4166

This paper proposes a method for refining vector space representations using relational information from semantic lexicons by encouraging linked words to have similar vector representations, and it makes no assumptions about how the input vectors were constructed.

코드는 https://github.com/mfaruqui/retrofitting에서 사용할 수 있고 (개인적으로 https://arxiv.org/abs/1607.02802을 위해 그것을 사용했습니다) 사용하기 간단합니다.

+0

감사합니다. Franck. 매우 도움이됩니다. 빠른 추적 : 공유 한 github 링크의 코드를 사용해 보았지만 속성 오류가 발생한 것 같습니다. 이 문제를 해결하는 방법에 대한 지침을 공유 할 수있을만큼 최근에 사용 해본 적이 있습니까? "AttributeError : 'NoneType'개체에 'endswith'속성이 없습니다." – Ali

+0

@Ali https://github.com/mfaruqui/retrofitting#running-the-program에서 제공 한 예제를 실행 해 보았습니까? 그렇다면 파이썬 2.7을 사용해 볼 수도 있습니다. 아마도 파이썬 3에서는 작동하지 않습니다. –

+0

파이썬 3에서 예제를 실행 해 보았지만 작동하지 못했습니다 (위에서 언급 한 오류가 발생했습니다). 파이썬 2.7을 사용해 보겠다. 고맙습니다! – Ali