Dialogflow ile otomasyon ekleme

ziyaret edin. Dialogflow, kullanıcı girişini işleyen ve bilinen kullanıcı verileriyle eşleştiren dil anlama (NLU) aracı belirler ve uygun cevaplarla cevap verir. İki sürüm vardır hoş geldiniz. Business Messages temsilcinizi Dialogflow ES ile entegre ederek aracı geliştirme sürecinizi hızlı bir şekilde başlatmak için kolayca basit otomasyon oluşturabilirsiniz. Ölçüt entegre ettiğinizde, daha fazlası için gelişmiş otomasyon oluşturabilirsiniz. müzakere tekniklerini konuşacağız.

Business Messages temsilcileri

Bir Business Messages temsilcisini Dialogflow'un diğer özellikleriyle entegre etmek için ES veya Dialogflow CX her ürünün belgelerine bakın.

Bir kullanıcı Dialogflow entegrasyonu olan bir temsilciye mesaj gönderdiğinde Business Messages, kullanıcı mesajını Dialogflow'a iletir ve Dialogflow'un e-postada müşteri temsilcisine dialogflowResponse nesnesini tanımlayın. Aracıları şu şekilde yapılandırabilirsiniz: Dialogflow'un yanıtını, bölümü. Otomatik yanıtlar başlıklı makaleyi inceleyin. inceleyebilirsiniz.

Dialogflow entegrasyonu

Business Messages aracılığıyla Dialogflow tabanlı otomasyondan yararlanabilmek için Dialogflow entegrasyonunu etkinleştirmeniz gerekir.

Ön koşullar

Başlamak için gerekenler

  • Business Messages temsilci
  • Global bölgesinde bulunan ve kök dili İngilizce olan bir Dialogflow aracısı (tr)

Dialogflow aracınız yoksa bir tane oluşturun.

Dialogflow ES

Dialogflow ES entegrasyonunu etkinleştirebilmeniz için öncelikle Dialogflow aracısının proje kimliği. Proje kimliğini bulmak için

  1. Dialogflow Console'a gidin.
  2. Business Messages'a bağlamak istediğiniz Dialogflow temsilcisini seçin, ardından dişli simgesini . işaretini tıklayın.
  3. Google Projesi bölümünde Proje Kimliği değerini not edin.

Dialogflow CX

Dialogflow CX entegrasyonunu etkinleştirebilmeniz için öncelikle Dialogflow aracısının proje kimliği ve aracı kimliği. Bu kimlikleri bulmak için:

  1. Dialogflow CX Console'a gidin.
  2. Dialogflow projenizi seçin.
  3. Temsilci seçicide, taşma menüsünü tıklayın. . işaretini tıklayın.
  4. Adı kopyala'yı tıklayın. Bu işlem, temsilcinizin tam adını şu biçimdedir: projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID
  5. Proje kimliği ve aracı kimliği değerlerini not edin.

Entegrasyonu etkinleştirme

  1. Business Communications Developer Console'da şu sayfaya gidin: Integrations (Entegrasyonlar).
  2. Dialogflow için Entegrasyonu etkinleştir'i tıklayın.
  3. Mevcut modeli bağla'yı tıklayın.
  4. Dialogflow sürümü için etkinleştirilecek sürümü seçin.
  5. Dialogflow aracınızın proje kimliğini girin.
  6. Dialogflow CX'i etkinleştirmek için Dialogflow aracınızın aracı kimliğini de girin.
  7. Business Messages'ın kullanıcılara otomatik olarak Dialogflow yanıtları için Otomatik yanıtı etkinleştir'i seçin.
  8. İleri'yi tıklayın.
  9. Hizmet hesabı e-postasını kopyalayın. Bu hesap, Business Messages'ınızı bağlar ve Dialogflow aracılarını içerir.
  10. Google Cloud'da Konsol Dialogflow projenizi seçin.
  11. IAM'ye gidin izinleriyle ilgili daha fazla bilgi edinin.
  12. Ekle'yi tıklayın ve Yeni ana hesaplar için hizmet hesabı e-posta adresini girin.
  13. Rol seçin bölümünde Dialogflow Console Aracı Düzenleyici'yi seçin.
  14. Başka bir rol ekle'yi tıklayın ve Dialogflow API İstemcisi'ni seçin.
  15. Kaydet'i tıklayın.
  16. Business Communications Developer Console'da Sonraki'yi tıklayın.
  17. Entegrasyonu başlat'ı tıklayın.

Business Messages ve Dialogflow'u bağlamak yaklaşık iki dakika sürer.

Entegrasyonu güncelleme

  1. Business Communications Developer Console'da şu sayfaya gidin: Integrations (Entegrasyonlar).
  2. Dişli simgesini tıklayın. Dialogflow'un yanında bulunur.
  3. İsteme durumunuza göre Otomatik yanıtı etkinleştir'i açın Kullanıcılara Dialogflow yanıtlarıyla otomatik olarak yanıt vermek için Business Messages.

Dialogflow sürümleri arasında geçiş yapma

Bir Business Messages temsilcisi, aynı anda yalnızca bir Dialogflow entegrasyonunu destekleyebilir. Bir Dialogflow sürümünden diğerine geçiş yapmak için yeni entegrasyonu etkinleştirmeden önce

Entegrasyonu devre dışı bırak

  1. Business Communications Developer Console'da şu sayfaya gidin: Integrations (Entegrasyonlar).
  2. Dişli simgesini tıklayın. Dialogflow'un yanında bulunur.
  3. Entegrasyonu devre dışı bırak'ı tıklayın.
  4. Devre dışı bırak'ı tıklayın.

Mevcut bir Dialogflow entegrasyonunu devre dışı bırakmak yaklaşık bir dakika sürer.

Bu adımları uygulayarak yeni bir Dialogflow entegrasyonunu etkinleştirin.

Intent eşleşme

Bir Business Messages temsilcisi için Dialogflow entegrasyonunu etkinleştirdikten sonra aracısı, Dialogflow projenizin yapılandırılmış amaçlarını kullanarak kullanıcı sorularına kod yazmanıza gerek kalmadan yanıt vermenizi sağlar. Şu konu hakkında daha fazla bilgi edinmek için: Dialogflow ES belgelerine bakın. ve Dialogflow CX.

Yapmayı düşündüğünüz her görüşme seçeneği için Dialogflow niyetlerinizi yapılandırın otomasyonla destekleyebilirsiniz. Business Messages temsilcileri, şu işlemler için Dialogflow'u kullanır: daha iyi anlamanızı sağlar.

Dialogflow API'lerini çağırırken Business Messages, kullanıcı mesajı yükü amaçlarınıza ve karşılama webhook'unuza ulaşın. Bir kullanıcı mesajı eşleştiğinde bu yüke Struct biçiminde business_messages_payload alanı (QueryParameters içinde).

Yük, kullanıcı mesajındaki DialogflowResponse hariç tüm alanları içerir.

Dialogflow CX'te Business Messages, amaçlarınıza google_business_messages değerine sahip channel adlı bir oturum parametresi de iletir. Temsilcinizde bu parametreye şu biçimde referans verebilirsiniz: $session.params.channel.

Bu parametre, aynı Dialogflow aracısında birden fazla kanalı desteklemek amacıyla Dialogflow karşılamalarınıza koşullar eklemek için kullanılabilir.

Sorgu parametreleri hakkında daha fazla bilgi için Dialogflow ES ve Dialogflow CX referanslarına bakın.

Ön koşullar

Dialogflow'da NLU modelleri oluştururken farklı yanıt türlerini inceleyeceğiz. Business Messages, varsayılan yanıtı destekler. Bunlar aşağıdakileri içerebilir:

  • Metin
  • Özel yük
  • Canlı aracı aktarma (yalnızca Dialogflow CX)

Özel yük, geçerli bir Business Messages JSON mesaj yanıtıyla eşleşmelidir. nesne. Bir amaca yönelik özel yük yanıtlarını yapılandırırken Business Messages şu alanları yoksayar:

  • name
  • messageId
  • representative

Aşağıdaki örnek yanıtlara bakın.

Öneri içeren metin

{
  "text": "Hello World!",
  "fallback": "Hello World!\n\nReply with \"Hello\" or \"Hi!\"",
  "suggestions": [
    {
      "reply": {
        "text": "Hello",
        "postbackData": "hello-formal"
      }
    },
    {
      "reply": {
        "text": "Hi!",
        "postbackData": "hello-informal"
      }
    }
  ]
}

Zengin kart

{
  "fallback": "Hello, world!\nSent with Business Messages\n\nReply with \"Suggestion #1\" or \"Suggestion #2\"",
  "richCard": {
    "standaloneCard": {
      "cardContent": {
        "title": "Hello, world!",
        "description": "Sent with Business Messages.",
        "media": {
          "height": "TALL",
          "contentInfo":{
            "altText": "Google logo",
            "fileUrl": "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png",
            "forceRefresh": "false"
          }
        },
        "suggestions": [
          {
            "reply": {
              "text": "Suggestion #1",
              "postbackData": "suggestion_1"
            }
          },
          {
            "reply": {
              "text": "Suggestion #2",
              "postbackData": "suggestion_2"
            }
          }
        ]
      }
    }
  }
}
{
  "fallback": "Card #1\nThe description for card #1\n\nCard #2\nThe description for card #2\n\nReply with \"Card #1\" or \"Card #2\"",
  "richCard": {
    "carouselCard": {
      "cardWidth": "MEDIUM",
      "cardContents": [
        {
          "title": "Card #1",
          "description": "The description for card #1",
          "suggestions": [
            {
              "reply": {
                "text": "Card #1",
                "postbackData": "card_1"
              }
            }
          ],
          "media": {
            "height": "MEDIUM",
            "contentInfo": {
              "fileUrl": "https://my.files/cute-dog.jpg",
              "forceRefresh": false
            }
          }
        },
        {
          "title": "Card #2",
          "description": "The description for card #2",
          "suggestions": [
            {
              "reply": {
                "text": "Card #2",
                "postbackData": "card_2"
              }
            }
          ],
          "media": {
            "height": "MEDIUM",
            "contentInfo": {
              "fileUrl": "https://my.files/elephant.jpg",
              "forceRefresh": false
            }
          }
        }
      ]
    }
  }
}

Canlı müşteri temsilcisi aktarımı

{
  "metadata": {}
}

SSS bot'ları

Business Messages temsilcisi için Dialogflow ES entegrasyonunu etkinleştirdikten sonra SSS bot'u oluşturabilir. Soruları ve yanıtları Business Messages ve Dialogflow, desteklenen bir bilgi dokümanını kullanıcı sorularını anlamak ve yanıtlamak için gereken altyapıyı kod yazmanız gerekir.

SSS bot'unu iş başında görmek için Business Messages ile ilgili SSS Bot.

Ön koşullar

SSS bot'u oluşturmadan önce sorularınızı ve yanıtlarınızı bir bilgi belgesi (maks. 50 MB): herkese açık bir HTML dosyası veya CSV dosyası.

Genellikle bilgi belgeleri,

HTML dosyaları için

  • Herkese açık URL'lerdeki dosyaların Google arama dizinleyicisi tarafından taranmış olması gerekir. Böylece, bu öğeler arama dizininde yer alır. Bunu Google Search Console. Dizine ekleme aracının içeriğinizi güncel tutmadığını unutmayın. Açık bir şekilde kaynak içerik değiştiğinde dokümanınızı güncelleyebilirsiniz.
  • Dialogflow yanıt oluştururken içerikten HTML etiketlerini kaldırır. Çünkü nedeniyle HTML etiketlerinden kaçınmak ve mümkün olduğunda düz metin kullanmak en iyisidir.
  • Tek soru/yanıt çifti içeren dosyalar desteklenmez.

CSV dosyaları için

  • Dosyaların ilk sütununda sorular, ikinci sütunda yanıtlar olmalıdır. olabilir.
  • Dosyalar ayırıcı olarak virgül kullanmalıdır.

SSS bot'u oluşturma

  1. Business Communications Developer Console'da şu sayfaya gidin: Integrations (Entegrasyonlar).
  2. Bilgi bankası (SSS) bölümünde Bilgi tabanı oluşturun'u tıklayın.
  3. Bilgi tabanı için bir ad girip Sonraki'yi tıklayın.
  4. Mikrofon türü seçin.
  5. Bilgi dokümanı ekleyin.
    • MIME türü için HTML'yi seçtiyseniz herkesin erişebileceği URL'deki SSS bölümünüzün URL'si.
    • MIME türü için CSV'yi seçtiyseniz Yükle'yi tıklayın ve CSV dosyası olarak kaydedin.
  6. Ekle ve bitir'i tıklayın.

SSS bot'una başka doküman eklemek için Doküman ekle düğmesini tıklayın.

Bu adımları uyguladığınızda Business Messages, aşağıdakileri içerir: dialogflowResponse veya aracınıza gönderdiği kullanıcı mesajlarında belirtilen nesnedir. Otomatik yanıt özelliğini etkinleştirirseniz Business Messages kullanıcıya yanıt verir. soru/cevap çifti en yüksek matchConfidence puanına sahip olan kullanıcı mesajıyla karşılaştırılır.

Otomatik yanıtlar

Dialogflow entegrasyonu sırasında otomatik yanıtı etkinleştirirseniz Business, Mesajlar, Dialogflow aracılığıyla kullanıcıya otomatik olarak yanıt verir. İşletmeniz Mesajlar aracısı, en yüksek güven düzeyi eşleşmesiyle yanıt verir. Şununla Dialogflow ES entegrasyonu (hem bir SSS yanıtı hem de özel amaç doğrultusunda, Business Messages en yüksek olan eşleşmeyle yanıt verir. güven seviyesi.

Business Messages, otomatik olarak yanıtlanan tüm mesajları BOT adlı gönderenden geliyor olarak işaretler temsil eder. Temsilciniz canlı aracıları destekliyorsa Business Messages, REPRESENTATIVE_JOINED sonra otomatik yanıtları askıya alacak etkinlikler ve REPRESENTATIVE_LEFT etkinlikten sonra otomatik yanıtları devam ettirir. Bkz. Handoff yardımcı olur.

SSS yanıtıyla otomatik yanıt ver

Dialogflow ES entegrasyonu ile bir SSS yanıtı en yüksek güven düzeyine sahipse Business Messages, yanıtı bir kısa mesajla eşleştirir. Bir ilgili ancak farklı bir yanıt varsa mesajda "Başka bir yanıt görüntüleyin" yanıt" öneririz. Değilse iletide bir soru ve önerilen bilgiler bulunur. mesajın, kullanıcının isteğini karşılayıp karşılamadığını soran yanıtlar.

Niyet yanıtıyla otomatik yanıt ver

Amaç yanıtları, aşağıdaki yanıtlardan bir veya daha fazlasını içerebilir.

Amaç yanıtı en yüksek güven düzeyi eşleşmesine sahipse aşağıdakiler geçerli olur.

  • Yanıtta en az bir metin değeri varsa Business Messages bunu eşler. kısa mesaja dönüştürebilirsiniz.
  • Yanıtta geçerli bir İşletme içeren en az bir özel yük varsa Messages JSON nesne yapısı, Business Messages şunu kullanarak bir mesaj oluşturur: sağlayan JSON nesnesidir.
  • Yanıtta en az bir Canlı temsilci aktarma yanıtı varsa Canlı temsilci isteğiyle otomatik yanıt verin.

Dialogflow tek bir amaç eşleşmesinde birden fazla yanıt içerebildiğinden Business Messages, her kısa mesaj, özel yük veya canlı temsilci aktarımını gönderir ayrı bir ileti olarak gönderebilirsiniz. Bir amaçta birden fazla mesaj varsa ancak bazıları hatalı biçimlendirilmiş. Business Messages yalnızca otomatik yanıt olarak kaydeder.

Canlı temsilci isteğiyle otomatik yanıt verme

Dialogflow CX Canlı aracı aktarımını destekler tıklayın. Görüşmenin bir insana devredilmesi gerektiğini gösteriyor sağlar ve erişiminiz için özel meta veriler gerekir. Amaç yanıtı en yüksek güven düzeyi eşleşmesine sahipse ve bir canlı müşteri temsilcisi devir işlemi içerirken Business Messages, canlı müşteri temsilcisi tarafından istenen etkinlik bağlayın. Bu etkinliği işlemek için bkz. Bot'tan canlı temsilciye aktarım.

Yedek mesajla otomatik yanıt ver

Dialogflow yüksek bir güven düzeyi eşleşmesi elde edemezse Business Messages, oluşturabilirsiniz. Yedekler, Dialogflow ES'de farklı şekilde işlenir ve Dialogflow CX'e gidin.

Dialogflow ES

SSS bot'ları için bir SSS yanıtıyla eşleşme yoksa Business Messages, yanıt bulamadığını belirten bir yedek ileti.

Yapılandırılmış amaçlar için bir amaç yanıtıyla eşleşme yoksa Business Mesajlar, yedek intent yanıtı gönderir. Dialogflow tarafından sağlanan yedek metni kullanabilir veya ek metin ve özel yük içeren bir yedek oluşturun.

Webhook'unuzun düzenlediği yedek intent yanıtı örneğini şunları alabilir:

{
  "intentResponses": [
    {
      "intentName": "projects/df-integration/agent/intents/12345",
      "intentDisplayName": "Default Fallback Intent",
      "intentDetectionConfidence": "1.0",
      "fulfillmentMessages": [
        {
          "text": "One more time?"
        }
      ]
    }
  ]
}

Dialogflow, intent_name ve intent_display_name alanlarını önceden doldurur.

Dialogflow CX

Dialogflow CX, yedek intent yanıtlarını şu şekilde işler: yerleşik etkinlikler. Amaç yanıtıyla eşleşme yoksa Business Messages, bir Dialogflow'daki "Eşleşme yok" varsayılan etkinliğinden yedek mesaj Şunları yapabilirsiniz: Dialogflow tarafından sağlanan yedek metni kullanın veya Ayrıca ek metin, özel yük ve canlı aracı aktarım seçenekleriyle

Aşağıda, webhook aşağıdaki bilgileri alabilir:

{
  "intentResponses": [
    {
      "intentName": "sys.no-match-default",
      "intentDisplayName": "Default Fallback Intent",
      "intentDetectionConfidence": "0.3",
      "fulfillmentMessages": [
        {
          "text": "I missed that, say that again?"
        }
      ]
    }
  ]
}

Business Messages'ın intent_name ve intent_display_name sabit kodları.

Dialogflow'a özel alanlar

Dialogflow entegrasyonunu etkinleştirdikten sonra kullanıcı, temsilciye mesaj gönderir. alır şunları içerir: dialogflowResponse nesnesini tanımlayın. Webhook'unuz, aşağıdakilerden bağımsız olarak tüm kullanıcı mesajları için yük alır Business Messages'ın hesabınızdaki mesaja otomatik olarak yanıt verip vermediği anlamına gelir. Otomatik yanıt olup olmadığını kontrol etmek için autoResponded alanına girin ve kullanıcıya yanıt vermeniz gerekip gerekmediğine karar verin.

Dialogflow ES

...
"dialogflowResponse": {
  "queryText": "TEXT",
  "intentResponse": {
    "intentName": "INTENT_ID",
    "intentDisplayName": "INTENT_NAME",
    "intentDetectionConfidence": "CONFIDENCE_NUMERIC",
    "fulfillmentMessages": [{
      "text": "FULFILLMENT_TEXT",
      "jsonPayload": "JSON",
      "error": "ERROR_STATUS",
    }],
  "faqResponse": {
    "userQuestion": "USER_QUESTION",
    "answers": [{
      "faqQuestion": "FAQ_QUESTION",
      "faqAnswer": "FAQ_ANSWER",
      "matchConfidenceLevel": "CONFIDENCE_LEVEL",
      "matchConfidence": "CONFIDENCE_NUMERIC",
    }],
  },
  "autoResponded": "BOOLEAN",
  "autoRespondedMessages": [{
    "message": "MESSAGE_JSON",
    "responseSource": "SOURCE",
  }],
},
...
Alan Açıklama
queryText Orijinal konuşma sorgu metni. Otomatik yazım ise queryText Dialogflow modeli için düzeltme etkinleştirildi düzeltilmiş kullanıcı girişini içerir.
intentName Eşleşen amacın benzersiz tanımlayıcısı.
intentDisplayName Eşleşen amacın adı.
intentDetectionConfidence Eşleşmedeki sayısal güven derecesi queryText ile intentName arasında.
text Mesaj yanıtı.
jsonPayload Özel bir yük yanıtı. Bu dize, özel yük değerini temel alır. Yükte geçerli bir Business Messages JSON dosyası yoksa error sorunu tanımlıyor.
error Niyet yerine getirme mesajındaki bir hatanın açıklaması.
userQuestion Kullanıcının sorduğu soru (Dialogflow tarafından ayrıştırılır).
faqQuestion Dialogflow'daki bir soru, kullanıcının sorusuyla eşleşti.
faqAnswer Dialogflow'dan kullanıcının sorusuyla eşleşen bir yanıt.
matchConfidenceLevel İkisi arasındaki eşleşmenin güven seviyesi userQuestion ve faqQuestion.
matchConfidence Eşleşmenin sayısal güven derecesi userQuestion ve faqQuestion.
autoResponded Business Messages'ın otomatik olarak yanıtlanıp yanıtlanmadığı Dialogflow'dan bir yanıt gelene kadar.
message Otomatik yanıtın yükü.
responseSource Otomatik yanıtın kaynağı. Görüntüleyin ResponseSource.

Dialogflow CX

...
"dialogflowResponse": {
  "queryText": "TEXT",
  "intentResponse": {
    "intentName": "INTENT_ID",
    "intentDisplayName": "INTENT_NAME",
    "intentDetectionConfidence": "CONFIDENCE_NUMERIC",
    "fulfillmentMessages": [{
      "text": "FULFILLMENT_TEXT",
      "jsonPayload": "JSON",
      "error": "ERROR_STATUS",
      "liveAgentHandoff": {
        "metadata": {}
      }
    }],
  "autoResponded": "BOOLEAN",
  "autoRespondedMessages": [{
    "message": "MESSAGE_JSON",
    "responseSource": "SOURCE",
  }],
},
...
Alan Açıklama
queryText Orijinal konuşma sorgu metni. Otomatik yazım ise queryText Dialogflow modeli için düzeltme etkinleştirildi düzeltilmiş kullanıcı girişini içerir.
intentName Eşleşen amacın benzersiz tanımlayıcısı.
intentDisplayName Eşleşen amacın adı.
intentDetectionConfidence Eşleşmedeki sayısal güven derecesi queryText ile intentName arasında.
text Mesaj yanıtı.
jsonPayload Özel bir yük yanıtı. Bu dize, özel yük değerini temel alır. Yükte geçerli bir Business Messages JSON dosyası yoksa error sorunu tanımlıyor.
error Niyet yerine getirme mesajındaki bir hatanın açıklaması.
liveAgentHandoff Canlı temsilci aktarma prosedürünüz için özel meta veriler.
autoResponded Business Messages'ın otomatik olarak yanıtlanıp yanıtlanmadığı Dialogflow'dan bir yanıt gelene kadar.
message Otomatik yanıtın yükü.
responseSource Otomatik yanıtın kaynağı. Görüntüleyin ResponseSource.