![]() | |
| |||||||
| Home | Register | Blogs | FAQ | Members List | Calendar | Downloads | Arcade | Mark Forums Read |
| Algorithms The source of algorithms for your project |
![]() |
| | LinkBack | Thread Tools | Display Modes |
| | #1 |
| Авик | Вобщем требуется мне алгоритм функции которая будет получать в качестве параметров, два стринга, и возвращать цифру их "похожести" в процентном соотношении, ну типа хотя бы алгоритм.
__________________ вот собственно все, что я хотел сказать. |
| | |
| | #2 |
| панаехавший | Детка, ты определись, что ты понимаешь под похожестью? Есть понятие расстояния стрингов (дасиц кич трнеир киманаир), этого тебе нада?
__________________ Իսկ ԴՈՒ արդեն վաճառե՞լ ես Հայրենիքդ ռուսներին: My Exchange Rate Monitor | Իմ Արտարժույթի Մոնիտորը |
| | |
| | #3 |
| Грустно... | например strcmp 0 если совсем похожи 1/-1 ежели одна меньше/больше другой.А фактически да - скажи параметр похожести, там придумаем, что надо.
__________________ http://аvitya.livejournal.com Хотели, как лучше, а получилось даже хуже... Лозунг шахматиста: На каждый шах - ответим матом! |
| | |
| | #4 |
| Авик | Ну как бы сказать вам. Вот есть у меня несколько прайс листов с наименованиями лекарств. Но в каждом прайсе все написанно по разному, для примера: анальгин 25, Анальгин 25, Анальгин. 25., Анальгин mg25, Анальгин 25 мг. и.т.д Так вот мне надо как бы ну опознать "Анальгины", Аспирины и всякую мурню.
__________________ вот собственно все, что я хотел сказать. |
| | |
| | #6 |
| Грустно... | lstrcmp(i) - системные функции виндоза. 0. Sum = 0; 1. по очереди проходишь по всем символам сравниваешь их , если равны + 2. если равны, но без учета регистра +1 (тут я поправил) 3. пробелы не сравниваешь вообще - пропускаешь (пробел, верт и гор табуляция, перевод строки, возврат каретки) 4. несовпадения вычитаешь ![]() смотришь число... или же: берешь и ищещь слова из одной строки в другой без учета регистра... похожесть сумма похожих чисел чем больше тем лучше...
__________________ http://аvitya.livejournal.com Хотели, как лучше, а получилось даже хуже... Лозунг шахматиста: На каждый шах - ответим матом! Last edited by Agregat : Nov 11, 2004 at 14:27. |
| | |
| | #7 | |
| Главный Лысый | Если используется MYSql Я подозреваю, что надо смотреть в направлении либо: Quote:
__________________ Ruben Muradyan Technical Director PanARMENIAN Network: Armenian News ---------------------------------------------------- Лысина - это полянка, вытоптанная мыслями. ---------------------------------------------------- | |
| | |
| | #9 | |
| панаехавший | Quote:
__________________ Իսկ ԴՈՒ արդեն վաճառե՞լ ես Հայրենիքդ ռուսներին: My Exchange Rate Monitor | Իմ Արտարժույթի Մոնիտորը | |
| | |
| | #11 | |
| Авик | Quote:
![]() ДА ладно, все же не так это сложно, (зато сколько дадут бабосов)
__________________ вот собственно все, что я хотел сказать. | |
| | |
| | #12 | |
| Главный Лысый | Quote:
I tvoi primery budut naydeny.
__________________ Ruben Muradyan Technical Director PanARMENIAN Network: Armenian News ---------------------------------------------------- Лысина - это полянка, вытоптанная мыслями. ---------------------------------------------------- | |
| | |
| | #13 |
| Главный Лысый | Odnako ideala ty vse ravno ne naydesh - poetomu stoit predusmotret' nekiy variant opredeleniya etikh parametrov vruchnuyu. I tol'ko posle etogo nachat' sravnivat' realizatsii na "zhivykh sluchayakh"
__________________ Ruben Muradyan Technical Director PanARMENIAN Network: Armenian News ---------------------------------------------------- Лысина - это полянка, вытоптанная мыслями. ---------------------------------------------------- |
| | |
| | #14 |
| Авик | Думаю может просто сделать базу из всех имен вручную, а потом уже просто ее юзать... но сделать базу из 1000 наименований... мдя...
__________________ вот собственно все, что я хотел сказать. |
| | |
| | #15 |
| Painfully Outlandish Join Date: May 2003 Location: Albainn
Posts: 113
Rep Power: 6 Reputation:
10 | you can use a dynamic programming algorithm to find the longest common substring (I think ignoring cases and spaces might be a good idea), then in the aspirin example you'll find "aspirin". I think this will do the main part of the work. |
| | |