基於Python實現的孤立詞語音識別系統

2021-09-26 00:11:41 字數 938 閱讀 9737

1 任務介紹

語音識別是通往真正的人工智慧的不可缺少的技術。儘管能真正聽懂人類說話的智慧型機器任然在未來不可捉摸的迷霧之中,但我們必須先解決如何識別出人類語音中包含的自然語言資訊的問題。而數字訊號處理技術將為這一任務賦能。在本課程專案的任務之中,我們面對的是乙個簡化的語音識別場景——即孤立詞識別。

2 專案實現

基於一學期跟隨老師學習到的關於訊號處理與語音識別技術的知識,我額外查閱多方資料,最終呈現出了我的語音識別系統與報告。

我實現的語音識別系統的亮點有以下幾個方面:

說話人無關的孤立詞識別是語音識別技術發展中乙個里程碑。從現代的觀點來看,如果將語言訊號視作時間序列,那麼孤立詞識別就是乙個模式識別中的分類問題。模式識別問題的解決一般分為特徵提取與模型構建兩個部分。我們將這兩個部分分開處理,使得**的實現更加具有結構性和層次性。報告也將這兩部分的處理分開敘述

我在整個系統的實現中,除了利用了數值處理函式包 numpy 和自動求導工具包 pytorch之外的所有核心**都是單純使用 python 實現。即真正鍛鍊了**實現能力,也加深了對語音識別技術的理解。在報告中我也強調了各個方法和過程的**實現,並將關鍵**新增到附錄之中以方便檢閱

特別地,我基於課堂上所學的蝶形變換方法,實現了以 2 為基的快速傅利葉變換,並運用到了頻域特徵的分析之中。這讓我更加領略到該演算法的優美

根據我自行實現的快速傅利葉變換,實現了梅爾頻率域的倒譜係數的計算,並根據通過梅爾濾波器之後得到梅爾頻譜特徵設計了基於卷積神經網路的識別演算法

我將計算出的頻譜特徵視為,因而可以使用近年來在大規模分類任務上大放異彩的卷積神經網路來進行分類識別。我採用了 2014 年在 imagenet 的比賽上獲勝的vgg net 作為我們的識別模型,並使用了批歸一化和 dropout 手段來避免過擬合,提高模型的泛化能力

基於孤立森林的異常值檢測

孤立森林基於異常點和正常點存在顯著不同的特徵,在構建決策樹進行對每個點進行分類時,異常點容易區分,通常距離根節點近這樣的特徵進行異常點探測。在演算法中,設定了異常值函式,s x,n 計算具有n個值得x得異常度 在sklearn的ensemble包中,存在isolationforest類,其使用方法為...

用python實現詞語接龍遊戲

由於剛學python沒幾天,又是很簡單的乙個程式,沒有用到物件導向的方法 其實是還沒有學會 通過簡單的過程實現了。幾點說明 為了防止總是重複的回答,電腦先是在庫中找到全部符合條件的詞語,然後隨機選乙個回答。採用tkinter作為gui,曾在vs code下消除了每乙個警告,所以import時把每乙個...

python實現PMI 求詞語關聯性

當時,我們需要做的工作是聚集微博中的熱點事件,然後抽取主題詞.以 六小齡童上春晚 主題為例,我收集了9條熱門微博,分別如下 pmi原理 實現def removeemoji self,sentence return re.sub sentence def extractword self,wordli...