您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>數(shù)值算法/人工智能>

深度學(xué)習(xí)在自然語言處理方面的應(yīng)用打造智能聊天機(jī)器人

大?。?/span>0.6 MB 人氣: 2017-10-10 需要積分:1

  作者:張俊林,中科院軟件所博士,技術(shù)書籍《這就是搜索引擎:核心技術(shù)詳解》、《大數(shù)據(jù)日知錄:架構(gòu)與算法》作者。曾擔(dān)任阿里巴巴、百度、新浪微博資深技術(shù)專家,目前是用友暢捷通工智能相關(guān)業(yè)務(wù)負(fù)責(zé)人,關(guān)注深度學(xué)習(xí)在自然語言處理方面的應(yīng)用。

  責(zé)編:周建?。▃houjd@csdn.net)

  本文為《程序員原創(chuàng)文章,未經(jīng)允許不得轉(zhuǎn)載,更多內(nèi)容請(qǐng)訂閱2016年《程序員》

  聊天機(jī)器人(也可以稱為語音助手、聊天助手、對(duì)話機(jī)器人等)是目前非常熱的一個(gè)人工智能研發(fā)與產(chǎn)品方向。很多大型互聯(lián)網(wǎng)公司投入重金研發(fā)相關(guān)技術(shù),并陸續(xù)推出了相關(guān)產(chǎn)品,比如蘋果Siri、微軟Cortana與小冰、Google Now、百度的“度秘”、亞馬遜藍(lán)牙音箱Echo內(nèi)置的語音助手Alexa、Facebook推出的語音助手M、Siri創(chuàng)始人新推出的Viv……

  究其原因在于大家都將聊天機(jī)器人定位為未來各種服務(wù)的入口,尤其是移動(dòng)端App及可穿戴設(shè)備場(chǎng)景下提供各種服務(wù)的入口。

  聊天機(jī)器人的類型

  目前市場(chǎng)上有各種類型的聊天機(jī)器人,比如有京東JIMI客服機(jī)器人,兒童教育機(jī)器人,小冰娛樂聊天機(jī)器人,Alexa家居控制、車載控制機(jī)器人,Viv全方位服務(wù)類型機(jī)器人等。這是從應(yīng)用方向?qū)α奶鞕C(jī)器人的一種劃分。

  如果對(duì)應(yīng)用目的或者技術(shù)手段進(jìn)行抽象,聊天機(jī)器人可以有以下兩種劃分方法。

  目標(biāo)驅(qū)動(dòng)(Goal Driven) VS 無目標(biāo)驅(qū)動(dòng)(Non-Goal Driven)聊天機(jī)器人

  目標(biāo)驅(qū)動(dòng)的聊天機(jī)器人指的是聊天機(jī)器人有明確的服務(wù)目標(biāo)或者服務(wù)對(duì)象,比如客服機(jī)器人、兒童教育機(jī)器人、類似Viv的提供天氣/訂票/訂餐等服務(wù)的服務(wù)機(jī)器人等,這種目標(biāo)驅(qū)動(dòng)的聊天機(jī)器人也可以稱作特定領(lǐng)域的聊天機(jī)器人。

  無目標(biāo)驅(qū)動(dòng)聊天機(jī)器人指的是聊天機(jī)器人并非為特定領(lǐng)域服務(wù)目的而開發(fā),比如純粹聊天或者出于娛樂聊天目的以及計(jì)算機(jī)游戲中的虛擬人物聊天機(jī)器人都屬于此類。這種無明確任務(wù)目標(biāo)的聊天機(jī)器人也可以稱作為開放領(lǐng)域的聊天機(jī)器人。

  檢索式 VS 生成式聊天機(jī)器人

  檢索式聊天機(jī)器人指的是事先存在一個(gè)對(duì)話庫,聊天系統(tǒng)接收到用戶輸入句子后,通過在對(duì)話庫中以搜索匹配的方式進(jìn)行應(yīng)答內(nèi)容提取。很明顯,這種方式對(duì)對(duì)話庫要求很高,需要對(duì)話庫足夠大,能夠盡量多地匹配用戶問句,否則會(huì)經(jīng)常出現(xiàn)找不到合適回答內(nèi)容的情形(因?yàn)樵谡鎸?shí)場(chǎng)景下用戶說什么都是可能的),但它的好處是回答質(zhì)量高,因?yàn)閷?duì)話庫中的內(nèi)容都是真實(shí)的對(duì)話數(shù)據(jù),表達(dá)比較自然。

  生成式聊天機(jī)器人則采取不同的技術(shù)思路,在接收到用戶輸入句子后,采用一定技術(shù)手段自動(dòng)生成一句話作為應(yīng)答,這個(gè)路線機(jī)器人的好處是可能覆蓋任意話題的用戶問句,但是缺點(diǎn)是生成應(yīng)答句子質(zhì)量很可能會(huì)存在問題,比如語句不通順、句法錯(cuò)誤等看上去比較低級(jí)的錯(cuò)誤。

  本文重點(diǎn)介紹開放領(lǐng)域、生成式的聊天機(jī)器人如何通過深度學(xué)習(xí)技術(shù)來構(gòu)建,很明顯這是最難處理的一種情況。

  好聊天機(jī)器人應(yīng)該具備的特點(diǎn)

  一般而言,一個(gè)優(yōu)秀的開放領(lǐng)域聊天機(jī)器人應(yīng)該具備如下特點(diǎn):

  首先,針對(duì)用戶的回答或者聊天內(nèi)容,機(jī)器人產(chǎn)生的應(yīng)答句應(yīng)該和用戶的問句語義一致并邏輯正確,如果聊天機(jī)器人答非所問或者不知所云,或者總是回答說“對(duì)不起,我不理解您的意思”,無疑是毀滅性的用戶體驗(yàn)。

  其次,回答應(yīng)該語法正確。這個(gè)看似是基本要求,但是對(duì)于采用生成式對(duì)話技術(shù)的機(jī)器人來說其實(shí)有一定困難,因?yàn)闄C(jī)器人的回答是一個(gè)字一個(gè)字生成,要保證這種生成的若干個(gè)字句法正確,并不容易做得那么完美。

  再次,應(yīng)答應(yīng)該是有趣、多樣而非沉悶無聊的。盡管有些應(yīng)答看上去語義沒什么問題,但目前技術(shù)訓(xùn)練出的聊天機(jī)器人很容易產(chǎn)生“安全回答”的問題,就是說,不論用戶輸入什么句子,聊天機(jī)器人總是回答“好啊”、“是嗎”等諸如此類,看上去語義說得過去,但是這給人很無聊的感覺。

  此外,聊天機(jī)器人應(yīng)該給人“個(gè)性表達(dá)一致”的感覺。因?yàn)槿藗兒土奶鞕C(jī)器人交流,從內(nèi)心習(xí)慣還是將溝通對(duì)象想象成一個(gè)人,而一個(gè)人應(yīng)該有相對(duì)一致的個(gè)性特征,如果用戶連續(xù)問兩次“你多大了”,而聊天機(jī)器人分別給出不同的歲數(shù),那么會(huì)給人交流對(duì)象精神分裂的印象,這即是典型的個(gè)性表達(dá)不一致。而好的聊天機(jī)器人應(yīng)該對(duì)外體現(xiàn)出各種基本背景信息以及愛好、語言風(fēng)格等方面一致的回答。

  幾種主流技術(shù)思路

  當(dāng)前聊天機(jī)器人的幾種主流技術(shù)包括:基于人工模板、基于檢索、基于機(jī)器翻譯技術(shù),以及基于深度學(xué)習(xí)的聊天機(jī)器人。

  基于 人工模板的技術(shù)通過人工設(shè)定對(duì)話場(chǎng)景,并對(duì)每個(gè)場(chǎng)景編寫針對(duì)性的對(duì)話模板,模板描述了用戶可能的問題以及對(duì)應(yīng)的答案。這個(gè)技術(shù)路線的好處是精準(zhǔn),缺點(diǎn)是需要大量人工工作,而且可擴(kuò)展性差,需要一個(gè)場(chǎng)景一個(gè)場(chǎng)景去擴(kuò)展。目前市場(chǎng)上各種類似于Siri的對(duì)話機(jī)器人中都大量使用了人工模板的技術(shù),但其精準(zhǔn)性是其他方法還無法比擬的。

  基于 檢索技術(shù)的聊天機(jī)器人則走的是類似搜索引擎的路線,事先存儲(chǔ)好對(duì)話庫并建立索引,根據(jù)用戶問句,在對(duì)話庫中進(jìn)行模糊匹配找到最合適的應(yīng)答內(nèi)容。

  基于 機(jī)器翻譯技術(shù)的聊天機(jī)器人把聊天過程比擬成機(jī)器翻譯過程,就是說將用戶輸入聊天信息Message,翻譯成聊天機(jī)器人應(yīng)答Response的過程類似于把英語翻譯成漢語。基于這種假設(shè),就完全可以將統(tǒng)計(jì)機(jī)器翻譯領(lǐng)域相對(duì)成熟的技術(shù)直接應(yīng)用到聊天機(jī)器人開發(fā)中。

  基于 深度學(xué)習(xí)的聊天機(jī)器人技術(shù)是本文后續(xù)內(nèi)容主要介紹的技術(shù)路線,總體而言,絕大多數(shù)技術(shù)都是在Encoder-Decoder(或者稱作Sequence to Sequence)深度學(xué)習(xí)技術(shù)框架下改進(jìn)的。使用深度學(xué)習(xí)技術(shù)來開發(fā)聊天機(jī)器人相對(duì)傳統(tǒng)方法來說,整體思路非常簡(jiǎn)單并可擴(kuò)展。

  利用深度學(xué)習(xí)構(gòu)建聊天機(jī)器人

  如上所述,目前對(duì)于開放領(lǐng)域生成式聊天機(jī)器人技術(shù)而言,多數(shù)采用了Encoder-Decoder框架,所以這里首先描述Encoder-Decoder框架技術(shù)原理。然后分別針對(duì)聊天機(jī)器人研究領(lǐng)域需要特殊考慮的主要問題及其對(duì)應(yīng)的解決方案進(jìn)行講解,這些主要問題分別是:多輪會(huì)話中的上下文機(jī)制、“安全回答”以及個(gè)性信息一致性問題。

  Encoder-Decoder框架

  Encoder-Decoder框架可以看作一種文本處理領(lǐng)域的研究模式,應(yīng)用場(chǎng)景異常廣泛,不僅可用在對(duì)話機(jī)器人領(lǐng)域,還可以應(yīng)用在機(jī)器翻譯、文本摘要、句法分析等各種場(chǎng)合。圖1是文本處理領(lǐng)域里常用的Encoder-Decoder框架最抽象的一種表示。Encoder-Decoder框架可以直觀地理解為適合處理由一個(gè)句子(或篇章)生成另外一個(gè)句子(或篇章)的通用處理模型。對(duì)于句子對(duì)(X,Y),我們的目標(biāo)是給定輸入句子X,期待通過Encoder-Decoder框架來生成目標(biāo)句子Y。X和Y可以是同一種語言,也可以是兩種不同的語言。而X和Y分別由各自的單詞序列構(gòu)成:

  深度學(xué)習(xí)在自然語言處理方面的應(yīng)用打造智能聊天機(jī)器人

  Encoder顧名思義就是對(duì)輸入句子X進(jìn)行編碼,將輸入句子通過非線性變換轉(zhuǎn)化為中間語義表示C:

  深度學(xué)習(xí)在自然語言處理方面的應(yīng)用打造智能聊天機(jī)器人

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?