powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алогоритмы поиска для "похожести" строк
8 сообщений из 8, страница 1 из 1
Алогоритмы поиска для "похожести" строк
    #38304670
Я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я
Гость
Наверняка есть что-то готовое, или я не прав ?

Задачка след.: есть 2 программы ТВ передач из разных источников. Нужно их "склеить" по названию передач ( по границам времени не получится - они немного разные ). Названия "примерно" одинаковые ( но не полностью ). Например могут встречаться такие строки:

Женский доктор 2 история чет
Премьера. "Женский доктор 2". Многосерийный фильм. 4-я серия

"Форс-мажоры". Новый сезон
Форсмажоры 2 сезон 10 серия


"склиевать" строки нужно в ограниченном объеме ( т е в объеме максимум 10 записей за раз ).
могут встречаться и орфографические ошибки.
и тп ...
...
Рейтинг: 0 / 0
Алогоритмы поиска для "похожести" строк
    #38304695
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поиск общих подстрок.
На случай опечаток определять "общесть" не сравнением, а по расстоянию Дамерау — Левенштейна.
...
Рейтинг: 0 / 0
Алогоритмы поиска для "похожести" строк
    #38304907
Фотография AlexandrPlus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
разбить (распарсить) все строки на слова
коллекция из распарсенных на слова предложений (что были строки в ТВ-программе на сутки)
искать в цикле - сперва все пары-тройки где одинаковы последовательности из 10 подряд - убрать из коллекции
одинаковы последовательности из 9 слов подряд - убрать
из 8
проверять не пуста ли уже коллекция

из 1
остались еще - просмотр непосредственно и анализ (или там словарь привлечь - разбить на слова из словаря или ...)
...
Рейтинг: 0 / 0
Алогоритмы поиска для "похожести" строк
    #38305728
rdbmsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
разбить на слова и левенштейном например. Куча статей в интернете как.. даже на русском есть. Реализация левенштейна тоже много где уже есть - может даже и разбираться в нем не придется.
...
Рейтинг: 0 / 0
Алогоритмы поиска для "похожести" строк
    #38305808
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разбиение на слова - не очень верный подход... "Хрен дубовый - не дуб хреновый"... тут как раз на подстроки задача, чем длиннее общая подстрока, тем больше соответствия.
...
Рейтинг: 0 / 0
Алогоритмы поиска для "похожести" строк
    #38306191
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaРазбиение на слова - не очень верный подход...
Не соглашусь. Критически верный.

Akina "Хрен дубовый - не дуб хреновый"...
Для телепрограммы, думаю, это соображение как минимум спорно. Скажем, "М/ф Варежка" и "Варежка (м/ф)" - это одно и то же. Но более важно другое: после сопоставления по словам никто не мешает уточнить порядок, зато само по себе оно даст гораздо лучшие результаты. Грубо говоря, если в строке присутствуют дуб* и хрен*, то вероятность иметь в течение одного дня "дуб хреновый" и "хрен дубовый" довольно мала и может быть обработана, а вот сопоставление, когда они замешаны в куче мусорного оформления будет очень надёжным.
...
Рейтинг: 0 / 0
Алогоритмы поиска для "похожести" строк
    #38306264
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну может вы и правы...
...
Рейтинг: 0 / 0
Алогоритмы поиска для "похожести" строк
    #38321569
Фотография nexoma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://search.cpan.org/~jhi/String-Approx-3.27/Approx.pm - String::Approx - Perl extension for approximate matching (fuzzy matching)

http://search.cpan.org/~tareka/String-Trigram-0.11/Trigram.pm - String::Trigram - Find similar strings by trigram (or 1, 2, 4, etc.-gram) method
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алогоритмы поиска для "похожести" строк
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]