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

Cevap