了解自動語音辨識目錄查閱服務
適用版本: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007
上次修改主題的時間: 2007-10-23
Microsoft Exchange Server 2007 整合通訊提供使用自動語音辨識 (ASR) 的語音使用者介面 (VUI)。這是一種電話介面,來電者可以使用語音輸入,來瀏覽功能表系統以及存取他們的信箱。ASR 可讓來電者使用語音輸入而非複頻式訊號 (DTMF) (也稱為按鍵式) 輸入,以瀏覽 UM 自動語音應答功能表,或讓已啟用 UM 的使用者存取他們的信箱。本主題討論如何在 Exchange Server 2007 整合通訊中使用 ASR,以及如何搭配 ASR 使用文法檔案。
附註: |
---|
對於 Outlook 語音存取使用者以及撥打 UM 自動語音應答,目錄查閱和搜尋的 ASR 目前只能使用英文。不過,已針對未來的版本規劃可支援其他語言的 ASR。 |
文法檔案概觀
語音文法檔案包含語音引擎在使用文法檔案時會嘗試辨識的字與片語。文法檔案會定義使用者在檢閱其郵件或行事曆,或語音引擎在來電者搜尋目錄時辨識出的人員名稱時,可以使用的命令。語音文法檔案是先以一個副檔名為 .grxml 的檔案的形式所產生的,然後處理成副檔名為 .cfg 的編譯形式,之後再載入至語音引擎中。不過,.cfg 檔是載入至 Microsoft Exchange 語音引擎服務的記憶體中。因此,不會在磁碟上建立和儲存 .cfg 檔。圖 1 說明來電者如何使用文法檔案。
附註: |
---|
如果想要尋找與 .cfg 檔對應的 .cfg 檔,請查看事件日誌中識別碼為 1040 或 1041 的事件。該事件會顯示用來產生特定 .cfg 檔的 .grxml 檔。 |
預設的文法檔案
在安裝 Unified Messaging server role 時,系統會將許多檔案複製到伺服器。這些檔案包括預設文法檔案,ASR 會用這些檔案來啟用語音使用者介面 (VUI)。依預設,這些文法檔案會安裝在 \UnifiedMessaging\grammars*\<language>* 資料夾中。然而,當 Unified Messaging Server 上用這些文法檔案時,Microsoft Exchange 語音引擎服務會將它們載入並編譯成 .cfg 檔。
預設的文法檔案包括下列檔案:
- Calendar.grxml
- Common.grxml
- Contacts.grxml
- Email.grxml
- Mainmenu.grxml
自訂文法檔案
在安裝 Unified Messaging server role 時,以及在 Active Directory 目錄服務中建立整合通訊物件時,還有當 Microsoft Exchange 整合通訊服務依排定的時間 (一天一次) 執行文法產生工作時,都會建立數個自訂文法檔案。這些文法檔案包含 Active Directory 中的使用者名稱與其他物件,例如通訊群組清單。每個名稱都含有其他資料,例如電子郵件別名。這項資料可將該名稱關聯至一個唯一的物件。
當 Microsoft Exchange 整合通訊服務依排定的時間執行文法產生工作時,會建立下列文法檔案:
- Gal.grxml
- <DialPlanGUID>.grxml
- <AddressListGUID>.grxml
- DistributionList.grxml
附註: 來電者可能無法立即接通已啟用 UM 的使用者。您必須等到下次排程的文法產生工作,或是手動執行 galgrammargenerator.exe,將已啟用 UM 的使用者名稱包含在文法檔中。
當 Unified Messaging Server 建立語音文法檔案時,會檢查許多目錄物件,以判斷應將哪些名稱新增至語音文法檔案。Unified Messaging Server 會處理的物件類型,是取決於所建立的文法範圍。然而,對所有這些物件來說,如果 Exchange 2007 通訊清單隱藏物件,或該物件的 msExchHideFromAddressLists 屬性設為 true,則整合通訊不會將該物件新增至文法。
- 對於全域通訊清單 (GAL) 文法檔案,整合通訊會考量下列:
- 擁有郵件功能的使用者
- 擁有郵件功能的連絡人
- 對於撥號對應表文法檔案,整合通訊會考量下列:
- 指定之撥號對應表中已啟用 UM 的使用者
- 對於通訊群組清單文法檔案,整合通訊會考量下列:
- 通訊清單中可見的通訊群組清單
在執行 Exchange 2007 的電腦上安裝 Mailbox server role 時,會建立預設的 GAL。在 Unified Messaging server role 安裝之後,就會根據設定的語音文法檔案建立 GAL 的文法檔案。如果在您的 Exchange 2007 組織中建立自訂的通訊清單或通訊群組清單,將會為您建立的每個自訂通訊清單或通訊群組清單建立其他的文法檔案。
若您建立包含像是特定部門中所有收件者的通訊清單,稍後又於此部門中加入新的使用者,則在您執行 Update-AddressList 指令程式之前,該收件者都不會納入為通訊清單的成員。
若您建立包含像是特定部門中所有收件者的通訊清單,然後變更通訊清單的成員資格,則您必須執行 Update-AddressList 指令程式,才會產生整合通訊名稱語音文法。這能確保文法在產生或更新時,將會包含目前位於通訊清單中的所有收件者。當您執行 Update-AddressList 指令程式時,它將會包含收件者所屬之每個通訊清單中的每位收件者。
若已啟用 UM 功能的使用者在產生文法之前並未加上通訊清單成員的戳記,則該使用者將無法新增為成員。下一次產生文法時 (不論是依定義的排程或是您在執行 galgrammargenerator.exe 時手動進行),已啟用 UM 功能的使用者都將無法新增至通訊清單的文法中。因此搜尋目錄時,將無法使用他們的名稱。
附註: |
---|
如果要為某通訊群組清單產生文法檔案,就不能隱藏該通訊群組清單。 |
當您首次建立 UM 撥號對應表時,不會建立任何文法檔案。然而,當 Unified Messaging Server 第一次加入撥號對應表時,便會為 UM 撥號對應表在適當的語言資料夾下,建立單一文法檔案。然後會篩選 UM 撥號對應表語音文法檔案,以只包含與該撥號對應表關聯且已啟用 UM 的使用者。在編譯之後,這些物件的文法檔案會使用所代表之物件的 GUID 來命名,例如 2da514a1-06f4-44a1-9ce5-610854f7d2ee.grxml 或對應的 .cfg 檔。
UM 撥號對應表、GAL、通訊清單以及通訊群組清單的文法檔案在建立時,會建立在本機 Unified Messaging Server 上的特定語言資料夾中。所使用的語言資料夾是根據 UM 撥號對應表上設定的預設語言來選擇。例如,如果撥號對應表上的預設語言是設定為 en-US (美國-英文),就會在 \UnifiedMessaging\grammars\en 資料夾下建立文法檔案。建立文法檔案之後,便會根據 Unified Messaging Server 上設定的排程進行更新。
如需相關資訊,請參閱下列主題:
產生文法
通常,預設的文法產生排程可以符合您的需求。然而,您有時候必須在排定的文法產生工作執行之前,手動產生文法檔案或更新現有的文法檔案。您也可能會想要變更預設的文法產生排程。
在下列情況中會進行文法產生工作:
- 將 Unified Messaging Server 新增至 UM 撥號對應表,而後會依排定的間隔每天進行。
- 當您執行 galgrammargenerator.exe 命令以手動更新或建立文法檔案時。
所建立的文法檔案會在排定的文法產生工作執行時進行更新。若要顯示 Unified Messaging Server 的預設文法產生排程,請使用下列 Exchange 管理命令介面指令程式:
(Get-UMServer $env:COMPUTERNAME).GrammarGenerationSchedule
如需 Get-UMServer 指令程式的相關資訊,請參閱 Get-UMServer。
根據預設,會依 Unified Messaging Server 的 GrammarGenerationSchedule 參數所指定的時間每天進行文法產生工作。依預設,已經定義排程,每天都會在上午 2:00 時進行文法產生工作。不過,您可以使用 Exchange 管理命令介面中的 Set-UMserver 指令程式,來變更和控制文法產生排程。沒有任何圖形化使用者介面可用以控制文法產生器排程。此排程只能使用 Exchange 管理命令介面中的 Set-UMserver 指令程式來控制。如需如何使用 Set-UMserver 指令程式變更語音顯示名稱的相關資訊,請參閱 Set-UMServer。
預設會將文法產生排程設為每天在 Unified Messaging Server 的本機時間上午 2:00 開始執行一次。開始執行之後,無論文法產生工作是否為在作用中期間所排定的結束時間之前,都將會持續執行直到完成為止;如果正在進行文法產生工作,就不會執行其他文法產生工作。雖然您可以設定其他排程時間,但文法產生工作將不會在先前已排定之文法產生期間的一小時內執行。因為文法產生工作會使用大量的系統資源,所以建議您設定所有文法產生排程,在離峰時間執行文法產生工作。不過,您可以安排在多部 Unified Messaging Server 上進行文法產生排程,例如 Umserver1 在上午 2:00 開始、Umserver2 在上午 2:30 開始,而 Umserver3 在上午 3:00 開始。這樣有助於讓文法產生工作對 Active Directory 網域控制站造成的影響降至最低。
附註: |
---|
將會在 %ExchangeRoot%\UnifiedMessaging\temp 資料夾中建立名為 UMSpeechGrammar.log 的記錄檔。這個記錄檔包含在 Unified Messaging Server 中建立或更新之所有文法檔案的相關資料。這個檔案會在每次執行排定的文法產生工作時遭覆寫。 |
在下列情況中,您可以等待下一個排定的文法產生工作反映出變更,或者您可以使用 galgrammargenerator.exe 命令強制進行更新。
- 完成新的 Unified Messaging server role 安裝並為使用者啟用整合通訊時
- 建立 UM 撥號對應表、UM 自動語音應答、自訂通訊清單或自訂通訊群組清單時
- 建立已啟用 UM 的使用者時
- 如果您變更 UM 撥號對應表或 UM 自動語音應答
附註: |
---|
Outlook 語音存取使用者在您完成新的 Unified Messaging server role 安裝並為使用者啟用 UM 後立即使用含自動語音辨識 (ASR) 的目錄搜尋功能,以嘗試尋找已啟用 UM 的使用者時,來電者會聽到系統提示說:「抱歉,我無法幫忙。」接著會使其中斷連線。發生此情況的原因是尚未產生全域通訊清單 (GAL) 的文法檔案。使用 galgrammargenerator.exe 命令可建立 GAL 的必要文法檔案。 |
例如,當您第一次啟用使用者的 UM 功能時,在排定的文法產生工作執行之前,使用 ASR 執行目錄搜尋的來電者看不到那些使用者。若要確定來電者能夠看見最近才啟用 UM 的新使用者,請執行 galgrammargenerator.exe 程式以強制建立或更新 .grxml 檔案,以及編譯適當的 .cfg 檔,如此來電者便可以使用 ASR 來瀏覽功能表系統,或使用 ASR 來尋找使用者。
當 Unified Messaging Server 已加入撥號對應表,而且有一或多個已啟用語音的自動語音應答與撥號對應表關聯時,Galgrammargenerator.exe 也相當有用。根據預設,撥打至已啟用語音之自動語音應答的來電者,僅能連絡到與撥號對應表關聯且啟用 UM 功能的使用者。在使用語音輸入將來電者轉接至啟用 UM 功能的使用者之前,必須先產生文法檔案。當伺服器加入撥號對應表時不會自動產生文法檔案。而是在下一次排定產生文法時產生。除非排程已變更,否則文法產生工作會根據預設排程 (每天當地時間上午 2:00) 進行。
如果您想要在建立自動語音應答之後,立即讓啟用 UM 功能的使用者可供來自已啟用語音之自動語音應答內的目錄搜尋使用,您必須使用帶有 –d 選項的 galgrammargenerator.exe,產生自動語音應答所需的文法檔案。
未啟用語音功能的自動語音應答並不需要文法檔案。這是因為當啟用每位使用者的 UM 功能時,會新增 DTMF 對應至 Active Directory。DTMF 對應讓來電者能夠在電話按鍵上,輸入對應至使用者名稱或電子郵件別名的字母。
不過,DTMF 對應將不會自動針對未啟用 UM 功能的使用者所建立。您可以使用帶有 -u 選項的 galgrammargenerator.exe,針對擁有郵件功能但未啟用 UM 功能的所有使用者產生 DTMF 對應。這可讓擁有郵件功能但未啟用 UM 功能的使用者,當來電者利用 DTMF 輸入來輸入其名稱或電子郵件別名,可從自動語音應答連絡到該使用者。如需 DTMF 介面的相關資訊,請參閱了解 DTMF 介面。
下表列出 galgrammargenerator.exe 程式的參數與參數說明。
Galgrammargenerator.exe 與參數
參數 | 描述 | ||
---|---|---|---|
-d <dialplan> |
建立文法檔案,其中只包含指定之 UM 撥號對應表內已啟用 UM 的使用者名稱。 |
||
-g |
產生文法檔案。 |
||
-l |
產生通訊群組清單的文法檔案。 |
||
-o |
產生記錄檔。路徑可以是絕對路徑,例如 C:\Logfiles。依預設,Unified Messaging Server 也會自動在 \UnifiedMessaging\Temp 資料夾中建立一個記錄檔。 |
||
-p |
將所有產生的文法預先載入至 Microsoft Speech Server 平台。 |
||
-s <UMserver> |
對屬於所指定 Unified Messaging Server 的每個 UM 撥號對應表建立文法檔案。 |
||
-u |
為已啟用和未啟用 UM 功能的使用者建立或更新 DTMF 對應。
|
||
-x |
以 XML 格式定義使用的語音篩選器清單。 |
附註: |
---|
預設語音文法篩選器清單 (SpeechGrammarFilterList.xml) 是安裝在已安裝 Unified Messaging server role 的每部伺服器的 %ExchangeRoot%\bin 資料夾中。每部 Unified Messaging Server 上的語音篩選器清單檔的內容必須相同。語音文法篩選器清單包含數個規則,可指定比對顯示名稱的輸入模式以及定義相符名稱轉換的輸出模式。如果名稱符合模式,則會在語音文法中以從關聯的輸出模式產生的名稱取代該名稱。如果名稱不符合模式,則該名稱會原封不動傳遞至語音文法。如果名稱有兩種以上不同的說法,則會拒絕將名稱插入語音文法中。建議您不要手動修改 SpeechGrammarFilterList.xml 檔。 |
自訂文法檔案
目前只提供英文版的 ASR,而且包含英文的預先錄製提示與文字轉語音支援。雖然英文語言套件中包含 ASR 支援,但因為有時使用者的名稱很難發音、來電者的發音與錯誤的名稱相符,或來電者說出使用者名稱的形式與存在於語音文法中的名稱不同,所以語音辨識很難找出已啟用 UM 的正確使用者。然而,新增其他 UM 語言套件並無法解決這個問題。
整合通訊使用兩個 Active Directory 屬性來產生要與 ASR 文法檔一起使用的名稱:顯示名稱 (displayName) 和語音顯示名稱 (msDS-PhoneticName)。依預設,當來電者說出其名稱時,整合通訊會使用 displayName 屬性來辨識使用者的名稱。如果使用者的名稱容易發音,則這種方式效果很好。不過,有時候使用者的名稱不易發音。為協助整合通訊尋找其名稱不易發音的使用者,建議您為 ASR 無法辨識其名稱的使用者提供語音顯示名稱,藉以設定整合通訊系統。不過,若要提供語音顯示名稱,您必須預測語音引擎辨識名稱特定拼法的方式,才能提供語音名稱的正確發音。
附註: |
---|
依預設,Unified Messaging Server 會嘗試將語音顯示名稱 (若有的話) 以及顯示名稱插入至語音文法檔案中。 |
例如,顯示名稱 "Kweku Ako-Adjei" 的語音顯示名稱會被指定為 "Quaykoo Akoo Oddjay",而 UM 會將其插入至語音文法檔案中。但是缺點是無法大規模為使用者建立語音名稱。針對 ASR 無法正確辨識其名稱的每位使用者建立和測試語音顯示名稱十分耗時,尤其是在大型企業的環境中更是如此。
若要新增或變更已啟用 UM 之使用者的語音顯示名稱,您必須使用 ADSI 編輯器 (AdsiEdit.msc) 或 Set-User Exchange 管理命令介面指令程式。您無法使用 Active Directory 使用者和電腦或 Exchange 管理主控台來變更使用者的語音顯示名稱。如需如何使用 Set-User 指令程式來變更語音顯示名稱的相關資訊,請參閱 Set-User。
PhoneticDisplayName 參數可指定顯示名稱的語音讀法。此顯示名稱是使用 DisplayName 參數來指定。如果對於 Unified Messaging Server 而言,某個顯示名稱不容易發音或辨識,您可以使用 PhoneticDisplayName 參數來指定一個語音版本。如果您指定一個值,讓 ASR 用以辨識使用者的名稱,以及讓文字轉語音 (TTS) 引擎用以發出使用者名稱的音。如果您未指定一個值,則 Unified Messaging Server 會使用 DisplayName 參數。此參數值的最大長度為 255 個字元。
如需 ADSI 編輯器的相關資訊,請參閱 Adsiedit 概觀 (英文)。
相關資訊
如需如何更新與 ASR 搭配使用之語音文法檔案的相關資訊,請參閱如何更新語音文法檔案。
如需整合通訊撥號對應表的相關資訊,請參閱了解統一訊息撥號對應表。
如需整合通訊自動語音應答的相關資訊,請參閱了解統一訊息自動語音應答。
若要確保您目前閱讀的是最新資訊,並尋找其他的 Exchange Server 2007 說明文件,請造訪 Exchange Server 技術資源中心.