“狗屁不通文章生成器”登頂GitHub熱榜,分分鐘寫出萬字形式主義大作
一、垃圾文字生成器介紹
最近在瀏覽GitHub的時候,發現了這樣一個骨骼清奇的雷人專案,而且熱度還特別高。
- 專案中文名:狗屁不通文章生成器
- 專案英文名:BullshitGenerator
根據作者的介紹,他是偶爾需要一些中文文字用於GUI開發時測試文字渲染,因此開發了這個廢話生成器。但由於生成的廢話實在是太過富於哲理,所以最近已經被小夥伴們給玩壞了。
他的文風可能是這樣的:
你發現,引經據典,頭頭是道,說好的狗屁不通在哪裡呢?
還有這樣的:
而且,同一個主題,每次點選生成,都會出現完全不同的文字。
二、垃圾文字生成器的來歷
垃圾文字生成器的來歷也很有意思,據作者說,最開始源於他在逛知乎的時候,發現有網友在退出學生會的時候,需要寫6000字的退會申請。因為作者以前挺擅長寫這類“狗屁不通”的文章。結果寫了幾句,突然想到還是寫個程式生成吧。於是,狗屁不通文字生成器就誕生了。
目前,由於專案過於火爆,有一位同學,把生成器移植到了telegram上,獲得了一隻充滿哲思的機器人。
當被問及“今天中午吃什麼”這樣一個世紀難題的時候,機器人回覆了整整兩螢幕資訊:
也有一些同學,則致力於把這個專案推向國際。於是,英文版和日本版就誕生了。
還有些同學,開發出了手寫體版本:
三、狗屁不通文章生成器是怎麼實現的?
簡單翻了一下原始碼,真的是特別簡單,一點簡單的廢話語料庫,一點字串拼接語句就生成了華麗麗的幾千字,我們來欣賞一下原始碼:
名人名言廢話語料庫,167行程式碼,這個只要新增更多的廢話,就能生成更豐富的內容:
js版本生成演算法:
function 生成文章(){
主題 = $('input').value
let 文章 = []
for(let 空 in 主題){
let 章節 = "";
let 章節長度 = 0;
while( 章節長度 < 6000 ){
let 隨機數 = 隨便取一個數();
if(隨機數 < 5 && 章節.length > 200){
章節 = 增加段落(章節);
文章.push(章節);
章節 = "";
}else if(隨機數 < 20){
let 句子 = 來點名人名言();
章節長度 = 章節長度 + 句子.length;
章節 = 章節 + 句子;
}else{
let 句子 = 來點論述();
章節長度 = 章節長度 + 句子.length;
章節 = 章節 + 句子;
}
}
章節 = 增加段落(章節);
文章.push(章節);
}
let 排版 = "<div>" + 文章.join("</div><div>") + "</div>";
$("#論文").innerHTML = 排版;
}
py版本:
if __name__ == "__main__":
xx = input("請輸入文章主題:")
for x in xx:
tmp = str()
while ( len(tmp) < 6000 ) :
分支 = random.randint(0,100)
if 分支 < 5:
tmp += 另起一段()
elif 分支 < 20 :
tmp += 來點名人名言()
else:
tmp += next(下一句廢話)
tmp = tmp.replace("x",xx)
print(tmp)
可以看出,沒有用任何高階技術,不取巧,作者宣告如下:
鄙人才疏學淺並不會任何自然語言處理相關演算法. 而且目前比較偏愛簡單有效的方式達到目的方式. 除非撞到了天花板, 否則暫時不會引入任何神經網路等演算法. 不過歡迎任何人另開分支實現更復雜, 效果更好的演算法. 不過除非效果拔群, 否則鄙人暫時不會融合.
這個文字細細讀起來,還是挺有哲理的。
額,其實就是一本正經地說廢話的那種感覺。你懂的。。。
四、最後,放上鍊接
狗屁不通文章生成器:
https://github.com/menzi11/BullshitGenerator
網頁版:
https://suulnnka.github.io/BullshitGenerator/index.html
我的微信公眾號:架構真經(id:gentoo666),分享Java乾貨,高併發程式設計,熱門技術教程,微服務及分散式技術,架構設計,區塊鏈技術,人工智慧,大資料,Java面試題,以及前沿熱門資訊等。每日更新哦!
相關文章
- "狗屁不通文章生成器"登頂GitHub熱榜,分分鐘寫出萬字形式主義大作Github
- so easy! 10行程式碼寫個"狗屁不通"文章生成器行程
- 《戴森球計劃》上線45分鐘即登頂Steam全球熱銷榜
- “狗屁不通文章生成器”火爆Github,一句話生成萬字論文的神器瞭解一下?Github
- Steam周銷榜出爐 《騎砍2》登頂
- 用 Java 拿下 HTML 分分鐘寫個小爬蟲JavaHTML爬蟲
- 實用主義當道——GitHub 熱點速覽 Vol.48Github
- 《拉結爾》首日登頂iOS榜!中外兩代主創暗黑論道iOS
- 分分鐘教你用node.js寫個爬蟲Node.js爬蟲
- 謹防“數字化形式主義”YX
- 分分鐘掌握快速排序排序
- 微信小程式介紹:GitHub熱榜微信小程式Github
- 分分鐘讓你理解HTTPSHTTP
- 主成分分析(PCA)PCA
- Steam一週銷量排行榜:《破壞領主》登頂 《地鐵:離去》上榜
- 《慶餘年》連續5天登頂熱度榜,好口碑高曝光打造良心劇集
- Steam一週銷量排行榜出爐 《毀滅戰士:永恆》登頂
- 請查收這份開發者轉型AI指南 AI頂尖公司分分鐘pick你AI
- 朝夕光年出品手遊《航海王熱血航線》上線首日登頂iOS免費榜iOS
- 主成分分析推導
- PCA主成分分析(上)PCA
- Rust 的靜態網站生成器「GitHub 熱點速覽」Rust網站Github
- 榮登Github日榜!微信最新開源MMKVGithub
- 從角色代言到618跨界直播,陰陽師登頂天貓母嬰模玩類熱榜
- TapTap8.6分,登頂熱門榜,這款修仙遊戲重新整理了玩家的認知?APT遊戲
- Steam銷量周榜:新作《遺蹟:灰燼重生》登頂
- 分分鐘教你Python Web開發框架DjangoPythonWeb框架Django
- Steam周銷量榜:《賽博朋克2077》登頂 《巫師3:狂獵》回榜
- WordPress模板層次14:文章形式
- vue移動助手實踐(四)——分分鐘自定義一個屬於自己的vue元件(基於Vue的側邊欄和返回頂部元件)Vue元件
- Steam一週銷量排行榜:《無人深空》登頂 《GTA5》跌出前五
- Steam周銷榜出爐:《赤痕:夜之儀式》登頂 《三國:全面戰爭》第三
- 主成分分析(PCA)原理詳解PCA
- 主成分分析及其matlab實現Matlab
- Steam一週銷量排行榜 《GTA5》再次登頂
- Steam一週銷量排行榜:《動物園之星》登頂
- 上線首日免費榜登頂、暢銷榜第4,那個Supercell回來了?
- 95%好評,登頂Steam暢銷榜兩週,《雙人成行》主創:合作遊戲的需求被低估了遊戲