自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

揭秘!機(jī)器人和你對話時(shí)在想什么?

企業(yè)動態(tài)
為什么聊天機(jī)器人越來越普及?聊天機(jī)器人不僅可以節(jié)省時(shí)間,提升效率,還能一天24小時(shí)提供服務(wù),更是可以減少誤差。聊天機(jī)器人背后的問題原理是什么?效率如何提升?就是今天我們要了解的內(nèi)容。本篇內(nèi)容已被收錄于ACL2019,希望對你有所幫助。

 ????為什么聊天機(jī)器人越來越普及?聊天機(jī)器人不僅可以節(jié)省時(shí)間,提升效率,還能一天24小時(shí)提供服務(wù),更是可以減少誤差。聊天機(jī)器人背后的問題原理是什么?效率如何提升?就是今天我們要了解的內(nèi)容。本篇內(nèi)容已被收錄于ACL2019,希望對你有所幫助。

1.背景

在Chatbot整體解決方案中, 既有面向任務(wù)型的taskbot(諸如訂機(jī)票、查天氣等), 也有更偏向知識問答的qabot,而在客服場景下,最基礎(chǔ)的類型也是這類。如果從知識庫的形式來區(qū)分qabot,可以有 基于「文檔」的doc-qabot、基于「知識圖譜」的kg-qabot、基于「問答對」的faq-qabot等。我們這里重點(diǎn)關(guān)注的是最后一種faq-qabot(也簡稱faqbot), 這種形式的方案對用戶而言易理解易維護(hù),也是目前chatbot解決方案中不可缺的一部分。

faqbot就是將query匹配到一條「問答對」上,從技術(shù)的角度看,有兩大類方法, 一是text classification, 二是text matching,它們各有適合的場景,前者適合咨詢量大且比較穩(wěn)定的faq,后者適合長尾或時(shí)常變化的faq。

店小蜜是我們提供給阿里平臺商家的一套智能客服解決方案。在店小蜜中, 基于Faq的問答是個(gè)很基礎(chǔ)的部分,我們在這個(gè)領(lǐng)域,在文本分類和文本匹配上進(jìn)行了各方面的研究和實(shí)踐, 在本篇中重點(diǎn)對文本匹配的基礎(chǔ)模型進(jìn)行介紹。

「文本匹配」是NLP方向的一個(gè)重要研究領(lǐng)域,有著悠久的歷史,很多NLP任務(wù)都與此相關(guān),比如 natual language inference、parahparase identification、answer selection等,都可以歸結(jié)成「文本匹配」問題。

有很多人研究這個(gè)課題, 當(dāng)前優(yōu)秀的匹配模型有哪些?這些模型有什么異同?這些模型存在哪些問題?這些都是我們展開這個(gè)項(xiàng)目需要先分析和回答的問題。我們通過分析SNLI榜單上的模型,有幾個(gè)結(jié)論:

  • 優(yōu)秀的匹配模型都可以歸納成embed-encode-interacte-aggregate-predict五個(gè)步驟, interact部分主要是做inter-sentence alignment;
  • 在interact步驟中的對齊操作,設(shè)計(jì)會比較復(fù)雜;而且很多模型只有一次interact步驟;
  • 也有些更深的模型結(jié)構(gòu),會做多次的inter-sentence alignment, 但因?yàn)檩^深的模型面臨著梯度消失、難以訓(xùn)練的問題;
  • 不管是參數(shù)量還是響應(yīng)時(shí)間,支撐像店小蜜這樣對實(shí)時(shí)性能要求比較高的場景,都不是很理想。

所以我們在設(shè)計(jì)的時(shí)候, 要求我們的模型在更少的參數(shù)量、更簡潔的模型結(jié)構(gòu)、更少的inference cost, 保證更容易訓(xùn)練、更適合部署到生產(chǎn)環(huán)境, 在這幾個(gè)前提下, 我們也希望能借鑒深層網(wǎng)絡(luò)的優(yōu)勢,讓我們可以很方便地加深我們的網(wǎng)絡(luò)層次, 讓模型有更強(qiáng)的表達(dá)能力。

2.模型

我們通過對學(xué)術(shù)界提出的各種模型,諸如Decomposable Attention Model、CAFE、DIIN等, 歸納總結(jié),一個(gè)匹配模型的整體框架基本上有Embedding Layer、Encoder Layer、Interaction Layer、Aggregation Layer和Prediction Layer五層, 只是每一層都有不同的設(shè)計(jì),我們實(shí)現(xiàn)一種可插拔的匹配模型框架, 每層都有一些典型的實(shí)現(xiàn)。

??

??

為了增強(qiáng)我們模型框架的表達(dá)能力, 我們將Encoder+Interaction Layer打包成一個(gè)Block, 通過堆疊多個(gè)Block, 通過多次的inter-sentence alignment,可以讓我們的模型更充分地理解兩句文本之間的匹配關(guān)系。

??

??

我們基于這種框架,通過大量試驗(yàn)得到一個(gè)模型結(jié)構(gòu)RE2, 可以在各類公開數(shù)據(jù)集、和我們自己的業(yè)務(wù)數(shù)據(jù)上都能得到最優(yōu)的結(jié)果,如下圖所示。

??

??

RE2包括有N個(gè)Block, 多個(gè)Block的參數(shù)完全獨(dú)立。在每個(gè)Block內(nèi)有一個(gè)encoder產(chǎn)出contextual representation, 然后將encoder的輸入和輸出拼在一起,做inter-sentence alignment,之后通過fusion得到Block的輸出。第i個(gè)Block的輸出,會通過Augmented Residual Connection的方式與這個(gè)Block的輸入進(jìn)行融合, 作為第i+1個(gè)Block的輸入。

下面我們詳細(xì)介紹每個(gè)部分:

2.1 Augmented Residual Connection

??

??

在interaction layer的輸入中,存在三種信息, 一是original point-wise information, 在這里就是原始的詞向量,在每個(gè)Block中都會使用這份信息;二是通過encoder編碼得到的contextual information;三是之前兩層Block經(jīng)過對齊加工過的信息。這三份信息,對最終的結(jié)果都有不可替代的作用, 在試驗(yàn)分析中會展顯這一點(diǎn)。在我們這里encoder使用兩層CNN(SAME padding)。

2.2 Alignment Layer

這塊我們使用Decomposable Attention Model(Parikh et al., 2016)的對齊機(jī)制:

??

??

2.3 Fusion Layer

這塊我們參考CAFE中對concat、multiply、sub三個(gè)操作分別通過FM計(jì)算三個(gè)scalar特征值, 我們針對這三個(gè)操作, 用獨(dú)立的三個(gè)全連接網(wǎng)絡(luò)計(jì)算三個(gè)vector特征, 之后將三個(gè)vector拼接并用進(jìn)行projection。

??

??

2.4 Prediction Layer

輸出層就比較常規(guī),針對文本相似度匹配這類任務(wù), 我們使用對稱的形式:

??

??

針對文本蘊(yùn)含、問答匹配這類任務(wù), 我們使用

??

??

其中H表示多層全聯(lián)接網(wǎng)絡(luò)。

3.試驗(yàn)

3.1 數(shù)據(jù)集

要驗(yàn)證模型效果,我們選擇三類NLP任務(wù), Nature Language Inference、Paraphrase Identification、Question Answering, 選用SNLI、MultiNLI、SciTail、Quora Question Pair、Wikiqa這樣幾份公開數(shù)據(jù)集。評估指標(biāo),前兩個(gè)任務(wù)選用Acc, 后一個(gè)任務(wù)選擇MAP/MRR。

3.2 實(shí)現(xiàn)細(xì)節(jié)

我們用Tensorflow實(shí)現(xiàn)模型, 用Nvidia P100 GPU 訓(xùn)練模型, 英文數(shù)據(jù)集使用NLTK分詞并統(tǒng)一轉(zhuǎn)小寫、去除所有標(biāo)點(diǎn)。序列長度不做限制,每個(gè)batch中的序列統(tǒng)一pad到這個(gè)batch中最長序列長度,詞向量選用840B-300d Glove向量,在訓(xùn)練過程中fix住,所有OOV詞初始化為0向量,訓(xùn)練中不更新這些參數(shù)。所有其他參數(shù)使用He initialization, 并用Weight normalization歸一化;每個(gè)卷積層或全聯(lián)接層之后,有dropout層,keep rate設(shè)為0.8;輸出層是兩層前饋網(wǎng)絡(luò);Block數(shù)量在1-5之間調(diào)參。

在這幾份公開數(shù)據(jù)集上, 隱層大小設(shè)為150;激活函數(shù)使用GeLU激活函數(shù)。優(yōu)化算法選用Adam,學(xué)習(xí)率先線性warmup然后指數(shù)方式衰減,初始學(xué)習(xí)率在1e-4~ 3e-3之間調(diào)參;batch size在64~512之間調(diào)參。

3.3 結(jié)果

我們在這幾份公開數(shù)據(jù)集上,均取得state-of-art的結(jié)果(不使用BERT的情況下):

??

??

同樣這個(gè)模型性能上也有很良好的表現(xiàn),參數(shù)量和inference speed都有很強(qiáng)的競爭力, 從而可以在我們店小蜜這樣的工業(yè)場景中得到廣泛應(yīng)用,給我們匹配準(zhǔn)確率這樣的業(yè)務(wù)指標(biāo)上帶來顯著的提升。

??

??

3.4 結(jié)果分析

★ 3.4.1 Ablation study

我們構(gòu)造了四個(gè)baseline模型, 分別是:

  • 1) w/o enc-in: alignment layer只使用encoder的輸出;
  • 2) w/o residual:去除所有block之間的residual 連接;
  • 3) w/o enc-out: 去除所有encoder,alignment layer只使用block的輸入;
  • 4) highway: 使用highway 網(wǎng)絡(luò)融合encoder的輸入和輸出,而不是直接拼接。

??

??

在SNLI上得到的結(jié)果如圖所示。通過1)3)和完整模型的對比, 我們發(fā)現(xiàn)alignment layer只使用encoder的輸出或只使用encoder的輸入,都會得到很差的結(jié)果,說明原始的詞向量信息、之前Block產(chǎn)出的align信息、當(dāng)前Block中encoder產(chǎn)出的上下文信息,對最終的結(jié)果都是缺一不可的。通過2)和完整模型的對比,我們發(fā)現(xiàn)Block之間residual連接發(fā)揮了作用;而4)和完整模型的對比顯示,我們直接拼接的方式是個(gè)更優(yōu)解。

★ 3.4.2 Block數(shù)量的影響

如上圖所示,通過Augmented Residual Connection連接的網(wǎng)絡(luò),更容易在深層網(wǎng)絡(luò)中生效,能夠支撐更深的網(wǎng)絡(luò)層次,而其他baseline 模型,在Block數(shù)量大于3時(shí), 效果會有很明顯的下降,并不能支撐更深層模型的應(yīng)用。

★ 3.4.3 Occlusion sensitivity

前面講過, 在alignment layer的輸入中,其實(shí)是三類信息的拼接:原始的詞向量信息、之前Block產(chǎn)出的align信息、當(dāng)前Block中encoder產(chǎn)出的上下文信息, 為了更好地理解這三份信息對最終結(jié)果的影響,我們參照機(jī)器視覺中相關(guān)工作, 進(jìn)行了Occlusion sensitivity的分析。我們在SNLI-dev數(shù)據(jù)上,使用包含3個(gè)Block的一個(gè)RE2模型,分別將某層Block中alignment layer輸入特征的某部分mask成0向量,然后觀察在entailment、neutral 、 contradiction三個(gè)類別上的準(zhǔn)確率變化:

??

??

可以得到幾個(gè)分析結(jié)論:

  • mask原始的詞向量信息, 會對neutral和contradiction類的識別帶來比較大的損失, 說明原始詞向量信息在判斷兩個(gè)句子差異性上發(fā)揮著重要作用;
  • mask之前Block產(chǎn)出的alignment信息, 會對neutral和contradiction類帶來比較大的影響,尤其是最后一層Block的這部分信息對最終的結(jié)果影響最大, 說明residual connection使得當(dāng)前Block能更準(zhǔn)確地關(guān)注應(yīng)該關(guān)注的部分;
  • mask住Encoder的輸出結(jié)果, 對entailment的影響更大,因?yàn)閑ncoder是對phrase-level 的語義進(jìn)行建模, encoder的產(chǎn)出更有助于entailment的判斷。

★ 3.4.4 Case study

??

??

我們選了一個(gè)具體的case分析多層Block的作用。

這個(gè)case中, 兩句話分別是“A green bike is parked next to a door”“The bike is chained to the door”。在第一層Block中,是詞匯/短語級別的對齊, 而“parked next to”和“chained to”之間只有很弱的連接,而在第三層Block中, 可以看到兩者已經(jīng)對齊, 從而模型可以根據(jù)“parked next to”和“chained to”之間的關(guān)系,對兩句話整體的語義關(guān)系做出判斷。從中也可以看到,隨著Block的遞增, 每層Block的alignment關(guān)注的信息都隨之進(jìn)行著調(diào)整,通過不止一次的alignment, 可以讓模型更好地理解兩句話之間的語義關(guān)系。

4. 業(yè)務(wù)結(jié)果

在店小蜜中,自定義知識庫是由商家維護(hù),我們提供知識定位方案;在店小蜜無法給出準(zhǔn)確回復(fù)時(shí), 我們會推薦相關(guān)知識,這里的文本匹配模型,也主要用在店小蜜的這兩個(gè)業(yè)務(wù)模塊。我們重點(diǎn)優(yōu)化了7個(gè)大類行業(yè)模型(服飾、美妝洗護(hù)、鞋、電器、茶酒零食、母嬰、數(shù)碼)、一個(gè)大盤基礎(chǔ)模型和相關(guān)知識推薦模型。在保證覆蓋率的情況下, 7類主營行業(yè)準(zhǔn)確率從不到80%提升到89.5%,大盤基礎(chǔ)模型準(zhǔn)確率提升到84%,知識推薦有效點(diǎn)擊從14%左右提升到19.5%。

店小蜜自定義知識庫后臺配置:

??

??

店小蜜旺旺咨詢示例:

??

??

??

??

總結(jié)展望

我們在工業(yè)場景下,實(shí)現(xiàn)了一個(gè)簡潔同時(shí)具有很強(qiáng)表達(dá)能力的模型框架,并在公開數(shù)據(jù)集和業(yè)務(wù)數(shù)據(jù)集上取得很好的結(jié)果。

  • 這種「通用」的語義匹配模型,已經(jīng)對當(dāng)前的業(yè)務(wù)帶來很大的提升, 但是,針對店小蜜這樣的業(yè)務(wù)場景, 是否在不同行業(yè)不同場景下可以得到更合適更有特色的解決方案,比如融合進(jìn)商品知識、活動知識等外部知識做文本匹配。
  • 怎么進(jìn)一步完善FaqBot的技術(shù)體系,比如在文本分類、Fewshot分類等方向,也是我們團(tuán)隊(duì)的一個(gè)重點(diǎn)工作。
  • 隨著BERT模型的出現(xiàn),NLP各項(xiàng)任務(wù)都達(dá)到了新的SOTA。然而BERT過于龐大,對計(jì)算資源的需求很高,因此我們想利用Teacher-Student框架將BERT模型的能力遷移到RE2模型上。

 

責(zé)任編輯:武曉燕 來源: 51CTO專欄
相關(guān)推薦

2020-10-23 11:09:53

人工智能

2018-03-20 16:40:07

天貓精靈阿里對話

2022-07-05 11:32:16

人工智能機(jī)器人心理健康

2009-03-11 11:12:24

2017-03-30 09:02:50

AI機(jī)器人會話

2024-02-04 09:43:53

機(jī)器人物聯(lián)網(wǎng)

2017-10-09 16:32:04

2023-05-17 11:05:16

機(jī)器人深度學(xué)習(xí)算法

2021-08-19 15:44:20

機(jī)器人人工智能機(jī)器學(xué)習(xí)

2023-02-16 14:02:28

人工智能機(jī)器人

2023-07-20 10:49:18

人工智能機(jī)器人

2023-09-25 14:56:19

機(jī)器人

2017-08-03 12:31:34

白熊視頻人工智能程序員

2023-03-26 19:38:09

2020-10-19 17:41:59

華為云AI機(jī)器人

2017-05-08 12:05:51

機(jī)器人智慧養(yǎng)老人工智能

2021-06-11 16:50:12

人工智能AI機(jī)器人

2015-03-09 17:50:56

GMIC

2023-09-08 11:42:19

2023-08-25 15:40:24

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號