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

简介: 【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>

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

相关文章
|
存储 Web App开发 移动开发
HTML5 Web 存储详解
HTML5 Web存储提供了两种客户端数据存储机制:**Local Storage**和**Session Storage**。Local Storage用于长期存储数据,即使关闭浏览器数据也依然存在,适用于保存用户偏好设置等信息。Session Storage则在标签或窗口关闭时清除数据,适合存储临时信息。两者均提供了简单的API进行数据的存取操作,但需要注意的是,Web存储并非加密存储,不应存放敏感信息。现代浏览器普遍支持Web存储,合理利用这两种存储方式可提升Web应用的用户体验。
|
存储 移动开发 大数据
HTML5 Web IndexedDB 数据库详解
IndexedDB 是一种高效的浏览器存储方案,允许在本地存储大量结构化数据,支持索引和事务,适用于需要离线和大数据处理的应用。它由数据库、对象仓库等组成,通过键值对存储数据,确保数据一致性和完整性。本介绍展示了如何创建、读取、更新和删除数据,以及事务和错误处理的最佳实践。
1687 10
|
前端开发
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
1468 1
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
620 6
|
前端开发 JavaScript UED
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势,包括样式表优化、DOM操作减少、图像优化等技术,并分析了电商网站的具体案例,强调了技术演进对Web性能的深远影响。
363 5
|
存储 缓存 前端开发
Web端IM聊天消息该不该用浏览器本地存储?一文即懂!
鉴于目前浏览器技术的进步(主要是HTML5的普及),在Web网页端IM聊天应用的技术选型阶段,很多开发者都会纠结到底该不该像原生移动端IM那样将聊天记录缓存在浏览器的本地,还是像传统Web端即时通讯那样继续存储在服务端?本文将为你简洁明了地讲清楚浏览器本地存储技术(Web Storage),然后你就知道到底该怎么选择了。
724 1
|
存储 移动开发 数据库
HTML5 Web IndexedDB 数据库常用数据存储类型
IndexedDB 支持多种数据存储类型,满足复杂数据结构的存储需求。它包括基本数据类型(如 Number、String、Boolean、Date)、对象(简单和嵌套对象)、数组、Blob(用于二进制数据如图像和视频)、ArrayBuffer 和 Typed Arrays(处理二进制数据)、结构化克隆(支持 Map 和 Set 等复杂对象),以及 JSON 数据。尽管不直接支持非序列化数据(如函数和 DOM 节点),但可以通过转换实现存储。开发者应根据具体需求选择合适的数据类型,以优化性能和使用体验。
1289 10
|
前端开发 Windows
【前端web入门第一天】02 HTML图片标签 超链接标签 音频标签 视频标签
本文档详细介绍了HTML中的图片、超链接、音频和视频标签的使用方法。首先讲解了`&lt;img&gt;`标签的基本用法及其属性,包括如何使用相对路径和绝对路径。接着介绍了`&lt;a&gt;`标签,用于创建超链接,并展示了如何设置目标页面打开方式。最后,文档还涵盖了如何在网页中嵌入音频和视频文件,包括简化写法及常用属性。
687 14
|
SQL 存储 移动开发
HTML5 Web SQL 数据库详解
Web SQL 数据库是 HTML5 中的一种本地存储技术,允许在浏览器中使用 SQL 语言操作本地数据,支持离线访问和事务处理,适用于缓存数据和小型应用。然而,其存储容量有限且仅部分现代浏览器支持,标准已不再积极维护,未来可能被 IndexedDB 和 localStorage 等技术取代。使用时需谨慎考虑兼容性和发展前景。
|
存储 前端开发 安全
详解CSS之Web 字体
详解CSS之Web 字体
402 4