Автор Тема: Сравнение не идентичных строк  (Прочитано 3045 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kosm

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 110
  • +0/-0
  • 0
    • Просмотр профиля
    • http://japanretro.tk
Сравнение не идентичных строк
« : 21 Августа 2003, 10:54:50 »
Уважаемые мастера. Подскажите плиз метод сравнения двух не одинаково написанных строк. Т.е.:
--
МАША ЕЛА КАШУ == ЕЛА КАШУ, МАША

Какие есть методы их сравнить и считать идентичныи?

На вскидку есть:
1.Желание убрать все знаки припинания.
2.Сразу попробовать сравнить на точное соответствие
3.Затем на кол-во входящих слов

И чем дальше, тем строку считать больее не подходящей.

Есть еще решения такой задачи?

СПАСИБО!

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Сравнение не идентичных строк
« Ответ #1 : 21 Августа 2003, 11:38:33 »
Первый придуманый вариант:
Разбить на слова - положить одно предложение в один хеш а другое в другой.
Далее срастить хеши и если количество элементов до сращивания и после одинаково - то это похожие предложения.
Еще нужно вставить счетчик на каждый элемент хеша и его тоже сравнивать.
Это для исключения разного количества одного и того же слова.
The documentations is your friend

Оффлайн kosm

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 110
  • +0/-0
  • 0
    • Просмотр профиля
    • http://japanretro.tk
Сравнение не идентичных строк
« Ответ #2 : 21 Августа 2003, 12:46:58 »
NeoNox
Спасибо! Интересный способ. Попробую.
А нет чего-нить подобного в библах? Типа SOUNDEX для БД. Это конечно немного не то, но мож чего уже готовое есть?

Оффлайн arto

  • Ветеран
  • *****
  • Сообщений: 699
  • +0/-0
  • 2
    • Просмотр профиля
Сравнение не идентичных строк
« Ответ #3 : 21 Августа 2003, 20:31:53 »
есть. искать на cpan

Оффлайн kosm

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 110
  • +0/-0
  • 0
    • Просмотр профиля
    • http://japanretro.tk
Сравнение не идентичных строк
« Ответ #4 : 22 Августа 2003, 14:05:17 »
Спасибо! Состряпал ф-цию. Вроде работает как хотел :)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28