ďťż
 
Porównywanie PODOBNYCH danych ďťż
 
Porównywanie PODOBNYCH danych
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

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.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [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.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • red-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

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com