实现一个微信公众号智能问答机器人

前言

        实现一个微信公众号智能问答机器人。(注:该项目开发并不复杂,但是需要的前提条件较多,需要有一定经验的开发人员才能吃透这篇文章)

1. 前期准备             

  • 注册一个微信公众号(如果没有可以用微信官方测试的公众号,进行调试开发)

         (1)注册微信公众号,点击下面教程,完成操作

                        如何建立一个微信公众号(个人) - 知乎 (zhihu.com)

         (2)如果不想注册,可以点击下面的测试公众号,在本地进行测试开发

                         微信公众平台公众号测试号

 
  • 一台属于自己的云服务器(如果没有只能本地测试)

          (1) 对上面申请到的公众号进行配置,其中服务器地址,填写的是你自己云服务器的地址。

                

            (2)如果没有自己的服务器的话,那就使用内网穿透工具,将请求转发到本机中,我一般用的是下面的工具。

                        NATAPP-内网穿透 基于ngrok的国内高速内网映射工具

2.项目源码

        做完上面的操作后,你就可以拿到公众号的app_id、token、secret,以及智能AI的ApiKey。有了这些你就可以对下面的项目源码做配置,然后启动属于你自己的智能机器人了。

        项目主要基于SpringBoot + WxJava 开发微信公众号后端对接,使用OkHttp + FastJson 对接智能AI的接口,下面是项目实现源码。点击链接,将代码克隆到本地。

          基于智能AI实现微信公众号问答机器人源码

3.效果预览

        下面是我自己上线的一个体验项目号,有兴趣的同学可以扫码,或者搜索关键字,进行体验。 项目体验的话可以到微信搜索 :小小鹏智能回答机器人    进行体验。

 为了解决个人公众号延时5秒不返回问题,提供更好的交互现推出智能机器人小程序版啦。想体验的小伙伴可以微信搜索小程序: 小小鹏智能问答机器人 

         有什么问题,可以私信我或者评论区评论,我看到第一时间会回复你们的。

  • 13
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 25
    评论
智能问答机器⼈概述 智能问答机器⼈概述 总览 处理逻辑: query–>中控逻辑–>response 任务机器⼈ 指特定条件下提供信息或服务的机器⼈。 任务型机器⼈核⼼模块主要包括三部分: ⾃然语⾔理解模块 —— Language Understanding 对话管理模块 —— Dialog Management ⾃然语⾔⽣成模块 —— Natural Language Generation FAQ机器⼈ 客户⼀般咨询的是常见的 FAQ 问题,可以基于端到端的深度学习训练,将训练集中标注好的问题和 FAQ 库⾥的标准问题编码成语义向 量,最后计算⽤户的输⼊和库⾥的标准问题的向量相似度,将最相似的 FAQ 返回给⽤户。 ⽰例流程: ⽤户:社保余额怎么查询? Preprocess:对query进⾏预处理,抽取NLP特征(纠错、标准化、⽂本特征提取) Retrieval:从问题索引中召回候选集(query改写、倒排搜索/BM25) Matching:计算query与问句相似度并排序(冷⾃动匹配模型、深度匹配模型、知识图谱匹配、拒识模块) 可以在微信上关注社保公众号,在底部菜单… ⽤户 闲聊机器⼈ 当前主流的聊天机器⼈的设计⽬标主要集中在四个⽅⾯: (1) 闲聊,即回答问候、情感和娱乐等信息; (2) 指令执⾏,帮助⽤户完成特定的任务,包括酒店及餐厅预订、机票查询、旅⾏向导、⽹络搜索等; (3) 问答,满⾜⽤户对知识和信息获取的需求; (4) 推荐,通过分析⽤户兴趣和会话历史,推荐个性化内容。
基于知识图谱的智能问答机器⼈ 研究背景及意义 研究背景及意义 智能问答是计算机与⼈类以⾃然语⾔的形式进⾏交流的⼀种⽅式,是⼈⼯智能研究的⼀个分⽀。 知识图谱本质上是⼀种语义⽹络,其结点代表实体(entity)或者概念(concept),边代表实体/概念之间的各种语义关系。知识图谱的出 现是信息技术发展、时代发展的必然结果。语义的本质是关联。只有基于语义的数据互联才能发挥数据集成的⾮线性效应,才能获取⼤数据 的特有语义。 近年来,基于知识图谱的问答系统则成为学术界和⼯业界的研究和应⽤热点⽅向。相较于纯⽂本,知识图谱在问答系统中具有以下优势。这 些优势都促使本⽂使⽤知识图谱来作为问答系统的知识来源。 -数据关联度:语义理解智能化程度问题语义理解程度是问答系统的核⼼指标。在知识图谱中,所有知识点被具有语义信息的边所关联。从 问句到知识图谱的知识点的匹配关联过程中,可以⽤到⼤量其关联结点的关联信息。这种关联信息⽆疑更为智能化的语义理解提供了条件。 -数据精度:回答准确率知识图谱的知识来⾃专业⼈⼠标注,或者专业数据库的格式化抓取,这保证了数据的⾼准确率。 -数据结构化:检索效率知识图谱的结构化组织形式,为计算机的快速知识检索提供了格式⽀持。 本系统实现⽬标和内容 本系统实现⽬标和内容 本⽂针对实验室这⼀关系领域构建知识图谱,基于Neo4j(⾮关系型数据库)建⽴学⽣、⽼师、项⽬三个实体的关系⽹络,使⽤Python AIML 搭建智能问答机器⼈开发环境,将⼆者集成,通过接⼊微信可视化。 最终实现的主要功能是:通过微信向个⼈(或公众号)账号发送⼈物、关系查询信息,机器⼈能够⾃动查询后回答。 知识图谱设计 知识图谱设计 Neo4j 是⼀个⽆框架数据库,它将数据作为顶点和边存储,适合知识图谱的存储结构。它存储和使⽤的数据⾃始⾄终都是使⽤原⽣的图结构数 据进⾏处理的,不像有些图数据库,只是在计算处理时使⽤了图结构数据,⽽在存储时还将数据保存在关系型数据库中。并且它性能⾼;存 储读写速度快;稳定性好;作为较早的⼀批图形数据库之⼀,⽂档和各种技术博客较多。 Neo4j 的查询语⾔ Cypher 是⼀种对图形声明查询的语⾔,使⽤图形模式匹配作为主要的机制来处理图形数据选择。Neo4j 提供Python的 基本操作API 接⼝,⽅便融合到整个系统当中。 抽取的实体:学⽣、⽼师、项⽬ 学⽣与⽼师之间存在"师⽣"关系;学⽣与项⽬存在"负责⼈"、"成员"等关系;⽼师与项⽬存在"负责⼈"、"成员"等关系。 智能问答机器⼈ 智能问答机器⼈ 利⽤Python AIML ⼈⼯智能标记语⾔建⽴机器⼈问答语料库。 微信接⼊可视化 微信接⼊可视化 微信团队给开发者提供了⼀套标准的接⼝,为开发者的开发⼯作提供了很⼤的便利,我们只需要学习如何通过开放接⼝获取⽤户查询的消 息,以及如何发送给⽤户消息这两个部分。本系统正是利⽤微信公众平台开发的这些优势,只专注于智能问答系统的实现过程,⼤⼤减少了 ⽹络通信和交互界⾯设计的⼯作量,因此选择它作为问答这⼀互动过程的交流渠道。 后记 后记 由于数据可达性,选择的是实验室的知识图谱,还可以扩展到任⼀领域,第⼀次写作,得不好希望⼤家提出意见,源码见个⼈ github 博客地址:

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值