"Smart" сравнение строк
Правила форума
Пожалуйста, ознакомьтесь с правилами данного форума
Пожалуйста, ознакомьтесь с правилами данного форума
- Димас
- Житель
- Сообщения: 593
- Зарегистрирован: 22 июл 2005, 16:58
- Откуда: Север->Торонто
"Smart" сравнение строк
Есть задача - сравнить две строки и решить, это тоже самое или нет, невзирая на опечатки.
Например TORONTO=TPRONTO
Не думаю SOUNDEX поймет что это тоже самое.
Есть идеи?
Например TORONTO=TPRONTO
Не думаю SOUNDEX поймет что это тоже самое.
Есть идеи?
-
- Маньяк
- Сообщения: 4706
- Зарегистрирован: 20 янв 2005, 19:11
- Gatchinskiy
- Комбинатор
- Сообщения: 20952
- Зарегистрирован: 05 окт 2003, 20:44
- Откуда: St. Petersburg(Gatchina) > Vancouver
- Димас
- Житель
- Сообщения: 593
- Зарегистрирован: 22 июл 2005, 16:58
- Откуда: Север->Торонто
-
- Житель
- Сообщения: 876
- Зарегистрирован: 19 июл 2004, 23:36
- Откуда: Ванкувер
-
- Маньяк
- Сообщения: 2841
- Зарегистрирован: 20 фев 2003, 09:15
- Откуда: Vancouver
Re: "Smart" сравнение строк
Купить лексический анализатор - типа софтина такая.Димас писал(а):Есть задача - сравнить две строки и решить, это тоже самое или нет, невзирая на опечатки.
Например TORONTO=TPRONTO
Не думаю SOUNDEX поймет что это тоже самое.
Есть идеи?
- Проф. Преображенский
- Графоман
- Сообщения: 20276
- Зарегистрирован: 08 ноя 2006, 11:10
Re: "Smart" сравнение строк
Элементарно оценить степень совпадения. В данном случае - 6/7Димас писал(а):Есть задача - сравнить две строки и решить, это тоже самое или нет, невзирая на опечатки.
Например TORONTO=TPRONTO
Не думаю SOUNDEX поймет что это тоже самое.
Есть идеи?
- Димас
- Житель
- Сообщения: 593
- Зарегистрирован: 22 июл 2005, 16:58
- Откуда: Север->Торонто
"через вычсление процента совпадения" it exactly what I need. But it is not a very simple function. For example, a result for Toronot and Toronwz should be different. In 2nd case we have 2 mistakes, in first - 1 shift. So the function should return higher score in the first case.ir писал(а):[trn]esli slov mnogo, to sdelat' avtomatom sobstvennyi slovar' (ego mozhno sdelat' voobshe iz lyubogo reprezentativnogo teksta). Potom prosto smotret' na sovpadenie i esli ne sovpadaet - iskat' blizhaishee slovo cherez vychslenie procenta sovpadeniya. [/trn]
-
- Житель
- Сообщения: 876
- Зарегистрирован: 19 июл 2004, 23:36
- Откуда: Ванкувер
[trn]ya tak ponyala, chto v dannom sluchae pofig chto oshibki raznye. Sravnivaem-to s etalonom, poetomu obychno stavitsya granica (naprimer 85%), vyshe kotoroi schitaetsya chto mozhet byt' opechatka, nizhe - drugoe slovo. Problema v tom, chto bazy obychno ne shibko horosho s takimi shtukami rabotayut - u menya fail v ~96 mln. zapisei rabotal bol'she sutok - no tam algoritm poslozhnee byl (eto bylo na MS Servere) [/trn]Димас писал(а):"через вычсление процента совпадения" it exactly what I need. But it is not a very simple function. For example, a result for Toronot and Toronwz should be different. In 2nd case we have 2 mistakes, in first - 1 shift. So the function should return higher score in the first case.ir писал(а):[trn]esli slov mnogo, to sdelat' avtomatom sobstvennyi slovar' (ego mozhno sdelat' voobshe iz lyubogo reprezentativnogo teksta). Potom prosto smotret' na sovpadenie i esli ne sovpadaet - iskat' blizhaishee slovo cherez vychslenie procenta sovpadeniya. [/trn]
- Димас
- Житель
- Сообщения: 593
- Зарегистрирован: 22 июл 2005, 16:58
- Откуда: Север->Торонто
[trn]immenno tak. ya ne znaju prichin vseh oshibok. Vopros immenno v opredelenii procentov - kak opredelit stroki podobni na 85% ili na 25 %?Tupoe pereschitivanie kol-va bukv konechno ne interesno[/trn]ir писал(а):[trn]ya tak ponyala, chto v dannom sluchae pofig chto oshibki raznye. Sravnivaem-to s etalonom, poetomu obychno stavitsya granica (naprimer 85%), vyshe kotoroi schitaetsya chto mozhet byt' opechatka, nizhe - drugoe slovo. Problema v tom, chto bazy obychno ne shibko horosho s takimi shtukami rabotayut - u menya fail v ~96 mln. zapisei rabotal bol'she sutok - no tam algoritm poslozhnee byl (eto bylo na MS Servere) [/trn]Димас писал(а):"через вычсление процента совпадения" it exactly what I need. But it is not a very simple function. For example, a result for Toronot and Toronwz should be different. In 2nd case we have 2 mistakes, in first - 1 shift. So the function should return higher score in the first case.ir писал(а):[trn]esli slov mnogo, to sdelat' avtomatom sobstvennyi slovar' (ego mozhno sdelat' voobshe iz lyubogo reprezentativnogo teksta). Potom prosto smotret' na sovpadenie i esli ne sovpadaet - iskat' blizhaishee slovo cherez vychslenie procenta sovpadeniya. [/trn]
- Димас
- Житель
- Сообщения: 593
- Зарегистрирован: 22 июл 2005, 16:58
- Откуда: Север->Торонто
Re: Xm
Thanks’a lot!aissp писал(а):Я бы порылся в инете на тему ispell. Помницца в Ремблере именно испелл прикручивали для того чтобы определить правильное слово и похожие слова для поиска. Если очень очень очень надо - могу поискать или спросить
[trn]No zadacha sovsem drugaja. Mne ne nado opredeljat pravilnoe slovo, mne nado sravnit imejushujusja paru.[/trn]
[trn]Est takaja vot shtuka[/trn]- Levenshtein Distance, [trn]s nei poprobuju poigrat. [/trn]
- aissp
- Маньяк
- Сообщения: 2710
- Зарегистрирован: 07 ноя 2005, 09:51
Ну лана
Тогда просто ссылочку интересную:)
http://algolist.manual.ru/search/
ДА и сам сайт не так хорош как мануалы к мат лабу но весьма не плох=)
http://algolist.manual.ru/search/
ДА и сам сайт не так хорош как мануалы к мат лабу но весьма не плох=)
- Lepsik
- Житель
- Сообщения: 522
- Зарегистрирован: 17 фев 2003, 18:34
- Откуда: Berlin
- Контактная информация:
- Димас
- Житель
- Сообщения: 593
- Зарегистрирован: 22 июл 2005, 16:58
- Откуда: Север->Торонто