Zemberek Nasıl Çalışır? 1. Bölüm: Sözlük ve Kök Ağacı

0
FZ
Zemberek bir kelimenin Türkçe olup olmadığına nasıl karar veriyor? Bu basit sorunun cevabı "verilen bir kelimeyi Türkçe kök ve eklerine ayırabilirseniz Türkçedir, ayıramıyorsanız değildir". Kısacası bir kelimenin Türkçe olup olmamasını anlamak için morfolojik analiz yapabilmelisiniz. Türkçe yazım denetimi yapabilmek için önceleri en sık kullanılan kelimelerin bir dosyaya konulup gelen kelimelerin o dosyadan kontrol edilmesi gibi ilk bakışta mantıklı görünen ama biraz inceleyince pratik olmadığı anlaşılan yöntemler de düşünülmüştü. Bu tür yöntemlerin yetersiz olan %98-99 doğrulukla çalışması için bile milyonlarca kelimeyi içermesi gerekir.

Makalenin devamı: http://zembereknlp.blogspot.com/2007/02/zemberek-nasl-alr-1szlk-ve-kk-aac.html

Görüşler

0
sefalet
Epey bir zaman önce FM Forumunda dil işleme ile ilgili yazılım sormuştum.Morphix-NLP tarzı paketler tavsiye edilmişti.Fakat üzerinde çalışmak istediğim metinler Türkçe olduğu için pek bir yarar sağlayamadım doğal olarak. Halbuki sadece bir metinde geçen özgün kelime adedini öğrenmek gibi "basit" bir niyetim vardı. Bu iş göründüğü gibi kolay değil maalesef.

Neden hala ciddi bir desteği yok Zemberek Projesinin anlamak zor. Tartışma çıkartmak istemem ama "en az" Pardus kadar önem verilmesi gereken bir uygulama.

Türkçe'de yabancı sözcükleri benimseme çılgınlığından dolayı kökleri takip edilemeyen pek çok sözcük var (tek neden bu değil tabi). Bunların tespitinde ya da sözcüğün Türkçe olup olmadığını anlamak için işin tersinden gidilebilir. Türkçe ekler, bazı ses düşmesi durumları dışında pek değişmez. Bu yüzden eklerin çözümlenmesi sözcüğün Türkçe olarak tanımlanmasını sağlayacaktır.

Umarım bu çalışmalar daha fazla destek bulur.
0
FZ
Epey bir zaman önce FM Forumunda dil işleme ile ilgili yazılım sormuştum. Morphix-NLP tarzı paketler tavsiye edilmişti.

Ben etmişimdir diye düşündüm bir an ;-) Türkçe için öyle bir şey hazırlandığı gün gözümün açık gitmeyeceği gündür...

Fakat üzerinde çalışmak istediğim metinler Türkçe olduğu için pek bir yarar sağlayamadım doğal olarak. Halbuki sadece bir metinde geçen özgün kelime adedini öğrenmek gibi "basit" bir niyetim vardı. Bu iş göründüğü gibi kolay değil maalesef.

O konuda bir gelişme var mı? İşinizi halledebildiniz mi? Ya da başka talepleriniz varsa onları da belirtin belki yardımcı olabilecek arkadaşlar çıkabilir.

Neden hala ciddi bir desteği yok Zemberek Projesinin anlamak zor. Tartışma çıkartmak istemem ama "en az" Pardus kadar önem verilmesi gereken bir uygulama.

Ciddi destek derken neyi kast ediyorsunuz? Ben aslında bu koşullar altında epey popüler olduğunu (tabii asla yeterli değil) ve kullanıldığını düşünüyorum. Öte yandan doğal dil işleme ve bunu Türkçe özelinde yapma gerek programlama disiplini, gerekse dile hakim olma, dilbilime dair bir şeyler bilme, bu konularda kafa patlatma ve yapılmış şeyleri takip edip dile uyarlama, vs. bakımınından biraz meşakkatli bir iş. Biraz "özel" bir iş ve görünen o ki çok "çekici" gelmiyor anadili Türkçe olan programcılara.

Diğer yandan maalesef haberli olması gereken çoğu kişinin haberi de yok, bizzat yaşadığım bir şey, Türkiye'nin en iyi üniversitelerden biri kabul edilen bir üniversitenin bilg. müh. bölümünde, aynı zamanda doğal dil işleme üzerine uzman olan bir hocamızın danışmanlığında bitirme tezini yazan ve epey Java kullanan bir arkadaşa birkaç hafta önce bahsettim, epey şaşırdı ve sevindi. 3 yılı aşkın süredir geliştirilen Zemberek'i yeni duyduğunu belirtti. Şaşırılması gereken bu durumlara ben artık şaşırmıyorum açıkçası. Türkiye'de hala pek çok konuda çok ciddi bir düşünsel izolasyon var, kötü niye de değil aslında, insanlar kendi dünyalarında yaşıyorlar ve bu devasa Internet ortamında her an her ilgilenebilecekleri şeyden haberdar olamıyorlar maalesef. Belki FM'nin işlevi de bu gibi durumlarda daha iyi anlaşılıyor.

Bu gibi şeyleri ben biraz da pazar ekonomisi ile ilgili buluyorum yani bugün İngilizce için bir doğal dil işleme programı geliştirseniz ve çok özel, güçlü hızlı bir şey olsa bunun müşterisi Google olur, IBM olur, Oracle olur, Microsoft olur çünkü İngilizce. Aynı şeyi Türkçe için yapmaya kalksanız, hani 70 milyonluk ülkeyiz diyoruz da pazarımız ne kadar ki, kaç paralık ekonomimiz var bu tür dile bağımlı teknolojiler için? Kim ne kadar fonlar bu tür araştırmaları ve açık kodlu çözümleri?
0
sefalet

Ben etmişimdir diye düşündüm bir an;-) Türkçe için öyle bir şey hazırlandığı gün gözümün açık gitmeyeceği gündür...

Evet Emre Bey yardımcı olanlardan biri sizdiniz. Sağolsun başka arkadaşlar da bazı fikirler vermişti.

Fakat üzerinde çalışmak istediğim metinler Türkçe olduğu için pek bir yarar sağlayamadım doğal olarak. Halbuki sadece bir metinde geçen özgün kelime adedini öğrenmek gibi "basit" bir niyetim vardı. Bu iş göründüğü gibi kolay değil maalesef.

O konuda bir gelişme var mı? İşinizi halledebildiniz mi? Ya da başka talepleriniz varsa onları da belirtin belki yardımcı olabilecek arkadaşlar çıkabilir.

Maalesef pes etmiş durumdayım. Zira Morphix-NLP içerisindeki tokenizer tarzındaki yazılımları kurcalasam da, metin çözümlemeyi geçtim Türkçe karakter desteği bile yoktu. En çok istediğim, metin içindeki özgün kelime adedini bulabilmek. Fakat bu işleri yapan yazılımlar hakkında fazla bilgim olmasa da, şunu söyleyebilirim; yazılımın bir kelimenin Türkçe olup olmadığını anladıktan sonra onu ekleri ile birlikte çözümlemesi de gerekiyor. Aksi takdirde, örneğin; Türk ve Türkçe kelimelerini aynı kökten geldiği için aynı kelime olarak ele alıp metin içinde ikisini tek kelimeymiş gibi değerlendirebilir. Oysa ayrı kavramlara tekabül eden, iki ayrı isimden bahsediyoruz, dolayısı ile iki ayrı kelime olarak değerlendirmesi gerekir yazılımın. Bunu yapabilecek yazılımın da "ek sistematiğini" çözümleme yeteneği olması gerekir. Zemberekle çok haşır neşir olmadım ama yapılan çalışmalar bu konuda gelişme sağlayacak gibi görünüyor.

Bu gibi şeyleri ben biraz da pazar ekonomisi ile ilgili buluyorum yani bugün İngilizce için bir doğal dil işleme programı geliştirseniz ve çok özel, güçlü hızlı bir şey olsa bunun müşterisi Google olur, IBM olur, Oracle olur, Microsoft olur çünkü İngilizce. Aynı şeyi Türkçe için yapmaya kalksanız, hani 70 milyonluk ülkeyiz diyoruz da pazarımız ne kadar ki, kaç paralık ekonomimiz var bu tür dile bağımlı teknolojiler için? Kim ne kadar fonlar bu tür araştırmaları ve açık kodlu çözümleri?

Bu açıklamanıza "Ciddi destek derken neyi kastediyorsunuz?" sorunuzla birlikte cevap vereyim (soruyu siz aslında yanıtlıyorsunuz bir bakıma). Genelağın olağanüstü yayılması ile birlikte zenginleşen içeriği, belli bir zaman sadece içerik "yığma" olarak gelişimini sürdürdü. Ama artık içinde olduğumuz süreçte ve "gelecekte", genelağda artık içeriğin yığılması yanında içeriğin "işlenebilmesi" de büyük önem kazanmakta. İçeriğin işlenebilmesi için, içeriğin dilinin bilişim ortamında bazı yeteneklere sahip olması gerek. Bir dilin bu yetenekleri, ancak Doğal Dil İşleme çalışmaları ile mümkün. Arama motoru yapılarından tutun, güvenlik ve yapay zeka çalışmalarına kadar çok değişik konularda ilerlemenin mihenk taşı Doğal Dil İşleme çalışmalarında gelinen nokta olacaktır. Buna ihtiyaç duyan bilişim devi firmalarımız yok, doğru. Ama ülkenin konu ile ilgili bilimsel kadroları genelağ denilen ekonomik, sosyal ve kültürel olgunun geleceğinin bu tür çalışmalarda olduğunu görmesi gerekir. Bu çalışmaları zamanında yapmayanların, sanal alemde, sadece içerik yığarak bir gelecek kurmalarının imkanlı olmadığı anlaşılmalıdır.

Bu şartlar altında, acaba bir işletim sistemi mi yoksa doğal dil işleme çalışmalarına mı öncelik verilmelidir? İkisine de verilmeli ama doğal dil işleme çalışmaları belirttiğim sebeplerden ötürü çok daha önemli. Yarın, öz be öz yerel bir işletim sisteminiz olmazsa uğrayacağınız zarar ile, doğal dil işleme çalışmalarında geri kalınmasının bedeli arasında büyük fark olacaktır. Bu bakımdan en azından bilişim alanında hedef yaratmaya çalışan kurumların bu tür projelere daha çok destek vermesi şart. Bir kaç ilgili uzman ile olabilecek işler değil bunlar, olmamalı da. O yüzden akademik ve kurumsal işbirliği ve iyi bir kaynakla, en kısa sürede yola çıkılması gerekiyor gibi geliyor bana.
0
sefalet
Bu tür çalışmalara edebiyat dünyasından ilginç örnekler vermek mümkün. Metin çözümleme özellikle batıdaki edebiyat çalışmalarında neredeyse bir alt dal olarak epey gelişim gösterdi. Bizim edebiyatımızdan bu tür bir örnek için (benim bildiğim yegane) Gen Haritası'na bakılabilir. Acaba ne tür bir yol izledi kitabın yazarı şiirleri çözümlemek için, insan merak ediyor. Yazılım desteği ne kadar kolaylaştırırdı bu tür çalışmaları tahmin etmek zor değil.
0
FZ
Bağlantı için çok teşekkürler, ilk fırsatta bu kitabı edineceğim epey merak ettim. Kitabı yazan bir dilbilimci mi yoksa edebiyatçı mı bilmiyorum ama hak veriyorum, dilbilimcilerimiz ve bu tür çözümleme çalışmaları yapan Türkçe emekçileri birtakım temel bilgi işlem araçlarına sahip olsa bazı angarya işleri çok daha hatasız ve hızlı yapabilirler. Burada da görev sanırım bilgisayarcılara düşüyor biraz, olanakları imkanları bu tür dil çalışması yapıp da bilgisayar uzmanı olmayan araştırmacılara tanıtmak açısından.
0
FZ
karakter desteği bile yoktu. En çok istediğim, metin içindeki özgün kelime adedini bulabilmek.

Metin içinde özgün sözcük derken neyi kast ediyorsunuz? Yani sadece farklı sözcükler mi? Yoksa farklı kökler mi? Yoksa köklere bakıp Türkçe olanları mı kast ediyorsunuz özgün sözcük derken?

takdirde, örneğin; Türk ve Türkçe kelimelerini aynı kökten geldiği için aynı kelime olarak ele alıp metin içinde ikisini tek kelimeymiş gibi değerlendirebilir. Oysa ayrı kavramlara tekabül eden, iki ayrı isimden bahsediyoruz, dolayısı ile iki ayrı kelime olarak değerlendirmesi gerekir yazılımın.

Zaten kök, ek meselesini bir kenara bırakırsak "tokenizer" denen bir yazılım için Türk ve Türkçe iki farklı "token" değil midir? Ek ve kök açısından da biri diğerinin kökü değil midir? Yani bu bilgileri veren bir sistem (misal Zemberek) işinizi görür mü?

Bunu yapabilecek yazılımın da "ek sistematiğini" çözümleme yeteneği olması gerekir. Zemberekle çok haşır neşir olmadım ama yapılan çalışmalar bu konuda gelişme sağlayacak gibi görünüyor.

Web demosunu kullanarak istediğiniz türden çıktı veriyor mu vermiyor mu bir göz atabilirsiniz sanırım.

Buna ihtiyaç duyan bilişim devi firmalarımız yok, doğru. Ama ülkenin konu ile ilgili bilimsel kadroları genelağ denilen ekonomik, sosyal ve kültürel olgunun geleceğinin bu tür çalışmalarda olduğunu görmesi gerekir.

Gerekir ile "olur" arasında ince ama önemli bir çizgi var öyle değil mi? Ben, ekonomik gelişme söz konusu olmadan bu tür şeylerin ciddi sıçrama yapabileceğini sanmıyorum.
0
sefalet

Metin içinde özgün sözcük derken neyi kast ediyorsunuz? Yani sadece farklı sözcükler mi? Yoksa farklı kökler mi? Yoksa köklere bakıp Türkçe olanları mı kast ediyorsunuz özgün sözcük derken?

Zaten kök, ek meselesini bir kenara bırakırsak "tokenizer" denen bir yazılım için Türk ve Türkçe iki farklı "token" değil midir? Ek ve kök açısından da biri diğerinin kökü değil midir? Yani bu bilgileri veren bir sistem (misal Zemberek) işinizi görür mü?

Kastettiğim şu; bir metin içindeki kavram sayısına ulaşmak istiyorum. Özgün derken onu kastettim ama iyi karşılamadı sanırım.

Örneğin:

İnsanlar İnsan olmanın ne demek olduğunu sorgulamalı.

Bu cümledeki İnsanlar ile İnsan tek bir kavram olarak değerlendirilmelidir. Çünkü insan kökü diğer kelimede sadece çoğul eki almıştır, bu yüzden de yeni farklı bir kavrama karşılık değildir. Dolayısıyla örnek cümledeki kelime sayısı beş olarak hesaplanmalı (olmanın ve olduğunu da aynı anlamda kelimelerdir, ekler ile yeni bir kavram türetilmemiş). Ama onun yerine şöyle bir cümle olsaydı:

İnsanlık İnsan olmanın ne demek olduğunu sorgulamalı.

Bu cümledeki İnsanlık, insan kelimesinin köküne -lık yapım eki gelerek yeni bir kavram ve ismi oluşturmaktadır. Bu yüzden ayrı ayrı sayılmalı. Böyle hesaplarsak bu cümlede altı kelime olduğunu görürüz.

Bu hesaplamayı tokenizer türündeki yazılım sağlıklı yapamaz, eğer Türkçe kök ve ek sistemini çözümleme yeteneği yok ise. Çünkü sizin de belirttiğiniz gibi insan-insanlar kelimelerini ayrı ayrı kelimelermiş gibi ele alacaktır. Bu yüzden de bir metnin kavram ve kelime zenginliği bakımından düzeyini belirlemek için yazılımdan alınan çıktı sağlıklı olmayacaktır.

Bu konu aslında sizin günlükte yazdığınız 500 kelime efsanesi ile de yakından ilgili, çünkü o 500 kelimeden kasıt, benim aynen burada demek istediğim özgün kavram ve kelime adedine yapılmış bir atıf. Bu konuda günlüğümden size sataşmayı planlıyorum vakit bulduğum an. :)

Zemberek benim istediğim uygulamayı yapma yeteneğine yakın tek çalışma kanımca. Sadece o iş için özellikle yapılandırılmamış o kadar. Kelimeleri çözümleme aşamasından sonra, onları yapım ve çekim eklerinin durumuna göre yeni veya çekimli kelime olarak tanımlayıp sayısını vermesi gerekiyor. Ekler sistematiğinde yapım ve çekim eklerini ayırdetmek zor olmaz gibime geliyor. Böylece Zemberek, kelimeleri salt çözümleme dışında, metin hakkında yorum yapabilen bir uygulamaya dönüşebilir. Çok da güzel olur. :)

Buna ihtiyaç duyan bilişim devi firmalarımız yok, doğru. Ama ülkenin konu ile ilgili bilimsel kadroları genelağ denilen ekonomik, sosyal ve kültürel olgunun geleceğinin bu tür çalışmalarda olduğunu görmesi gerekir.

Gerekir ile "olur" arasında ince ama önemli bir çizgi var öyle değil mi? Ben, ekonomik gelişme söz konusu olmadan bu tür şeylerin ciddi sıçrama yapabileceğini sanmıyorum.

Doğal Dil İşleme çalışmaları, bana göre, akademik çalışma alanına daha çok giriyor.Yani ilgili pek çok bölüm var üniversitelerde, sizin de bildiğiniz gibi bunlar birbirinden habersiz ve tek tük çalışmalara bağlıyken, bunların ortak bir çatıda çalışmalarına yönelik girişimler neden olmasın.

Ayrıca, bu alanda çalışan akademisyenlerin bu tür çalışmaların sağlayacağı yarar hakkında piyasadaki sermaye guruplarını bilgilendirmesi ve kaynakların yönlendirilmesinde katkı sahibi olmasını beklemek çok değil sanırım. Konunun önemine hakim iseler, bu işi onlardan iyi yapabilen olmaz sanırım. Serbest piyasanın tam olarak hakim olduğu ülkelerde, üniversitelerin böyle işlevleri var bildiğim kadarı ile. Bu bakımdan konunun ekonomik tarafının önemine katılıyorum. TUBİTAK ve TDK gibi kurumlar bazı bilişim ile ilgili projelere destek veriyorlar ama doğal dil işleme ile ilgili çalışmaların faydasına yönelik bilgi sahibi olduklarını ve buna yönelik projeleri desteklediklerini söylemek, şu anki duruma bakınca pek mümkün değil. Kendi kurumlarımızı bilgilendiremiyorsak ya biz bilmiyoruzdur ya da çok rahatız demektir.
0
FZ
Şimdi neyi nasıl saymak istediğinizi daha iyi anladım bu örneklerden sonra. O halde işiniz gayet kolay. Halihazırda Zemberek kök ve ek bilgisi veriyor değil mi hemen her sözcük için? İncelemek istediğiniz metni Zemberek çözümleyicisinden geçirip onun çıktısını da bir dosyaya yazdırdıktan sonra bunu awk, sed, perl gibi bir şey ile işlemek ve "filanca kök + ek dizisi varsa bunu yeni sözcük kabul et, yoksa aynı kabul et" demek, bu şekilde programlamak pek zor bir iş olmasa gerek (yani Zemberek'e müdahale etmeye gerek yok, araç zincirinin ilk halkası olabilir ve hatta belki böylesi daha pratik ve modüler olur). Tek kritik kısım sizin kriter koymanız ve filanca ekler ile oluşmuş sözcükleri "yeni" kabul ederim diye liste çıkarma kısmı.

Bu konu aslında sizin günlükte yazdığınız 500 kelime efsanesi ile de yakından ilgili, çünkü o 500 kelimeden kasıt, benim aynen burada demek istediğim özgün kavram ve kelime adedine yapılmış bir atıf. Bu konuda günlüğümden size sataşmayı planlıyorum vakit bulduğum an. :)

Vallahi çok sevinirim. Açıkçası yani ağzı olan insanların dilsel durumlarına dair bir şey söylüyor ve en ufak bir kaynak gösterme yahut araştırma yapma zahmetine katlanmıyor böylece nurtopu gibi şehir efsanelerimiz ağızdan ağıza, kulaktan kulağa, zihinden zihine fütursuzca yayılıyor, şirin şirin ve pek bir şeye dayanmayan "meme"lerimiz, zihin "gen"lerimiz ortaya çıkıyor. Durum bu iken yöntemi ve kriteri apaçık belli, başkaları tarafından da tekrarlanabilecek bir araştırmaya can kurban! ;-)

Bu arada merak ettim biraz araştırdım, insanların günlük sözcük ya da kavram kullanımlarına dair pek istatistik bulamadım, yabancıların da bu konuda kafası karışık gördüğüm kadarı ile: Sex Linked Lexical Budgets, Gabby Guys: The Effect Size.

Doğal Dil İşleme çalışmaları, bana göre, akademik çalışma alanına daha çok giriyor.Yani ilgili pek çok bölüm var üniversitelerde, sizin de bildiğiniz gibi bunlar birbirinden habersiz ve tek tük çalışmalara bağlıyken, bunların ortak bir çatıda çalışmalarına yönelik girişimler neden olmasın.

Neden olsun? Motivasyonları ne olacak? Yurtdışında benzer çalışma yapanların motivasyonları ne? Sadece yayın yapmak mı? Bunu biraz daha dikkatli incelemekte fayda var.

Ayrıca, bu alanda çalışan akademisyenlerin bu tür çalışmaların sağlayacağı yarar hakkında piyasadaki sermaye guruplarını bilgilendirmesi ve kaynakların yönlendirilmesinde katkı sahibi olmasını beklemek çok değil sanırım. Konunun önemine hakim iseler, bu işi onlardan iyi yapabilen olmaz sanırım. Serbest piyasanın tam olarak hakim olduğu ülkelerde, üniversitelerin böyle işlevleri var bildiğim kadarı ile. Bu bakımdan konunun ekonomik tarafının önemine katılıyorum. TUBİTAK ve TDK gibi kurumlar bazı bilişim ile ilgili projelere destek veriyorlar ama doğal dil işleme ile ilgili çalışmaların faydasına yönelik bilgi sahibi olduklarını ve buna yönelik projeleri desteklediklerini söylemek, şu anki duruma bakınca pek mümkün değil. Kendi kurumlarımızı bilgilendiremiyorsak ya biz bilmiyoruzdur ya da çok rahatız demektir.

Neden akademisyen gidip birilerini bilgilendirmek için uğraşsın? Madem serbest piyasa diyoruz, madem Internet ile dünya bir tıklama ötemizde diyoruz, madem cin gibi girişimcilerimiz, büyük işadamlarımız var buyursunlar ortaya talep koysunlar, problem koysunlar, bilimciler de bunu çözmek için deli gibi çalışsınlar, ortaya yayınlar, patentler ve o işadamlarını zengin edecek çözümler çıksın. Akademisyeni de, girişimcisi de kendi açısından bu hareketlilikten fayda sağlasın. Uzun lafın kısası, artık bana öyle geliyor ki gerekli ekonomik coğrafya ve insan kaynağı bir arada olduktan sonra, gerekli pazar da varsa zaten çıkış yapan yapar, ortalık yeşerir, Silikon Vadisi örneğinde olduğu gibi. Öteki türlü ancak zihinsel olarak kendimizi tatmin eder ya da şikayet eder, yahut devlet kurumları bir şeyleri koordine etse ne güzel olacak diye hayıflanırız ve bunun da pek bir manası yoktur.
0
euzkan
türkçede eklerin, köklere nispetle daha kararlı ve kurallı birlikler olduğu açık. bu noktada köklerin türkçe olup olmadığının denetimi, dilin sürekli değişim halinde olması nedeniyle, kapalı bir sözlükle çözülebilir bir problem olmaktan uzak. öyleyse, yalnızca, köklerle eklerin fonetik olarak doğru bitişip bitişmediğini denetlemek yeterli olacaktır. (nasıl yani?) ekleri ise kelimeyi oluşturan harfleri tersten dizerek çözümleyebiliriz. bu bize sözlüğe bağlı olmadan çalışma olanağı verir. bu konuda yapılmış çalışmalar var. (ara: sözlüksüz köke ulaşma yöntemi)

aslında dil tıpkı beynimiz gibi çalışıyor. esnek, değişken ve en az çaba ilkesine göre. dili anlama çalışmalarımızın tümünde dilin bu doğal özelliğini atlıyoruz: sürekli genellemeler yapıyor ve kısıtlar altında çalışıyoruz. örneğin burada da, köklerin değişken, eklerin sabit olduğunu kabul ettik. gerçekte öyle mi? 'bilmiyom' kelimesi türkçe değil mi? ya da 'bilmioyrum'. ilki bir ağız özelliği, ikincisi ise yazışmalarımızda sıkça yaptığımız bir hata örneği. sorunu anlatabildim sanırım. birileri ne zaman deterministik olmayan, bütünüyle beyinle ve dille uyuşan bir dil modeli geliştirecek acaba? fz? yoksa bu konuda da mı çalışıyorlar? :)
0
afsina
Dedginiz yaklasim teoride uygun olsa da (yani sadece koklerin ve eklerin fonetik uygunlugunun turkce kabul edilmesi icin yeterliligi) imla denetimi gibi pratik bir uygulamada ne yazik ki kabul edilebilir bir yaklasim degil. imla denetiminde "saatler" kelimesinin kabul edilmegini dusunun

Sozluksuz koke ulasim yontemi mumkun, ki dediginiz gibi yapilmis calisma da var (geri dogru eklerin siyrilmasi ve kalanin kok kabul edilmesi). Bu yaklasimin avantaji zemberekteki gibi kok agacina ihtiyac duymamasi, daha basit bir kok listesi ile imla denetimi yapilabilir. yalniz bu yaklasimin ascii-turkce donusum ve oneri sistmeine uygunlugundan emin degilim. Zemberekte bu yontemin kullnilmasi ilerlemis asamada dusunulmus, ama vazgecilmisti. bu yontemde de eninde sonunda ortada kalan kelimenin bir sozlukten kontrolu gerekiyor. eger bu yapilmazsa alakasiz kelimelerin turkce kabul edilmesi, ya da alinti turkcelesmis yabanci kelimelerin reddedilmesi soz konusu.

Zemberegin yaklasiminin en iyisi oldugunu sanmiyorum, ama en mekanizmanin nispeten basit oldugunu dusunuyorum. bazen otomatik tespit edilebilecek bazi ozel durumlar elle giriliyor, performans nedeniyle karmasiklasan yerler var ama genel olarak fena degil.

"bilmiyom" kelimesi tukrce dil bilgisi kurallarina uygun degil, ancak bu tur yoresel bozulmalari dikkate alan bir calisma yapilabilir. bunun ne kadar yararli bir calisma olacagindan kuskuluyum acikcasi.

zemberek gelistiricileri daha ileri konularda (ilk asamda coklu kelime deyim cozumleme, cumle analizi gibi ) calismayi istiyor, ama ne yazik ki hayat kosullari simdilik buna musade etmiyor. umarim yakin zamanda bu durum degisir.
0
FZ
Sozluksuz koke ulasim yontemi mumkun, ki dediginiz gibi yapilmis calisma da var (geri dogru eklerin siyrilmasi ve kalanin kok kabul edilmesi). Bu yaklasimin avantaji zemberekteki gibi kok agacina ihtiyac duymamasi, daha basit bir kok listesi ile imla denetimi yapilabilir. yalniz bu yaklasimin ascii-turkce donusum ve oneri sistmeine uygunlugundan emin degilim.

Hatırladığım kadarı ile Oflazer'in ekibindeki araştırmacılardan biri PC-Kimmo [1, 2, 3] için Türkçe kural kümesi oluşturmuştu (ama web üzerinden nasıl erişilir bilmiyorum şimdi).

"bilmiyom" kelimesi tukrce dil bilgisi kurallarina uygun degil, ancak bu tur yoresel bozulmalari dikkate alan bir calisma yapilabilir. bunun ne kadar yararli bir calisma olacagindan kuskuluyum acikcasi.

Sadece bir noktaya dikkat çekmek istedim, söz konusu örnek için "bozulma" denmesinin uygun olmadığını düşünüyorum. Eğer böyle dersek, o şekilde konuşan insanlarının dillerinin "bozuk" olduğunu söylemiş oluruz ki bu da doğal dilin bozuk olduğunu iddia etmek olur.

zemberek gelistiricileri daha ileri konularda (ilk asamda coklu kelime deyim cozumleme, cumle analizi gibi ) calismayi istiyor, ama ne yazik ki hayat kosullari simdilik buna musade etmiyor. umarim yakin zamanda bu durum degisir.

sefalet'e ekonominin büyük olması derken biraz da bunu kast ediyorum.

1- PC-Kimmo
2- Introduction to PC-Kimmo
3- MIT OpenCourseWare - Natural Language and the Computer Representation of Knowledge, Spring 2003 - Week 2 Readings
0
FZ
aslında dil tıpkı beynimiz gibi çalışıyor. esnek, değişken ve en az çaba ilkesine göre. dili anlama çalışmalarımızın tümünde dilin bu doğal özelliğini atlıyoruz: sürekli genellemeler yapıyor ve kısıtlar altında çalışıyoruz.

Tüm fiziksel sistemleri çözümlemeye çalışırken yaptığımız gibi yani. Bir sistemin içindeki esneklik, değişik durumlar, çeşitlilik ve eniyileştirme sonuçları neden genelleme ve kısıtlar ile çelişsin ki?

örneğin burada da, köklerin değişken, eklerin sabit olduğunu kabul ettik. gerçekte öyle mi?

Öyle demeyelim dei köklerin daha çeşitli, farklı dillerden de gelebilen, dile çok daha hızlı girebilen, dilden çok daha hızlı çıkabilen ses grupları olduğunu, eklerin ise çok daha yavaş değiştiklerini söyleyelim. Böylece "ekler köklere göre pratik olarak sabit kabul edilebilir" demek çok yanlış bir şey demek olmaz.

'bilmiyom' kelimesi türkçe değil mi? ya da

Bana sorarsanız, yani anadili Türkçe olan birine, Türkçe derim. Birisi bana "yapmıyom, etmiyom, görmüyom, uçmuyom, susmuyom, ..." deseydi, ben bunu 5 yaşındayken de anlıyordum sözlüğe bakmadan, 30 yaşımda da anlıyorum.

'bilmioyrum'. ilki bir ağız özelliği, ikincisi ise yazışmalarımızda sıkça yaptığımız bir hata örneği. sorunu anlatabildim sanırım. birileri ne zaman deterministik olmayan, bütünüyle beyinle ve dille uyuşan bir dil modeli geliştirecek acaba? fz? yoksa bu konuda da mı çalışıyorlar? :)

Beynin tam olarak nasıl işlediğini bilmiyoruz. Uzun yolculuğun tamamlanmasına daha çok var. Dil için de benzer şey geçerli ancak sanırım bilgisayarla doğal dil işlemek söz konusu olunca daha pratik ve çözüme, performansa yönelik bakmak gerekiyor. Yukarıdaki 'bilmioyrum' örneği, evet bir hata ve insanlar da imla denetçileri de bağlama bakıp pek çok hatayı "düzeltebiliyorlar", öyle değil mi (farklı mimariler ve yöntemler kullanıyor olabilirler, o ayrı)? Diğer yandan DDİ (Doğal Dil İşleme) alanındaki pek çok istatistiksel algoritma olduğunu göz önünde bulundurursak, doğrudan beyin düşünülmemiş olsa da esnek çözümlerin üretilmeye çalışıldığını görebiliriz sanırım.
0
Ono
Valla benim anlamadigim GNU Aspell varken ve Turkce haric 70 dilde sozluk bulundururken neden zemberek yapildi. Linuxun zaten bir spell checker i vardi ve aspell e Turkce sozluk gelistiren var mi bilmiyorum.
0
Zebani
Olmasa daha mı iyiydi? Garip.
0
Ono
Garip olan mesajimi 'Zemberek olmasin aspell olsun' diye anlamaniz. Garip olan Debian'da Aspell icin Oriya dilinin bile wordlistinin bulunmasi, Turkce'nin bulunmamasi.
0
tongucyumruk
Bunun sebebi Türkçe için bir wordlist üretmenin mantıklı bir hareket olmaması olabilir mi?

(bkz: sondan eklemeli diller)
0
FZ
Gizemli "wordlist" sözcüğü ile ne kast ediliyor burada kimse yazmamış ama Türkçe bir kök listesinin tüm GNU/Linux dağıtımlarında bulunması, her ne kadar o liste zorunlu olarak bir miktar eksik bir liste olacak olsa da, herhalde zararı değil faydası olurdu.

Bilindiği kadarı ile TDK, AB'nin ittirmesi ile (TC vatandaşlarının ittirmesi şimdiye dek yeterli olmadı çünkü) belki birkaç sene içinde bazı şeylere karşı aşırı korumacı yaklaşımını bırakacak, ama belki o zamanı beklemeyip birileri Zemberek'in sözlüğündeki sözcük listesini alıp bir sözcük listesi olarak büyük dağıtımlardan birine katabilir ve diğer dağıtımlara da yayılabilir ve biz de bu gariplikten kurtulmuş oluruz.
0
Zebani
".....neden zemberek yapildi." Garip olan bu olsa gerek. Şu dururken niye Zemberek yapıldı diyen sizsiniz.

"Zemberek olmasin aspell olsun" diye anladığımı sanmıyorum, bu sizin kendi yorumunuz.
0
afsina
bunun cesitli nedenleri var. oncelikle saniyorum aspell'in yapisi turkceye uygun degil. ozellikle ozel durumlar nedeniyle. Eger uygun olsaydi zaten yapilirdi herhalde onca yilda. ikincisi zemberegin asil amaci aslinda sadece imla denetimi degil farkli dil konularinda da islevler sunmak idi. Arti linux'a ozel bir calisma da degil yapilanlar. Sadece imla denetimi olsa bugun eklemeli dillere uygun hazirlanmis HunSpell gibi bir kutuphane kullanilarak sanirim turkce icin bir gercekleme aspell'e gore cok daha kolaylikla gerceklestirilebilir. Bu konuda kimseyi tutan da yok acikcasi, keske birisi yapsa. yalniz ozel C++ kodu yazmak gerekebilir bu da daha ust seviye dillere gore eziyet.

Görüş belirtmek için giriş yapın...

İlgili Yazılar

Hibernate Üzerine Bir Sunum

malkocoglu_2

Tüm zamanların en başarılı kalıcılık (persistence) aracı Hibernate hakkında şirket bünyesinde yaptığımız bir sunumu paylaşıyoruz. Sunum, Hibernate'in en temel özelliklerinden başlayarak sorgulama, önbellekleme, veri tabanı bağlantı havuzları gibi kavramları kapsamaktadır. Hibernate hakkında ek bir haber de, JBoss gurubunun, Hibernate projesine sponsor olmaya karar vermiş olmasıdır ve Hibernate kurucu elemanları artık JBoss şirketinde çalışmakta, açık yazılım ürünlerine verdikleri servis üzerinden para kazanmaktadırlar. İşte bir diğer açık yazılım başarı hikayesi!

Not: Bu sunum da Gnu Emacs ve LateX ile hazırlanmıştır. :) Latex kodlarından derlenmiş slaylatların animasyon ile birbirinden geçiş yapabilmesi hoşunuza gidebilir.

Powerpoint?

O da ne?

Visual Studio Zihninizi Çürütür Mü?

FZ

Yaklaşık 30 yıldır program yazan ve Microsoft Windows programlama kitapları ile saygı duyulan isimler arasında yer alan Charles Petzold'un son makalelerinden Does Visual Studio Rot the Mind? Ruminations on the Psychology and Aesthetics of Coding son zamanlarda okuduğum en güzel yazılardan biri.

Petzold, kullanılan araçların insan düşüncesini inceden inceye nasıl şekillendirdiğine dair mükemmel örnekler vermekle kalmıyor, aynı zamanda konuyu tarihsel bir bakışla da değerlendirip çarpıcı tespitlerde bulunuyor. Sadece Microsoft kullananların, sadece C++ ya da C# kodlayanların değil, GNU/Linux, Java ve VS.NET haricinde IDEler kullananların da okumasında fayda olan bir yazı.

Open Source Development with CVS, 3rd Edition

anonim

CVs konusundaki bir soruma yanıt ararken rastladım bu kitaba. Benim gibi CVS ye yeni başlayanlar için herşeyi sıfırdan alarak hayat kurtaran bir kitap. Karl Fogel ve Moshe Bar ın yazdığı bu kitabı CVS kurması yönetmesi veya kullanması gereken herkese tavsiye ederim.

Ah.. En iyi kısmı yazmayı neredeyse unutuyordum. Kitabı bu adresten ücretsiz olarak indirebilirsiniz.

Dilbilim ve Linux Buluşması: Morphix-NLP İncelemesi

FZ

DDİ (Doğal Dil İşleme, NLP - Natural Language Processing) yaklaşık son 40 yıldır önemli bir araştırma disiplini olagelmiştir. Dilbilim ve bilgisayar bilimleri yöntemlerini bir araya getiren bu alanda pek çok değişik uygulama ve çözüm bekleyen önemli problemler mevcuttur. Farklı dillerdeki çok büyük metin dosyalarını incelemek, örüntüleri (pattern) keşfetmek, dönüşümleri gerçekleştirmek, metinleri otomatik olarak sınıflandırmak, konuşma sentezlemek ve konuşmayı anlayıp metne dönüştürebilmek, bilgisayarları bizim anadilimizi anlayabilir hale getirmek yani onlara semantik yetiler kazandırmak, vs. DDİ dalındaki önemli meselelerden sadece birkaçıdır.

Yazıcıdan Güzel Kod Basmak (Pretty Print)

malkocoglu

Kod gözden geçirme (code review) toplantılarında olmazsa olmaz olan "2 kod sayfası bir yazıcı sayfasına" denk gelecek, ve her satırın numaralı olacak şekilde gosteren bir yazıcı çıktısıdır. Bunun için kullanılan enscript programının kuruluşu, Ghostview, Ghostscript ve Emacs ile yapılan bağlantılarının nasıl olacağını aşağıdaki yazıda anlatılmıştır.

http://www.bilgidata.com/yazi.jsp?dosya=a_enscript.xml