2017-10-13 127 views
1

我有一個使用在谷歌客戶端Javascript庫動作的谷歌主頁的應用程序:在Google應用的Actions上設置語音識別上下文?

https://github.com/actions-on-google/actions-on-google-nodejs

語音識別是非常好。但有時候我遇到了一個認識上下文,它有一點點麻煩。有沒有什麼辦法可以告訴語音識別設施在每個用戶交互的基礎上強調某些詞語短語的概率?例如,如果用戶被要求提供日期,那麼今年的幾個月的可能性會比正常情況提高嗎?

在某些語音識別引擎中,您可以爲引擎提供詞彙表(也稱爲語法等)。有沒有一種方法可以在Google應用上使用Actions?

我知道谷歌的語音識別API的:

Google Speech Recognition API

但如果API通過在谷歌服務的操作暴露或可我不知道,或者如果API支持語法或上下文名單。

回答

3

編輯:看起來像谷歌行動確實有辦法期待某些用戶輸入。 看到:

https://developers.google.com/actions/reference/rest/Shared.Types/QueryPatterns

從這樣一個問題:

google action package how to define custom slot types?

原來的答案:

你不能改變的方式Google Home認識到語音輸入,它只是聽取預定義的詞彙表。但是,您可以使用https://dialogflow.com/來要求會話中的某些參數。

使用Dialogflow(之前的api.ai),您可以設置Date作爲對話繼續的必需參數,或者如果Home應用程序一致地聽到相同的錯誤輸入,您可以設置該輸入以返回您想要接收的輸入。

示例:谷歌首頁詢問日期,用戶說「十月」,但家庭總是聽到「somethingelse」。然後,您可以將「somethingelse」設置爲「十月」的同義詞並從那裏處理它。

除此之外還有,你可以在谷歌上調用操作動作的少數地方實際上期望有特定輸入https://developers.google.com/actions/assistant/helpers#built-in_helper_intents 即便如此,它也不會促進家庭在這裏認識了一定範圍內的機會。

+0

我沒有使用DialogFlow(formely Api.ai)。我們有我們自己的輸入預處理庫。 –

0

不,不幸的是,語音識別是完全從你抽象,並試圖在有姓名,這樣,有時試圖尋找類似的英文單詞,

DialogFlow(以前我也有一些挑戰Api.ai)或你使用的任何框架稍後將用於NLP(自然語言處理),以最終處理文本並從中獲取關鍵字。

因此,據我所知,它並不是真正的文字部分。

因此,您的谷歌家庭照顧到文本的語音,併發送文本到您的NLP框架,照顧解決語法問題,但直到現在我可以解決我所有的問題與API.ai它是非常強大的。