Chatbot’lar, modern çağda işletmeler için giderek daha hayati bir araç haline geliyor. Doğru araçlar ve bilgi birikimi ile şirketler, müşterilerle gerçek konuşmalar yapabilen sohbet aracıları oluşturur.
Google Dialogflow ES, pazarın en güçlü ve ücretsiz sohbet robotu oluşturma araçlarından biridir. Ama onun tam potansiyelini nasıl ortaya çıkarabilirsiniz?
1. Adım: Dialogflow ES Aracınızı Oluşturun
Kendi Dialogflow ES aracınızı oluşturmak, bu süreçteki ilk adımdır. Herhangi bir Google hesabı çalışır ve Google Dialogflow ES web sitesine giderek başlarsınız . Oturum açtıktan sonra Ajan Oluştur’a tıklayın ve Oluştur’a tıklamadan önce formdaki ayrıntıları doldurun . Eğlence , otomasyon veya müşteri hizmetleri için bir sohbet robotu oluşturmak için Dialogflow’u kullanabilirsiniz . Bu proje ikincisini kapsamaktadır.
2. Adım: Dialogflow Takip Amaçlarını Ekleyin
Yeni aracının yalnızca bir Varsayılan Karşılama Niyeti ve bir Varsayılan Geri Dönüş Niyeti vardır. Niyet, bir konuşmadaki bir parça veya aşamadır.
Başlamak için mevcut Varsayılan Hoş Geldiniz Niyetine iki takip amacı eklemeniz gerekir. Fareyle Varsayılan Hoş Geldiniz Niyeti’nin üzerine gelin, Takip amacı ekle’yi tıklayın ve açılır menüden Evet’i seçin. İkinci takip amacını oluşturmak için açılır menüden Hayır’ı seçerek işlemi tekrarlayın.
Takip yok niyeti, konuşmayı sonlandıracak ve kullanıcıya veda edecektir. Takip amacı yok’u açın ve konuşmayı sonlandırmak için bir dizi metin yanıtı ekleyin. Bu amacı konuşmanın sonu olarak ayarla kaydırıcısını etkinleştirin .
Ana Amaçlar ekranına geri dönün ve açmak için Evet takip amacına tıklayın .
3. Adım: JSON ile Zengin bir Dialogflow Yanıt Listesi Oluşturun
Şimdi bu niyetleri ayarladınız, kullanıcıya bir soru sormanın zamanı geldi, böylece onlara ulaşabilirler. Varsayılan Hoş Geldiniz Niyeti’ni açın ve oluşturduğu yanıtları silin . Yanıt Ekle’ye tıklayın ve menüden Özel Yük’ü seçin.
Aşağıdaki JSON kodu, iki farklı türde zengin yanıt ekler; bilgi ve cips.
{
“richContent”: [
[
{
“type”: “chips”,
“options”: [
{
“text”: “Yes”
},
{
“text”: “No”
}
]
},
{
“image”: {
“src”: {
“rawUrl”: “https://upload.wikimedia.org/wikipedia/commons/thumb/5/50/TK_email_icon.svg/1024px-TK_email_icon.svg.png”
}
},
“title”: “Tell me about yourself :)”,
“subtitle”: “Give me some of your personal information. I’ll send it to you in an email. That’s the deal; absolutely no funny business. Promise! You in?”,
“type”: “info”
}
]
]
}
Adım 4: Kullanıcı Adını Dialogflow Parametresi olarak toplayın
Ardından, kullanıcıdan veri toplamak için başka bir takip amacı eklemenin zamanı geldi. Adım 2’de özetlendiği gibi, zaten kullanıcının adını soran bir Evet takip amacınız olmalıdır. Ana amaçlar menüsünde Evet takip amacının üzerine gelin, Takip amacı ekle’yi tıklayın ve listeden Özel’i seçin .
Bu, herhangi bir eğitim ifadesi olmadan yeni bir takip amacı yaratacaktır. Eğitim İfadeleri bölümüne gidin, kutuya bir ad yazın ve yeni bir ifade olarak eklemek için Enter’a basın. Bu, @sys.person varlık türüyle yeni bir parametrenin oluşturulmasını tetikleyecektir. @sys.person varlığına tıklayın ve onu @sys.given-name varlığına değiştirin.
Bu, aracının kullanabilmesi için kullanıcının girdisini saklar. Yanıtlar bölümüne gidin ve içinde $verilen-adı olan bir yanıt ekleyin . Bu, topladığınız ad parametresini çağırarak sohbette görünmesini sağlar.
Adım 5: Amaçları Tetiklemek için Dialogflow Özel Yükü Kullanın
Az önce eklediğiniz takip amacı dahilinde, Yanıt Ekle’ye tıklayın ve listeden Özel Yük’ü seçin. Aşağıdaki JSON kodunun bu bölüme eklenmesi, kullanıcıdan bir renk seçmesini isteyen zengin bir liste yanıtı tetikleyecektir.
Bu JSON kodunun en önemli kısmı, her girişin olduğu olay bölümüdür. Tıklandığında, her liste öğesi, o ana kadar toplanan ad ve renk parametreleriyle COLOR adlı bir olayı çağırır. Niyetler, kendilerine atanan ve onları tetikleyecek olaylara sahip olabilir.
{
“richContent”: [
[
{
“event”: {
“languageCode”: “en”,
“parameters”: {
“name”: “$given-name”,
“color”: “Red”
},
“name”: “COLOR”
},
“title”: “Red”,
“type”: “list”
},
{
“type”: “divider”
},
{
“event”: {
“name”: “COLOR”,
“languageCode”: “en”,
“parameters”: {
“name”: “$given-name”,
“color”: “Green”
}
},
“type”: “list”,
“title”: “Green”
},
{
“type”: “divider”
},
{
“type”: “list”,
“title”: “Blue”,
“event”: {
“languageCode”: “en”,
“name”: “COLOR”,
“parameters”: {
“name”: “$given-name”,
“color”: “Blue”
}
}
}
]
]
}
Adım 6: Dialogflow Parametrelerini Amaçlar Arasında Taşıyın
Ana Amaçlar menüsüne geri dönün ve Amaç Oluştur’a tıklayın . Yeni amacınıza bir ad verin ve Enter tuşuna basmadan önce olaylar bölümüne COLOR yazın .
Eğitim İfadeleri bölümüne gidin ve yeni parametrelerin oluşturulmasını tetiklemek için ifadeler listesine bir ad ve renk ekleyin. @sys.person parametre varlığını bir @sys.given-name varlığı olarak değiştirin ve renk varlığının @sys.color olarak ayarlandığından emin olun .
Kullanıcı girdilerinin sohbet penceresinde görünmesini sağlamak için artık $verilen-ad ve $color kullanarak bazı yanıtlar ekleyebilirsiniz.
Son olarak, sayfanın üst kısmındaki Bağlamlar bölümüne geri dönün ve benzersiz bir ada sahip bir çıktı ekleyin. Bu, parametreleri bu amaçtan bir sonrakine geçirecektir.
7. Adım: Kullanıcının Ülkesini ve Telefon Numarasını Dialogflow Parametreleri olarak toplayın
Ana Amaçlar menüsüne dönün, az önce oluşturduğunuz Renk amacının üzerine gelin ve Takip amacı ekle seçeneğine tıklayın . Yeni amacın Bağlamlar bölümünü kontrol edin. Hem giriş hem de çıkış bölümlerinde son adımda oluşturduğunuz Renk bağlamını içerdiğinden emin olun. Geçerli amaç için başka bir çıktı bağlamı ekleyin.
Eğitim İfadeleri bölümüne gidin ve Enter tuşuna basmadan önce listeye bir ülkenin adını ekleyin . Bu yeni bir parametre oluşturacaktır. Parametreyi yanıt bölümüne eklemeden önce parametrenin varlık türünü @sys.geo-country olarak değiştirin.
Ana Amaçlar menüsüne geri dönün ve az önce oluşturduğunuz amaç için yeni bir takip amacı oluşturun. Az önce attığınız adımları tekrarlayın, ancak Eğitim İfadeleri bölümünde bir telefon numarası kullanın. Oluşturulan parametrenin bir @sys.phone-number varlık türüne sahip olduğundan emin olun .
Ana Amaçlar menüsüne geri dönün ve az önce oluşturduğunuz amaç için iki yeni takip amacı oluşturun; a Evet ve Hayır takip niyeti. Görüşmeyi bitirmek için Takip yok niyetini ayarlayabilirsiniz.
Evet takip amacının, oluşturduğunuz önceki amaçlardan gelen tüm Bağlamlara sahip olması gerekir.
Son olarak, ana Amaçlar menüsüne geri dönün ve az önce oluşturduğunuz Evet takip amacı için yeni bir takip amacı oluşturun. Eğitim İfadeleri bölümüne bir e-posta adresi ekleyin ve oluşturulan parametrenin varlık türü olarak @sys.email olduğundan emin olun.
Yanıtlar bölümüne gidin, Yanıt Ekle’yi tıklayın ve listeden Özel Yük’ü seçin. Aşağıdaki JSON kodu, SENDEMAIL adlı bir olayı çağıran liste tipi zengin bir yanıt ekleyecektir. Şimdiye kadar istemiş olduğunuz tüm kullanıcı parametreleri bu amaca gönderilecektir.
{
“richContent”: [
[
{
“title”: “Send Email”,
“event”: {
“parameters”: {
“name”: “#Color-followup.name”,
“country”: “#Color-country-followup.country”,
“email”: “$email”,
“color”: “#Color-followup.color”,
“phone”: “#Color-country-phonenum-followup.phone-number”
},
“name”: “SENDEMAIL”,
“languageCode”: “en”
},
“type”: “list”
}
]
]
}
8. Adım: Dialogflow Node.js Satır İçi Düzenleyicisini Kullanarak E-posta Gönderin
Ana Amaçlar menüsünde Amaç Oluştur’a tıklayın . SENDEMAIL’i Etkinlikler bölümüne ekleyin ve Enter’a basın . Topladığınız tüm parametreleri Eylem ve parametreler bölümüne ekleyerek bunu takip edin .
Sayfanın alt kısmındaki Yerine Getirme bölümüne gidin ve Bu amaç için Web kancası çağrısını etkinleştir etiketli kaydırıcıyı etkinleştirin . Bu, bu amaca özel kod eklemenizi sağlayacaktır.
Sayfanın solundaki ana menüden Yerine Getir’i seçin ve Satır İçi Düzenleyiciyi etkinleştirmek için kaydırıcıyı etkinleştirin . Bunu yapmak için Google Projenize bir faturalandırma hesabı eklemeniz gerekebilir.
package.json sekmesine tıklayın ve dosyanın en altına gidin. Nodemailer API’sini projenize eklemek için bağımlılıklar bölümünü aşağıdaki kodla değiştirin.
“dependencies”: {
“actions-on-google”: “^2.2.0”,
“firebase-admin”: “^5.13.1”,
“firebase-functions”: “^2.0.2”,
“dialogflow”: “^0.6.0”,
“nodemailer”: “^4.4.2”,
“dialogflow-fulfillment”: “^0.5.0”
}
index.js dosyasına geri dönün ve Deploy’a tıklamadan önce mevcut kodu bu CodePen projesinde bulunan örnekle değiştirin . Gmail kimlik bilgilerini kendi hesabınızınkilerle değiştirmeniz gerekecektir. Bunun için bir Uygulama Şifresi kullanmanız gerekir. Tamamlandığında, sohbet robotunuz, başarılı bir konuşmanın sonunda topladığınız tüm ayrıntıları kullanıcıya e-postayla gönderir. Kullanışlı kılavuzumuzla Node.js ve nasıl kullanılacağı hakkında daha fazla bilgi edinebilirsiniz .
Web Sitenizde Dialogflow ES’yi Kullanma
Yeni sohbet robotunuz kullanıcı bilgilerini toplayabilir ve e-posta gönderebilir, ancak Dialogflow ES çok daha fazlasını yapabilir. Bu hizmete hemen hemen her API’yi bağlayabilir ve kendi web sitenizde chatbot’unuzu kontrol etmek için Dialogflow API’sini kullanabilirsiniz.