基于PaddleHub的虚拟粉圈微博生成
基于PaddleHub的虛擬粉圈微博生成
B站演示視頻
一-前言
靈感來源于中文互聯網中的大量垃圾信息與“僵尸粉”,以及大量的粉絲打榜內容。
在自然語言處理的幫助下,我們是否可以創造出能自主行動,甚至與真人用戶互動的虛擬用戶?人們能否識別ta是人還是ai?會與ta討論、甚至爭斗嗎?
本項目以某明星的粉絲為例,嘗試生成粉圈微博,并嘗試在微博上回復他人,觀察人類用戶的回復。
希望能將本項目作為一種嘗試,引起更多人對社交媒體的反思。
- 輸入:
1-明星名
2-話題,如[XX電視劇],[XX晚安] - 輸出:對應話題的粉圈微博
Github地址: https://github.com/sunyuqian1997/ghost-on-web
二-模型簡介
ERNIE-GEN 是面向生成任務的預訓練-微調框架,首次在預訓練階段加入span-by-span 生成任務,讓模型每次能夠生成一個語義完整的片段。在預訓練和微調中通過填充式生成機制和噪聲感知機制來緩解曝光偏差問題。此外, ERNIE-GEN 采樣多片段-多粒度目標文本采樣策略, 增強源文本和目標文本的關聯性,加強了編碼器和解碼器的交互。ernie_gen module是一個具備微調功能的module,可以快速完成特定場景module的制作。
https://www.paddlepaddle.org.cn/hubdetail?name=ernie_gen&en_category=TextGeneration
三-安裝環境
! pip install xlrd ! pip install paddlehub==1.8.0 ! pip install paddle-ernie==0.0.4.dev1四-準備數據集
我們使用Weibo-spider爬取了約1w條該明星的粉絲微博,并整理成“話題-正文”的格式。
Ernie-gen要求的格式為"序號\t輸入文本\t標簽",因此我們按要求處理.xlsx格式的文件,生成數據與驗證集。
由于生成任務是N對N的關系,輸入1輸出關于1的句子,輸入2則輸出關于2的句子,若這里輸入1,標簽為句子A,再輸入1,標簽為句子B,那么模型很難清楚到底輸入1之后A是正確的還是B是正確的,所以最終會可能會擬合其中一個出現次數較多的效果,這樣會影響輸出,使其可能存在多樣性不足等問題。
| 1 | XX | 哇哦XX大名話題量也破一千億了!撒花 |
| 2 | XX | XX越看越上頭…… |
這里修改輸入,讓數據集中的輸入按下圖方式進行轉換。如果這里的輸入可以變得多樣化,那么能少許調整一些效果
| 1 | XX1 | 哇哦XX大名話題量也破一千億了!撒花 |
| 2 | XX2 | XX越看越上頭…… |
五-Finetune并訓練
此部分為模型訓練代碼,如果要直接測試生成效果,請直接查看“六-運行預測”
- train_path(str): 訓練集路徑。
- dev_path(str): 驗證集路徑。
- save_dir(str): 模型保存以及驗證集預測輸出路徑。
- max_steps(int): 最大訓練步數。
- noise_prob(float): 噪聲概率,詳見ernie gen論文。
- save_interval(int): 訓練時的模型保存間隔部署。驗證集將在模型保存完畢后進行預測。
- max_encode_len(int): 最長編碼長度。
- max_decode_len(int): 最長解碼長度。
六- 運行預測
這里解壓并載入之前訓好的模型,如果在上一步重新訓練過,請替換地址為新模型。
#解壓掛載的模型(在數據集里) #import zipfile#f = zipfile.ZipFile("./data/data76465/pretrain.zip",'r') # 原壓縮文件在服務器的位置 #for file in f.namelist(): # f.extract(file,"./work") import paddlehub as hub #如果重新訓練了,請替換地址為新模型。 module = hub.Module(directory="./work/pretrain")重點來了!請輸入目標明星的姓名
#輸入自定義明星名 name='王都樓'#輸入自定義tag,可以包含明星名 test_texts = ['王都樓','王都樓正能量藝人','王都樓我喜歡你','向全世界安利王都樓','王都樓公益一路有你'] #生成結果 import sys nameList=[] with open('nameList.txt','r') as f:for line in f:nameList.append(list(line.strip('\n').split(',')))str=nameList[0][0] use=[] for test in test_texts:test=test.replace(name,str)use.append(test)#beam_width可以改生成數量 results = module.generate(texts=use, use_gpu=True, beam_width=10)for result in results:group=[]for sentence in result:for oldName in nameList:sentence=sentence.replace(oldName[0],name)group.append(sentence)for i in group:print(i,end='\n')group.append(sentence)for i in group:print(i,end='\n')print('\n') [2021-03-24 23:05:35,934] [ WARNING] - use_gpu has been set False as you didn't set the environment variable CUDA_VISIBLE_DEVICES while using use_gpu=True我真的某些人很想問:管好自己很難嗎?跟著官方在自己的天地里愉快的玩耍很難嗎?管好自己,過好自己個人的 我喜歡王都樓王都樓好帥王都樓演技好王都樓唱歌好聽王都樓作品好看期待王都樓余生請多指教期待王都樓顧魏王都樓粉絲支持王都樓 我看了下,感覺今天還可以努力一把子,目標定高點,能搞多少搞多少,越高越好。大盤還是路人觀眾,粉絲繼續 我仿佛聽見了這想念的聲音分享的綠洲動態:想念綠洲 我仿佛聽見了這想念的聲音分享的綠洲動態:想念綠洲 謝謝大家讓我睡覺可以更快點,可以更早點 拜拜2020開啟順順利利的2021吧 我真的某些人很想問:管好自己很難嗎?跟著官方在自己的天地里愉快的玩耍很難嗎?不理ta們很難嗎?不去跟ta 我仿佛聽見了這想念的聲音分享的動綠洲動態:想念綠洲 我真的某些人很想問:管好自己很難嗎?跟著官方在自己的天地里愉快的玩耍很難嗎?管好自己,過好自己人生活凡此過往,銘記于心,為愛而來,一路同行!王都樓[兔子報王都樓《光點》光點》qq音樂 凡此過往,銘記于心,為愛而來,一路同行!王都樓[兔子隊王都樓《光點》光點》qq音樂 凡此過往,銘記于心,為愛而來,一路同行!王都樓[兔子呆王都樓《光點》光點》qq音樂 凡此過往,銘記于心,為愛而來,一路同行!王都樓[兔子們王都樓《光點》光點》qq音樂 凡此過往,銘記于心,為愛而來,一路同行!王都樓[兔子!王都樓《光點》光點》qq音樂 凡此過往,銘記于心,為愛而來,一路同行!王都樓[兔子《王都樓《光點》光點》qq音樂 凡此過往,銘記于心,為愛而來,一路同行!王都樓[兔子》王都樓《光點》光點》qq音樂 凡此過往,銘記于心,為愛而來,一路同行!王都樓[兔子!王都樓《光點》光點專qq音樂 凡此過往,銘記于心,為愛而來,一路同行!王都樓[兔子貼,指路回 凡此過往,銘記于心,為愛而來,一路同行!王都樓[兔子》王都樓《光點》光點專qq音樂二十六軍閥少帥《西江月》江滬的風聲越來越大,匪軍的動作也越來越多,這上海,怕是要變天了。在蕭氏官邸里 二十四軍閥少帥蕭天涯歌女“我待你這樣好,你說說,你要怎樣報答我?”蕭戰來了撩撥她的興致,作勢去松斐夏 二十四軍閥少帥,天涯歌女。“我待你這樣好,你說說,你要怎樣報答我?”蕭戰來了撩撥她的興致,作勢去松斐 遇見你開始眉眼彎彎,星河皆你。春風十里不如你,夢里夢外都是你。美好的一周開始了,回顧一下戰哥的背頭神 機場大背頭兩周年雖然是你卸妝后隨意抓的但帥是真的[羞嗒嗒(按時間找這組照片也是翻了蠻久的誒王都樓##gg 二十四軍閥少帥,天涯歌女。我待你這樣好,你說說,你要怎樣報答我?”蕭戰來了撩撥她的興致,作勢去松斐夏 二十六軍閥少帥《西江月》江滬的風聲越來越大,匪軍的動作也越來越多。這上海,怕是要變天了。在蕭氏官邸里 二十四軍閥少帥《西江月》江滬的風聲越來越大,匪軍的動作也越來越多,這上海,怕是要變天了。在蕭氏官邸里 二十六軍閥少帥《西江月》江滬的風聲越來越大,匪軍的動作也越來越多,越來越多。這上海,怕是要變天了。在 遇見你開始眉眼彎彎,星河皆你。春風十里不如你,夢里夢外都是你。美好的一周開始了斗回顧一下戰哥的背頭神不因巔峰慕名而來不在低谷離你而去慶幸這人間有你這也是我愛人間的唯一道理愿為你赴湯蹈火這九州山河我只愿 八月不求大富大貴!但求你可以順順利利[給你小心心愿你:眼里有光心中有太陽歲歲步步如愿以償王都樓##gg 我們一直都在一起的。加油,會會。加油,小飛俠們。 八月不求大富大貴[但求你可以順順利利[給你小心心愿你:眼里有光心中有太陽歲歲步步如愿以償王都樓##gg 八月不求大富大貴。但求你可以順順利利[給你小心心愿你:眼里有光心中有太陽歲歲步步如愿以償王都樓##gg 八月不求大富大貴!但求你可以順順利利[給你小心心王都樓愿你:眼里有光心中有太陽歲歲步步如愿以償王都樓##gg 三月你好愿你光芒萬丈馭風扶搖直上愿你以后的每一天都健健康康,順順利利[心王都樓 不知道你們有沒有見過這兩套絲絨小贊[哆啦a夢花心王都樓 快來為哥哥投票啊,不要一次性投10票,一票一票的投 曲有誤,肖郎顧。我永遠喜歡染染綠洲王都樓王都樓粉絲在王都樓生日之際向中國青少年發展基金會捐贈50萬用于建設一所希望小學!希望小學以“光點”命名, 王都樓王都樓粉絲小飛俠看到了王都樓的新廣告,來支持獨立門店,支持真果粒真果粒大賣.真果粒 王都樓王都樓粉絲小飛俠看到了王都樓的新廣告,來支持獨立門店,支持真果粒真果粒大賣!真果粒 王都樓王都樓粉絲小飛俠響應該王都樓粉絲公益項目組,扶貧助農,支持公益幫ii##jo##se##ph##20##19這位霞姐抽個jiang卷發抽一個 王都樓王都樓粉絲小飛俠響應了王都樓粉絲公益項目組,扶貧助農,支持公益幫ii##jo##se##ph##20##19這位霞姐抽個jiang卷發抽一個 王都樓王都樓粉絲小飛俠看到了王都樓的新廣告,來支持獨立門店,支持真果粒真果粒大賣。真果粒 王都樓王都樓粉絲小飛俠響應王都樓粉絲公益項目組,扶貧助農,支持公益幫ii##jo##se##ph##20##19這位霞姐抽個jiang卷發抽一個唯 王都樓王都樓粉絲小飛俠響應各王都樓粉絲公益項目組,扶貧助農,支持公益幫ii##jo##se##ph##20##19這位霞姐抽個jiang卷發抽一個 王都樓王都樓粉絲小飛俠看到了王都樓的新廣告,來支持獨立門店,支持真果粒真果粒大賣 王都樓王都樓粉絲小飛俠響應了王都樓粉絲公益項目組,扶貧助農,支持公益幫ii##jo##se##ph##20##19這位霞姐抽個jiang卷發抽10個參考鏈接
手把手教你使用預訓練模型ernie_gen進行finetune自己想要的場景
用Paddlepaddle做一個凡爾賽文學生成器
Weibo-spider
項目地址
基于PaddleHub的虛擬粉圈微博生成
總結
以上是生活随笔為你收集整理的基于PaddleHub的虚拟粉圈微博生成的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手机蓝牙开无线给linux连网,Linu
- 下一篇: 计算机课程的流程图raptor,RAPT