给"狗屁不通"文章生成器加点料(根据图片关键字写文章)

这是一个最近在GitHub上很火的开源项目,其实谈不上人工智能,但是功能很强大,只要输入关键字,就可以生成自定义长度的文章。

带着这些问题, 我们来审视一下机器人. 我们都知道, 只要有意义, 那么就必须慎重考虑.机器人因何而发生?
我们一般认为, 抓住了问题的关键, 其他一切则会迎刃而解.这样看来, 伏尔泰说过一句富有哲理的话, 不经巨大的困难,不会有伟大的事业。这不禁令我深思. 亚伯拉罕·林肯说过一句富有哲理的话, 你活了多少岁不算什么,重要的是…

这是生成的文章,具体怎么生成的,大家可以在Github上找原代码来看看,我今天就在原代码的基础上,增加一些功能.

这个功能其实也很简单,主要是传一张图片,识别图片的主要内容,根据返回的关键字来写文章.调用百度AI的接口就能实现这个功能,以下是调用paddlepaddle“通用物体和场景识别”的代码.

from bullshit import generator
import requests
import base64

'''
通用物体和场景识别
'''
def image_classify(image):
    print(image)
    request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v2/advanced_general"
    # 二进制方式打开图片文件
    f = open(image, 'rb')
    img = base64.b64encode(f.read())
    params = {"image":img,"with_face":1}
    access_token = 
    request_url = request_url + "?access_token=" + access_token
    headers = {'content-type': 'application/x-www-form-urlencoded'}
    response = requests.post(request_url, data=params, headers=headers)
    if response:
        data = response.json() 
        print(data)
        result_data = data["result"][0]
        print(result_data)
        value_data = result_data["keyword"]
        print(value_data)
    return value_data

其中的access_token需要大家到百度AI上注册一个账号才能获取

这是我传入的图像:
在这里插入图片描述
返回的结果是:

{‘log_id’: 3414994872861000845, ‘result_num’: 5, ‘result’: [{‘score’: 0.52149, ‘root’: ‘商品-机器设备’, ‘keyword’: ‘机器人’}, {‘score’: 0.40085, ‘root’: ‘商品-家居家装’, ‘keyword’: ‘吸顶灯’}, {‘score’: 0.244565, ‘root’: ‘非自然图像-屏幕截图’, ‘keyword’: ‘屏幕截图’}, {‘score’: 0.125037, ‘root’: ‘非自然图像-其他’, ‘keyword’: ‘宇宙探索’}, {‘score’: 0.008672, ‘root’: ‘非自然图像-彩色动漫’, ‘keyword’: ‘卡通动漫人物’}]}
{‘score’: 0.52149, ‘root’: ‘商品-机器设备’, ‘keyword’: ‘机器人’}

我取概率最大的keyword作为"狗屁不通"文章生成器的输入

if __name__ == '__main__':
    value = image_classify('timg.jpg') 
    content = generator(value, length=1000)
    print(content)
    doc = open('my_Article.txt','w+')
    doc.write("%s"%content)
    doc.close()
    print(content)

在example.py这个文件中补充代码

为了便于使用文章,我在这里把文章保存在了一个叫my_Article的txt文本文件里
在这里插入图片描述
我们还可以继续完善这个程序,例如给他加个语音输出:

import win32com.client

speaker = win32com.client.Dispatch("SAPI.SpVoice")
speaker.Speak(content)

如此一来,程序就能把这篇文章读出来了,是不是很有意思呢?

但是,这个声音比较生硬,感兴趣的朋友们可以在百度AI开放平台上使用语音合成,将文本转换为可以播放的音频文件.

语音合成示例代码:
https://github.com/Baidu-AIP/speech-demo/tree/master/rest-api-tts

AipSpeech是语音合成的Python SDK客户端,为使用语音合成的开发人员提供了一系列的交互方法。参考如下代码新建一个AipSpeech:

from aip import AipSpeech

""" 你的 APPID AK SK """
APP_ID = '你的 App ID'
API_KEY = '你的 Api Key'
SECRET_KEY = '你的 Secret Key'

client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
发布了32 篇原创文章 · 获赞 63 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/zbp_12138/article/details/103533849