Konu başlıkları: SPOKEN DIALOGUE SYSTEMS Sesli Diyalog Sistemleri nedir? Sesli Diyalog Sistemleri nde veri akışı Sesli Diyalog Sistem kategorileri Semih Emre ÜNLÜ 2008639036 Sesli Diyalog Sistemleri nin sınıflandırılması Sesli Diyalog Sistemleri nin tasarım isterleri ve ölçütleri Sesli Diyalog Sistem nedir? [6] Sistem kullanıcısının doğal bir dille ürettiği sorgulara cevap veren, kullanıcının yararlı yanıtları almasını sağlayan sistemdir Sesli Diyalog Sistemi nedir? Sesli Diyalog Sistemleri kullanıcı ile bilgisayar tabanlı bir uygulama arasında bir arayüz sağlar Sesli Diyalog Sistemleri doğal bir uygulama ortamı ve sözlü etkileşim sağlamayı amaçlar Sesli Diyalog Sistemleri [6] Sesli Diyalog Sistemleri insanların konuşarak makinelere bilgi verme, makinelere işlem yaptırma vb amacıyla kullanılır Tercih edilmesinin temel sebebi ise verimli ve maliyetinin az olmasıdır Günümüzde neredeyse her alanında kullandığımız sesli diyalog sistemleri, hayatımızı bir çok alanda kolaylaştırmaktadır Sesli Diyalog Sistemleri kullanım alanları [2] Kumanda kontrol Sesli yanıt sistemleri Çağrı merkezleri Otomatik sekreter Yardım servisleri Mobil ticaret Akıllı evler Web portalları Sesli arama (VAD) 1
Sistemin veri akışı [2],[4],[6] Sinyal işleme Konuşma tanıma Anlam çözümleme Konuşma tercümesi Sesli Diyalog Sistemleri nde veri akışı Kullanıcı Diyalog yöneticisi Ses sentezi Cevaplama Sistemin veri akışı [4],[6] Sinyal işleme [2],[4],[6] Birinci bölüm Sinyal işleme Konuşma tanıma Akustik modelleme Dil modellemesi Şifre çözme Anlam çözümleme İkinci bölüm Konuşma tercümesi Konuşma ş yorumlama Diyalog yönetimi Cevap oluşturma Diyalog değerlendirme Veri toplama Ses dosyasını bir dizi ses dalgasına dönüştürme ve sesin akustik özniteliklerini çıkarma Konuşma tanıma [2],[4],[6] Özniteliklerden faydalanarak kelime dizesine dönüştürme işlemidir Kullanıcının konuştuğu metinde bulunan ifadeler bir ses bilgisi ve fonetik kurallar içerir Konuşma tanıma konusunda karşılaşılan genel zorluklar; konuşma dili, hoparlör nedenli parazitler, sürekli olarak spontan konuşma, kullanılan kanal nedenli sorunlar olarak gösterilebilir Anlam çözümleme [2],[4],[6] Oluşturulan kelime dizesinin neyi ifade ettiğini belirleme Anlamlandırma işlemi yapılırken morfoloji, söz dizimi ve anlambilim bilim dallarından faydalanılır Kullanıcının söylediklerinin hatasız anlaşılabilmesi için söylenen kelimelerin sağlam bir ayrıştırma mekanizmasından geçmesine bu aşamada ihtiyaç duyulur 2
Konuşma tercümesi [2],[4],[6] Önceki diyalog seyride kullanılarak kullanıcının tam olarak neyi istediğinin belirlenmesi Dil çözümlemesi yapılırken alınan kelimeler diyalog yöneticisi tarafından bir anlamlandırma aşaması görür Diyalog yöneticisi [2],[4],[6] Kullanılan diyalogları tüm yönleri ile yöneten birimdir Kullanıcının niyetine bağlı olarak sistemin hedeflerinin ve karşılıklarının belirlenmesi işlemini yapar Kullanıcının söylediği kelimelerde semantik, söyleyiş vb kategorilerde uygunluğunu kontrol eder Diyalog yöneticisi kullanıcıyla konuşarak veri tabanından sorgulama yapabilmek için gerekli veriyi toplamaya ve faydalı bir cevap üretmeye çalışır Sistemin tepkilerini ayarlayan birimdir Diyalog yöneticisi [2],[4] Cevaplama [2],[4],[6] Kullanıcının duyduğu sesli yanıtın hazırlanma kısmıdır Diyalog yöneticisi Kullanıcı veri detayları (müsteri numarası, fatura dönemi) Kullanıcıdan alınan verilerin değerlendirilmesi sonucu, daha önce hazırlanmış bir şablon içerisinde kullanıcıya cevap verilmeye hazırlanılır kullanıcı Veri tabanı Bu aşamada şablon yuvalarına alınan verileri ekleme ve aktarma gibi basit yöntemler kullanılır Ses sentezi [2],[4],[6] Kullanıcının verileri aktardığı formun yanıtını kullanıcıya aktardığı kısımdır Daha önce oluşturulmuş şablon yuvalarında bulunan bilgiler kullanıcıya aktarılır Sesli Diyalog Sistem kategorileri Bu aşamada 2 yöntem kullanılabilir 1 Önceden kaydedilmiş ses kayıtlarının birleştirilmesi ile verilen yanıt şeklidir 2 Oluşturulmuş olan metnin sistem tarafından kelime kelime okunması işlemidir 3
Diyalog sistem kategorileri [2] Tuşlama alternatifi Tuşlama opsiyonu yerine rakamı söyleme opsiyonu Bankacılık işlemleri için 1 tuşlayınız veya söyleyiniz Yönlendirilmiş Diyalog Kullanıcı sistem tarafından sınırlı bir çerçevede cevap vermeye yönlendirilir Doğal Diyalog sistemleri Kullanıcı olabildiğince serbest bırakılarak insanla nasıl konuşuyorsa aynı tarzda isteklerini belirtebilir Tuşlama alternatifli diyalog sistemi örneği Sistem: müşteri hizmetlerine hoşgeldiniz To continue in English press nine Sistem: Kayıp, çalıntı bildirimi için 1 i, kampanyalar hakkında bilgi almak için 2 yi müşteri hizmetlerine bağlanmak için 0 ıı tuşlayınız Kullanıcı: 1 Sistem: Lütfen telefon numaranızı başında sıfır olmadan tuşlayınız ve ardından kare tuşuna basınız Kullanıcı: 5XX8X85X8X Yönlendirilmiş diyalog örneği Sistem: Lütfen bağlanmak istediğiniz şubemizin adını söyleyiniz Kullanıcı: Kuruköprü Sistem: Lütfen bağlanmak istediğiniz birimimizin adını söyleyiniz Kullanıcı: Bilgi işlem Doğal diyalog örneği Sistem: Merhaba santrali size nasıl yardımcı olabilirim? Kullanıcı: Kuruköprü şubesiniz bilgi işlem biriminden Ahmet beyi bağlar mısınız? Sistem: Telefonunuzu istediğiniz hatta aktarıyorum lütfen bekleyiniz Doğal diyalog örnek video: [7],[8] Apple Introducing Siri on iphone 4S Sesli Diyalog Sistemleri nin sınıflandırılması 4
SDS nin sınıflandırılması [4], [6] Kullanıcı ile diyaloğu kontrol etmek için kullanılan yönteme göre Sesli Diyalog Sistemleri: 1 Sonlu durum (veya grafik) tabanlı sistemler 2 Kare tabanlı sistemler 3 Etmen Tabanlı sistemler SDS nin sınıflandırılması -2- [4], [6] Doğrulama türüne göre sınıflandırma: 1 Açık doğrulama 2 Örtülü doğrulama İnisiyatif türüne göre 1 Kullanıcı inisiyatifinde kullanım 2 Sistem inisiyatifinde kullanım 3 Karışık inisiyatifli kullanım Sonlu durum veya grafik tabanlı sistemler (Finite State Based Systems) [4],[6] Kullanıcının oluşturduğu diyalog dizisi daha önceden belirlenmiş aşamalar yoluyla alınır Diyalog akışı çeşitli seçenekli yolları gösteren geçişlerle l diyalog grafiği üzerinde diyalog durumlarının alt kümesi olarak belirtilir Sonlu durum veya grafik tabanlı sistemler (Finite State Based Systems) Örnek: Sistem: Bulunduğunuz şehrin adı nedir? Kullanıcı: Kayseri Sistem: Kayseri bilgisi doğru mudur? Kullanıcı: Evet Sistem: Hangi gün yolculuk yapmak istersiniz? Kullanıcı: Cumartesi Sistem: Cuma bilgisi doğru mudur? Kullanıcı: Hayır Sistem: Hangi gün yolculuk yapmak istersiniz? Seyahat zamanını doğrulama Yer belirleme Yer bilgisini i i i onaylama Seyahat zamanını öğrenme Sonlu durum veya grafik tabanlı sistemler (Finite State Based Systems) [4],[6] Sistemi oluşturması basittir Her durum için gerekli olan kelime ve dilbilgisi önceden belirlenmelidir Kullanılan dil anlaşılırdır konuşma tanıma daha kolaydır Çerçeve tabanlı sistemler (frame based systems) [4],[6] Sistem oluşturduğu şablon yuvalarını doldurabilmek için kullanıcıya sorular sorar Di l k d h ö d i t t f d Diyalog akışı daha önceden sistem tarafından belirlenmiştir Bu sistem soru sormak ve kullanıcıdan aldığı bilgileri doğrulamak için kullanıcıyı sınırlar Kullanıcı ve sistem arasında geçen diyaloglar doğal değildir 5
Çerçeve tabanlı sistemler (frame based systems) Örnek: Sistem: Bulunduğunuz şehrin adı nedir? Kullanıcı: Kayseri Sistem: Lütfen Kayseri şehrinden yolculuk yapmak istediğiniz tarih ve saati söyleyin Kullanıcı: 20 Kasım saat 9 da Adana ya Sistem: 5 Ocak tarihine kadar tüm seferlerimiz doludur Sistem: Lütfen Kayseri şehrinden yolculuk yapmak istediğiniz tarih ve saati söyleyin Çerçeve tabanlı sistemler (frame based systems) [4],[6] Sistem kullanıcıdan daha hızlı ve daha bilgilendirici cevaplar alır Bu sistemde kullanıcı ve sistem arasında doğala ğ yakın bir diyalog oluşur Konum: Kayseri Hedef: Adana Tarih: Saat: Etmen tabanlı sistemler (agent based systems) [4],[6] Kullanıcı ile sistem arasında diyalog gerçekleşirken, sistem söylenen kelimelerden gerekli gördüğü bir kısmını seçer Sistemde daha önceden belirtilmiş olan mantık kurallarına göre kullanıcıdan aldığı kelimeler ile cevabını oluşturur Sistemde oluşturulan cevap kullanıcının konuşması esnasında dinamik olarak gerçekleştirilir Etmen tabanlı sistemler (agent based systems) Örnek: Kullanıcı: Adana şehrinde iş arıyorum Adana da banka memuru ihtiyacı var mı? Sistem: Belirttiğiniz şehirde aradığınız iş için ihtiyaç bulunmamaktadır Kayseri veya Mersin şehrinde çalışmak ister misiniz? ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- Kullanıcı: Otobüs seferleriniz sabah saat kaçta başlıyor? Sistem: Firmamızın otobüs seferleri sabah 8:00 de başlamaktadır Etmen tabanlı sistemler (agent based systems) [4],[6] Kullanıcının kurduğu karmaşık bir cümle sonrasında bile bu sistem sayesinde doğal bir diyalog gelişebilir Sistemin i anahtar kelimeleri l i tespit etmek ve bu sistemi i oluşturmak oldukça zordur İnisiyatif türüne göre sınıflandırma [6] Sistem inisiyatifinde kullanım: Sistem her zaman kontrole sahip olan taraftır Kullanıcı sadece sistemin sorduğu sorulara yanıt verir Kullanıcı inisiyatifinde kullanım: Kullanıcı kontrolü elinde bulundurur Sistem her zaman pasiftir ve kullanıcının sorduğu sorulara cevaplar verir Karışık inisiyatifli kullanım: Sistem karışık inisiyatifli kullanımı, kullanıcı ile arasına sabit kontrol kuralları koyarak gerçekleştirilir Sistem önceden belirlenen kurallar dahilinde inisiyatifi alır ya da kullanıcıya verir 6
SDS tasarımında karşılaşılabilecek zorluklar [6] Sistemin planlanması ve gerçeklenmesi Sesli Diyalog Sistemleri nin tasarım isterleri ve ölçütleri Sözcük çakışmalarının tespiti Kullanıcı tarafından söylenenlerin doğru anlaşılamaması Kullanıcının anlam yönünden hatalı cümleler kurması sonucu sistemin yanlış yönlendirilmesi Kullanıcının sistemle parazitli ve/veya sorunlu bir ortam ile haberleşmeye çalışması SDS tasarımında olması gereken başlıca çözümler [6] Sesli diyalog sistemleri, hataları ve yanlış anlamaları algılamalı ve bu durumda hataları ve yanlış anlamaları kurtarması gerekir Konuşma tanımada oluşan belirsizliklerde doğruluk puanlaması sistemi kullanılarak belirsizliğin ğ önüne geçilebilir Söylemlerde etki alanı önceki ifadelerden faydalanarak, söyleyiş çatışmalarının ve tutarsızlıkların önüne geçilebilir Sistemin yapabileceği olası hatalarını düzeltebilmesi için bir onarım planının olması gerekir SDS nin performans ölçütleri [2], [6] Kritik kelimelerde yakalama/yanlış alarm oranı Diyalogdaki karşılıklı konuşma sayısı Diyalogda doğrulama/düzeltme oranı Yapılan çağrının toplam süresi Başarılı işlem oranı Kullanıcı memnuniyeti Referanslar: [1] Spoken dialogue technology: toward the conversational user interface - Michael McTear [2] Dördüncü Bilgi İşleyen Makine Olarak Beyin Beyin 2008 Albert Long Hall, Boğaziçi Üniversitesi 4-5 Nisan 2008 Sesli İnsan - Makina Sistemleri [3] Spoken Dialogue Systems Technology and Design - Wolfgang Minker, Joseph Mariani [4] Tutorial on Spoken Dialogue Systems: http://wwwcolloquialcom/carp/publications/acl99ppt [5] Carberry, Sandra: Plan Recognition in Natural Language Dialogue, ACL-MIT Press Series on Natural Language Processing, MIT Press, 1990 Beni dinlediğiniz için teşekkür ederim [6] Spoken Dialogue Systems SIG-AI Fall 2003 By: Sachin Kamboj Spoken Dialogue Systems October 6, 2003 http://wwwcisudeledu/~kamboj/presentations/sigaisdsppt [7] Introducing Siri: http://wwwapplecom/iphone/features/sirihtml [8] Siri video: http://wwwyoutubecom/watch?v=rnsrl86inpo 7