中文字幕无码久久精品,13—14同岁无码A片,99热门精品一区二区三区无码,菠萝菠萝蜜在线观看视频高清1

您當(dāng)前的位置是:  首頁(yè) > 資訊 > 文章精選 >
 首頁(yè) > 資訊 > 文章精選 >

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

2019-08-19 09:43:56   作者:空崖   來(lái)源:阿里技術(shù)微信公眾號(hào)   評(píng)論:0  點(diǎn)擊:


 
  阿里妹導(dǎo)讀:為什么聊天機(jī)器人越來(lái)越普及?聊天機(jī)器人不僅可以節(jié)省時(shí)間,提升效率,還能一天24小時(shí)提供服務(wù),更是可以減少誤差。聊天機(jī)器人背后的問(wèn)題原理是什么?效率如何提升?就是今天我們要了解的內(nèi)容。本篇內(nèi)容已被收錄于ACL2019,希望對(duì)你有所幫助。
  本篇內(nèi)容已被ACL2019收錄“Simple and Effective Text Matching with Richer Alignment Features”。
  1.背景
  在Chatbot整體解決方案中,既有面向任務(wù)型的taskbot(諸如訂機(jī)票、查天氣等),也有更偏向知識(shí)問(wèn)答的qabot,而在客服場(chǎng)景下,最基礎(chǔ)的類型也是這類。如果從知識(shí)庫(kù)的形式來(lái)區(qū)分qabot,可以有基于「文檔」的doc-qabot、基于「知識(shí)圖譜」的kg-qabot、基于「問(wèn)答對(duì)」的faq-qabot等。我們這里重點(diǎn)關(guān)注的是最后一種faq-qabot(也簡(jiǎn)稱faqbot),這種形式的方案對(duì)用戶而言易理解易維護(hù),也是目前chatbot解決方案中不可缺的一部分。
  faqbot就是將query匹配到一條「問(wèn)答對(duì)」上,從技術(shù)的角度看,有兩大類方法,一是textclassification,二是textmatching,它們各有適合的場(chǎng)景,前者適合咨詢量大且比較穩(wěn)定的faq,后者適合長(zhǎng)尾或時(shí)常變化的faq。
  店小蜜是我們提供給阿里平臺(tái)商家的一套智能客服解決方案。在店小蜜中,基于Faq的問(wèn)答是個(gè)很基礎(chǔ)的部分,我們?cè)谶@個(gè)領(lǐng)域,在文本分類和文本匹配上進(jìn)行了各方面的研究和實(shí)踐,在本篇中重點(diǎn)對(duì)文本匹配的基礎(chǔ)模型進(jìn)行介紹。
  「文本匹配」是NLP方向的一個(gè)重要研究領(lǐng)域,有著悠久的歷史,很多NLP任務(wù)都與此相關(guān),比如natual language inference、parahparase identification、answer selection等,都可以歸結(jié)成「文本匹配」問(wèn)題。
  有很多人研究這個(gè)課題,當(dāng)前優(yōu)秀的匹配模型有哪些?這些模型有什么異同?這些模型存在哪些問(wèn)題?這些都是我們展開(kāi)這個(gè)項(xiàng)目需要先分析和回答的問(wèn)題。我們通過(guò)分析SNLI榜單上的模型,有幾個(gè)結(jié)論:
  • 優(yōu)秀的匹配模型都可以歸納成embed-encode-interacte-aggregate-predict五個(gè)步驟,interact部分主要是做inter-sentence alignment;
  • 在interact步驟中的對(duì)齊操作,設(shè)計(jì)會(huì)比較復(fù)雜;而且很多模型只有一次interact步驟;
  • 也有些更深的模型結(jié)構(gòu),會(huì)做多次的inter-sentence alignment,但因?yàn)檩^深的模型面臨著梯度消失、難以訓(xùn)練的問(wèn)題;
  • 不管是參數(shù)量還是響應(yīng)時(shí)間,支撐像店小蜜這樣對(duì)實(shí)時(shí)性能要求比較高的場(chǎng)景,都不是很理想。
  所以我們?cè)谠O(shè)計(jì)的時(shí)候,要求我們的模型在更少的參數(shù)量、更簡(jiǎn)潔的模型結(jié)構(gòu)、更少的inferencecost,保證更容易訓(xùn)練、更適合部署到生產(chǎn)環(huán)境,在這幾個(gè)前提下,我們也希望能借鑒深層網(wǎng)絡(luò)的優(yōu)勢(shì),讓我們可以很方便地加深我們的網(wǎng)絡(luò)層次,讓模型有更強(qiáng)的表達(dá)能力。
  2.模型
  我們通過(guò)對(duì)學(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,通過(guò)堆疊多個(gè)Block,通過(guò)多次的inter-sentence alignment,可以讓我們的模型更充分地理解兩句文本之間的匹配關(guān)系。
  我們基于這種框架,通過(guò)大量試驗(yàn)得到一個(gè)模型結(jié)構(gòu)RE2,可以在各類公開(kāi)數(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,之后通過(guò)fusion得到Block的輸出。第i個(gè)Block的輸出,會(huì)通過(guò)Augmented Residual Connection的方式與這個(gè)Block的輸入進(jìn)行融合,作為第i+1個(gè)Block的輸入。
  下面我們?cè)敿?xì)介紹每個(gè)部分:
  2.1Augmented Residual Connection
  連續(xù)的Block之間用Augmented Residual Connection來(lái)連接,我們將第n個(gè)Block第i個(gè)位置的輸出記作:是個(gè)全零的向量。
  第一個(gè)Block的輸入為,也就是Embeddling Layer的輸出,在Augmented Residual Connection中,第n個(gè)block的輸入為:
  其中[;]表示拼接操作;
  在interaction layer的輸入中,存在三種信息,一是originalpoint-wise information,在這里就是原始的詞向量,在每個(gè)Block中都會(huì)使用這份信息;二是通過(guò)encoder編碼得到的contextual information;三是之前兩層Block經(jīng)過(guò)對(duì)齊加工過(guò)的信息。這三份信息,對(duì)最終的結(jié)果都有不可替代的作用,在試驗(yàn)分析中會(huì)展顯這一點(diǎn)。在我們這里encoder使用兩層CNN(SAME padding)。
  2.2Alignment Layer
  這塊我們使用Decomposable Attention Model(Parikhetal。,2016)的對(duì)齊機(jī)制:
  2.3Fusion Layer
  這塊我們參考CAFE中對(duì)concat、multiply、sub三個(gè)操作分別通過(guò)FM計(jì)算三個(gè)scalar特征值,我們針對(duì)這三個(gè)操作,用獨(dú)立的三個(gè)全連接網(wǎng)絡(luò)計(jì)算三個(gè)vector特征,之后將三個(gè)vector拼接并用進(jìn)行projection。
  2.4Prediction Layer
  輸出層就比較常規(guī),針對(duì)文本相似度匹配這類任務(wù),我們使用對(duì)稱的形式:
  針對(duì)文本蘊(yùn)含、問(wè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這樣幾份公開(kāi)數(shù)據(jù)集。評(píng)估指標(biāo),前兩個(gè)任務(wù)選用Acc,后一個(gè)任務(wù)選擇MAP/MRR。
  3.2實(shí)現(xiàn)細(xì)節(jié)
  我們用Tensorflow實(shí)現(xiàn)模型,用NvidiaP100GPU訓(xùn)練模型,英文數(shù)據(jù)集使用NLTK分詞并統(tǒng)一轉(zhuǎn)小寫、去除所有標(biāo)點(diǎn)。序列長(zhǎng)度不做限制,每個(gè)batch中的序列統(tǒng)一pad到這個(gè)batch中最長(zhǎng)序列長(zhǎng)度,詞向量選用840B-300dGlove向量,在訓(xùn)練過(guò)程中fix住,所有OOV詞初始化為0向量,訓(xùn)練中不更新這些參數(shù)。所有其他參數(shù)使用Heinitialization,并用Weightnormalization歸一化;每個(gè)卷積層或全聯(lián)接層之后,有dropout層,keeprate設(shè)為0.8;輸出層是兩層前饋網(wǎng)絡(luò);Block數(shù)量在1-5之間調(diào)參。
  在這幾份公開(kāi)數(shù)據(jù)集上,隱層大小設(shè)為150;激活函數(shù)使用GeLU激活函數(shù)。優(yōu)化算法選用Adam,學(xué)習(xí)率先線性warmup然后指數(shù)方式衰減,初始學(xué)習(xí)率在1e-4~3e-3之間調(diào)參;batchsize在64~512之間調(diào)參。
  3.3結(jié)果
  我們?cè)谶@幾份公開(kāi)數(shù)據(jù)集上,均取得state-of-art的結(jié)果(不使用BERT的情況下):
  同樣這個(gè)模型性能上也有很良好的表現(xiàn),參數(shù)量和inferencespeed都有很強(qiáng)的競(jìng)爭(zhēng)力,從而可以在我們店小蜜這樣的工業(yè)場(chǎng)景中得到廣泛應(yīng)用,給我們匹配準(zhǔn)確率這樣的業(yè)務(wù)指標(biāo)上帶來(lái)顯著的提升。
  3.4結(jié)果分析
  ★3.4.1Ablation study
  我們構(gòu)造了四個(gè)baseline模型,分別是:
  • 1)w/oenc-in:alignment layer只使用encoder的輸出;
  • 2)w/oresidual:去除所有block之間的residual連接;
  • 3)w/oenc-out:去除所有encoder,alignment layer只使用block的輸入;
  • 4)highway:使用highway網(wǎng)絡(luò)融合encoder的輸入和輸出,而不是直接拼接。
  在SNLI上得到的結(jié)果如圖所示。通過(guò)1)3)和完整模型的對(duì)比,我們發(fā)現(xiàn)alignmentlayer只使用encoder的輸出或只使用encoder的輸入,都會(huì)得到很差的結(jié)果,說(shuō)明原始的詞向量信息、之前Block產(chǎn)出的align信息、當(dāng)前Block中encoder產(chǎn)出的上下文信息,對(duì)最終的結(jié)果都是缺一不可的。通過(guò)2)和完整模型的對(duì)比,我們發(fā)現(xiàn)Block之間residual連接發(fā)揮了作用;而4)和完整模型的對(duì)比顯示,我們直接拼接的方式是個(gè)更優(yōu)解。
  ★3.4.2Block數(shù)量的影響
  如上圖所示,通過(guò)Augmented Residual Connection連接的網(wǎng)絡(luò),更容易在深層網(wǎng)絡(luò)中生效,能夠支撐更深的網(wǎng)絡(luò)層次,而其他baseline模型,在Block數(shù)量大于3時(shí),效果會(huì)有很明顯的下降,并不能支撐更深層模型的應(yīng)用。
  ★3.4.3Occlusion sensitivity
  前面講過(guò),在alignmentlayer的輸入中,其實(shí)是三類信息的拼接:原始的詞向量信息、之前Block產(chǎn)出的align信息、當(dāng)前Block中encoder產(chǎn)出的上下文信息,為了更好地理解這三份信息對(duì)最終結(jié)果的影響,我們參照機(jī)器視覺(jué)中相關(guān)工作,進(jìn)行了Occlusion sensitivity的分析。我們?cè)赟NLI-dev數(shù)據(jù)上,使用包含3個(gè)Block的一個(gè)RE2模型,分別將某層Block中alignmentlayer輸入特征的某部分mask成0向量,然后觀察在entailment、neutral、contradiction三個(gè)類別上的準(zhǔn)確率變化:
  可以得到幾個(gè)分析結(jié)論:
  • mask原始的詞向量信息,會(huì)對(duì)neutral和contradiction類的識(shí)別帶來(lái)比較大的損失,說(shuō)明原始詞向量信息在判斷兩個(gè)句子差異性上發(fā)揮著重要作用;
  • mask之前Block產(chǎn)出的alignment信息,會(huì)對(duì)neutral和contradiction類帶來(lái)比較大的影響,尤其是最后一層Block的這部分信息對(duì)最終的結(jié)果影響最大,說(shuō)明residualconnection使得當(dāng)前Block能更準(zhǔn)確地關(guān)注應(yīng)該關(guān)注的部分;
  • mask住Encoder的輸出結(jié)果,對(duì)entailment的影響更大,因?yàn)閑ncoder是對(duì)phrase-level的語(yǔ)義進(jìn)行建模,encoder的產(chǎn)出更有助于entailment的判斷;
  ★3.4.4 Casestudy
  我們選了一個(gè)具體的case分析多層Block的作用。
  這個(gè)case中, 兩句話分別是“A green bike is parked next to a door”“The bike is chained to the door”。在第一層Block中,是詞匯/短語(yǔ)級(jí)別的對(duì)齊, 而“parked next to”和“chained to”之間只有很弱的連接,而在第三層Block中,可以看到兩者已經(jīng)對(duì)齊,從而模型可以根據(jù)“parked next to”和“chained to”之間的關(guān)系,對(duì)兩句話整體的語(yǔ)義關(guān)系做出判斷。從中也可以看到,隨著B(niǎo)lock的遞增,每層Block的alignment關(guān)注的信息都隨之進(jìn)行著調(diào)整,通過(guò)不止一次的alignment,可以讓模型更好地理解兩句話之間的語(yǔ)義關(guān)系。
  4.業(yè)務(wù)結(jié)果
  在店小蜜中,自定義知識(shí)庫(kù)是由商家維護(hù),我們提供知識(shí)定位方案;在店小蜜無(wú)法給出準(zhǔn)確回復(fù)時(shí),我們會(huì)推薦相關(guān)知識(shí),這里的文本匹配模型,也主要用在店小蜜的這兩個(gè)業(yè)務(wù)模塊。我們重點(diǎn)優(yōu)化了7個(gè)大類行業(yè)模型(服飾、美妝洗護(hù)、鞋、電器、茶酒零食、母嬰、數(shù)碼)、一個(gè)大盤基礎(chǔ)模型和相關(guān)知識(shí)推薦模型。在保證覆蓋率的情況下,7類主營(yíng)行業(yè)準(zhǔn)確率從不到80%提升到89.5%,大盤基礎(chǔ)模型準(zhǔn)確率提升到84%,知識(shí)推薦有效點(diǎn)擊從14%左右提升到19.5%。
  店小蜜自定義知識(shí)庫(kù)后臺(tái)配置:
  店小蜜旺旺咨詢示例:
  總結(jié)展望
  我們?cè)诠I(yè)場(chǎng)景下,實(shí)現(xiàn)了一個(gè)簡(jiǎn)潔同時(shí)具有很強(qiáng)表達(dá)能力的模型框架,并在公開(kāi)數(shù)據(jù)集和業(yè)務(wù)數(shù)據(jù)集上取得很好的結(jié)果。
  這種「通用」的語(yǔ)義匹配模型,已經(jīng)對(duì)當(dāng)前的業(yè)務(wù)帶來(lái)很大的提升,但是,針對(duì)店小蜜這樣的業(yè)務(wù)場(chǎng)景,是否在不同行業(yè)不同場(chǎng)景下可以得到更合適更有特色的解決方案,比如融合進(jìn)商品知識(shí)、活動(dòng)知識(shí)等外部知識(shí)做文本匹配。
  怎么進(jìn)一步完善FaqBot的技術(shù)體系,比如在文本分類、Fewshot分類等方向,也是我們團(tuán)隊(duì)的一個(gè)重點(diǎn)工作。
  隨著B(niǎo)ERT模型的出現(xiàn),NLP各項(xiàng)任務(wù)都達(dá)到了新的SOTA。然而B(niǎo)ERT過(guò)于龐大,對(duì)計(jì)算資源的需求很高,因此我們想利用Teacher-Student框架將BERT模型的能力遷移到RE2模型上。
  最后,我們是達(dá)摩院-智能服務(wù)-小蜜FAQ算法團(tuán)隊(duì),如果想了解更多最新進(jìn)展,歡迎郵件聯(lián)系gaoxing。gx@alibaba-inc.com,也歡迎業(yè)界優(yōu)秀青年加入我們,用AI重塑服務(wù)~
【免責(zé)聲明】本文僅代表作者本人觀點(diǎn),與CTI論壇無(wú)關(guān)。CTI論壇對(duì)文中陳述、觀點(diǎn)判斷保持中立,不對(duì)所包含內(nèi)容的準(zhǔn)確性、可靠性或完整性提供任何明示或暗示的保證。請(qǐng)讀者僅作參考,并請(qǐng)自行承擔(dān)全部責(zé)任。

專題

CTI論壇會(huì)員企業(yè)