10行代碼,實現(xiàn)寫詩機(jī)器人-創(chuàng)新互聯(lián)

集算器不僅有大數(shù)據(jù)計算,還有詩和遠(yuǎn)方。最近看到不少寫詩機(jī)器人的新聞,于是嘗試用集算器簡單地實現(xiàn)一個。這個實現(xiàn)真的很簡單,簡單到只有10幾行代碼,請看實現(xiàn)步驟:

公司主營業(yè)務(wù):網(wǎng)站制作、做網(wǎng)站、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)建站是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出納雍免費做網(wǎng)站回饋大家。

1下載字典和詩詞

從網(wǎng)上找一個用于分詞的字典文件,里面記錄著每個中文詞匯的詞性。我從GitHub上找了一個,稍微處理之后保存到集文件dict.btx。

下載宋詞三百首的txt文件,去掉空格和換行,以及其它文字以外的字符,得到一個長字符串。

2訓(xùn)練

對上一步得到的長字符串進(jìn)行分詞,結(jié)果保存到集文件作為模板,實現(xiàn)代碼如下:


A

B

C

1

=file("dict.btx").import@bi().keys(WORD).index()



2

=create(WORD,LEN,T)



3

宋詞三百首宴山亭趙佶北行見杏花裁剪冰綃,輕疊數(shù)……



4

=len(A3)

>i=1


5

for (i<=A4)

>word3=A2.find(mid(A3,i,3) ), word2=A2.find(  mid(A3,i,2) ), word1=A2.find( mid(A3,i,1) )


6


if (word3!=null)

>A2.insert(0, word3.(WORD),3,word3.(T)), i=i+3

7


else if (word2!=null)

>A2.insert(0, word2.(WORD),2,word2.(T)), i=i+2

8


else if (word1!=null)

>A2.insert(0, word1.(WORD),1,word1.(T)), i=i+1

9


else

>i=i+1

10

=file("宋詞模型.txt").export@t(A2)



A1讀取字典文件,并且建立索引;

A2定義模板記錄的數(shù)據(jù)結(jié)構(gòu),三個字段表示:詞、長度、詞性;

A5到A9是循環(huán)處理,對A3進(jìn)行分詞,這里最長只處理三個字組成的詞;

A10把結(jié)果保存;

這一步得到一個模板,內(nèi)容是《宋詞三百首》里所有文字的分詞,以及這些分詞的詞性。

3創(chuàng)作

創(chuàng)作的原理是找一首宋詞作為目標(biāo),得到它的每個分詞,根據(jù)分詞的長度和詞性,從上一步的模板里隨機(jī)找一個詞進(jìn)行替換。這里選擇的是《水調(diào)歌頭·明月幾時有》,來看代碼:


A

B

C

1

=file("宋詞模型.txt").import@t()



2

=file("dict.btx").import@bi().keys(WORD).index()



3

明月幾時有,把酒問青天。不知天上宮闕,今夕是何年。我欲乘風(fēng)歸去。惟恐瓊樓玉宇,高處不勝寒,起舞弄清影,何似在人間。



4

=len(A3)

>str="", i=1, words=null


5

for (i<=A4)

>word3=A2.find(mid(A3,i,3)  ),word2=A2.find( mid(A3,i,2) ), word1=A2.find( mid(A3,i,1) )


6


if (word3!=null)

>words=A1.select(LEN==3&&  T==word3.(T) ), i=i+3, str=str+words(1+rand(words.len())).(WORD)

7


else if (word2!=null)

>words=A1.select(LEN==2&&  T==word2.(T) ), i=i+2, str=str+words(1+rand(words.len())).(WORD)

8


else if (word1!=null)

>words=A1.select(LEN==1&&  T==word1.(T) ), i=i+1, str=str+words(1+rand(words.len())).(WORD)

9


else

>str=str+mid(A3,i,1), i=i+1

10

>output(str)



運行結(jié)果如下,這些“作品”雖然存在語法錯誤,但還是有模有樣的,總比我自己寫的要好很多。

晚秋無奈送,佇立鷓鴣天。已成西下黃葉,春寒疏何處。我又花下離別。酒醒陽關(guān)蕭蕭,如許悲歡霜,初見年少影,誰曾在斜陽。

春寒何在喧,不解煙雨任。梳洗江上西風(fēng),明月憐此地。誰先水聲惹起。相思洛陽曉色,幾許不成魂,不應(yīng)相迎競,他未為梢頭。

而今幾度寄,相認(rèn)問青天。催發(fā)江上蓬壺,黃昏發(fā)何處。別未御街可惜。輕吹江南那堪,先斷閑來閑,相逢拘束影,任又在舊事。

昨夜無處應(yīng),不知闌珊處。映帶樓上王孫,如今來有時。任更點點飄香。垂涎池塘秋千,到處望斷天,酒醒衰草影,我尤把天涯。

選擇一首發(fā)到朋友圈,居然得到不少點贊。

實現(xiàn)原理是同詞性替換,根據(jù)這個還可以實現(xiàn)寫唐詩的功能。如果對模板文件進(jìn)一步調(diào)整,根據(jù)韻律和平仄優(yōu)化詞性,效果會更好。這就是屬于人工智能的人工勞動了,需要專業(yè)知識和辛苦付出,不是一下可以達(dá)成的。

感興趣的同學(xué)可以下載附件。

10 行代碼,實現(xiàn)寫詩機(jī)器人15368090470002ffa.rar

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

文章名稱:10行代碼,實現(xiàn)寫詩機(jī)器人-創(chuàng)新互聯(lián)
網(wǎng)頁路徑:http://www.muchs.cn/article6/diepig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、搜索引擎優(yōu)化品牌網(wǎng)站設(shè)計、云服務(wù)器電子商務(wù)、網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化