基于Python的智能创作平台开发实践

2020-08-25 01:47吴高静魏继业傅馨竹熊子淇龙辉阳张峻宁
湖北农机化 2020年9期
关键词:春联写诗代码

傅 骏 吴高静 魏继业 傅馨竹 熊子淇 龙辉阳 张峻宁

(1.四川工程职业技术学院,四川 德阳 618000;2.德阳市岷山路小学,四川 德阳 618000)

百度提供的智能创作平台集合了自然语言处理和知识图谱技术,提供原创型、二次创作型写作能力,实现自动创作和辅助创作,无需人工干预,机器自主完成文章创作,全面提升内容创作效率。其中,“智能春联”功能根据用户输入的命题关键词自动生成一副春联(包括上联、下联和横批),“智能写诗”根据用户输入的命题关键词自动生成一首七言绝句。

1 访问流程

百度的智能创作平台采用HTTP调用方式。百度AIP开放平台使用OAuth2.0授权调用开放API,调用API时必须在URL中带上Access_token参数。

1.1 获取Access_token

获取Access Token的流程是:创建应用,获取API Key与Secret Key,向授权服务地址https://aip.baidubce.com/oauth/2.0/token发送请求(优先采用POST),并在URL中带上参数:grant_type=client_credentials、client_id=API Key、client_secret=Secret Key。

获取Access_token的Python代码是[3],

response = requests.get(host)

token=response.json()

Access_token=token['access_token']

返回的Expires_in表示Access Token的有效期(单位:秒)。

1.2 智能创作

智能春联的请求URL是https://aip.baidubce.com/rpc/2.0/creation/v1/couplets,智能写诗的请求URL是https://aip.baidubce.com/rpc/2.0/creation/v1/poem。

获得诗歌和春联的python代码均为,

params={'text':textt,'index':i}

url = request_url + access_token

response =requests.post(url,json=params)

1.3 结果抓取

智能创造显示了多个信息,用户需要对其中数据进行抓取,获得春联或诗歌正文。获取百度智能写诗正文的代码如下,结果存放在变量“respo”中。

response=response.json()

respons=response['poem']

respon=respons[0]

respo=respon['content']

print(respo)

2 GUI开发

设计任务是,利用Tkinter技术开发GUI界面,基于百度AI提供的开源技术,实现2个功能——智能写诗和智能春联。用户输入主题及数量后,单击对应的按钮,获得创作内容,并将结果显示在窗体上。

2.1 Tkinter界面设计

在界面上设置了3个标签、2个按钮等控件。3个标签分别显示主题、数量、百度创作的结果,2个按钮分别为“智能写诗”和“智能春联”,采用place函数设置各个控件的位置。以下代码分别实现标签和按钮的位置[4],

btn=Button(root,text='智能写诗',command=xs)

btn.place(x=100,y=20)

label=Label(root,width=23,height=6,bg='blue',fg='white')

label.place(x=300,y=150)

2.2 识别按钮功能设计

采用def函数将按钮与百度智能创作的结果进行定义。实现“智能写诗”按钮与百度智能创作结果链接的python代码是,

def智能写诗():

global textt,request_url

textt=txt.get(0.0,END)

res=""

for i in range(0,int(textt1)):

params={'text':textt,'index':i}

url=request_url+access_token

response=requests.post(url,json=params)

btn=Button( root,text = "智能写诗",command=智能写诗)

图1 “智能写诗”结果

图2 “智能春联”结果

图1是运行Tkinter开发的百度AI执行“智能写诗”界面。

3 结束语

采用Python语言,利用Http方式访问百度智能创作平台,获取Access_token,实现了“智能写诗”与“智能春联”功能并进行数据抓取。用tkinter设计了GUI界面,用户输入主题和数量,可以分别获得七言诗歌和春联。

人工智能技术方兴未艾,百度为用户使用人工智能技术提供了多种技术和平台,助力人工智能技术走进各行各业。通过此次实践,项目组掌握了智能创造的基本技术,下一步将利用此技术为用户定制更多智能创造软件。

猜你喜欢
春联写诗代码
你家春联贴对了吗?
为自己更为读者写诗
新春联
创世代码
创世代码
创世代码
创世代码
小鸟写诗
新春联
成熟的写诗