Dialogflow destekli RBM aracısı oluşturma (Temel)

Bu codelab'de, RBM temsilcisini kod yazmadan desteklemek için diyalog arayüzü oluşturmak üzere Dialogflow'u nasıl kullanacağınızı öğreneceksiniz.

Bu codelab'de neler oluşturacaksınız?

  • RBM temsilcisinin görüşmesini destekleyen bir Dialogflow aracısı
  • Kurgusal bir pizza restoranında kullanıcılara bir indirim teklifi sunan ve restoranın menüsüne bakmalarını sağlayan sohbet arayüzü

Neler öğreneceksiniz?

  • Dialogflow'un ana yapısının, diyalog arayüzü oluşturma niyeti nasıl kullanılır?
  • Kullanıcılara zengin bir RBM deneyimi sunmak için Dialogflow'dan RBM yanıt türleri oluşturma

Gerekenler

  • RBM platformu Google hesabınız

İlk temsilcinizi oluşturun ve sorgulayın

Süre: 30:00

İlk Dialogflow aracınızı oluşturun

Dialogflow aracısı oluşturmak için:

  1. Yeni bir sekme açın ve Dialogflow'da oturum açın.
  2. Sol gezinme menüsünden Aracı oluştur'u tıklayın.

  3. Aracınızın adı için "CodelabRBMPizzaPlace" varsayılan dil olarak ""İngilizce"yi girin ve varsayılan saat dilimini saat diliminize ayarlayın.

  4. Oluştur'u tıklayın.

Dialogflow konsolu

Şimdi Dialogflow konsolunu görürsünüz. Daha küçük bir ekranda çalışıyorsanız ve sol gezinme çubuğu gizlendiyse sol üst köşedeki gezinme düğmesini tıklayın. Ayarlar düğmesi sizi mevcut temsilcinin ayarlarına götürür.

Sayfanın ortasında, temsilcinin amaçlarının listesi gösterilir. Varsayılan olarak Dialogflow aracıları iki niyetle başlar. Temsilciniz, kullanıcılarınızın ne dediğini anlamadığında Varsayılan Geri Dönüş Niyeti ile eşleşir. Varsayılan Karşılama Niyeti kullanıcılarınıza selam verir. Deneyimi özelleştirmek için bu niyetleri değiştirebilirsiniz.

Sağda Dialogflow simülatörü bulunur. Bu sayede mesajları söyleyerek veya yazarak temsilcinizi deneyebilirsiniz.

Temsilcinizi sorgulama

Dialogflow aracıları en iyi şekilde NLU (Natural Language Understand) modüller olarak tanımlanır. Bunlar; doğal kullanıcı isteklerini uygulanabilir verilere dönüştürmek için uygulamanıza, ürününüze veya hizmetinize dahil edilebilir.

Müşteri temsilcinizi deneme zamanı! Sağdaki simülasyon aracında Şimdi deneyin yazan metin alanını tıklayıp "Hi&quot" yazın ve Enter tuşuna basın.

Dialogflow sorguyu tanımlar, Varsayılan Karşılama Niyeti ile eşleşir ve genel bir karşılama mesajıyla yanıt verir. Dialogflow, bazı örnek karşılama mesajlarıyla Varsayılan Karşılama Niyetini otomatik olarak eğittiği için bu yöntem işe yarar.

RBM aracısı oluşturma

İş İletişimi Geliştirici Konsolu'nda oturum açın, ardından Temsilci oluştur'u tıklayın.

Name (Ad) alanında "Your Name's Pizza Place" (Sean's Pizza Place" gibi) yazın, bir Bölge seçin ve Agent'ı oluştur'u tıklayın.

RBM temsilcinizi Dialogflow'a bağlayın

RBM temsilciniz oluşturulduktan sonra, temsilcinin Genel Bakış sayfasını görmek için aracıyı tıklayın. Sol gezinme bölmesindeki Entegrasyonlar bağlantısını tıklayın.

Varsayılan olarak, RBM aracısının kullanıcı mesajlarını işlemek için Google Cloud Pub/Sub'ı kullanması. RBM temsilcinizi daha önce oluşturduğunuz Dialogflow temsilcisine bağlamak için Dialogflow entegrasyonunu tıklayın.

İletişim kutusunda Mevcut modeli bağla'yı tıklayın. Talimatları uygulayarak RBM temsilcinize Dialogflow aracınızı çağırma izni verin. Talimatları tamamladığınızda İleri'yi tıklayın.

Son olarak, Dialogflow proje kimliğini sağlamanız gerekir. İş İletişimi Geliştirici Konsolu'ndan farklı bir tarayıcı sekmesinde Dialogflow'a gidip daha önce oluşturduğunuz CodelabRBMPizzaPlace aracısını açın. Sol gezinme panelinde proje adının yanındaki dişli simgesini tıklayın.

Bu seçeneği tıkladığınızda modelin ayarlarına yönlendirilirsiniz. GOOGLE PROJECT'in altında Proje Kimliği'ni bulup kopyalayın.

İş İletişimi Geliştirici Konsolu açıkken sekmenize geri dönün, proje kimliğini iletişim kutusuna yapıştırın, ardından Entegrasyonu başlat'ı tıklayın.

Bu işlemin tamamlanması yaklaşık iki dakika sürer. Bu işlem tamamlandığında, Dialogflow entegrasyon seçeneğinin vurgulandığı ve Aracıyı görüntüle bağlantısının kullanılabildiğini görürsünüz.

Temsilcinize gönderilen ve aracınızdan gelen tüm mesajlar artık CodelabRBMPizzaPlace Dialogflow aracısı tarafından işleniyor.

Test cihazınızı davet edin ve mesaj gönderin

Dialogflow'a başlamadan önce test cihazınızın kurulumunu yapalım. Halihazırda RBM mesajları alabilen bir cihazınız yoksa cihazınızı hazır hale getirmek için bu kılavuzu inceleyin.

İş İletişimi Geliştirici Konsolu'nda, sol taraftaki gezinme panelinde Cihazlar'ı tıklayın. Formda, cihazınızın tam telefon numarasını E.164 biçiminde girin (ör. +12223334444) ve Ekle'yi tıklayın.

Cihazınızda test daveti alırsınız. Beni test kullanıcısı yap'a dokunun.

Tarayıcınızda, Cihazlar listesinde cihazınızı bulun ve cihazınıza bir test mesajı gönderin. Cihazınızda RBM temsilcinizden bir mesaj aldıysanız bu codelab ile devam edebilirsiniz.

Karşılama niyetinizi oluşturma

Genellikle Dialogflow destekli bir RBM aracısıyla görüşme başlatmak için kullanıcının telefon numarasını ve görüşmeyi başlatan Dialogflow niyetini belirten bir API çağrısı yaparsınız (genellikle temsilcinin karşılama niyeti). Bu codelab'de bu adımı atlayıp önceki adımda oluşturulan iş görüşmesini, İş İletişimi Geliştirici Konsolu'ndaki test cihazıyla birlikte kullanacağız. Ancak bu API özelliği hakkında daha fazla bilgi edinmek isterseniz bu kılavuza göz atın.

Dialogflow'un RBM temsilcinizle kullanabilmesi için Varsayılan Karşılama Niyeti'ne RBM yanıtları ekleyerek başlayalım. Öncelikle, Dialogflow'un açık olduğu tarayıcı sekmesine gidin. Sol gezinme menüsündeki Amaçlar bağlantısını tıklayın. Sağ üst köşedeki çöp kutusunu tıklayarak örnek "Metin Yanıtı"nı silin. Ardından, Varsayılan Karşılama Niyeti'ni tıklayın, Yanıtlar bölümüne ilerleyin, yanıt türleri listesinde + simgesini tıklayın ve RCS Business Messaging (RBM) seçeneğini belirleyin.

Yanıt Ekle'yi tıklayın, ardından Basit Yanıt'ı seçin. Basit Yanıt için metin alanına, Sean’s Pizza Place fırsatına göz atın. 12 inçlik bir pizza alın, ÜCRETSİZ! (Sean'ın adını adınızla değiştirin) ve Kaydet'i tıklayın.

Görüşme başlatma

Artık bir karşılama amacı yapılandırdığınıza göre, test cihazınıza dönün ve "Merhaba" mesajını gönderin. Bu mesaj, Varsayılan Karşılama Niyetini tetikler. Aşağıdaki resme benzer bir şey görürsünüz.

Karşılama niyetinizi güncelleyin

Dialogflow'un basit bir mesaj gönderdiğine göre şimdi mesajı daha cazip olacak şekilde güncelleyebiliriz. Günün anlaşmasıyla ilgili mesaj göndermekle kalmayıp alıcı kullanıcıyı ikna etmek ve gerçekleştirmek isteyebileceği diğer işlemleri yapmak için bir resim göndermeyi de amaçlarız.

Basit yanıt pizza reklamı mesajımızı resim içeren ve menünün ve restoranın web sitesinin tamamını görüntüleme seçeneği sunan bir kartla değiştirelim.

Varsayılan Karşılama Niyeti's Yanıtlar bölümünde RCS İş Mesajlaşması (RBM) sekmesini seçin. Mevcut Basit Yanıt metnini "Sean'in Pizza Restoranı'na hoş geldiniz" ifadesiyle güncelleyin. Bugünkü promosyon teklifine göz atın. Ardından, Yanıt Ekle'yi tıklayın ve Bağımsız Zengin Kart'ı seçin.

Bağımsız Zengin Kart formuna aşağıdakileri girin:

  • Kart Başlığı: 12 inç Pizza Satın Alın ve ÜCRETSİZ Bir Tane Alın.
  • Kart Açıklaması: Bu teklifi kullanmak için bu mesajı katılımcı bir konumda gösterin. Son tarih 17 Mayıs.
  • Kart Yönünü Seçin: Dikey
  • Resim/Video URL'si: https://storage.googleapis.com/df-rbm-codelab/pizza-ad-coupon.png
  • Medya Yüksekliğini Seçin: Orta

Öneri Ekle'yi tıklayın ve aşağıdakileri girin:

  • Öneri metni: Menüyü görüntüleyin
  • Öneri Geri Bildirimi: response_view_menu

Öneri Ekle'yi tıklayıp açılır menüden URL İşlemini Aç'ı seçip aşağıdakileri girerek bir Açık URL İşlemi ekleyin:

  • Öneri metni: Web sitesini görüntüleyin
  • Öneri Geri Bildirimi: response_view_website
  • Açılacak URL: https://www.google.com (veya geçerli bir URL)

Kaydet'i tıklayın.

Deneyin.

Model "Temsilci eğitimi tamamlandı" ifadesini gördükten sonra cihazınıza dönüp "Merhaba" mesajını temsilcinize gönderin. Şimdi Basit Yanıtı ve ardından tasarladığınız Bağımsız Zengin Kart'ı görürsünüz.

Görünüm menüsü'ne dokunmayı deneyin. Varsayılan Geri Dönüş Niyeti'nin tetiklendiğine dikkat edin. Bunun nedeni, Dialogflow aracınızın bu öneri için yapılandırdığınız geri gönderme verilerini nasıl işleyeceğini bilmemesidir: "reply_view_menu"

Şimdi bu sorunu çözelim.

Menü amacınız oluşturuluyor

Dialogflow, kullanıcının niyetini kategorilere ayırmak için amaçları kullanır. Amaçlar, kullanıcının aracınıza ne deyebileceğine dair eğitim ifadeleridir. Örneğin, menüyü öğrenmek isteyen kişi "Menünüz nedir?" diye sorabilir. "Ne yiyebilirim?" veya "Ne sipariş edebilirim"?

Bu sorguların tümü benzersizdir ancak aynı amaca sahiptir: menü hakkında bilgi edinmek için.

Bu sorguyu kapsamak için "Menü" niyeti oluşturun:

  1. Sol gezinme menüsünde Niyetler'ın yanındaki + simgesini tıklayın.
  2. Niyet adı için "Menü" yazın.
  3. Eğitim İfadeleri altında, Kullanıcı ifadesi ekle'yi tıklayın ve her girişten sonra enter tuşuna basarak aşağıdaki bilgileri girin:

    • What's your menu?
    • What can I eat?
    • What can I order?
    • reply_view_menu

    Bu son eğitim ifadesi, önceki bölümde yapılandırdığınız geri gönderme verilerini bu niyetle eşlemek için kullanılır.

Bu amaç doğrultusunda, çeşitli menü seçeneklerini gösteren bir bant oluşturacağız. Daha büyük bir menü için bir web sitesine bağlantı veya menünün tek bir resmini paylaşmak isteyebilirsiniz.

  1. Yanıtlar altında + simgesini tıklayın ve RCS Business Messaging (RBM) seçeneğini belirleyin.
  2. Yanıt Ekle'yi tıklayın ve Bant Zengin Kartı'nı seçin.
  3. Kart Genişliğini Seç seçeneğini Orta olarak ayarlayın.
  4. Genişlik seçeneğinin altında Kart Ekle'yi iki kez tıklayın. Bu işlem, kart sayısını toplam 4'e çıkarır.
  5. Kart 1'e aşağıdakileri girin:
    • Kart Başlığı Sosis ve Pepperoni
    • Kart Açıklaması: Sosis, pepperoni, zeytin ve yeşil biber
    • Resim/Video URL'si: https://storage.googleapis.com/df-rbm-codelab/sausage-pizza.jpg
  6. Kart 3'e aşağıdaki bilgileri girin:
    • Kart Başlığı: İtalyanca
    • Kart Açıklaması: Domates sosu, peynir ve sosis
    • Resim/Video URL'si: https://storage.googleapis.com/df-rbm-codelab/italian-pizza.jpg
  7. Kart 2'ye aşağıdakileri girin:
    • Kart Başlığı: Margarita
    • Kart Açıklaması: San Marzano domates, mozzarella peyniri, taze fesleğen, tuz ve sızma zeytinyağı
    • Resim/Video URL'si: https://storage.googleapis.com/df-rbm-codelab/margarita-pizza.jpg
  8. Kart 4'e aşağıdakileri girin:
    • Kart Başlığı: En yüksek
    • Kart Açıklaması: Sosis, Pepperoni, Hamburger, Kanada Pastırması, Soğan, Zeytin, Mantar ve Yeşil Biber
    • Resim/Video URL'si: https://storage.googleapis.com/df-rbm-codelab/supreme-pizza.jpg

Kart öğelerinin ardından, kullanıcının görüşmeye devam edebilmesi için bir yol sağlamamız gerekir. Bunu desteklemek için Yanıt Ekle'yi tıklayın ve Basit Yanıt'ı seçip "Başka bir şey yapmak istiyorum" metnini girin.

Basit Yanıt bölümünde, Öneri Ekle'yi tıklayın ve aşağıdakileri girin:

  • Öneri metni: Promosyonu görüntüleyin
  • Öneri Geri Gönderme: Merhaba

Kaydet'i tıklayın.

Deneyin.

Şimdi temsilcinize menü istemeyi deneyin. Cihazınızda, RBM temsilcinizin görüşmesine "Menüdekiler" yazın ve mesajı temsilcinize gönderin.

Temsilciniz artık sorguya doğru yanıt veriyor. Sorgunuzun eğitim ifadesinden biraz farklı olmasına rağmen menüde "ne var?" menüsünde ne var?" Dialogflow yine de sorguyu doğru niyetle eşleştirdi. Zengin karttaki Menüyü görüntüle öğesine dokunmayı da deneyebilirsiniz.

Dialogflow, kullanıcıları sorgularla doğru amaca uygun hale getirmek için makine öğrenimi modeline örnek olarak eğitim ifadeleri kullanır. Makine öğrenimi modeli, sorguyu aracıdaki her amaca göre kontrol eder, her niyet için bir puan verir ve en yüksek puanlı niyet eşleştirilir. En yüksek puana sahip puan çok düşükse yedek niyet eşleşir.

Yanıt vermeden amaçları yakalama

Neredeyse bitti, ancak yapmamız gereken son bir şey var. Test cihazınıza döner ve ilk zengin karttaki Web sitesini görüntüle önerisine dokunursanız bu öneriye dokunduğunuzda yalnızca ilişkili URL'nin açıldığını değil, aynı zamanda Varsayılan Geri Dönüş Niyeti tarafından tetiklenen bir mesaj da alındığını fark edersiniz.

Bunun nedeni, Open URL Action'ın, işleme dokunduğunuzda Dialogflow'a ""reply_view_website&quot" geri gönderme metnini göndermesi ve Dialogflow'un bunu Varsayılan Geri Dönüş Niyeti ile eşleştirmesidir.

Geri gönderme verilerini hemen yanıt vermeden yakalamak için geri gönderme verileriyle eşleşen eğitim ifadeleri içeren bir niyet oluşturur ve amaca yönelik tüm yanıtları sileriz. Dialogflow, geri gönderme verilerini niyetle eşleştirir ancak intentnin tanımlı bir yanıtı olmadığı için yanıt vermez.

Yanıt yok amacınızı oluşturma

Yoksaymak istediğiniz işlemleri kapsamak için "Yanıt yok" niyeti oluşturun:

  1. Sol gezinme menüsünde Niyetler'ın yanındaki + simgesini tıklayın.
  2. Niyet adı için "Yanıt yok" yazın.
  3. Eğitim İfadeleri altında, Kullanıcı ifadesi ekle'yi tıklayın ve her girişten sonra enter tuşuna basarak aşağıdaki bilgileri girin:
    • reply_view_website
  4. Yanıtlar'a ilerleyin ve çöp kutusu simgesini kullanarak tüm yanıtları kaldırın.

Kaydet'i tıklayın.

Deneyin.

Cihazınızda, RBM temsilcinize ait görüşmeye "&"; yazın ve mesajı temsilcinize gönderin. Bu, Varsayılan Karşılama Niyeti'nden promosyon teklifini tetikler. Web sitesini göster önerisini tıklayın ve web sitesinin tarayıcıda açıldığını ve temsili yanıt gönderilmediğini göz önünde bulundurun.

Hepsi bu kadar!

Süre: 1:00

İstek gönderildi.

Dialogflow tarafından desteklenen basit bir RBM aracısı oluşturmanın tüm adımlarını tamamladınız.

Daha fazla bilgi edinmek isterseniz gelişmiş codelab'imize göz atın.

Bu heyecan verici yeni platform için geliştirme yaparken eğlenin.