点击左上方蓝字关注我们

如果在星际旅行中遇见外星人…
那就快用“星际通讯器”与TA交流叭!
记得查看文末项目作者招募哦~

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

2021年5月15日7时18分
"祝融号"在火星着陆
开启了火星探索之旅
随着探测器和火星车的着陆
星辰大海的目标日益临近
星际旅行你准备好了嘛?
礼仪机器人C-3PO
广袤无垠的空旷
赞叹不止的美好
星际文明的交流
如何进行?
翻译机器?
不!
礼仪机器人C-3PO






(下滑查看更多内容)
使用的环境:
|
对话场景的实现
对话场景使用了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

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

被折叠的 条评论
为什么被折叠?



