首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

語音互動新紀元:使用 Speech Server 2007 建立 IVR 語音響應工作流

     編輯:關於.NET

前言:什麼是 IVR?

互動式語音響應(IVR)系統無處不在。當您致電企業聽到「銷售部請按 1,客服請按 2」時,即正在與 IVR 互動。Microsoft Office Communications Server 2007 引入基於 Speech Server 平台的 IVR 工作流開發功能,讓開發者能以 .NET Framework 建立語音應用。

語音應用開發基礎

Speech Server 2007 不僅支援 SALT 和 VoiceXML,更提供 .NET Framework API 與 Voice Response Workflow Designer(基於 Windows Workflow Foundation)。相較於傳統 XML+JavaScript 模型,.NET 開發模式優勢明顯:

  • 使用面向對象語言而非 XML 標記
  • 重用既有企業邏輯與數據訪問代碼
  • .NET 開發者資源豐富,招聘容易

語音響應工作流架構

工作流邏輯採部分類別模式:Visual Studio 生成代碼檔與開發者代碼檔分離。工具箱提供「語音對話」活動與標準 WF 活動。開發步驟:

  1. 拖放活動到設計面板,按執行順序排列
  2. 入站呼叫應用通常以 AnswerCall 開始,DisconnectCall 結束
  3. 僅支援循序工作流,不支援狀態機工作流

Voice Response Workflow Designer

核心活動:Statement 與 QuestionAnswer

  • Statement:單向播報提示(TTS 或預錄音檔)
  • QuestionAnswer:播報提示並接收用戶輸入(語音辨識或 DTMF 按鍵)

提示建構與管理

動態提示最佳化

每個活動擁有 MainPrompt(PromptBuilder 型別)。常用方法:

  • SetText:一行設定完整提示
  • ClearContent + AppendText:分步建構

建議:靜態提示在工作流初始化時設定(透過資源檔),動態提示在 Executing 事件而非 TurnStarting 設定,避免重複資料庫查詢。

日期時間語音化

使用 AppendTextWithHint 配合 SayAs.Date 列舉,將「01/01/2008」轉為「二零零八年一月一日」。

this.statementActivity.MainPrompt.AppendTextWithHint(
    "01/01/2008", Microsoft.SpeechServer.Synthesis.SayAs.Date);

預錄提示與提取技術

提示資料庫可管理壓縮格式 WAV 檔,加載更快。提取技術允許合併多個 WAV 片段:

  • 錄製共用片段「我將為您轉接」
  • 錄製變動片段「代表」、「貸款主任」
  • 運行時自動拼接,甚至可與 TTS 混合

Prompts with Extraction Annotated

關鍵字與會話語法

關鍵字語法

適用於封閉式問題(如「請說帳戶查詢、貸款諮詢或轉人工服務」)。僅辨識預定義詞彙。

會話語法

支援開放式問題(「有什麼可以幫您?」)。核心工具 Conversational Grammar Builder 分兩區:

  • Answers:定義概念(Concept Answer)、關鍵字答案、命令
  • Keywords:定義同義詞群組(如「人員、代表、某人」對應 Representative)

Conversational Grammar Builder

開發流程:定義概念 → 添加答案範例 → 建立關鍵字容器 → 關聯關鍵字 → 點擊 Parse 自動產生語法。

處理用戶響應

透過 QuestionAnswer 活動的 RecognitionResult 取得結果:

  • Text:用戶原始語句
  • Semantics["ConceptName"].Value:語義值(如 "Representative")

Visual Studio 提供「Generate Branching」自動建立分支邏輯,依語義值導向不同流程。

調試與測試

內建 Voice Response Debugging Window,無需部署即可測試:

  • 麥克風測試語法
  • 文字輸入模擬語音
  • 即時查看辨識結果

Debugging Window

總結

Speech Server 2007 讓 .NET 開發者能以熟悉的工具與語言建構企業級 IVR 系統,整合既有資產,大幅降低語音應用開發門檻。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved