У меня есть таблица с именем Questions
. Он имеет поле content
(которое содержит вопрос) и поле answer
. Вся таблица содержит около 22 тыс. Строк, и я пытаюсь выяснить, как искать повторяющиеся вопросы на основе общих ответов (хотя я открыт для предложений о лучшем способе).
По сути, я хотел бы найти способ найти возможные повторяющиеся строки в некотором диапазоне вероятности.
Например, у меня есть 132 ответа, которые имеют более 5 вопросов, связанных с ними. Как я могу сравнить эти вопросы, чтобы отсеять возможные дубликаты? Могу ли я использовать что-то вроде similarity
, чтобы сравнить все вопросы по группам answers
? Я просто не совсем уверен, как это будет работать или есть ли лучший способ отследить их.
SELECT LOWER(questions.answer) AS answer, count(*) AS same_answer, array_agg(questions.content), array_agg(questions.id)
FROM questions
WHERE questions.answer IS NOT null
AND LOWER(questions.answer) <> 'true'
AND LOWER(questions.answer) <> 'false'
GROUP BY LOWER(questions.answer)
HAVING count(*) > 5
ORDER BY count(*) DESC
Любые указатели или предложения будут с благодарностью.