Страница 1 из 1
"Smart" сравнение строк
Добавлено: 22 мар 2006, 09:50
Димас
Есть задача - сравнить две строки и решить, это тоже самое или нет, невзирая на опечатки.
Например TORONTO=TPRONTO
Не думаю SOUNDEX поймет что это тоже самое.
Есть идеи?
Добавлено: 22 мар 2006, 10:14
Zy
есть - расковырять вордовский спелл-чекер.
Добавлено: 22 мар 2006, 10:24
Gatchinskiy
Zy писал(а):есть - расковырять вордовский спелл-чекер.
... или гугловский 'Did you mean?' ...

Добавлено: 22 мар 2006, 10:53
Димас
Zy писал(а):есть - расковырять вордовский спелл-чекер.
Как это "расковырять" ? Disassembler ? I am going to die.
Добавлено: 22 мар 2006, 10:58
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]
Re: "Smart" сравнение строк
Добавлено: 22 мар 2006, 11:16
Vovchik
Димас писал(а):Есть задача - сравнить две строки и решить, это тоже самое или нет, невзирая на опечатки.
Например TORONTO=TPRONTO
Не думаю SOUNDEX поймет что это тоже самое.
Есть идеи?
Купить лексический анализатор - типа софтина такая.
Re: "Smart" сравнение строк
Добавлено: 22 мар 2006, 11:19
Проф. Преображенский
Димас писал(а):Есть задача - сравнить две строки и решить, это тоже самое или нет, невзирая на опечатки.
Например TORONTO=TPRONTO
Не думаю SOUNDEX поймет что это тоже самое.
Есть идеи?
Элементарно оценить степень совпадения. В данном случае - 6/7
Добавлено: 22 мар 2006, 11:25
Димас
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]
"через вычсление процента совпадения" it exactly what I need. But it is not a very simple function. For example, a result for Toron
ot and Toron
wz 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.
Добавлено: 22 мар 2006, 11:45
ir
Димас писал(а):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]
"через вычсление процента совпадения" it exactly what I need. But it is not a very simple function. For example, a result for Toron
ot and Toron
wz 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.
[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]
Xm
Добавлено: 22 мар 2006, 13:06
aissp
Я бы порылся в инете на тему ispell. Помницца в Ремблере именно испелл прикручивали для того чтобы определить правильное слово и похожие слова для поиска. Если очень очень очень надо - могу поискать или спросить
Добавлено: 23 мар 2006, 06:37
Димас
ir писал(а):Димас писал(а):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]
"через вычсление процента совпадения" it exactly what I need. But it is not a very simple function. For example, a result for Toron
ot and Toron
wz 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.
[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]
[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]
Re: Xm
Добавлено: 23 мар 2006, 06:43
Димас
aissp писал(а):Я бы порылся в инете на тему ispell. Помницца в Ремблере именно испелл прикручивали для того чтобы определить правильное слово и похожие слова для поиска. Если очень очень очень надо - могу поискать или спросить
Thanks’a lot!
[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]
Ну лана
Добавлено: 23 мар 2006, 10:19
aissp
Тогда просто ссылочку интересную:)
http://algolist.manual.ru/search/
ДА и сам сайт не так хорош как мануалы к мат лабу но весьма не плох=)
Добавлено: 23 мар 2006, 11:59
Lepsik
Добавлено: 23 мар 2006, 12:26
Димас
To Lepsik, aissp - thank's, thank's, thank's, thank's, thank's !!!
