故障碼識別和分類的方法
【專利摘要】故障碼識別和分類的方法,包括:首先利用訓練數(shù)據(jù)集構(gòu)建樸素貝葉斯分類器:對訓練集中的故障碼進行人工分類;將每個類別中的故障碼進行分詞并計算每個詞的TF?IDF權重值;根據(jù)TF?IDF權重值篩選出特征詞并建立特征詞庫;分別計算每個類別中特征詞在該類別條件下的條件概率;構(gòu)建樸素貝葉斯分類器。本發(fā)明準確地自動分類不同車型的故障碼,將數(shù)以億級的故障碼進行收斂,實現(xiàn)不同車廠車型間故障問題、解決方案的探索。
【專利說明】
故障碼識別和分類的方法
技術領域
[0001] 本發(fā)明屬于車輛故障碼領域,具體說是一種基于樸素貝葉斯和余弦相似度的故障 碼分類方法。
【背景技術】
[0002] 關于故障碼的編碼方式主要有兩類:(1)共有協(xié)議故障碼,其中OBD碼的顯著特征 是由一個大寫字母和4位數(shù)字組成;(2)私有協(xié)議故障碼,一般由生產(chǎn)廠商定義的故障碼和 故障描述組成;對于OBD故障碼,即使不同車廠車型的故障描述的表達方式不同,但也可以 通過OBD碼來判斷某個故障碼分屬哪一類。
[0003] 然而,當遇到私有協(xié)議故障碼時,最大的困難是:不同車型間的故障碼描述出現(xiàn)差 異時,該如何判斷它們的一致性,即故障描述的是相同內(nèi)容,以及判斷私有協(xié)議與共有協(xié)議 故障碼之間的一致性問題。目前,解決此類問題的主要手段是人工地逐條判斷。它的優(yōu)點是 判斷準確。缺點是造成大量的人力和財力的浪費,并且耗時長。因此,亟需一種基于文本挖 掘和語義理解的故障識別與分類模型,用于故障的一致性判斷。
【發(fā)明內(nèi)容】
[0004] 針對現(xiàn)有技術存在的上述問題,本發(fā)明提出了一種故障碼識別和分類的方法,采 用樸素貝葉斯分類器和文本余弦相似度等技術,能自動地判斷某故障碼是否可識別并進行 準確的分類。
[0005] -方面,本發(fā)明提供了故障碼識別和分類的方法,包括:
[0006] 首先利用訓練數(shù)據(jù)集構(gòu)建樸素貝葉斯分類器;
[0007] 然后對新故障碼進行具體分類。
[0008] 具體的,構(gòu)建樸素貝葉斯分類器的步驟為:
[0009] SI:對訓練集中的故障碼進行人工分類;
[0010] S2:將每個類別中的故障碼進行分詞并計算每個詞的TF-IDF權重值;
[0011] S3:根據(jù)TF-IDF權重值篩選出特征詞并建立特征詞庫;
[0012] S4:分別計算每個類別中特征詞在該類別條件下的條件概率;
[0013] S5:構(gòu)建樸素貝葉斯分類器。
[0014] 具體的,步驟S2中A為特征詞i的詞頻;^為特征詞i在所有故障
J 碼中出現(xiàn)的次數(shù),表示故障碼中所有特征詞的出現(xiàn)次數(shù)總和。
[0015] 具體的,步驟S2中隹
IDFi為特征詞i的逆向文件 頻率;E為語料庫中故障碼的總數(shù),{k:Wleek}表示包含特征詞i的故障碼數(shù)。
[0016] 具體的,步驟S2中的TF-IDF權重值為:
[0017] TF-IDF = TFX IDF
[0018] TF-IDF權重值是詞頻與逆向文件頻率的乘積。
[0019] 具體的,步驟Sl故障碼進行人工分類后的類別集為c:
[0020] c={ci,C2,.",Ci,.",cn}〇
[0021 ]具體的,將故障碼e定義成若干個特征詞的集合:
[0022] e = {wi,W2,.",wn}。
[0023] 具體的,依據(jù)貝葉斯定理計算出某個故障碼e屬于Cl類故障的概率,具體公式如 下:
[0024] P(ci I e) °cP(e I Ci)P(Ci)
[0025] 其中,P(C1)為一個故障碼類別Cl在故障碼空間所占比率;P(e I Cl)為對于給定的故 障碼類別(^中故障碼e的出現(xiàn)概率;計算某個故障碼在每個分類中概率,取擁有最大概率值 的類別為該故障碼的分類結(jié)果,具體為:
[0026] G(e) =argmax{P(e | Ci)P(ci)} 〇
[0027] 更具體的,對新故障碼進行具體分類,設在類別i中的故障碼為ei,同時還有個待 匹配的故障碼enew:
[0028] 步驟1:由這兩組的特征詞集合構(gòu)成一個向量空間:
[0029] 步驟2:結(jié)合向量空間,分別得到兩個故障碼的詞向量值:
[0030] 步驟3:利用余弦相似度計算兩個故障碼近似情況;
[0031] 步驟4:如果所計算的相似度值大于閾值,則可以判斷這兩個故障碼是相同的;如 果所計算的相似度值小于閾值,則繼續(xù)與已知故障碼庫中的其他類別故障碼進行余弦相似 度計算。
[0032] 更具體的,步驟S3中判斷兩個故障碼近似情況,具體公式如下:
[0033]
[0034] 本發(fā)明由于采用以上技術方法,能夠取得如下的技術效果:準確地自動分類不同 車型的故障碼,將數(shù)以億級的故障碼進行收斂,實現(xiàn)不同車廠車型間故障問題、解決方案的 探索。能節(jié)省大量的勞動力,縮短工作周期,降低成本。
【附圖說明】
[0035]為了更清楚的說明本發(fā)明的實施例或現(xiàn)有技術的技術方案,下面將對實施例或現(xiàn) 有技術描述中所需要使用的附圖做一簡單地介紹,顯而易見地,下面描述中的附圖僅僅是 本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可 以根據(jù)這些附圖獲得其他的附圖。
[0036] 圖1為構(gòu)建樸素貝葉斯分類器方法流程圖;
[0037] 圖2為對新故障碼進行具體分類流程圖。
【具體實施方式】
[0038]為使本發(fā)明的實施例的目的、技術方案和優(yōu)點更加清楚,下面結(jié)合本發(fā)明實施例 中的附圖,對本發(fā)明實施例中的技術方案進行清楚完整的描述:
[0039] 實施例1
[0040] 故障碼識別和分類的方法,包括:
[0041] 首先利用訓練數(shù)據(jù)集構(gòu)建樸素貝葉斯分類器,具體步驟為:
[0042] SI:對訓練集中的故障碼進行人工分類,人工分類后的類別集為c:
[0043] C= {ci,C2,…,Ci,…,cn};
[0044] S2:將每個類別中的故障碼進行分詞并計算每個詞的TF-IDF權重值;
[0045]
[0046] TF1S特征詞i的詞頻;^為特征詞i在所有故障碼中出現(xiàn)的次數(shù),表示故障碼 中所有特征詞的出現(xiàn)次數(shù)總和;
[0047]
[0048] IDFi為特征詞i的逆向文件頻率;E為語料庫中故障碼的總數(shù),{k:Wi e 表示包含 特征詞i的故障碼數(shù);
[0049] TF-IDF權重值為:TF-IDF = TF X IDF,也就是是詞頻與逆向文件頻率的乘積;
[0050] S3:根據(jù)TF-IDF權重值篩選出特征詞并建立特征詞庫,將故障碼e定義成若干個特 征詞的集合:
[0051] e = {wi,W2,…,wn}
[0052] S4:分別計算每個類別中特征詞在該類別條件下的條件概率,依據(jù)貝葉斯定理計 算出某個故障碼e屬于C1類故障的概率,具體公式如下:
[0053] P(Ci|e) = [P(e|ci)P(ci)]/P(e)
[0054] 其中,P(e)為從故障碼空間中隨機抽取一個故障碼e的概率;P(C1)為一個故障碼 類別C1在故障碼空間所占比率;P(e Ic1)為對于給定的故障碼類別(^中故障碼e的出現(xiàn)概率;
[0055] 對于每個故障碼類別而言,從故障碼空間中隨機抽取一個故障碼的概率都是一樣 的,因此P(e)可以忽略不予計算,這樣公式(1)就可以寫成如下形式:
[0056] P(ci I e) °cP(e I Ci)P(Ci)
[0057] 計算某個故障碼在每個分類中概率,取擁有最大概率值的類別為該故障碼的分類 結(jié)果,具體為:
[0058] G(e) =argmax{P(e | Ci)P(ci)} 〇
[0059] S5:構(gòu)建樸素貝葉斯分類器。
[0060]然后對新故障碼進行具體分類,具體為:
[0061]更具體的,對新故障碼進行具體分類,設在類別i中的故障碼為ei,同時還有個待 匹配的故障碼enew,它們的分詞情況如下:
[0062] ei= {W1,W2,W3,W4}
[0063] enew= {w2,W3,W5}
[0064] 步驟I:由這兩組的特征詞集合構(gòu)成一個向量空間:
[0065]
[0066] 步驟2:結(jié)合向量空間,分別得到兩個故障碼的詞向量值:
[0067]
[0068]
[0069] 步驟3:利用余弦相似度計算兩個故障碼近似情況,具體公式如下:
[0070]
[0071] 步驟4:如果所計算的相似度值大于80%,則可以判斷這兩個故障碼是相同的;如 果所計算的相似度值小于閾值,則繼續(xù)與已知故障碼庫中的其他類別故障碼進行余弦相似 度計算。
[0072] 本發(fā)明能準確地自動分類不同車型的故障碼,給出恰當?shù)南鄳鉀Q方案。因此,可 以節(jié)省大量的勞動力,縮短工作周期,降低成本。
[0073] 以上所述,僅為本發(fā)明較佳的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此, 任何熟悉本技術領域的技術人員在本發(fā)明披露的技術范圍內(nèi),根據(jù)本發(fā)明的技術方案及其 發(fā)明構(gòu)思加以等同替換或改變,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。
【主權項】
1. 故障碼識別和分類的方法,其特征在于,包括: 首先利用訓練數(shù)據(jù)集構(gòu)建樸素貝葉斯分類器; 然后對新故障碼進行具體分類。2. 根據(jù)權利要求1所述的故障碼識別和分類的方法,其特征在于,構(gòu)建樸素貝葉斯分類 器的步驟為: S1:對訓練集中的故障碼進行人工分類; S2:將每個類別中的故障碼進行分詞并計算每個詞的TF-IDF權重值; S3:根據(jù)TF-IDF權重值篩選出特征詞并建立特征詞庫; S4:分別計算每個類別中特征詞在該類別條件下的條件概率; S5:構(gòu)建樸素貝葉斯分類器。3. 根據(jù)權利要求2所述的故障碼識別和分類的方法,其特征在于,步驟S2中的TFA特征詞i的詞頻;^為特征詞i在所有故障碼中出現(xiàn)的次數(shù),Σ^表示故 > 障碼中所有特征詞的出現(xiàn)次數(shù)總和。4. 根據(jù)權利要求2所述的故障碼識別和分類的方法,其特征在于,步驟S2中的IDFi為特征詞i的逆向文件頻率;Ε為語料庫中故障碼的總 數(shù),{k:Wleek}表示包含特征詞i的故障碼數(shù)。5. 根據(jù)權利要求3或4所述的故障碼識別和分類的方法,其特征在于,步驟S2中的TF-IDF權重值為: TF-IDF = TFXIDF TF-IDF權重值是詞頻與逆向文件頻率的乘積。6. 根據(jù)權利要求1所述的故障碼識別和分類的方法,其特征在于,步驟S1故障碼進行人 工分類后的類別集為c: C= {ci,C2,…,Ci,…,Cn} 〇7. 根據(jù)權利要求1所述的故障碼識別和分類的方法,其特征在于,將故障碼e定義成若 干個特征詞的集合: e={ffi,ff2,---,ffn}〇8. 根據(jù)權利要求1所述的故障碼識別和分類的方法,其特征在于,依據(jù)貝葉斯定理計算 出某個故障碼e屬于Cl類故障的概率,具體公式如下: P(ci | e) 〇〇P(e I Ci)P(ci) 其中,P(Cl)為一個故障碼類別Cl在故障碼空間所占比率;P(e|Cl)為對于給定的故障碼 類別ci中故障碼e的出現(xiàn)概率;計算某個故障碼在每個分類中概率,取擁有最大概率值的類 別為該故障碼的分類結(jié)果,具體為: G(e) = argmax{P(e | Ci)P(ci)} 〇9. 根據(jù)權利要求1所述的故障碼識別和分類的方法,其特征在于,對新故障碼進行具體 分類,設在類別i中的故障碼為ei,同時還有個待匹配的故障碼e new: 步驟1:由這兩組的特征詞集合構(gòu)成一個向量空間: 步驟2:結(jié)合向量空間,分別得到兩個故障碼的詞向量值: 步驟3:利用余弦相似度計算兩個故障碼近似情況; 步驟4:如果所計算的相似度值大于閾值,則可以判斷這兩個故障碼是相同的;如果所 計算的相似度值小于閾值,則繼續(xù)與已知故障碼庫中的其他類別故障碼進行余弦相似度計 算。10.根據(jù)權利要求1所述的故障碼識別和分類的方法,其特征在于,步驟S3中判斷兩個 故障碼近似情況,具體公式如下:
【文檔編號】G06K9/62GK106056154SQ201610365727
【公開日】2016年10月26日
【申請日】2016年5月27日
【發(fā)明人】田雨農(nóng), 張輝
【申請人】大連樓蘭科技股份有限公司