Porównywanie PODOBNYCH danych
mAyA - 13-11-2006 00:15
Porównywanie PODOBNYCH danych
Jak mozna w prosty sposob porownac podobne dane?
Zadanie:
Stworzyc zapytanie ktore pozwoli okreslac % stopien podobienstwa danych (100%, 75%..). Czyli, aby rekordy
P.P.H.U. Jan Kowalski ul. fabryczna Leczyca PPHU Jan Kowalski fabryczna Leczyca H.U. Jankowalski ul.fabryczna Leczyca
zostaly odsiane jako podobne. W tabeli musi byc to srednia pól o przykladowych typach danych: NAZWA, ULICA, MIASTO, czyli porownujemy te
trzy dane i jezeli kazda z nich jest zgodna powiedzmy w 75% rekord jest
zwracany jako "poprawny". Jak ewentualnie doprogramowac conieco, aby zostal pobierany dany czlon, pomiedzy spacjami i zostal porownywany z innym z drugiej tabeli tak aby uwzglednial kolejnosc zgodnych znakow, nie bral natomiast pod uwage ich wielkosci??
Pozdrawiam
Filip Rembiałkowski - 13-11-2006 00:15
mAyA napisał(a): > Jak mozna w prosty sposob porownac podobne dane? >
keyword: fuzzy string matching znajdziesz do tego kilka algorytmów i sporo gotowych implementacji
w Perlu -> String::Approx, Text::Metaphone, and Text::DoubleMetaphone pod unices jest biblioteka TRE http://laurikari.net/tre/index.html itp itd.
F.
Tomasz Rup - 13-11-2006 00:15
mAyA wrote:
> Jak mozna w prosty sposob porownac podobne dane? > > Zadanie: > > Stworzyc zapytanie ktore pozwoli okreslac % stopien podobienstwa > danych (100%, 75%..). Czyli, aby rekordy > > P.P.H.U. Jan Kowalski ul. fabryczna Leczyca > PPHU Jan Kowalski fabryczna Leczyca > H.U. Jankowalski ul.fabryczna Leczyca > > zostaly odsiane jako podobne. W tabeli musi byc to srednia pól o > przykladowych typach danych: NAZWA, ULICA, MIASTO, czyli porownujemy te > trzy dane i jezeli kazda z nich jest zgodna powiedzmy w 75% rekord jest > zwracany jako "poprawny". Jak ewentualnie doprogramowac conieco, aby > zostal pobierany dany czlon, pomiedzy spacjami i zostal porownywany z > innym z drugiej tabeli tak aby uwzglednial kolejnosc zgodnych znakow, > nie bral natomiast pod uwage ich wielkosci??
W MySQL jest funkcja SOUNDEX, która zwraca niewiadomoco. Myślę, że może Ci pomóc, jak to odpowiednio "doprogramujesz".
-- Tomasz Rup JID:tomaszrup@chrome.pl GG:6603321 ICQ:285401222 http://www.linkedin.com/in/tomaszrup
Łukasz Kalbarczyk - 13-11-2006 00:16
Dnia Fri, 06 Oct 2006 13:09:55 +0200, Tomasz Rup napisał(a):
> W MySQL jest funkcja SOUNDEX, która zwraca niewiadomoco. Myślę, że może Ci > pomóc, jak to odpowiednio "doprogramujesz".
Wiadomoco, tylko niewiadomopoco w polskich zastosowaniach.
-- ŁK http://moze.sprawdz.sobie.to
Łukasz Kalbarczyk - 13-11-2006 00:16
Dnia 5 Oct 2006 08:13:19 -0700, mAyA napisał(a):
> Jak mozna w prosty sposob porownac podobne dane? > zwracany jako "poprawny". Jak ewentualnie doprogramowac conieco, aby > zostal pobierany dany czlon, pomiedzy spacjami i zostal porownywany z > innym z drugiej tabeli tak aby uwzglednial kolejnosc zgodnych znakow, > nie bral natomiast pod uwage ich wielkosci??
W php jest coś takiego (similar_text), ale to chyba nie jest odpowiedź bazodanowa.
-- ŁK http://moze.sprawdz.sobie.to
Filip Rembiałkowski - 13-11-2006 00:43
aha zapomniałem dodać, że w postgresql jest contrib/fuzzystrmatch
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?=
=?iso-8859-2?Q?=5BMySQL=5D_Wy=B6wietlenie_wszystkich_rekordow _zawierajacy?==?iso-8859-2?Q?ch_duplikat_a__moze_inna_struktura_bazy_danych ?=
Konwesja znaków w dump'ie bazy danych - ISO -> utf-8 -> ISO -> utf-8
[laik]Jak =?ISO-8859-2?Q?stworzy=E6/zaczac_tworzyc__ma=B3=B1?==?ISO-8859-2?Q?__baz=EA_danych_na_potrzeby_www=3F?=
[mysql] przenoszenie danych =?ISO-8859-2?Q?mi=EAdzy_tabelami_?==?ISO-8859-2?Q?w_r=F3=BFnych_bazach?=
Ksiazka - "Podstawowy =?ISO-8859-2?Q?wyk=B3ad_z_system=F3w_?==?ISO-8859-2?Q?baz_danych=22?=
Zrywanie =?ISO-8859-2?Q?po=B3aczen_z_baza_danych_-_pos?==?ISO-8859-2?Q?tgresql_=3C-=3E_odbc?=
Połączenie bazy danych z wykonaniem polaczenia telefonicznego
[mssql] insert do tabeli na podstawie danych z innej tabeli
[oracle] Baza danych do kursy Introduction to Oracle9i:PL/SQL ? Skąd ją pobrać ?
zanotowane.pldoc.pisz.plpdf.pisz.plred-hacjenda.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|