[cs-lisp] Re: SimMetrics: string benzerlik metrikleri kütüphanesi
VY == Volkan YAZICI [EMAIL PROTECTED] writes: VY On Aug 19 11:22, Emre Sevinc wrote: VY == Volkan YAZICI [EMAIL PROTECTED] writes: VY On Aug 19 10:13, Emre Sevinc wrote: Merak ettim acaba Common Lisp ya da Scheme icin SimMetrics tarzi bir islev kitapligi var midir? VY Levenshtein (yada Soundex) algoritmalarının herhangi bir VY programlama dilinde kütüphanesinin olmadığına şimdiye kadar VY şahit olmadım. Dogrudur. Benim kast ettigim o degildi lakin. En bilinen bir iki algoritma disinda söz konusu Java kitapliginin icinde 30 kadar metrik uygulamasi görünüyor. Bunlarin tek bir kitapliktan erisilebilir olmasi güzel olabilir diye düsündüm. VY Demek istediğinizi şimdi anladım. Hrmm... Bu konu hakkında o VY derece bir bilgim yok. Benim bildiğim zaten 1-2 tane VY Levenshtein metriği var. 30 tane mi varmış? :D Levenshtein belli bir metrigin, algoritmanin ismi. 30 kadar var dedigim, farkli sekilde calisan ve degisik seyleri ölcen algoritmalar ve tabii bunlarin da kendilerine özgü isimleri mevcut. Bu arada Levenshtein metriginin hesaplanmasi icin Common Lisp uygulamasi http://en.wikipedia.org/wiki/Levenshtein_distance#Common_Lisp Scheme uygulamasi: http://en.wikipedia.org/wiki/Levenshtein_distance#Scheme Ama sayfadaki en kisa uygulama Haskell ile yapilmis: http://en.wikipedia.org/wiki/Levenshtein_distance#Haskell Bir de kök meselesi var (stemming) [1, 2], benim merak ettiğim acaba Zemberek'i (yani Zemberek'in kök bulma islevselliginden faydalanip) bunu Türkce tam metin arama islevini zenginlestirmek amaci ile kullanmis bir proje var midir? (Konu disina ciktim, cagrisim yaptigi icin not düsmek istedim). Yeri gelmisken sorayim, PostgreSQL tam metin arama ve indeksleme icin Ingilizce haricinde diller icin kök bulmadan faydalaniyor mu? Yukaridaki gibi bir seyi entegre etmek ne kadar kolay/zor olurdu (Java ile kodlandigi düsünüldügünde)? VY PostgreSQL için TSearch2 adlı bir proje var. Burada, kendi VY sağladığınız hazır lexeme kütüphanelerini kullanabileceğiniz VY gibi stemming'i on-the-fly gerçekleştirebilecek bir yazılım VY kullanabilirsiniz. Çok kabaca ifade edecek olursam, VY Zemberek'in stemming() çağrısını PostgreSQL prosedürüne port VY etmemiz yeterli olacaktır. Açıkcası böyle bir projenin altına VY ben elimi seve seve koyabilirim. Zemberek ortamlari bu aralar pek aktif degil [1]. Ancak gelistiricileri ile iletisim kurulursa yardimci olabilirler diye düsünüyorum. OpenOffice.org entegrasyonundan sonra PostgreSQL icinde de bir Türkce kök bulma mekanizmasi olsa ve bu sayede PostgreSQL'in dogal dil / tam metin arama yetenekleri gelisse gercekten güzel olurdu. Kodun illa ki Java'dan dönüstürülmesi mi gerekir? Mevcut hali ile koruyup bir sekilde entegre etmek mümkün degil midir? Böylece belki MS SQL Server'daki dogal dil isleme özellikleri ve belki de fazlasi güclü ve acik kodlu bir veritabani icin de Türkceye yönelik olarak gerceklesmis olurdu [2, 3, 4]. 1- https://zemberek.dev.java.net/ 2- http://www.simple-talk.com/sql/learn-sql-server/sql-server-full-text-search-language-features/ 3- http://www.simple-talk.com/sql/learn-sql-server/sql-server-full-text-search-language-features,-part-2/ 4- http://blogs.msdn.com/shajan/archive/2005/12/09/Extending_SQL_2005_Fulltext_Search.aspx -- Emre Sevinc eMBA Software Developer Actively engaged in: http://emba.bilgi.edu.trhttp://ileriseviye.org http://www.bilgi.edu.tr http://fazlamesai.net Cognitive Science Student http://cazci.com http://www.cogsci.boun.edu.tr ___ cs-lisp mailing list cs-lisp@cs.bilgi.edu.tr http://church.cs.bilgi.edu.tr/lcg http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp
[cs-lisp] Re: SimMetrics: string benzerlik metrikleri kütüphanesi
VY == Volkan YAZICI [EMAIL PROTECTED] writes: VY On Aug 19 10:13, Emre Sevinc wrote: Merak ettim acaba Common Lisp ya da Scheme icin SimMetrics tarzi bir islev kitapligi var midir? VY Levenshtein (yada Soundex) algoritmalarının herhangi bir VY programlama dilinde kütüphanesinin olmadığına şimdiye kadar VY şahit olmadım. Dogrudur. Benim kast ettigim o degildi lakin. En bilinen bir iki algoritma disinda söz konusu Java kitapliginin icinde 30 kadar metrik uygulamasi görünüyor. Bunlarin tek bir kitapliktan erisilebilir olmasi güzel olabilir diye düsündüm. VY Kısa bir Google araması sonucu şöyle bir şey buldum: VY [http://www.neilvandyke.org/levenshtein-scm/] This is a Scheme VY implementation of the Levenshtein Distance algorithm, which is VY an edit distance metric of string similarity. The Levenshtein VY Distance is a function of two strings that represents a count VY of single-character insertions, deletions, and substitions VY that will change the first string to the second. VY Özellikle veritabanındaki FTS (Full Text Search) zamazingoları VY için lokum diye tabir edebileceğimiz bir özellik. Ama şahsi Bir de kök meselesi var (stemming) [1, 2], benim merak ettiğim acaba Zemberek'i (yani Zemberek'in kök bulma islevselliginden faydalanip) bunu Türkce tam metin arama islevini zenginlestirmek amaci ile kullanmis bir proje var midir? (Konu disina ciktim, cagrisim yaptigi icin not düsmek istedim). Yeri gelmisken sorayim, PostgreSQL tam metin arama ve indeksleme icin Ingilizce haricinde diller icin kök bulmadan faydalaniyor mu? Yukaridaki gibi bir seyi entegre etmek ne kadar kolay/zor olurdu (Java ile kodlandigi düsünüldügünde)? VY fikrim, bu tür fonksiyonların çok büyük veri kümeleri üzerine VY uygulanmalarından dolayı, makine diline yakın programlama VY dilleri ile geliştirilmelerinin daha doğru olduğu VY yönünde. Tabii şöyle bir gerçek de var ki, benim C ile VY geliştirdiğim Levenshtein algoritmasını herhangi bir Lisp VY dialektiği ile daha hızlı çalışacak şekilde geliştiribilecek VY bir programcı her daim mevcut olacaktır. Common Lisp ile epey optimize kod üretilebiliyor diye biliyorum, en basiti tür tanimlamalari, optimizasyon ayarlamalari, vs. SBCL ve Franz Inc.'in Allegro Common Lisp'i ürüne özgü parametreler de dahil edildiginde epey iyi is cikarabilmeli [3, 4, 5]. Diger yandan yani illa Lisp ile yazilmis olmasi sart degil, bir foreing function interface (FFI) seklinde de olabilir. 1- http://en.wikipedia.org/wiki/Stemmer 2- http://en.wikipedia.org/wiki/Stemming_algorithm 3- http://www.gigamonkeys.com/book/conclusion-whats-next.html 4- http://www.cliki.net/Performance%20Benchmarks2 5- http://www.lispworks.com/products/myths_and_legends.html -- Emre Sevinc eMBA Software Developer Actively engaged in: http://emba.bilgi.edu.trhttp://ileriseviye.org http://www.bilgi.edu.tr http://fazlamesai.net Cognitive Science Student http://cazci.com http://www.cogsci.boun.edu.tr ___ cs-lisp mailing list cs-lisp@cs.bilgi.edu.tr http://church.cs.bilgi.edu.tr/lcg http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp