基于词向量的汽车故障智能辅助诊断方法和系统与流程

文档序号:16663808发布日期:2019-01-18 23:08阅读:263来源:国知局
基于词向量的汽车故障智能辅助诊断方法和系统与流程

本发明涉及数据处理技术和计算机软件领域,具体地说是一种基于词向量实现汽车故障智能辅助诊断的方法和系统。



背景技术:

随着我国经济实力的不断提升,人民生活水平也不断增加,与之相伴的私家车的保有量辆也屡创新高。通过4s店购买和维修车辆已经是非常普遍的现象。目前客户在4s店购买的汽车出现故障去4s店维修时,4s店维修技工判定故障原因时一般只有两种途径。第一,维修技工凭借个人经验判定故障原因;第二,当维修技工不能凭借个人经验判定故障原因时需要和主机厂技术支持沟通,按照主机厂给的建议排查原因。

虽然上述流程是现在大多数4s店处理车辆故障的方式,但仍然有一些不足:第一,维修技工凭借个人经验判定故障原因需要较好的经验积累,但当维修技工是新人时,凭借个人经验判定故障的能力不足,无法迅速准确的判定故障点;第二由于主机厂的技术支持负责的区域较广,当4s店提出技术支持申请后,主机厂技术支持反馈时间较长,沟通过于耗时。这些情况会严重影响4s店的客户体验。

4s店和主机厂技术支持的沟通记录,主要是汽车故障现象的描述,以及主机厂技术支持诊断结果问答对。这些问答对形成了宝贵的汽车故障诊断数据,但由于这些记录往往是非结构化数据,而且存在大量口语化描述所导致的非规范术语,直接利用这些数据会存在诸多挑战。与此同时求助主机厂技术支持中有大量的重复性工作,这对于宝贵的技术支持资源也是一种浪费。

cn201010183798.x号中国专利申请公开了一种基于数据流的车辆故障诊断方法,首先利用数据流算法,对实时汽车故障数据进行挖掘,获得汽车故障数据流中的有用信息,并将挖掘结果保存在临时汽车故障案例库中,作为汽车故障知识库的来源;然后利用所述临时汽车故障案例库对汽车故障知识库进行更新,通过相似度匹配计算,实现汽车故障知识库的及时更新;再针对新问题的特征,通过检索汽车故障知识库或者临时汽车故障案例库中的知识或者案例,获得与新汽车故障问题具有最相似特征的信息,用来解决诊断问题。

cn201410806492.3号中国专利提供了一种车辆故障分析方法及系统,接收故障发生时车辆输出的所述故障码后,从车辆故障知识库中查询出与所述故障码相匹配的故障分析数据模型,其中所述车辆故障知识库包括多个用于车辆故障分析的故障分析数据模型,通过与所述故障码相匹配的故障分析数据模型得出针对该故障的诊断结果。在车辆发生故障时,只需将故障发生时车辆输出的故障码输入与其相匹配的故障分析数据模型就会得到针对该故障的诊断结果,无需人为判断,降低了车辆故障诊断中的用人风险,实现了对车辆故障的规范化和智能化的诊断。



技术实现要素:

本发明为解决现有的问题,旨在提供一种基于词向量实现汽车故障智能辅助诊断的方法和系统,以实现帮助维修技工更加准确的判定故障原因的同时缩短故障判定时间。

为了达到上述目的,本发明采用的技术方案包括下列步骤:

步骤一,利用4s店和主机厂技术支持的沟通记录,建立故障-故障相关因子字典;

步骤二,获取汽车故障描述;

步骤三,利用词向量模型建立替换词表,对故障描述进行关键词匹配,提取故障描述中跟汽车相关的词语和表达;

步骤四,基于检测结果,结合故障-故障相关因子字典得到故障相关因子对应于故障的相关性打分,计算故障的分数;

步骤五,对故障的分数进行排序,根据排序结果确定故障。

进一步地,步骤一中,所述故障-故障相关因子字典通过以下步骤建立:

对沟通记录根据故障类型进行分类打标签;

利用互信息原理对每条沟通记录进行关键词提取;

利用fp-growth算法计算得到每个故障类别的频繁项集,构建故障-故障相关因子字典。

进一步地,步骤三中,所述替换词表通过以下步骤建立:

获取汽车维修信息训练语料;

对训练语料进行清洗,去掉无意义字符;

进行中文分词,得到训练文本;

对训练文本进行训练,生成词向量嵌入分布式表示模型;

基于词向量嵌入分布式模型,使用距离度量方法建立替换词表;

检测提取出来的词语和表达是否在故障-故障相关因子字典中。

进一步地,步骤四中,基于标准表达,统计故障及相关因子共现的频数,得到故障相关因子和故障的共现频数记录矩阵;

基于故障相关因子和故障的共现频数记录矩阵,使用非线性变换方法,得到故障相关因子对应于故障的相关性打分;

基于故障相关因子对应于故障的相关性的打分,计算故障的分数。

本发明还提供一种基于词向量实现汽车故障智能辅助诊断的系统,包含:

语料获取和存储模块:获取故障描述以及问答记录,并进行存储;

故障-故障相关因子字典模块:用于建立故障-故障相关因子字典;

训练模块:训练词向量嵌入分布式表示模型;

分词匹配模块:用于分词和关键词匹配;

计算排序模块:计算可能故障的分数,根据分数排序输出可能性最高的故障;上述各模块通过总线相互连接,且通过数据交换端口连接若干终端。

和现有技术相比,本发明使用词向量嵌入技术,使得对自然语言的处理能力大大加强,实现了对过往汽车维修沟通记录的有效利用,使得碎片化的自然语言数据变成了可以利用的数值型数据。通过本发明实施例提出的系统,维修人员可以更加快速准确的定位问题原因,节省了维修时间;同时避免了主机厂技术支持人员回答重复的问题,大大减轻了技术支持的压力。

附图说明

图1为本发明实施例中各个模块的结构示意图;

图2为本发明实施例中故障-故障相关因子字典产生原理图;

图3为本发明实施例中替换词表产生原理图;

图4为共现频数记录矩阵。

具体实施方式

现结合附图对本发明作进一步地说明。

本发明实施例的基本思想是词向量嵌入技术,生成对通用维修信息和维修记录、维修沟通记录中故障-故障相关因子的词向量表示,进而实现对故障描述的辅助诊断。

需要说明的术语或定义如下:

故障相关因子:可能导致、帮助判断或含有某种故障信息的各种因子,如故障部位,故障现象等。

词向量嵌入:利用“distributedrepresentation”的方法,将一个词语或短语用低维度(小于1000维)的连续实数向量表示,从而可以用这些向量来区分或者表示这些词语,处理文本分类、关系提取等自然语言处理的任务。

共现频数:在一个语段或者文档中,某几个词语或者概念同时出现被称为一次共现,统计在有代表性的全部文档中的这些词语的出现数目,即共现频数。参见图1-4,本发明实施例提供一种基于词向量实现汽车故障辅助诊断方法,该方法包括以下步骤:

1.利用4s店和主机厂技术支持的沟通记录,建立故障-故障相关因子字典。参见图2,其中故障-故障相关因子字典通过以下步骤建立:

1.1对沟通记录根据故障类型进行分类打标签。

1.2利用互信息原理对每条沟通记录进行关键词提取。

互信息是用于表示两个特征共同出现的程度。当词汇w和类ci总是共同出现,那么它们的互信息度高,词汇w就是ci类文档的一个特征词。

其中,p(w)是在整个训练集中,出现词汇w的文档的概率(用频率代替);p(ci)是在训练集中,属于类ci的文档的概率;p(w,ci)表示在训练集中既出现词汇w又属于类ci的概率。

然而互信息的一个缺点是没有考虑词汇w在某类文档中的词汇频率,因而稀有词汇常常可以有很大的权重。为此我们加入一个控制因子tf(w,ci),它表示词汇w在ci类文章中的词汇频率。

其中,count(w)是词汇w在所有文章中出现的词汇数,count(w|ci)是w在ci类文章中出现的概率。

1.2.1对已打标签的沟通记录数据集分词,去除停用词。

1.2.2根据以上加入控制因子的互信息公式,计算每条记录中的词汇w和类ci的互信息值,设定阈值提取出每个故障类别中每条记录的特征词。

1.3利用fp-growth算法计算得到每个故障类别的频繁项集,构建故障-故障相关因子字典。

fp-growth算法是用于发现频繁项集的算法,它的优点在于只需对数据库扫描两次,因此fp-growth算法运行速度很快。

在1.2步骤中我们已经获得了每条记录的特征词,但对于每个故障类别来说特征词的数量过多,并且其中很多特征词是无用的。因此我们利用fp-growth算法过滤无用特征词,并挖掘出故障类别的频繁项集,构建故障-故障相关因子字典。

2.获取故障描述。

3.利用词向量模型建立替换词表,对故障描述进行关键词匹配,提取故障描述中跟汽车维修相关的词语和表达。

参见图3,其中替换词表通过以下步骤建立:

3.1获取汽车维修信息训练语料;

3.2对训练语料进行清洗,去掉无意义字符。

3.3进行中文分词,得到训练文本。

3.4对训练文本进行训练,生成词向量嵌入分布式表示模型。

本发明实施例使用但不限于mikolovtomasti提出的fasttest开源工具训练生成汽车维修领域的词向量嵌入表示模型,并将其保存在知识库中。

举例来说,在实际应用中,可以使用分词并清洗文本数据训练300维、几十万种表述的词向量,其中部分高频词的向量化表示如下:

<发动机:0.17394,0.470268,-0.008468…共300维>

<变速箱:0.147235,0.278438,-0.474231…共300维>

<异响:0.184674,0.046543,-0.107432…共300维>

<抖动:0.342876,0.327431,-0.006734…共300维>。

3.5基于词向量嵌入分布式模型,使用距离度量方法建立替换词表。具体方式为:对于故障-故障相关因子字典中的每一个元素,使用余弦距离计算,找到词向量词表中距离最近的k个词语或者短语表达方式,记录为故障-故障相关因子字典中元素替换。由此建立异构表达方式到标准表达方法的替换。

下面通过优选实施方式以故障相关因子中有“挂档难”这一项为例来详细说明建立替换词表的过程,其具体包括:步骤a1至步骤a3。

步骤a1:使用余弦距离计算与“挂档难”距离最近的词语或短语表达方式,得到“难挂入”和“不好挂”。其中,距离参数k为2。

步骤a2:记录“挂档难”这一故障相关因子的替换词表中包含“难挂入”和“不好挂”。

步骤a3:利用训练好的汽车维修领域词向量嵌入分布式表示模型,对故障-故障相关因子字典中的每一个元素执行相同的操作,从而得到替换词表。

3.6检测提取出来的词语和表达是否在故障-故障相关因子字典中。若检测到提取出来的词语和表达在故障-故障相关因子字典中,则不进行处理;若未检测到,则根据替换词表,将提取出来的词语和表达归一化到对应的标准表达中,得到标准化故障相关因子。

4.参见图4,基于检测结果,结合根据替换词表得到的故障相关因子对应于故障的相关性进行打分,计算故障的分数。具体包括如下步骤:

4.1基于标准表达,统计故障及相关因子共现的频数,得到故障相关因子和故障的共现频数记录矩阵。

故障-故障相关因子字典中包含两种元素:故障和故障相关因子。举例来说,对于m种故障,定义为{b1、b2、b3、、、bm};对于n种故障相关因子,定义为{f1、f2、f3、、、fn}。nij表示记录频数,将nij初始化为零。在p条问答记录{r1、r2、r3、、、rp}中,如果rs中同时出现了bi和fi,将nij增加1,即某故障和某故障相关因子共现的频数记录一次。

4.2.基于故障相关因子和故障的共现频数记录矩阵,使用非线性变换方法,得到故障相关因子对应于故障的相关性打分。

在某条记录中,已知故障相关因子fj出现,那么出现故障bi的条件概率为:

条件概率虽然能在一定程度上反映故障相关因子到故障的可能性,但容易受到高频常见故障的累积效应影响,导致在记录中出现次数量更高的常见故障获得极高的条件概率。所以最终的打分函数还应包括一个与有关的控制参数。这类似于文档分类领域中使用的逆文档频率思想。

因此,故障相关因子对应于故障的相关性打分可以通过下式确定:

4.3.基于故障相关因子对应于故障的相关性的打分,计算故障的分数。当一条故障描述检测出q个故障相关因子时,如{f1、f2、、、fj、、、fq},对于每一个与故障描述有关的因子fj,利用下式在每个与之相关的故障bi上叠加打分:

5.对故障的分数进行排序,并根据排序结果确定故障。

上面结合附图及实施例描述了本发明的实施方式,实施例给出的并不构成对本发明的限制,本领域内熟练的技术人员可依据需要做出调整,在所附权利要求的范围内做出各种变形或修改均在保护范围内。

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