使聊天機(jī)器人具有個(gè)性

本文結(jié)構(gòu):

  • 模型效果
  • 模型的三個(gè)模塊
  • 模塊細(xì)節(jié)

今天的論文是 《Assigning Personality/Identity to a Chatting Machine for Coherent Conversation Generation》

https://arxiv.org/pdf/1706.02861.pdf

當(dāng)我們?cè)诤土奶鞕C(jī)器人互動(dòng)時(shí),最開(kāi)始往往很好奇的就是對(duì)方到底是人還是機(jī)器人呢,所以會(huì)問(wèn)到一些關(guān)于對(duì)方身份的問(wèn)題,這對(duì)于機(jī)器人能否通過(guò)圖靈測(cè)試還是很重要的問(wèn)題之一。

這篇論文提前預(yù)設(shè)好機(jī)器人的身份檔案,并且做到在相關(guān)的問(wèn)答中做到與設(shè)置的一致,就可以讓機(jī)器人在回答時(shí)能夠有一定的身份特征。和其他的區(qū)別是不用從對(duì)話(huà)中慢慢學(xué)習(xí)出個(gè)性。

模型效果:

假設(shè)機(jī)器人的預(yù)設(shè)檔案為:

本論文的模型與普通的 seq2seq 效果比較為:


模型由三個(gè)模塊組成:

  1. 一個(gè)檔案檢測(cè)器 Profile Detector,一是來(lái)決定是否要根據(jù)檔案來(lái)回答,二是根據(jù)哪個(gè)關(guān)鍵字答復(fù)。
  2. 一個(gè)雙向解碼器 Bidirectional Decoder,用于從選定的檔案值出發(fā)向前和向后生成答復(fù)。
  3. 一個(gè)位置檢測(cè)器 position detector,用于預(yù)測(cè)選定的檔案值后要從哪個(gè)位置開(kāi)始解碼,把位置傳遞給 decoder。

整體:

  1. 給定一個(gè)提問(wèn)后,先看是否需要用檔案內(nèi)容回答,不需要的話(huà),就用通常的 seq2seq 來(lái)生成回復(fù);
    需要的話(huà),先用 Profile Detector 選擇合適的 key-value。
  2. 然后用 Bidirectional Decoder 以這個(gè) value 為起點(diǎn)向前向后生成答復(fù)。
  3. position detector 用來(lái)改善 training,test 集的差異問(wèn)題,只在模型訓(xùn)練時(shí)用。

模型細(xì)節(jié):

提問(wèn):x = x1x2···xn, 被 Encoder 將 post 轉(zhuǎn)化后的向量 x = x1x2 · · · xn。x 的隱藏層狀態(tài)由 GRU 獲得 h = (h1, h2, · · ·, hn)
檔案:{< ki, vi > |i = 1, 2, · · · , K}
回答:y=y1y2···ym

問(wèn)題建模:

1. Profile Detector

1. 其中 P(z|x) 是根據(jù)提問(wèn) x,看需要用檔案來(lái)回答的概率,由 Profile Detector 計(jì)算出。

由訓(xùn)練的二分類(lèi)器得到 P (z|x) = P (z| h~) = σ(Wp h~),h~ 是所有 hj 的和,Wp 是分類(lèi)器的參數(shù)。

βi = MLP([ h~, ki, vi]) =f(W ·[ h~;ki;vi]),用來(lái)決定根據(jù)哪個(gè)關(guān)鍵字答復(fù),其中 f 為 softmax 激活函數(shù),選擇概率最大的那一組 key-value。

2. Bidirectional Decoder:

2. Pfr(y|x) 是根據(jù) x 生成 y,由通常的 forward decoder 生成。

3. Pbi(y|x, {< ki, vi >}) 是根據(jù) x 和檔案生成 y,由 Bidirectional Decoder 生成:

y = (yb, v~, yf ) 為生成的回復(fù),v~ 是選中的 value:

先由 x,v~ 得到 yb,再由 x,v~,yb 得到 yf。

Pb,Pf 通過(guò)下式計(jì)算:

其中 sj 是 decoder 的相應(yīng)狀態(tài),cj 是語(yǔ)境的向量:

P frP bi 的參數(shù)不是共享的。

3. position detector:

因?yàn)橛糜谟?xùn)練的問(wèn)答句是從社交網(wǎng)站上獲得的,前面識(shí)別出來(lái)的 value 可能并不會(huì)出現(xiàn)在答復(fù)中,這樣 bidirectional decoder 就會(huì)不知道從哪個(gè)位置開(kāi)始,所以在這一步會(huì)做相關(guān)的處理。

例如,

post x =“你-1 有-2 什么-3 特長(zhǎng)-4 ?-5 
response y =“我-1 非常-2 擅長(zhǎng)-3 小提琴- 4
a profile key value pair “<特長(zhǎng), 鋼琴>

那么 “小 提 琴-4 ” 的位置會(huì)傳遞給 decoder,然后替換成“鋼 琴”。

P (j|y1y2 · · · ym, < k, v > )), 1 ≤ j ≤ m 來(lái)表示 yj 可以被 v 替換的概率。

計(jì)算方法用兩個(gè)單詞的距離:

P(j|y,< k,v >)) ∝ cos(yj,v)


損失函數(shù):

由兩部分組成:

L = L1 + αL2

1. L1 是生成答復(fù)的,根據(jù)最開(kāi)始的問(wèn)題模型可以得到:

D( c) 是只有 post-response 對(duì)的,D(pr) 是 post,value-response 的。

2. L2 是 profile detector 預(yù)測(cè)是否用檔案及用哪個(gè)關(guān)鍵詞的,根據(jù)前面定義過(guò)的 P(z|x)βi

z=0 不用,z=1 用, k^ 是鎖定的 key。


推薦閱讀 歷史技術(shù)博文鏈接匯總
http://www.itdecent.cn/p/28f02bb59fe5
也許可以找到你想要的:
[入門(mén)問(wèn)題][TensorFlow][深度學(xué)習(xí)][強(qiáng)化學(xué)習(xí)][神經(jīng)網(wǎng)絡(luò)][機(jī)器學(xué)習(xí)][自然語(yǔ)言處理][聊天機(jī)器人]

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 聊天機(jī)器人[http://lib.csdn.net/base/robot](也可以稱(chēng)為語(yǔ)音助手、聊天助手、對(duì)話(huà)機(jī)器...
    mlion閱讀 2,933評(píng)論 1 11
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,535評(píng)論 19 139
  • 原本中秋假期想去浙西清涼山,結(jié)果查天氣預(yù)報(bào)下雨;突然想起來(lái)以前看過(guò)的一篇五臺(tái)山徒步的帖子,再看預(yù)報(bào)是好天氣,于是就...
    youngspring1閱讀 375評(píng)論 0 2
  • 大暑。婺江的天空,竟是新鮮飽滿(mǎn)的天藍(lán)色,比起深邃的蔚藍(lán),這一抹天藍(lán)像一頑皮的孩子,在白云間雀躍涌動(dòng)著,竟讓人心潮澎...
    靜默如梅閱讀 579評(píng)論 4 4
  • 坐在D367上,我開(kāi)始了第一篇日記。不斷循環(huán)的列車(chē)通告還是讓人有些煩躁,不過(guò)念白中一次明顯的吞咽聲還是讓我不懷好意...
    DerrickWang閱讀 174評(píng)論 0 1

友情鏈接更多精彩內(nèi)容