Ответы пользователя по тегу MySQL
  • Поиск статьи в БД и вычет % схожести

    sergeypid
    @sergeypid
    Для приблизительного сравнения текстов есть такой способ: составить нулевую матрицу 30х30, координаты матрицы — буквы алфавита. Пробегаемся по тексту и считаем, сколько раз в текста встречались последовательные пары букв. Например, если видим подряд буквы А и Б, прибавляем 1 к элементу [0, 1] матрицы. Потом нормируем — делим все элементы матрицы на общее число букв в тексте. В результате получится хэш-матрица, ее запоминаем для каждой статьи в БД.

    Для проверяемой статьи строим такую же матрицу и вычитаем ее из хэш-матрицы каждой статьи в БД. Считаем сумму квадратов получившихся элементов. Исследуем на 20-40 типовых статьях и выводим пороговое значение. Для коротких текстов (порядка 100-500 букв) хорошо работало, попробуйте на ваших статьях!

    В теории это имеет отношение к марковским цепям, n-граммам (2 граммам :)
    Ответ написан
    4 комментария