博舍

智能问答系统产品设计详解 智能问答系统功能包括哪些内容

智能问答系统产品设计详解

本文通过基于问答对的问答型机器人作为引入,逐步分解其设计流程,用通俗易懂的语言描述问答型机器人的产品设计思路。

问答系统的概述

我想大家肯定看过很多关于自然语言处理(简称:NLP)技术方面的书籍或者论文,但在这里我不会详细叙述NLP技术方面的知识,而是想通过产品化思路结合NLP相关技术来搭建一个基础版的问答系统。本文通过基于问答对的问答型机器人作为引入,逐步分解其设计流程,用通俗易懂的语言描述问答型机器人的产品设计思路。

好了,现在进入正题,让我先介绍一下问答系统对企业来说它能满足企业哪些业务需求,以及产生的价值有哪些?

问答系统是基于满足B端企业降低人力成本、提高工作效率的智能化产品,为客服人员赋能。其最大的隐性价值是在实际场景中得到标准化后的数据积累,可以在挖掘客服价值信息中起到降本增效的作用,后续还可以作精准营销和产品升级。一套问答系统最困难的是如何提升客服系统的使用效率。

就问答系统的使用效率,其根本原因是在于是否能够为企业降低人工服务次数和服务时间占比,甚至是提升公司的营业业绩。

什么是问答系统

问答系统是信息检索系统的一种高级形式,它可以通过链接知识库方式检索到用户问题的答案。问答系统与信息检索中的语义搜索有点类似,把用户输入的问题转换为一个有结构的语义表达式,然后从知识库中寻找答案,并直接反馈给用户。

问答系统的答案可以从结构化知识库获取,用于规章制度、规则条款等问答形式,也可以通过结合一些已有的知识库和数据库资源,利用百度百科、维基百科等非结构化文本信息,用信息抽取的方法提取关键信息,并构建知识图谱作为问答系统的后台支撑,再结合知识推理等方法为用户提供更深层次语义理解的答案。

在这里主要讲解的是针对特定领域的知识进行一问一答,也称之为单轮对话、问答对或FAQ,即直接根据用户的问题给出精准的答案。

问答系统的业务场景应用

适用于特殊环境下所限定的信息需求,在日常生活中,用户会经常碰到很多复杂的规章制度、规则条款。比如:乘坐火车时,能不能带宠物上火车;3岁小朋友是否需要买票等。

在工作中,也会面对公司多样的政策。比如:商业保险理赔需要什么材料,工作几年可以办理暂住证?这些情况下,经常需要各种查询或者检索才能回复并解决用户的疑问。基于这类常见的业务场景就能更快速的搭建一套智能问答系统。

问答系统的价值

现阶段智能问答系统最大价值就是为客服人员赋能,而非独立于让机器自行解决众多目前还有很多错误率和不确定性的问题。

问答系统的产品策略

现阶段下的智能问答系统是有局限性的,这也是为什么需要落地到行业中某个垂直业务领域的主要原因。所以需要通过问答系统做出一个符合业务实际需求的产品策略,这样能够最大程度的提升用户体验和增加用户对系统的信心。

比如系统遇到不知道的问题,可以通过产品的兜底策略及时转换其他服务(如:转人工客服)或给出用户可能想问的问题,为用户提供一个便捷的方式,让用户有继续操作的意愿。这样大大提升了系统的可用性,而不需要完全依赖于算法。这样成本也会低很多,效果也会好很多。这就是用产品策略来弥补算法本身的不足。然而在不同业务场景下所采用的兜底策略也是不同的,最重要的还是如何将兜底策略做的更加智能化。

上述介绍了一下问答系统的基本概念和产品的价值以及产品策略,后面为读者分享的是如何搭建一套基于结构化知识库的问答型机器人。

问答型机器人搭建

问答型机器人(简称FAQ问答系统)目前被大量使用在电商、金融、银行、旅游等行业中。本文就以旅游行业为例,详细介绍如何设计并实现一个基于结构化知识库的问答系统,数据来源:东方航空官网http://www.ceair.com(会员常见问题为例)。

系统介绍

用户诉求

通过最短的对话轮次(一问一答),获得精准、直接的答案以及更好的完成任务,来满足用户的需求。

实现目标

系统根据用户输入问题,理解用户的问题后,通过标签分类里的问题中匹配相似问句,并将答案反馈给用户,以此来为用户提供服务。

系统功能

在特定的垂直业务领域下,问答系统可以回答用户所提出的一系列问题,其主要功能包括问句预处理、问句理解、问句相识度匹配和标签分类。

1)问句预处理:将用户问句进行分词和词性标注

2)问句理解:提取问句中的关键词

3)问句相似度匹配:将问句与每个标签分类下的问题进行相似度计算后召回

4)标签分类:为问句添加标签,在标签分类下的问题匹配相似问题,以此来提升机器理解能力和匹配精度,同时也可以对问答对进行分类化管理,可以按业务分类、问题所属业务部门等自己需要的维度来管理问答对,提高问答对的管理效率。标签分类根据实际业务场景需求进行分类,切记标注标签分类的时候需要保持数据的一致性

产品结构

用户问题分类:

首先我们需要对问答系统需要支撑的业务进行分析,然后把用户将会问到的问题进行归类整理,并设计符合实际业务场景需求的分类。

问答型机器人适用场景:

适用于回答非用户个性化的问题(即一问一答),返回的是静态知识,无需调用外部数据接口或调用知识图谱返回答案。

问答型机器人处理流程:

图1:问答系统处理流程图

问答系统流程如下:

1)用户提问:怎么样才能注册东方万里行会员

2)问句预处理:将问句进行分词和词性标注(词法分析)

分词: 怎么样/才能/注册/东方万里行/会员

词性标注:代词名词动词名词名词

注:在对问句进行分词处理时,可以加入领域词库进行同义词扩展,如“上海”扩展为“沪”、“申城”;“东方航空”扩展为“东航”,需要结合关键词词库进行识别

3)问句理解:提取问句中的关键词

关键词提取: 怎么样注册东方万里行会员

注:关键词可以是名词、动词、助词、代词,是描述某一类特征的词,关键词的颗粒度可以很粗(例如“我要申请”、“帮我申请”、“申请”),也可以有一定限度的泛化能力(例如:如何办理东方万里行会员中的“如何”就可以与“怎样”、“怎么样”)的代词一起作为关键词,并在计算句子相似度方面只考虑这些关键词。

对于特定句某个名词、代词、动词、形容词或副词不一定是该句中的主语、宾语或谓语成分,但相对于句中所有的词构成的词序列而言,关键词序列却具有一定的句法结构信息表达能力,至少可以了解句子中的哪些词在组成句子框架结构方面是比较重要的。在此基础上进行相似度计算,比一般基于词的方法更准确。

4)问句相似度计算:将用户问句与每个标签分类下的问题进行相似度计算后召回,同时返回相似度最高的标准问题和所属标签分类。

注:在这里主要讲解的是产品设计思路,告知读者在设计问答型机器人过程中会用到哪些NLP相关技术,而不会详解技术实现过程。

问句相似度计算方法1:基于多重信息的方法(关键词加权的语句相似度计算),结合了语法和语义信息的改进句子相似度计算方法。首先计算两个句子的语法相似度(词形、句长),借鉴基于词信息和句法分析的方法,综合考虑词的相似度和句子结构(长度)信息,结合同义词词林进行句子语义的相似度计算。最后,考虑关键词、句长、语义多重信息的一种融合算法,值得注意的一点是该方法需结合词库一起使用,其目的是提升分词、关键词提取、词性权重标注准确率。

注:在计算语法相似度的时候需要注意的是关键词出现的频次应该采用大规模语料进行统计,而在限定领域问答系统中,可以用简化的方法。根据经验,在实践过程中发现名词和动词在句子中起着非常重要的作用,并且名词比动词承载着更多的信息量,一个句子的中心信息基本上都是围绕着名词和动词来展开的。

所以在进行计算时也特意加大了名词和动词的重要程度,将句子的重心落在名词和动词上面,经查阅论文资料根据实际经验,将句子相似度计算中权值分别是名词类权重(W)为0.3;动词类权重(W)为0.3;形容词、代词、副词类权重(W)为0.2。

问句相似度计算方法2:基于向量空间模型的方法。该方法把问句用向量来表示,计算2个句子的相似度就是计算2个向量的距离。

本文使用word2vec对句子进行向量化表示,以作为LSTM(即长短记忆神经网络)神经网络的输入实现问句相似度计算。而基于神经网络的词向量模型,可以从大规模的文本数据中自动学习数据的本质信息,得到低维实数向量,很好地解决了传统的词向量模型。因为词语独立性假设带来的语义建模困难和维度爆炸问题。

用户问句:

Q:怎么样注册东方万里行会员

FAQ库中的句子:

R1:如何办理万里行会员(标签分类:会员办理)

R2:如何获得会员卡(标签分类:领取会员卡)

R3:东方万里行会员申请电话是多少(标签分类:咨询电话)

R4:东方万里行会员应该怎样申请(标签分类:会员办理)

返回结果:(使用word2vec计算得出)

R1:如何办理万里行会员

0.8045011574330355

R2:如何获得会员卡

0.6247308971541259

R3:东方万里行会员申请电话是多少

0.7638216222999513

R4:东方万里行会员应该怎样申请

0.9042637469903886

以上案例从人的主观判断可以看出问句Q实际上和R1,R4是同一个问题,与人的主观判断完全一致,同时也返回R4的标签分类“会员办理”。

5)答案:精准匹配,则将R1问题的答案返回给用户

整体产品结构图

以下是问答系统整体产品结构图,主要围绕核心模块有问答管理、模型训练、关键词管理、未知问题管理。则其余模块不会做详细讲解。

图3:问答系统产品结构图

问答管理模块

问答型知识构建是基于问答对中的问题匹配算法来设计的,所以首先需要搭建问答对,而问答对是由标准问题和相似问题以及答案组成,通过新增相似问题来提升问答机器人的准确率。

而标签分类能有效的对问答对进行分类化管理,可以按业务分类、问题所属业务部门等自己需要的维度来管理问答对,提高问答对的管理效率。标签分类的用途是在特定标签分类里的问题中匹配相似问题,其目的是找到用户问题的所属标签分类。

图4:问答管理-新建标签分类

问答对是由标准问题、相似问题、答案组成,而标准问题与答案的组合称之为问答对。问答对支持一对一、一对多、多对一和多对多;当问题中包含多个答案时,答案随机呈现。相似问题是标准问题的泛化,其表达的意思与标准问题是一样的,其目的是匹配用户问题最相似的问题,并反馈给用户答案,问题样本越多匹配的准确率也就越高。

图5:添加问答对产品原型

模型训练模块

是将编辑好的问答对或新增相似问题加入到算法中进行训练并生成模型,模型需要生效后才可使用。

关键词管理模块

关键词在问答管理模块中已经有详细的描述关键词对整个问答管理模块来说其重要性,以及关键词的使用和发挥的作用。

图6:关键词管理产品原型

图7:添加词典值产品原型

未知问题管理模块

未知问题是用户与机器人在对话过程中未识别的问题,用户可以对未知问题进行标注并添加至问题样本中通过模型进行训练。

图8:未知问题管理产品原型

图9:转问题样本产品原型

结束语

问答型机器人能否实现智能化,最直接的体现就是能否回答人类自然语言的问题,本文通过详细介绍问答型机器人产品设计思路,以及深入研究问答型机器人处理流程。问答型机器人最核心的就是问句相似度计算,以及用户自定义词库拓展同义词来提高匹配准确率,还有就是未知问题的处理并加入模型进行训练。

本文还介绍了问句相似度计算的2种方法,一个方法是关键词加权的语句相似度计算;另一个方法是word2vec结合LSTM神经网络的问句相似度计算。试验证明,word2vec来计算问句匹配的准确率明显要好。

至此,因本人一直从事NLP领域的智能问答系统产品设计工作。所以想把一些经验分享给大家,相互学习和交流,后续还会持续更新基于知识图谱的问答系统和多轮对话的产品设计。

 

本文@johnny113原创发布于人人都是产品经理,未经许可,不得转载。

题图来自Unsplash,基于CC0协议

java智能问答系统设计与开发毕业设计程序

采用java技术构建的一个管理系统。整个开发过程首先对系统进行需求分析,得出系统的主要功能。接着对系统进行总体设计和详细设计。总体设计主要包括系统功能设计、系统总体结构设计、系统数据结构设计和系统安全设计等;详细设计主要包括系统数据库访问的实现,主要功能模块的具体实现,模块实现关键代码等。最后对系统进行功能测试,并对测试结果进行分析总结。包括程序毕设程序源代码一份,数据库一份,完美运行。配置环境里面有说明。

系统分析包括哪些内容 • Worktile社区

系统分析包括的内容:1、现有系统分析;2、组织结构分析;3、系统功能分析;4、业务流程分析;5、数据与数据流程分析。其中,对现有系统进行分析,并与新系统进行比较,即可获得许多重要的信息。

1、现有系统分析

不管现有系统是还在运行或已经停用,它与新系统之间总存在“藕断丝连”的关系,对其进行分析,并与新系统进行比较,即可获得许多重要的信息。分析过程中,需要多跟用户沟通,了解他们对现有系统的认识和评价,尤其是负面评价,这些都是新系统需要克服和解决的,弥足珍贵。

值得注意的是,所谓现有系统,不一定是已经在计算机上运行的系统,也可能是一个人工的数据处理过程。现有系统分析过程:

获得现有系统的物理模型抽象出现有系统的逻辑模型建立新系统的逻辑模型建立新系统的物理模型(系统设计阶段)2、组织结构分析

组织结构是系统分析师了解企业基本活动的切入点,即使现有结构不尽合理,可能需要调整,但调查工作还是要从组织结构开始。组织结构调查就是对企业组织结构与职责进行分析,明确企业内部的部门划分,以及部门之间的关系。特别注意了解两个问题:

切实了解各部门的职责明确企业的边界3、系统功能分析

在掌握企业组织结构的基础上,以组织结构为线索,层层了解各个部门的职责、工作内容和内部分工,就可以掌握系统的功能体系,并用功能体系图来标识。功能体系图完全是一个以业务功能为主体的树形图。

系统功能调查是指对系统的功能构造进行的调查。每个系统都有一个总目标,而总目标的达成,又依赖层层子系统,分散到更具体的各个子功能。因此系统功能分析,需要:

确定系统所有功能分析各功能的关系和流程4、业务流程分析

组织结构图描述系统内部各部门的划分以及它们之间的关系;功能分析图则表明这些部门的管理功能。这二者反映了系统的总体情况,而系统的细节则由业务流程分析给出,包括明确部门职能如何完成,细节情况如何等。

业务流程分析的目的是了解业务流程过程,明确各部门之间的业务关系和每个业务处理细节,为业务流程合理化改造提供参考,系统的数据流程变化提供依据。同时也能为系统分析师发现和纠正调查工作中的错误,弥补疏漏,修改或删除系统的不合理部分,进而优化业务处理流程。

业务流程分析的方法:

价值链分析法,重点分析对顾客最有价值的业务流程客户关系分析法,把CRM用在分析上供应链分析法,从企业供应链的角度分析企业的业务流程基于ERP的分析法,ERP的基本思想是将企业的业务流程看作一个紧密的供应链,将供应商、采购、生产、销售,以及客户联系起来。业务流程重组,重新审视企业的价值链,从功能成本的比较分析中,确定哪些环节具有比较优势。5、数据与数据流程分析

数据与数据流程分析是以后建立数据库系统和设计功能模块处理过程的基础。系统调查过程中收集的数据资料只是原始材料,必须加以汇总、整理和分析,才能理清其中的关系,为以后的数据库设计奠定基础。

数据汇总分析

将数据原始资料按业务流程分类编码,按处理过程的顺序排列按业务流程自顶向下地对数据项进行整理原始数据和最终输出数据分类整理,原始数据构成基本表,最终输出数据反映业务指标确定数据的字长和精度

数据属性分析

数据静态分析:指分析数据的静态属性,包括类型和长度、取值范围、业务量、使用该数据的业务、重要程度和保密程度。数据动态分析:数据动态特性有3种,固定值属性、固定个体变动属性和随机变动属性。固定值属性,一般不会变动,如会计科目,客户基础资料、物料主数据等;固定个体变动属性的数据项,对总体相对固定,但对个体则是变动的,如客户每次订购的商品和数量,库存余额,总账余额,未结销售订单等;随机变动属性的数据项是随机出现的,值也跟随变动,如产品月销售量等,因为有些月份,可能有些产品没有销售量。数据的存储分布:固定属性数据存放在基本表,随机变动属性数据存放于视图或处理文件中;又如,要考虑哪些数据存放在本地设备,哪些存储在网络服务器或系统主机等。

数据流程分析

把数据抽象、独立出来,舍去具体的企业组织结构、物质、信息载体等,目的在于发现和解决数据流通中的问题。结构化分析方法(SA)是一种面向数据流的分析方法,数据流图(DFD)是主要工具之一。而面向对象分析方法(OOA),是通过对象之间的交互来处理数据流程。

延伸阅读

系统分析的难点系统分析师与用户对系统的理解不同系统分析师与用户沟通困难环境不断的变化,系统分析阶段需要充分考虑这种变化,但这很难,甚至不可能50万+团队都在用的项目协作工具一个工具满足团队所需:任务、项目、文档、IM、目标、 日历、甘特图、工时、审批以及更多,让工作更简单智能化研发管理工具PingCode是简单易用的新一代研发管理平台,让研发管理自动化、数据化、智能化,帮助企业提升研发效能

文章标题:系统分析包括哪些内容,发布者:Z,ZLW,转载请注明出处:https://worktile.com/kb/p/34363

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇