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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

来,和人工智能对对联过大年!

發布時間:2023/12/16 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 来,和人工智能对对联过大年! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

歡迎關注天善智能,我們是專注于商業智能BI,人工智能AI,大數據分析與挖掘領域的垂直社區,學習,問答、求職一站式搞定!

對商業智能BI、大數據分析挖掘、機器學習,python,R等數據領域感興趣的同學加微信:tstoutiao,邀請你進入數據愛好者交流群,數據愛好者們都在這兒。

作者:? veelion

公眾號:猿人學Python

春節貼春聯是中國人慶祝春節(過年)的特有習俗。但我真正對對聯有些認識和喜歡,不是從年年貼春聯開始的,而是從《唐伯虎點秋香》那段經典的對對子開始的。那工整又有韻律和意境的對子,配上有節奏的配樂讀出來著實讓人熱血沸騰,大呼過癮。

本文末尾有對對聯的入口,可以與人工智能對(tiao)對(xi)聯(ta)哦~

先來回味一下這段臺詞吧,你的耳邊是否響起了對對子的節奏。。。

對穿腸:一鄉二里共三夫子,不識四書五經六義,竟敢教七八九子,十分大膽!

寧王:對啊,怎麼不對呢?你不給我面子,我可真的要發飆了!

唐伯虎:讓我來試試! 十室九貧,湊得八兩七錢六分五毫四厘,尚且三心二意,一等下流!

對穿腸:好工整啊!

華太師:華安,你來的正是時候。

唐伯虎:沒事,沒事,沒事。

對穿腸:在下是七省文狀元兼參謀將軍,綽號對王之王的對穿腸。閣下是?

唐伯虎:小弟讀過兩年書,塵世中一個迷途小書僮,華安。

對穿腸:好!我就來會一會你!

(兩人互相凝視,蓄勢待發,突然......親了一下......眾人跌倒在地!)

唐伯虎:對不起,我倆惺惺相惜,情不自禁。

對穿腸:言歸正傳,我們開始了。

圖書里,龍不吟虎不嘯,小小書僮可笑可笑。

唐伯虎:棋盤里,車無輪馬無韁,叫聲將軍提防提防。

眾 人:對得好!對得好!

對穿腸:鶯鶯燕燕翠翠紅紅處處融融洽洽。

唐伯虎:雨雨風風花花葉葉年年暮暮朝朝。

眾 人:華安真行啊!對得好!

寧 王:快出對子對死他,對死他!

對穿腸:十口心思,思君思國思社稷。

唐伯虎:八目共賞,賞花賞月賞秋香。

對穿腸:我上等威風,顯現一身虎膽。

唐伯虎:你下流賤格,露出半個龜頭。

對穿腸:我堂堂參謀將軍會輸給你個書僮? 你家墳頭來種樹。

唐伯虎:汝家澡盆雜配魚。

對穿腸:魚肥果熟入我肚。

唐伯虎:你老娘來親下廚!

(對穿腸倒地噴血)

唐伯虎:對對本為消遣作樂,今曰穿腸兄居然對到嘔出幾十兩血,可謂空前絕后,小弟佩服佩服!

十年前,微軟亞洲研究院推出了一個對聯生成引擎,可以根據用戶輸入的上聯自動生成下聯,當時火了一把。那時候我覺得這個好神奇啊。

十年后,人工智能的風已經熱吹了幾年。隨著硬件GPU計算能力的提升,和深度學習框架(TensorFlow,PyTorch,MxNet等等)的推出和發展,人工智能(其實就是更深層的機器學習)首先在圖像處理領域大放異彩,人臉識別、物體檢測等技術應用廣泛。然而,在自然語言處理處理方面,深度學習的應用還沒有圖像處理那么成熟。不過,人工智能作古詩,對對子應用的看起來還不錯。

今天,在春節到來之前,我就來用Python搭建一套人工智能對對聯的系統,供朋友們在春節期間娛樂一下。

一、人工智能的實現

基于深度學習實現的對對聯已經有好多種方法。這次我們主要參考這個實現:

https://github.com/wb14123/seq2seq-couplet

并且,這個作者還提供了70萬條對聯的數據,有了這個數據就可以訓練我們自己的模型了。

做深度學習訓練是最考驗硬件的,必須上GPU,不然訓練可能要一兩個月才能完成。通常深度學習的系統環境是這樣的:

CPU:現在常規的已經足夠,計算主要靠GPU;

內存:至少16GB,越多越好;

GPU: NVIDIA,至少是gtx-1060吧。目前最具性價比的是gtx-1080 Ti

OS: Ubuntu 16.04 (普遍使用的版本)

Python: Python 3.6 版 (2.x的版本用的很少了)

深度學習框架: TensorFlow、PyTorch和MxNet最流行

我的機器已經配置好了TensorFlow和GPU等環境,不過GPU只是1070,性能有點弱弱。按照說明可以比較容易的配置好訓練環境。訓練跑起來后,就聽到GPU風扇轉起來了,發熱量有點大。好在是冬天,可以取取暖。要是夏天就只能流汗了~

訓練的過程很漫長。。。最終訓練了一周。搞人工智能的活兒沒點兒像樣的硬件,還真耗不起青春啊。訓練期間,有足夠的時間去完成其它的功能。

二、Web API的建立

上面的github中有個Flask寫的Server。不過,我更喜歡Sanic,就用Sanic寫一個吧。服務器接收上聯,生成下聯后返回json數據,Sanic很容易搞定。如果你用過Sanic,就知道它有多么容易了。

這個Server程序一運行,就先加載訓練好的模型。然后給Server寫一個路由響應函數即可。

三、與公眾號對接

這個對接之前沒有做過。通過讀開發文檔,弄明白了流程:在公眾號后臺設置服務器地址用來接收騰訊服務器發送的消息,我的服務器處理后再返回給騰訊服務器。

舉個例子,關注公眾號的用戶給公眾號發送一條上聯,騰訊服務器收到后轉發給我的服務器,我的服務器生成下聯返回給騰訊服務器,騰訊服務器再傳給用戶的微信客戶端。

弄清楚了數據傳輸路徑,再結合文檔中描述數據的格式,就可以實現跟微信對接的程序了。

(0)驗證微信消息來源

微信的API通過一個驗證機制來讓我們開發者服務器來確認消息是從微信服務器發來了,而不是其它人的消息。這個機制官方文檔中有描述,我把它實現為一個函數,其中三個參數是微信服務器發過來的,而里面的token是我在公眾號后臺設置的,這個token很關鍵不能讓別人知道,不然他就可以拿它偽裝成微信服務器了。當然,我的token你看到了也沒關系,我會改成別的哦。

(1)解析微信消息數據

微信服務器傳過來的消息是一個xml結構的數據,具體格式參見其官方開發文檔。我用lxml來解析這個xml結構:

(2)實現關注事件自動回復和關鍵字回復

之前已經在公眾號后臺設置了用戶關注后自動打招呼,和基于關鍵詞的自動回復。啟用開發模式后,這個功能就要我自己實現了:

把設置的關鍵詞和回復內容用dict保存,后面添加也很方便。用正則表達式匹配這些設置的關鍵詞和微信消息內容,速度也夠快。

(3)生成回復消息

我的服務器處理完微信服務器發過來的消息后,就要生成一個xml格式的消息返回給微信服務器,它接收后再發給微信用戶,從而實現最終的自動回復微信用戶。這個xml格式也是正在開發文檔中描述。

這樣,與微信服務器對接的功能就實現了。接下來,把這些功能放到Sanic服務器程序里面就好了。

不過,我不是這樣做的。而是讓對聯功能的服務保持獨立,因為它啟動一次加載人工智能模型太費時間,調試不方便。把對外的web服務寫成另外的Sanic服務程序,兩者之間,通過requests訪問:

完成后測試成功。可惜,只留下下面一條測試的截圖(后面有解釋)

到此為止,一切正常!

。。。。。。

但是,原來公眾號設置的菜單不見了。后臺顯示開發模式下要自己開發這個菜單,沒問題,難不倒我。根據文檔試了試,竟然不成功?!

為什么呢?權限那里顯示,菜單開發的權限只有在公眾號認證后才能獲得。暈,還要去認證公眾號。好吧,公眾號你贏了。也就是說,前面廢了那么大勁兒從讀文檔到寫程序對接的功夫全白費了,公眾號對接的代碼白寫了~~,有需要的拿走不謝哦。

四、獨立的網頁

我就是不認證,就是不認證!但我可以換個思路,停用開發模式。增加一個菜單,菜單鏈接對對聯的網頁就可以了。做這個網頁太簡單了,還是上Sanic。有心的同學,可以在這個網頁上發現對對聯的API,你可以使用這個API開發自己的應用哦。

這個網頁就是一個單頁面,布局用bootstrap,用jQuery和服務器交互。因為就一個簡單頁面,沒有用jinja模板,直接讀取html文件并用 response.html() 返回即可。壞處是每次調整網頁都有重啟一下服務:

網頁有點簡陋,就是下面的樣子,類似對話流。有興趣的同學可以通過關注公眾號和它對對子。

這個系統的搭建,主要是使用Python完成,涉及一點網頁css和js的東西,也涉及系統和網絡服務的知識,可以算得上一個全棧開發的例子。當然,主要的還是Python,不管是人工智能還是Web都有Python的用武之地。別想了,趕快學Python吧。

人工智能對對聯的入口:

https://www.yuanrenxue.com/couplet

Python的愛好者社區歷史文章大合集:

2018年Python愛好者社區歷史文章合集(作者篇)

2018年Python愛好者社區歷史文章合集(類型篇)

福利:文末掃碼立刻關注公眾號,“Python愛好者社區”,開始學習Python課程:

關注后在公眾號內回復“課程”即可獲取:

小編的轉行入職數據科學(數據分析挖掘/機器學習方向)【最新免費】

小編的Python入門免費視頻課程!!!

小編的Python快速上手matplotlib可視化庫!!!

崔老師爬蟲實戰案例免費學習視頻。

陳老師數據分析報告制作免費學習視頻。

玩轉大數據分析!Spark2.X+Python 精華實戰課程免費學習視頻。

總結

以上是生活随笔為你收集整理的来,和人工智能对对联过大年!的全部內容,希望文章能夠幫你解決所遇到的問題。

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