和机器人问问题的软件_如何开发一个特定领域的自动问答机器人(Chat Bot)?
谢邀。趁着快下班(钟)随便说几句...
如果你不要求那种特别智能的问答机器人的话,其实这个项目不难做,而且严格意义上和人工智能的关系不是特别大。从易操作的角度上说,我推荐你使用微软平台(C#) + Python 来实现这个聊天机器人项目。
----------------------------------------------------------------------------
1. 需求分析 & 架构
首先分析你的需求:对AI零基础
有编程经验和能力
想做一个自动问答机器人(Chat Bot)来代替老师做日常答疑。
* 用户可以自定义问题集
直白的说,项目就两个核心需求:1. 提供和用户的交互 2. 提供准确的答案。
我简单画了一个模块图,不知道上传以后的分辨率如何。
这个方案中有4个主要模块,其中控制整个流程的是模块3:模块1:知识库,也就是一个预储存问题和答案的数据库。理所当然必不可少...不然从哪给用户答案。
模块2:一个部署在线上的预测模型。这个模型可以是简单的 自然语言+机器学习模型,唯一功能就是根据用户输入的问题预测知识库中最接近的问题是哪一个,所以其实是一个简单的相似度匹配模型(Similarity Measurement)。如果有可能,最好还能根据用户反馈并记录预测是否准确,方便后期的再训练。
模块3:一个用于和用户交互的前端界面和流程控制中心。使用适当的平台可以将其部署在云上并通过主流通讯软体进行交互,比如微信或者Skype。
模块4:一个线下的学习模型,可以不断进行重新训练并提高上面第2点中提到模型预测的准确度。
以Skype为例,成品聊天机器人使用起来就像和你的微信好友对话,双击就可以使用,如下图。
2. 流程介绍
当用户在前端UI,比如Skype(模块3),输入一个问题后。流程控制中心会将用户提出的问题传给我们部署在云上的预测模型(模块2)。预测模型会对用户的问题进行处理并找到现有知识库中最接近的问题(模块1),将该问题的答案通过Skype返回给用户。
同时,如果一个问题在知识库中没有匹配,或者用户认为我们的答案错误,应该记录在额外数据库中。利用这个“用户反馈数据库”,我们可以定期在线下(offline)进一步对我们部署在线上进行即时预测的模型进行更新和修正(模块4)。
3. 需要的平台&软件
实现上面所说的这一切,依靠微软的Azure和Bot Framework平台即可:
MS Azure Cloud:微软云服务用于提供数据库,训练模型和预测模型所需要的资源如虚拟机。
MS Bot Framework: 这个平台是微软2016年推出的对话机器人平台。主要编程语言是C#或者Node.js,熟悉C#的话可以用Visual Studio非常方便。这个平台的主要用途就是降低对话机器人的开发成本,使用这个平台后,我们可以很轻松的把Skype作为交互界面,而不需要再去开发其他的交互。更多关于这个平台的介绍可以看:
给大家看一张开发过程中的模拟器长的样子,找bug和测试都很方便:
MS Visual Studio: 用于开发这个对话机器人。
自然语言和机器学习模型: 根据你的描述不太涉及复杂的NLP或者ML,建议用Python开发即可。对于语言处理中文的话用 “结巴分词”,衡量词语/句子之间的相似度可以用“word2vector”、“sentence2vec”。至于机器学习模型,更是挑一个简单的调包即可,比如SVM。这项目本质难度不在机器学习上,而是整合这个系统上。如果到时候大家有了别的模块,但缺这个模型的话,我可以帮你一起做:)
4. 模块整合
年初花了几个月做了一个类似的项目,侧重点在机器学习上因此用了复杂的预测模型。而对话机器人只是交互手段,方便我们在客户的平台上部署。
而题主的这个项目难点不在于单独每个模块,而是将这些模块整合起来成为一个产品。Skype和Bot Framework可以用微软提供的API进行整合,和数据库之间的互动可以用C#里面之间连接抓取。
整个项目中最麻烦的是如何将模块2(预测模型)与其他部分整合。我的建议是在云上部署一个虚拟机,在虚拟机上写一个最简单Flask Web App,并使用 Flask-Restful提供Restful API给其他模块使用。如果有条件的话,也可以直接在云上部署一个含有预测模型的Flask App,这下就不需要在劳什子的使用虚拟机了。
好了不多说了,我要去接客了(手动滑稽) ʕ•ᴥ•ʔ
和机器人问问题的软件_如何开发一个特定领域的自动问答机器人(Chat Bot)?相关推荐
- 实现一个微信公众号智能问答机器人
前言 实现一个微信公众号智能问答机器人.(注:该项目开发并不复杂,但是需要的前提条件较多,需要有一定经验的开发人员才能吃透这篇文章) 1. 前期准备 注册一个微信公众号(如果没有可以用微信官方测试的公 ...
- 和机器人问问题的软件_ABB机器人系统与软件的问答
1 在线添加控制器时,找到了系统,但是确定时提示"RobotWare的版本比RobAPI版本新,请安装新版本的RobAPI"其中的RobAPI是指什么? 答: RobAPI指的就是 ...
- 一个软件公司需要多少前端_内幕!软件外包公司开发一个软件需要多少钱?
软件外包公司坑?开发一个软件要多少钱? 当你已经了解到软件能给你带来的好处之后,是不是有些动心了? 想要开发一款属于自己的APP小程序,可是却不知道该如何开始? 万事开头难,想着去软件外包公司问一下价 ...
- 一个软件公司需要多少前端_自己开发一个app需要多少钱,多少时间
经常会问,开发一款简单的APP需要多少钱呢? 那么这些APP的功能有没有开发完善的?各个安卓.苹果.后台等不能一次搞定? 一个普通人眼中一个简单的功能,也许只是前端的功能设置,但是APP开发却需要一系 ...
- 魔方机器人需要特制魔方吗_资深DIY玩儿家教你如何打造魔方机器人
关于课程 经历过挑战杯, 电子大赛, 飞思卡尔智能车大赛后, 你是否在寻找下一个新挑战.?别迷茫了, 这里有很适合你的挑战 : 魔方机器人!魔方机器人综合了 机械设计, 运动控制, 硬件电路设计焊接组 ...
- 小米机器人履带双轮平衡_#本站首晒# MI 小米 米兔积木机器人 履带版 开箱
#本站首晒# MI 小米 米兔积木机器人 履带版 开箱 2017-07-06 13:45:33 37点赞 66收藏 42评论 前言 4月10日米兔发布了一款新品--米兔积木机器人 履带版.可以变换三个 ...
- ai模仿声音软件_如何开发人工智能类的软件?人工智能让我们的生活更加便捷!...
应用程序逐渐成为商店的替代品.企业所有者现在可以坐在沙发上用手握住智能手机设备来管理自己的业务.智慧型手机的日常生活日新月异,而AI也因融入日常工作中而获得了巨大的力量.我们迈出的每一步都会受到AI的 ...
- ztree在刷新时第一个父节点消失_第一个关于中式菜谱的智能问答机器人小程序正式上线啦...
为了满足大家对菜品烹饪的各类问题能直接得到答案的需求,我开发了目前第一个真正关于菜谱的智能问答系统,并在微信小程序发布上线.这套系统支持对于8600多种菜品的问答功能,并能实现快速问答响应,整套系统后 ...
- 华中数控机器人编程循环三次_我研究了下公司旗下的各机器人子公司的专利一直在同行业名列前茅,应该说技术不错,而_华中数控(300161)股吧_东方财富网股吧...
华中数控: 机器人与智能产线,是公司"一核三军"战略规划中重点发展的三大业务板块之一,公司掌握工业机器人控制器.驱动器.伺服电机.机器人本体等关键核心技术,先后获得几项国际专利和多 ...
- 小智机器人有初中课程吗_征战记大写的优秀!2020世界机器人大赛,看这些奖项收入囊中!...
世界机器人 大赛 WORLD ROBOT CONTEST 冠军!亚军!季军! 一等奖!三等奖! 全部收入囊中! 赛项 奖项 Enjoy AI非 ...
最新文章
- 2022-2028年中国微机电系统(MEMS)行业投资分析及前景预测报告
- PHP5.4新特性(转)
- 【提权思路】绕过SecureRDP限制远程连接
- 揭秘阿里人工智能实验室首款智能音箱——天猫精灵X1
- P3629-[APIO2010]巡逻【树的直径】
- stat在python中_stat模块接口
- gui设置可编辑文本框的回调函数_用Tkinter制作Python程序的图形用户界面(GUI),打包后比Qt5减少60M(77.5%)(实例63)...
- 递归法:实现指数型枚举(二叉树递归)
- Android setBackgroundDrawable()过时解决办法
- android9 三星 港版,三星S9+官方港版安卓9固件系统线刷包:TGY-G9650ZHU4CSE7
- windows远程控制服务器
- 桥本分数式c语言,《算法设计与分析教案(新格式)》.doc
- 使用do文件进行仿真时出现“failed tofind ‘glbl’in hierarchical name ‘/glbl/GSR‘“的解决办法
- 360WIFI登陆页面地址
- torchvision.transforms.ColorJitter函数详解
- matlab graythresh()函数使用的注意点
- 60个必备NOIP模板 python算法模板
- 小额贷款公司取金融牌照难实现 --》小额贷款公司可以改制成为村镇银行
- 为什么会亏钱,亏钱的逻辑(一)
- Workflow 一切皆是Task