快速搭建對話機器人,就用這一招!

2020-12-20 CSDN

作者 | Milvus.io

責編 | 胡巍巍

問答系統是自然語言處理領域一個很經典的問題,它用於回答人們以自然語言形式提出的問題,有著廣泛的應用。其經典應用場景包括:智能語音交互、在線客服、知識獲取、情感類聊天等。常見的分類有:生成型、檢索型問答系統;單輪問答、多輪問答系統;面向開放領域、特定領域的問答系統。本文涉及的主要是在檢索型、面向特定領域的問答系統,通常稱之為——智能客服機器人。

在過去,客服機器人的搭建通常需要將相關領域的知識(Domain Knowledge),轉化為一系列的規則和知識圖譜。構建過程中重度依賴「人工」智能,換個場景,換個用戶都需要大量的重複勞動。

隨著深度學習在自然語言處理(NLP)中的應用,機器閱讀可以直接自動從文檔中找到匹配問題的答案。深度語言模型會將問題和文檔轉化為語義向量,從而找到最後的匹配答案。本文藉助Google開源的Bert模型結合Milvus開源向量搜尋引擎,快速搭建基於語義理解的對話機器人。

整體架構

本文通過語義相似度匹配來實現一個問答系統,大致的構建過程:

獲取某一特定領域裡大量的帶有答案的中文問題(本文將之稱為標準問題集)。使用Bert模型將這些問題轉化為特徵向量存儲在Milvus中,同時Milvus將給這些特徵向量分配一個向量ID。將這些代表問題的ID和其對應的答案存儲在PostgreSQL中。當用戶提出一個問題時:

通過Bert模型將之轉化為特徵向量在Milvus中對特徵向量做相似度檢索,得到與該問題最相似的標準問題的id在PostgreSQL得出對應的答案。系統架構圖如下(藍色線是導入過程,黃色線是查詢過程):

接下來,將手把手教您搭建一個在線問答系統。

搭建步驟

在搭建之前您需要安裝Milvus、Postgresql,具體安裝步驟請參考官網。

1.數據準備

本文中的實驗數據來自:https://github.com/SophonPlus/ChineseNlpCorpus。

該項目下的FAQ問答系統中的金融數據集,我們從中一共整理了33萬條數據。結合這組數據,我們可以快速搭建一個xx銀行智能客服機器人。

2.生成特徵向量

本系統使用了Bert已預訓練好的一個模型。在啟動服務前,需要下載該模型:https://storage.googleapis.com/bert_models/2018_11_03/chinese_L-12_H-768_A-12.zip

使用該模型將問題庫轉化為特徵向量,以用於後續的相似度檢索。更多bert服務相關可參考:https://github.com/hanxiao/bert-as-service

3.導入Milvus和PostgreSQL

將上述產生的特徵向量歸一化處理後導入Milvus中存儲,然後j將Milvus返回的id以及該id對應的問題的答案導入PostgreSQL中。PostgreSQL中的表結構:

4.獲取答案

用戶輸入一個問題,通過Bert產生特徵向量後,在Milvus庫中找出與之最相似的一個問題。本文採用的餘弦距離來表示兩個句子間的相似度,由於所有向量都進行了歸一化,因此兩個特徵向量的餘弦距離越接近1表示相似度也高越高。庫中可能沒有與用戶給定問題比較相似的問題,所以在實踐中我們可以設定了一個閾值0.9,當檢索出來的最相似的距離小於該閾值時,則返回本系統未收錄相關問題的提示。

系統演示

系統初始界面如下:

在對話框中輸入你的問題,將會收到對應的答案。如圖:

總結

上述的問答系統搭建是不是很簡單?有Bert模型的加持,你根本不需要預先對語料進行分類整理、標籤化等工作。同時,得益於開源向量搜尋引擎Milvus的高性能和可擴展性,系統可以支撐上億級別的語料庫。Milvus向量搜尋引擎已經加入Linux AI (LF AI)基金會進行孵化,歡迎大家加入Milvus社區。讓我們一起加速AI技術的大規模落地。

附錄

Milvus網站:milvus.io

系統演示:https://milvus.io/cn/scenarios

詳細步驟(附代碼):

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

聲明:本文系作者投稿,不代表CSDN立場。

相關焦點

  • 一招教會爸媽用掃地機器人
    掃地機器人走進了越來越多的家庭,這不快過年了,也有更多的年輕人願意選購一臺掃地機器人當做給爸媽的新年禮物。其實完全不用擔心,誠然智能掃地機器人功能很多,可自定義項和玩法也相對較多,讓父母上手是有難度的,不過掃地機器人再智能,核心功能無非就三個——「開始掃地」、「暫停掃地」和「回充」。使用這三個功能對爸媽來說還是非常容易的,也就是三個按鈕,或者三句話。下面我們就以石頭掃地機器人T6為例,教給大家一招,讓父母學會使用掃地機器人,智能你來用,便利留給父母。
  • 追一科技首席科學家楊振宇:對話機器人系統是怎麼煉成的
    紮根自然語言的公司通常也不是從技術和方法出發,而是選擇一個具體的需求,然後用所有可能的方法解決它。追一就是這樣的一家公司,它瞄準的是「對話機器人」這個領域,把問題分類、分解、逐個建立準確高效的機器人,再有序集成起來。三月,機器之心有幸在深圳追一科技總部對首席科學家楊振宇進行了採訪,我們仔細聊了聊「對話機器人是怎樣煉成的」,以及在他眼裡,深度學習與自然語言最好的結合方式是怎樣的。
  • 機器人是如何實現對話的?
    對話機器人作為近年來愈發普遍的產品,以各種各樣的形態出現我們的生活中:電話客服、文本客服、超市裡的導購機器人等;那這些機器人如何實現和我們人類的智能對話的呢?本文將用顯淺易懂的文字講述機器人的對話原理與產品設計要點。
  • 如何利用ROSMoveIt快速搭建機器人運動規劃平臺?
    所以,這次就從初學者如何利用MoveIt快速搭建機器人運動規劃平臺來講吧,先展示Big Picture,其他細節內容以後有空再慢慢填。但可能會坑的地方我會用(坑)標註出來。什麼是MoveIt先看個視頻介紹吧: https://v.qq.com/x/page/r0349ddxsqf.html看完視頻,大家應該對MoveIt有一個大概的印象了。
  • 【人機對話】對話機器人技術簡介:問答系統、對話系統與聊天機器人
    ,或者扎克伯格說自己做的智能管家,我認為都算是對話機器人的一類。以蘋果的Siri和亞馬遜的Echo為例,它實際上是一套非常複雜的智能系統,而對話機器人是其中一個界面。有些文獻或者商業機構把這部分稱為Conversational UI(對話界面),也就是說我們通過對話來與機器溝通。
  • 如何利用ROS MoveIt快速搭建機器人運動規劃平臺?
    所以,這次就從初學者如何利用MoveIt快速搭建機器人運動規劃平臺來講吧,先展示Big Picture,其他細節內容以後有空再慢慢填。但可能會坑的地方我會用(坑)標註出來。 幸好,香港城市大學的潘佳大神寫了個FCL(Flexible Collision Library),可以非常快速地實現各種幾何體(3D面片、OctoMap、基本幾何體)的碰撞檢測。(這個不是坑,直接用很好用,但以後有機會可以好好說說,反正潘大神不會看朋友圈,不至於班門弄斧)。
  • 0代碼開發,2小時上手,一文講解人人可DIY的對話機器人如何打造
    竹間的願景就是要做出可控,可管的對話機器人,且能夠達到目的。今年,竹間智能自研的Bot Factory再度升級,於5月29日正式發布。發布會上推出全新升級的一站式企業級情感人工智慧平臺。如何判斷機器人是否真的聰明,其實在行業裡沒有一個benchmark去判斷機器人是否聰明,學術界,硬體,軟體……都有各自不同的 benchmark。能理解意圖,能夠完成事情,應該是端到端的,這才是聰明的有用的對話機器人。
  • 如何讓AI機器人的對話更加自然?
    今天這篇是來自Anna Prist 在Medium發布的《How to make your Chatbot Sound Natural》先概述下Anna提到在設計機器人對話時,要注意的六點:語境(對話中機器人需要進行上下文理解)個性(機器人需要擁有自己的個性
  • 對話機器人技術簡介:問答系統、對話系統與聊天機器人
    以蘋果的Siri和亞馬遜的Echo為例,它實際上是一套非常複雜的智能系統,而對話機器人是其中一個界面。有些文獻或者商業機構把這部分稱為Conversational UI(對話界面),也就是說我們通過對話來與機器溝通。
  • 智能一點:用Task-bot任務型對話機器人,打造會賺錢的AI導購
    「智能一點」就是這樣一家將AI技術落地到實際應用的人工智慧交互推薦企業,希望搭建一個對話式營銷 AI 服務平臺,讓智能導購機器人實現內容和服務的個性化推送,全面提升客戶的購物互動體驗。傳統電商人工客服面臨著幾大痛點:1、客服水平差異非常大;2、電商促銷非常頻繁,人工客服無法滿足客戶需求;3、0-9點諮詢人數佔全天總人數約12%+,無人響應,面臨極高的客戶流失率……智能客服大體上是用機器取代人工與用戶在線上交流,主要分為售前、售中和售後。
  • 智能場景:對話機器人在醫學領域的應用
    01 VIEWPOINT「大顯身手」:醫學對話機器人疫情期間滿足醫患需求—疫情期間,在醫療防護物資緊缺的情況下,我們看到各類醫學對話機器人投入到戰在美國一例新型冠狀病毒患者的診療過程中,醫護人員在診療過程中使用了機器人,配備了聽診器,可通過大屏幕與患者交流並進行常規診療,最大程度地減少了醫務人員與感染者的接觸,為診療過程增添了一道安全屏障。
  • Chatopera 開源多個聊天機器人對話模板 | Chatopera 讓聊天機器人...
    隨著人工智慧以及自然語言處理等技術的發展,企業、政府以及其他一些社會組織對聊天機器人提升自動化和智能化越來越期待,但是要很方便的應用聊天機器人於業務當中還是有一定的門檻。為此Chatopera在結合市場反饋以及自身思考,不斷推出更加的簡單的易用的設計、開發、運維和優化Chatbot的方法論以及實戰經驗,並且將其開源。
  • VEX比賽攻略-機器人搭建(1)
    機器人的搭建涉及到許多的問題,就讓我一點一點的來給大家介紹:1,分工:在搭建機器人的過程中,需要很多隊員的參與,這時候就需要一個明確分工了,這會使得接下來的工作更加容易展開。比如我們當時就是將機器人拆成了升降,地盤,前叉和夾子4部分,地盤兩個人,升級兩個人,前叉和夾子各一個人。
  • Human-like learning在對話機器人中的魔性運用
    組合性提供了一種生成新東西的能力,但是其並不保證生成出來的都是好的東西,而因果性則正好提供了這一保證。所以自然語言理解的核心是要在語言的某個層次上對組合性,以及因果性進行建模。用更通俗的話說,前者對應的是語義的表示,後者則是說的知識推理。語音機器人代替人決策,實現了自動化。
  • 成都雙流積木機器人搭建課程
    啟蒙課程該課程主要向兒童講解機器人基本部件的識別和機器人基本功能的介紹。老師會根據進度以每節課介紹一種零部件、搭建一個機器人、學習一個科學知識點、認知一個程序的模式進行課堂教學。學員在這個過程中,由淺入深,由少到多的掌握機器人的相關知識和搭建方法,通過設計與組裝機器人、輸入預設的程序,培養孩子動手能力與創造力,激發興趣。
  • 小白也可創建對話機器人平臺 竹間智能推出全新一站式企業級情感AI...
    近日,竹間智能推出了全新升級的一站式企業級情感人工智慧平臺Bot Factory DIY,這是自2017年其推出Bot Factory以來迎來的規模最大的一次更新。據悉全新平臺對27項重要技術和功能進行了升級,並發布6個企業級智能應用,實現一個平臺、N個場景、無需底層代碼技術便可讓小白創建出對話式機器人平臺。隨著人工智慧技術的不斷滲透,越來越多的企業開始藉助AI技術來優化自身業務流程,其中AI客服便是最典型的一個應用場景。
  • 用TensorForce快速搭建深度強化學習模型
    ▌框架為了便於研究人員快速搭建出強化學習模型首先搭建仿真環境如下圖:設計環境的接口及其與agent交互的過程仿真開始,init函數打開Gazebo並加載對應的導航環境,reset函數初始化機器人,execute函數接收到action後通過ROS發送對應的速度命令,Gazebo
  • 疫情期間,如何選擇「視頻面試、AI面試、招聘對話機器人」?
    (一)視頻面試主要解決傳統面試需要親身接觸的問題,當做出選擇時,核心要關注兩點:1、產品的操作便利性,即能否一鍵邀約、輕鬆觸發、過程記錄與流轉等等,因為畢竟用微信視頻可以搞定的事情,如果選擇一款專業的產品,更多還是要考慮與場景的結合性;2、穩定性,這一點尤為重要。
  • 北郵張慶恆:如何基於 rasa 搭建一個中文對話系統 (有源碼視頻)|...
    本文為大家介紹了一種新方法,即如何基於 rasa 搭建一個中文對話系統。在近期雷鋒網AI研習社舉辦的線上免費公開課上,來自北京郵電大學網絡技術研究院的張慶恆分享了基於 rasa nlu 構建自己的自然語言理解工具,並結合 rasa core 搭建對話系統框架的一些經驗,方便初學者入門,加深對對話系統的理解。本文根據分享者的直播視頻內容整理而成。
  • 我愛機器人 │ 搭建「花蟹機器人」【需報名】
    那這個周六就來深圳圖書館創客空間,一起來學習搭建一個花蟹機器人吧,看看誰能最先搭建好花蟹機器人,進行花蟹爬行比賽!!!活動主題  🦀️ 搭建「花蟹機器人」🤖活動對象  6-12歲青少年讀者活動時間  2019年9月21日活動地點  深圳圖書館  四樓創客空間主辦單位  深圳圖書館、深圳樂博樂博教育科技有限公司花蟹,中文名為遠海梭子蟹