601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
|
||||||
1 | ||||||
Сравнить несколько строк, и отсеять одинаковые04.07.2017, 12:43. Показов 1270. Ответов 7
Метки нет (Все метки)
Как бы вы ускорили данный вариант, или какие способы вы знаете?
Если я начну сравнивать 5000+ текстов, это займет не мало времени.
0
|
04.07.2017, 12:43 | |
Ответы с готовыми решениями:
7
Сравнить несколько матриц, и из их строк сформировать новую матрицу Как сравнить значения ComboBox и листа ячейки, если одинаковые вывод сообщения, если разные сравнить с ячейкой ниже Сравнить массивы на одинаковые буквы Сравнить и сгруппировать одинаковые массивы |
1 / 1 / 1
Регистрация: 22.11.2015
Сообщений: 139
|
|
04.07.2017, 13:29 | 2 |
EveKS, нужно точное вхождение ? есть же алгоритмы по типу Кнута-Морриса-Пратта
0
|
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
|
|
04.07.2017, 13:58 [ТС] | 3 |
Jexio, сейчас я разбиваю на предложения, используя символы
[.!?()\[\]{}\n] , затем убираю повторы предложений, затем нахожу количество различных предложений между первым и вторым предложением, затем наоборот(2-1), нахожу среднеарифметическое, затем процент совпавших предложений относительно этого среднеарифметического, и если это более 90%, текст исключается.
0
|
1 / 1 / 1
Регистрация: 22.11.2015
Сообщений: 139
|
|
04.07.2017, 14:14 | 4 |
EveKS, я не знаю корректны ли ваши 90% , вам виднее, но это задача нечеткого поиска и я знаю только три варианта - Расстояние Левенштейна с различными модификациями , суффиксные деревья(но вам видимо не подойдут из-за большого объема информации) и хэширование по сигнатуре(как раз для большого объема строк). Думаю это лишь малая часть.
0
|
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
|
|
04.07.2017, 14:31 [ТС] | 5 |
Jexio, назвал тему не верно. Сравниваться будут тексты. 90%, там должны оба текста совпасть, случай вхождения части текста в другой текст, большего объема, допускается. (эти алгоритмы посмотрю)
0
|
1 / 1 / 1
Регистрация: 22.11.2015
Сообщений: 139
|
|
04.07.2017, 14:46 | 6 |
Сообщение было отмечено EveKS как решение
Решение
EveKS, Тогда вам нужен алгоритм longest common subsequence. Всякие утилиты для сравнения файлов вроде на нем построены. Думаю, в скорости с вашим решением выиграет, хотя реализацию я не помню уже, могу и наврать)
0
|
3560 / 2501 / 1174
Регистрация: 14.08.2016
Сообщений: 8,206
|
|
05.07.2017, 01:04 | 7 |
а задача то какой? типа антиплагиат? "мама мыла раму" и " мама раму мыла" и "раму мыла мама" как считать?
0
|
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
|
|
05.07.2017, 08:07 [ТС] | 8 |
Diamante, как бы это 3 разных предложения.
0
|
05.07.2017, 08:07 | |
05.07.2017, 08:07 | |
Помогаю со студенческими работами здесь
8
Записать в файл несколько строк, а затем записать несколько строк из этого файла в другой Сравнить два ассоциативных массива и вывести одинаковые значения. Сравнить две матрицы, одинаковые соответствующие элементы заменить на 1 Сравнить элементы и, если они одинаковые, то оставить один из них Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |