본문 바로가기
파이썬

파이썬으로 gensim의 word2vec 모델을 사용하여 문장 유사성을 계산하는 방법

by º기록 2020. 12. 21.
반응형


예 :

trained_model.similarity('woman', 'man') 
0.73723527

그러나 word2vec 모델은 문장 유사성을 예측하지 못합니다. gensim에서 문장 유사성이있는 LSI 모델을 찾았지만 word2vec 모델과 결합 할 수없는 것 같습니다. 내가 가지고있는 각 문장의 말뭉치 길이는 그리 길지 않습니다 (10 단어 미만). 그렇다면 목표를 달성하는 간단한 방법이 있습니까?

 

해결 방법

 

이것은 실제로 당신이 묻는 꽤 어려운 문제입니다. 문장 유사성을 계산하려면 문장의 문법적 모델을 구축하고 동등한 구조를 이해해야합니다 (예 : "그는 어제 가게에 걸어 갔다"및 "어제 가게에 걸어갔습니다"). 대명사와 동사뿐만 아니라 고유 명사, 많은 실제 텍스트 예에서 통계적 동시 발생 / 관계 찾기 등

시도해 볼 수있는 가장 간단한 방법은이 방법이 얼마나 잘 수행되는지 모르고 최적의 결과를 제공하지는 못하지만 먼저 모든 "중지"단어 ( "the", "an"와 같은 단어)를 제거하는 것입니다. "등)을 입력하고 두 문장의 단어에 대해 word2vec을 실행하고 한 문장의 벡터를 합산하고 다른 문장의 벡터를 합산 한 다음 차이점을 찾습니다. 합계. 단어 별 차이를하는 대신 그것들을 요약하면 적어도 단어 순서의 영향을받지 않을 것입니다. 즉, 이것은 많은 방법으로 실패 할 것이며 어떤 방법으로도 좋은 해결책이 아닙니다 (이 문제에 대한 좋은 해결책은 거의 항상 NLP, 기계 학습 및 기타 영리함을 포함합니다).

따라서 간단히 대답 할 수는 없습니다.이 작업을 수행하는 쉬운 방법은 없습니다 (적어도 제대로 수행하지 않음).

 

참조 페이지 https://stackoverflow.com/questions/22129943

 

 

반응형

댓글