用于车辆的问答装置及方法与流程

文档序号:11251023
用于车辆的问答装置及方法与流程

本发明涉及车辆领域,具体地,涉及一种用于车辆的问答装置及方法。



背景技术:

问答系统是自然语言分析和机器学习相结合的一门人工智能应用,比如微软的小冰机器人、iPhone的Siri、京东的Jimi客服机器人、百度的度秘等,这些问答系统在不同的领域均获得了一定成果。

问答系统按照使用场景划分,可以分为开放领域场景和限定领域场景,小冰、Siri、度秘等,属于开放领域问答系统,即对问答的内容没有做场景限制,京东的Jimi属于限定领域机器人,仅限定在京东的客户服务,对其他领域问题不能做出友好的回答。目前,开放领域的问答系统相比限定领域实现更困难,尤其是在数据不充分的情况下。

传统问答系统使用的主要技术包括:分词、词性标注、实体识别、句法分析、语义分析、关键词提取、相似度计算、问题分类、问题意图分析、问题检索、答案生成等。这类技术下的问答系统,多以FAQ问答模式为主,即以问题相似度计算为核心,检索出相似问题,然后返回给用户答案。

随着Google推出知识图谱概念,基于知识图谱的精准问答得到广泛关注,也是近些年各大科技公司的主要研究热点。基于知识图谱的智能问答系统,主要技术包括:语义解析、图谱的构建、实体对齐、实体链接、关系抽取、图谱推理等。

深度学习是目前机器学习领域里非常受关注的一门技术,相比传统的机器学习方法,它的效果更精准,在问答系统中越来越受到青睐。京东的Jimi客服机器人就应用了深度学习技术,取得了很不错的效果。当然,它的学习技术更困难,需要更多的训练语料和基础设备做支撑。

每一个行业都有自身的特点,开放领域的问答技术,并不能完全适用于汽车领域的问题解决方法。目前,科技公司、科研院所更关注的是开放领域的问答系统技术研究,这类技术不能够直接应用到具体的垂直领域,例如,不能应用于汽车领域,即使应用到汽车领域,其效果无法满足市场的需求。因为:开放领域的知识库组织方式与汽车领域的组织方式和方法不同,无法得到复制迁移;针对汽车行业的具体业务,需要定制化数据梳理流程、问答系统架构。



技术实现要素:

本发明实施例的目的是提供一种用于车辆的问答装置及方法,用于解决或至少部分解决上述技术问题。

为了实现上述目的,本发明实施例提供一种用于车辆的问答装置,该装置包括:接收模块,用于接收用户提出的问题;应用场景分类模块,用于对所述用户提出的问题进行应用场景分类,所分类的应用场景包括以下中的一者或多者:故障类、常识类、手册类、购车类、保险类;语义理解模块,用于根据所分类的应用场景对所述用户提出的问题进行语义识别以获得特征信息;答案确定模块,用于根据所述特征信息确定所述用户提出的问题所对应的答案;以及答案输出模块,用于输出所述用户提出的问题所对应的答案。

可选地,所述装置还包括:意图分类模块,用于判断所述用户提出的问题是否与车辆相关,所述应用场景分类模块用于在所述用户提出的问题与车辆相关的情况下,对所述用户提出的问题进行所述应用场景分类。

可选地,所述应用场景分类模块用于使用分类模型对所述用户提出的问题进行应用场景分类,所述分类模型包括以下中的一者或多者:故障分类模型、常识分类模型、手册分类模型、购车分类模型、保险分类模型。

可选地,所述答案确定模块包括:匹配单元,用于根据所述特征信息从数据库中确定与所述用户提出的问题相匹配的问题,所述数据库包括一个或多个问题以及该一个或多个问题中的每一个问题所对应的答案;以及检索单元,用于从所述数据库中检索出与所述用户提出的问题相匹配的问题所对应的答案。

可选地,所述装置还包括:对话管理模块,用于:在所述匹配单元没有从数据库中确定出与所述用户提出的问题相匹配的问题的情况下,向所述用户发出提问;在接收到用户反馈之后,对所述用户所反馈的信息和所述用户提出的问题执行信息合并。

可选地,在所分类的应用场景为故障类的情况下,所述特征信息至少包括故障部件名称和故障现象;所述答案确定模块用于根据存储的故障规则对所获得的特征信息进行推理来获得所述用户提出的问题所对应的答案,所述故障规则包括故障前提和故障结论。

可选地,所述装置还包括:抽取模块,用于从关数据库中抽取出所述故障规则,所述数据库至少包括一个或多个故障现象以及与该一个或多个故障现象中的每一个故障现象所对应的答案,该答案包括故障原因和/或解决方案。

相应地,本发明实施例还提供一种用于车辆的问答方法,所述方法包括:接收用户提出的问题;对所述用户提出的问题进行应用场景分类,所分类的应用场景包括以下中的一者或多者:故障类、常识类、手册类、购车类、保险类;根据所分类的应用场景对所述用户提出的问题进行语义识别以获得特征信息;根据所述特征信息确定所述用户提出的问题所对应的答案;以及输出所述用户提出的问题所对应的答案。

可选地,所述方法还包括:判断所述用户提出的问题是否与车辆相关;在所述用户提出的问题与车辆相关的情况下,对所述用户提出的问题进行所述应用场景分类。

可选地,所述对所述用户提出的问题进行应用场景分类包括:使用分类模型对所述用户提出的问题进行应用场景分类,所述分类模型包括以下中的一者或多者:故障分类模型、常识分类模型、手册分类模型、购车分类模型、保险分类模型。

可选地,所述根据所述特征信息确定所述用户提出的问题所对应的答案包括:根据所述特征信息从数据库中确定与所述用户提出的问题相匹配的问题,所述数据库包括一个或多个问题以及该一个或多个问题中的每一个问题所对应的答案;以及从所述数据库中检索出与所述用户提出的问题相匹配的问题所对应的答案。

可选地,所述方法还包括:在所述匹配单元没有从数据库中确定出与所述用户提出的问题相匹配的问题的情况下,向所述用户发出提问;以及在接收到用户反馈之后,对所述用户所反馈的信息和所述用户提出的问题执行信息合并。

可选地,在所分类的应用场景为故障类的情况下,所述特征信息至少包括故障部件名称和故障现象,所述根据所述特征信息确定所述用户提出的问题所对应的答案包括:根据存储的故障规则对所获得的特征信息进行推理来获得所述用户提出的问题所对应的答案,所述故障规则包括故障前提和故障结论。

可选地,通过以下步骤来建立所述故障规则:从数据库中抽取出所述故障规则,所述数据库包括一个或多个故障现象以及与该一个或多个故障现象中的每一个故障现象所对应的答案,该答案包括故障原因和/或解决方案。

相应地,本发明实施例还提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于在被机器执行时使得所述机器执行上述的方法。

通过上述技术方案,提供了一种实用性很强且简便易行的汽车问答装置,其解决了以往基于FAQ问答模式准确度低的问题,同时,克服了开放领域问答系统过于复杂、开发周期长的问题。

本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:

图1示出了本发明一实施例提供的用于车辆的问答装置的结构框图;

图2示出了本发明又一实施例提供的用于车辆的问答装置的结构框图;以及

图3示出了本发明一实施例提供的用于车辆的问答方法的流程示意图。

具体实施方式

以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。

图1示出了本发明一实施例提供的用于车辆的问答装置的结构框图。如图1所示,本发明实施例提供一种用于车辆的问答装置,用于为用户解答关于车辆的各类问题,所述装置可以包括以下模块:接收模块11、应用场景分类模块12、语义理解模块13、答案确定模块14、答案输出模块15。

具体地,接收模块11用于接收用户提出的问题。例如,所述接收模块11可以接收用户通过麦克风所提出的问题。

应用场景分类模块12用于对所述用户提出的问题进行应用场景分类,所分类的应用场景可以包括以下中的一者或多者:故障类、常识类、手册类、购车类、保险类。可以理解,应用场景并不局限于这几类,其分类可以随着实际业务的增加而增加。

可选地,应用场景分类模块12可以使用分类模型对所述用户提出的问题进行应用场景分类,例如,可以通过标注数据,采用机器学习分类算法进行应用场景分类。根据场景种类不同,准备不同的标注数据,每个场景一个分类模型,当有新的场景产生时,易于扩展。其中标注的数据格式可以为:标注\样本。

可选地,所使用的机器学习分类算法可以是SVM(Support Vector Machine,支持向量机)分类算法,在良好的标注数据下,学习的SVM分类模型经过实际使用,分类精度可以达到98%。可以理解,也可以使用其它分类算法来进行上述分类学习,例如可以使用决策树算法、神经网络算法、贝叶斯算法、深度学习算法等。

对应于上述应用场景的分类所述分类模型可以包括以下中的一者或多者:故障分类模型、常识分类模型、手册分类模型、购车分类模型、保险分类模型。

语义理解模块13用于根据所分类的应用场景对所述用户提出的问题进行语义识别以获得特征信息。对于不同的应用场景,数据库中的存储格式可能不同,因此针对不同的应用场景,语义理解模块的具体执行过程可以不同。以故障类应用场景为例,当用户提出“冷车启动时,发动机不易启动,怎么回事?”,语义理解模块会分析得到如下关键信息:故障发生的条件“冷车、启动状态”,故障发生的部件“发动机”,故障现象“不易启动”。再举一个例子:“汽车在高速行驶时候,车身发飘,是什么原因?”经过语义理解得到,条件是“高速”,现象是“发飘”。针对每个场景,语义理解模块都结合了自然语言处理、机器学习、推理等技术。例如,对于故障类应用场景,可以通过机器学习分类算法,识别出故障现象和故障部件,通过自然语言处理规则匹配方法,识别出各个参数条件。

以故障类应用场景为例,故障类语义分析技术方法有:分词、词性标注、句法分析、命名实体识别、SVM分类、基于正则表达式特征提取等。从用户的问题中,经过以上技术的分析,提取出相应的参数。具体参数的设置,可以根据具体业务需求定制化。其它类应用场景的技术分析与之类似。

答案确定模块14用于根据所述特征信息确定所述用户提出的问题所对应的答案。所述答案输出模块15用于输出所述用户提出的问题所对应的答案。本发明实施例提供的用于车辆的问答装置解决了以往基于FAQ问答模式精度低的问题,同时,克服了开放领域问答系统过于复杂、开发周期长的问题。经过验证,在整个实际问答过程中,回答的准确度可达到92%。

图2示出了本发明又一实施例提供的用于车辆的问答装置的结构框图,如图2所示,基于上述实施例,答案确定模块14可以包括匹配单元141以及检索单元142。匹配单元141用于根据所述特征信息从数据库17中确定与所述用户提出的问题相匹配的问题,所述数据库17包括一个或多个问题以及该一个或多个问题中的每一个问题所对应的答案。检索单元142用于从所述数据库17中检索出与所述用户提出的问题相匹配的问题所对应的答案。

可以理解,匹配单元141也可以采用传统FAQ问答的方式,即基于句子相似度来从数据库17中确定与所述用户提出的问题相匹配的问题。

可选地,数据库17中可以存储有与各个应用场景相关的数据和一些辅助数据。

故障类数据库、保险类数据库以及手册类数据库可以由知识工程师和4S店、汽修厂、保险公司合作梳理完成。开发技术人员进行结构化处理。对于常识类数据库,技术人员可以通过web抓取,进行关系抽取,得到结构化的数据。最后,将所获得的各类数据库分别保存在数据库17中。

以故障类数据的数据库为例,实际使用中,对于故障类数据的数据库的建立,可以从汽修厂、4S店获取故障类问题的数据,其中故障类问题的数据可以包括各个部件故障后产生的故障现象及其解决方案。此外,也可以通过网络抓取或者专家经验数据来获得故障类问题的数据。然后可以对所获得的故障类数据进行整理,得到关于车辆故障的数据库,该数据库可以包括一个或多个问题以及该一个或多个问题中的每一个问题所对应的答案。

可选地,所述检索单元142可以使用Redis技术来提高检索效率。

进一步地,发明实施例提供的用于车辆的问答装置还可以包括对话管理模块16。用户一次提出的问题的特征信息可能是不全面的,匹配单元141可能无法从数据库中确定出与所述用户提出的问题相匹配的问题,从而检索单元142无法准确检索出答案。这时,需要根据可能的意图再次询问用户相关的补充条件,得到用户反馈后,要和用户的上一句问题做信息合并,完善提问的信息。这个询问过程就是通过对话管理的模块16执行的,和开放领域不同的是,对话管理的模块16都是围绕汽车领域进行会话,同一个焦点词、关键词在开放领域表述的意思和在汽车领域表述的意义可能会有不同。该模块主要包括的技术是:上下文指代消解、对话管理、上下文边界确定、自动状态机等。

进一步地,本发明实施例提供的用于车辆的问答装置还可以包括意图分类模块,用于判断所述用户提出的问题是否与车辆相关。用户提出的问题,需要判断其问题意图是否与车辆相关,如果相关,则进行后续与汽车相关的分析,否则,可以进入第三方应用接口。该模块可以使用机器学习SVM分类算法,但不限于SVM,其他分类算法只要能达到分类精度要求即可。该模块算法的训练数据是通过网络抓取和人工标注相结合,根据具体业务要求整理不同的训练数据即可。所述应用场景分类模块12用于在意图分类模块判断出所述用户提出的问题与车辆相关的情况下,对所述用户提出的问题进行所述应用场景分类。

可以理解,数据准备对于实现数据问答是必不可少的一步。数据准备可以包括采集、处理、校验、标注四个过程。数据的采集包括web抓取和4s店、汽修厂反馈信息,是非常重要的一手资源。然后对采集到的数据进行噪声清理、不一致去除、归一化等操作,经过专业是汽车知识工程师校验后,开始标注工作。标注过程由开发人员和知识工程师一起完成,标注完成再次校验,从而得到优秀的训练数据集和数据库库数据。

下文将以所分类的应用场景为故障类为例,对本发明实施例进行进一步说明。

在所分类的应用场景为故障类的情况下,所述特征信息至少可以包括故障部件名称和故障现象。语义理解模块13用于从用户提出的故障问题中提取出特征信息,实际中,用户所提出的故障问题中可能会不全面,例如,可能缺少部件名称或缺少故障现象,此时,可以通过对话管理模块16来询问用户以进一步完善用户提出的故障问题,例如,可以向用户发出类似于“具体故障部件是哪”的问题,在接收到用户的进一步反馈之后,可以从用户的进一步反馈中提取故障部件名称。或者可以将用户的进一步反馈和用户先前提出的故障问题进行合并,从合并后的信息中提取特征信息。

通过大量的汽车问答语料进行调研,结合汽车专家工程师人工梳理和机器学习自动特征提取的方法,可以确定出用户提出的故障问题除可能包括故障部件名称和故障现象之外,还可能包括以下13个特征信息中的一个或多个:车辆品牌、车辆型号、灯类部件、操作信息、声音现象、发动机温度、行驶状态、转向方式、车速、发动机转速、挡位、天气及路况。

进一步地,对于故障部件、故障现象、车辆品牌及车辆型号这些特征信息的提取,可以根据分类模型来对用户提出的所述故障问题进行特征信息提取,所述分类模型包括以下中的一者或多者:部件分类模型、故障现象分类模型、车辆品牌分类模型、车辆型号分类模型。

可以使用SVM机器学习分类器来建立上述各模型。具体地,可以首先准备问句样本,然后对所准备的问句样本进行人工分类标注,将标注后的语句样本作为SVM机器学习分类器的训练集,从而得到上述各分类模型。

以建立部件分类模型为例,首先对收集的问句样本进行人工标注,标注示例如下所示:

方向盘\做完四轮定位方向盘变轻

车\做完四轮定轮后车身发飘

车\做了动平衡后,方向反而跑偏了

座椅\座椅无法调到最前面

座椅\座椅调整困难

灯\左转向灯常亮

右前轮\左转弯右前轮嗡嗡异响

右前轮\左转弯右前轮咕噜异响

左后减震\左转弯时左后减震咯吱异响

上述标注示例中,“\”左侧是标注的类别,“\”右侧是问句样本。将标注后的问句样本输入给SVM机器学习,经过训练,可得到部件分类的模型。类似地,也可以相同的方式建立故障现象分类模型、车辆品牌分类模型以及车辆型号分类模型。

在接收到用户提出的故障问题之后,可以将该故障问题作为部件分类模型的输入,部件分类模型的输出就是用户提出的故障问题所涉及的故障部件名称。采用十折交叉验证的方式对分类模型进行验证,经过实际验证,单独从模型算,准确度可达到98%左右。

进一步地,对除故障部件、故障现象、车辆品牌及车辆型号之外的其它特征信息的提取可以利用正则表达式进行提取。通过对大量的故障问题进行分析,可知除故障部件、故障现象、车辆品牌及车辆型号之外的其它特征信息基本上具有相对固定的结构,因此可以采用正则表达式的方式进行提取。

以天气特征的提取为例,所使用的正则模板可以如下所示:

pattern=“下(雨|雪)|(雨|雪|春|夏|秋|冬|冷)(天|季)|暴晒|(夜)?晚(上)?|天(冷|凉)”。

例如,如果用户所提出的故障问题是“冬季启动时发动机加不上油熄火”,通过使用上述正则模板进行特征信息提取可以得到天气为“冬季”。

进一步地,答案确定模块15可以根据存储的故障规则对所获得的特征信息进行推理来获得所述用户提出的问题所对应的答案,所述故障规则包括故障前提和故障结论。可选地,可以使用Drools规则引擎来实现对所提取的特征信息进行推理,Drools规则引擎是基于Java语言的具有高伸缩性、高扩展性的规则引擎。但是本发明实施例并不限制于此,例如,也可以使用PROLOG(Programming in Logic,逻辑程序设计)规则推理程序等来对所提取的特征信息进行推理。

这里,故障规则可以存储在规则库中。故障规则对应于产生式规则,其可以包括故障前提和故障结论。车辆领域的故障发生,都是由于某个部件出现损坏,导致某种故障现象产生,其中,部件损坏可以认为是故障前提,故障现象产生可以认为是故障结论,其符合产生式规则的描述方式。因此,可以首先建立并存储故障规则,然后根据该存储的故障规则对所提取的车辆部件名称和故障现象进行推理以获得故障原因和/或解决方案。

进一步地,用于车辆的问答装置还可以包括抽取模块,用于从数据库中抽取出所述故障规则,所述数据库可以包括一个或多个故障现象以及与该一个或多个故障现象中的每一个故障现象所对应的答案,该答案可以包括故障原因和/或解决方案。

可选地,可以使用关系抽取的方式来从所述数据库中抽取出故障规则。可选地,所抽取处的故障规则的形式可以如下所示:

Rule1:

if auto_part="换挡电磁阀"and phenomenon="卡顿"

then auto_part="D挡",phenomenon="顿挫"

Rule2:

if auto_part="D挡"and phenomenon="顿挫"

then auto_part="车辆",phenomenon="顿挫"

通过观察,可以发现,Rule1产生结论部分是Rule2的条件,通过这样类似的一系列规则推理,当用户提问“车辆顿挫,怎么回事?”时,经过上述的规则,既可以推理出故障原因:部件“换挡电磁阀”出现了“卡顿”现象。这里,是以故障部件和故障现象为例进行说明,其它特征信息与之类似。

进一步地,从关于车辆故障的数据库中抽取出故障规则可能会出现一些误差或者遗漏一些数据,因此,可以采用人工校对的方式对所抽取出的故障规则进行校对和/或者针对遗漏的数据进行补充,从而可以为用户提出的故障问题提供更精确的故障原因和/或解决方案。

图3示出了本发明一实施例提供的用于车辆的问答方法的流程示意图。如图3所示,本发明实施例还提供一种用于车辆的问答方法,该方法可以包括:步骤S31,接收用户提出的问题;步骤S32,对所述用户提出的问题进行应用场景分类,所分类的应用场景包括以下中的一者或多者:故障类、常识类、手册类、购车类、保险类;步骤S33,根据所分类的应用场景对所述用户提出的问题进行语义识别以获得特征信息;步骤S34,根据所述特征信息确定所述用户提出的问题所对应的答案;以及步骤S35,输出所述用户提出的问题所对应的答案。所述方法解决了以往基于FAQ问答模式精度低的问题,同时,克服了开放领域问答系统过于复杂、开发周期长的问题。

本发明实施例提供的用于车辆的问答方法的具体工作原理及益处与上述本发明实施例提供的用户车辆的问答装置的具体工作原理及益处相似,这里将不再赘述。

相应地,本发明实施例还提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于在被机器执行时使得所述机器执行上述的方法。

以上结合附图详细描述了本发明例的可选实施方式,但是,本发明实施例并不限于上述实施方式中的具体细节,在本发明实施例的技术构思范围内,可以对本发明实施例的技术方案进行多种简单变型,这些简单变型均属于本发明实施例的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施例对各种可能的组合方式不再另行说明。

本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

此外,本发明实施例的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施例的思想,其同样应当视为本发明实施例所公开的内容。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1