公开/公告号CN106054858A
专利类型发明专利
公开/公告日2016-10-26
原文格式PDF
申请/专利权人 大连楼兰科技股份有限公司;
申请/专利号CN201610365652.4
申请日2016-05-27
分类号G05B23/02;
代理机构大连智高专利事务所(特殊普通合伙);
代理人李猛
地址 116023 辽宁省大连市高新园区汇贤园7号腾飞园2期11层
入库时间 2023-06-19 00:42:37
法律状态公告日
法律状态信息
法律状态
2019-09-27
授权
授权
2017-03-15
实质审查的生效 IPC(主分类):G05B23/02 申请日:20160527
实质审查的生效
2016-10-26
公开
公开
技术领域
本发明属于信息检索领域,涉及一种用于车辆远程诊断与备件检索的方法
背景技术
目前我国汽车维修行业已经从完全依靠检查者的感觉和实践经验进行诊断的阶段,发展到了利用专门设备进行综合检测诊断阶段,但是在传统汽车维修行业中普遍存在着很多问题,比如维修工人技术老化,经常无法快速、经济地利用各方面的技术力量解决故障;随着汽车保有量的日益增多,汽车后市场各项服务如雨后春笋般大量涌现。那么从车主角度,如何才能更好更全面的了解车况,发生故障时,如何快速获取爱车待解决方案及所需工时及备件相关信息,精准的汽车可穿戴设备对满足车主实时需求是完全必要的。一般的OBD车载设备,只能读取到相关车辆故障信息,不能对故障做出详细解决方案及相关维修人工费、备件费,从而造成车主盲目进店,盲目消费。
发明内容
为了解决车主车辆出现故障时,能够准确和快速匹配该故障码所对应的工项与备件,本发明提出如下技术方案:一种基于决策树分类和故障码分类的车辆远程诊断与备件检索的方法,包括
步骤一.采集车辆信息数据;
步骤二.对故障码识别和分类;
步骤三.解析车辆VIN码得到变量,所述变量包括由VIN码解析得到的发动机排量、车身类型、发动机变速箱类型;
步骤四.对变量所对应的备件代码做决策树分析,完成变量数据归类形成备件信息,并建立索引,形成诊断知识库;
步骤五.创建语言模型,建立细胞词库,在所述细胞词库中切词检索细胞词,并排列所述细胞词,利用决策树模型的决策分类,形成故障码对应工项的诊断数据库;
步骤六.将诊断数据库与诊断知识库关联,并建立主键;
步骤七.对车辆故障生成的故障码识别,并通过关键字解析车辆VIN码得到 的变量以进行分类检索,得到工项及备件信息。
有意效果:本发明可以在获取故障码后,快速找到常见故障的解决方案和对应备件、工项。有效解决技师和备件员的经验局限性问题,从大数据出发,获得故障的解决方案。本发明其具有对故障码识别和分类的步骤,可以在不同车型间的故障码出现差异时,判断其一致性;且,本发明的步骤五构建了一个从故障描述到词向量分解,建立维修细胞词库;通过故障描述在细胞词库的切词检索,依据细胞词权重建立的句法规则,实现从决策过程到决策建议再到维修解决方案的维修决策树,最终实现故障远程诊断。
附图说明
图1为本发明用于车辆远程诊断与备件检索的方法的流程图;
图2为底盘号为LFV5A14B8Y3000001的车辆的VIN号码翻译示意图。
具体实施方式
实施例1:一种基于决策树分类和故障码分类的车辆远程诊断与备件检索的方法,包括
步骤一.采集车辆信息数据;
步骤二.对故障码识别和分类;
步骤三.解析车辆VIN码得到变量,所述变量包括由VIN码解析得到的发动机排量、车身类型、发动机变速箱类型;
步骤四.对变量所对应的备件代码做决策树分析,完成变量数据归类形成备件信息,并建立索引,形成诊断知识库;
步骤五.创建语言模型,建立细胞词库,在所述细胞词库中切词检索细胞词,并排列所述细胞词,利用决策树模型的决策分类,形成故障码对应工项的诊断数据库;
步骤六.将诊断数据库与诊断知识库关联,并建立主键;
步骤七.对车辆故障生成的故障码识别,并通过关键字进行分类检索,得到工项及备件信息。
实施例2:具有与实施例1相同的技术方案,更为具体的,对于实施例1的步骤四来说,
所述步骤四中以维修备件表的历史记录为数据基础,通过决策树模型对备件 做分类,维修备件表样例如表一所示:
表一
决策树模型的基本原理如下:
首先:确定每一维度备件不同分类的熵,以VIN4为例,熵定义为
E=sum(-p(I)*log(p(I)))
其中I=1:N(N类结果,如本例1种,即该备件属于此车型,故概率P(I)=1)
则E(5)=-(1/1)Log2(1/1)-(0/1)Log2(0/1)=0+0=0
E(3)=-(1/1)Log2(1/1)-(0/1)Log2(0/1)=0+0=0
E(4)=-(1/1)Log2(1/1)-(0/1)Log2(0/1)=0+0=0
如果熵为0,则表明区分度越高;熵为1,则表明没有区分度;
故这三个不同的备件代码可以通过VIN4做区分。
确定完每个维度如何分类后,不同维度之间的优先级别通过信息增益区分Gain(Sample,Action)=E(sample)-sum(|Sample(v)|/Sample*E(Sample(v)))则Gain(VIN4)=E(S)-(1/3)*E(5)-(1/3)*E(3)-(1/3)*E(4)=1-0=1Gain(VIN6)=E(S)-(1/3)*E(1)-(2/3)*E(2)=1-0-2/3=1/3Gain(VIN78)=E(S)-(1/3)*E(4B)-(1/3)*E(8K)-(1/3)*E(4F)=1-0=1
如果信息增益越大,则表明分类优先级越高;反之,优先级越低。
所以,底盘号第4位(VIN4)和底盘号78位(VIN78)的分类优先级相同,其次是底盘号第6位(VIN6)。
通过以上关键步骤,可将备件代码按照底盘号第4位(VIN4)、底盘号第6位(VIN6)和底盘号78位(VIN78)区分。
综上所述,备件检索方法的基本步骤是:
将维修备件表同一维度按信息熵做区分;
将维修备件表不同维度按信息增益划分优先级;
按照1、2步划分的优先级和区分程度画出决策树;
输入一个规则的底盘号,系统根据VIN123、VIN4、VIN6、VIN78以及得出的决策树输出该车型下的备件代码。
该备件代码通过关联备件价格表,得到备件的中文名称、价格和现在使用状态以及备件的适用车型信息。
上述技术方案的获得,是在将不同车型、不同排量、不同发动机变速箱类型所对应的备件代码逐一归类进行分析对比后,发现在相同主组号前提下,车型排量等信息不同,所对应的备件代码也不尽相同,为了找寻其中规律,使用了上述方法,以形成较完备且全面的理论知识信息库。
实施例3:具有与实施例1或2相同的技术方案,更为具体的,对于实施例1的步骤五来说,
所述步骤五中的创建语言模型,建立细胞词库包含如下步骤:
S1.1采集专业故障描述语言;
S1.2对所述专业故障描述语言进行词向量分解。
所述语言模型的创建基于第n个所述细胞词的出现只与前面n-1个所述细胞词相关的假设;所述一故障描述语句T出现权重的计算公式为:
P(T)=P(w1,w2,w3,…,wn)
=P(w1)×P(w2|w1)×P(w3|w1,w2)×…×P(wn|w1,w2,…,wn-1)
≈P(w1)×P(w2|w1)×P(w3|w2)…P(wn|wn-1);
其中,P(T)为所述故障描述语句T的权重,P(wn|w1,w2,…,wn-1)为第n个所述细胞词的权重。
所述步骤五中的细胞词库中切词检索细胞词,并排列所述细胞词的步骤是:
S2.1针对所述一故障描述语句T在所述细胞词库中进行切词检索;
S2.2若检索到所述细胞词,计算所述细胞词的权重;
S2.3按照所述细胞词权重的大小排列所述细胞词。
S2.4若没有检索到所述细胞词,则将此次未检索到的所述细胞词存入新增细胞词库。
所述S2.2步骤中所述细胞词权重的计算方法为:
S2.2.1计算每个所述细胞词的卡方统计量;
S2.2.2取所述卡方统计量分值最高的第i个细胞词,计算所述第i个细胞词在第j个故障描述中出现的次数;所述S2.2.1步骤所述卡方统计量分值的计算方法为:
weight=round((10×(1+lg(tfij))/(1+lg(lj))),n);
其中tfij为第i个细胞词在第j个故障描述中出现的次数,lj为第j个故障描述的长度,n为3-6的整数。
利用决策树模型的决策分类,形成故障码对应工项的诊断数据库,该步骤中,还包括结合元器件测量值给出维修解决方案(工项)。
更为具体的,
本实施例通过将自然语言数字化达成将自然语言理解的问题转化为机器自学习的问题。
(1)构建基础语料库
创建基础语料库的方法为给定一个字符串,它的自然语言的概率是P(w1,w2,w3,…,wn),w1到wn依次是这句话的各个细胞词。
模型基于这样一种假设,第n个词的出现只与前面n-1个词相关,而与其它任何词都不相关,整句的概率就是各个分词出现概率的乘积。
对于一个故障描述T,它的概率计算公式为:
P(T)=P(w1,w2,w3,…,wn)
=P(w1)×P(w2|w1)×P(w3|w1,w2)×…×P(wn|w1,w2,…,wn-1)
≈P(w1)×P(w2|w1)×P(w3|w2)…P(wn|wn-1)
(2)词向量分解:词向量为切分成若干个细胞词后的语句。每个故障描述T都可表示成n维的词向量,T=(w1,w2,...,wn),其中w1到wn为各个词向量中包含的各个细胞词。
以汽车故障为例:
故障描述为:
P0021 A凸轮轴位置(气缸列2)-正时过度超前
以词向量表示上述故障描述语句,上述故障描述语句可以用词向量(w1,w2,w3,…,wn)。其中,w1为凸轮轴,w2为位置,w3为气缸,w4为正时,w5为过>i表示第i个特征项。
算出各个细胞词的卡方统计量,然后在训练集中取分值最高的第i个细胞词作为代表词,从而找出与词向量(w1,w2,w3,…,wn)相关性最小的细胞词。
wi的权重的计算公式为:
weight=round((10×(1+lg(tfij))/(1+lg(lj))),3);
其中tfij为第i个词向量在第j个故障描述中出现的次数,lj为第j个故障描述的长度。Round函数四舍五入到指定的小数位,在上式中为小数点后第三位。
计算权重之后的故障描述词向量的特征表述为:
(1)检索排列细胞词:
如图1所示,当用户输入故障描述T后,首先对故障描述T进行词向量分解将完整语句切分成多个细胞词的组合。然后针对各个细胞词,在细胞词库中进行切词检索。如果检索到了,则计算该细胞词的权重;如果没有检索到,则将此次未检索到的细胞词存入新增行业细胞词库,再针对剩余细胞词进行检索,计算其概率。
根据在细胞词库中检索到的各个细胞词并计算权重,按照权重从大到小排列细胞词。
(2)分析结果:
以汽车故障为例:
故障描述为:
P0021 A凸轮轴位置(气缸列2)-正时过度超前
在细胞词库中检索到的各个细胞词并计算权重,按照权重从大到小排列细 胞词:
(3)使用判别分析法:
故障描述T的词向量序列为T=(w1,w2,w3,...,wn),故障描述T中每个细胞词计算权重后的序列为S=(s1,s2,s3,...,sn)。词向量分类匹配最大概率的计算公式为:W=argmaxP(S|T)。
按照词向量分类匹配最大概率从高到低排列的句法规则进行分级:
(4)决策树分析
根据上述句法规则针对细胞词分级的结果建立决策树。
分类模型1
如图2所示,凸轮轴为一级,位置、转换、调节为二级,传感器、促动器、 响应、正时、排气为三级。相对应的解决方案分别是:传感器对应凸轮轴位置传感器、发动机线束和发动机控制单元,促动器对应发动机线束、发动机控制单元和凸轮轴调节器,正时对应发动机线束、发动机控制单元、凸轮轴调节器、凸轮轴张紧器和正时链条,以此类推。粗箭头指向的解决方案表示需要更换此配件的概率远大于更换其他细箭头指向的配件的概率,此概率为根据大量维修数据而预先设定入决策树模型中的。因此,通过对故障描述“凸轮轴位置(气缸列2)-正时过度超前”进行词向量分解并在细胞词库中进行检索,得到凸轮轴、位置和正时三个细胞词,经计算细胞词权重并根据句法规则对细胞词进行排列得出凸轮轴位于一级,位置位于二级,正时位于三级。经过决策树模型的决策分类,得出最有可能的维修解决方案为更换或维修凸轮轴张紧器。
分类模型2
对故障描述语句“凸轮轴位置传感器=>传感器不可信信号”进行词向量分解并在细胞词库中检索,得到凸轮轴、位置、传感器三个细胞词。针对三个细胞词计算细胞词权重并根据句法规则对细胞词进行排列得出凸轮轴位于一级,位置位于二级,传感器位于三级。再结合元器件测量值,判断需要更换的配件。首先检查电线插头有无接触不良,针头弯曲。如果是,则需要更换电线插头。如果否,则进入下一级决策树,检查凸轮轴传感器电压供应是否在4.5-5.5V之间。如果是则检查发动机控制单元的信号电压,是否在4.5-5.5V之间。如果否则需要更换发动机线束。以此类推,经过决策树模型的决策分类结合元器件测量值,给出维修解决方案。
本实施例可以远程并快速地识别设备的故障,准确的给出有效维修解决方案。检测标准统一,避免由于人工判断带来的误差。并且节省了大量人力物力。
实施例四:具有与实施例1或2或3相同的技术方案,更为具体的,对于实施例1的步骤二来说,
所述对故障码识别和分类的方法,包括:
首先利用训练数据集构建朴素贝叶斯分类器,具体步骤为:
S1:对训练集中的故障码进行人工分类,人工分类后的类别集为c:
c={c1,c2,…,ci,…,cn};
S2:将每个类别中的故障码进行分词并计算每个词的TF-IDF权重值;
TFi为特征词i的词频;wi为特征词i在所有故障码中出现的次数,∑jwj表示故障码中所有特征词的出现次数总和;
IDFi为特征词i的逆向文件频率;E为语料库中故障码的总数,{k:wi∈ek}表示包含特征词i的故障码数;
TF-IDF权重值为:TF-IDF=TF×IDF,也就是是词频与逆向文件频率的乘积;
S3:根据TF-IDF权重值筛选出特征词并建立特征词库,将故障码e定义成若干个特征词的集合:
e={w1,w2,…,wn}
S4:分别计算每个类别中特征词在该类别条件下的条件概率,依据贝叶斯定理计算出某个故障码e属于ci类故障的概率,具体公式如下:
P(ci|e)=[P(e|ci)P(ci)]/P(e)
其中,P(e)为从故障码空间中随机抽取一个故障码e的概率;P(ci)为一个故障码类别ci在故障码空间所占比率;P(e|ci)为对于给定的故障码类别ci中故障码e的出现概率;
对于每个故障码类别而言,从故障码空间中随机抽取一个故障码的概率都是一样的,因此P(e)可以忽略不予计算,这样公式(1)就可以写成如下形式:
P(ci|e)∝P(e|ci)P(ci)
计算某个故障码在每个分类中概率,取拥有最大概率值的类别为该故障码的分类结果,具体为:
G(e)≡argmax{P(e|ci)P(ci)}。
S5:构建朴素贝叶斯分类器。
然后对新故障码进行具体分类,具体为:
更具体的,对新故障码进行具体分类,设在类别i中的故障码为ei,同时还有个待匹配的故障码enew,它们的分词情况如下:
ei={w1,w2,w3,w4}
enew={w2,w3,w5}
步骤1:由这两组的特征词集合构成一个向量空间:
步骤2:结合向量空间,分别得到两个故障码的词向量值:
步骤3:利用余弦相似度计算两个故障码近似情况,具体公式如下:
步骤4:如果所计算的相似度值大于80%,则可以判断这两个故障码是相同的;如果所计算的相似度值小于阈值,则继续与已知故障码库中的其他类别故障码进行余弦相似度计算。
采用以上技术方法,能够取得如下的技术效果:准确地自动分类不同车型的故障码,将数以亿级的故障码进行收敛,实现不同车厂车型间故障问题、解决方案的探索。能节省大量的劳动力,缩短工作周期,降低成本。
以上所述,仅为本发明创造较佳的具体实施方式,但本发明创造的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明创造披露的技术范围内,根据本发明创造的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明创造的保护范围之内。
机译: 数据挖掘方法和系统,用于基于最小描述长度和记录预排序为数据记录生成决策树分类器
机译: 基于诊断故障码的车辆服务预约的方法和系统
机译: 基于诊断故障码的车辆服务指定方法和系统