日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

机器人--寒暄库(4)

發布時間:2025/3/15 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器人--寒暄库(4) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

目前智能QA系統都是基于seq2seq模型來開發(如google),seq2seq模型基于one-hot的詞嵌入,每個詞用一個數字代替不足以表示詞與詞之間的關系,word2vec通過多維向量來做詞嵌入,能夠表示出詞之間的關系,比如:男-女≈王子-公主。基于seq2seq的思想,利用多維詞向量來實現模型,預期會有更高的準確性。(~~說人話:就是把每個漢字按照一定的規則轉換為一個多維矩陣表示,聯系越緊密的詞,在空間上距離越近,那么我們就可以得到各種近義詞,如 高興=開心 等)

?

so 為什么要基于seq2seq模型來做智能問答,其他模型不行嗎?

?

答案 是yes。其他模型也可以完成一個比較好的QA模型,業界流行2大方法論:1、基于文法規則的NLP,2、基于統計學的NLP。只是這2種方式的實現的代價不一樣。基于文法規則的來做NLP,優勢是準確率會非常高,你想想,每個組詞規則、每句話的主謂賓都給你標出來,這樣的NLP如果做出來了是接近完美的;劣勢也很明顯,工作量太巨大,漢語光漢字就有幾萬個,組詞規則會更多,很難做到完全統計,難以快速迭代應用。相反基于統計學的NLP(seq2seq是統計學模型),他的準確率未必會有前者高,但是他的兌現速度快,可以在實際應用過程不斷迭代,提高準確率。這種方法的思路就是基于一批有限規模的語料庫,做機器學習,讓機器不斷學習文法規則,以適用于某一特定領域,達到智能交互的目的。當前比較大廠商的QA都是基于第2中方法的思路來做,比如:京東、圖靈、百度等。

?

接著談什么是seq2seq,為什么在統計學的諸多模型中,要選用他?

?

在網上找的一個簡潔的說明,主要參考《Sequence to Sequence Learning with Neural Networks》這篇論文,核心思想如下圖:

ABC是輸入語句,WXYZ是輸出語句,EOS是標識一句話結束,圖中的訓練單元是lstmlstm的特點是有長短時記憶,所以能夠根據輸入的多個字來確定后面的多個字,有關lstm的知識可以參考《http://deeplearning.net/tutorial/lstm.html

上面的模型中編碼器和解碼器共用了同一個lstm層,也就是共享了參數,牛人們嘗試把他們分開像https://github.com/farizrahman4u/seq2seq中提到的樣子:

其中綠色是編碼器,黃色是解碼器,橙色的箭頭傳遞的是lstm層的狀態信息也就是記憶信息,編碼器唯一傳給解碼器的就是這個狀態信息

我們看到解碼器每一時序的輸入都是前一個時序的輸出,從整體上來看就是:我通過不同時序輸入"How are you <EOL>",模型就能自動一個字一個字的輸出"W I am fine <EOL>",這里的W是一個特殊的標識,它既是編碼器最后的輸出,同時又是解碼器的一個觸發信號

那么我們訓練的時候輸入的X,Y應該是什么呢?X="How are you <EOL>"Y="W I am fine <EOL>"?

這是不行的,因為在解碼器還沒有訓練出靠譜的參數之前,我們無法保證第一個時序的輸出就是"I",那么傳給第二個時序的輸入就不一定是I,同樣第三、四個時序的輸入就無法保證是amfine,那么是無法訓練出想要的模型的

我們要這樣來做:我們直接把解碼器中每一時序的輸入強制改為"W I am fine",也就是把這部分從我們訓練樣本的輸入X中傳過來,而Y依然是預測輸出的"W I am fine <EOL>",這樣訓練出來的模型就是我們設計的編碼器解碼器模型了

那么在使用訓練好的模型做預測的時候,我們改變處理方式:在解碼時以前一時序的輸出為輸入做預測,這樣就能輸出我們希望輸出的"W I am fine <EOL>"

?

我們采用seq2seq模型的最主要原因就是模型擁有長時記憶能力,而且記憶能力可以根據我們的需求進行控制,這種特性在我們漢語處理中至關重要。有時候一句話的意思需要頭和尾加在一起我們才能完全理解,這個道理同樣適用機器。

?

下次再談基于seq2seq模型怎么做寒暄庫。經典模型代碼

https://github.com/warmheartli/ChatBotCourse/blob/master/chatbotv2/my_seq2seq_v2.py

?

文獻資料:

http://cn.arxiv.org/pdf/1409.3215.pdf

轉載于:https://www.cnblogs.com/xulele/p/6973917.html

總結

以上是生活随笔為你收集整理的机器人--寒暄库(4)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。