2015-10-20 40 views
3

我們在C#.net中使用了一個解決方案,在那裏有人可以撥打一個電話號碼,然後說出一個人首先,然後是姓。然後這個名字被輸入到我們網站的訪客註冊表中。我們使用的是美國人口普查中擁有5000個名字和89,000個姓氏的XML字典文件。我們使用Microsoft.Speech.Recognition庫,(也許這是問題)。大名單的語音識別

我們的問題是,即使像Joshua McDaniels這樣的相對簡單的名字,我們的失敗率也是30%左右。性能(速度方面)很好,它只是沒有佔據很大一部分名字。

現在,我明白,口頭名稱的質量將決定支持雙關語的質量,系統的表現如何,但我們希望在「實驗室」條件下接近99%,完美的表達和沒有口音,然後稱它爲好。但即使經過同一人講話,同名,同一電話,同一環境的幾次試驗,我們的失敗率也是25%。

我的問題是:有沒有人有更好的方式去追求這個想法?我們想過也許試圖使用API​​,這樣匹配會更相關和最新。

回答

2

該技術的當前狀態是,很難識別名稱,而且它們的名單很大。您可以從電話簿中識別出名字(500條),但對於成千上萬的人來說,這非常困難。語音識別引擎當然不是爲此設計的,特別是像System.Speech這樣的離線引擎。

使用先進的DNN聲學模型和更大的詞彙表等在線系統(如https://www.projectoxford.ai),您可能會獲得更好的結果。

有一些大公司圍繞識別大名單的能力而建立,例如Novauris 使用了專利技術。你可能會考慮使用開源引擎來構建類似的東西,但無論如何這將是一項大事業。

+0

我對MS Speech API做了一些實驗。它適用於句子,因爲它使用意圖,因此它會查看第一個單詞,做出猜測,然後轉到下一個單詞。 SDK中的示例顯示它對一個短句進行了幾次迭代。不幸的是,它的名字根本不起作用。我們決定放棄這個功能。我們聆聽了幾個.wav文件,並且作爲人類,我們甚至不知道他們在說什麼。所以我們認爲,即使我們能夠在實驗室條件下100%地工作,它也會下降到目前的70-80%,所以爲什麼要麻煩。 – DenverCoder

+0

@Nikolay Shmyrev「你可以從電話簿(500條目)中以高質量識別名稱」 - 哪些軟件,API或庫可以做到這一點?我正在做一些研究,找不到可以在自定義列表中匹配的地方。 – raphadko

+0

預先支持列表的規格的任何現代 - at&t,ms project oxford。來自開源解決方案Kaldi。 –