2017-04-21 14 views
0

2 문자열 간의 유사성을 계산하는 응용 프로그램을 만들려고합니다. 문자열이 길지 않습니다. 3 최대 한 문장. 몇 가지 연구를 수행했으며 몇 가지 가능한 솔루션 경로를 발견했습니다. 단어문자열 유사성 TF-IDF 단어 또는 Word2vec의 가방

먼저 하나 개 사용 가방 : 단어 카운트와 2 개 벡터를 생성 (코사인 유사도)

번째 사용 TF-IDF 비교하고 생성 벡터를 비교한다.

세 번째는 word2vec를 사용하고 벡터를 비교합니다.

지금 질문드립니다.

짧은 문장의 경우 성능면에서 word2vec 성능이 더 좋습니다.

word2vec 모델을 학습하는 가장 좋은 방법은 무엇입니까? 나는 많은 양의 텍스트 (예를 들어 위키피디아 덤프)를 사용하거나 비교되는 문장만을 사용하여 그것을 훈련해야합니까?

word2vec에서 문장 유사성을 얻는 방법. 각 문장의 단어를 평균해야합니까? 아니면 더 나은 해결책이 있습니까?

+0

여기 몇 가지가 있습니다. 프로그래밍 질문이 아니므로 여기에 질문하지 않아야합니다. 주제를 벗어난 것으로 표시됩니다. 성능 비교에 대해 잘 모릅니다. 그러나 word2vec에 대해서는 단어를 삽입하는 행렬로 사용할 수 있습니다. 그런 다음 반복적 인 순회를 통해 문장을 나타낼 수 있습니다. 이것은 문제를 지나칠 수 있지만 이러한 모델은 원하는대로 시퀀스를 표현하기 위해 만들어집니다. 그러나 표현을 배우기 위해서는 열차가 필요합니다. 그렇지 않으면이 모델을 감독없이 감독 할 수 있습니까? – ted

+0

신경망이 좋지 않습니다. word2vec와 반복적 인 net을 사용하여 문장의 표현을 생성하는 예제에 대한 링크를 제공해 주실 수 있습니까? 교육을 위해 얼마나 많은 데이터가 있어야하는지 설정하십시오. 나는 지금 사용할 대형 데이터 세트가 없다. 모든 아이디어가 감독되지 않은 방식으로 그것을 수행하는 방법. 감사 – LonsomeHell

답변

1
  • 좋은 열차 데이터를 사용하면 word2vec의 성능이 더 높아야합니다. (좋은 결과가 나온다)

  • 좋은 모델을 만들기 위해서는 많은 양의 데이터가 필요하다. 가장 좋은 방법은 영어로 작업하는 경우 사전 훈련 된 데이터를 사용하는 것입니다. 사용할 수있는 좋은 모델이 this link 있습니다. Google 뉴스 사전 교육 모델은 내가 아는 한 완벽하게 작동합니다.

  • 텍스트와 같은 문장의 평균을 사용하는 것이 일반적입니다. 더 좋은 방법은 tf-idf 가중 평균과 같은 가중 평균 일 수 있습니다. 의미 론적 텍스트 유사성에 대한 최신 연구가 있습니다. Wiki Page