Azure hizmetleriyle geliştirmeyi hızlandırma: platformu kullanarak sohbet botları ve kognitif hizmetler oluşturma

Merhaba Habr! Bugün size genellikle insan müdahalesi gerektiren sorunları çözmek için Azure'u nasıl kullanacağınızı göstereceğiz. Temsilciler aynı soruları yanıtlamak, telefon çağrılarını ve kısa mesajları yönetmek için çok zaman harcıyorlar. Chatbot'lar iletişimi ve tanınmayı otomatikleştirerek insanların üzerindeki yükü azaltır. Botlar Azure DevOps'ta da kullanılır; burada örneğin doğrudan Slack veya Microsoft Teams'den sürümlerin onaylanmasına, yapıların yönetilmesine (görüntüleme, başlatma ve durdurma) olanak tanır. Temelde, bir chatbot bir şekilde CLI'yi andırır, yalnızca etkileşimlidir ve geliştiricinin sohbet tartışması bağlamında kalmasını sağlar.

Bu yazımızda chatbot oluşturmaya yönelik araçlardan bahsedecek, bunların kognitif hizmetlerle nasıl geliştirilebileceğini gösterecek ve Azure'da hazır hizmetlerle geliştirmeyi nasıl hızlandırabileceğimizi anlatacağız.

Azure hizmetleriyle geliştirmeyi hızlandırma: platformu kullanarak sohbet botları ve kognitif hizmetler oluşturma

Sohbet robotları ve bilişsel hizmetler: benzerlikler nelerdir ve farklılıklar nelerdir?

Microsoft Azure'da bot oluşturmak için Azure Bot Hizmetini ve Bot Çerçevesini kullanırsınız. Birlikte, hazır modüllerden konuşma desteği, doğal dil tanıma ve diğer yeteneklere sahip hem basit hem de gelişmiş iletişim sistemleri oluşturmanıza olanak tanıyan, botların oluşturulması, test edilmesi, dağıtılması ve yönetilmesi için bir dizi yazılımı temsil ederler.

Kurumsal bir Soru-Cevap hizmetine dayalı basit bir bot uygulamanız gerektiğini veya bunun tersine karmaşık, dallanmış bir iletişim sistemine sahip işlevsel bir bot oluşturmanız gerektiğini varsayalım. Bunu yapmak için üç gruba ayrılmış bir dizi araç kullanabilirsiniz: 

  1. Diyalog arayüzlerinin (botlar) hızlı geliştirilmesine yönelik hizmetler.
  2. Farklı kullanım örneklerine (örüntü tanıma, konuşma tanıma, bilgi tabanı ve arama) yönelik hazır bilişsel yapay zeka hizmetleri.
  3. Yapay zeka modelleri oluşturmaya ve eğitmeye yönelik hizmetler.

Tipik olarak insanlar sezgisel olarak "botlar" ile "bilişsel hizmetleri" karıştırırlar çünkü her iki kavram da iletişim ilkesine dayanır ve botların ve hizmetlerin kullanım durumu diyalogları içerir. Ancak sohbet robotları anahtar kelimeler ve tetikleyicilerle çalışır, bilişsel hizmetler ise genellikle insanlar tarafından işlenen keyfi isteklerle çalışır: 

Azure hizmetleriyle geliştirmeyi hızlandırma: platformu kullanarak sohbet botları ve kognitif hizmetler oluşturma

Bilişsel hizmetler, kullanıcıyla iletişim kurmanın başka bir yoludur ve keyfi bir isteğin açık bir komuta dönüştürülmesine ve bota iletilmesine yardımcı olur. 

Bu nedenle, sohbet robotları isteklerle çalışmaya yönelik uygulamalardır ve bilişsel hizmetler, ayrı olarak başlatılan ancak sohbet robotunun erişebildiği ve "akıllı" hale geldiği isteklerin akıllı analizine yönelik araçlardır. 

Sohbet robotları oluşturma

Azure'da bir bot için önerilen tasarım diyagramı aşağıdaki gibidir: 

Azure hizmetleriyle geliştirmeyi hızlandırma: platformu kullanarak sohbet botları ve kognitif hizmetler oluşturma

Azure'da bot tasarlamak ve geliştirmek için şunu kullanın: Bot Çerçevesi. GitHub'da mevcut bot örnekleriçerçevenin yetenekleri değişir, bu nedenle botlarda kullanılan SDK sürümünün dikkate alınması gerekir.

Çerçeve, bot oluşturmak için çeşitli seçenekler sunar: klasik kodun kullanılması, komut satırı araçları veya akış şemaları. Son seçenek diyalogları görselleştirir; bunun için yöneticiyi kullanabilirsiniz Bot Çerçeve Oluşturucusu. Disiplinler arası ekiplerin bot oluşturmak için kullanabileceği görsel bir geliştirme aracı olarak Bot Framework SDK'sı üzerine geliştirildi.

Azure hizmetleriyle geliştirmeyi hızlandırma: platformu kullanarak sohbet botları ve kognitif hizmetler oluşturma

Bot Framework Composer, botun çalışacağı bir diyalog yapısı oluşturmak için blokları kullanmanıza olanak tanır. Ek olarak, diyalog sırasında botun tepki vereceği tetikleyiciler, yani anahtar kelimeler oluşturabilirsiniz. Örneğin “operatör”, “hırsızlık” veya “dur” ve “yeter” kelimeleri.

Bot Framework Composer'da, kullanarak karmaşık iletişim sistemleri oluşturabilirsiniz. Uyarlanabilir Diyaloglar. Diyaloglar hem bilişsel hizmetleri hem de olay kartlarını (Uyarlanabilir Kartlar) kullanabilir:

Azure hizmetleriyle geliştirmeyi hızlandırma: platformu kullanarak sohbet botları ve kognitif hizmetler oluşturma

Oluşturulduktan sonra, sohbet robotunu bir abonelikte dağıtabilirsiniz ve otomatik olarak hazırlanan bir komut dosyası gerekli tüm kaynakları oluşturacaktır: bilişsel hizmetler, Uygulama planı, Application Insights, veritabanı vb.

QnA Yapıcı

Kurumsal Soru-Cevap veritabanlarına dayalı basit botlar oluşturmak için Soru-Cevap Oluşturucu kognitif hizmetini kullanabilirsiniz. Basit bir web sihirbazı olarak uygulanan bu program, kurumsal bilgi tabanına (SSS URL'leri) bir bağlantı girmenize veya temel olarak *.doc veya *.pdf formatındaki bir belge veritabanını kullanmanıza olanak tanır. Dizini oluşturduktan sonra bot, kullanıcının sorularına en uygun yanıtları otomatik olarak seçecektir.

QnAMaker'ı kullanarak ayrıca düğmelerin otomatik olarak oluşturulmasıyla açıklayıcı soru zincirleri oluşturabilir, bilgi tabanını meta verilerle destekleyebilir ve kullanım sırasında hizmeti daha fazla eğitebilirsiniz.

Hizmet, yalnızca bu işlevi uygulayan bir sohbet robotu olarak veya isteğe bağlı olarak diğer AI hizmetlerini veya Bot Çerçevesinin öğelerini kullanan karmaşık bir sohbet robotunun parçası olarak kullanılabilir.

Diğer bilişsel hizmetlerle çalışma

Azure platformunda birçok farklı kognitif hizmet bulunmaktadır. Teknik olarak bunlar koddan çağrılabilen bağımsız web servisleridir. Buna yanıt olarak hizmet, sohbet robotunda kullanılabilecek belirli bir formattaki json'u gönderir.

Azure hizmetleriyle geliştirmeyi hızlandırma: platformu kullanarak sohbet botları ve kognitif hizmetler oluşturma
Chatbotların en yaygın kullanım alanları şunlardır:

  1. Metin tanıma.
  2. Geliştirici tarafından tanımlanan Özel Görüntü İşleme Hizmeti görüntü kategorilerinin tanınması (üretim durumu: bir çalışanın baret, gözlük veya maske takıp takmadığının tanınması).
  3. Yüz tanıma (mükemmel bir kullanım örneği, ankete katılan kişinin kendi yüzünü, örneğin bir köpeğin fotoğrafını mı yoksa farklı cinsiyetten bir kişinin fotoğrafını mı paylaştığını kontrol etmektir).
  4. Konuşma tanıma.
  5. Görüntü analizi.
  6. Çeviri (Skype'ta eşzamanlı çevirinin ne kadar gürültüye neden olduğunu hepimiz hatırlıyoruz).
  7. Yazım denetimi ve hataların düzeltilmesine yönelik öneriler.

LUIS

Ayrıca bot oluşturmak için ihtiyacınız olabilir LUIS (Dil Anlayışlı Akıllı Hizmet). Hizmet hedefleri:

  • Kullanıcının ifadesinin anlamlı olup olmadığını ve botun yanıtının gerekli olup olmadığını belirleyin.
  • Kullanıcı konuşmasını (metni) botun anlayabileceği komutlara dönüştürme çabalarını azaltın.
  • Gerçek kullanıcı hedeflerini/amaçlarını tahmin edin ve diyalogdaki ifadelerden önemli bilgiler çıkarın.
  • Geliştiricinin, yalnızca birkaç anlam tanıma örneği kullanarak ve işlem sırasında botun daha sonra ek eğitimini kullanarak botu başlatmasına izin verin.
  • Geliştiricinin, komut transkripsiyonunun kalitesini değerlendirmek için görselleştirmeyi kullanmasına olanak sağlayın.
  • Gerçek hedef tanımada artan iyileştirmelere yardımcı olun.

Aslında LUIS'in temel amacı kullanıcının ne demek istediğini belirli bir olasılıkla anlamak ve doğal bir isteği uyumlu bir komuta dönüştürmektir. LUIS, sorgu değerlerini tanımak için bir dizi amaç (anlamlar, niyetler) ve varlıklar (geliştiriciler tarafından önceden yapılandırılmış veya alınmış ve önceden oluşturulmuş "etki alanları" - Microsoft tarafından hazırlanan bazı hazır standart ifade kitaplıkları) kullanır. 

Basit bir örnek: size hava durumu tahmini veren bir botunuz var. Ona göre amaç, doğal bir talebin bir "eylem"e - hava durumu tahmini talebine - çevrilmesi olacak ve varlıklar zaman ve mekan olacaktır. CheckWeather amacının böyle bir bot için nasıl çalıştığını gösteren bir diyagramı burada bulabilirsiniz.

Niyet
esans
Doğal sorgu örneği

Hava durumunu kontrol et
{"type": "location", "entity": "moskova"}
{"type": "builtin.datetimeV2.date", "entity": "future","çözünürlük":"2020-05-30"}
Yarın Moskova'da hava nasıl olacak?

Hava durumunu kontrol et
{ "type": "date_range", "entity": "bu hafta sonu" }
Bu hafta sonu için hava tahminini göster

Soru-Cevap Oluşturucusu ile LUIS'i birleştirmek için kullanabilirsiniz Hareket memuru

Azure hizmetleriyle geliştirmeyi hızlandırma: platformu kullanarak sohbet botları ve kognitif hizmetler oluşturma

Soru-Cevap Oluşturucu ile çalıştığınızda ve bir kullanıcıdan istek aldığınızda sistem, Soru-Cevap'tan gelen yanıtın istekle eşleşme olasılığının yüzde kaçını belirler. Olasılık yüksekse kullanıcıya kurumsal bilgi tabanından bir yanıt verilir; düşükse istek, açıklama için LUIS'e gönderilebilir. Dispatcher'ı kullanmak, bu mantığı programlamanıza değil, istek ayrımının bu kenarını otomatik olarak belirlemenize ve bunları hızlı bir şekilde dağıtmanıza olanak tanır.

Botu test etme ve yayınlama

Test için başka bir yerel uygulama kullanılıyor, Bot çerçeve emülatörü. Emülatörü kullanarak botla iletişim kurabilir ve gönderip aldığı mesajları kontrol edebilirsiniz. Emülatör, mesajları bir web sohbeti arayüzünde görünecekleri gibi görüntüler ve bota mesaj gönderirken JSON isteklerini ve yanıtlarını günlüğe kaydeder.

BMW için bir sanal asistanın oluşturulmasını gösteren bu demoda emülatörün kullanımına ilişkin bir örnek sunulmaktadır. Videoda ayrıca sohbet robotları (şablonlar) oluşturmaya yönelik yeni hızlandırıcılardan da bahsediliyor:

Azure hizmetleriyle geliştirmeyi hızlandırma: platformu kullanarak sohbet botları ve kognitif hizmetler oluşturma
https://youtu.be/u7Gql-ClcVA?t=564

Sohbet robotlarınızı oluştururken şablonları da kullanabilirsiniz. 
Şablonlar, standart bot işlevlerini yeniden yazmanıza değil, hazır kodu bir "beceri" olarak eklemenize olanak tanır. Bir örnek, bir takvimle çalışmak, randevu almak vb. olabilir. Hazır becerilerin kodu yayınlanan github'da.

Test başarılı oldu, bot hazır ve artık yayınlanması ve kanalların bağlanması gerekiyor. Yayımlama Azure kullanılarak gerçekleştirilir ve kanal olarak mesajlaşma programları veya sosyal ağlar kullanılabilir. Veri girmek için gerekli kanala sahip değilseniz GitHab'daki ilgili toplulukta arayabilirsiniz. 

Ayrıca, kullanıcı ve bilişsel hizmetlerle iletişim kurmaya yönelik bir arayüz olarak tam teşekküllü bir sohbet robotu oluşturmak için elbette veritabanları, sunucusuz (Azure İşlevleri) ve LogicApp hizmetleri gibi ek Azure hizmetlerine ve muhtemelen , Olay Izgarası.

Azure hizmetleriyle geliştirmeyi hızlandırma: platformu kullanarak sohbet botları ve kognitif hizmetler oluşturma

Değerlendirme ve analiz

Kullanıcı etkileşimini değerlendirmek için hem Azure Bot Hizmetinin yerleşik analizlerini hem de özel Application Insights hizmetini kullanabilirsiniz.

Sonuç olarak, aşağıdaki kriterlere göre bilgi toplayabilirsiniz:

  • Seçilen süre zarfında bota çeşitli kanallardan kaç kullanıcının eriştiği.
  • Bir mesaj gönderen kaç kullanıcı daha sonra geri dönüp başka bir mesaj gönderdi?
  • Belirtilen zaman aralığında her kanal kullanılarak kaç eylemin gönderildiği ve alındığı.

Application Insights'ı kullanarak Azure'daki herhangi bir uygulamayı ve özellikle sohbet robotlarını izleyebilir, kullanıcı davranışı, yüklemeler ve sohbet robotu tepkileri hakkında ek veriler elde edebilirsiniz. Application Insights hizmetinin Azure portalında kendi arayüzünün bulunduğunu belirtmekte fayda var.

Bu hizmet aracılığıyla toplanan verileri, PowerBI'da ek görselleştirmeler ve analitik raporlar oluşturmak için de kullanabilirsiniz. PowerBI için böyle bir rapor ve şablon örneği alınabilir burada.

Azure hizmetleriyle geliştirmeyi hızlandırma: platformu kullanarak sohbet botları ve kognitif hizmetler oluşturma

İlginiz için hepinize teşekkür ederim! Bu yazıda kullandık malzeme Microsoft Azure mimarı Anna Fenyushina'nın web seminerinden “İnsanların zamanı olmadığında. Rutin süreçleri otomatikleştirmek için sohbet robotları ve kognitif hizmetler %100 nasıl kullanılır? başlıklı bölümde Azure'da hangi sohbet robotlarının olduğunu ve kullanım senaryolarının neler olduğunu açıkça gösterdik ve ayrıca Soru-Cevap Oluşturucu'da 15 dakikada nasıl bot oluşturulacağını ve bunun nasıl yapılacağını gösterdik. Sorgu yapısının şifresi LUIS'te çözülür. 

Bu web seminerini geliştiriciler Dev Bootcamp'a yönelik çevrimiçi maratonun bir parçası olarak yaptık. Otomasyon araçlarını ve önceden yapılandırılmış hazır Azure modüllerini kullanarak geliştirmeyi hızlandıran ve şirket çalışanlarının rutin iş yükünün bir kısmını hafifleten ürünlerle ilgiliydi. Maratonda yer alan diğer webinarların kayıtlarına aşağıdaki bağlantılardan ulaşabilirsiniz:

Kaynak: habr.com

Yorum ekle