【JavaScript+自然语言处理+HTML+CSS】实现Web端的智能聊天问答客服实战(附源码 超详细必看)

本文涉及的产品
NLP自然语言处理_高级版,每接口累计50万次
NLP自然语言处理_基础版,每接口每天50万次
NLP 自学习平台,3个模型定制额度 1个月
简介: 【JavaScript+自然语言处理+HTML+CSS】实现Web端的智能聊天问答客服实战(附源码 超详细必看)

需要源码请点赞关注收藏后评论区留言私信~~~

智能客服的部署方式比较多样化,可以作为组件嵌入到其他应用程序,也可以部署到定制网站,下面分别介绍如何新创建智能客服应用,从而使其能够集成为网站功能的一部分,以及如何将通过PyCharm训练后的智能客服部署到网站

一、智能聊天问答客服简介

QA问答是Question-and-Answer的缩写,根据用户提出的问题检索答案,并用用户可以理解的自然语言回答用户,问答型客服注重一问一答处理,侧重知识的推理。 从应用领域视角,可将问答系统分为限定域问答系统和开放域问答系统。 根据支持问答系统产生答案的文档库、知识库,以及实现的技术分类,可分为自然语言的数据库问答系统、对话式问答系统、阅读理解系统、基于常用问题集的问答系统、基于知识库的问答系统等。

客服设计

问题处理

问题处理流程识别问题中包含的信息,判断问题的主题信息和主题范畴归属,比如是属于一般类问题还是属于特定主题类问题,然后提取与主题相关的关键信息,比如人物信息、地点信息和时间信息等。

问题映射

根据用户咨询的问题,进行问题映射消除歧义。通过字符串相似度匹配和同义词表等解决映射问题,根据需要执行拆分和合并操作。

查询构建

通过对输入问题进行处理,将问题转化为计算机可以理解的查询语言,然后查询知识图谱或者数据库,通过检索获得相应备选答案。

知识推理

根据问题属性进行推理,问题基本属性如果属于知识图谱或者数据库中的已知定义信息,则可以从知识图谱或者数据库中查找,直接返回答案。如果问题属性是未定义类问题,则需要通过机器算法推理生成答案。

消岐排序

根据知识图谱中查询返回的一个或者多个备选答案,结合问题属性进行消歧处理和优先级排序,输出最佳答案。

二、效果展示

界面如下

界面的下方可由用户输入对应问题 下方系统会给出一些问题的概括 作者可以选择以获得更好的回答

 

三、代码

部分代码如下 需要全部代码请点赞关注收藏后评论区留言私信

<!DOCTYPE html>
<html lang="en">
<head>
  <title>智能医疗客服</title>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1">
  <link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
  <link rel="stylesheet" type="text/css" href="static/jquery.css">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" >
  <link rel="stylesheet" type="text/css" href="static/chatbot.css">
  <style>
        @import url('./static/css/style.css');
        @import url('./static/css/font.css');
    </style> 
           <!-- 设置网站的定制化显示样式内嵌式CSS -->
       <style>
        .button1 {
          border: none;
          color: white;
          background-color:blue;
          padding: 5px 16px;
          text-align: center;
          text-decoration: none;
          display: block;
          font-size: 20px;
          margin: 1px 1px;
          cursor: pointer;
          font-family:kaiti;
          position: absolute;
          left: 200px;
        }
        .button2 {
          border: none;
          color: white;
          background-color:blue;
          padding: 5px 16px;
          text-align: center;
          text-decoration: none;
          display: inline-block;
          font-size: 20px;
          margin: 1px 1px;
          cursor: pointer;
          font-family:kaiti;
          position: absolute;
          left: 350px;
        }
        .button3 {
          border: none;
          color: white;
          background-color:blue;
          padding: 5px 16px;
          text-align: center;
          text-decoration: none;
          display: inline-block;
          font-size: 20px;
          margin: 1px 1px;
          cursor: pointer;
          font-family:kaiti;
          position: absolute;
          left: 500px;
        }
        .button4 {
          border: none;
          color: white;
          background-color:blue;
          padding: 5px 16px;
          text-align: center;
          text-decoration: none;
          display: inline-block;
          font-size: 20px;
          margin: 1px 1px;
          cursor: pointer;
          font-family:kaiti;
          position: absolute;
          left: 650px;
        }
        .button:hover {
          background-color: purple;
          color: white;
        }
        .bot-header{
          background-color: white;
          padding: 10px;
          text-align: center;
          font-size: 40px;
          font-family:kaiti;
          font-weight: bold;
          letter-spacing: 5px;
        }
        .bot-menu{
          text-align: center;
          font-size: 20px;
          font-family:kaiti;
        }
        </style>
</head>
<body>
    <div class="container">
      <div class="bot-header">
        智能客服对话系统
      </div>
      <div id="bot-menu">
        <button  class="button1">功能概要</button>
        <button class="button2">服务一览</button>
        <button class="button3">常见问题</button>
        <button class="button4">用户注册</button>
        <hr>
        <br>
      </div>
&nbsp;&nbsp;</a>
      <a id="summary">&#x25BC;提升效率&#x25BC;&nbsp;&nbsp;</a>
      <a id="summary">&#x25BC;节约成本&#x25BC;&nbsp;&nbsp;</a>
      <a id="summary">&#x25BC;自我学习&#x25BC;&nbsp;&nbsp;</a>
      </ul>
      </div>
    </div> 
    <section id="chatbot">
      <div class="vertical-align">
          <div class="container">
              <div class="row">
                  <div class="col-sm-9 col-sm-offset-2 col-xs-offset-0">
                      <div class="interaction no-border">
                          <div id="chatdialog" class="chatbotForm">
                              <form action="" method="GET" class="hidden">
                                  <select message_interaction="尊敬的客户,您好!我是智能客服,请选择选项继续对话。" name="greeting">
                                      <option value="noproblem">没有问题</option>
                                      <option value="continue">请继续</option>
                                  </select>
                                  <input type="text" name="name" message_interaction="请输入您的姓名。 | 感谢您的惠顾,您的姓名。">
                                  <input type="text" message_interaction="您好, {name}:0。 很高兴能够为您服务。接下来请输入您要咨询的信息类型。" data-no-answer="true">
                                  <select name="selectquery" message_interaction="请问您要咨询哪类信息?" multiple>
                                      <option value="新冠传播途径">新冠传播途径</option>
                                      <option value="新冠预防方法">新冠预防方法</option>
                                      <option value="新冠疫苗有效性">新冠疫苗有效性</option>
                                      <option value="新冠潜伏期">新冠潜伏期</option>
                                  </select>
                                  <select name="querymedical" recallFunction="storeState" message_interaction="很好,您是一位医学工作者吗?">
                                      <option value="yes">是</option>
                                      <option value="no">否</option>
                                  </select>
                                  <div data-conv-fork="querymedical">
ut message_interaction="请输入您的电子邮箱" emailRegex="^[a-zA-Z0-9.!#$%&’*_{|}~-]+@[a-zA-Z0-9_]+\.[a-zA-Z0-9_]+(?:\.[a-zA-Z0-9-]+)*" id="email" type="email" name="email" required placeholder="What's your e-mail?">
                                  <input message_interaction="请输入您的家庭住址" type="address"  id="address" name="address" >
                  <select message_interaction="请选择您期望使用的搜索平台:">
                      <option value="baidu" recallFunction="baidu">baidu</option>
                      <option value="cnki" recallFunction="cnki">cnki</option>
                  </select>
                                  <select name="search" message_interaction="您希望我们使用指定的搜索引擎帮您查询信息吗?">
                                      <option value="yes" recallFunction="searchPrimary">是</option>
                                      <option value="no" recallFunction="searchSecondary">否</option>
                                  </select>
                                  <select message_interaction="感谢您使用智能客服平台服务。" id="">
                                      <option value="">非常感谢,欢迎继续下次光临。</option>
                                  </select>
                              </form>
                          </div>
                      </div>
                  </div>
              </div>
          </div>
      </div>
  </section>
  <script type="text/javascript" src="static/jquery-1.12.3.min.js"></script>
  <script type="text/javascript" src="static/autosize.min.js"></script>
  <script type="text/javascript" src="static/jquery.js"></script>
  <script>
    function baidu(status, ready) {
      window.open("https://www.baidu.com");
      ready();
    }
    function cnki(status, ready) {
      window.open("https://www.cnki.net");
      ready();
    }
    var statusTo = false;
    var statusFrom = false;
    function storeState(status, ready) {
      statusTo = status.current;
      ready();
    }
</body>
</html>

创作不易 觉得有帮助请点赞关注收藏~~~

相关文章
|
2月前
|
存储 JavaScript 前端开发
用 HTML + JavaScript DIY 渐进式延迟法定退休年龄测算器
用 HTML + JavaScript DIY 渐进式延迟法定退休年龄测算器
|
2月前
|
JavaScript 前端开发
用html+javascript打造公文一键排版系统12:删除附件说明中“附件:”里的空格
用html+javascript打造公文一键排版系统12:删除附件说明中“附件:”里的空格
|
6天前
|
JavaScript
JS鼠标框选并删除HTML源码
这是一个js鼠标框选效果,可实现鼠标右击出现框选效果的功能。右击鼠标可拖拽框选元素,向下拖拽可实现删除效果,简单实用,欢迎下载
14 4
|
2月前
|
前端开发 JavaScript
HTML+JavaScript+CSS DIY 分隔条splitter
HTML+JavaScript+CSS DIY 分隔条splitter
|
2月前
|
小程序 JavaScript 前端开发
你的生日是星期几?HTML+JavaScript帮你列出来
你的生日是星期几?HTML+JavaScript帮你列出来
|
1月前
|
JavaScript NoSQL 前端开发
使用 Node.js 和 MongoDB 构建实时聊天应用
【10月更文挑战第2天】使用 Node.js 和 MongoDB 构建实时聊天应用
|
1月前
|
机器学习/深度学习 JSON JavaScript
LangChain-21 Text Splitters 内容切分器 支持多种格式 HTML JSON md Code(JS/Py/TS/etc) 进行切分并输出 方便将数据进行结构化后检索
LangChain-21 Text Splitters 内容切分器 支持多种格式 HTML JSON md Code(JS/Py/TS/etc) 进行切分并输出 方便将数据进行结构化后检索
22 0
|
2月前
|
前端开发 JavaScript 开发工具
MASM32+ HTML & JavaScript,好搭档
MASM32+ HTML & JavaScript,好搭档
|
2月前
|
C++ Windows
HTML+JavaScript构建C++类代码一键转换MASM32代码平台
HTML+JavaScript构建C++类代码一键转换MASM32代码平台
|
2月前
|
C++
HTML+JavaScript构建一个将C/C++定义的ANSI字符串转换为MASM32定义的DWUniCode字符串的工具
HTML+JavaScript构建一个将C/C++定义的ANSI字符串转换为MASM32定义的DWUniCode字符串的工具
下一篇
无影云桌面