Hi, Liang
I think there is a bug in sempre1.0. you may try to fix it and see a significant accuracy improvement.
Location: src/edu/stanford/nlp/sempre/paraphrase/VectorSpaceModel.java
in function computeSimilarity, line 133.
where you compute the similarity of two sentence by dot_product their sentences's vectors.
but the sentence's vector is simply the mean of all word's vector. (see function computeUtteranceVec() )
your algorithm:
sentence's vector = mean(sum(word's vector))
I think you forgot to normalize the sentence vector which should meet the condition: || sentence's vector|| === 1
sentence's similarity = sqrt {sentence1 * sentence2 / ||sentence1* sentence2 || }
where
||vector of sentence1 || ==1
||vector of sentence1 || ==1
Hi, Liang I think there is a bug in sempre1.0. you may try to fix it and see a significant accuracy improvement.
Location: src/edu/stanford/nlp/sempre/paraphrase/VectorSpaceModel.java in function computeSimilarity, line 133.
where you compute the similarity of two sentence by dot_product their sentences's vectors. but the sentence's vector is simply the mean of all word's vector. (see function computeUtteranceVec() ) your algorithm: sentence's vector = mean(sum(word's vector))
I think you forgot to normalize the sentence vector which should meet the condition: || sentence's vector|| === 1
sentence's similarity = sqrt {sentence1 * sentence2 / ||sentence1* sentence2 || } where ||vector of sentence1 || ==1 ||vector of sentence1 || ==1
}