国产精品久久久久久久小说,国产国产裸模裸模私拍视频,国产精品免费看久久久无码,风流少妇又紧又爽又丰满,国产精品,午夜福利

熱搜: 佳士科技  irobot  工業(yè)機(jī)器人  機(jī)器人  ABB  機(jī)器人產(chǎn)業(yè)聯(lián)盟  發(fā)那科  庫(kù)卡  碼垛機(jī)器人  機(jī)械手 

科技文硬創(chuàng):解密巨頭們所關(guān)注的聊天機(jī)器人

   日期:2016-08-11     來(lái)源:搜狐    作者:lx     評(píng)論:0    
標(biāo)簽:
   引言

  chatbot是最近一段時(shí)間非常火的一個(gè)詞或者一個(gè)應(yīng)用,不僅僅各大新聞媒體在熱炒bot的概念,各大巨頭也投入巨大的資源進(jìn)行研發(fā),arxiv上刷出bot相關(guān)的paper也更是家常便飯。炒作歸炒作,PR歸PR,不得不說(shuō)一個(gè)尷尬的事實(shí)是市面上確實(shí)難以找到一個(gè)真正好用的bot。bot按照涉及的領(lǐng)域,分為開(kāi)放域(open-domain)和面向具體任務(wù)(task-oriented)的bot。開(kāi)放域要做的事情很大,更像是一個(gè)什么都能搞的平臺(tái),不管你提什么樣的需求,它都能夠解決,有點(diǎn)true AI的意思,而面向任務(wù)的bot則專(zhuān)注做好一件事情,訂機(jī)票,訂餐,辦護(hù)照等等。

  說(shuō)到開(kāi)放域bot,大家接觸最多的也就是一些回答非常無(wú)厘頭的娛樂(lè)用bot,比如很多年前活躍在各大社交網(wǎng)站上的小黃雞,現(xiàn)在市面上活躍著很多號(hào)稱(chēng)掌握了bot技術(shù),在用深度學(xué)習(xí)解決bot技術(shù)的bot公司,都是這種,解決不了什么實(shí)際問(wèn)題,就是能和大家聊上兩句,而且很多時(shí)候回答都是牛頭不對(duì)馬嘴的,十分可笑。

  再說(shuō)task-oriented bot,市面上最多的就是客服機(jī)器人,銀行也好,電商也罷,不想重復(fù)性地回答用戶的問(wèn)題,就用一個(gè)客服機(jī)器人來(lái)應(yīng)對(duì),且不說(shuō)效果如何,開(kāi)發(fā)一個(gè)具體task的bot需要費(fèi)不少工夫,而且后期還要大量的維護(hù),因?yàn)樘嗟膆and crafted features被用到,整個(gè)bot的框架橫向擴(kuò)展性相對(duì)來(lái)說(shuō)較差,換一個(gè)場(chǎng)景基本上就需要重新開(kāi)發(fā)一套,人力成本太高了。

  bot的理想非常豐滿,大公司描繪的場(chǎng)景也確實(shí)很美,但現(xiàn)實(shí)的bot卻狠狠地澆了一盆冷水下來(lái)。期望越高,失望越大。如果媒體一味地吹捧bot,仿佛整個(gè)世界明天就會(huì)是bot的了,對(duì)bot的發(fā)展并無(wú)益處,捧殺只會(huì)帶來(lái)氣泡,破裂之后,一切如初。

  功能強(qiáng)大的、開(kāi)放域的bot在短期內(nèi)是比較難實(shí)現(xiàn)的,但是如果降低期望,將bot不應(yīng)當(dāng)做是一種技術(shù)層面的革命,而應(yīng)當(dāng)做交互層面的革新才是理性的態(tài)度,bot作為一種入口,可能大家都不再需要一個(gè)隨身攜帶的終端,只需要找到一個(gè)可以識(shí)別身份,可以聯(lián)網(wǎng)的硬件,比如一面鏡子,就可以執(zhí)行很多的task,訂機(jī)票、買(mǎi)東西等等等等。bot這個(gè)時(shí)候起到的是一個(gè)操作的入口和背后執(zhí)行各種不同task的黑箱,我們不需要看到整個(gè)執(zhí)行過(guò)程,也不需要知道原理是什么,通過(guò)一些簡(jiǎn)單的語(yǔ)言交互,就能完成一些復(fù)雜的task,終端要做的事情就是反饋結(jié)果和接收輸入,執(zhí)行的過(guò)程都在云端,各種bot云。

  而這一切的關(guān)鍵是解決好task-oriented bot,用更多data driven的解決方案來(lái)代替?zhèn)鹘y(tǒng)的人工features和templates。

  |問(wèn)題描述

  bot是一個(gè)綜合性的問(wèn)題,涉及到下面三個(gè)主要問(wèn)題:

  1、response generation(selection)

  對(duì)話生成是最后一個(gè)步驟,是輸出的部分。簡(jiǎn)單總結(jié)下,有四種solutions:

  solution 1直接根據(jù)context來(lái)生成對(duì)話,這方面最近的paper非常地多,尤其是seq2seq+attention框架席卷了NLP的很多任務(wù)之后,對(duì)話生成的benchmark也一次又一次地被各種model刷新著。對(duì)話生成的問(wèn)題,被定義為基于某個(gè)條件下的生成模型,典型的根據(jù)context來(lái)predict words,涉及到句子生成的問(wèn)題,評(píng)價(jià)問(wèn)題就會(huì)是一個(gè)比較難的問(wèn)題。

  solution 2當(dāng)然有的paper并不是將對(duì)話生成定義為語(yǔ)言模型問(wèn)題,而是一個(gè)next utterance selection的問(wèn)題,一個(gè)多選一的問(wèn)題,給定一個(gè)context,給定一個(gè)utterance candidate list,從list中選擇一個(gè)作為response,當(dāng)然這類(lèi)問(wèn)題的難度會(huì)小很多,評(píng)價(jià)起來(lái)也非常容易,但是數(shù)據(jù)集準(zhǔn)備起來(lái)要多花一些功夫,而且在實(shí)際應(yīng)用中不好被借鑒。

  solution 3rule-based或者說(shuō)template-based,response的最終形式其實(shí)是填充了一個(gè)模板而成的,大多數(shù)的東西是給定的,只有一些具體的value需要來(lái)填充。這一類(lèi)解決方案很適合做task-oriented bot,但過(guò)多的人工features和templates導(dǎo)致了其難以移植到其他task上。

  solution 4query-based或者說(shuō)example-based,response是來(lái)自于一個(gè)叫做知識(shí)庫(kù)的數(shù)據(jù)庫(kù),里面包含了大量的、豐富的example,根據(jù)用戶的query,找到最接近的example,將對(duì)應(yīng)的response返回出來(lái)作為輸出。這一類(lèi)解決方案非常適合做娛樂(lè)、搞笑用的bot,核心技術(shù)在于找更多的數(shù)據(jù)來(lái)豐富知識(shí)庫(kù),來(lái)清洗知識(shí)庫(kù)。但畢竟respnose是從別人那里拿出來(lái)的,可能會(huì)很搞笑,但大多數(shù)會(huì)牛頭不對(duì)馬嘴。

  2、dialog state tracking(DST)

  有的paper稱(chēng)DST為belief trackers,這個(gè)部件其實(shí)是bot的核心,它的作用在于理解或者捕捉user intention或者goal,只有當(dāng)你真的知道用戶需要什么,你才能做出正確的action或者response。關(guān)于這個(gè)部分,會(huì)有Dialog State Tracking Challenge比賽。一般來(lái)說(shuō)都會(huì)給定一個(gè)state的范圍,通過(guò)context來(lái)predict用戶屬于哪個(gè)state,有什么樣的需求,是需要查詢天氣還是要查詢火車(chē)票。

  3、user modeling

  bot面向具體的業(yè)務(wù),都是和真實(shí)的user來(lái)打交道的,如果只是簡(jiǎn)單的FAQ bot,回答幾個(gè)常見(jiàn)的問(wèn)題可能不需要這塊,但如果是其他更加復(fù)雜、細(xì)致的業(yè)務(wù),都需要給用戶建模,相同的問(wèn)題,bot給每個(gè)人的response一定是不同的,這個(gè)道理非常簡(jiǎn)單。user modeling,需要涉及的不僅僅是簡(jiǎn)單的用戶基本信息和用戶的一些顯式反饋信息,而更重要的是用戶的history conversations,這些隱式的反饋信息。就像是推薦系統(tǒng)火起來(lái)之前,大家都是中規(guī)中矩地賣(mài)東西,但是有一些聰明人開(kāi)始分析用戶的行為,不僅是那些點(diǎn)贊行為,更多的是那些用戶不經(jīng)意間留下的“蛛絲馬跡”,從而知道了用戶對(duì)哪些東西潛在地感興趣,也就是后來(lái)推薦系統(tǒng)在做的事情。對(duì)user進(jìn)行建模,就是做一個(gè)個(gè)性化的bot,生成的每一個(gè)response都有這個(gè)user鮮明的特點(diǎn)。

  |語(yǔ)料

  大型的語(yǔ)料都是用來(lái)訓(xùn)練開(kāi)放域bot對(duì)話生成模型的,數(shù)據(jù)源一般都是來(lái)自社交網(wǎng)站。而對(duì)于task-oriented bot來(lái)說(shuō),客戶的數(shù)據(jù)一般規(guī)模都非常地小,這也正是難以將data driven的方案直接套用到task-oriented bot上的一個(gè)主要原因。

  [1]中給出了bot訓(xùn)練語(yǔ)料的survey,感興趣的同學(xué)可以讀一下這篇survey。

  

  圖來(lái)自文章[13],英文的語(yǔ)料確實(shí)比較多,Sina Weibo那個(gè)語(yǔ)料是華為諾亞方舟實(shí)驗(yàn)室release的[12]。從twitter或者微博上產(chǎn)生bot數(shù)據(jù)的話,“conversational in nature”效果不如從ubuntu chat logs這種聊天室產(chǎn)生的數(shù)據(jù)更加適合訓(xùn)練response生成模型,因?yàn)楦犹烊粺o(wú)公害。文章[5]也用了一個(gè)大型中文語(yǔ)料,數(shù)據(jù)來(lái)自百度貼吧。

  |模型

  研究bot的paper是在太多了,這是一個(gè)非?;钴S的研究領(lǐng)域,細(xì)分的方向也非常的多,接下來(lái)按照所針對(duì)的研究問(wèn)題來(lái)分別介紹一些模型。

  seq2seq生成模型

  現(xiàn)在最流行的解決方案是seq2seq+attention,encoder將user query feed進(jìn)來(lái),輸出一個(gè)vector representation來(lái)表示整個(gè)query,然后作為decoder的condition,而decoder本質(zhì)上就是一個(gè)語(yǔ)言模型,一步一步地生成response,[2]采用就是這種方案,google用了海量的參數(shù)訓(xùn)練出這么一個(gè)模型,得到了一個(gè)不錯(cuò)的bot。

  

  而典型的seq2seq存在一個(gè)問(wèn)題,就是說(shuō)容易生成一些“呵呵”的response,即一些非常safe,grammatical但沒(méi)有實(shí)際意義的response,比如”I don’t know!”之類(lèi)的。原因在于傳統(tǒng)的seq2seq在decoding過(guò)程中都是以MLE(Maximum Likelihood Estimate)為目標(biāo)函數(shù),即生成最grammatical的話,而不是最有用的話,這些safe句子大量地出現(xiàn)在訓(xùn)練語(yǔ)料中,模型學(xué)習(xí)了之后,無(wú)可避免地總是生成這樣的response,而文章[3]借鑒了語(yǔ)音識(shí)別的一些經(jīng)驗(yàn),在decoding的時(shí)候用MMI(Maximum Mutual Information)作為目標(biāo)函數(shù),提高了response的diversity。

  文章[4]認(rèn)為類(lèi)似于RNNLM這樣的語(yǔ)言模型在生成人話質(zhì)量不高的根本原因在于,沒(méi)有處理好隱藏在utterance中的隨機(jī)feature或者說(shuō)noise,從而在生成next token(short term goal)和future tokens(long term goal)效果一般。

  

  在生成每一個(gè)utterance時(shí),需要用到四個(gè)部分,encoder RNN、context RNN、latent variable、decoder RNN,按順序依次輸入和輸出。這里的latent variable和IR中的LSI有一點(diǎn)異曲同工,latent表明我們說(shuō)不清他們到底具體是什么,但可能是代表一種topic或者sentiment,是一種降維的表示。

  文章[5]提出了一種叫做content introducing的方法來(lái)生成短文本response。

  

  step 1給定query之后,預(yù)測(cè)一個(gè)keyword作為response的topic,這個(gè)topic詞性是名詞,這里的keyword并不能捕捉復(fù)雜的語(yǔ)義和語(yǔ)法,而只是根據(jù)query的每個(gè)詞來(lái)預(yù)估出一個(gè)PMI(Pointwise Mutual Information)最高的名詞作為keyword.

  step 2[5]的模型叫做Sequence To Backward and Forward Sequences,首先進(jìn)行backward step,給定一個(gè)query,用encoder表示出來(lái)得到一個(gè)context,decoder的部分首先給定keyword作為第一個(gè)詞,然后進(jìn)行decoding,生成的這部分相當(dāng)于keyword詞前面的部分;接下來(lái)進(jìn)行的是forward step,也是一個(gè)典型的seq2seq,用encoder將query表示成context,然后給定backward生成的話和keyword作為decoder的前半部分,繼續(xù)decoding生成后半部分。整個(gè)的流程這樣簡(jiǎn)單描述下:

  step 1 query + keyword => backward sequence

  step 2 query + keyword + backward sequence(reverse) => forward sequence

  step 3 response = backward (reverse) sequence + keyword + forward sequence

  user modeling模型

  文章[6]針對(duì)的問(wèn)題是多輪對(duì)話中response不一致的問(wèn)題,將user identity(比如背景信息、用戶畫(huà)像,年齡等信息)考慮到model中,構(gòu)建出一個(gè)個(gè)性化的seq2seq模型,為不同的user,以及同一個(gè)user對(duì)不同的請(qǐng)將中生成不同風(fēng)格的response。

  

  [6]的模型叫Speaker Model,是一個(gè)典型的seq2seq模型,不同的地方在于在decoding部分增加了一個(gè)speaker embedding,類(lèi)似于word embedding,只是說(shuō)這里對(duì)用戶進(jìn)行建模。因?yàn)闊o(wú)法對(duì)用戶的信息顯式地進(jìn)行建模,所以用了一種embedding的方法,通過(guò)訓(xùn)練來(lái)得到speaker向量,下面左邊的圖是speaker向量在二維平面上的表示,具有相似背景信息的user就會(huì)很接近,與word向量一個(gè)道理。

  reinforcement learning模型

  用增強(qiáng)學(xué)習(xí)來(lái)解決人機(jī)對(duì)話問(wèn)題具有很悠久的歷史,只不過(guò)隨著AlphaGo的炒作,deepmind公司將增強(qiáng)學(xué)習(xí)重新帶回了舞臺(tái)上面,結(jié)合著深度學(xué)習(xí)來(lái)解決一些更難的問(wèn)題。

  增強(qiáng)學(xué)習(xí)用long term reward作為目標(biāo)函數(shù),會(huì)使得模型通過(guò)訓(xùn)練之后可以predict出質(zhì)量更高的response,文章[7]提出了一個(gè)模型框架,具有下面的能力:

  1. 整合開(kāi)發(fā)者自定義的reward函數(shù),來(lái)達(dá)到目標(biāo)。

  2. 生成一個(gè)response之后,可以定量地描述這個(gè)response對(duì)后續(xù)階段的影響。

  

  兩個(gè)bot在對(duì)話,初始的時(shí)候給定一個(gè)input message,然后bot1根據(jù)input生成5個(gè)候選response,依次往下進(jìn)行,因?yàn)槊恳粋€(gè)input都會(huì)產(chǎn)生5個(gè)response,隨著turn的增加,response會(huì)指數(shù)增長(zhǎng),這里在每輪對(duì)話中,通過(guò)sample來(lái)選擇出5個(gè)作為本輪的response。

  在一個(gè)大型數(shù)據(jù)集上訓(xùn)練一個(gè)效果不錯(cuò)的seq2seq作為初始值,用增強(qiáng)學(xué)習(xí)來(lái)提升模型實(shí)現(xiàn)自定義reward函數(shù)的能力,以達(dá)到期待的效果。

  文章[7]的模型可以生成更多輪數(shù)的對(duì)話,而不至于過(guò)早地陷入死循環(huán)中,而且生成的對(duì)話diversity非常好。

  task-oriented seq2seq模型

  現(xiàn)有的task-oriented bot多是采用rule-based、template-based或者example-based或者是綜合起來(lái)用,用data driven的解決方案十分稀有。文章[8]和[9]就是嘗試在bot的個(gè)別部件上采用深度學(xué)習(xí)的技術(shù)來(lái)做,并且給出了切實(shí)可行的方案。

  文章[8]先是從一個(gè)大家熟知的場(chǎng)景開(kāi)始介紹,一個(gè)經(jīng)驗(yàn)豐富的客服是如何帶一個(gè)新入職的客服,分為四個(gè)階段:

  1. 告訴新客服哪些”controls”是可用的,比如:如何查找客戶的信息,如何確定客戶身份等等。

  2. 新客服從老客服做出的good examples中模仿學(xué)習(xí)。

  3. 新客服開(kāi)始試著服務(wù)客戶,老客服及時(shí)糾正他的錯(cuò)誤。

  4. 老客服放手不管,新客服獨(dú)自服務(wù)客戶,不斷學(xué)習(xí),不斷積累經(jīng)驗(yàn)。

  [8]的模型框架就是依照上面的過(guò)程進(jìn)行設(shè)計(jì)的:

  開(kāi)發(fā)者提供一系列備選的actions,包括response模板和一些API函數(shù),用來(lái)被bot調(diào)用。

  由專(zhuān)家提供一系列example dialogues,用RNN來(lái)學(xué)習(xí)。

  用一個(gè)模擬user隨機(jī)產(chǎn)生query,bot進(jìn)行response,專(zhuān)家進(jìn)行糾正。

  bot上線服務(wù),與真實(shí)客戶進(jìn)行對(duì)話,通過(guò)反饋來(lái)提高bot服務(wù)質(zhì)量。

  

  一個(gè)完整的工作流程由上圖描述,具體步驟看下圖:

  

  訓(xùn)練的時(shí)候是用一部分高質(zhì)量的數(shù)據(jù)進(jìn)行監(jiān)督學(xué)習(xí)SL,用增強(qiáng)學(xué)習(xí)RL來(lái)優(yōu)化模型,得到質(zhì)量更高的結(jié)果。

  文章[9]平衡了兩種流行方案的優(yōu)缺點(diǎn),提出了一套有參考價(jià)值的、具有實(shí)際意義的seq2seq解決方案。

  

  一共五個(gè)組件:

  1、 Intent Network

  這個(gè)部分可以理解為seq2seq的encoder部分,將用戶的輸入encode成一個(gè)vector。

  2、 Belief Trackers

  又被稱(chēng)為Dialogue State Tracking(DST),是task-oriented bot的核心部件。本文的Belief Trackers具有以下的作用:

  支持各種形式的自然語(yǔ)言被映射成一個(gè)有限slot-value對(duì)集合中的元素,用于在數(shù)據(jù)庫(kù)中進(jìn)行query。

  追蹤bot的state,避免去學(xué)習(xí)那些沒(méi)有信息量的數(shù)據(jù)。

  使用了一種weight tying strategy,可以極大地減少訓(xùn)練數(shù)據(jù)的需求。

  易擴(kuò)展新的組件。

  3、 Database Operator

  數(shù)據(jù)庫(kù)查詢的輸入來(lái)自于Belief Trackers的輸出,即各種slot的概率分布,取最大的那個(gè)作為DB的輸入,進(jìn)行查詢,獲取到相應(yīng)的值。

  4、 Policy Network

  這個(gè)組件是像一個(gè)膠水,起到粘合其他上面三個(gè)組件的作用。輸入是上面三個(gè)組件的輸出,輸出是一個(gè)向量。

  5、 Generation Network

  最后一個(gè)組件是生成模型,本質(zhì)上是一個(gè)語(yǔ)言模型,輸入是Policy Network的輸出,輸出是生成的response,再經(jīng)過(guò)一些處理之后可以返回給用戶了。這里的處理主要是將response中的slot,比如s.food還原成真實(shí)的值。這一步和文章[8]的step 10一樣,將具體的值還原到entity上。

  完全用end-to-end來(lái)解決task-oriented是不可能的事情,一定是在一個(gè)框架或者體系內(nèi)用這種seq2seq的解決方案來(lái)做這件事情,文章[8]和[9]給出了很大的啟發(fā)。

  Knowledge Sources based模型

  純粹的seq2seq可以解決很多問(wèn)題,但如果針對(duì)具體的任務(wù),在seq2seq的基礎(chǔ)上增加一個(gè)相關(guān)的knowledge sources會(huì)讓效果好很多。這里的knowledge可以是非結(jié)構(gòu)化的文本源,比如文章[10]中的ubuntu manpages,也可以是結(jié)構(gòu)化的業(yè)務(wù)數(shù)據(jù),比如文章[9]中的database,也可以是一個(gè)從源數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù)中提取出的knowledge graph。

  文章[10]作者將bot任務(wù)定義為next utterance classification,有一點(diǎn)像question answering任務(wù),給定一個(gè)context和一個(gè)response candidate list作為備選答案,通過(guò)context來(lái)從candidate list中選擇正確的response。本文的貢獻(xiàn)在于在context的基礎(chǔ)上,引入了task相關(guān)的外部專(zhuān)業(yè)知識(shí)庫(kù),并且這個(gè)知識(shí)庫(kù)是非結(jié)構(gòu)化的。

  

  模型是三個(gè)rnn encoder組成,一個(gè)rnn來(lái)encode context,一個(gè)rnn來(lái)encode response,還有一個(gè)rnn來(lái)encode knowledge,然后綜合起來(lái)做預(yù)測(cè),選出最合適的response。模型被稱(chēng)作knowledge encoder。因?yàn)閿?shù)據(jù)集采用的是ubuntu technical support相關(guān)的數(shù)據(jù)集,外部資源就選用了ubuntu manpages。

  context sensitive模型

  文章[11]的模型比較簡(jiǎn)單,但考慮的問(wèn)題意義很大,history information的建模對(duì)于bot在解決實(shí)際工程應(yīng)用的幫助很大,也直接決定了你的bot是否能夠work。作者將history context用詞袋模型表示,而不是我們經(jīng)常采用的rnn,然后將context和用戶query經(jīng)過(guò)一個(gè)簡(jiǎn)單的FNN,得到一個(gè)輸出。

  

  |評(píng)價(jià)

  bot response評(píng)價(jià)很難,雖然說(shuō)可以借鑒機(jī)器翻譯的自動(dòng)評(píng)價(jià)方法BLEU來(lái)做,但效果不會(huì)太好。幾乎每篇paper都是會(huì)花錢(qián)雇人來(lái)做人工評(píng)價(jià),設(shè)計(jì)一套評(píng)價(jià)機(jī)制來(lái)打分,人工的評(píng)價(jià)更具有說(shuō)服力。對(duì)于實(shí)際工程應(yīng)用更是如此,用戶說(shuō)好才是真的好。而不是簡(jiǎn)單地拿著自己提的、有偏的指標(biāo),和幾個(gè)方法或者其他公司的bot進(jìn)行對(duì)比,來(lái)說(shuō)明自己好。

  |思考

  讀了一些paper,也和一線在做bot應(yīng)用的工程師交流之后,有了一點(diǎn)思考,總結(jié)如下:

  1、要不要做bot?流行一種說(shuō)法是市面上沒(méi)有好用的bot,要解決bot的問(wèn)題需要很多技術(shù)同時(shí)進(jìn)步,可能還需要非常長(zhǎng)的一段時(shí)間,現(xiàn)在用這個(gè)東西來(lái)做business,簡(jiǎn)直荒謬。我個(gè)人的看法是,解決具體task的bot,結(jié)合當(dāng)前先進(jìn)的技術(shù),做一些框架性的工具,并不是那么遙遠(yuǎn)的事情,雖然不容易,但卻非常有意義,解決了垂直領(lǐng)域的bot問(wèn)題,才有可能解決open domain的bot問(wèn)題。也正是因?yàn)椴蝗菀?,提高了門(mén)檻,才會(huì)出現(xiàn)真正的機(jī)會(huì),誕生一些很牛的技術(shù)公司。

  2、open domain還是task-oriented?如果是我,我會(huì)選后者,因?yàn)榍罢咧皇且粋€(gè)夢(mèng)想,一個(gè)遙不可及的夢(mèng)想,需要更多的技術(shù)層面上的大突破。task-oriented更加具體,更加實(shí)用,針對(duì)具體的業(yè)務(wù),提供一些解決方案,已經(jīng)有很多企業(yè)在做了,雖然一個(gè)通用性或者擴(kuò)展性強(qiáng)的解決方案還沒(méi)有出現(xiàn),但一定是一個(gè)趨勢(shì),也是新一代做bot的公司的機(jī)會(huì)。

  3、task-oriented bot為什么難,該朝哪個(gè)方向來(lái)發(fā)力?end-to-end是一種理想化的模型,用深度學(xué)習(xí)模型從大量訓(xùn)練數(shù)據(jù)中來(lái)“捕捉”一些features,“擬合”一些函數(shù),雖然可以得到很不錯(cuò)的效果,而且使用起來(lái)確實(shí)很方便,但尷尬就尷尬在具體的task中是拿不到海量數(shù)據(jù)的,數(shù)據(jù)規(guī)模小了之后,純粹的end-to-end就變得非常雞肋了。然而真實(shí)的場(chǎng)景中,很多企業(yè)又有一定的數(shù)據(jù),也有bot的需求,所以現(xiàn)在成熟的解決方案就是針對(duì)你的具體業(yè)務(wù),來(lái)設(shè)計(jì)一些features,templates和rules,當(dāng)客戶的業(yè)務(wù)發(fā)生更改時(shí),需要不斷地維護(hù)現(xiàn)有的bot系統(tǒng),十分費(fèi)時(shí)費(fèi)力。真實(shí)的場(chǎng)景中往往涉及到很多結(jié)構(gòu)化的業(yè)務(wù)數(shù)據(jù),純粹地、暴力地直接根據(jù)context生成response是不可能做到的,文章[8][9]都給出了非常有啟發(fā)性的解決方案,將end-to-end應(yīng)用在局部,而非整體上,配合上Information Extraction和Knowledge Graph等技術(shù),實(shí)現(xiàn)一個(gè)高可用的框架體系,這個(gè)應(yīng)該是task-oriented bot的發(fā)展方向。

  4、response的生成應(yīng)該與哪些因素有關(guān)呢?response質(zhì)量的好壞,需要聯(lián)系到這幾個(gè)features:(1)user query,用戶的提問(wèn),用戶在這輪對(duì)話中到底在問(wèn)什么,準(zhǔn)確地理解用戶的意圖,這是至關(guān)重要的。(2)user modeling,對(duì)用戶進(jìn)行建模,包括用戶的基本信息,還有更重要的是用戶history conversation logs的mining,這個(gè)工作很難,但同時(shí)也很見(jiàn)水平,也是一家技術(shù)公司證明自己技術(shù)牛逼的一種途徑。logs的挖掘現(xiàn)在很常見(jiàn),不見(jiàn)得大家都做的很好,而這里的logs不是一般的設(shè)定好的、結(jié)構(gòu)化的指標(biāo),而是非結(jié)構(gòu)化的文本logs,挖掘起來(lái)難度更大。另外一點(diǎn),也是paper種看到的,user emotion,情感分析是nlp中研究比較多的task,用戶的情緒直接關(guān)系到銷(xiāo)售的成敗,如果技術(shù)足夠牛,可以考慮的因素就可以足夠多,對(duì)user的分析也就足夠清晰。將history生掛在模型中不是一個(gè)好辦法,因?yàn)閔istory是不斷增長(zhǎng),會(huì)導(dǎo)致模型在捕捉信息時(shí)出現(xiàn)問(wèn)題,更好的辦法可能是build user profile之類(lèi)的東西,將history沉淀出來(lái),作為一個(gè)vector representation,或者一種knowledge graph來(lái)表征一個(gè)user。有了這種能力的bot,說(shuō)的冠冕堂皇一點(diǎn)就是個(gè)性化的bot。(3)knowledge,外部知識(shí)源,涉及到具體業(yè)務(wù)的時(shí)候,業(yè)務(wù)數(shù)據(jù)也是一種knowledge,如何將knowledge建模到模型中,在生成對(duì)話的時(shí)候可以更加專(zhuān)業(yè)和準(zhǔn)確也是一個(gè)非常重要的問(wèn)題。bot是一個(gè)綜合性的難題,不僅僅是系統(tǒng)框架上的難,而且是建模上的難。

  5、我一直覺(jué)得做人和看問(wèn)題都不可以極端,世界并非非黑即白,而是介于兩者之間的連續(xù)值。不可能說(shuō)要么做成一個(gè)open-domain巨無(wú)霸的bot,要么就是一個(gè)什么具體功能都沒(méi)有的bot,不能只看到現(xiàn)有的bot不成熟,以及幻想中的bot遙不可及,就開(kāi)始黑這個(gè)領(lǐng)域,還嘲笑人家能夠居然拿到投資。爭(zhēng)吵這些毫無(wú)意義,真正有意義的是深挖這個(gè)領(lǐng)域,找到痛點(diǎn)和難點(diǎn),逐個(gè)擊破,不斷地推進(jìn)這個(gè)領(lǐng)域的發(fā)展,而不是像一些街邊看熱鬧的人一樣,簡(jiǎn)直無(wú)趣!在很多領(lǐng)域突破之前,仿佛都看不到曙光,但幾年之后很多當(dāng)時(shí)難以解決的問(wèn)題不都是紅海一片,滿大街都是了么?做一個(gè)通用的bot可能很長(zhǎng)一段時(shí)間內(nèi)都是一件比較困難的事情,但做一個(gè)高可用、擴(kuò)展性不錯(cuò)的bot解決方案還是有盼頭的,不必過(guò)度自信,也不必妄自菲薄,踏踏實(shí)實(shí)地做就是了。

 
 
更多>相關(guān)資訊
0相關(guān)評(píng)論

推薦圖文
推薦資訊
點(diǎn)擊排行