Я пытаюсь найти сходство предложений с помощью emebeddings, а затем применяю косинусную оценку сходства. Пробовал методы встраивания CBOW / Skip Gram, но не решил проблему.
Я делаю это для данных обзора продукта. У меня есть два столбца:
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.
Первые два отзыва irrelevant
как semanti c, означающие Product_Title
и Customer_Review
совершенно разные.
Как может алгоритм найдите это семанти c значение предложений и наберите их.
Мой подход:
Предварительная обработка текста
Обучить CBOW / Пропустить грамм с помощью Gensim в моем наборе данных
Выполнить кодирование на уровне предложений путем усреднения всех векторов слов в этом предложении
Взять косинус сходство product_title
и reviews
.
Проблема: не удалось найти контекст из предложения, и, следовательно, результат был очень плохим.
Приближение 2:
Используется предварительно обученный BERT без предварительной обработки предложений. Результат также не улучшился.
1. Любой другой подход, который захватил бы контекст / семантику предложений.
2. Как мы можем обучить BERT на нашем наборе данных с нуля, не используя предварительно обученная модель?