基于模糊聚類決策樹的分布式大型人口語者識(shí)別方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種基于模糊聚類的決策樹分類方法,主要用于解決大型人口語者識(shí) 別問題,屬于生物識(shí)別和數(shù)據(jù)挖掘的交叉技術(shù)應(yīng)用領(lǐng)域。
【背景技術(shù)】
[0002] 語者身份識(shí)別是一個(gè)有許多應(yīng)用的生物識(shí)別系統(tǒng)的例子。在語者身份識(shí)別中,給 出一個(gè)輸入語音,任務(wù)是通過從注冊在系統(tǒng)中的整體語者選擇一個(gè)來決定未知語者的身 份。語者識(shí)別的主要技術(shù)是基于梅爾頻率倒譜系數(shù)和高斯混合模型的。一些以梅爾頻率倒 譜系數(shù)為基礎(chǔ)的重要方法包括通用背景模型方法已被提出。另一種新興變得很受歡迎的技 術(shù)是i矢量方法。i矢量的方法已經(jīng)廣泛用于語者確認(rèn)。但是,它沒有直接被應(yīng)用到語者識(shí) 另IJ。i矢量方法通常需要大量的表現(xiàn)良好的數(shù)據(jù),并且當(dāng)把i矢量應(yīng)用于語者識(shí)別特別是大 型人口的案例時(shí),計(jì)算復(fù)雜度可能會(huì)很高。
[0003] 數(shù)據(jù)挖掘是大量的數(shù)據(jù)中搜尋具有潛在價(jià)值的新信息的過程,是一種決策支持的 過程,它主要基于機(jī)器學(xué)習(xí)、模式識(shí)別、統(tǒng)計(jì)學(xué)、數(shù)據(jù)庫等,分析大量的數(shù)據(jù),從其中找出潛 在的模式幫助決策者做出正確的決定。數(shù)據(jù)挖掘主要有分類、估計(jì)、預(yù)測、聚類等分析方法。 數(shù)據(jù)挖掘已經(jīng)由計(jì)算機(jī)科學(xué)和統(tǒng)計(jì)學(xué)的一個(gè)主題發(fā)展為獨(dú)立領(lǐng)域,廣泛應(yīng)用于電信、制造、 醫(yī)療、保險(xiǎn)等行業(yè)。
[0004] 分類算法是解決分類問題的方法,是數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)中的一個(gè)研究領(lǐng)域。分 類算法對已知類別的數(shù)據(jù)集進(jìn)行分析,從而發(fā)現(xiàn)其中的分類規(guī)則,然后以此分類規(guī)則預(yù)測 新的數(shù)據(jù)集中數(shù)據(jù)的類別。分類的應(yīng)用很廣泛,主要有性能預(yù)測、醫(yī)療診斷、欺詐檢測等。
[0005] 決策樹主要描述的是劃分?jǐn)?shù)據(jù)為不同的組的規(guī)則,第一條規(guī)則先將數(shù)據(jù)集劃分為 不同大小的子集,然后將另外的規(guī)則應(yīng)用在子數(shù)據(jù)集中,不同的數(shù)據(jù)集對應(yīng)不同的劃分規(guī) 貝1J,一個(gè)子集或者被繼續(xù)劃分或者單獨(dú)作為一個(gè)分組成為一個(gè)葉子節(jié)點(diǎn)。本質(zhì)上,決策樹是 用一系列規(guī)則對數(shù)據(jù)分類的過程。
[0006] 模糊聚類是涉及事物之間的模糊界限時(shí)對事物按照一定標(biāo)準(zhǔn)分類的數(shù)學(xué)方法。聚 類分析是數(shù)理統(tǒng)計(jì)中的一種多元分析方法,它是用數(shù)學(xué)方法定量地確定樣本的親疏關(guān)系, 從而客觀地劃分類型。事物之間的界限,有些是確切的,有些則是模糊的。例人群中的面貌 相像程度之間的界限是模糊的,天氣陰、晴之間的界限也是模糊的。當(dāng)聚類涉及事物之間的 模糊界限時(shí),需運(yùn)用模糊聚類分析方法。模糊聚類分析廣泛應(yīng)用在氣象預(yù)報(bào)、地質(zhì)、農(nóng)業(yè)、林 業(yè)等方面。
【發(fā)明內(nèi)容】
[0007] 技術(shù)問題:本發(fā)明的目的是提供一種基于模糊聚類決策樹分類的分布式大型人口 語者識(shí)別的方法,該方法在決策樹建立的過程中使用了模糊聚類和分布式,以解決識(shí)別系 統(tǒng)中數(shù)據(jù)高效分類,提高語者數(shù)量較大時(shí)分類精確性,降低計(jì)算復(fù)雜性的問題。
[0008] 技術(shù)方案:本發(fā)明所述的基于模糊聚類決策樹的分布式大型人口語者識(shí)別的方 法,先將人口數(shù)據(jù)等分成幾個(gè)部分,再分別使用一棵決策樹分層地將整個(gè)人口數(shù)據(jù)分成組, 然后決定一個(gè)測試下的語者屬于哪個(gè)葉節(jié)點(diǎn)上的語者組,再在選定的語者組上應(yīng)用梅爾頻 率倒譜系數(shù)和高斯混合模型方法來識(shí)別該語者身份。
[0009] 基于模糊聚類的大型人口語者識(shí)別的決策樹分類方法包括以下步驟:
[0010] 步驟1)將語音樣本數(shù)據(jù)等分成三個(gè)部分;分別將等分后的語音樣本數(shù)據(jù)作為一 棵決策樹的根節(jié)點(diǎn)C1進(jìn)行建樹海一個(gè)語音樣本都來自不同的語者,C nli nV.. ?+1表示L層 的第nul個(gè)節(jié)點(diǎn);同時(shí)對三個(gè)語音樣本數(shù)據(jù)執(zhí)行同樣的操作進(jìn)行分類建樹和語音識(shí)別;對 根節(jié)點(diǎn)進(jìn)行分組,得到的子節(jié)點(diǎn)執(zhí)行相同的步驟繼續(xù)進(jìn)行分組直到建成決策樹。
[0011] 步驟2)判斷當(dāng)前節(jié)點(diǎn)中的樣本數(shù)量是否大于預(yù)設(shè)值,若不大于則該節(jié)點(diǎn)為葉節(jié) 點(diǎn),已經(jīng)不需要再進(jìn)行分組。
[0012] 步驟3)對節(jié)點(diǎn)上的樣本進(jìn)行特征提取,每一層只提取一種特征,依次提取音調(diào), 語音信號(hào)正脈沖的均值,語音信號(hào)正脈沖的偏斜,語音信號(hào)負(fù)脈沖的均值,語音信號(hào)負(fù)脈沖 的偏斜和語音信號(hào)正脈沖的寬度,具體步驟如下:
[0013] 步驟3. 1)音調(diào)特征提取,具體步驟如下:
[0014] 步驟3. I. 1)將連續(xù)的語音輸入到音調(diào)提取模塊;
[0015] 步驟3. 1. 2)音調(diào)提取模塊使用YIN算法將語音分解成乂幀,一幀的長度是25ms, 幀移位長度是IOms ;所述的YIN算法是一種基于自相關(guān)方法的檢測語音和音樂的基本頻率 的算法;
[0016] 步驟3. L 3)獲得第i幀(i = 0, 1,2, ·Nf)的音調(diào)值P1和有聲概率P ri;
[0017] 步驟3. 1. 4)去掉50Hz到550Hz范圍之外的音調(diào)值,同時(shí)去掉從有聲概率低于0. 8 的幀中提取的音調(diào)值;最后得到可靠的音調(diào)值的集合;
[0018] 步驟3. 2)五個(gè)聲源特征提取,具體步驟如下:
[0019] 步驟3. 2. 1)將連續(xù)的語音分解成步驟3. 1. 2)中描述的幀;
[0020] 步驟3. 2. 2)計(jì)算每一幀的能量E1和過零率Z i,并判斷該幀是否有聲,若不是有聲 則不進(jìn)行操作,若是有聲則用Levinson-Durbin算法來計(jì)算線性預(yù)測系數(shù),通過使用線性 預(yù)測系數(shù)得到線性預(yù)測剩余信號(hào),然后從LP剩余信號(hào)中提取五個(gè)聲源特征;提取的特征表 示為F iij, i是當(dāng)前節(jié)點(diǎn)上的語者索引,j (j = 1,2,. . .,Ni)是特征索引,隊(duì)表示語者i的特 征值的總數(shù);所述的Levinson-Durbin算法是一種利用自相關(guān)矩陣中特殊的對稱性來求解 正則方程組中的預(yù)測系數(shù)的算法。
[0021] 步驟4)計(jì)算每個(gè)語者特征數(shù)據(jù)的平均值和標(biāo)準(zhǔn)差,計(jì)算公式為:
t其中μ i為語者i的特征數(shù)據(jù)的平 均值,O i為誥者i的特祉數(shù)據(jù)的標(biāo)準(zhǔn)差,F(xiàn) U為提取出的特征,i是當(dāng)前節(jié)點(diǎn)上的語者索引, j(j = 1,2,...,N1)是特征索引,隊(duì)表示語者i的特征值的總數(shù);然后構(gòu)建一個(gè)可信任的間 距[μ廠λ δ μ ι+λ δ J,λ是一個(gè)預(yù)定的系數(shù);得到所有語者兩個(gè)統(tǒng)計(jì)數(shù)據(jù)μ λ δ i 的集合 D = { μ「λ δ i, μ ;+ λ δ J。
[0022] 步驟5)對集合D使用Lloyd的算法得到分隔向量[Ρ。,P1, ···,ΡΜ],M為Lloyd的 算法采用的語者組的總數(shù);所述Lloyd算法是計(jì)算機(jī)科學(xué)領(lǐng)域中的k-平均算法,用于把觀 測按照距離分配到最近的聚類。
[0023] 步驟6)對每個(gè)語者i(i e C1)進(jìn)行分組,判斷其屬于Cu (m= 1,2,...,M)中的哪 一個(gè),具體步驟如下:
[0024] 步驟6. 1)首先令m = 1 ;
[0025] 步驟6. 2)然后判斷[μ廠λ δ μ ι+ λ δ J n [Pni凡]是否大于0,若是則語者i 屬于Clini然后進(jìn)行下一步,若不是則直接進(jìn)行下一步;
[0026] 步驟6. 3)判斷m是否等于M,若是則結(jié)束,若不是則令m = m+1然后重復(fù)步驟6. 2 直到將所有的語者都分組完畢,所得的Clini即是決策樹的下一層;
[0027] 步驟7)對一個(gè)測試下的語者進(jìn)行身份識(shí)別,具體步驟如下:
[0028] 步驟7· 1)輸入測試語者的語音;
[0029] 步驟7. 2)對已建好的三棵決策樹,分別同時(shí)從決策樹的根節(jié)點(diǎn)開始,對測試語者 進(jìn)行分類,直到其中一棵樹分類完成,即識(shí)別出該語者身份,具體步驟如下:
[0030] 步驟7. 3)從樹的根節(jié)點(diǎn)開始,對測試語者進(jìn)行分類直到結(jié)束或找到測試語者屬 于的葉節(jié)點(diǎn),對樹的每個(gè)節(jié)點(diǎn)分別執(zhí)行步驟7. 4)和步驟7. 5)的分類步驟;所述樹的每個(gè)節(jié) 點(diǎn)是非葉子節(jié)點(diǎn)或者葉子節(jié)點(diǎn),所述根節(jié)點(diǎn)是非葉子節(jié)點(diǎn)或者葉子節(jié)點(diǎn);
[0031] 步驟7. 4)判斷該節(jié)點(diǎn)是否為葉節(jié)點(diǎn),若是葉節(jié)點(diǎn)則對該節(jié)點(diǎn)使用梅爾頻率倒譜 系數(shù)和高斯混合模型進(jìn)行身份識(shí)別;對測試語者的語音進(jìn)行特征提取和異常值去除,提取 方法同步驟3相同,且相應(yīng)的層只提取相應(yīng)的特征,得到特征集合{F k},k= 1,2,...,K,K 為特征值總數(shù);計(jì)算特征值的平均
[0032] 步驟7. 5)通過比較平均值和從模糊聚類中的Lloyd算法得到的分隔向量 [P。,P1, ···,PJ來做分類決定,具體步驟如下:
[0033] 步驟 7. 5. 1)首先令 m = 1 ;
[0034] 步驟7. 5. 2)然后判斷是否有Pni i彡μ彡P(guān) ",若不是則令m = m+1重復(fù)此步驟繼 續(xù)判斷直到m = M,若是則該測試語者被分類到子節(jié)點(diǎn)且此層分類結(jié)束。
[0035] 有益效果:本發(fā)明在解決大型人口語者識(shí)別問題的時(shí)候,使用了數(shù)據(jù)挖掘中分類 算法的決策樹算法,并引入了模糊聚類方法和分布式思想以解決決策樹分類中數(shù)據(jù)高效分 類,以及在分類時(shí)的精確性問題。具體來說,本發(fā)明所述的基于模糊聚類的大型人口語者識(shí) 別的決策樹方法具有如下的有益效果:
[0036] (1)僅把MFCC+GMM應(yīng)用于葉節(jié)點(diǎn)上的人口規(guī)模很小的語者組替代了把它應(yīng)用于 原始的大型人口;
[0037] (2)本發(fā)明使用的語音特征獨(dú)立于MFCC且是相互獨(dú)立的,因此在葉節(jié)點(diǎn)上使用 MFCC+GMM方法識(shí)別有很好的性能,具有更高的準(zhǔn)確識(shí)別率和更低的計(jì)算復(fù)雜性;
[0038] (3)分布式建樹和測試,極大地提高了分類效率和識(shí)別效率;
[0039] (4)本發(fā)明對加性噪聲的抗干擾能力強(qiáng),具有良好的健壯性。
【附圖說明】
[0040] 圖1是基于模糊聚類決策樹的分布式的大型人口語者識(shí)別方法流程圖,
[0041] 圖2是一個(gè)節(jié)點(diǎn)的模糊聚類分類過程圖。
【具體實(shí)施方式】
[0042] 本發(fā)明使用結(jié)合模糊聚類的決策樹算法,解決大型人口語者識(shí)別問題,提高識(shí)別 準(zhǔn)確率和計(jì)算復(fù)雜性。下面根據(jù)實(shí)施例對本發(fā)明作更詳細(xì)的描述。
[0043] 本發(fā)明根據(jù)有聲讀物的語音樣例進(jìn)行具體描述使用Hadoop分布式平臺(tái),語音樣 本數(shù)據(jù)的語者有3800個(gè),每個(gè)語音的時(shí)長為30s,加性噪聲的信噪比為25dB。
[0044] 1、將語音樣本數(shù)據(jù)等分成三個(gè)部分部署到Hadoop的三個(gè)從結(jié)點(diǎn)上;分別將等分 后的語音樣本數(shù)據(jù)作為一棵決策樹的根節(jié)點(diǎn)C 1進(jìn)行建樹;每一個(gè)語音樣本都來自不同的語 者,表示L層的第化+1個(gè)節(jié)點(diǎn);同時(shí)對三個(gè)語音樣本數(shù)據(jù)執(zhí)行同樣的操作進(jìn)行 分類建樹和語音識(shí)別,具體步驟如下;
[0045] 對根節(jié)點(diǎn)進(jìn)行分組,得到的子節(jié)點(diǎn)執(zhí)行相同的步驟繼續(xù)進(jìn)行分組直到建成決策 樹,具體步驟如下:
[0046] 2、判斷當(dāng)前節(jié)點(diǎn)中的樣本數(shù)量是否大于