Ускорение/реализация длительного вычисления - NEED help

AlexVerkhov

Client
Регистрация
29.03.2016
Сообщения
24
Благодарностей
0
Баллы
1
Друзья, здравствуйте. Задача достаточно тривиальная, однако реализация тратит невероятно много времени на просчет. Возможно кто-либо из вас сталкивался с подобным и подскажет верный путь, либо предложит свое решение, так как пока не могу решить задачу более быстрым путем.

В обоих списках похожие тексты, но незначительно различающиеся. Мне нужно сопоставить каждой строке из 1 списка строку из 2 списка с максимальным процентом схожести. В тестовой выборке ниже всего 3 элемента в списках. В реальной ситуации - около 200 в каждом.

1й список:
========
Строка 1

Строка 2
Строка 3

2й список
========
Строка 2хпила
Строка 3хавпвл
Строка 1хваав

У 1й строки 1го списка - максимальное сходство с 3й строкой 2го списка. Желательно, в процентном соотношении это показать также. Итог в любом виде нужен, но, полагаю, это будет таблица вида:
Строка из 1й таблицы | Найденная строка из 2й таблицы | % сходства
Строка из 1й таблицы | Найденная строка из 2й таблицы | % сходства
Строка из 1й таблицы | Найденная строка из 2й таблицы | % сходства

На текущий момент реализовано при помощи стандартных элементов ZP, получить одна строку, получить вторую строку, проверить в JavaScript функцией по Оливеру на сходство. Увеличить вторую строку. И так полный перебор двух списков. После выявления максимумов.

В общем, считает 3-4 минуты.
Нужно максимум в несколько секунд находить максимально похожую запись из второго списка для каждого элемента первого.

Буду очень благодарен за решение этой задачи!
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)