基于特征提取和相似度计算的车辆故障问答方法及装置与流程

文档序号:11286528阅读:289来源:国知局
基于特征提取和相似度计算的车辆故障问答方法及装置与流程
本发明涉及车辆领域,具体地,涉及一种车辆故障问答方法及装置。
背景技术
:在问答系统当中,问句分析是非常关键的一步,正确的分析出问句所表示的意图和内容,是问答系统后续精确处理的前提。目前人机交互问答系统中,对两个问句相似度进行计算时,采用分析句法的方法,从句子钟提取主谓宾。除此之外,也有依据概率统计的方式,通过大量的语料训练,得到句子的相似度计算结果。还有一些方法,直接通过计算两句话中出现相同词语的个数来判断句子相似度。但是,语言的表述是复杂的,同一个意思可以有不同的描述方式,使用的词汇也不一样,因此,从问句中提取主谓宾的方式效果并不理想。此外,不同的领域,用户使用的词汇也不一样,汽车行业出现的词多与汽车相关,医疗行业使用的词围绕医疗展开,因此,基于统计的方法,具有领域局限性,需要大量的相关语料作为训练基础才行。并且不同的行业领域,问句的分析也不尽相同。技术实现要素:本发明实施例的目的是提供一种车辆故障问答方法及装置,用于解决或至少部分解决上述技术问题。为了实现上述目的,本发明实施例提供一种车辆故障问答方法,该方法包括:接收用户所提出的故障问题;从所述故障问题提取出多个特征信息,所述多个特征信息征信息至少包括故障部件名称和故障现象;根据所述特征信息从数据库中筛选出与所述用户所提出的故障问题相匹配的故障问题,所述数据库包括一个或多个故障问题及所述一个或多个故障问题中的每一个故障问题对应的解决方案;以及输出与所述用户所提出的故障问题相匹配的故障问题的解决方案。可选地,所述从数据库中筛选出与所述用户所提出的故障问题相匹配的故障问题包括:从所述数据库中筛选出包含所述多个特征信息中的每一个特征信息的故障问题;在所筛选出的故障问题的个数只有一个的情况下,将所筛选出的故障问题确定为与所述用户所提出的故障问题相匹配的故障问题。可选地,所述方法还包括:在所筛选出的故障问题的个数多于一个的情况下,计算所筛选出的故障问题中除所述多个特征信息之外的其它特征信息中的每个特征信息的熵;以及根据所述其它特征信息中的每个特征信息的熵的高低顺序通过询问用户来从所筛选的故障问题中筛选出与所述用户所提出的故障问题相匹配的故障问题。可选地,针对所述其它特征信息中的一个特征信息,根据以下公式来计算所述熵:其中,feature_entropy表示所述熵,count(records)表示所筛选出的故障问题中故障问题的个数,distinct_count(feature_value)表示所筛选出的故障问题中故障问题中的所述其它特征信息中的所述一个特征信息的种类数。可选地,所述特征信息还包括以下中的一者或多者:车辆品牌、车辆型号、灯类部件、操作信息、声音现象、发动机温度、行驶状态、转向方式、车速、发动机转速、挡位、天气及路况。可选地,所述对所述故障问题进行特征信息提取包括:根据分类模型对所述故障问题进行特征信息提取,所述分类模型包括以下中的一者或多者:部件分类模型、故障现象分类模型、车辆品牌分类模型、车辆型号分类模型。可选地,所述对所述故障问题进行特征信息提取包括:利用正则表达式对所述故障问题进行特征信息提取。相应地,本发明实施例还提供一种车辆故障问答装置,所述装置包括:接收模块,用于接收用户所提出的故障问题;提取模块,用于从所述故障问题提取出多个特征信息,所述多个特征信息征信息至少包括故障部件名称和故障现象;筛选模块,用于根据所述特征信息从数据库中筛选出与所述用户所提出的故障问题相匹配的故障问题,所述数据库包括一个或多个故障问题及所述一个或多个故障问题中的每一个故障问题对应的解决方案;输出模块,用于输出与所述用户所提出的故障问题相匹配的故障问题的解决方案。可选地,所述筛选模块包括:第一筛选单元,用于从所述数据库中筛选出包含所述多个特征信息中的每一个特征信息的故障问题;确定单元,在所筛选出的故障问题的个数只有一个的情况下,将所筛选出的故障问题确定为与所述用户所提出的故障问题相匹配的故障问题。可选地,所述筛选模块还包括:计算单元,用于在所筛选出的故障问题的个数多于一个的情况下,计算所筛选出的故障问题中除所述多个特征信息之外的其它特征信息中的每个特征信息的熵;以及第二筛选单元,用于根据所述其它特征信息中的每个特征信息的熵的高低顺序通过询问用户来从所筛选的故障问题中筛选出与所述用户所提出的故障问题相匹配的故障问题。可选地,所述计算单元针对所述其它特征信息中的一个特征信息,根据以下公式来计算所述熵:其中,feature_entropy表示所述熵,count(records)表示所筛选出的故障问题中故障问题的个数,distinct_count(feature_value)表示所筛选出的故障问题中故障问题中的所述其它特征信息中的所述一个特征信息的种类数。可选地,所述特征信息还包括以下中的一者或多者:车辆品牌、车辆型号、灯类部件、操作信息、声音现象、发动机温度、行驶状态、转向方式、车速、发动机转速、挡位、天气及路况。可选地,所述提取模块根据分类模型对所述故障问题进行特征信息提取,所述分类模型包括以下中的一者或多者:部件分类模型、故障现象分类模型、车辆品牌分类模型、车辆型号分类模型。可选地,所述提取模块利用正则表达式对所述故障问题进行特征信息提取。相应地,本发明实施例还提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于在被机器执行时使得所述机器执行上述的方法。通过上述技术方案,通过从用户提出的故障问题中提取出特征信息,然后根据该特征信息从数据库中筛选出与所述用户所提出的故障问题相匹配的故障问题,然后向用户输出与所述用户所提出的故障问题相匹配的故障问题的解决方案,通过结合汽车行业的特点,利用特定场景下问题焦点的范围有限性,在数据量有限的情况下,能够取得较高的问题匹配准确性,进而向用户提供更准确的解决方案。本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:图1示出根据本发明实施例提供的车辆故障问答方法的流程示意图;图2示出了从数据库中筛选出与用户所提出的故障问题相匹配的故障问题的流程示意图;以及图3示出了本发明实施例提供的车辆故障问答装置的结构框图。具体实施方式以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。图1示出根据本发明实施例提供的车辆故障问答方法的流程示意图。如图1所示,本发明实施例提供一种车辆故障问答方法,该方法适用于车辆领域,用于为用户解答关于车辆故障的各类问题,具体地,所述方法可以包括以下步骤:步骤s10,接收用户所提出的故障问题。例如,所述方法可以接收用户通过麦克风所提出的问题。步骤s20,从所述故障问题提取出多个特征信息,所述多个特征信息征信息至少包括故障部件名称和故障现象。实际中,用户所提出的故障问题中可能会缺少某个特征信息,例如,可能部件名称或缺少故障现象,此时,可以通过询问用户来进一步完善用户的故障问题,例如,可以向用户发出类似于“具体故障部件是哪”的问题,在接收到用户的进一步反馈之后,可以从用户的进一步反馈中提取所缺少的故障部件名称。或者可以将用户的进一步反馈和用户先前提出的故障问题进行合并,从合并后的信息中提取所述特征信息。步骤s30,根据所述特征信息从数据库中筛选出与所述用户所提出的故障问题相匹配的故障问题,所述数据库包括一个或多个故障问题及所述一个或多个故障问题中的每一个故障问题对应的解决方案。实际使用中,对于数据库的建立,可以从汽修厂、4s店获取故障类问题的数据,其中故障类问题的数据可以包括各个部件故障后产生的故障现象及其解决方案。此外,也可以通过网络抓取或者专家经验数据来获得故障类问题的数据。然后可以对所获得的故障类数据进行整理,得到关于车辆故障的数据库,该数据库可以包括一个或多个故障问题以及与该一个或多个故障问题中的每一个故障问题所对应的解决方案。步骤s40,输出与所述用户所提出的故障问题相匹配的故障问题的解决方案。在确定出与所述用户所提出的故障问题相匹配的故障问题之后,可以将数据库中该最匹配的故障问题所对应的解决方案作为用户所提出的故障问题的解决方案而进行输出。例如,可以将所述解决方案转换成语音和/或文字输出,以方便用户读取。本发明实施例提供的故障问答方法通过从用户提出的故障问题中提取出特征信息,然后根据该特征信息从数据库中筛选出与所述用户所提出的故障问题相匹配的故障问题,然后向用户输出与所述用户所提出的故障问题相匹配的故障问题的解决方案,通过结合汽车行业的特点,利用特定场景下问题焦点的范围有限性,在数据量有限的情况下,能够取得较高的问题匹配准确性,进而向用户提供更准确的解决方案。通过大量的汽车问答语料进行调研,结合汽车专家工程师人工梳理和机器学习自动特征提取的方法,可以确定出用户提出的故障问题除可能包括故障部件名称和故障现象之外,还可能包括以下13个特征信息中的一个或多个:车辆品牌、车辆型号、灯类部件、操作信息、声音现象、发动机温度、行驶状态、转向方式、车速、发动机转速、挡位、天气及路况。举例说明,当用户问到:“雨天在高速上,雨刷器哒哒响,怎么回事?”可知这句话用户想表达的意图是“雨刷异响的原因是什么”,涉及到特征信息是:故障部件为“雨刷器”、故障现象为“哒哒响”、天气为“雨天”、行驶状态是“高速行驶”、操作信息是“打开雨刷器”。进一步地,对于故障部件、故障现象、车辆品牌及车辆型号这些特征信息的提取,可以根据分类模型来对用户提出的所述故障问题进行特征信息提取,所述分类模型包括以下中的一者或多者:部件分类模型、故障现象分类模型、车辆品牌分类模型、车辆型号分类模型。其中,可以使用svm(supportvectormachine,支持向量机)机器学习分类器来建立上述各模型。具体地,可以首先准备问句样本,然后对所准备的问句样本进行人工分类标注,将标注后的语句样本作为svm机器学习分类器的训练集,从而得到上述各分类模型。以建立部件分类模型为例,首先对收集的问句样本进行人工标注,标注示例如下所示:方向盘\做完四轮定位方向盘变轻车\做完四轮定轮后车身发飘车\做了动平衡后,方向反而跑偏了座椅\座椅无法调到最前面座椅\座椅调整困难灯\左转向灯常亮右前轮\左转弯右前轮嗡嗡异响右前轮\左转弯右前轮咕噜异响左后减震\左转弯时左后减震咯吱异响上述标注示例中,“\”左侧是标注的类别,“\”右侧是问句样本。将标注后的问句样本输入给svm机器学习,经过训练,可得到部件分类的模型。类似地,也可以相同的方式建立故障现象分类模型、车辆品牌分类模型以及车辆型号分类模型。在接收到用户提出的故障问题之后,可以将该故障问题作为部件分类模型的输入,部件分类模型的输出就是用户提出的故障问题所涉及的故障部件名称。可以理解,本发明实施例并不限于使用svm机器学习分类器,也可以使用分类算法来进行上述分类学习,例如可以使用决策树算法、神经网络算法、贝叶斯算法、深度学习算法等。经过测试,通过所建立的分类模型来对所述故障问题进行特征信息提取的准确度如表1所示:表1特征信息车辆品牌车辆型号故障部件故障现象准确度99%98%98%92%从表1中可以看出,分类模型来对特征信息提取的提供了非常高的准确度。进一步地,对除故障部件、故障现象、车辆品牌及车辆型号之外的其它特征信息的提取可以利用正则表达式进行提取。通过对大量的故障问题进行分析,可知除故障部件、故障现象、车辆品牌及车辆型号之外的其它特征信息基本上具有相对固定的结构,因此可以采用正则表达式的方式进行提取。以天气特征的提取为例,所使用的正则模板可以如下所示:pattern=“下(雨|雪)|(雨|雪|春|夏|秋|冬|冷)(天|季)|暴晒|(夜)?晚(上)?|天(冷|凉)”。例如,如果用户所提出的故障问题是“冬季启动时发动机加不上油熄火”,通过使用上述正则模板进行特征信息提取可以得到天气为“冬季”。经过测试,通过正则表达式来对所述故障问题进行特征信息提取的准确度如表2所示,从表2中可以看出,正则表达式对特征信息提取的提供了非常高的准确度。表2图2示出了从数据库中筛选出与用户所提出的故障问题相匹配的故障问题的流程示意图。如图2所示,针对图1中的步骤s30,从数据库中筛选出与用户所提出的故障问题相匹配的故障问题可以包括以下步骤:步骤s31,从所述数据库中筛选出包含所述多个特征信息中的每一个特征信息的故障问题。具体地,可以首先使用故障部件名称和故障现象这两个特征信息从数据库中筛选出一组相似问题,这一组相似问题中均包含有从用户提出的故障问题中提取的故障部件名称和故障现象。然后使用从用户提出的故障问题中提取的除故障部件名称和故障现象之外的其它特征信息对上述一组相似问题进行进一步筛选,所筛选出的故障问题可以包含从用户提出的故障问题中提取的所有特征信息。步骤s32,判断所筛选出的故障问题的个数是否多于一个。步骤s33,在所筛选出的故障问题的个数只有一个的情况下,可以将所筛选出的故障问题确定为与所述用户所提出的故障问题相匹配的故障问题。步骤s34,在所筛选出的故障问题的个数多于一个的情况下,计算所筛选出的故障问题中除所述多个特征信息之外的其它特征信息中的每个特征信息的熵。用户提出的问题中一般不会包含上文所述的所有15个特征信息,经过统计,可以确定出用户提出的问题中可能平均包含4个特征信息。以用户提出的问题中包含故障部件、故障现象、车速以及天气这4个特征信息。假设经过上述步骤s31之后,从数据库中筛选出5个故障问题,该5个故障问题中的每一个故障问题均包含上述4个特征信息。此时,可以通过计算这5个故障问题中的除上述4个特征信息之外的其它特征信息的熵。熵是表示事件混杂度的一个概念,在本发明实施例中,熵用来表示特征信息对数据筛选的可区分程度。可选地,针对所述其它特征信息的每一个特征信息,可以根据以下公式来计算熵:其中,feature_entropy表示所述熵,count(records)表示所筛选出的故障问题中故障问题的个数,distinct_count(feature_value)表示所筛选出的故障问题中故障问题中的所述其它特征信息中的所述一个特征信息的种类数。本发明实施例中,默认不包含特征信息也为一个种类。以计算转向方式的熵为例对上述熵的计算进行详细描述,假设所筛选出的5个故障问题中有3个故障问题包含左转向,有2个故障问题包含右转向,则可以确定所述5个故障问题中包含两种转向方式,则利用公式(1)可以计算出5个故障问题中转向方式的熵为2/5。类似地,计算5个故障问题中的挡位的熵,假设所筛选出的5个故障问题中有1个故障问题包含1挡、2个故障问题包含2挡、1个故障问题包含3挡、1个故障问题不包含挡位,则可以确定所述5个故障问题中包含4种挡位,则利用公式(1)可以计算出5个故障问题中挡位的熵为4/5。类似地,可以计算出5个故障问题包含的除故障部件、故障现象、车速以及天气这4个特征信息之外的其它特征信息中的每一个特征信息的熵。步骤s35,根据所述其它特征信息中的每个特征信息的熵的高低顺序通过询问用户来从所筛选的故障问题中筛选出与所述用户所提出的故障问题相匹配的故障问题。所计算出的熵的值越大,则对应的特征信息对筛选就越有帮助。例如,基于步骤s34中的举例,挡位的熵高于转向方式的熵,因此首先使用挡位来对所筛选的故障问题进行筛选,具体地,可以询问用户“车辆是在处于哪一挡位时出现故障问题”的类似问题,如果用户所反馈的挡位是3挡,则使用3挡对5个故障问题筛选后,仅剩余一个故障问题,那么剩余的这一个故障问题可以作为与所述用户所提出的故障问题相匹配的故障问题。如果用户所反馈的挡位是2挡,则使用2挡对5个故障问题筛选后,剩余2个故障问题,则继续使用转向方式来对故障问题进行筛选,具体地,可以询问用户“车辆是在左转向还是右转向时出现故障问题”,根据用户的进一步反馈来对故障问题进行筛选,类似地,依次根据所计算出的特征信息的熵的高低顺序来对故障问题进行筛选,知道仅剩余一个故障问题,则将该一个故障问题确定为与所述用户所提出的故障问题相匹配的故障问题。然后,从数据库中查找出该筛选出的故障问题的答案进行输出即可。本发明是是提供的车辆故障问答方法,针对汽车故障问答,能够取得非常好的效果,其输出答案的准确度可以达到92%及以上,完全可以满足应用求。图3示出了本发明实施例提供的车辆故障问答装置的结构框图。如图3所示,本发明实施例还提供一种车辆故障问答装置,该装置可以包括:接收模块41,用于接收用户所提出的故障问题;提取模块42,用于从所述故障问题提取出多个特征信息,所述多个特征信息征信息至少包括故障部件名称和故障现象;筛选模块43,用于根据所述特征信息从数据库中筛选出与所述用户所提出的故障问题相匹配的故障问题,所述数据库包括一个或多个故障问题及所述一个或多个故障问题中的每一个故障问题对应的解决方案;输出模块44,用于输出与所述用户所提出的故障问题相匹配的故障问题的解决方案。根据特征信息从数据库中筛选出与所述用户所提出的故障问题相匹配的故障问题,然后向用户输出与所述用户所提出的故障问题相匹配的故障问题的解决方案,通过结合汽车行业的特点,利用特定场景下问题焦点的范围有限性,在数据量有限的情况下,能够取得较高的问题匹配准确性,进而向用户提供更准确的解决方案。本发明实施例提供的车辆故障问答装置的具体工作原理和益处以上述本发明实施例提供的车辆故障问答方法的具体工作原理和益处相似,这里将不再赘述。相应地,本发明实施例还提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于在被机器执行时使得所述机器执行上述的车辆故障问答方法。以上结合附图详细描述了本发明例的可选实施方式,但是,本发明实施例并不限于上述实施方式中的具体细节,在本发明实施例的技术构思范围内,可以对本发明实施例的技术方案进行多种简单变型,这些简单变型均属于本发明实施例的保护范围。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施例对各种可能的组合方式不再另行说明。本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。此外,本发明实施例的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施例的思想,其同样应当视为本发明实施例所公开的内容。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1