\u200E
如果在星际旅行中遇见了外星人……
发布日期:2021-07-29T09:59:00.000+0000 浏览量:74次


项目介绍




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




我们的目标是星辰大海





2021年5月15日7时18分

"祝融号"在火星着陆

开启了火星探索之旅

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

星辰大海的目标日益临近

星际旅行你准备好了嘛?


    



礼仪机器人C-3PO




广袤无垠的空旷
赞叹不止的美好
星际文明的交流
如何进行?
翻译机器?
不!
礼仪机器人C-3PO


(下滑查看更多内容)

使用的环境:
paddlepaddle==2.1.0wechaty==0.7dev17



对话场景的实现





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

# 初始化PaddleHub plato-mini 模型model = hub.Module(name='plato-mini', version='1.0.0')model._interactive_mode = Truemodel.max_turn = 10model.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:
h ttps://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