I am trying to find sentence similarity through word emebeddings and then applying cosine similarity score. Tried CBOW/Skip Gram methods for embedding but did not solve the problem.
I am doing this for product review data. I have two columns:
SNo Product_Title Customer_Review
1 101.x battery works well I have an Apple phone and it's not that
with Samsung smart phone that great.
2 112.x battery works well I have samsung smart tv and I tell that it's
with Samsung smart phone not wort buying.
3 112.x battery works well This charger works very well with samsung
with Samsung smart phone. phone. It is fast charging.
The first two reviews are irrelevant as semantic meaning of Product_Title and Customer_Review are completely different.
How can an algorithm find this semantic meaning of sentences and score them.
My Approach:
Text pre-processing
Train CBOW/Skip gram using Gensim on my data-set
Do Sentence level encoding via averaging all word vectors in that sentence
Take cosine similarity of
product_titleandreviews.
Problem: It was not able to find the context from the sentence and hence the result was very poor.
Approch 2:
Used pre-trained BERT without pre-processing sentences. The result was not improving either.
1.Any other approach that would capture the context/semantics of sentences.
2.How can we train BERT on our data-set from scratch without using pre-trained model?

