社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

GitHub 上这些聊天神器,让我大开眼界!

GitHubDaily • 5 年前 • 2125 次点击  

公众号关注 “GitHubDaily”

设为 “星标”,带你了解技术圈内新鲜事!



PaddlePaddle × Wechaty AI ChatBot

创意赛正在火热进行中

人工智能时代的ChatBot

需要具备哪些能力?

由你来定义! 

参赛的小伙伴们果然各显神通

快来pick你心中最中意的聊天机器人吧

并献上你珍贵的star!



超能力机器人先睹为快


科幻机器人带你流浪宇宙,BotBay专属机器人小助手全新上线,还有企业微信预约机器人小美、微信医聊机器人为你提供生活服务。表情包的时代,怎能少的了帮你生成熊猫头表情的机器人、帮你变发色/戴墨镜/变奥特曼的机器人,以及帮你给黑白照片上色的机器人?还想要一个能随时随地陪你聊天的机器人?马上满足!这里有可以把你说的话翻译成emoji表情的机器人、和你一起吐糟不如意的机器人,以及会藏头诗、人物动漫化的机器人。更多细节内容,请继续往下看。

(以下项目排序不分先后)


未来流浪者

基于PaddleHub、Wechaty

与彩云小梦的科幻机器人



实现过程

获取地理信息,如 [北京大学东门] =》调用百度地图API地图检索功能,根据地点搜索获取gps坐标 =》调用百度地图API全景静态图功能,获取该坐标对应的街景图 =》调用PaddleHub风格迁移模型,迁移成未来风格 =》调用彩云小梦API,生成游记 =》通过Wechaty返回消息给用户。

作者有话说

这次使用了飞桨的预训练风格迁移模型,非常简单易用,能方便快速地实现想法,非常适合与Wechaty配合使用。


https://github.com/sunyuqian1997/WanderBot_public


BotBay专属机器人小助手

以生物多样性为命题的专属机器人赋能平台

实现过程

本项目采用一入口,一平台,多支撑的模式进行设计与开发。一入口为微信入口,采用chatbot模式实现用户与系统的交互与应答;一平台为botPlatform,托管chatbot,启动Wechaty实例,接收消息,按状态机模式处理基础消息响应与逻辑分发;多支撑为PaddleWorkers,使用PaddleHub提供的支撑服务,使用Paddle提供的图片OCR解析微信消息中的图片文字。

作者有话说

PaddleHub安装和使用都特别方便,尤其是机器学习的小白入门比较容易,模型库和算法库也比较全面,拿来就能直接使用。同时PaddleHub的技术支持人员也非常积极的为我们解决问题。小遗憾是PaddleHub目前只有python的实现,希望以后能加入更多的主流语言实现。


https://github.com/dephrast/botbay


小美 - 企业微信预约机器人

使用PaddleNLP,Wechaty和Rasa

制作智能预约机器人


实现过程

使用PaddleNLP的Transformer API生成embedding作为每个句子的特征,并结合bert-wwm-chinese预训练模型。对接微信方面,使用自研的chat-operator中间件进行对接,并使用由句子互动提供的wxwork Wechaty puppet直接对接企业微信。时间段识别方面,使用Facebook的duckling。

作者有话说

我们使用了PaddleNLP的Transformer,需要注意把数据转换成Paddle的Tensor才能调用模型。如果时间充裕的话,我会考虑使用Transformer来做命名实体识别。因为手头上的数

据不够多,所以只能用Rasa提供的CRF算法来做。后面希望在理发店部署使用之后,可以多收集一些数据。

https://github.com/lhr0909/appointment-bot


熊猫头表情生成器

发送照片/视频就

可以合成对应的熊猫头表情包哦


实现过程

使用人脸分割模型和人脸关键点检测模型,找到meme模板图中的人脸并和用户发来的人脸位置进行替换。比较难的地方是找到一个参数将人脸的颜色映射到一个合理的区间内。我们尝试了多种改变亮度与对比度的方法,并提供了直方图匹配的方法,可以根据自己的需求开启。此外可以添加想要的文字,让表情包更直观。

作者有话说

PaddleHub的确很强大,可以在上面找到常见的模型,通过快速使用就能验证想法。无论是学习PaddleHub还是PaddlePaddle,我都建议看一看官网的例子,非常详细,基本上涵盖了各个领域的入门实现。如果想自己动手实践一些东西,建议多看看官方的API,熟悉API后事半功倍。 


https://github.com/ninetailskim/PandaFaceGenerator


微信医聊自动问答

有中医知识困扰

来问问微信医聊就可以了

实现过程

使用中文医药方面的问答数据集,在PaddleHub里可以很方便地进行迁移学习。只需要把数据按照正确的格式组装好,短短几行代码就能训到不错的效果,通过调整一些参数能达到更好的效果,解答用户在中医上的小困扰。

作者有话说

PaddleHub不仅仅提供了模型,还提供了一套模型训练的Pipeline,可以非常快速的适配到业务场景,最终可以在Wechaty这样的平台上线使用。


https://github.com/thunder95/QA-Medical-Text-Paddlehub


把你说的话翻译成emoji表情

你见过把中文翻译成emoji表情吗?

这肯定很有趣!


实现过程

首先通过爬虫爬取https://emojipedia.org 保存表情和意思整理成emoji数据词典;再使用PaddleHub的lac词法分析模型,对用户发送的语句进行分词;接着使用拼音库对分词后的文字进行拼音转换,转换后的拼音在emoji数据词典里进行检索即可得到相应的emoji表情。

作者有话说

飞桨PaddlePaddle官方的模型有完整的API说明文档,也封装了很多好用的模型,不用了解原理,跟着文档上手即来;遇到问题也可以在GitHub上提issue,有很多开发者提出的各种问题。对于使用PaddlePaddle新手来说,看一些错误也是学习。

https://github.com/Lny-nice/emoji


来,瞎聊会

瞎聊不嘞,驴唇不对马嘴的那种


实现过程

本地win系统部署Wechaty,使用PaddleHub的Plato2_en_base预训练模型进行人机对话。该模型是英文的,对于中文对话我使用了爬虫爬的有道翻译。从翻译角度来看,中英对话还是有很大差别的。

作者有话说

作者有话说:

PaddleHub适合新人,如果预训练模型报shape类的错,先看看版本,可以用模型最早发布时的Paddle版本。而且使用PaddleHub很方便,不需要去管模型是怎么实现的,直接下载安装使用即可。


https://github.com/Attackzzw/Chatbot-AI


吐槽树洞——表情包多轮对话

让机器人陪你一起吐槽、倾诉


实现过程

首先构建多轮且支持多媒体的聊天框架;接着建立吐槽对象的形象并提取人脸五官进行二值化,seamlessclone到各种表情包上;然后结合人脸特征点并配合吐槽大会的语录文本,生成伴有字幕的个性化动态表情包。此外,通过像素或纹理的控制,AnimeGan可生成高质量漫画化人脸,再通过反向廋脸算法,在胖脸图片上合成出打成胖子的视频。

作者有话说

AI Studio脚本任务+最低配置的个人服务器,就可创造一个吐槽机器人。多亏了AI Studio的免费GPU,为开发者省下不少钱。PaddleHub上各种CV或NLP模型可以组合使用,实现效果非常好!


https://github.com/kevinfu1717/multimediaChatbot


快速实现智能对话机器人

核心代码只有一行! 

一键Fork、Star,你也可以!


实现过程

基于微信群聊环境,扫码登陆自己的微信账号以挂起自动回复任务,当被人@时触发自动回复。基于手动设计的规则进行拟人化的回复,看起来就好像是智能对话机器人在和人进行交互,最关键的是核心代码仅有一行!

作者有话说

AI Studio使用十分方便,预训练模型的开源确实造福业界,吹爆!免费的GPU开放使用,众多的预训练模型极速拉取,还要什么自行车?用它就对了!期待AI Studio提供更大的默认内存空间。


https://github.com/oukohou/wechaty-puppet-padlocal-demo-master


瞎扯机器人之语种不限

可以用不同语言实现跟机器人的多轮对话

实现过程

基于百度翻译API、 PaddleHub 和 Wechaty实现微信端不限语种的聊天机器人。跟机器人聊天时,通过百度翻译自动识别您说的语种,然后用同样的语种回复您,并借助PaddleHub的plato2多轮对话模型生成有意思的对话并保持聊天上下文环境。目前这是首个使用微信客户端交互的多轮对话模型。

作者有话说

仅用短短几行代码就能搭建一个很复杂的模型,而且效果还非常不错。PaddleHub真的很赞,小伙伴们可以多查看hublist里的模型,里面有无穷无尽的宝藏。


https://github.com/thunder95/AIChatBot-plato2-multilanguage


飞桨,来,耍个酷

基于关键点和分割模型

让你变得酷酷的

实现过程

基于PaddleHub和Wechaty分析个人照片,为其装扮酷酷的样子,如各种颜色染发,戴墨镜,变奥特曼等。主要用到的模型是人脸关键点检测和人像解析,结合传统图像处理,创造更多有意思的玩法。我们还尝试在自定义数据集上训练,优化展现效果。

作者有话说

PaddleHub的模型非常简洁方便,只需要短短几行代码,就能快速训练达到定制化的效果,非常棒!


https://github.com/thunder95/Be-Cool-With-Paddlehub


一个牛皮的微信机器

分分钟让你在好友面前出尽风头



实现过程

首先使用Wechaty构建一个基本的微信机器人,然后用一些算法让机器人听主人的话,最后接入PaddleHub的animegan_v2_shinkai_33模型完成图像的动漫画,机器人瞬间高大上!

作者有话说

飞桨PaddlePaddle是百度自研的开源深度学习平台,有涵盖NLP、CV、推荐引擎等多个领域的模型,还开放了PaddleHub、PaddleX等一系列深度学习工具组件,更有PaddleNLP、PaddleCV、PaddleRec等基础模型库,帮助开发者快速落地AI应用。总之,飞桨PaddlePaddle简直就是宝藏!


https://github.com/Lovely-Pig/paddlehub-wechaty-bot-control-basic


智能微信小助手

小白也能快速上手的微信智能聊天机器人

实现过程

使用docker部署Wechaty提供的PadLocal Puppet Service服务,再使用PaddleHub中的ernie_gen_lover_words情话模型以及ernie_gen_acrostic_poetry藏头诗模型实现对应的情话和藏头诗功能,还可通过爬虫实现展示不同城市天气的功能,或者使用腾讯AI开放平台的智能闲聊服务开启闲聊功能。

作者有话说

PaddleHub是不懂深度学习的小白也能快速上手的预训练模型应用工具,官方有很完整的文档以及示例,可以让你更好地体验PaddleHub中的预训练模型,值得推荐。


https://github.com/leigangblog/Paddlehub_wechaty


会藏头诗、人物动漫化的机器人

为你写藏头诗!

给我一张你的照片,还一个二次元的你


实现过程

使用ernie_gen_acrostic_poetry==1.0.1模型,能返回好多古诗。有文字还不够,再来个图片处理。使用stylepro_artistic 风格迁移的动漫化,UGATIT_83w 脸图像转换成动漫风格,baidu人像动漫画API调用三种方法,会有不同的展示效果,都很有意思。

作者有话说

PaddleHub模型众多,关键非常好用,就比如单单人物动漫化就有三种选择,其中stylepro_artistic 风格迁移的动漫化可以自己选择想要迁移的风格,UGATIT_83w 脸图像转换成动漫风格和API调用的差距也很大。在调用过程中PaddleHub容易上手,demo很清晰,小白的福星啊。


https://github.com/diandian16/wechatypaddlehub

黑白照片上色

让老照片重新焕发活力,拥有色彩


实现过程

看了《你好,李焕英》后特别感动,尤其是电影后面那些黑白照片。怎么让那个年代的黑白照片焕发活力?我使用了PaddleHub的deoldify库。在使用过程中也踩了一些坑,比如PaddleHub版本导致的runtime error问题。整个demo给的比较详细,就是Wechaty里面run.py中要考虑返回值不是result[1]而是result[0] 。

作者有话说

PaddleHub功能很强,如果有好的idea,可以在AI Studio上搜索关键词,这样就能找到你想要的案例。一开始上手不需要全部案例都看懂,先运行起来,然后看人家用了什么模型,在Paddle里面搜索这个模型,并用给的demo测试一下。从基础入手慢慢来,Paddle对新手还是很友好的,小白们不要怕!


https://github.com/diandian16/paddlehub-wechaty-


跟我一起说

说话、发图、发文本,TA都能懂


实现过程

想让TA直接复述你的话?能!直接发送微信语音信息就可以了,中间只需简单的文件格式转换。想让TA朗读你输入的文本?也可以!用Parakeet即可非常方便的将文本生成语音信息。不想打字也不想说话,TA还能说你想要的吗?直接发图片!TA能用PaddleOCR读懂图片上的文字,并用Parakeet朗读出来。

作者有话说

PaddleHub开源的能力不只是图像方面,还有语音,OCR,文本处理等多个领域,有兴趣的小伙伴可以多尝试尝试。


https://github.com/thunder95/Trump-Say-With-Me-Parakeet


我要What系列

集成了多种PaddleHub优秀模型

可以各种变变变


实现过程

项目中不仅使用了PaddleGAN的模型,还使用了PaddleHub里的开源模型,需要处理环境兼容的问题。实现的功能包括唱蚂蚁呀嘿、唇形唱吻别、人像卡通画、人脸属性编辑、妆容迁移,人物漫游等,并在Wechaty上集成应用,方便用户在微信客户端一键体验AI模型的魔力。


作者有话说

PaddleHub模型太丰富了,还可以结合PaddlePaddle生态圈一起玩,建议各位小伙伴多多查看AI Studio上优秀的开源项目,他们的成果非常震撼!


https://github.com/thunder95/What-I-Want-with-Paddlehub


更多有趣的、好玩的项目还在持续产出中。如果你有好的创意,快加入技术交流群和大家一起分享吧!


扫码加入划桨大赛爱好者交流群



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/114322