Hızlı bir şekilde bir diyalog robotu oluşturmak için bu numarayı kullanın

Yazar | Milvus.io

Sorumlu Editör | Hu Weiwei

Soru cevaplama sistemi doğal dil işleme alanında oldukça klasik bir sorudur.İnsanların sorularını doğal dil şeklinde cevaplamak için kullanılır ve geniş bir uygulama alanına sahiptir. Klasik uygulama senaryoları şunları içerir: akıllı ses etkileşimi, çevrimiçi müşteri hizmetleri, bilgi edinme, duygusal sohbet vb. Ortak sınıflandırmalar şunlardır: üretken ve geri getirme soru ve cevap sistemleri; tek aşamalı soru ve çok aşamalı soru cevap sistemleri; açık alanlar ve belirli alanlar için soru ve cevap sistemleri. Bu makale temel olarak, genellikle akıllı bir müşteri hizmetleri robotu adı verilen, arama tabanlı, etki alanına yönelik bir soru ve cevap sistemi ile ilgilidir.

Geçmişte, müşteri hizmetleri robotlarının yapımı genellikle alan bilgisinin (Alan Bilgisi) bir dizi kurala ve bilgi grafiğine dönüştürülmesini gerektiriyordu. Yapım süreci büyük ölçüde "yapay" zekaya dayanır, değişen sahneler ve değişen kullanıcı çok sayıda tekrarlayan çalışma gerektirir.

Doğal dil işlemede (NLP) derin öğrenmenin uygulanmasıyla, makine okuma, belgelerdeki eşleşen soruların yanıtlarını doğrudan ve otomatik olarak bulabilir. Derin dil modeli, nihai eşleşen cevabı bulmak için soruları ve belgeleri anlamsal vektörlere dönüştürür. Bu makale, anlamsal anlamaya dayalı bir diyalog robotunu hızlı bir şekilde oluşturmak için Google'ın açık kaynak Bert modelini ve Milvus açık kaynak vektör arama motorunu kullanır.

Genel yapı

Bu makale, bir soru cevap sistemi ve genel inşa sürecini uygulamak için anlamsal benzerlik eşleştirmesini kullanır:

  • Belirli bir alanda yanıtları olan çok sayıda Çince soru alın (bu makale bunlara standart soru setleri adını verecektir).

  • Bu sorunları öznitelik vektörlerine dönüştürmek ve bunları Milvus'ta saklamak için Bert modelini kullanın ve Milvus bu özellik vektörlerine bir vektör kimliği atayacaktır.

  • Bu temsili soruların kimliklerini ve bunlara karşılık gelen yanıtlarını PostgreSQL'de saklayın.

  • Kullanıcı bir soru sorduğunda:

  • Bert modeli aracılığıyla bunu bir özellik vektörüne dönüştürün

  • Soruya en çok benzeyen standart sorunun kimliğini elde etmek için Milvus'ta özellik vektörü üzerinde bir benzerlik araması yapın

  • Karşılık gelen yanıtı PostgreSQL'de alın.

  • Sistem mimarisi şeması aşağıdaki gibidir (mavi çizgi içe aktarma işlemidir ve sarı çizgi sorgu işlemidir):

    Daha sonra, size çevrimiçi bir soru cevap sisteminin nasıl kurulacağını öğreteceğim.

    Adımlar oluşturun

    İnşa etmeden önce Milvus ve Postgresql'i kurmanız gerekir.Özel kurulum adımları için lütfen resmi web sitesine bakın.

    1. Veri hazırlama

    Bu makaledeki deneysel veriler şu adresten gelmektedir: https://github.com/SophonPlus/ChineseNlpCorpus.

    Bu proje kapsamındaki SSS soru cevap sisteminde yer alan finansal veri setinden toplam 330.000 veri derledik. Bu veri kümesini birleştirerek, hızla bir xx bank akıllı müşteri hizmetleri robotu oluşturabiliriz.

    2. Özellik vektörleri oluşturun

    Bu sistem, Bert tarafından önceden eğitilmiş bir model kullanır. Hizmete başlamadan önce modeli indirmeniz gerekir: https://storage.googleapis.com/bert_models/2018_11_03/chinese_L-12_H-768_A-12.zip

    Bu modeli, daha sonra benzerlik elde etmek üzere soru kitaplığını özellik vektörlerine dönüştürmek için kullanın. Bert servisiyle ilgili daha fazla bilgi için lütfen şu adrese bakın: https://github.com/hanxiao/bert-as-service

    3. Milvus ve PostgreSQL'i içe aktarın

    Yukarıda oluşturulan özellik vektörünü normalleştirdikten sonra, onu depolamak için Milvus'a aktarın ve ardından Milvus tarafından döndürülen kimliği ve kimliğe karşılık gelen sorunun cevabını PostgreSQL'e aktarın. PostgreSQL'de tablo yapısı:

    4. Cevap alın

    Kullanıcı bir soru girer ve Bert aracılığıyla bir özellik vektörü oluşturur ve Milvus kütüphanesinde en benzer soruyu bulur. Bu makale, iki cümle arasındaki benzerliği temsil etmek için kosinüs mesafesini kullanır.Tüm vektörler normalize edildiğinden, iki öznitelik vektörünün kosinüs mesafesi 1'e ne kadar yakınsa benzerlik o kadar yüksek olur. Kütüphanede kullanıcının verdiği soruna benzer bir problem olmayabilir, bu yüzden pratikte 0.9'luk bir eşik belirleyebiliriz. Alınan en benzer mesafe eşikten daha az olduğunda, ilgili sorunları içermeyen sisteme geri dönecektir. .

    Sistem gösterimi

    Sistemin ilk arayüzü aşağıdaki gibidir:

    Sorunuzu iletişim kutusuna girin ve ilgili cevabı alacaksınız. Gosterildigi gibi:

    sonuç olarak

    Yukarıdaki soru cevap sisteminin kurulması kolay mı? Bert modelinin desteğiyle, külliyatları önceden sıralamanıza ve etiketlemenize gerek yoktur. Aynı zamanda açık kaynak vektör arama motoru Milvus'un yüksek performansı ve ölçeklenebilirliği sayesinde sistem yüz milyonlarca külliyatı destekleyebilmektedir. Milvus vektör arama motoru, kuluçka için Linux AI (LF AI) Vakfı'na katıldı Herkese Milvus topluluğuna katılmaya hoş geldiniz. AI teknolojisinin büyük ölçekli uygulanmasını birlikte hızlandıralım.

    ek

    Milvus web sitesi: milvus.io

    Sistem gösterimi: https://milvus.io/cn/scenarios

    Ayrıntılı adımlar (kodlu):

    https://github.com/milvus-io/bootcamp/tree/0.7.0/solutions/QA_System

    Sorumluluk Reddi: Bu makale yazar tarafından sağlanmıştır ve CSDN'nin konumunu temsil etmez.

    Luo Yonghao: Bu yıl kırk sekiz yaşındayım ve sayısız arızaya dayanabilirim; iOS14 sistem düzeyinde bir "küçük program" işlevi başlatabilir; PyCharm'ın yeni sürümü yayınlandı |

    Gartner'ın konteyner ürününde birinciliği kazanan Alibaba Cloud, bulut yerel için önemli savaşı kazandı!

    Bir yüz yıllık IBM nihayet All In yapay zeka ve hibrit bulutta!

    Neden izleme ve kayıt yok? Eski programcılar

    "Anti-salgın" yeni taktikler: DSÖ, IBM, Oracle ve Microsoft ile birlikte bir açık veri blok zinciri projesi oluşturdu!

    4D kuru mallar: konteynerler üzerinde nasıl sürekli dağıtım oluşturacağınızı adım adım öğretin!

    Bunun çağdaş ineklerin [teknik kanatları] olduğu söyleniyor ...

    Bugünün refahı: yorum alanı seçildi, çevrimiçi 299 yuan değerinde "2020 AI Geliştiricileri Konferansı" nı alabilirsiniz Bir canlı bilet . Parmaklarınızı hareket ettirin ve söylemek istediklerinizi yazın.

    onaylamak! Python'u bu şekilde öğrenmek, 10 cadde akranını ortadan kaldırabilir
    önceki
    Yeni "anti-salgın" taktikler: DSÖ, IBM, Oracle ve Microsoft ile birlikte bir açık veri blok zinciri projesi oluşturur
    Sonraki
    Livermore, spekülasyon kralı: Borsada her zaman bir servet kazanabilecek tek bir tür kişi vardır. Bu gerçekten basit, tekrarlanan para kazanımıdır.
    Buffy'nin özellikleri Çin borsasını yıkıyor: Bu aşamada 100.000 PetroChina satın alır ve yükseliş ve düşüşü görmezden gelirseniz, bundan 10 yıl sonra nasıl görünecek? Bir yatırımcı olarak ne düşünüyo
    Pekin Üniversitesi Finans Profesörü bir kez daha konuştu: Hisse senetlerinde sıkışıp kalmaktan mı korkuyorsunuz? "500'e 5 sent düşüp 500'e 5 sent yükseltir" diyebilirsiniz, borsa defterinde hiç bahse
    Çin borsası: Şangay borsa endeksi 2.800 puanın altına düştü. "Bekleyip görelim" mi yoksa "tam avantaj elde etme fırsatını mı değerlendirelim"? Hissedarların baharı burada
    Çin borsası: Şangay borsa endeksi 2700'den 2900 puana dalgalanıyor, "U şeklindeki dipten" çıkması mı bekleniyor?
    Buffett'in PetroChina satın alma deneyimi size şunu söylüyor: PetroChina 48 yuan'dan yaklaşık 4,6 yuan'a düştükten sonra "iniş ve çıkışları görmezden gelmeye ve düştükçe daha fazla satın almaya" deva
    Çinin "para toplama çağı" yaklaşıyor: Borç içinde olduğunuzda ve akrabalarınız sizi ihmal ettiğinde, "Buffett tarzı" bileşik faiz düşüncesini denemenizi öneririm
    Çin borsası: Pazar için sırada ne var? 10 günlük hareketli ortalamanın eğilimini anlamak isteyebilirsiniz
    Çin'in bir sonraki "para toplama çağı" geliyor: potu açamayacak kadar fakirseniz, "Yahudi" para kazanma zihniyetini deneyebilirsiniz ve belki ayağa kalkabilirsiniz.
    Birisi nihayet riski aldı ve şöyle dedi: Yeni pırasalar neden 2800'de sıralanırken eski yatırımcılar boş bekliyor? Son gülen kim olabilir?
    Çin borsası: Hisse senetleri "ağaçta karınca" trendi ortaya çıktığında, ana gücün başarıyla dibe vurduğunu ve piyasa görünümünün ya günlük bir limit ya da kesintisiz bir artış olduğunu gösterir.
    Yahudi'nin para kazanma düşüncesi korkunç: fakir olmak istemiyorsanız, "dört sayıyı" ezberleyebilirsiniz: 10, 20, 50, 60, yoksa çok para kazanırsınız
    To Top