Это то, что действительно трудно сделать. Также трудно понять, что вы подразумеваете под «точным» семантическим сходством двух фраз. Вам нужно найти «хорошую» метрику, чтобы сделать это
В любом случае, если у вас ограниченный контекст (вам не нужно делать калькулятор семантического сходства общего назначения), очень простым подходом может быть созданиетекстовый классификатор (с машинное обучение ), в котором вы определяете основные классы, которые вы хотите использовать.
Например, для ваших примеров фраз вы можете иметь два текстовых класса:
вопрос о гиперпоточности
вопрос о еде
Чем вы много тренируете свою модельфраз и вероятностей вывода вашей модели для приведенных вами примеров фраз:
"Какие типы гиперпоточности" :
"есть ли категориив гиперпоточности "
Обе фразы классифицируются как «спрашивающие о гиперпоточности» (потому что у них более высокий балл в этих классах), а затемМожно предположить, что они похожи. Можно также использовать оценки вероятностей, чтобы сделать что-то более изощренное (используя различия в оценках и т. Д.)