Robot for poetry 诗歌机器人
可能人工智能艺术家更加有才华,会写诗。
许多诗人和文科生没有闲工夫写码,可能误认为写程序非码农莫能。其实,
诗歌机器人的制造,必须由诗人主持大业,广大专业和业余诗歌爱好者大量的码字,并没有职业码农多少事。
这里九天示范一下Robot for poetry源码大致结构,目的是说明诗歌机器人程序不难,但是特麻烦。
下面是Robot for poetry写的诗歌, 因为我只是一个业余诗歌爱好者,自然编的程序写不出有创意的好诗,只是模仿而已。
1. 去年今日胡同中,
小散人工智能相映红。
小散不知何处去,
人工智能依旧笑股市。
2. 蓝天给了我蓝色的幽梦,
我却用它寻找前程
3. 明年游全球,
提前报夫知
钱须连夜赚,
莫待口袋空。
4. 我如果爱你——
绝不像冷淡的月光,
不照你的夜路却照沟渠。
//+--------------------------------------------------------------------------+
//| Robot for poetry |
//| Copyright 2018, 广大专业和业余诗歌爱好者 |
//| http://www.hutong9.net/forum.php ... &extra=page%3D1|
//+--------------------------------------------------------------------------+
#property copyright "Copyright 2014, 广大专业和业余诗歌爱好者"
#property link "http://www.hutong9.net"
#property version "1.00"
Input int Choice = 18572; //18572=访崔护12 由子窗口根据选择模仿诗人的诗歌产生
Input string 门中A[]; //一维字符串数组,例如,其中门中A[9] = "胡同";
Input string 人面A[] //一维字符串数组,例如,其中人面A[6] = "小散";
Input string 桃花A[] //一维字符串数组,例如,其中桃花A[3] = "人工智能";
Input string 春风A[] //一维字符串数组,例如,其中春风A[5] = "股市";
..........
..........
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
//子窗口根据选择模仿诗人的诗歌产生int Choice, 比如 Choice = 18572 调用 子程序 访崔护12
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| 主程序 |
//+------------------------------------------------------------------+
void
{
//---
Switch(Choice)
.........
case 18572:
for(int i:=1; i<10;i++) for(int j:=1; j<10;j++) for(int k:=1; k<10;k++) for(int im:=1; m<10;m++)
{
崔护12( 门中A, 人面A[j], 桃花A[k], 春风A[m],string 仿崔护12)
//= "胡同" = "小散" = "人工智能" = "股市"
if(checkout(仿崔护12)) Print(仿崔护12);
}
.........
case 26134:
顾城279(蓝,天,幽梦,前程,访顾城279)
if(checkout(仿仿顾城279)) Print(仿顾城279);
.........
case 27897:
武则天02(年,全球,提前,夫,钱,赚,口袋空,string 仿武则天02)
if(checkout(仿武则天02)) Print(仿武则天02);
.........
case 31564:
十大古诗人混合体267(Input string xx,string yy,string zz,string ww,string uu,string vv,string 仿十大古诗人混合体267)
.........
case 68938:
九大现代诗人混合体768(冷淡,月光,不照,夜路,却照沟渠,string 仿九大现代诗人混合体768)
if(checkout(仿十大现代诗人混合体768)) Print(仿十大现代诗人混合体768);
.........
case 89654:
....................
}
//+------------------------------------------------------------------+
//| 诗人 崔护 先生 的第12号 子程序 |
//+------------------------------------------------------------------+
void 崔护12(string 此门,string 人面, string 桃花,string 春风,string 访崔护12)
{
string a="去年今日";
string b="中,";
string c="相映红。";
string d="不知何处去";
string e="依旧笑";
string f="。";
//去年今日此门中,人面桃花相映红。人面不知何处去,桃花依旧笑春风。
访崔护12=a+此门+b+人面+桃花+c+人面+d+桃花+e+春风+f;
return();
}
//+------------------------------------------------------------------+
//| 诗人 顾城 先生 的第279号 子程序 |
//+------------------------------------------------------------------+
void 顾城279(string 黑,string 夜,string 眼睛,string 光明,string 仿顾城279)
{
string a="给了";
string b="色的";
string c=",";
string d="却用它寻找";
string e="。";
string f="我";
//黑夜给了我黑色的眼睛,我却用它寻找光明
仿崔护12=黑+夜+a+f+黑+b+眼睛+c+f+d+光明+e;
return();
}
//+------------------------------------------------------------------+
//| 诗人 武则天 陛下 的第2号 子程序 |
//+------------------------------------------------------------------+
void 武则天02(string 朝,string 上苑,string 火速,string 春,string 花,string 放,string 晓风吹,string 仿武则天02)
{
string a="明";
string b="游";
string c="游";
string d=",";
string e="报";
string f="知。";
string g="须连夜";
string h="莫待";
string i="。";
//明朝游上苑, 火速报春知 花须连夜放, 莫待晓风吹。
仿武则天02=a+朝+b+上苑+d+火速+e+春+f+花+g+放+d+h+晓风吹+i;
}
//+------------------------------------------------------------------+
//| 屈原,曹植,陶渊明,王维,李白,杜甫,白居易,李商隐,苏东坡,陆游 混合体 |
//| 的第285号 子程序 |
//+------------------------------------------------------------------+
void 十大古诗人混合体 267(Input string xx,string yy,string zz,string ww,string uu,string vv,string 仿十大古诗人混合体)
{
}
//+------------------------------------------------------------------+
//| 顾城,北岛,舒婷,西川,海子,汪国真,席慕容,胡适,徐志摩 混合体 |
//| 的第285号 子程序 |
//+------------------------------------------------------------------+
void 九大现代诗人混合体 768(string 攀援,string 凌霄花,string 借,string 高枝,string 炫耀自己,string 仿九大现代诗人混合体768)
{
string a="我如果爱你——";
string b="绝不像";
string c="的";
string d=",";
string e="你的";
string f="。";
string g="须连夜";
string h="莫待";
string i="。";
//我如果爱你—— 绝不像攀援的凌霄花,借你的高枝炫耀自己。
仿十大现代诗人混合体768=a+b+攀援+c+凌霄花+d+借+e+高枝+炫耀自己+f;
} |
//+------------------------------------------------------------------+
//| 检验Robot写的诗歌 意境 用词 |
//+------------------------------------------------------------------+
bool checkout(Robot写的诗歌)
{
//开始由人工评审Robot写的每一首诗歌,例如,利用一维字符串数组,门中A[9] = "胡同"; 人面A[6] = "小散"; 桃花A[3] = "人工智能";
//春风A[5] = "股市";写成的诗歌,人工智能多了2个字,如果不必改善,那么 checkout(Robot写的诗歌)=true;负责这组数据就被禁止使用。
//长期学习积累下来,Robot就会写出令人满意的诗歌。
} |