PyTorch'ta NLP tabanlı Chatbot. Bonus Flask ve JavaScript dağıtımı

Kaynak Düğüm: 1123050
Victoria Maslova

Müşteri memnuniyetini artırmanın çeşitli yolları arasında chatbotlar Müşteri tabanına yardımcı olacak güçlü çözüm. Chatbot'lar uygun maliyetlidir, işinizi ölçeklendirmenize yardımcı olur, tamamen özelleştirilebilir, müşterilerinizin doğru ürünleri/hizmetleri bulmasına yardımcı olur ve işletmeniz için güven oluşturmanıza yardımcı olur. Bunu kanıtlamak için aşağıdaki içeriği inceleyeceğim:

  1. Makine öğrenimi sohbet robotu nedir?
  2. Chatbotlar farklı iş alanlarında neden önemlidir?
  3. PyTorch'u kullanarak kendi NLP tabanlı sohbet robotunuzu oluşturun.
  4. Chatbot'u Javascript ve Flask'ta dağıtın.

Bir sohbet robotu (Konuşmaya Dayalı Yapay Zeka) kısa mesajlar, sesli sohbetler veya her ikisi aracılığıyla insan konuşmasını simüle eden otomatik bir programdır. Pek çok girdiye dayanarak bunu yapmayı öğrenir ve Doğal Dil İşleme (NLP).

Anlambilim adına, bu makalede chatbotlar ve konuşma asistanları birbirinin yerine kullanılacak, bir nevi aynı anlama geliyorlar.

Business Insider, küresel chatbot pazarının 2.6'da 2019 milyar dolardan 9.4'te 2024 milyar dolara çıkmasının beklendiğini ve yıllık bileşik büyüme oranının %29.7 olacağını tahmin ettiğini bildirdi. Aynı rapor ayrıca, müşterilere kusursuz çok kanallı deneyimler sunma konusundaki artan talep nedeniyle chatbot uygulamasındaki en yüksek büyümenin perakende ve e-ticaret sektörlerinde olacağını öne sürdü.

Bu tek başına seni buna ikna etmeye yeterli olmalı Chatbot'lar müşteri ilişkilerini yönetmenin yoludur ilerlemeye devam edecekler, ancak aynı zamanda kurumsal araçlara yönelik dahili araçlar olarak da büyümeye devam edecekler ve henüz benimsememiş olsalar da hemen hemen her sektör bu teknolojiyi benimseyecektir.

Aşağıda giderek daha fazla işletmenin chatbot stratejisini benimsemesinin temel nedenleri ve bunların müşteri kazanmak ve elde tutmak için nasıl bir kazan-kazan formülü olduğu yer almaktadır.

  • Müşteri bekleme süresini azaltın - Tüketicilerin 21% 'si Chatbot'ları bir işletmeyle iletişim kurmanın en kolay yolu olarak görün. Botlar, müşterilerin sırada bekletmeden aradıkları yanıtı anında almalarını sağlamanın daha akıllı bir yoludur.
  • 24×7 kullanılabilirlik — Botlar, müşteriler tarafından sorulan genel sorulara anında yanıt vererek etkileşime geçmek için her zaman hazırdır. Chatbot kullanmanın en büyük potansiyel faydası 24 saat müşteri hizmetleridir.
  • Daha iyi müşteri katılımı — Konuşma robotları, proaktif korumayı başlatarak ve müşteri deneyimini geliştiren kişiselleştirilmiş öneriler sunarak müşterilerle günün her saatinde etkileşime geçebilir.
  • Müşteri hizmetleri maliyetlerinden tasarruf edin — Chatbot'lar işletmelerin daha fazla tasarruf etmesine yardımcı olacak $ 8 milyar yıl başına. Botlar kolayca ölçeklendirilebilir; bu da daha fazla kaynak kiralama, altyapı maliyetleri vb. gibi müşteri destek maliyetlerinden tasarruf sağlar.
  • Potansiyel müşteri kalifikasyonunu ve satışlarını otomatikleştirin — Potansiyel müşterileri önceden belirlemek ve daha fazla destek için onları doğru ekibe yönlendirmek için satış huninizi sohbet robotlarıyla otomatikleştirebilirsiniz. Müşterilerle anında etkileşim kurabilmek potansiyel müşteri sayısını ve dönüşüm oranlarını artırır.

1. Konuşmaya Dayalı Yapay Zeka Müşteri Hizmetlerini Nasıl Otomatikleştirebilir?

2. Otomatik ve Canlı Sohbetler: Müşteri Hizmetlerinin Geleceği Nasıl Görünecek?

3. COVID-19 Pandemisinde Tıbbi Asistan Olarak Chatbotlar

4. Chatbot'a Karşı Akıllı Sanal Asistan — Fark nedir ve Neden Bakım?

Geliştiricilerin, veri bilimcilerin ve makine öğrenimi mühendislerinin aşağıdaki gibi sohbet robotları oluşturup sürdürebilecekleri birçok platform var Dialogflow ve Amazon Lex'i. Ancak bu makaledeki amacım, Doğal Dil İşleme için İleri Beslemeli Ağ kavramlarını anlamanıza yardımcı olmak için sıfırdan nasıl bir sohbet robotu oluşturulacağını göstermektir.

En başlayalım!

Kodun tamamını kolayca bulabilirsiniz. GitHub repo.

İşte bir model oluşturmak için takip etmek istediğim kısa bir plan.

  1. Teori + NLP kavramları (Köklendirme, Tokenizasyon, kelime çantası)
  2. Eğitim verileri oluşturun
  3. PyTorch modeli ve eğitimi
  4. Modeli kaydedin/yükleyin ve sohbeti uygulayın

Kahve ve Çay Tedarikçisinin çalışma saatleri, rezervasyon seçenekleri vb. ile ilgili basit soruları yanıtlaması için chatbot oluşturacağız.

Bir chatbot çerçevesi, konuşma amaçlarının tanımlandığı bir yapıya ihtiyaç duyar. Bunu yapmanın temiz bir yolu, bunun gibi bir JSON dosyası kullanmaktır.

Chatbot'un amaçları

Her konuşma amacı şunları içerir:

  • a etiket (benzersiz bir isim)
  • desen (sinir ağı metin sınıflandırıcımız için cümle kalıpları)
  • yanıtları (biri yanıt olarak kullanılacaktır)

NLP boru hattımız şuna benziyor

  • dizgeciğe
  • Alt + gövde
  • Noktalama işaretlerini hariç tut
  • Kelime Çantası

Bir belge listesi (cümleler) oluştururuz, her cümle bir listedir kök sözcükler ve her belge bir amaç (bir sınıf) ile ilişkilendirilir. Tam kod içeride Bu dosya.

Daha sonra bir eğitim verisi ve hiperparametreler ayarlamamız gerekiyor.

Gerekli tüm ön işleme adımlarından sonra bir model.py FeedForward Sinir Ağını tanımlamak için dosya.

İleri beslemeli sinir ağları yapay sinir ağları birimler arasındaki bağlantıların bir bağlantı oluşturmadığı durumlarda devir. İleri beslemeli sinir ağları, icat edilen ilk yapay sinir ağı türüdür ve emsallerinden daha basittir. tekrarlayan sinir ağları. Arandılar ileri beslemeli Çünkü bilgi ağda yalnızca ileriye doğru ilerler (döngüler olmadan), önce giriş düğümleri aracılığıyla, sonra da gizli düğümler (varsa) ve son olarak çıkış düğümleri aracılığıyla.

Dikkat olmak! Sonuçta bir aktivasyon fonksiyonuna ihtiyacımız yok çünkü daha sonra çapraz entropi kaybını kullanacağız ve bu bizim için otomatik olarak bir aktivasyon fonksiyonu uygulayacak.

Neden ReLU kullanıyoruz?

Basittirler, hesaplamaları hızlıdır ve sigmoid fonksiyonlar (lojistik, tanh, erf ve benzeri) gibi kaybolan gradyanlardan etkilenmezler. Uygulamanın basitliği, onları matris işlemleri için optimize edildikleri için günümüzde çok yaygın olan (aynı zamanda 3D grafikler için de gereklidir) GPU'larda kullanıma uygun hale getirir.

CrossEntropy Loss ve Adam'ı tanımladıktan sonra geriye doğru ve optimize edici adımı uyguluyoruz.

Bütün bu çizgiler ne anlama geliyor?

Optimize ediciye sıfır_grad() ayarını yaptık çünkü PyTorch'ta, eğitim aşaması sırasında her mini grup için, geri yayılım (yani Ağırlıkların ve önyargıların güncellenmesi) başlamadan önce gradyanları açıkça sıfıra ayarlamamız gerekiyor çünkü PyTorch gradyanları topluyor. sonraki geriye doğru paslar.

.backward() öğesinin birden çok kez çağrılması, her parametre için degradeyi (ekleyerek) biriktirir. Bu nedenle her .step() çağrısından sonra optimizer.zero_grad()'ı çağırmalısınız. İlk geri aramanın ardından ikinci bir aramanın ancak başka bir ileri geçiş gerçekleştirdikten sonra mümkün olduğunu unutmayın.

optimizer.step, geçerli degradeye (bir parametrenin .grad özelliğinde depolanan) ve güncelleme kuralına dayalı olarak bir parametre güncellemesi gerçekleştirir.

Sonunda train.py betiğini çalıştırdıktan sonra ne kadar harika bir sonuç elde ettik!

Ve son kısımda modelimizi kaydetmemiz gerekiyor. İşte bu şekilde kolayca yaptım.

Daha da ileri gitmeye ve ChatBot'un bu muhteşem görselleştirmesini yaratmaya karar verdim.

Tüm HTML, CSS ve JavaScript komut dosyalarımı GitHub depomda bulacaksınız.

Keyfini çıkarın!

Artık chatbot'un ne olduğunu ve bot teknolojisinin her türlü iş için ne kadar önemli olduğunu biliyorsunuz. Botların, işletmelerin müşterileriyle etkileşim kurma biçimini büyük ölçüde değiştirdiğini kesinlikle kabul edeceksiniz.

Chatbot teknolojileri, gelecekte müşteri etkileşimi stratejisinin hayati bir parçası haline gelecektir. Yakın gelecekte robotlar, insan yeteneklerini geliştirmek ve insan temsilcilerinin stratejik faaliyetleri yürütmede daha yenilikçi olmalarını sağlayacak şekilde ilerleyecek.

Source: https://chatbotslife.com/nlp-based-chatbot-in-pytorch-bonus-flask-and-javascript-deployment-474c4e59ceff?source=rss—-a49517e4c30b—4

Zaman Damgası:

Den fazla Chatbots Hayat