最后生成神么格式的代码_智能扩充机器人的“标准问”库之Query生成
我司開源了一個GPT2模型,進(jìn)行Query生成。
代碼模型見鏈接:https://github.com/YunwenTechnology/QueryGeneration
一、Query生成的目的及意義?
在問答系統(tǒng)任務(wù)(問答機器人)中,我們往往會人為地配置一些常用并且描述清晰的問題及其對應(yīng)的回答,我們將這些配置好的問題稱之為“標(biāo)準(zhǔn)問”。當(dāng)用戶進(jìn)行提問時,常常將用戶的問題與所有配置好的標(biāo)準(zhǔn)問進(jìn)行相似度計算,找出與用戶問題最相似的標(biāo)準(zhǔn)問,并返回其答案給用戶,這樣就完成了一次問答操作。
但是人為配置“標(biāo)準(zhǔn)問”庫是一個耗時耗力的過程,并且生成高質(zhì)量而具有總結(jié)概括性質(zhì)的問題會給運營人員帶來極大的負(fù)擔(dān)。如果我們可以自動生成一些Query,供運營人員去選擇的話,無疑于會給運營人員減輕很大的負(fù)擔(dān)。簡單地來說,就是創(chuàng)造與選擇的區(qū)別,選擇比創(chuàng)造要簡單地多。
二、Query生成方法有哪些?
Query生成方法主要有兩大類,一種是規(guī)則的方法,另一種就是模型的方法。而每種方法其實又包含兩個方面。如果我們已經(jīng)人為地配置過一些query了,但是量比較少時,可以根據(jù)已有的query去生成query。
規(guī)則的方法是比較簡單的,但是生成的問題會比較單一。一般通過詞典或NER技術(shù),識別出已有query的關(guān)鍵詞或重要詞匯,然后將其中的關(guān)鍵詞做替換或者通過模板將關(guān)鍵詞套入,最終生成新的問題。如表1所示。
然而,規(guī)則方法的核心是規(guī)則的歸納與總結(jié),這通常是比較麻煩地事情;往往需要人看過大量數(shù)據(jù)后(需要很多人力),才能構(gòu)造出比較優(yōu)秀的規(guī)則,但規(guī)則之間有時也會有沖突。
模型的方法一般是用過Seq2Seq模型,根據(jù)所給問題去生成新的問題。模型方法相較于規(guī)則方法來說,生成的問題會更多樣化,陳述不會一成不變;并且會生成一些具有概述性質(zhì)或者更加具體的問題,供運營人員的選擇更多。如表2所示。
三、GPT2模型
目前,Seq2Seq模型有很多,包括LSTM、Transform、GPT、UniLM、GPT2、MASS等等。而GPT2模型在生成問題上表現(xiàn)優(yōu)秀,因此使用GPT2模型訓(xùn)練了一個Query2Query的模型去擴充我們現(xiàn)有的“標(biāo)準(zhǔn)問”庫。
GPT2_ML的項目開源了一個具有15億參數(shù)的中文版的GPT2開源模型,我們在此模型基礎(chǔ)上進(jìn)行微調(diào)。
三軍未動,糧草先行。模型未練,數(shù)據(jù)先行。我們的數(shù)據(jù)來自百度相似問句對,共有220多萬相似問對。具體訓(xùn)練參數(shù)如表3所示。
問題生成的效果如表4所示。
具體測試代碼及模型,見github。
cd scripts/ python3 interactive_conditional_samples.py -model_config_fn ../configs/mega.json -model_ckpt /iyunwen/lcong/model/model.ckpt-850000 -top_p 5.0 -eos_token 102 -min_len 7 -samples 5 -do_topk True結(jié)果:
廣告時間,哈哈哈哈。推薦幾篇本人之前寫的一些文章:
劉聰NLP:短文本相似度算法研究
劉聰NLP:NEZHA(哪吒)論文閱讀筆記
喜歡的同學(xué),可以關(guān)注一下專欄,關(guān)注一下作者,還請多多點贊~~~~~~
總結(jié)
以上是生活随笔為你收集整理的最后生成神么格式的代码_智能扩充机器人的“标准问”库之Query生成的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu开启客户端nfs服务_LIN
- 下一篇: 怎么添加本地音乐_网易云音乐:60G免费