Türkçe bir “chatbot”, Türkçe bir sohbeti anlayabilen ve analiz edebilen bir programdır. Günümüzde bu chatbotlar, insanlar ve bilgisayarlar arasında oldukça akıcı bir diyalog kurabiliyor.

Doğal Dil İşleme (NLP - bu metinde kısaca Dİİ olarak anılacaktır) alanındaki son gelişmeler, Türkçenin kendine özgü özelliklerini dikkate alarak Türkçe chatbotların oluşturulmasını mümkün kılıyor. Bu gelişmeler, yalnızca dilin yapısını değil, aynı zamanda kelimelerin anlamını ve bağlamını da anlamak için Makine Öğrenimi (ML) kullanıyor.

Yapay Zeka ile Türkçe Chatbot Oluşturmak

Portekizce, dünyada en çok konuşulan altıncı dildir; konuşanların yarısı Brezilya'da yaşar ve tüm Latin dillerine yakın olmasına rağmen iki önemli özelliği vardır:

  • Birçok yanıltıcı benzer kelime (sahte eşdizimliler) vardır; bunlar görünüşte benzer, ancak anlam olarak farklıdır. Örneğin, pt_PT'de 'propina' aylık ödeme anlamına gelirken, pt_BR'de rüşvet anlamındadır. Hatta Brezilya'nın kendi içinde bile kelimeler anlam değiştirebilir: ülkenin kuzeydoğusunda 'cabra' kelimesi bir erkeği tanımlamak için kullanılırken, ülkenin geri kalanında sadece hayvan anlamındadır.
  • Yoğun bağlam kullanımı, Portekizce chatbotların yorumlama işini oldukça zorlaştırır. 'Chega' kelimesi bir fiil ("ela chega amanhã" - "o yarın geliyor") veya bir isteği ("chega dessa conversa" - "bu konuşma yeter") ifade edebilir.

Ayrıca, farklı ülkelerdeki konuşurlar arasında tamamen farklı deyimler bulunur ve bu da bazen tüm cümlelerin anlaşılmasını oldukça zorlaştırır.

Bu özellikler, Portekizce bir sohbetin işini zorlaştırıyor mu? Hiç şaşırtıcı değil, cevap evet.

Türkçe Chatbot: Dİİ Zorlukları

Yukarıda belirtilenler, Portekizce chatbotlarda Doğal Dil İşleme için bazı zorluklar ortaya çıkarır. Doğal Dil İşleme algoritmalarının ilk adımı, dili anlamak yani cümleleri küçük anlam birimlerine, yani 'token'lara ayırmaktır. Bu işleme 'tokenizasyon' denir (bu arada, Brezilya Portekizcesinde yabancı kelimeleri alıp Portekizceleştirmek yaygındır). Dil ne kadar sistematik ve düzenliyse, tokenizasyon da o kadar kolay olur.

PLN’deki son gelişmelerin ne anlama geldiğini anlayabilmek için önce PLN anlama modellerinin nasıl oluşturulduğunu bilmemiz gerekir.

Geçmişte

Bir Portekizce chatbotun (veya herhangi bir dilde) nasıl yapıldığını anlamak, bir anlamda zamanda yolculuk yapmak gibidir.

Dilin öngörülemezliğiyle başa çıkmak için yapılan ilk araştırmalar 1940’lı yıllara dayanır; Massachusetts Teknoloji Enstitüsü’nden nöroanatomi uzmanı ve psikiyatrist Warren McCulloch ile Illinois Üniversitesi’nden matematikçi Walter Pitts’in makalelerinde bulunabilir. Onlar, John von Neumann’ın 1940’ların sonunda yazdığı “The General and Logical Theory of Automata” adlı çalışmasına teorik temel oluşturdular.

Bilgisayarların giderek artan işlem gücüne ulaşmasını sağlayan gelişmeler, PLN araştırmalarını bilimsel laboratuvarlardan, yeni teknolojilerin günlük kullanımına yönelik araştırmalar yapan şirket ve kamu laboratuvarlarına taşıyan diğer bir temel oldu.

PLN’nin tarihi esasen 1950’lerde başlar; Alan Turing’in “Computing Machinery and Intelligence” makalesi, bugün Turing Testi olarak bilinen zeka kriterini ortaya koydu.

Ancak 1980’lerin sonundan itibaren, dil işleme için makine öğrenimi algoritmalarının kullanılmasıyla PLN’de bir devrim yaşandı. Bu, hem bilgisayar gücünün sürekli artması hem de “Chomskyci” dilbilim teorilerinin etkisinin azalması sayesinde oldu; çünkü bu teoriler, makine öğrenimine dayalı dil işleme yaklaşımının temelini oluşturan dilsel veri kümelerinin oluşturulmasını engelliyordu. Bu otomasyon, cümlelerin daha küçük parçalara bölünüp, bu parçalar arasındaki ilişkilerin istatistiksel kurallarla kataloglanıp tanımlanmasıyla sağlanıyordu. Bu işleme, yukarıda detaylandırılan “tokenizasyon” denir.

Ancak, bir dili tokenleştirmek, PLN araştırmacısının yoğun manuel müdahalesini gerektiriyordu. Her dil, bağımsız ve esasen elle tokenleştiriliyordu.

Bu tokenizasyon işi, bağlama çok bağlı dillerle çalışan botlar için özellikle zordu, tahmin edebileceğiniz gibi.

Dil tokenleştirildikten sonra, yapay zeka algoritmaları dili anlamak, yani dildeki kelimelerin birbirleriyle nasıl ilişkili olduğunu gösteren bir anlam haritası oluşturmak için kullanılabiliyordu.

Eğer tokenizasyon güvenilir olsaydı, bu anlama aşaması otomatikleştirilebilirdi. Ancak sorun, tokenizasyonun karmaşık olmasıydı; bu nedenle, anlama algoritmaları da tokenizasyonla birlikte manuel olarak ayarlanmak zorundaydı.

Ve sonuçlar pek iyi değildi. Örneğin, Portekizcenin anlama seviyesi İngilizceye kıyasla ortalamaydı. Elbette İngilizce araştırmalara her zaman daha fazla odaklanılmıştı, ancak Portekizcedeki bağlam zorlukları iyi sonuç alınmasını engelliyordu.

Yapay zeka araştırmacıları doğal olarak, tokenizasyonun da makine öğrenimiyle yapılabileceğini sorguladılar. Böylece tokenizasyon ve anlama algoritmaları, altta yatan dilden bağımsız (dil agnostik) hale gelebilir ve yapay zekanın eğitimi çok daha hızlı ve iyi olabilirdi.

Yapay Zekadaki Son Gelişmeler

Ve işte bu noktada, 2018’in sonunda bir yenilik gerçekleşti: Yapay zeka, hiçbir manuel müdahale olmadan Portekizce olarak eğitilebiliyordu ve bunun sonucunda NLP performansı çok daha iyi hale geldi.

Portekizce chatbotlar için yapay zeka platformları anında çok daha iyi hale geldi ve Portekizcedeki anlama seviyesi, diğer dillerde ulaşılan seviyeye yaklaştı.

Bu gelişmenin yaşanmış olması, Portekizce chatbotların genel kalitesinin anında arttığı anlamına gelmiyor. Bu avantajların müşterilere yansıması için, yapay zeka kullanan chatbot platformlarının algoritmalarını en yeni teknolojilere güncellemesi gerekiyordu.

Önceki teknolojiye yapılan yatırımlar nedeniyle, bu platformlar bunu hemen yapmadı.

Ayrıca, Portekizce chatbotların son kullanıcıya iyi bir deneyim sunabilmesi için platformların bazı özellikleri uygulaması gerekiyor. Örneğin, eşanlamlı blokların oluşturulması ve farklı bağlamlarda kullanımlarının haritalanması, böylece chatbotun bir kelimeyi, kullanıldığı bağlamdan farklı bir anlamda algılamasını önlemek gibi.

Çok dilli platform

Piyasadaki farklı platformlarda birden fazla dille çalışmak zor olabilir. Bazı platformlar, farklı dillerdeki chatbotların ayrı botlar olarak oluşturulmasını gerektirir ki bu, ölçeklenebilirlik ve bakım açısından verimsizdir.

Bu nedenle, iyi bir platform gerçekten çok dilli olmalı ve kullanıcı arayüzünde aynı içeriğin birden fazla çevirisine izin vermelidir.

Ayrıca, dilin sohbetin bir değişkeni olarak tanımlanması gerekir ki, yapay zeka dili doğru şekilde algılayabilsin ve diyalog tasarımcıları mantığı bu dile göre kurgulayabilsin.

Dile özgü işlevlerin yanı sıra, herhangi bir dilde harika bir chatbot oluşturmak için platformun genel işlevselliği de mükemmel olmalıdır. Burada iki önemli işlevsellik kategorisi vardır.

  • Birincisi, genel doğal dil anlama teknolojisidir (yukarıda belirtildiği gibi NLP algoritması). İyi performans gösteren bir platform yalnızca dilden bağımsız olmakla kalmaz, aynı zamanda alttaki NLP algoritması en yeni teknolojiyi kullanır ve genel olarak iyi çalışır. Platformun, NLP ile ilgili slot doldurma (bir bağlamdan anahtar/değer formatında bilgi çıkarma) ve diyalog bağlamına göre niyet eşleştirme gibi işlevlere sahip olması önemlidir.
  • İkinci kategori ise platformun genel işlevselliğidir. Tasarımcıların, son kullanıcılar için son derece tatmin edici chatbot deneyimleri oluşturmasını kolaylaştırmalı, eski ve üçüncü parti sistemlerle kolay entegrasyon sağlamalıdır. Eğer bu işlevsellik yoksa veya kullanımı kolay değilse, Türkçe olması bir anlam ifade etmez.

Son olarak, son kullanıcı için oluşturulan chatbot deneyiminin kalitesi, kullanılan aracın gücüyle doğrudan ilişkilidir; bu, dilin anlaşılmasından grafik/metin arayüzüne kadar her aşamayı kapsar.

Portekizce'de En İyi Chatbotu Oluşturmak

İyi bir platforma sahip olunsa bile, Portekizce bir chatbot oluştururken hâlâ bazı zorluklar vardır. Yapay zeka alanında Portekizce çalışmalar sınırlı olduğundan, doğru kaynakları bulmak oldukça zahmetli olabilir.

NLP'nin temel algoritmalarını yazmak için kaynak bulmak gerekmese de (çünkü bunlar hazır gelir), Portekizce chatbotun hizmet vereceği farklı gruplar arasındaki deyimsel farklılıkları bilen yetkin tasarımcılar bulmak zor olabilir. Bu, özellikle Portekizcede bağlama dayalı deyimlerin yaygınlığı nedeniyle geçerlidir.

Bu nedenle, chatbot platformunun içeriğin ve çevirilerin teknik bilgisi olmayanlar tarafından kolayca güncellenip yönetilebilmesini sağlaması önemlidir; çünkü tasarımcılar ve geliştiriciler, Portekizcenin farklı kullanımlarındaki kültürel ayrıntılara hâkim olmayabilir.

Elbette, kaliteli Portekizce chatbotların daha doğru hale gelmesi, bu teknolojinin önümüzdeki yıllarda daha fazla benimsenmesini sağlayacaktır. Artan benimseme, kaynak kısıtı sorunlarını çözecek ve potansiyel alıcıların en iyi sonuçlara ulaşmak için en iyi uygulamaları net bir şekilde görmesini sağlayacaktır.

Özet

NLP teknolojisindeki yenilikler yalnızca Portekizce chatbotlara değil, diğer yapay zeka uygulamalarına da uygulanıyor. Artık Portekizce yapay zekayı farklı şekillerde kullanan çok yönlü sistemler görüyoruz; haber ve yorumlarda duygu analizi, özetleme veya daha önce sadece insanlar tarafından yapılabilen metin üretimi gibi. Genellikle, Portekizce bir chatbot yalnızca farklı yapay zeka teknolojileri için bir kullanıcı arayüzü olarak değil, aynı zamanda son kullanıcılara web siteleri veya uygulamalar gibi diğer sistemleri kullanmada yardımcı olmak ya da alışveriş danışmanı ve/veya karar destekçisi olarak da kullanılır.

Elbette, Portekizcede NLP'nin gücünde önemli bir sıçrama yaşansa da, sonuçlar her zaman daha iyi olabilir. Araştırmalar NLP motorlarını geliştirmeye devam ediyor ve şüphesiz yeni ilerlemeler olacak. NLP insan seviyesine ulaşana kadar yapılacak işler olacak.

NLP motorları için bir sonraki adım, dil fark etmeksizin çok adımlı diyaloglarda daha iyi performans göstermektir. Bu, bir insanın botla belirli bir konu alanında çok adımlı bir sohbet yapabilmesi anlamına gelir; sadece komut veya soru sormakla sınırlı kalmaz. Chatbot platformları için bir sonraki adım ise çok adımlı diyalogların oluşturulmasını kolaylaştırmaktır.

Çok adımlı diyaloglar, özellikle Alexa gibi sesli arayüzler veya Google Home gibi cihazlar için önemlidir.

Makine öğrenimiyle yönlendirilen tokenizasyon ve Portekizcede NLP'ye etkileri üzerine gelişmeleri tartıştık, ancak ilgili bir konu da Portekizcede konuşmadan metne dönüştürmedir. Portekizcede konuşmadan metne dönüşüm hâlâ diğer dillere göre gelişme aşamasındadır – performans farkları hızla azalsa da. Burada anlatılan ve dünyada yapılan NLP ilerlemelerinin, yakın gelecekte bu farkı daha da azaltmasını bekliyoruz.