迷你聊天客服架构的流程及前端实践

暑假在深圳中国移动国际实习,公司里正在研发优化“无忧行”境外流量app,也是中国移动为出境游用户推出的出境游通讯服务门户APP,满足用户境外上网通讯,吃喝行玩购需求。大家有兴趣可以使用一下看看。如下图:

关于聊天客服

目前在做这款产品语音及聊天客服这方面的工作,其中涉及到人工智能,NLP和前端方面等知识。公司前两周开会时集中讨论了客服Q&A对的数据设计,其中有约60%-70%的智能客服是纯使用excel标注的标准回答,剩下的一部分问答对则会以更加人性化的方式灵活安排,这将会使用深度学习和数据训练等知识。
通过用户的每一句发问,聊天客服机器人需要判断这句话涉及了哪个(哪些)服务业务(有标注)因此技术人员开始获取已经在app上收集到的真实的客服聊天对话并交给我们先进行人工标注。标注语料和标注方式如下:

标注语料:

标注方式:
在这里插入图片描述
这里用户咨询到关于门票的问题,我们就给他打上“门票:00090600 ”的标签(红圈)。最后海量的数据标注再经过我们用一些python脚本删减处理后就送到我们mentor的模型里做训练了。

聊天小界面

mentor那边的服务器现在可以通过post一个json格式的数据过去,这个数据便可以携带我们用户说的每一句话,然后服务器会立即处理并返回一个有着json格式的字符串数据。通过postman这款软件我先模拟post了一下服务器,返回ok。

用户输入数据封装格式:
在这里插入图片描述
返回数据:pred_label 是识别后的语句类型数字,最后需要通过一个txt文件映射过去(例如变成00090600),score是用户输入和输出的意图匹配概率,后面训练的越大越好,status 200 就是请求成功
在这里插入图片描述
然后上一些代码,这里把html,css和javascript分开:

静态页面:html
静态页面
页面样式:css

.talk_con{                      /*一些简单背景界面*/
      width:1000px;           
      height:500px;         
      border:2px solid #666;            
      margin:50px auto 0;            
      background:#f9f9f9;       
      }        
.talk_show{            /*对话框显示部分,注意overflow设置成auto,不然聊着聊着语句就跑出对话框了*/
      width:580px;           
      height:420px;           
      border:1px solid #666;          
      background:#fff;            
      margin:10px auto 0;            
      overflow:auto;       
      }     
.talk_input{            
      width:580px;            
      margin:10px auto 0;        
      }     
.whotalk{           
      width:80px;           
      height:30px;           
      float:left;           
      outline:none;        
      }       
.talk_word{           /*用户说的话*/
      width:420px;           
      height:26px;         
      padding:0px;           
      float:left;           
      margin-left:10px;           
      outline:none;           
      text-indent:10px;       
       }               
.talk_sub{            
          width:56px;          
          height:30px;           
          float:left;            
          margin-left:10px;        
           }       
.atalk{           
          margin:10px;        
           }    
.atalk span{                                     /*这里把客服和用户做a,b区分,对话分别左对齐和右对齐*/
          display:inline-block;         
          background:#0181cc;        
          border-radius:10px;       
          color:#fff;          
          padding:5px 10px;       
           }     
.btalk{            
          margin:10px;         
          text-align:right;      
          }     
.btalk span{       
          display:inline-block;         
          background:#ef8201;       
          border-radius:10px;         
          color:rgba(255, 255, 255, 0.979);         
          padding:5px 10px;       
           }

点击发送按钮后:javascript

在这里插入图片描述


这里打码的地方就是你请求的服务器url了,32行比较长没有截全,客服可以被控制说出多少信息。

小展示和结尾

最后就是基础逻辑的效果图,在apache24的环境下调用localhost访问网页即可:
在这里插入图片描述
后面后续的完整对话慢慢补充,还有美化。。这个就看公司给啥模板了,前几个训练效果还可以,score在70多以上,最后一个“再见”应该是归类到闲聊00110000比较合适,闲聊数据我们在打标签时基本没发现多少个,所以训练效果比较差,容易误判。后面要开始在这个基础上提升并开始向移动端迁移了。如果里面有什么疑问和建议欢迎来打扰,感觉数据就是人工智能的基础啊。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值