Selam, Soldan belli sayidaki karakterlerin karsilastira bilirsin. Ama yine de benzesenleri gozle taraman gerekecek.
Sent by mobile device... 11 Eki 2013 tarihinde 23:11 saatinde, Ali Polatel <[email protected]> şunları yazdı: > Nuri AKMAN dedi ki: >> Arkadaşlar, >> >> Elimde MYSQL veritabanında kayıtlı 180.000 adet firma adı var. Ancak, bu >> isimler kullanıcılar tarafından el ile girilmiş kayıtlar. Bunların bir >> çoğunun farklı yazılmış olmasından dolayı mükerrer olduğunu düşünüyoruz. >> >> Birkaç örnek vermek gerekirse: >> XYZ TOPRAK GIDA HAY. TUR. MAK.SAN. VE TİC. A.Ş >> XYZ TOPRAK GIDA HAYV. TUR. MAK. SAN. VE TİC. A.Ş. >> XYZ TOPRAK GIDA HAYVANCILIK TUR.MAK.SAN. VE TİCARET A.Ş. >> XYZ GIDA SAN. VE TİC. A.Ş. >> XYZ GIDA SAN.VE TİC.AŞ. >> XYZ ÇİFTLİK ÜRÜNLERİ ÜRETİM SAN. VE TİC. LTD. ŞTİ. >> XYZ ÇİFTLİK ÜRÜNLERİ ÜRETİM SAN.VE TİC.LTD.ŞTİ. >> XYZ KİREMİT TUĞLA FAB. >> XYZ KİREMİT VE TUĞLA FABRİKASI >> >> Bu kayıtları birbirine en yaklaşık olanlara göre elden geçirerek >> sadeleştirmem gerekiyor. >> >> Bu işin teknik adının ne olduğunu bilmediğim için google'da araştıramadım. > > "yaklaşık dizi karşılaştırması" olabilir mi? > > http://en.wikipedia.org/wiki/Levenshtein_distance > >> Bunun nasıl yapılabileceğine ilişkin düşüncelerinize başvurmak istiyorum. > > Açıkçası MySQL kısmı konusunda pek bir fikir veremeyeceğim. Ancak > dizilerin diğer dizilere göre emsalsiz ortak noktaları varsa öncelikle > bu noktaları arayıp eşleştirme yapabilirsiniz. > > Fakat diziler arasındaki benzerlikler emsalsiz değilse bu sefer > belirlenen bir yaklaşıklık ile dizileri eşleştirmeyi deneyebilirsiniz. > > Örneğin birbirine benzer birkaç diziyi ele alalım: > ( agrep (1) - print lines approximately matching a pattern > http://laurikari.net/tre ) > > $> cat foo.txt > hayvan > haytan > hayyam > $> agrep -E 1 hayvan foo.txt > hayvan > haytan > $> agrep -E 2 hayvan foo.txt > hayvan > haytan > hayyam > $> > > Bu şekilde benzerlik seviyesini önceden öngördüğünüz dizileri eşleştirip > elden geçirip sadeleştirebilirsiniz. > (Kanımca gerekli benzerlikleri öngördükten sonra MySQL veritabanının > bir metin dosyasına `mysqldump' komutu ile dökümünü alıp üzerinde > oynamalar yaptıktan sonra yeniden veritabanına basabilirsiniz.) > >> Selamlar, >> Nuri Akman > > Kolay gele... > > -- > Ali Polatel > _______________________________________________ > Linux-programlama mailing list > [email protected] > https://liste.linux.org.tr/mailman/listinfo/linux-programlama > Liste kurallari: http://liste.linux.org.tr/kurallar.php _______________________________________________ Linux-programlama mailing list [email protected] https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
