pg_trgm, сходство и поиск повторяющихся вопросов по их ответам - PullRequest
0 голосов
/ 03 ноября 2018

У меня есть таблица с именем 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

Любые указатели или предложения будут с благодарностью.

...