pg_trgm, сходство и поиск повторяющихся вопросов по их ответам
У меня есть стол с именем 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
Любые указатели или предложения будут с благодарностью.