如果在星际旅行中遇见了外星人……

这个项目基于飞桨PaddleHub的预训练模型实现了一个礼仪机器人C-3PO,可以进行中文对话交互,并通过WeChaty构建微信自动回复平台。机器人能将中文翻译成Aurebsh语言,模拟星际交流。项目还提供了定制化设计,如星际名称生成等功能,展现了AI在模拟跨星际交流中的应用。

点击左上方蓝字关注我们

如果在星际旅行中遇见外星人…

那就快用“星际通讯器”与TA交流叭!

记得查看文末项目作者招募哦~


项目介绍

本次给大家带来的是AI创造营精选项目:礼仪机器人C-3PO,Curitiba供稿,该项目基于飞桨使用PaddleHub的中文对话模型"plato-mini"实现对话交互,利用WeChaty构建微信自动回复平台,通过系列API和代码实现中文与Aurebsh语言的相互转换并且实现中文对话。以此实现与“星际文明”的交流与沟通。

我们的目标是星辰大海

2021年5月15日7时18分

"祝融号"在火星着陆

开启了火星探索之旅

随着探测器和火星车的着陆

星辰大海的目标日益临近

星际旅行你准备好了嘛?

    

礼仪机器人C-3PO

广袤无垠的空旷

赞叹不止的美好

星际文明的交流

如何进行?

翻译机器?

不!

礼仪机器人C-3PO

(下滑查看更多内容)

使用的环境:

paddlepaddle==2.1.0
wechaty==0.7dev17

对话场景的实现

对话场景使用了PaddleHub的预训练模型"plato-mini"来实现,该模型在十亿级别的中文对话数据上进行预训练,通过PaddleHub加载后可直接用于对话任务。

# 初始化PaddleHub plato-mini 模型
model = hub.Module(name='plato-mini', version='1.0.0')
model._interactive_mode = True
model.max_turn = 10
model.context = deque(maxlen=model.max_turn)


# 实现文本数据获取
bot_response = model.predict(data=msg.text())[0]
print(bot_response)

Aurebsh生成

对英文数据进行处理,然后根据语言对照表实现拼接生成完整的Aurebsh语言图。

# 目标字母图像拼接
def join_letters(letter_each_line, final_letters_list):   
    line_count = 0 # 总行数
    ims = [] # 图片list
    letter_total = len(final_letters_list) # 总字母数
    width = 150 # 单幅图像宽
    height = 108 # 单幅图像高
   
    # 依据每行字母数计算总行数
    if letter_total % letter_each_line == 0:
        line_count = int(letter_total / letter_each_line)
    else:
        line_count = int(letter_total / letter_each_line + 1)
    
    # 获取所有字母图像,转化为同一尺寸
    for i in range (letter_total):
        im_list = [Image.open(final_letters_list[i])] 
        #图片转化为相同的尺寸
        for im in im_list:
            new_img = im.resize((width, height), Image.BILINEAR)
            ims.append(new_img)
    
    # 创建一个大空白图(最终输出图片)
    result = Image.new(ims[0].mode, (width * letter_each_line, height * line_count))
    
    # 创建每一行的空白长图
    for i in range (line_count):
        result_a_line = Image.new(ims[0].mode, (width * letter_each_line, height ))
        # 拼接每一行的图片
        for j in range (letter_each_line):
            if i*letter_each_line+j < len(ims):
                result_a_line.paste(ims[i*letter_each_line+j], box=(j * width,0))
        # 将每一行的图片拼入最终输出图片
        result.paste(result_a_line, box=(0,i*height))
 
    result.save('/home/aistudio/image/translation.png')

Aurebsh与英文对照表

Wechaty定制

Wechaty:是一个面向聊天机器人制造商的现代会话 RPA SDK,它可以用几行代码创建一个机器人。本次项目就是使用wechaty进行定制化设计完成定制功能。

async def on_message(msg: Message):
    # 语种
    language_chosen = 'Aurebesh'
    
    # 聊天对象列表
    star_war_charater_name_list = ['Master Yoda','Anakin Skywalker','Qui-Gon jinn']
    star_war_charater_icon_list = ['StarWarsCharater/MasterYoda.png','StarWarsCharater/AnakinSkywalker.png','StarWarsCharater/Qui-GonJinn.png']
   
    global function_chosen
    
    print("====================== function_chosen 进入on message:" + str(function_chosen))
    
    if isinstance(msg.text(), str) and len(msg.text()) > 0 and msg._payload.type == MessageType.MESSAGE_TYPE_TEXT:
        if function_chosen == 1:
            if msg.text() == "称号":
                function_chosen = 2
                print("====================== function_chosen 专属星际名称:" + str(function_chosen))
                await msg.say('你好,请输入你的名字')
            elif msg.text() == "返回":
                function_chosen = 3
                print("====================== function_chosen:" + str(function_chosen))
                await msg.say('星际通讯器正在启动中 \n 回复“通讯”启动星际通讯器 \n 回复“称号”获得专属星际名称 \n 回复“返回”回到功能菜单')

探索星辰大海

有你就好—礼仪机器人

我们的路还在前方

演示视频地址:

https://www.bilibili.com/video/BV1d44y1q7To

项目地址:

https://aistudio.baidu.com/aistudio/projectdetail/2174180

百度翻译API:

https://aistudio.baidu.com/aistudio/projectdetail/2171717

AI Studio精品项目征集

AI Studio基于百度深度学习开源平台飞桨,为开发者免费提供功能强大的线上训练环境、云端超强GPU算力及存储资源。“精品项目征集”是AI Studio开展的原创项目扶持活动。贡献精品项目可以获得积分奖励(兑换礼品)、多平台推荐曝光、创作者核心群等多重福利,本季度还有罗技机械键盘、Apple Watch、树莓派等超多附加奖品!快来加入我们吧~

项目作者招募来啦!

扫描下方二维码即可报名

项目作者招募地址:

https://iwenjuan.baidu.com/?code=vtr6pz

项目投稿地址:

https://aistudio.baidu.com/paddle/forum/topic/show/989159

请点击“阅读原文”访问项目原文。

飞桨(PaddlePaddle)以百度多年的深度学习技术研究和业务应用为基础,集深度学习核心训练和推理框架、基础模型库、端到端开发套件和丰富的工具组件于一体,是中国首个自主研发、功能丰富、开源开放的产业级深度学习平台。飞桨企业版针对企业级需求增强了相应特性,包含零门槛AI开发平台EasyDL和全功能AI开发平台BML。EasyDL主要面向中小企业,提供零门槛、预置丰富网络和模型、便捷高效的开发平台;BML是为大型企业提供的功能全面、可灵活定制和被深度集成的开发平台。

END

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值