TWI594139B - 修正語音應答的方法及自然語言對話系統 - Google Patents
修正語音應答的方法及自然語言對話系統 Download PDFInfo
- Publication number
- TWI594139B TWI594139B TW102121405A TW102121405A TWI594139B TW I594139 B TWI594139 B TW I594139B TW 102121405 A TW102121405 A TW 102121405A TW 102121405 A TW102121405 A TW 102121405A TW I594139 B TWI594139 B TW I594139B
- Authority
- TW
- Taiwan
- Prior art keywords
- answer
- natural language
- user
- voice
- keyword
- Prior art date
Links
- 230000004044 response Effects 0.000 title claims description 161
- 238000000034 method Methods 0.000 title claims description 74
- 238000005070 sampling Methods 0.000 claims description 55
- 238000010295 mobile communication Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 description 65
- 230000005540 biological transmission Effects 0.000 description 62
- 230000015572 biosynthetic process Effects 0.000 description 59
- 239000000463 material Substances 0.000 description 59
- 238000003786 synthesis reaction Methods 0.000 description 59
- 238000004458 analytical method Methods 0.000 description 43
- 238000003058 natural language processing Methods 0.000 description 33
- 230000004913 activation Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 25
- 206010063659 Aversion Diseases 0.000 description 20
- 238000004891 communication Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 15
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 15
- 230000008569 process Effects 0.000 description 11
- 230000001960 triggered effect Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000012913 prioritisation Methods 0.000 description 4
- 238000010187 selection method Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 241001342895 Chorus Species 0.000 description 2
- 230000003321 amplification Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000010411 cooking Methods 0.000 description 2
- HAORKNGNJCEJBX-UHFFFAOYSA-N cyprodinil Chemical compound N=1C(C)=CC(C2CC2)=NC=1NC1=CC=CC=C1 HAORKNGNJCEJBX-UHFFFAOYSA-N 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 239000012925 reference material Substances 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000002650 habitual effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007858 starting material Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1822—Parsing for meaning understanding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L2015/088—Word spotting
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
- Artificial Intelligence (AREA)
Description
本發明是有關於一種語音對話處理技術,且特別是有關於一種自然語言對話系統及修正語音應答的方法。
在電腦的自然語言理解(Nature Language Understanding)中,通常會使用特定的語法來抓取用戶的輸入語句的意圖或資訊。因此,若資料庫中儲存有足夠多的用戶輸入語句的資料,便能做到合理的判斷。
在現有的作法中,有一種是利用內置的固定詞列表來抓取用戶的輸入語句,而固定詞列表中包含了特定的意圖或資訊所使用的特定用語,而用戶需依照此特定用語來表達其意圖或資訊,其意圖或資訊才能被系統正確識別。然而,迫使用戶去記住固定詞列表的每個特定用語是相當不人性化的作法。例如:現有技術使用固定詞列表的實施方式,要求用戶在詢問天氣的時候必須說:“上海(或北京)明天(或後天)天氣如何?”,而若用戶使
用其他比較自然的口語化表達也想詢問天氣狀況時,比如是“上海明天怎麼樣啊?”,因為語句中未出現“天氣”,所以現有技術就會理解成“上海有個叫明天的地方”,這樣顯然沒有抓到用戶的真正意圖。另外,用戶所使用的語句種類是十分複雜的,並且又時常有所變化,甚至有時用戶可能會輸入錯誤的語句,在此情況下必須要藉由模糊匹配的方式來抓取用戶的輸入語句。因此,僅提供僵化輸入規則的固定詞列表所能達到的效果就更差了。
此外,當利用自然語言理解來處理多種類型的用戶意圖時,有些相異的意圖的語法結構卻是相同的,例如當用戶的輸入語句為"我要看三國演義",其用戶意圖有可能是想看三國演義的電影,或是想看三國演義的書,因此通常在此情況中,便會匹配到兩種可能意圖來讓用戶做選擇。然而,在很多情況下,提供不必要的可能意圖來讓用戶做選擇是十分多餘且沒效率的。例如,當用戶的輸入語句為"我想看超級星光大道"時,將使用者的意圖匹配為看超級星光大道的書或者畫作是十分沒必要的(因為超級星光大道是電視節目)。
再者,一般而言,在全文檢索中所獲得的搜尋結果是非結構化的資料。非結構化資料內的資訊是分散且不具關聯的,例如,在google或百度等搜尋引擎輸入關鍵字後,所獲得的網頁搜尋結果就是非結構化資料,因為搜尋結果必須透過人為的逐項閱讀才能找到當中的有用資訊,而這樣的作法不僅浪費用戶的時間,而且可能漏失想要的資訊,所以在實用性上會受到很大的限
制。
本發明提供一種修正語音應答的方法與自然語言對話系統,當自然語言對話系統輸出的語音應答不符合用戶的請求資訊所表示的意圖時,自然語言對話系統可修正原本所提供的答案,並提供新的語音應答,以符合用戶的請求資訊。
本發明提出一種修正語音應答的方法,其包括以下步驟:接收第一語音輸入,並解析第一語音輸入中所包括的至少一第一關鍵字,而獲得候選列表,其中候選列表具有至少一回報答案;自候選列表中選擇一者作為第一回報答案,並依據第一回報答案輸出第一語音應答;接收並解析第二語音輸入,以判斷第一回報答案是否正確。當第一回報答案不正確時,自候選列表中選擇第一回報答案外的另一者作為第二回報答案,並依據第二回報答案輸出第二語音應答。
本發明提出一種自然語言對話系統,其包括語音取樣模組以及自然語言理解系統。語音取樣模組接收第一語音輸入。自然語言理解系統,耦接於語音取樣模組,自然語言理解系統解析第一語音輸入中所包括的至少一第一關鍵字,而獲得一候選列表,其中候選列表具有至少一回報答案。接著,自然語言理解系統自候選列表中選擇一者作為第一回報答案,並依據第一回報答案,輸出第一語音應答。語音取樣模組接收第二語音輸入,且自
然語言理解系統解析第二語音輸入,以判斷第一回報答案是否正確。當第一回報答案不正確時,自然語言理解系統自候選列表中選擇第一回報答案之外的其中一者作為第二回答案,並依據第二回報答案,輸出第二語音應答。
基於上述,當自然語言對話系統所輸出的語音應答不符合用戶的語音輸入的請求資訊時,自然語言對話系統可修正原本所提供的語音應答,並依據用戶後續所提供的語音輸入,進一步選出較符合用戶的請求資訊的語音應答。如此一來,倘若用戶不滿意自然語言對話系統所提供的答案時,自然語言對話系統可回報新的語音應答予用戶,藉以增進用戶與自然語言對話系統進行對話時的便利性。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
100、520、520’、720、720’‧‧‧自然語言理解系統
102、503、503’、703、703’、902、902’‧‧‧請求資訊
104‧‧‧分析結果
106‧‧‧可能意圖語法資料
108、509、509’、709、904、904’‧‧‧關鍵字
110‧‧‧回應結果
112‧‧‧意圖資料
114‧‧‧確定意圖語法資料
116‧‧‧分析結果輸出模組
200‧‧‧檢索系統
220‧‧‧結構化資料庫
240‧‧‧搜尋引擎
260‧‧‧檢索介面單元
280‧‧‧指引資料儲存裝置
300‧‧‧自然語言處理器
302、832、834、836、838‧‧‧記錄
304‧‧‧標題欄位
306‧‧‧內容欄位
308‧‧‧分欄位
310‧‧‧指引欄位
312‧‧‧數值欄位
314‧‧‧來源欄位
316‧‧‧熱度欄位
318、852、854‧‧‧喜好欄位
320、862、864‧‧‧厭惡欄位
400‧‧‧知識輔助理解模組
500、500’、700、700’‧‧‧自然語言對話系統
501、501’、701‧‧‧語音輸入
502‧‧‧機器
507、507’、707‧‧‧語音應答
510、710‧‧‧語音取樣模組
511、511’、711、906、906’‧‧‧回報答案
513、513’、713‧‧‧語音
522、722‧‧‧語音識別模組
524、724‧‧‧自然語言處理模組
526、726‧‧‧語音合成模組
530、740‧‧‧語音合成資料庫
702‧‧‧語音綜合處理模組
715‧‧‧用戶喜好資料
717‧‧‧用戶喜好記錄
730‧‧‧特性資料庫
872、874‧‧‧欄位
900、1010‧‧‧移動終端裝置
908、908’‧‧‧候選列表
910、1011‧‧‧語音接收單元
920、1013‧‧‧資料處理單元
930、1015‧‧‧顯示單元
940‧‧‧儲存單元
1000‧‧‧資訊系統
1020‧‧‧伺服器
SP1‧‧‧第一語音
SP2‧‧‧第二語音
1200、1300‧‧‧語音操控系統
1210‧‧‧輔助啟動裝置
1212、1222‧‧‧無線傳輸模組
1214‧‧‧觸發模組
1216‧‧‧無線充電電池
12162‧‧‧電池單元
12164‧‧‧無線充電模組
1220、1320‧‧‧移動終端裝置
1221‧‧‧語音系統
1224‧‧‧語音取樣模組
1226‧‧‧語音合成模組
1227‧‧‧語音輸出介面
1228‧‧‧通訊模組
1230‧‧‧(雲端)伺服器
1232‧‧‧語音理解模組
12322‧‧‧語音識別模組
12324‧‧‧語音處理模組
S410~S460‧‧‧根據本發明一實施例的檢索方法的步驟
S510~S590‧‧‧根據本發明一實施例的自然語言理解系統工作過程的步驟
S602、S604、S606、S608、S610、S612‧‧‧修正語音應答的方法各步驟
S802~S890‧‧‧根據本發明一實施例的自然語言對話方法各步驟
S1100~S1190‧‧‧依據本發明一實施例的基於語音識別的選擇方法的各步驟
S1402~S1412‧‧‧依據本發明一實施例的語音操控方法的各步驟
圖1為根據本發明的一實施例的自然語言理解系統的方塊圖。
圖2為根據本發明的一實施例的自然語言處理器對用戶的各種請求資訊的分析結果的示意圖。
圖3A是根據本發明的一實施例的結構化資料庫所儲存的具有特定資料結構的多個記錄的示意圖。
圖3B是根據本發明的另一實施例的結構化資料庫所儲存的具有特定資料結構的多個記錄的示意圖。
圖3C是根據本發明的一實施例的指引資料儲存裝置所儲存的指引資料的示意圖。
圖4A為根據本發明的一實施例的檢索方法的流程圖。
圖4B為根據本發明的另一實施例的自然語言理解系統工作過程的流程圖。
圖5A是依照本發明一實施例所繪示的自然語言對話系統的方塊圖。
圖5B是依照本發明一實施例所繪示的自然語言理解系統的方塊圖。
圖5C是依照本發明另一實施例所繪示的自然語言對話系統的方塊圖。
圖6是依照本發明一實施例所繪示的修正語音應答的方法流程圖。
圖7A是依照本發明一實施例所繪示的自然語言對話系統的方塊圖。
圖7B是依照本發明另一實施例所繪示的自然語言對話系統的方塊圖。
圖8A是依照本發明一實施例所繪示的自然語言對話方法流程圖。
圖8B是根據本發明的再一實施例的結構化資料庫所儲存的
具有特定資料結構的多個記錄的示意圖。
圖9為依據本發明一實施例的移動終端裝置的系統示意圖。
圖10為依據本發明一實施例的資訊系統的系統示意圖。
圖11為依據本發明一實施例的基於語音識別的選擇方法的流程圖。
圖12是依照本發明一實施例所繪示的語音操控系統的方塊圖。
圖13是依照本發明另一實施例所繪示的語音操控系統的方塊圖。
圖14是依照本發明一實施例所繪示的語音操控方法的流程圖。
由於現有運用固定詞列表的實施方式只能提供僵化的輸入規則,對於用戶多變的輸入語句的判斷能力十分不足,所以常導致對用戶的意圖判斷錯誤而找不到所需的資訊、或是因為判斷力不足而輸出不必要的資訊給用戶等問題。此外,現有的搜尋引擎只能對用戶提供分散、且相關不強的搜尋結果,於是用戶還要花時間逐條檢視才能過濾出所需資訊,不僅浪費時間而且可能漏失所需資訊。本發明即針對現有技術的前述問題提出一結構化資料的檢索方法與系統,在結構化資料提供特定的欄位來儲存不同類型的資料元素,俾提供用戶使用自然語音輸入資訊進行檢索
時,能快速且正確地判斷用戶的意圖,進而提供所需資訊予用戶、或提供更精確訊息供其選取。
圖1為根據本發明的一實施例的自然語言理解系統的方塊圖。如圖1所示,自然語言理解系統100包括檢索系統200、自然語言處理器300以及知識輔助理解模組400,知識輔助理解模組400耦接自然語言處理器300以及檢索系統200,檢索系統200還包括結構化資料庫220、搜尋引擎240以及檢索介面單元260,其中搜尋引擎240耦接結構化資料庫220以及檢索介面單元260。在本實施例中,檢索系統200包括有檢索介面單元260,但非以限定本發明,某些實施例中可能沒有檢索介面單元260,而以其他方式使搜尋引擎240對結構化資料庫220進行全文檢索。
當用戶對自然語言理解系統100發出請求資訊102時,自然語言處理器300可分析請求資訊102,並在將所分析的可能意圖語法資料106送往知識輔助理解模組400,其中可能意圖語法資料106包含關鍵字108與意圖資料112。隨後,知識輔助理解模組400取出可能意圖語法資料106中的關鍵字108並送往檢索系統200並將意圖資料112儲存在知識輔助理解模組400內部,而檢索系統200中的搜尋引擎240將依據關鍵字108對結構化資料庫220進行全文檢索之後,再將全文檢索的回應結果110回傳至知識輔助理解模組400。接著,知識輔助理解模組400依據回應結果110對所儲存的意圖資料112進行比對,並將所求得的確定意圖語法資料114送往分析結果輸出模組116,而分析結果輸出模組116
再依據確定意圖語法資料114,傳送分析結果104至伺服器(未顯示),隨後在查詢到用戶所需的資料後將其送給用戶。應注意的是,分析結果104可包含關鍵字108,亦可輸出包含關鍵字108的記錄(例如圖3A/3B的記錄)的部分資訊(例如記錄302的編號)、或是全部的資訊。此外,分析結果104可直接被伺服器轉換成語音輸出予用戶、或是再經過特定處理後再輸出對應語音予用戶(後文會再詳述“特定處理”的方式與所包含的內容與資訊),本領域的技術人員可依據實際需求設計檢索系統200所輸出的資訊,本發明對此不予以限制。
上述的分析結果輸出模組116可視情況與其他模組相結合,例如在一實施例中可併入知識輔助理解模組400中、或是在另一實施例中分離于自然語言理解系統100而位於伺服器(例如包含自然語言理解系統100者)中,於是伺服器將直接接收意圖語法資料114再進行處理。此外,知識輔助理解模組400可將意圖資料112儲存在模組內部的儲存裝置中、在自然語言理解系統100中、伺服器中(例如包含自然語言理解系統100者)、或是在任何可供知識輔助理解模組400可以擷取到的儲存器中,本發明對此並不加以限定。再者,自然語言理解系統100包括檢索系統200、自然語言處理器300以及知識輔助理解模組400可以用硬體、軟體、固件、或是上述方式的各種結合方式來構築,本發明亦未對此進行限制。
前述自然語言理解系統100可以位於雲端伺服器中,也
可以位於區域網路中的伺服器,甚或是位於個人電腦、移動電腦裝置(如筆記型電腦)或移動通訊裝置(如手機)等。自然語言理解系統100或檢索系統200中的各構件也不一定需設置在同一機器中,而可視實際需要分散在不同裝置或系統透過各種不同的通訊協定來連結。例如,自然語言理解處理器300及知識輔助理解模組400可配置於同一智慧型手機內,而檢索系統200可配置在另一雲端伺服器中;或者是,檢索介面單元260、自然語言理解處理器300及知識輔助理解模組400可配置於同一筆記型電腦內,而搜尋引擎240及結構化資料庫220可配置于區域網路中的另一伺服器中。此外,當自然語言理解系統100皆位於伺服器時(不論是雲端伺服器或區域網路伺服器),可以將檢索系統200、自然語言理解處理器300、以及知識輔助理解模組400配置不同的電腦主機中,並由伺服器主系統來統籌其相互間的訊息與資料的傳送。當然,檢索系統200、自然語言理解處理器300、以及知識輔助理解模組400亦可視實際需求而將其中兩者或全部合併在一電腦主機中,本發明並不對這部分的配置進行限制。
在本發明的實施例中,用戶可以用各種方式來向自然語言處理器300發出請求資訊,例如用說話的語音輸入或是文字描述等方式來發出請求資訊。舉例來說,若自然語言理解系統100是位於雲端或區域網路中的伺服器(未顯示)內,則用戶可先藉由移動裝置(例如手機、PDA、平板電腦或類似系統)來輸入請求資訊102,接著再透過電信系統業者來將請求資訊102傳送至伺服器中
的自然語言理解系統100,來讓自然語言處理器300進行請求資訊102的分析,最後伺服器於確認用戶意圖後,再透過分析結果輸出模組116將對應的分析結果104透過伺服器的處理後,將用戶所請求的資訊傳回用戶的移動裝置。舉例來說,請求資訊102可以是用戶希望藉由自然語言理解系統100來求得答案的問題(例如"明天上海的天氣怎麼樣啊"),而自然語言理解系統100在分析出用戶的意圖是查詢上海明天的天氣時,將透過分析結果輸出模組116將所查詢的天氣資料作為輸出結果104送給用戶。此外,若用戶對自然語言理解系統100所下的指令為"我要看讓子彈飛"、"我想聽一起走過的日子"時,因為“讓子彈飛”或“一起走過的日子”可能包含不同的領域,所以自然語言處理器300會將用戶的請求資訊102分析成一個或一個以上的可能意圖語法資料106,此可能意圖語法資料106包括有關鍵字108及意圖資料112,然後再經由對檢索系統220中的結構化資料240進行全文檢索後,進而確認用戶的意圖。
進一步來說,當用戶的請求資訊102為"明天上海的天氣怎麼樣啊?"時,自然語言處理器300經過分析後,可產生一個可能意圖語法資料106:"<queryweather>,<city>=上海,<時間>=明天"。
在一實施例中,如果自然語言理解系統100認為用戶的意圖已相當明確,便可以直接將用戶的意圖(亦即查詢明天上海的天氣)透過分析結果輸出模組116輸出分析結果104至伺服器,而
伺服器可在查詢到用戶所指定的天氣候傳送給用戶。又例如,當用戶的請求資訊102為"我要看三國演義"時,自然語言處理器300經過分析後,可產生出三個可能意圖語法資料106:"<readbook>,<bookname>=三國演義";"<watchTV>,<TVname>=三國演義";以及"<watchfilm>,<filmname>=三國演義"。
這是因為可能意圖語法資料106中的關鍵字108(亦即“三國演義”)可能屬於不同的領域,亦即書籍(<readbook>)、電視劇(<watchTV>)、以及電影(<readfilm>)三個領域,所以一個請求資訊102可分析成多個可能意圖語法資料106,因此需要透過知識輔助理解模組400做進一步分析,來確認用戶的意圖。再舉另一個例子來說,若用戶輸入"我要看讓子彈飛"時,因其中的"讓子彈飛"有可能是電影名稱或是書名稱,所以也可能出現至少以下兩個可能意圖語法資料106:"<readbook>,<bookname>=讓子彈飛";以及"<watchfilm>,<filmname>=讓子彈飛";其分別屬於書籍與電影兩個領域。上述的可能意圖語法資料106隨後需透過知識輔助理解模組400做進一步分析,並從中求得確定意圖語法資料114,來表達用戶的請求資訊的明確意圖。當知識輔助理解模組400分析可能意圖語法資料106時,知識輔助理解模組400可透過檢索介面260傳送關鍵字108(例如上述的“三國演義”或“讓子彈飛”)給檢索系統200。檢索系統200
中的結構化資料庫220儲存了具有特定資料結構的多個記錄,而搜尋引擎240能藉由檢索介面單元260所接收的關鍵字108來對結構化資料庫220進行全文檢索,並將全文檢索所獲得的回應結果110回傳給知識輔助理解模組400,隨後知識輔助理解模組400便能藉由此回應結果110來求得確定意圖語法資料114。至於對結構化資料庫220進行全文檢索以確定意圖語法資料114的細節,將在後面透過圖3A、圖3B與相關段落做更詳細的描述。
在本發明的概念中,自然語言理解系統100能先擷取用戶的請求資訊102中的關鍵字108,並藉由結構化資料庫220的全文檢索結果來判別關鍵字108的領域屬性,例如上述輸入“我要看三國演義”時,會產生分別屬於書籍、電視劇、電影三個領域的可能意圖語法資料106,隨後再進一步分析並確認用戶的明確意圖。因此用戶能夠很輕鬆地以口語化方式來表達出其意圖或資訊,而不需要特別熟記特定用語,例如現有作法中關於固定詞列表的特定用語。
圖2為根據本發明的一實施例的自然語言處理器300對用戶的各種請求資訊的分析結果的示意圖。
如圖2所示,當用戶的請求資訊102為"明天上海的天氣怎麼樣啊"時,自然語言處理器300經過分析後,可產生出可能意圖語法資料106為:"<queryweather>,<city>=上海,<時間>=明天"
其中意圖資料112為"<queryweather>"、而關鍵字108為
"上海"與"明天"。由於經自然語言處理器300的分析後只取得一組意圖語法資料106(查詢天氣<queryweather>),因此在一實施例中,知識輔助理解模組400可直接取出關鍵字108"上海"與"明天"作為分析結果104送往伺服器來查詢天氣的資訊(例如查詢明天上海天氣概況、包含氣象、氣溫...等資訊),而不需要對結構化資料庫220進行全文檢索來判定用戶意圖。當然,在一實施例中,仍可對結構化資料庫220進行全文檢索做更精確的用戶意圖判定,本領域的技術人員可依據實際需求進行變更。
此外,當用戶的請求資訊102為"我要看讓子彈飛"時,因為可產生出兩個可能意圖語法資料106:"<readbook>,<bookname>=讓子彈飛";以及"<watchfilm>,<filmname>=讓子彈飛";與兩個對應的意圖資料112"<readbook>"與"<watchfilm>"、以及兩個相同的關鍵字108"讓子彈飛",來表示其意圖可能是看"讓子彈飛"的書籍或是看"讓子彈飛"的電影。為進一步確認用戶的意圖,將透過知識輔助理解模組400傳送關鍵字108"讓子彈飛"給檢索介面單元260,接著搜尋引擎240藉由此關鍵字108"讓子彈飛"來對結構化資料庫220進行全文檢索,以確認"讓子彈飛"應該是書名稱或是電影名稱,藉以確認用戶的意圖。
再者,當用戶的請求資訊102為"我想聽一起走過的日子"時,可產生出兩個可能意圖語法資料106:"<playmusic>,<singer>=一起走過,<songname>=日子";
"<playmusic>,<songname>=一起走過的日子"
兩個對應的相同的意圖資料112"<playmusic>"、以及兩組對應的關鍵字108"一起走過"與"日子"及"一起走過的日子",來分別表示其意圖可能是聽歌手"一起走過"所唱的歌曲"日子"、或是聽歌曲"一起走過的日子",此時知識輔助理解模組400可傳送第一組關鍵字108"一起走過"與"日子"以及第二組關鍵字"一起走過的日子"給檢索介面單元260,來確認是否有"一起走過"這位歌手所演唱的"日子"這首歌(第一組關鍵字所隱含的用戶意圖)、或是否有"一起走過的日子"這首歌(第二組關鍵字所隱含的用戶意圖),藉以確認用戶的意圖。然而,本發明並不限於在此所表示的各可能意圖語法資料與意圖資料所對應的格式與名稱。
圖3A是根據本發明的一實施例的結構化資料庫220所儲存的具有特定資料結構的多個記錄的示意圖。
一般而言,在一些現有的全文檢索作法中,所獲得的搜尋結果是非結構化的資料(例如透過google或百度所搜尋的結果),因其搜尋結果的各項資訊是分散且不具關聯的,所以用戶必須再對各項資訊逐一檢視,因此造成實用性的限制。然而,在本發明的概念中,能藉由結構化資料庫來有效增進檢索的效率與正確性。因為本發明所揭示的結構化資料庫中的每個記錄內部所包含的數值資料相互間具有關聯性,且這些數值資料共同用以表達該記錄的屬性。於是在搜尋引擎對結構化資料庫進行一全文檢索時,可在記錄的數值資料與關鍵字產生匹配時,輸出對應於該數
值資料的指引資料,作為確認該請求資訊的意圖。這部分的實施細節將透過下列實例作更進一步的描述。
在本發明的實施例中,結構化資料庫220所儲存的每個記錄302包括標題欄位304及內容欄位306,標題欄位304內包括多個分欄位308,各分欄位包括指引欄位310以及數值欄位312,所述多個記錄302的指引欄位310用以儲存指引資料,而所述多個記錄302的數值欄位312用以儲存數值資料。在此以圖3A所示的記錄1來舉例說明,記錄1的標題欄位304中的三個分欄位308分別儲存了:"singerguid:劉德華"、"songnameguid:一起走過的日子";及"songtypeguid:港臺,粵語,流行";各分欄位308的指引欄位310分別儲存了指引資料"singerguid"、"songnameguid"及"songtypeguid"、而其對應分欄位308的數值欄位312則分別儲存了數值資料"劉德華"、"一起走過的日子"及"港臺,粵語,流行"。指引資料"singerguid"代表數值資料"劉德華"的領域種類為歌手名稱(singer),指引資料"songnameguid"代表數值資料"一起走過的日子"的領域種類為歌曲名稱(song),指引資料"songtypeguid"代表數值資料"港臺,粵語,流行"的領域種類為歌曲類型(song type)。在此的各指引資料實際上可分別用不同的特定一串數字或字來表示,在本發明中不以此為限。記錄1的內容欄位306則是儲存了"一起走過的日子"這首歌
的歌詞內容或儲存其他的資料(例如作曲/詞者...等),然而各記錄的內容欄位306中的真實資料並非本發明所強調的重點,因此在圖3A中僅示意性地來描述之。
前述的實施例中,每個記錄包括標題欄位304及內容欄位306,且標題欄位304內的分欄位308包括指引欄位310以及數值欄位312,但非以限定本發明,某些實施例中也可以沒有內容欄位306,甚或是有些實施例中可以沒有指引欄位310。
除此之外,在本發明的實施例中,於各分欄位308的資料間儲存有第一特殊字元來分隔各分欄位308的資料,於指引欄位310與該數值欄位312的資料間儲存有第二特殊字元來分隔指引欄位與數值欄位的資料。舉例來說,如圖3A所示,"singerguid"與"劉德華"之間、"songnameguid"與"一起走過的日子"之間、以及"songtypeguid"與"港臺,粵語,流行"之間是利用第二特殊字元":"來做分隔,而記錄1的各分欄位308間是利用第一特殊字元"|"來做分隔,然而本發明並不限於以":"或"|"來做為用以分隔的特殊字元。
另一方面,在本發明的實施例中,標題欄位304中的各分欄位308可具有固定位數,例如各分欄位308的固定位數可以是32個字,而其中的指引欄位310的固定位數可以是7或8個位(最多用來指引128或256種不同的指引資料),此外,因第一特殊字元與第二特殊字元所需要的位元數可以是固定的,所以分欄位308的固定位數在扣除指引欄位310、第一特殊字元、第二特殊字
元所占去的位元數後,剩下的位數便可悉數用來儲存數值欄位312的數值資料。再者,由於分欄位308的位數固定,加上分欄位308儲存資料的內容可如圖3A所示依序為指引欄位310(指引資料的指標)、第一特殊字元、數值欄位312的數值資料、第二特殊字元,而且如前所述,這四個資料的位元數量也是固定的,於是在實作上可跳過指引欄位310的位(例如跳過前7或8個位)、以及第二特殊字元的位元數(例如再跳過1個字,亦即8個位)後,再扣掉第一特殊字元所占的位元數(例如最後1個字、8個位)之後,最後便可直接取得數值欄位312的數值資料(例如在記錄1的第一個分欄位308中直接取出數值資料”劉德華”,此時還有32-3=29個字可供儲存數值欄位312的數值資料,算式中的3(亦即1+1+1)代表被指引欄位310的指引資料、第一特殊字元、第二特殊字元所分別占去的1個字),接著再進行所需的領域種類判斷即可。於是,在目前所取出的數值資料比對完畢後(不論是否比對成功與否),可以再依據上述取出數值資料的方式取出下一個分欄位308的數值資料(例如在記錄1的第二個分欄位308中直接取出數值資料“一起走過的日子”),來進行比對領域種類的比對。上述取出數值資料的方式可以從記錄1開始進行比對,並在比對完記錄1所有的數值資料後,再取出記錄2的標題欄位308中第一個分欄位308的數值資料(例如“馮小剛”)進行比對。上述比對程式將持續進行,直到所有記錄的數值資料都被比對過為止。
應注意的是,上述的分欄位308的位數、以及指引欄位
310、第一特殊字元、第二特殊字元個使用的位元數可依實際應用改變,本發明對此並未加以限制。前述利用比對來取出數值資料的方式只是一種實施例,但非用以限定本發明,另一實施例可以使用全文檢索的方式來進行。此外,上述跳過指引欄位310、第二特殊字元、第一特殊字元的實作方式,可以使用位元平移(例如除法)來達成,此部分的實施可以用硬體、軟體、或兩者結合的方式進行,本領域的技術人員可依實際需求而變更。在本發明的另一實施例中,標題欄位304中的各分欄位308可具有固定位數,分欄位308中的指引欄位310可具有另一固定位數,並且標題欄位304中可不包括第一特殊字元以及第二特殊字元,由於各分欄位308以及各指引欄位310的位數為固定,所以可利用跳過特定位元數的方式或是使用位元平移(例如除法)的方式來直接取出各分欄位308中的指引資料或數值資料。
應注意的是,由於前面已提到分欄位308具有一定的位數,所以可以在自然語言理解系統100中(或是包含自然語言理解系統100的伺服器中)使用計數器來記錄目前所比對的是某一記錄的某分欄位308。此外,比對的記錄亦可使用另一計數器來儲存其順序。舉例來說,當分別使用一第一計數器記錄來表示目前所比對的記錄順序、並使用一第二計數器來表示目前所比對的分欄位順序時,若目前比對的是圖3A的記錄2的第3個分欄位308(亦即比對“filenameguid:華誼兄弟”)時,第一計數器所儲存的數值將是2(表示目前比對的是記錄2),第二計數器所儲存的數值則為3(表
示目前比對的是第3個分欄位308)。再者,上述僅以7或8個位儲存指引欄位310的指引資料的方式,是希望將分欄位308的大多數字都用來儲存數值資料,而實際的指引資料則可透過這7、8個位當作指標,再據以從檢索系統200所儲存的指引資料儲存裝置280中讀取實際的指引資料,其中指引資料是以表格的方式進行儲存,但其他任何可供檢索系統200存取的方式皆可用在本發明中。於是,在實際操作時,除了可直接取出數值資料進行比對之外,亦可在產生匹配結果時,直接依據上述兩個計數器的數值,直接取出指引資料作為回應結果110送給知識輔助理解模組400。舉例來說,當記錄6的第2個分欄位308(亦即“songnameguid:背叛”)匹配成功時,將得知目前的第一計數器/第二計數器的數值分別為6與2,因此可以依據這兩個數值前往儲存圖3C所示的指引資料儲存裝置280,由記錄6的分欄位2查詢出指引資料為“songnameguid”。在一實施例中,可以將分欄位308的位數固定後,再將分欄位308的所有位元都用來儲存數值資料,於是可以完全除去指引欄位、第一特殊字元、第二特殊字元,而搜尋引擎240只要知道每越過固定位數就是另一個分欄位308,並在第二計數器中加一即可(當然,每換下一個記錄進行檢索時亦需將第一計數器的儲存值加一),這樣可以提供更多的位元數來儲存數值資料。
再舉一個實例來說明比對產生匹配結果時,回傳匹配記錄110至知識輔助理解模組400做進一步處理的過程。對應於上
述記錄302的資料結構,在本發明的實施例中,當用戶的請求資訊102為"我要看讓子彈飛"時,可產生出兩個可能意圖語法資料106:"<readbook>,<bookname>=讓子彈飛";與"<watchfilm>,<filmname>=讓子彈飛";搜尋引擎240便藉由檢索介面單元260所接收的關鍵字108"讓子彈飛"來對圖3A的結構化資料庫220所儲存的記錄的標題欄位304進行全文檢索。全文檢索中,在標題欄位304中找到了儲存有數值資料"讓子彈飛"的記錄5,因此產生了匹配結果。接下來,檢索系統200將回傳記錄5標題欄位304中,對應於關鍵字108“讓子彈飛”的指引資料“filmnameguid”作為回應結果110並回傳至知識輔助理解模組400。由於在記錄5的標題欄位中,包含對應數值資料"讓子彈飛"的指引資料"filmnameguid",所以知識輔助理解模組400藉由比對記錄5的指引資料"filmnameguid"與上述可能意圖語法資料106先前已儲存的意圖資料112"<watchfilm>"或"<readbook>",便能判斷出此次請求資訊的確定意圖語法資料114為"<watchfilm>,<filmname>=讓子彈飛"(因為都包含“film”在其中)。換句話說,此次用戶的請求資訊102中所描述資料"讓子彈飛"是電影名稱,而資料用戶的請求資訊102的意圖為看電影"讓子彈飛",而非閱讀書籍。
再舉一個實例作更進一步的說明。當用戶的請求資訊102為"我想聽一起走過的日子"時,可產生出兩個可能意圖語法資料
106:"<playmusic>,<singer>=一起走過,<songname>=日子";與"<playmusic>,<songname>=一起走過的日子";搜尋引擎240便藉由檢索介面單元260所接收的兩組關鍵字108:"一起走過"與"日子";以及"一起走過的日子"
來對圖3A的結構化資料庫220所儲存的記錄的標題欄位304進行全文檢索。由於全文檢索中,並未在所有記錄的標題欄位304中找到對應於第一組關鍵字108"一起走過"與"日子"的匹配結果,而是找到了對應於第二組關鍵字108"一起走過的日子"的記錄1,於是檢索系統200將記錄1標題欄位304中對應於第二組關鍵字108的指引資料"songnameguid",作為匹配記錄110且回傳至知識輔助理解模組400。接下來,知識輔助理解模組400在接收對應數值資料"一起走過的日子"的指引資料"songnameguid"後,便與可能意圖語法資料106(亦即"<playmusic>,<singer>=一起走過,<songname>=日子"與"<playmusic>,<songname>=一起走過的日子")中的意圖資料112(亦即<singer>、<songname>等)進行比對,於是便發現此次用戶的請求資訊102中並未描述有歌手名稱的資料,而是描述有歌曲名稱為"一起走過的日子"的資料(因為只有<songname>比對成功)。所以,知識輔助理解模組400可藉由上述比對而判斷出此次請求資訊102的確定意圖語法資料114為
"<playmusic>,<songname>=一起走過的日子",而用戶的請求資訊102的意圖為聽歌曲"一起走過的日子"。
在本發明的另一實施例中,檢索而得的回應結果110可以是與關鍵字108完全匹配的完全匹配記錄、或是與關鍵字108部分匹配的部分匹配記錄。舉例來說,如果用戶的請求資訊102為"我想聽蕭敬騰的背叛",同樣地,自然語言處理器300經過分析後,產生出兩個可能意圖語法資料106:"<playmusic>,<singer>=蕭敬騰,<songname>=背叛";及"<playmusic>,<songname>=蕭敬騰的背叛";並傳送兩組關鍵字108:"蕭敬騰"與"背叛";以及"蕭敬騰的背叛";給檢索介面單元260,搜尋引擎240接著藉由檢索介面單元260所接收的關鍵字108來對圖3A的結構化資料庫220所儲存的記錄302的標題欄位304進行全文檢索。由於在全文檢索中,對應第二組關鍵字108"蕭敬騰的背叛"並未匹配到任何記錄,但是對應第一組關鍵字108"蕭敬騰"與"背叛"找到了記錄6與記錄7的匹配結果。由於第二組關鍵字108"蕭敬騰"與"背叛"僅與記錄6中的數值資料"蕭敬騰"相匹配,而未匹配到其他數值資料"楊宗緯"及"曹格",因此記錄6為部分匹配記錄(請注意上述對應請求資訊102"我要看讓子彈飛"的記錄5以及對應請求資訊"我想聽一起走過的日子"的記錄1皆為部分匹配記錄),而關鍵字"蕭敬騰"與"背
叛"完全匹配了記錄7的數值資料(因為第二組關鍵字108"蕭敬騰"與"背叛"皆匹配成功),所以記錄7為完全匹配記錄。在本發明的實施例中,當該檢索介面單元260輸出多個匹配記錄110至知識輔助理解模組400時,可依序輸出完全匹配記錄(亦即全部的數值資料都被匹配)及部分匹配記錄(亦即僅有部分的數值資料被匹配)的匹配記錄110,其中完全匹配記錄的優先順序大於部分匹配記錄的優先順序。因此,在檢索介面單元260輸出記錄6與記錄7的匹配記錄110時,記錄7的輸出優先順序會大於記錄6的輸出優先順序,因為記錄7全部的數值資料"蕭敬騰"與"背叛"都產生匹配結果,但記錄6還包含"楊宗緯"與"曹格"未產生匹配結果。也就是說,結構化資料庫220中所儲存的記錄對其請求資訊102中的關鍵字108的匹配程度越高,越容易優先被輸出,以便用戶進行查閱或挑選對應的確定意圖語法資料114。在另一實施例中,可直接輸出優先順序最高的記錄所對應的匹配記錄110,做為確定意圖語法資料114之用。前述非以限定本發明,因為在另一實施例中可能採取只要搜尋到有匹配記錄即輸出的方式(例如,以"我想聽蕭敬騰的背叛"為請求資訊102而言,當檢索到記錄6即產生匹配結果時,即輸出記錄6對應的指引資料做匹配記錄110),而沒有包含優先順序的排序,以加快檢索的速度。在另一實施例中,可對優先順序最高的記錄,直接執行其對應的處理方式並提供予用戶。例如當優先順序最高的為播放三國演義的電影時,可直接播放電影與用戶。此外,若優先順序最高的為蕭敬騰演唱的背叛時,可
直接將此歌曲播放與用戶。應注意的是,本發明在此僅作說明,並非對此加以限定。
在本發明的再一實施例中,如果用戶的請求資訊102為"我要聽劉德華的背叛",則其可能意圖語法資料106的其中之一為:"<playmusic>,<singer>=劉德華,<songname>=背叛”;若檢索介面單元260將關鍵字108"劉德華"與"背叛"輸入搜尋引擎240,並不會在圖3A的資料庫中找到任何的匹配結果。在本發明的又一實施例中,檢索介面單元260可分別將關鍵字108"劉德華"以及"背叛"輸入搜尋引擎240,並且分別對應求得"劉德華"是歌手名稱(指引資料singerguid)以及"背叛"是歌曲名稱(指引資料songnameguid,且歌手可能是曹格或是蕭敬騰、楊宗緯與曹格合唱)。此時,自然語言理解系統100可進一步提醒用戶:“背叛這首歌曲是否為蕭敬騰所唱(依據記錄7的匹配結果)?”,或者,“是否為蕭敬騰、楊宗緯與曹格所合唱(依據記錄6的匹配結果)?”。
在本發明的再一實施例中,結構化資料庫220所儲存記錄可還包括有來源欄位314及熱度欄位316。如圖3B所示的資料庫,其除了圖3A的各項欄位之外,還包含來源欄位314熱度欄位316、喜好欄位318與厭惡欄位。各記錄的來源欄位314可用以儲存此記錄是出自哪一個結構化資料庫(在此圖式中僅顯示結構化資料庫220,而實際上可存在更多不同的結構化資料庫)、或是哪一個用戶、伺服器所提供的來源值。並且,自然語言理解系統100
可根據用戶在之前的請求訊息102中所透漏的喜好,來檢索特定來源的結構化資料庫(例如以請求資訊102中的關鍵字108進行全文檢索產生匹配時,便對該記錄的熱度值加一)。而各記錄302的熱度欄位316用以儲存此記錄302的搜尋熱度值或是熱門程度值(例如該記錄在特定時間裏被單一用戶、特定用戶群組、所有用戶的匹配次數或機率),以供知識輔助理解模組400判斷用戶意圖時的參考,至於喜好欄位318與厭惡欄位的使用方式後文會再詳述。詳細而論,當用戶的請求資訊102為"我要看三國演義"時,自然語言處理器300經過分析後,可產生出多個可能意圖語法資料106:"<readbook>,<bookname>=三國演義";"<watchTV>,<TVname>=三國演義";以及"<watchfilm>,<filmname>=三國演義"。
若自然語言理解系統100在用戶的請求資訊102的歷史記錄中(例如利用透過熱度欄位316儲存該筆記錄302被某用戶所點選的次數),統計出其大部份的請求為看電影,則自然語言理解系統100可針對儲存電影記錄的結構化資料庫來做檢索(此時來源欄位314中的來源值,是記錄儲存電影記錄的結構化資料庫的代碼),從而可優先判定"<watchfilm>,<filmname>=三國演義"為確定意圖語法資料114。舉例來說,在一實施例中亦可在每個記錄302被匹配一次,就可在後面的熱度欄位316加一,作為用戶的歷史記錄。於是在依據關鍵字108“三國演義”做全文檢索時,可以從所有匹配結果中挑選熱度欄位316中數值最高的記錄302,作為判
斷用戶意圖之用。在一實施例中,若自然語言理解系統100在關鍵字108"三國演義"的檢索結果中,判定對應"三國演義"這出電視節目的記錄的熱度欄位316所儲存的搜尋熱度值最高,則便可優先判定"<watchTV>,<TVname>=三國演義"為確定意圖語法資料114。此外,上述對熱度欄位316所儲存數值的變更方式,可透過自然語言理解系統100所在的電腦系統進行變更,本發明對此並不加以限制。此外、熱度欄位316的數值亦可隨時間遞減,以表示用戶對某項記錄302的熱度已逐漸降低,本發明對這部分亦不加以限制。
再舉另一個實例來說,在另一實施例中,由於用戶可能在某段時間中特別喜歡看三國演義的電視劇,由於電視劇的長度可能很長而用戶無法短時間看完,因此在短時間中可能重複點選(假設每匹配一次就將熱度欄位316內的數值加一的話),因此造成某個記錄302被重複匹配,這部分都可透過分析熱度欄位316的資料而得知。再者,在另一實施例中,電信業者也可以利用熱度欄位316來表示某一來源所提供資料被取用的熱度,而此資料供應者的編碼可以用來源欄位314進行儲存。舉例來說,若某位供應“三國演義電視劇”的供應者的被點選的機率最高,所以當某用戶輸入“我要看三國演義”的請求資訊102時,雖然在對圖3B的資料庫進行全文檢索時會找到閱讀三國演義的書籍(記錄8)、觀看三國演義電視劇(記錄9)、觀看三國演義電影(記錄10)三個匹配結果,但由於熱度欄位316中的資料顯示觀看三國演義電視劇是現
在最熱門的選項(亦即記錄8、9、10的熱度欄位的數值分別為2、5、8),所以將先提供記錄10的指引資料做匹配記錄110輸出至知識輔助理解系統400,作為判定用戶意圖的最優先選項。在一實施例中,可同時將來源欄位314的資料顯示給用戶,讓用戶判斷他所想要觀看的電視劇是否為某位供應者所提供。應注意的是,上述對來源欄位314所儲存資料以及其變更方式,亦可透過自然語言理解系統100所在的電腦系統進行變更,本發明對此並不加以限制。應注意的是,本領域的技術人員應知,可進一步將圖3B中的熱度欄位316、喜好欄位318、厭惡欄位320所儲存的資訊進一步切割成與用戶個人相關以及與全體用戶相關兩部分,並將與用戶個人相關的熱度欄位316、喜好欄位318、厭惡欄位320資訊將儲存在用戶的手機,而伺服器則儲存與全體用戶相關的熱度欄位316、喜好欄位318、厭惡欄位320等資訊。這樣一來,僅與用戶個人的選擇或意圖相關的個人喜好相關資訊就只儲存在用戶個人的移動通訊裝置(例如手機、平板電腦、或是小筆電...等)中,而伺服器則儲存與用戶全體相關的資訊,這樣不僅可節省伺服器的儲存空間,也保留用戶個人喜好的隱密性。
明顯的,本發明所揭示的結構化資料庫中的每個記錄內部所包含的數值資料相互間具有關聯性(例如記錄1中的數值資料“劉德華”、“一起走過的日子”、“港臺,粵語,流行”都是用來描述記錄1的特徵),且這些數值資料共同用以表達來自用戶的請求資訊對該記錄的意圖(例如對“一起走過的日子”產生匹配結
果時,表示用戶的意圖可能是對記錄1的資料存取),於是在搜尋引擎對結構化資料庫進行全文檢索時,可在記錄的數值資料被匹配時,輸出對應於該數值資料的指引資料(例如輸出“songnameguid”作為回應結果110),進而確認該請求資訊的意圖(例如在知識輔助理解模組400中進行比對)。
基於上述示範性實施例所揭示或教示的內容,圖4A為根據本發明的一實施例的檢索方法的流程圖。請參閱圖4A,本發明的實施例的檢索方法包括以下步驟:提供結構化資料庫,且結構化資料庫儲存多個記錄(步驟S410);接收至少一關鍵字(步驟S420);藉由關鍵字來對多個記錄的標題欄位進行全文檢索(步驟S430)。舉例來說,將關鍵字108輸入檢索介面單元260來讓搜尋引擎240對結構化資料庫220所儲存的多個記錄302的標題欄位304進行全文檢索,至於檢索方式可如對圖3A或圖3B所進行的檢索方式、或是不變更其精神的方式來進行;判斷全文檢索是否有匹配結果(步驟S440)。舉例來說,藉由搜尋引擎240來判斷此關鍵字108所對應的全文檢索是否有匹配結果;以及若有匹配結果,依序輸出完全匹配記錄及部分匹配記錄(步驟S450)。舉例來說,若結構化資料庫220中有記錄匹配此關鍵字108,則檢索介面單元260依序輸出匹配此關鍵字108的完全匹配
記錄及部分匹配記錄中的指引資料(可透過對圖3C的指引資料儲存裝置280而取得)作為回應結果110送往知識輔助理解系統400,其中完全匹配記錄的優先順序大於部分匹配記錄的優先順序。
另一方面,若未有匹配結果,則可以直接通知用戶匹配失敗並結束流程、通知用戶未發現匹配結果並要求做更進一步的輸入、或是列舉可能選項給用戶做進一步選擇(例如前述以”劉德華”與”背叛”做全文檢索未產生匹配結果的例子)(步驟460)。
前述的流程步驟非以限定本發明,有些步驟是可以忽略或移除,例如,在本發明的另一實施例中,可藉由位於檢索系統200外的匹配判斷模組(未繪示於圖中)來執行步驟S440;或是在本發明的另一實施例中,可忽略上述步驟S450,其依序輸出完全匹配記錄及部分匹配記錄的動作可以藉由位於檢索系統200外的匹配結果輸出模組(未繪示於圖中),來執行步驟S450中依序輸出完全匹配記錄及部分匹配記錄的動作。
基於上述示範性實施例所揭示或教示的內容,圖4B為根據本發明的另一實施例的自然語言理解系統100工作過程的流程圖。請參閱圖4B,本發明的另一實施例的自然語言理解系統100工作過程包括以下步驟:接收請求資訊(步驟S510)。舉例來說,用戶將具有語音內容或文字內容的請求資訊102傳送至自然語言理解系統100;提供結構化資料庫,且結構化資料庫儲存多個記錄(步驟
S520);將請求資訊語法化(步驟S530)。舉例來說,自然語言處理器300分析用戶的請求資訊102後,進而轉為對應的可能意圖語法資料106;辨別關鍵字的可能屬性(步驟S540)。舉例來說,知識輔助理解模組400辨別出可能意圖語法資料106中的至少一關鍵字108的可能屬性,例如,關鍵字108"三國演義"可能是書、電影及電視節目;藉由關鍵字108來對多個記錄的標題欄位304進行全文檢索(步驟S550)。舉例來說,將關鍵字108輸入檢索介面單元260來讓搜尋引擎240對結構化資料庫220所儲存的多個記錄的標題欄位304進行全文檢索;判斷全文檢索是否有匹配結果(步驟S560)。舉例來說,藉由搜尋引擎240來判斷此關鍵字108所對應的全文檢索是否有匹配結果;若有匹配結果,依序輸出完全匹配記錄及部分匹配記錄(步驟S570)所對應的指引資料為回應結果110。舉例來說,若結構化資料庫220中有記錄匹配此關鍵字108,則檢索介面單元260依序輸出匹配此關鍵字108的完全匹配記錄及部分匹配記錄所對應的指引資料為回應結果110,其中完全匹配記錄的優先順序大於部分匹配記錄的優先順序;以及
依序輸出對應的確定意圖語法資料(步驟S580)。舉例來說,知識輔助理解模組400藉由依序輸出的完全匹配記錄及部分匹配記錄,藉以輸出對應的確定意圖語法資料114。
另一方面,若在步驟S560未產生匹配結果,亦可運用類似步驟S460的方式來處理,例如直接通知用戶匹配失敗並結束流程、通知用戶未發現匹配結果並要求做更進一步的輸入、或是列舉可能選項給用戶做進一步選擇(例如前述以”劉德華”與”背叛”做全文檢索未產生匹配結果的例子)(步驟S590)。
前述的流程步驟非以限定本發明,有些步驟是可以忽略或移除。
綜上所述,本發明藉由取出用戶的請求資訊所包括的關鍵字,並且針對結構化資料庫中的具有特定資料結構的記錄的標題欄位來進行全文檢索,若產生匹配結果,便可判斷出關鍵字所屬的領域種類,藉以確定用戶在請求資訊所表示的意圖。
接下來針對以上結構化資料庫在語音識別上的應用做更多的說明。首先針對在自然語言對話系統中,根據用戶的語音輸入來修正錯誤的語音應答,並進一步找出其他可能的答案來回報給用戶的應用做說明。
如前所述,雖然現今的移動通訊裝置已可提供自然語言對話功能,以讓用戶發出語音來和移動通訊裝置溝通。然而在目前的語音對話系統,當用戶的語音輸入不明確時,由於同一句語音輸入可能意指多個不同的意圖或目的,故系統容易會輸出不符
合語音輸入的語音應答。因此在很多對話情境中,用戶難以得到符合其意圖的語音應答。為此,本發明提出一種修正語音應答的方法以及自然語言對話系統,其中自然語言對話系統可根據用戶的語音輸入來修至錯誤的語音應答,並進一步找出其他可能的答案來回報給用戶。為了使本發明的內容更為明瞭,以下特舉實施例作為本發明確實能夠據以實施的範例。
圖5A是依照本發明一實施例所繪示的自然語言對話系統的方塊圖。請參照圖5A,自然語言對話系統500包括語音取樣模組510、自然語言理解系統520、以及語音合成資料庫530。在一實施例中,語音取樣模組510用以接收第一語音輸入501(例如來自用戶的語音),隨後對其進行解析而產生第一請求資訊503,而自然語言理解系統520會再對第一請求資訊503進行解析而取得其中的第一關鍵字509,並在找到符合第一請求資訊503的第一回報答案511後(依據圖1的描述,第一請求資訊503可運用請求資訊102相同的方式做處理,亦即請求資訊102在分析後會產生可能意圖語法資料106,而其中的關鍵字108會用來對結構化資料庫220進行全文檢索而獲得回應結果110,此回應結果110再與可能意圖語法資料106中的意圖資料112作比對而產生確定意圖語法資料114,最後由分析結果輸出模組116送出分析結果104,此分析結果104可作為圖5A中的第一回報答案511),依據此第一回報答案511對語音合成資料庫530進行對應的語音查詢(因為做為第一回答案511的分析結果104可包含完全/部分匹配的記錄302
的相關資料(例如儲存在指引欄位310的指引資料、在數值欄位312的數值資料、以及在內容欄位306的資料...等),因此可利用這些資料進行語音查詢),再輸出所查詢的第一語音513產生對應於第一語音輸入501的第一語音應答507予用戶。其中,倘若用戶認為自然語言理解系統520所輸出的第一語音應答507不符合第一語音輸入501中的第一請求資訊503時,用戶將輸入另一個語音輸入,例如第二語音輸入501’,來指示此事。自然語言理解系統520會利用上述對第一語音輸入501的相同處理方式來處理第二語音輸入501’以產生第二請求資訊503’,隨後對第二請求資訊503’進行解析、取得其中的第二關鍵字509’、找到符合第二請求資訊503’的第二回報答案511’、找出對應的第二語音513’、最後再依據第二語音513’產生對應的第二語音應答507’輸出予用戶,作為修正第一回報答案511之用。明顯的,自然語言理解系統520可以圖1的自然語言理解系統100為基礎,並再增加新的模組(將結合後續的圖5B做解說)來達成根據用戶的語音輸入來修正錯誤的語音應答的目的。
前述自然語言對話系統500中的各構件可配置在同一機器中。舉例而言,語音取樣模組510與自然語言理解系統520例如是配置於同一電子裝置。其中,電子裝置可以是移動電話(Cell phone)、個人數位助理(Personal Digital Assistant,PDA)手機、智慧型手機(Smart phone)等移動通訊裝置、掌上型電腦(Pocket PC)、平板型電腦(Tablet PC)、筆記型電腦、個人電腦、或是
其他具備通訊功能或安裝有通訊軟體的電子裝置,在此並不限制其範圍。此外,上述電子裝置可使用Android作業系統、Microsoft作業系統、Android作業系統、Linux作業系統等等,不限於此。當然,前述自然語言對話系統500中的各構件也不一定需設置在同一機器中,而可分散在不同裝置或系統並透過各種不同的通訊協定來連結。舉例而言,自然語言理解系統520可以位於雲端伺服器中,也可以位於區域網路中的伺服器。此外,自然語言理解系統520中的各構件也可分散在不同的機器,例如自然語言理解系統520中的各構件可位於與語音取樣模組510相同或不同的機器。
在本實施例中,語音取樣模組510用以接收語音輸入,此語音取樣模組510可以為麥克風(Microphone)等接收音訊的裝置,而第一語音輸入501/第二語音輸入501’可以是來自用戶的語音。
此外,本實施例的自然語言理解系統520可由一個或數個邏輯門組合而成的硬體電路來實作。或者,在本發明另一實施例中,自然語言理解系統520可以透過電腦程式碼來實作。舉例來說,自然語言理解系統520例如是由程式語言所撰寫的程式碼片段來實作于應用程式、作業系統或驅動程式等,而這些程式碼片段儲存在儲存單元中,並藉由處理單元(圖5A未顯示)來執行的。為了使本領域的技術人員進一步瞭解本實施例的自然語言理解系統520,底下舉實例來進行說明。然,本發明在此僅為舉例說
明,並不以此為限,例如運用硬體、軟體、固件、或是此三種實施方式的混合結合等方式,皆可運用來實施本發明。
圖5B是依照本發明一實施例所繪示的自然語言理解系統520的方塊圖。請參照圖5B,本實施例的自然語言理解系統520可包括語音識別模組522、自然語言處理模組524以及語音合成模組526。其中,語音識別模組522會接收從語音取樣模組510傳來的請求資訊,例如對第一語音輸入501進行解析的第一請求資訊503,並取出一個或多個第一關鍵字509(例如圖1A的關鍵字108或字句等)。自然語言處理模組524可再對這些第一關鍵字509進行解析,而獲得至少包含一個回報答案的候選列表(與圖5A的處理方式相同,亦即例如透過圖1A的檢索系統200對結構化資料庫220進行全文檢索,並在取得回應結果110且對意圖資料112比對後產生確定意圖語法資料114,最後由分析結果輸出模組116所送出的分析結果104來產生回報答案),並且會從候選列表所有的回報答案中選出一個較符合第一語音輸入501的答案以做為第一回報答案511(例如挑選完全匹配記錄...等)。由於第一回報答案511是自然語言理解系統520在內部分析而得的答案,所以還必須將它轉換成語音輸出才能輸出予用戶,這樣用戶才能進行判斷。於是語音合成模組526會依據第一回報答案511來查詢語音合成資料庫530,而此語音合成資料庫530例如是記錄有文字以及其對應的語音資訊,可使得語音合成模組526能夠找出對應於第一回報答案511的第一語音513,藉以合成出第一語音應答507。之後,
語音合成模組526可將合成的第一語音應答507透過語音輸出介面(未繪示)(其中語音輸出介面例如為喇叭、揚聲器、或耳機等裝置)輸出予用戶。應注意的是,語音合成模組526在依據第一回報答案511查詢語音合成資料庫530時,可能需要先將第一回報答案511進行格式轉換,然後透過語音合成資料庫530所規定的介面進行呼叫。由於呼叫語音合成資料庫530時是否需要進行格式轉換與語音合成資料庫530本身的定義相關,因這部分屬於本領域的技術人員所熟知的技術,故在此不予詳述。
接下來列舉實例來說明,若用戶輸入的是“我要看三國演義”的第一語音輸入501話,語音識別模組522會接收從語音取樣模組510傳來的對第一語音輸入501進行解析的第一請求資訊503,然後取出例如是包含“三國演義”的第一關鍵字509。自然語言處理模組524則可再對這個第一關鍵字509“三國演義”進行解析(例如透過圖1A的檢索系統200對結構化資料庫220進行全文檢索,並在取得回應結果110且對意圖資料112比對後產生確定意圖語法資料114,最後由分析結果輸出模組116所送出的分析結果104),進而產生包含“三國演義”的三個意圖選項的回報答案,並將其整合成一候選列表(假設每個意圖選項只有一個回報答案,其分別歸類於“看書”、“看電視劇”、以及“看電影”三個選項),接著再從候選列表的這三個回報答案中選出一個在熱度欄位316具有最高值(例如挑選圖3B的記錄10)做為第一回報答案511。在一實施例中,可以直接執行熱度欄位316具有最高值的所
對應的方式(例如先前所提的直接播放蕭敬騰所演唱的“背叛”予用戶),本發明並不對此加以限制。
此外,自然語言處理模組524還可藉由解析後續所接收的第二語音輸入501’(因為與先前的語音輸入501運用同樣的方式饋入語音取樣模組510),而判斷前次的第一回報答案511是否正確。因為第二語音輸入501’是用戶針對先前提供予用戶的第一語音應答507所做的回應,其包含用戶認為先前的第一語音應答507正確與否的資訊。倘若在分析第二語音輸入501’後是表示用戶認為第一回報答案511不正確,自然語言處理模組524可選擇上述候選列表中的其他回報答案做為第二回報答案511’,例如從候選列表中剔除第一回報答案511後,並在剩餘的回報答案重新挑選一第二回報答案511’,再利用語音合成模組526找出對應於第二回報答案511’的第二語音513’,最後透過語音合成模組526將第二語音513’合成為第二語音應答507’播放予用戶。
延續先前用戶輸入“我要看三國演義”的例子來說,若用戶想要看三國演義的電視劇,所以先前輸出予用戶的圖3B記錄10的選項(因為是看“三國演義”的電影)就不是用戶想要的,於是用戶可能再輸入“我要看三國演義電視劇”(用戶明確指出想看的是電視劇)、或是“我不要看三國演義電影”(用戶只否定目前選項)...等作為第二語音輸入501’。於是第二語音輸入501’將在解析而取得其第二請求資訊503’(或是第二關鍵字509’)後,會發現第二請求資訊503’中的第二關鍵字509’將包含“電視劇”(用戶有明
確指示)或是“不要電影”(用戶只否定目前選項),因此將判斷第一回報答案511不符合用戶的需求。是以,此時可以從候選列表再選出另一個回報答案做為第二回報答案511’並輸出對應的第二語音應答507’,例如輸出“我現在為您播放三國演義電視劇”的第二語音應答507’(如果用戶明確指出想觀看三國演義電視劇)、或是輸出“您想要的是哪個選項”(如果用戶只否定目前選項)的第二語音應答507’,並結合候選列表中其他的選項供用戶選取(例如“挑選熱度欄位316數值次高的回報答案作為第二回報答案511’)。再者,在另一實施例中,若是用戶所輸入的第二語音輸入501’包含“選擇”的訊息,例如顯示“觀看三國演義書籍”、“觀看三國演義電視劇”、以及“觀看三國演義電影”三個選項給用戶做選擇時,用戶可能輸入“我要看電影”的第二語音輸入501’時,將在分析第二語音輸入501’的第二請求資訊503’並發現用戶的意圖後(例如從第二關鍵字509’發現用戶選擇“觀看電影”),於是第二語音輸入501’將在解析而取得其第二請求資訊503’後,輸出“我現在為您播放三國演義電影”的第二語音應答507’(如果用戶想觀看三國演義電影)然後直接播放電影予用戶。當然,若用戶所輸入的是“我要第三個選項”時(假設此時用戶所選擇的是閱讀書籍),將執行第三選所對應的應用程式,亦即輸出“您想要的是閱讀三國演義書籍”的第二語音應答507’,並結合顯示三國演義的電子書予用戶的動作。
在本實施例中,前述自然語言理解系統520中的語音識
別模組522、自然語言處理模組524以及語音合成模組526可與語音取樣模組510配置在同一機器中。在其他實施例中,語音識別模組522、自然語言處理模組524以及語音合成模組526亦可分散在不同的機器(例如電腦系統、伺服器或類似裝置/系統)中。例如圖5C所示的自然語言理解系統520’,語音合成模組526可與語音取樣模組510配置在同一機器502,而語音識別模組522、自然語言處理模組524可配置在另一機器。此外,在圖5C的架構下,自然語言處理模組524會將第一回報答案511/第二回報答案511’傳送至語音合成模組526,其隨即以第一回報答案511/第二回報答案511’送往語音合成資料庫以尋找對應的第一語音513/第二語音513’,作為產生第一語音應答507/第二語音應答507’的依據。
圖6是依照本發明一實施例所繪示的修正第一語音應答507的方法流程圖。在本實施例中的修正第一語音應答507的方法中,當用戶認為目前所播放的第一語音應答507不符合其先前所輸入的第一請求資訊503時,會再輸入第二語音輸入501’並饋入語音取樣模組510,隨後再由自然語言理解系統520分析而得知先前播放予用戶的第一語音應答507並不符合用戶的意圖時,自然語言理解系統520可再次輸出第二語音應答507’,藉以修正原本的第一語音應答507。為了方便說明,在此僅舉圖5A的自然語言對話系統500為例,但本實施例的修正第一語音應答507的方法亦可適用於上述圖5C的自然語言對話系統500’。
請同時參照圖5A及圖6,於步驟S602中,語音取樣模
組510會接收第一語音輸入501(亦同樣饋入語音取樣模組510)。其中,第一語音輸入501例如是來自用戶的語音,且第一語音輸入501還可具有用戶的第一請求資訊503。具體而言,來自用戶的第一語音輸入501可以是詢問句、命令句或其他請求資訊等,例如「我要看三國演義」、「我要聽忘情水的音樂」或「今天溫度幾度」等等。
于步驟S604中,自然語言理解系統520會解析第一語音輸入501中所包括的至少一個第一關鍵字509而獲得候選列表,其中候選列表具有一個或多個回報答案。舉例來說,當用戶的第一語音輸入501為「我要看三國演義」時,自然語言理解系統520經過分析後所獲得的第一關鍵字509例如是「『三國演義』、『看』」。又例如,當用戶的第一語音輸入501為「我要聽忘情水的歌」時,自然語言理解系統520經過分析後所獲得的第一關鍵字509例如是「『忘情水』、『聽』、『歌』」。
接後,自然語言理解系統520可依據上述第一關鍵字509自結構化資料庫220進行查詢,而獲得至少一筆搜尋結果(例如圖1的分析結果104),據以做為候選列表中的回報答案。至於從多個回報答案中選擇第一回報答案511的方式可如圖1A所述,在此不予以贅述。由於第一關鍵字509可能包含不同的知識領域(例如電影類、書籍類、音樂類或遊戲類等等),且同一知識領域中亦可進一步分成多種類別(例如同一電影或書籍名稱的不同作者、同一歌曲名稱的不同演唱者、同一遊戲名稱的不同版本等
等),故針對第一關鍵字509而言,自然語言理解系統520可在結構化資料庫中查詢到一筆或多筆相關於此第一關鍵字509的搜尋結果(例如分析結果104),其中每一筆搜尋結果中可包括相關於此第一關鍵字509的指引資料(例如以“蕭敬騰”、“背叛”為關鍵字108在圖3A、3B的結構化資料庫220進行全文檢索時,將得到例如圖3A的記錄6與7兩組匹配結果,它們分別包含“singerguid”、“songnameguid”的指引資料,此指引資料為儲存在指引欄位310的資料)與其他資料。其中,其他資料例如是在搜尋結果中,除了與第一關鍵字709相關以外的其他關鍵字等等(例如以“一起走過的日子”為關鍵字且在圖3A的結構化資料庫220做全文檢索而得到記錄1為匹配結果時,“劉德華”與“港臺,粵語,流行”兩者即為其他資料)。因此從另一觀點來看,當用戶所輸入的第一語音輸入501具有多個第一關鍵字509時,則表示用戶的第一請求資訊503較明確,使得自然語言理解系統520較能查詢到與第一請求資訊503接近的搜尋結果。
舉例來說,當第一關鍵字509為「三國演義」時(例如用戶輸入“我要看三國演義”的語音輸入時),自然語言理解系統520分析後可能產生三個可能意圖語法資料106(如圖1所示):"<readbook>,<bookname>=三國演義";"<watchTV>,<TVname>=三國演義";以及"<watchfilm>,<filmname>=三國演義"。
因此查訊到的搜尋結果是關於「...『三國演義』...『書籍』」
(意圖資料為<readbook>)、「...『三國演義』...『電視劇』」(意圖資料為<watchTV>)、「...『三國演義』...『電影』」(意圖資料為<watchfilm>)的記錄(例如圖3B的記錄8、9、10),其中『電視劇』及『書籍』、『電影』分別列舉對應的用戶意圖)。又例如,當第一關鍵字509為「『忘情水』、『音樂』」(例如用戶輸入“我要聽忘情水的音樂”的語音輸入)時,自然語言理解系統520分析後可能產生以下的可能意圖語法資料:"<playmusic>,<songname>=忘情水";所查訊到的搜尋結果例如關於「...『忘情水』...『劉德華』」的記錄(例如圖3B的記錄11)、「...『忘情水』...『李翊君』」的記錄(例如圖3B的記錄12),其中『劉德華』及『李翊君』為對應於用戶的意圖資料。換言之,每一筆搜尋結果可包括第一關鍵字509以及相關於第一關鍵字509的意圖資料,而自然語言理解系統520會依據所查詢到的搜尋結果,將搜尋結果中所包括的資料轉換成回報答案,並將回報答案記錄於候選列表中,以供後續步驟使用。
于步驟S606中,自然語言理解系統520會自候選列表中選擇至少一第一回報答案511,並依據第一回報答案511輸出對應的第一語音應答507。在本實施例中,自然語言理解系統520可按照優先順序排列候選列表中的回報答案,並依據優先順序自候選列表中選出回報答案,據以輸出第一語音應答507。
舉例來說,當第一關鍵字509為「三國演義」時,假設
自然語言理解系統520查詢到很多筆關於「...『三國演義』...『書籍』」的記錄(亦即以查詢到的資料數量多寡做優先順序),其次為「...『三國演義』...『音樂』」的記錄,而關於「...『三國演義』...『電視劇』」的記錄數量最少,則自然語言理解系統520會將「三國演義的書籍」做為第一回報答案(最優先選擇的回報答案),「三國演義的音樂」做為第二回報答案(第二優先選擇的回報答案),「三國演義的電視劇」做為第三回報答案(第三優先選擇的回報答案)。當然,若相關於「三國演義的書籍」的第一回報答案不只一筆記錄時,還可以依據應先順序(例如被點選次數多寡)來挑選第一回報答案511,相關細節前面已提過,在此不予贅述。
接著,於步驟S608,語音取樣模組510會接收第二語音輸入501’,而自然語言理解系統520會解析此第二語音輸入501’,並判斷先前所選出的第一回報答案511是否正確。在此,語音取樣模組510會對第二語音輸入501’進行解析,以解析出第二語音輸入501’所包括的第二關鍵字509’,其中此第二關鍵字509’例如是用戶進一步提供的關鍵字(例如時間、意圖、知識領域...等等)。並且,當第二語音輸入501’中的第二關鍵字509’與第一回報答案511中所相關的意圖資料不相符時,自然語言理解系統520會判斷先前所選出的第一回報答案511為不正確。至於判斷第二語音輸入501’的第二請求資訊503’包含的是“正確”或“否定”第一語音應答507的方式前面已提過,在此不予贅述。
進一步而言,自然語言理解系統520所解析的第二語音
輸入501’可包括或不包括明確的第二關鍵字509’。舉例來說,語音取樣模組510例如是接收到來自用戶所說的「我不是指三國演義的書籍」(情況A)、「我不是指三國演義的書籍,我是指三國演義的電視劇」(情況B)、「我是指三國演義的電視劇」(情況C)等等。上述情況A中的第二關鍵字509’例如為「『不是』、『三國演義』、『書籍』」,情況B中的關鍵字509例如為「『不是』、『三國演義』、『書籍』,『是』、『三國演義』、『電視劇』」,而情況C中的第二關鍵字509’例如為「『是』、『三國演義』、『電視劇』」。為了方便說明,上述僅列舉情況A、B及C為例,但本實施例並不限於此。
接著,自然語言理解系統520會依據上述第二語音輸入501’所包括的第二關鍵字509’,來判斷第一回報答案511中相關的意圖資料是否正確。也就是說,倘若斷第一回報答案511為「三國演義的書籍」,而上述第二關鍵字509’為「『三國演義』、『電視劇』」,則自然語言理解系統520會判斷第一回報答案511中相關的意圖資料(即用戶想看三國演義『書籍』)不符合來自用戶第二語音輸入501’的第二關鍵字509’(即用戶想看三國演義『電視劇』),藉以判斷第一回報答案511不正確。類似地,倘若判斷回報答案為「三國演義的書籍」,而上述第二關鍵字509’為「『不是』、『三國演義』、『書籍』」,則自然語言理解系統520亦會判斷出第一回報答案511不正確。
當自然語言理解系統520解析第二語音輸入501之後,
判斷之前輸出的第一語音應答501為正確時,則如步驟S610所示,自然語言理解系統520會做出對應於第二語音輸入501’的回應。舉例來說,假設來自用戶的第二語音輸入501’為「是的,是三國演義的書籍」,則自然語言理解系統520可以是輸出「正在幫您開啟三國演義的書籍」的第二語音應答507’。或者,自然語言理解系統520可在播放第二語音應答507’的同時,直接透過處理單元(未繪示)來載入三國演義的書籍內容。
然而,當自然語言理解系統520解析第二語音輸入501’之後,判斷之前輸出的第一語音應答507(亦即回報答案511)不正確時,則如步驟S612所示,自然語言理解系統520會自候選列表中選擇第一回報答案511之外的另一者,並依據所選擇的結果輸出第二語音應答507’。在此,倘若用戶所提供的第二語音輸入501’中不具有明確的第二關鍵字509’(如上述情況A的第二語音輸入501’),則自然語言理解系統520可依據優先順序從候選列表中選出第二優先選擇的回報答案。或者,倘若用戶所提供的第二語音輸入501’中具有明確的第二關鍵字509’(如上述情況B及C的第二語音輸入501’),則自然語言理解系統520可直接依據用戶所指引的第二關鍵字509’,在從候選列表中選出對應的回報答案。
另一方面,倘若用戶所提供的第二語音輸入501’中具有明確的第二關鍵字509’(如上述情況B及C的第二語音輸入),但自然語言理解系統520在候選列表中查無符合此第二關鍵字509的回報答案,則自然語言理解系統520會輸出第三語音應答,
例如「查無此書」或「我不知道」等。
為了使本領域的技術人員進一步瞭解本實施例的修正語音應答的方法以及自然語言對話系統,以下再舉一實施例進行詳細的說明。
首先,假設語音取樣模組510接收的第一語音輸入501為「我要看三國演義」(步驟S602),接著,自然語言理解系統520可解析出為「『看』、『三國演義』」的第一關鍵字509,並獲得具有多個第一回報答案的候選列表,其中每一個回報答案具有相關的關鍵字與其他資料(其他資料可儲存於圖3A/3B的內容欄位306中、或是各記錄302的數值欄位312的一部份)(步驟S604),如表一所示(假設搜尋結果中關於三國演義的書籍/電視劇/音樂/電影各只有一筆資料)。
接著,自然語言理解系統520會在候選列表中選出所需的回報答案。假設自然語言理解系統520依序選取候選列表中的回報答案a以做為第一回報答案511,則自然語言理解系統520例如是輸出「是否播放三國演義的書籍」,即第一語音應答507(步驟S606)。
此時,若語音取樣模組510接收的第二語音輸入501’為「是的」(步驟S608),則自然語言理解系統520會判斷出上述的回報答案a為正確,且自然語言理解系統520會輸出另一語音應答507「請稍候」(亦即第二語音應答507’),並透過處理單元(未
繪示)來載入三國演義的書籍內容(步驟S610)。
然而,若語音取樣模組510接收的第二語音輸入501’為「我不是指三國演義的書籍」(步驟S608),則自然語言理解系統520會判斷出上述的回報答案a為不正確,且自然語言理解系統520會再從候選列表的回報答案b~e中,選出另一回報答案做第二回報答案511’,其例如是回報答案b的「是否要播放三國演義的電視劇」。倘若用戶繼續回答「不是電視劇」,則自然語言理解系統520會選擇回報答案c~e的其中之一來回報。此外,倘若候選列表中的回報答案a~e皆被自然語言理解系統520回報予用戶過,且這些回報答案a~e中沒有符合用戶的語音輸入501時,則自然語言理解系統520輸出「查無任何資料」的語音應答507(步驟S612)。
在另一實施例中,於上述的步驟S608,若語音取樣模組510接收用戶的第二語音輸入501’為「我是指三國演義的漫畫」,在此,由於候選列表中並無關於漫畫的回報答案,故自然語言理解系統520會直接輸出「查無任何資料」的第二語音應答507’。
基於上述,自然語言理解系統520可依據來自用戶的第一語音輸入501而輸出對應的第一語音應答507。其中,當自然語言理解系統520所輸出的第一語音應答507不符合用戶的第一語音輸入501的請求資訊503時,自然語言理解系統520可修正原本輸出的第一語音應答507,並依據用戶後續所提供的第二語音輸入501’,進一步輸出較符合用戶第一請求資訊503的第二語音應
答507’。如此一來,倘若用戶仍不滿意自然語言理解系統520所提供的答案時,自然語言理解系統520可自動地進行修正,並回報新的語音應答予用戶,藉以增進用戶與自然語言對話系統500進行對話時的便利性。
值得一提的是,在圖6的步驟S606與步驟S612中,自然語言理解系統520還可依照不同評估優先順序的方法,來排序候選列表中的回報答案,據以按照此優先順序自候選列表中選出回報答案,再輸出對應於回報答案的語音應答。
舉例來說,自然語言理解系統520可依據眾人使用習慣,來排序候選列表中的第一回報答案511的優先順序,其中越是關於眾人經常使用的答案則優先排列。例如,再以第一關鍵字509為「三國演義」為例,假設自然語言理解系統520找到的回報答案為三國演義的電視劇、三國演義的書籍與三國演義的音樂。其中,若眾人提到「三國演義」時通常是指「三國演義」的書籍,較少人會指「三國演義」的電視劇,而更少人會指「三國演義」的音樂(例如使用圖3C中的熱度欄位316所儲存的數值來代表全部用戶的匹配情形時,熱度欄位316的數值在「三國演義」的「書籍」記錄上會最高),則自然語言理解系統520會按照優先順序排序關於「書籍」、「電視劇」、「音樂」的回報答案。也就是說,自然語言理解系統520會優先選擇「三國演義的書籍」來做為第一回報答案511,並依據此第一回報答案511輸出第一語音應答507。
此外,自然語言理解系統520亦可依據用戶習慣,以決定回報答案的優先順序。具體來說,自然語言理解系統520可將曾經接收到來自用戶的語音輸入(包括第一語音輸入501、第二語音輸入501’、或是任何由用戶所輸入的語音輸入)記錄在特性資料庫(例如圖7A/7B所示),其中特性資料庫可儲存在硬碟等儲存裝置中。特性資料庫可記錄自然語言理解系統520解析用戶的語音輸入501時,所獲得的第一關鍵字509以及自然語言理解系統520所產生的應答記錄等關於用戶喜好、習慣等資料。關於用戶喜好/習慣資料的儲存與擷取,將在後面透過圖7A/7B/8做更進一步的說明。此外,在一實施例中,在圖3C中的熱度欄位316所儲存的數值是與用戶的習慣(例如匹配次數)相關時,可用熱度欄位316的數值判斷用戶的使用習慣或優先順序。因此,自然語言理解系統520在選擇回報答案時,可根據特性資料庫730中所記錄的用戶習慣等資訊,按照優先排序回報答案,藉以輸出較符合用戶的語音輸入501的語音應答507。舉例來說,在圖3B中,記錄8/9/10的熱度欄位316所儲存的數值分別為2/5/8,其可分別代表「三國演義」的「書籍」、「電視劇」、「電影」的匹配次數分別為2/5/8,所以對應於「三國演義的電影」的回報答案將被優先選擇。
另一方面,自然語言理解系統520亦可依據用戶習慣來選擇回報答案。舉例來說,假設用戶與自然語言理解系統520進行對話時,經常提起到「我要看三國演義的書籍」,而較少提起「我要看三國演義的電視劇」,且更少提到「我要看三國演義的
音樂」(例如用戶對話資料庫中記錄有20筆關於「三國演義的書籍」的記錄(例如圖3B記錄8的喜好欄位318所示),8筆關於「三國演義的電視劇」的記錄(例如圖3B記錄9的喜好欄位318所示),以及1筆關於「三國演義的音樂」的記錄),則候選列表中的回報答案的優先順序將會依序為「三國演義的書籍」、「三國演義的電視劇」以及「三國演義的音樂」。也就是說,當第一關鍵字509為「三國演義」時,自然語言理解系統520會選擇「三國演義的書籍」來做為第一回報答案511,並依據此第一回報答案511輸出第一語音應答507。
值得一提的是,自然語言理解系統520還可依據用戶喜好,以決定回報答案的優先順序。具體來說,用戶對話資料庫還可記錄有用戶所表達過的關鍵字,例如:「喜歡」、「偶像」、「厭惡」或「討厭」等等。因此,自然語言理解系統520可自候選列表中,依據上述關鍵字被記錄的次數來對回報答案進行排序。舉例來說,假設回報答案中相關於「喜歡」的次數較多,則此回報答案會優先被選取。或者,假設回報答案中相關於「厭惡」的次數較多,則較後被選取。
舉例來說,假設用戶與自然語言理解系統520進行對話時,經常提到「我討厭看三國演義的電視劇」,而較少提到「我討厭聽三國演義的音樂」,且更少提到「我討厭聽三國演義的書籍」(例如用戶對話資料庫中記錄有20筆關於「我討厭看三國演義的電視劇」的記錄(例如可透過圖3B記錄9的厭惡欄位320做
記錄),8筆關於「我討厭聽三國演義的音樂」的記錄,以及1筆關於「我討厭看三國演義的書籍」(例如透過圖3B記錄8的厭惡欄位320做記錄)),則候選列表中的回報答案的優先順序依序是「三國演義的書籍」、「三國演義的電視劇」以及「三國演義的音樂」。也就是說,當第一關鍵字509為「三國演義」時,自然語言理解系統520會選擇「三國演義」的書籍來做為第一回報答案511,並依據此第一回報答案511輸出第一語音應答507。在一實施例中,可以在圖3B的熱度欄位316外另外加一個“厭惡欄位320”,用以記錄用戶的“厭惡程度”。在另一個實施例中,可以在解析到用戶對某一記錄的“厭惡”資訊時,直接在對應記錄的熱度欄位316(或喜好欄位318)上減一(或其他數值),這樣可以在不增加欄位時記錄用戶的喜好。各種記錄用戶喜好的實施方式都可應用在本發明實施例中,本發明並不對此加以限制。其他關於用戶習慣資料的記錄與運用、以及用戶/眾人使用習慣及喜好...等方式來提供應答及回報答案的實施例,會在後面的圖7A/7B/8做更詳盡的解說。
另一方面,自然語言理解系統520還可依據用戶早于自然語言對話系統500提供回報答案前(例如第一語音輸入501被播放前,此時用戶尚不知自然語言對話系統500將提供哪種回報答案供其選擇)所輸入的語音輸入,以決定至少一回報答案的優先順序。也就是說,假設有語音輸入(例如第四語音輸入)被語音取樣模組510所接收的時間早於第一語音輸入501被播放時,則自
然語言理解系統520亦可透過解析第四語音輸入中的第四關鍵字,並在候選列表中優先選取具有與此第四關鍵字符合的第四回報答案,並依據此第四回報答案輸出第四語音應答。
舉例來說,假設自然語言理解系統520先接收到「我想看電視劇」的第一語音輸入501,且沒多久(例如隔了幾秒)之後,假設自然語言理解系統520又接收到「幫我放三國演義好了」的第四語音輸入501。此時,自然語言理解系統520可在第一語音輸入501中識別到「電視劇」的第一關鍵字509,隨後又在第四關鍵字中識別到「三國演義」。因此,自然語言理解系統520會從候選列表,選取關於「三國演義」與「電視劇」的回報答案,並以此第四回報答案據以輸出第四語音應答予用戶。
基於上述,自然語言理解系統520可依據來自用戶的語音輸入,並參酌眾人使用習慣、用戶喜好、用戶習慣或用戶所說的前後對話等等資訊,而輸出較能符合語音輸入的請求資訊的語音應答予用戶。其中,自然語言理解系統520可依據不同的排序方式,例如眾人使用習慣、用戶喜好、用戶習慣或用戶所說的前後對話等等方式,來優先排序候選列表中的回報答案。藉此,若來自用戶的語音輸入較不明確時,自然語言理解系統520可參酌眾人使用習慣、用戶喜好、用戶習慣或用戶所說的前後對話,來判斷出用戶的語音輸入501中所意指的意圖(例如第一語音輸入501中的關鍵字509的屬性、知識領域等等)。換言之,若回報答案與用戶曾表達過/眾人所指的意圖接近時,自然語言理解系統
520則會優先考慮此回報答案。如此一來,自然語言對話系統500所輸出的語音應答,可較符合用戶的請求資訊。
綜上所述,在本實施例的修正語音應答的方法與自然語言對話系統中,自然語言對話系統可依據來自用戶的第一語音輸入501而輸出對應的第一語音應答507。其中,當自然語言對話系統所輸出的第一語音應答507不符合用戶的第一語音輸入501的第一請求資訊503或第一關鍵字509時,自然語言對話系統可修正原本輸出的第一語音應答507,並依據用戶後續所提供的第二語音輸入501’,進一步選出較符合用戶需求的第二語音應答507’。此外,自然語言對話系統還可依據眾人使用習慣、用戶喜好、用戶習慣或用戶所說的前後對話等等方式,來優先選出較適當的回報答案,據以輸出對應的語音應答予用戶。如此一來,倘若用戶不滿意自然語言對話系統所提供的答案時,自然語言對話系統可依照用戶每一次所說出的請求資訊自動地進行修正,並回報新的語音應答予用戶,藉以增進用戶與自然語言對話系統進行對話時的便利性。
接著再以自然語言理解系統100與結構化資料庫220等架構與構件,應用於依據與用戶的對話場景及上下文、用戶使用習慣、眾人使用習慣及用戶喜好來提供應答及回報答案的實例做的說明。
圖7A是依照本發明一實施例所繪示的自然語言對話系統的方塊圖。請參照圖7A,自然語言對話系統700包括語音取樣
模組710、自然語言理解系統720、特性資料庫730及語音合成資料庫740。事實上,圖7A中的語音取樣模組710與圖5A的語音取樣模組510相同、而且自然語言理解系統520與自然語言理解系統720亦相同,所以其執行的功能是相同的。此外,自然語言理解系統720分析請求資訊703時,亦可透過對圖1的資料化資料庫220進行全文檢索而獲得用戶的意圖,這部分的技術因前面已針對圖1與相關敍述做說明故不再贅述。至於特性資料庫730是用以儲存由自然語言理解系統720所送來的用戶喜好資料715、或提供用戶喜好記錄717予自然語言理解系統720,這部分在後文會再行詳述。而語音合成資料庫740則等同語音合成資料庫530,用以提供語音輸出予用戶。在本實施例中,語音取樣模組710用以接收語音輸入701(即圖5A/B的第一/第二語音輸入501/501’,為來自用戶的語音),而自然語言理解系統720會解析語音輸入中的請求資訊703(即圖5A/B的第一/第二請求資訊503/503’),並輸出對應的語音應答707(即圖5A/B的第一/第二語音應答507/507’)。前述自然語言對話系統700中的各構件可配置在同一機器中,本發明對此並不加以限定。
自然語言理解系統720會接收從語音取樣模組710傳來的對語音輸入701進行解析後的請求資訊703,並且,自然語言理解系統720會根據語音輸入701中的一個或多個關鍵字709來產生包含至少一個回報答案的候選列表,再從候選列表中找出較符合關鍵字709的一者作為回報答案711,並據以查詢語音合成資料
庫740以找出對應於回報答案711的語音713,最後再依據語音713輸出語音應答707。此外,本實施例的自然語言理解系統720可由一個或數個邏輯門組合而成的硬體電路來實作,或以電腦程式碼來實作,在此僅為舉例說明,並不以此為限。
圖7B是依照本發明另一實施例所繪示的自然語言對話系統700’的方塊圖。圖7B的自然語言理解系統720’可包括語音識別模組722與自然語言處理模組724,而語音取樣模組710可與語音合成模組726合併在一語音綜合處理模組702中。其中,語音識別模組722會接收從語音取樣模組710傳來對語音輸入701進行解析的請求資訊703,並轉換成一個或多個關鍵字709。自然語言處理模組724再對這些關鍵字709進行處理,而獲得至少一個候選列表,並且從候選列表中選出一個較符合語音輸入701者做為回報答案711。由於此回報答案711是自然語言理解系統720在內部分析而得的答案,所以還必須將轉換成文字或語音輸出才能輸出予用戶,於是語音合成模組726會依據回報答案711來查詢語音合成資料庫740,而此語音合成資料庫740例如是記錄有文字以及其對應的語音資訊,可使得語音合成模組726能夠找出對應於回報答案711的語音713,藉以合成出語音應答707。之後,語音合成模組726可將合成的語音透過語音輸出介面(未繪示),其中語音輸出介面例如為喇叭、揚聲器、或耳機等裝置)輸出,藉以輸出語音予用戶。應注意的是,在圖7A中,自然語言理解系統720是將語音合成模組726併入其中(例如圖5B的架構,但語
音合成模組726未顯示於圖7A中),而語音合成模組將利用回報答案711對語音合成資料庫740進行查詢以取得語音713,作為合成出語音應答707的依據。
在本實施例中,前述自然語言理解系統720中的語音識別模組722、自然語言處理模組724以及語音合成模組726,可分別等同於圖5B的語音識別模組522、自然語言處理模組524以及語音合成模組526並提供相同的功能。此外,語音識別模組722、自然語言處理模組724以及語音合成模組726可與語音取樣模組710配置在同一機器中。在其他實施例中,語音識別模組722、自然語言處理模組724以及語音合成模組726亦可分散在不同的機器中(例如電腦系統、伺服器或類似裝置/系統)。例如圖7B所示的自然語言理解系統720’,語音合成模組726可與語音取樣模組710配置在同一機器702,而語音識別模組722、自然語言處理模組724可配置在另一機器。應注意的是,在圖7B的架構中,因語音合成模組726與語音取樣模組710配置在一機器702中,因此自然語音理解系統720就需要將回報答案711傳送至機器702,並由語音合成模組726會將回報答案711送往語音合成資料庫740以尋找對應的語音713,作為產生語音應答707的依據。此外,語音合成模組726在依據回報答案711呼叫語音合成資料庫740時,可能需要先將回報答案711進行格式轉換,然後透過語音合成資料庫740所規定的介面進行呼叫,因這部分屬於本領域的技術人員所熟知的技術,故在此不予詳述。
以下即結合上述結合圖7A的自然語言對話系統700來說明自然語言對話方法。圖8是依照本發明一實施例所繪示的自然語言對話方法的流程圖。為了方便說明,在此僅舉圖7A的自然語言對話系統800為例,但本實施例的自然語言對話方法亦可適用於上述圖7B的自然語言對話系統700’。與圖5/6相較下,圖5/6所處理的依據用戶的語音輸入而自動進行修正所輸出的資訊,但圖7A/7B/8所處理的是依據特性資料庫730來記錄用戶喜好資料715,並據以從候選列表中選擇一者做回報答案711,並播放其對應語音予用戶。事實上,圖5/6與圖7A/7B/8的實施方式可擇一或並存,發明並不對此加以限制。
請同時參照圖7A及圖8,於步驟S810中,語音取樣模組710會接收語音輸入701。其中,語音輸入701例如是來自用戶的語音,且語音輸入701還可具有用戶的請求資訊703。具體而言,來自用戶的語音輸入701可以是詢問句、命令句或其他請求資訊等,例如前面提過的實例「我要看三國演義」、「我要聽忘情水的音樂」或「今天溫度幾度」等等。應注意的是,步驟S802-S806為自然語言對話系統700對用戶先前的語音輸入儲存用戶喜好資料715的流程,往後的步驟S810-S840即基於這些先前已儲存在特性資料庫730的用戶喜好資料715進行操作。步驟S802-S806的細節將在後文再行詳述,以下將先講述步驟S820-S840的操作內容。
于步驟S820中,自然語言理解系統720會解析第一語音
輸入701中所包括的至少一個關鍵字709,進而獲得候選列表,其中候選列表具有一個或多個回報答案。詳細而言,自然語言理解系統720會解析語音輸入701,而獲得語音輸入701的一個或多個關鍵字709。舉例來說,當用戶的語音輸入701為「我要看三國演義」時,自然語言理解系統720經過分析後所獲得的關鍵字709例如是「『三國演義』、『看』」(如前所述,還要再分析用戶想看的是書籍、電視劇、或電影)。又例如,當用戶的語音輸入701為「我要聽忘情水的歌」時,自然語言理解系統720經過分析後所獲得的關鍵字709例如是「『忘情水』、『聽』、『歌』」(如前所述,可以再分析用戶想聽的是劉德華或李翊君所演唱的版本)。接後,自然語言理解系統720可依據上述關鍵字709自結構化資料庫進行全文檢索,而獲得至少一筆搜尋結果(可為圖3A/3B的其中的至少一筆記錄),據以做為候選列表中的回報答案。由於一個關鍵字709可能屬於不同的知識領域(例如電影類、書籍類、音樂類或遊戲類等等),且同一知識領域中亦可進一步分成多種類別(例如同一電影或書籍名稱的不同作者、同一歌曲名稱的不同演唱者、同一遊戲名稱的不同版本等等),故針對一個關鍵字709而言,自然語言理解系統720可在分析後(例如對結構化資料庫220進行全文檢索)得到一筆或多筆相關於此關鍵字709的搜尋結果,其包含除了關鍵字709以及關鍵字709以外的其他資訊等等(其他資訊的內容如表一所示)。因此從另一觀點來看,當用戶所輸入的第一語音輸入701具有多個關鍵字709時,則表示用戶的
請求資訊703較明確,使得自然語言理解系統720較能分析到與請求資訊703接近的搜尋結果(因為若自然語言理解系統720可找到完全匹配結果時,應該就是用戶想要的選項了)。
舉例來說,當關鍵字709為「三國演義」時,自然語言理解系統720所分析到的搜尋結果例如是關於「...『三國演義』...『電視劇』」、「...『三國演義』...『書籍』」的記錄(其中『電視劇』及『書籍』即為回應結果所指示的用戶意圖)。又例如,當關鍵字709為「『忘情水』、『音樂』」時,自然語言理解系統720所分析到的用戶意圖可能為「...『忘情水』...『音樂』...『劉德華』」、「...『忘情水』...『音樂』...『李翊君』」的記錄,其中『劉德華』、『李翊君』為用以指示用戶意圖的搜尋結果。換言之,在自然語言理解系統720對結構化資料庫220進行全文檢索後,每一筆搜尋結果可包括關鍵字709、以及相關於關鍵字709的其他資料(如表一所示),而自然語言理解系統720會依據所分析到的搜尋結果轉換成包含至少一個回報答案的候選列表以供後續步驟使用。
于步驟S830中,自然語言理解系統720根據特性資料庫730所送來的用戶喜好記錄717(例如依據儲存其中的用戶喜好資料715所匯整的結果,後面會對此做說明),用以自候選列表中選擇一回報答案711,並依據回報答案711輸出語音應答707。在本實施例中,自然語言理解系統720可按照一優先順序(優先順序包含哪些方式以下會再詳述)排列從候選列表中選出回報答案711。
而在步驟S840中,依據回報答案711,輸出語音應答707(步驟S840)。
舉例來說,在一實施例中可以搜尋結果的數量做優先順序,例如當關鍵字709為「三國演義」時,假設自然語言理解系統720在分析後,發現在結構化資料庫220中關於「...『三國演義』...『書籍』」的記錄數量最多,其次為「...『三國演義』...『音樂』」的記錄,而關於「...『三國演義』...『電視劇』」的記錄數量最少,則自然語言理解系統720會將相關於「三國演義的書籍」的記錄做為第一優先回報答案(例如將所有關於「三國演義的書籍」整理成一候選列表,並可依據熱度欄位316的數值進行排序),相關於「三國演義的音樂」的記錄做為第二優先回報答案,相關於「三國演義的電視劇」的記錄做為第三優先回報答案。應注意的是,除了搜尋結果的數量外,作為優先順序的依據還可以是用戶喜好、用戶習慣、或是眾人使用習慣,相關的敍述往後會再詳述。
為了使本領域的技術人員進一步瞭解本實施例的自然語言對話方法以及自然語言對話系統,以下再舉一實施例進行詳細的說明。
首先,假設語音取樣模組710接收的第一語音輸入701為「我要看三國演義」(步驟S810),接著,自然語言理解系統720可解析出為「『看』、『三國演義』」的關鍵字709,並獲得具有多個回報答案的候選列表,其中每一個回報答案具有相關的關鍵字(步驟S820)與其他資訊,亦如上述的表一所示。
接著,自然語言理解系統720會在候選列表中選出回報答案。假設自然語言理解系統720選取候選列表中的回報答案a(請參考表一)以做為第一回報答案711,則自然語言理解系統720例如是輸出「是否播放三國演義的書籍」,作為語音應答707(步驟S830~S840)。
如上所述,自然語言理解系統720還可依照不同評估優先順序的方法,來排序候選列表中的回報答案,據此輸出對應於回報答案711的語音應答707。舉例來說,自然語言理解系統720可依據與使用者的多個對話記錄判斷用戶喜好(例如前面提過的使用用戶的正面/負向用語),亦即可利用該用戶喜好記錄717決定回報答案711的優先順序。然在解說用戶正面/負面用語的使用方式之前,先對用戶喜好資料715在儲存用戶/眾人的喜好/厭惡或習慣的方式做說明。
現在依據步驟S802-806關於用戶喜好資料715的儲存方式。在一實施例中,可在步驟S810接收語音輸入701之前,即在步驟S802中接收多個語音輸入,也就是先前的歷史對話記錄,並根據這些先前的多個語音輸入701,擷取用戶喜好資料715(步驟S804),然後儲存在特性資料庫730中。事實上,用戶喜好資料715亦可儲存在結構化資料庫220中(或說是將特性資料庫730併入結構化資料庫220的方式)。舉例來說,在一實施例中,可以直接利用圖3B的熱度欄位316來記錄用戶的喜好,至於熱度欄位316的記錄方式前面已提過(例如某一記錄302被匹配時即將其熱度欄位
加一),在此不予贅述。當然,也可以在結構化資料庫220另辟欄位來儲存用戶喜好資料715,例如用關鍵字(例如“三國演義”)為基礎,結合用戶喜好(例如當用戶提到“喜歡”等正向用語以及“厭惡”等負面用語時,可分別在圖3B的喜好欄位318與厭惡欄位320的數值加一),然後計算喜好的數量(例如統計正向用語與等負面用語的數量)。於是自然語言理解系統720對結構化資料庫200查詢用戶喜好記錄717時,可以直接查詢喜好欄位318與厭惡欄位320的數值(可查詢正向用語與等負面用語各有多少數量),再據以判斷用戶的喜好(亦即將正面用語及負面用語的統計數值作為用戶喜好記錄717傳送至自然語言理解系統720)。
以下將描述將用戶喜好資訊715儲存在特性資料庫730的情形(亦即特性資料庫730不併入結構化資料庫220)。在一實施例中,用戶喜好資訊715可使用關鍵字與用戶對此關鍵字的“喜好”的對應方式來儲存,舉例來說,用戶喜好資訊715的儲存可直接使用圖8B的喜好欄位852與厭惡欄位862來記錄用戶個人對某關鍵字的喜好與厭惡,並以喜好欄位854與厭惡欄位864來記錄眾人對此組關鍵字的喜好與厭惡。例如在圖8B中,記錄832所儲存的關鍵字「『三國演義』、『書籍』」所對應喜好欄位852與厭惡欄位862的數值為分別為20與1、記錄834所儲存的關鍵字「『三國演義』、『電視劇』」所對應的喜好欄位852與厭惡欄位862的數值為分別8與20、記錄836所儲存的關鍵字「『三國演義』、『音樂』」所對應的喜好欄位852與厭惡欄位862的數
值為分別為1與8,其皆表示用戶個人對於相關關鍵字的喜好與厭惡資料(例如喜好欄位852的數值越高表示越喜歡、厭惡欄位862的數值越高表示越厭惡)。此外,記錄832所對應喜好欄位854與厭惡欄位864的數值為分別為5與3、記錄834所對應的喜好欄位854與厭惡欄位864的數值為分別80與20、記錄836所對應的喜好欄位854與厭惡欄位864的數值為分別為2與10,其是表示眾人對於相關關鍵字的喜好與厭惡資料(以“喜好指示”簡稱之),於是便可依據用戶的喜好來增加喜好欄位852與厭惡欄位862的數值。因此,若用戶輸入“我想看三國演義的電視劇”的語音時,自然語言理解系統720可將“關鍵字”「『三國演義』、『電視劇』」與增加喜好欄位數值的“喜好指示”合併成用戶喜好資料715送往特性資料庫730,於是特性資料庫730可在記錄834的喜好欄位852數值進行加一的操作(因為用戶想看「『三國演義』、『電視劇』」,表示其喜好度增加)。依據上述記錄用戶喜好資料的方式,往後當用戶又再輸入相關的關鍵字時,例如用戶在輸入“我要看三國演義”時,自然語言理解系統720可依據關鍵字“三國演義”在圖8B的特性資料庫730查詢到三筆與“三國演義”相關的記錄832/834/836,而特性資料庫730可將喜好欄位852與厭惡欄位862的數值做為用戶喜好記錄717回傳給自然語言理解系統720,於是自然語言理解系統720可依據用戶喜好記錄717作為判斷用戶個人的喜好依據。當然,特性資料庫730亦可將喜好欄位854與厭惡欄位864的數值做為用戶喜好記錄717回傳給自然語言理解系
統720,只是此時用戶喜好記錄717將作為判斷眾人喜好的依據,本發明對用戶喜好記錄717代表的是用戶個人或是眾人的喜好並不加以限制。
在另一實施例中,喜好欄位852與厭惡欄位862的數值亦可作為判斷用戶/眾人習慣的依據。舉例來說,自然語言理解系統720可在接收用戶喜好記錄717後,先判斷喜好欄位852/854與厭惡欄位862/864的數值差異,若兩個數值相差到了某個臨界值之上,表示用戶習慣使用特定的方式來進行對話,例如當喜好欄位852的數值較厭惡欄位862的數值大了10次以上,表示用戶特別喜歡使用“正面用語”作對話(此即“用戶習慣”的一種記錄方式),因此自然語言理解系統720在這個情形下可僅以喜好欄位852來選取回報答案。當自然語言理解系統720使用的是特性資料庫730所儲存的喜好欄位854/厭惡欄位864的數值時,表示所判斷的是特性資料庫730所有用戶的喜好記錄,而判斷結果即可以作為眾人使用習慣的參考資料。應注意的是,由特性資料庫730回傳給自然語言理解系統720的用戶喜好記錄717可同時包含用戶個人的喜好記錄(例如喜好欄位852/厭惡欄位862的數值)與眾人的喜好記錄(例如喜好欄位854/厭惡欄位864的數值),本發明對此並不加以限制。
至於對基於本次的語音輸入所獲得的用戶喜好資料715的儲存,可在步驟S820產生候選列表時(不論是完全匹配或部分匹配),由自然語言對話系統700儲存此次在用戶語音輸入中所取
得的用戶喜好資料715。例如在步驟S820中,每當關鍵字可在結構化資料庫220中產生匹配結果時,即可判定用戶對此匹配結果是有所偏好的傾向,因此可以將“關鍵字”與“喜好指示”送往特性資料庫730,並在其中找到對應的記錄後,變更對應記錄其對應的喜好欄位852/854或厭惡欄位862/864數值(例如當用戶輸入“我想看三國演義的書籍”時,可對圖8B的記錄832的喜好欄位852/854的數值加一)。在又一實施例中,自然語言對話系統700亦可在步驟S830中,於用戶選取一回報答案後才儲存用戶喜好資料715。此外,若當未在特性資料庫730找到對應的關鍵字時,可以建立一新的記錄來儲存用戶喜好資料715。例如當用戶輸入“我聽劉德華的忘情水”的語音並產生關鍵字「『劉德華』、『忘情水』」時,若進行儲存時未在特性資料庫730找到對應的記錄,所以將在特性資料庫730建立新的記錄838,並在其對應的喜好欄位852/854數值加一。上述的用戶喜好資料715儲存時機與儲存方式,僅為說明之用,本領域的技術人員可依據實際應用變更本發明所示的實施例,但所有不脫離本發明精神所為的等效修飾仍應包含在本發明權利要求中。
此外,雖然在圖8B所示的特性資料庫730儲存記錄832-838的格式與結構化資料庫220的記錄格式(例如圖3A/3B/3C所示者)並不相同,但本發明對各個記錄的儲存格式並不加以限制。再者,雖然上述實施例僅講述喜好欄位852/854與厭惡欄位862/864的儲存與使用方式,但在另一實施例中,可在特性資料庫
730另辟欄位872/874以分別儲存用戶/眾人的其他習慣,例如該筆記錄對應的資料被下載、引用、推薦、評論、或轉介...的次數等資料。在另一實施例中,這些下載、引用、推薦、評論、或轉介的次數或資料亦可集中以喜好欄位852/854與厭惡欄位862/864作儲存,例如用戶每次對某項記錄提供好的評論或轉介予他人參考時可在喜好欄位852/854的數值加一、若用戶對某項記錄提供不好的評論時即可在厭惡欄位862/864的數值加一,本發明對記錄的數量與欄位的數值記錄方式皆不予限制。應注意的是,本領域的技術人員應知,因圖8B中的喜好欄位852、厭惡欄位862...等僅與用戶個人的選擇與喜好相關,所以可將這些用戶個人的選擇/喜好/厭惡資訊儲存在用戶的移動通訊裝置中,而與全體用戶相關的喜好欄位854、厭惡欄位864...等資訊就儲存在伺服器中,於是亦可節省伺服器的儲存空間,也保留用戶個人喜好的隱密性。
以下再利用圖7A與圖8B對用戶的實際使用狀況做更進一步的說明。基於多個語音輸入701的對話內容,假設用戶與自然語言理解系統720進行對話時,經常提到「我討厭看三國演義的電視劇」,而較少提到「我討厭聽三國演義的音樂」,且更少提到「我討厭聽三國演義的書籍」(例如特性資料庫730中記錄有20筆關於「我討厭看三國演義的電視劇」的記錄(亦即在圖8B中,“三國演義”加“電視劇”的負面用語的數量就是20),8筆關於「我討厭聽三國演義的音樂」的記錄(亦即在圖8B中,“三國演義”加“音樂”的負面用語的數量是8),以及1筆關於「我討厭
聽三國演義的書籍」)(亦即在圖8B中,“三國演義”加“書籍”的負面用語的數量是1),因為從特性資料庫730所回傳的用戶喜好記錄717將包含這三個負面用語的數量(亦即20、8、1),則自然語言理解系統720會將候選列表中的回報答案711的優先順序依序排列為「三國演義的書籍」、「三國演義的音樂」、以及「三國演義的電視劇」。也就是說,當關鍵字709為「三國演義」時,自然語言理解系統720會選擇「三國演義」的書籍來做為回報答案711,並依據此回報答案711輸出語音應答707。應注意的是,雖然上述是單獨使用用戶所用過的負面用語的統計數值來列優先順序,但在另一實施例中,仍可單獨使用用戶所用過的正面用語的統計數值來列優先順序(例如先前提到的,喜好欄位852的數值比厭惡欄位862某一個臨界值之上)。
值得一提的是,自然語言理解系統720還可同時依據用戶使用的正面用語與負面用語的多寡,以決定回報答案的優先順序。具體來說,特性資料庫730還可記錄有用戶所表達過的關鍵字,例如:「喜歡」、「偶像」(以上為正面用語)、「厭惡」或「討厭」(以上為負面用語)等等。因此,自然語言理解系統720除了可比較用戶使用“喜歡”與“厭惡”的相差次數之外,還可自候選列表中,直接依據上述關鍵字所對應的正面/負面用語次數來對回報答案進行排序(亦即比較正面用語或負面用語哪者的引用次數較多)。舉例來說,假設回報答案中相關於「喜歡」的次數較多(亦即正面用語的引用次數較多、或是喜好欄位852的數值比較大),則
此回報答案會優先被選取。或者,假設回報答案中相關於「厭惡」的次數較多(亦即負面用語的引用次數較多、或是厭惡欄位862的數值比較大),則較後被選取,於是自然語言理解系統720可將所有的回報答案依據上述的優先順序排列方式整理出一個候選列表。由於部分用戶可能偏好使用正面用語(例如喜好欄位852的數值特別大)、而另一些用戶則習慣使用負面用語(例如厭惡欄位862的數值特別大),因此在上述實施例中,因用戶喜好記錄717將反映個別用戶的使用習慣,因此可以提供更符合用戶習慣的選項供其選取。
此外,自然語言理解系統720亦可依據眾人使用習慣,來排序候選列表中的回報答案711的優先順序,其中越是關於眾人經常使用的答案則優先排列(例如使用圖3C的熱度欄位316做記錄)。例如,當關鍵字709為「三國演義」時,假設自然語言理解系統720找到的回報答案例如為三國演義的電視劇、三國演義的書籍與三國演義的音樂。其中,若眾人提到「三國演義」時通常是指「三國演義」的電視劇,較少人會指「三國演義」的電影,而更少人會指「三國演義」的書籍,(例如圖8B中,相關記錄在喜好欄位854的數值分別為80、40、5),則自然語言理解系統720會按照優先順序排序關於「電視劇」、「電影」、「書籍」的回報答案711。也就是說,自然語言理解系統720會優先選擇「三國演義的電視劇」來做為回報答案711,並依據此回報答案711輸出語音應答707。至於上述的“眾人經常使用的答案優先排列”的方
式,可以使用圖3C的熱度欄位316做記錄,而記錄方式已在上述圖3C的相關段落揭示,在此不予贅述。
此外,自然語言理解系統720也可依據用戶的使用頻率以決定回報答案711的優先順序。具體來說,因自然語言理解系統720可將曾經接收到來自用戶的語音輸入701記錄在特性資料庫730,特性資料庫730可記錄自然語言理解系統720解析用戶的語音輸入701時,所獲得的關鍵字709以及自然語言理解系統720所有產生過的回報答案711等應答資訊。因此自然語言理解系統720在往後選擇回報答案711時,可根據特性資料庫730中所記錄的應答資訊(例如用戶喜好/厭惡/習慣、甚至是眾人喜好/厭惡/習慣...等資訊),按照優先排序找出較符合用戶意圖(由用戶的語音輸入所判定)的回報答案711,藉以對應的的語音應答。至於上述“依據用戶習慣決定回報答案711的優先順序”的方式,亦可使用圖3C的熱度欄位316做記錄,而記錄方式已在上述圖3C的相關段落揭示,在此不予贅述。
綜合上述,自然語言理解系統720可將上述的用戶喜好屬性(例如正面用語與負面用語)、用戶習慣及眾人使用習慣儲存至特性資料庫730中(步驟S806)。也就是說,在步驟S802、步驟S804及步驟S806中,從用戶的先前的歷史對話記錄獲知用戶喜好資料715,並將所搜集到的用戶喜好資料715加入特性資料庫730中,此外,也將用戶習慣與眾人使用習慣儲存至特性資料庫730,讓自然語言理解系統720能利用特性資料庫730中豐富資訊(例如用戶
喜好記錄717),提供用戶更正確的應答。
接下來對步驟S830的細節做進一步描述。在步驟S830中,是在步驟S810接收語音輸入、並在S820解析語音輸入的關鍵字709以獲得候選列表後,接著,自然語言理解系統720依據將用戶喜好、用戶習慣或眾人使用習慣等用戶喜好記錄717,決定至少一回報答案的優先順序(步驟S880)。如上所述,優先順序可以透過搜尋的記錄數量、用戶或眾人的正面/負面用語等方式為依據。接著,依據優先順序自候選列表中選擇一回報答案711(步驟S890),至於回報答案的選擇亦可如上所述,選擇匹配程度最高者、或是優先順序最高者。之後,依據回報答案711,輸出語音應答707(步驟S840)。
另一方面,自然語言理解系統720還可依據用戶更早輸入的語音輸入701,以決定至少一回報答案的優先順序。也就是說,假設有另一個語音輸入701(例如前面提到的第四語音輸入)被語音取樣模組710所接收的時間提前於語音應答707被播放時,則自然語言理解系統720亦可透過解析這個語音輸入701(亦即第四語音輸入)中的關鍵字(亦即第四關鍵字709),並在候選列表中,優先選取與此關鍵字符合的回報答案以做為回報答案711,並依據此回報答案711輸出語音應答707。
舉例來說,假設自然語言理解系統720先接收到「我想看電視劇」的語音輸入701,且隔了幾秒之後,假設自然語言理解系統720又接收到「幫我放三國演義好了」的語音輸入701。此時,
自然語言理解系統720可在第一次的語音輸入701中識別到「電視劇」的關鍵字(第一關鍵字),且在後面識別到「三國演義」的關鍵字(第四關鍵字),因此,自然語言理解系統720會從候選列表中,選取意圖資料是關於「三國演義」與「電視劇」的回報答案,並以此回報答案711據以輸出用語音應答707予用戶。
基於上述,自然語言理解系統720可依據來自用戶的語音輸入,並參酌眾人使用習慣、用戶喜好、用戶習慣或用戶所說的前後對話等等資訊,而輸出較能符合語音輸入701的請求資訊703的語音應答707予用戶。其中,自然語言理解系統720可依據不同的排序方式,例如眾人使用習慣、用戶喜好、用戶習慣或用戶所說的前後對話等等方式,來優先排序候選列表中的回報答案。藉此,若來自用戶的語音輸入701較不明確時,自然語言理解系統720可參酌眾人使用習慣、用戶喜好、用戶習慣或用戶所說的前後對話,來判斷出用戶的語音輸入701中所意指的意圖(例如語音輸入中的關鍵字709的屬性、知識領域等等)。換言之,若回報答案711與用戶曾表達過/眾人所指的意圖接近時,自然語言理解系統720則會優先考慮此回報答案711。如此一來,自然語言對話系統700所輸出的語音應答707,可較符合用戶的請求資訊703。
應注意的是,雖然上述將特性資料庫730與結構化資料庫220以不同的資料庫做描述,但這兩個資料庫可合併在一起,本領域的技術人員可依據實際應用進行選擇。
綜上所述,本發明提供一種自然語言對話方法及其系統,自然語言對話系統可依據來自用戶的語音輸入而輸出對應的語音應答。本發明的自然語言對話系統還可依據依據眾人使用習慣、用戶喜好、用戶習慣或用戶所說的前後對話等等方式,來優先選出較適當的回報答案,據以輸出語音應答予用戶,藉以增進用戶與自然語言對話系統進行對話時的便利性。
接著再以自然語言理解系統100與結構化資料庫220等架構與構件,應用於依據用戶語音輸入的請求資訊分析而得的回報答案的數量,決定直接依據資料類型進行操作、或是要求用戶提供進一步指示,隨後在回報答案只剩一者時,亦可直接依據資料類型進行操作的實例做的說明。提供用戶這項選擇的好處為系統可以不必替用戶進行回報答案的篩選,而是將包含回報答案的候選列表直接提供給用戶,並讓用戶透過回報答案的選取,自己決定想要執行的軟體或提供哪種服務,以達到提供用戶友好介面(user-friendly interface)的目的。
圖9為依據本發明一實施例的移動終端裝置的系統示意圖。請參照圖9,在本實施例中,移動終端裝置900包括語音接收單元910、資料處理單元920、顯示單元930及儲存單元940。資料處理單元920耦接語音接收單元910、顯示單元930及儲存單元940。語音接收單元910用以接收第一輸入語音SP1及第二輸入語音SP2且傳送至資料處理單元920。上述的第一語音輸入SP1與第二語音輸入SP2可以是語音輸入501、701。顯示單元930用以
受控於資料處理單元920以顯示第一/第二候選列表908/908’。儲存單元940用以儲存多個資料,這些資料可包含前述的結構化資料庫220或特性資料庫730的資料,在此不再贅述。此外,儲存單元940可以是伺服器或電腦系統內的任何類型的記憶體,例如動態隨機記憶體(DRAM),靜態隨機記憶體(SRAM)、快閃記憶體(Flash memory)、唯讀記憶體(ROM)...等,本發明對此並不加以限制,本領域的技術人員可以依據實際需求進行選用。
在本實施例中,資料處理單元920的作用如同圖1的自然語言理解系統100,會對第一輸入語音SP1進行語音識別以產生請求資訊902,再對第一請求資訊902進行分析與自然語言處理以產生對應第一輸入語音SP1的第一關鍵字904,並且依據第一輸入語音SP1對應的第一關鍵字904從儲存單元940的資料(例如搜尋引擎240依據關鍵字108對結構化資料庫220進行全文檢索)中找出第一回報答案906(例如第一回報答案511/711)。當所找到的第一回報答案906數量為1時,資料處理單元920可直接依據第一回報答案906所對應的資料的類型進行對應的操作;當第一回報答案906的數量大於1時,資料處理單元920可將第一回報答案906整理成一個第一候選列表908,隨後控制顯示單元940顯示第一候選列表908予用戶。在顯示第一候選列表908供用戶做進一步選取的狀況下,資料處理單元920會收到第二輸入語音SP2,並對其進行語音識別以產生第二請求資訊902’,再對第二請求資訊902’進行自然語言處理以產生對應第二輸入語音SP2的第
二關鍵字904’,並且依據第二輸入語音SP2對應的第二關鍵字904’從第一候選列表908中選擇對應的部分。其中,第一關鍵字904及第二關鍵字904’可以由多個關鍵字所構成。上述對第二語音輸入SP2進行分析而產生第二請求資訊902’與第二關鍵字904’的方式,可以運用圖5A與7A對第二語音輸入進行分析的方式,因此不再贅述。
類似地,當第二回報答案906的數量為1時,資料處理單元920會依據第二回報答案906的類型進行對應的操作;當第二回報答案906’的數量大於1時,資料處理單元920會再依據第二回報答案906’整理成一個第二候選列表908’並控制顯示單元940予以顯示。接著,再依據用戶下一個輸入語音以選擇對應的部分,再依據後續回報答案的數量進行對應的操作,此可參照上述說明類推得知,在此則不再贅述。
進一步來說,資料處理單元920會將結構化資料庫220的多個記錄302(例如標題欄位304中的各分欄位308的數值資料)與第一輸入語音SP1對應的第一關鍵字904進行比對(如前面對圖1、圖3A、3B、3C所述)。當結構化資料庫220某個記錄302與第一輸入語音SP1的第一關鍵字904為至少部分匹配時,則將此記錄302視為第一輸入語音SP1所產生的匹配結果(例如圖3A/3B的產生匹配結果)。其中,若資料的類型為音樂檔,則記錄302可包括歌曲名稱、歌手、專輯名稱、出版時間、播放次序、...等;若資料的類型為影像檔,則記錄302可包括影片名稱、出版時間、
工作人員(包含演出人員)、...等;若資料的類型為網頁檔,則記錄302可包括網站名稱、網頁類型、對應的使用者帳戶、...等;若資料的類型為圖片檔,則記錄302可包括圖片名稱、圖片資訊、...等;若資料的類型為名片檔,則記錄302可包括連絡人名稱、連絡人電話、連絡人位址、...等。上述記錄302為舉例以說明,且記錄302可依據實際應用而定,本發明實施例不以此為限。
接著,資料處理單元920可判斷第二輸入語音SP2對應的第二關鍵字904’是否包含指示順序的一順序辭彙(例如“我要第三個選項”或“我選第三個”)。當第二輸入語音SP2對應的第二關鍵字904’包含指示順序的順序辭彙時,則資料處理單元920依據順序辭彙自第一候選列表908中選擇位於對應位置的資料。當第二輸入語音SP2對應的第二關鍵字904’未包含指示順序的順序辭彙時,表示用戶可能直接選取第一候選列表908中某個第一回報答案906,則資料處理單元920將第一候選列表908中各個第一回報答案906所對應的記錄302與第二關鍵字904’進行比對,以決定第一回報答案906與第二輸入語音SP2的對應程度,再依據對應程度決定第一候選列表908中是否有某個第一回報答案906對應第二輸入語音SP2。在本發明的一實施例中,資料處理單元920可依據第一回報答案906對第二關鍵字904’的對應程度(例如完全匹配或是部分匹配的程度),來決定第一候選列表906中是否有某個第一回報答案906與第二輸入語音SP2產生對應,藉以簡化選擇的流程。其中,資料處理單元920可選擇資料中對應程度為最
高者為對應第二輸入語音SP2。
舉例來說,若第一輸入語音SP1為“今天天氣怎樣”,在進行語音識別及自然語言處理後,第一輸入語音SP1對應的第一關鍵字904會包括“今天”及“天氣”,因此資料處理單元920會讀取對應今天天氣的資料,並且透過顯示單元930顯示這些天氣資料作為第一候選列表908。接著,若第二輸入語音SP2為“我要看第3筆資料”或“我選擇第3筆”,在進行語音識別及自然語言處理後,第二輸入語音SP2對應的第二關鍵字904’會包括“第3筆”,在此“第3筆”會被解讀為指示順序的順序辭彙,因此資料處理單元920會讀取第一候選列表908中第3筆資料(亦即第一候選列表908中的第三筆第一回報答案906),並且再透過顯示單元930顯示對應的天氣資訊。或者,若第二輸入語音SP2為“我要看北京的天氣”或“我選擇北京的天氣”,在進行語音識別及自然語言處理後,第二輸入語音SP2對應的第二關鍵字904’會包括“北京”及“天氣”,因此資料處理單元920會讀取第一候選列表908中對應北京的資料。當此項選擇所對應的第一回報答案906數量為1時,可直接透過顯示單元930顯示對應的天氣資訊;當所選擇的第一回報答案906數量大於1時,則再顯示進一步的第二候選列表908’(包含至少一個第二回報答案906’)供使用者進一步選擇。
若第一輸入語音SP1為“我要打電話給老張”,在進行語音識別及自然語言處理後,第一輸入語音SP1對應的第一關鍵字904會包括“電話”及“張”,因此資料處理單元920會讀取對應姓
“張”的連絡人資料(可透過對結構化資料庫220進行全文檢索,再取得對應於記錄302的詳細資料),並且透過顯示單元930顯示這些連絡人資料(亦即第一回報答案906)的第一候選列表908。接著,若第二輸入語音SP2為“第3個老張”或“我選擇第3個”,在進行語音識別及自然語言處理後,第二輸入語音SP2對應的第二關鍵字904’會包括“第3個”,在此“第3個”會被解讀為指示順序的順序辭彙,因此資料處理單元920會讀取第一候選列表908中的第3筆資料(亦即第三個第一回報答案906),並且依據所選擇的資料進行撥接。或者,若第二輸入語音SP2為“我選139開頭的”,在進行語音識別及自然語言處理後,第二輸入語音SP2對應的第二關鍵字904’會包括“139”及“開頭”,在此“139”不會被解讀為指示順序的順序辭彙,因此資料處理單元920會讀取第一候選列表908中電話號碼為139開頭的連絡人資料;若第二輸入語音SP2為“我要北京的老張”,在進行語音識別及自然語言處理後,第二輸入語音SP2對應的第二關鍵字904’會包括“北京”及“張”,資料處理單元920會讀取第一候選列表908中位址為北京的連絡人資料。當所選擇的第一回報答案906數量為1時,則依據所選擇的資料進行撥接;當所選擇的第一回報答案906數量大於1,則將此時所選取的第一回報答案906作為第二回報答案906’,並整理成一第二候選列表908’顯示予用戶供其選擇。
若第一輸入語音SP1為“我要找餐廳”,在進行語音識別及自然語言處理後,第一輸入語音SP1的第一關鍵字904會包括
“餐廳”,資料處理單元920會讀取所有對應於餐廳第一回報答案906,由於這樣的指示並不是很明確,所以將透過顯示單元930顯示第一候選列表908(包含對應於所有餐廳資料的第一回報答案906)予用戶,並等用戶進一步的指示。接著,若用戶透過第二輸入語音SP2輸入“第3個餐廳”或“我選擇第3個”時,在進行語音識別及自然語言處理後,第二輸入語音SP2對應的第二關鍵字904’會包括“第3個”,在此“第3個”會被解讀為指示順序的順序辭彙,因此資料處理單元920會讀取第一候選列表908中第3筆資料,並且依據所選擇的資料進行顯示。或者,若第二輸入語音SP2為“我選最近的”,在進行語音識別及自然語言處理後,第二輸入語音SP2對應的第二關鍵字904’會包括“最近的”,因此資料處理單元920會讀取第一候選列表908中位址與使用者最近的餐廳資料;若第二輸入語音SP2為“我要北京的餐廳”,在進行語音識別及自然語言處理後,第二輸入語音SP2對應的第二關鍵字904’會包括“北京”及“餐廳”,因此資料處理單元920會讀取第一候選列表908中位址為北京的餐廳資料。當所選擇第一回報答案906的數量為1時,則依據所選擇的資料進行顯示;當所選擇的第一回報答案906數量大於1,則將此時所選取的第一回報答案906作為第二回報答案906’,並整理成一第二候選列表908’顯示予使用者供其選擇。
依據上述,資料處理單元920可依據所選擇第一回報答案906(或第二回報答案906’)的資料的類型進行對應的操作。舉例來說,當所選擇第一回報答案906對應的資料的類型為一音樂檔,
則資料處理單元920依據所選擇的資料進行音樂播放;當所選擇的資料的類型為一影像檔,則資料處理920單元依據所選擇的資料進行影像播放;當所選擇的資料的類型為一網頁檔,則資料處理單元920依據所選擇的資料進行顯示;當所選擇的資料的類型為一圖片檔,則資料處理單元920依據所選擇的資料進行圖片顯示;當所選擇的資料的類型為一名片檔,則資料處理單元920依據所選擇的資料進行撥接。
圖10為依據本發明一實施例的資訊系統的系統示意圖。請參照圖9及圖10,在本實施例中,資訊系統1000包括移動終端裝置1010及伺服器1020,其中伺服器1020可以是雲端伺服器、區域網路伺服器、或其他類似裝置,但本發明實施例不以此為限。移動終端裝置1010包括語音接收單元1011、資料處理單元1013及顯示單元1015。資料處理單元1013耦接語音接收單元1011、顯示單元1015及伺服器1020。移動終端裝置1010可以是移動電話(Cell phone)、個人數位助理(Personal Digital Assistant,PDA)手機、智慧型手機(Smart phone)等移動通訊裝置,本發明亦不對此加以限制。語音接收單元1011的功能相似於語音接收單元910,顯示單元1015的功能相似於顯示單元930。伺服器1020用以儲存多個資料且具有語音識別功能。
在本實施例中,資料處理單元1013會透過伺服器1020對第一輸入語音SP1進行語音識別以產生第一請求資訊902,再對第一請求資訊902進行自然語言處理以產生對應第一輸入語音
SP1的第一關鍵字904,並且伺服器1020會依據第一關鍵字904對結構化資料庫220進行全文檢索以找出第一回報答案906後並傳送至資料處理單元1013。當第一回報答案906的數量為1時,資料處理單元1013會依據第一回報答案906所對應的資料類型進行對應的操作;當第一回報答案906的數量大於1時,資料處理單元1013將此時所選擇的第一回報答案906整理成第一候選列表908後控制顯示單元1015顯示予用戶,並等候用戶進一步的指示。當用戶又輸入指示後,接著,資料處理單元1013會透過伺服器1020對第二輸入語音PS2進行語音識別以產生第二請求資訊902’,再對第二請求資訊902’進行分析與自然語言處理以產生對應第二輸入語音SP2的第二關鍵字904’,並且伺服器1020依據第二輸入語音SP2對應的第二關鍵字904’從第一候選列表908中挑選對應的第一回報答案906作為第二回報答案906’,並傳送至資料處理單元1013。類似地,當此時對應的第二回報答案906的數量為1時,資料處理單元920會依據第二回報答案906所對應的資料的類型進行對應的操作;當第二回報答案906的數量大於1時,資料處理單元1013會再此時所選擇的第二回報答案906整理成一第二候選列表908’後,再控制顯示單元1015顯示予用戶做進一步選擇。接著,伺服器1020會再依據後續輸入語音選擇對應的部分,並且資料處理單元1013會再依據選擇的資料的數量進行對應的操作,此可參照上述說明類推得知,在此則不再贅述。
應注意的是,在一實施例中,若依據第一輸入語音SP1
對應的第一關鍵字904所選擇的第一回報答案906數量為1時,可以直接進行該資料對應的操作。此外,在另一實施例中,可以先輸出一個提示予用戶,以通知用戶所選擇的第一回報答案906的對應操作將被執行。再者,在又一實施例中,亦可在依據第二輸入語音SP2對應的第二關鍵字904’所選擇的第二回報答案906數量為1時,直接進行該資料對應的操作。當然,在另一實施例中,亦可以先輸出一個提示予用戶,以通知用戶所選擇的資料的對應操作將被執行,本發明對此都不加以限制。
進一步來說,伺服器1020會將結構化資料庫220各個記錄302與第一輸入語音SP1對應的第一關鍵字904進行比對。當各個記錄302與第一關鍵字904為至少部分匹配時,則將此記錄302視為第一輸入語音SP1所匹配的資料,並將此記錄302作為第一回報答案906的一者。若依據第一輸入語音SP1對應的第一關鍵字904所選擇的第一回報答案906數量大於1時,用戶可能再透過第二輸入語音SP2輸入指示。由於用戶此時透過第二輸入語音SP2所輸入的指示可能包含順序(用以指示選擇顯示資訊中的第幾項等順序)、直接選定顯示資訊中的某一者(例如直接指示某項資訊的內容)、或是依據指示判定用戶的意圖(例如選取最近的餐廳,就會用顯示“最近”的餐廳給用戶),於是伺服器1020接著將判斷第二輸入語音SP2對應的第二關鍵字904’是否包含指示順序的一順序辭彙。當第二輸入語音SP2對應的第二關鍵字904’包含指示順序的順序辭彙時,則伺服器1020依據順序辭彙自第一候選
列表908中選擇位於對應位置的第一回報答案906。當第二輸入語音SP2對應的第二關鍵字904’未包含指示順序的順序辭彙時,則伺服器1020將第一候選列表908中各個第一回報答案906與第二輸入語音SP2對應的第二關鍵字904’進行比對,以決定第一回報答案906與第二輸入語音SP2的對應程度,並可依據這些對應程度決定第一候選列表908中第一回報答案906是否對應第二輸入語音SP2。在本發明的一實施例中,伺服器1020可依據第一回報答案906與第二關鍵字904’的對應程度決定第一候選列表908中的那些第一回報答案906對應第二輸入語音SP2,以簡化選擇的流程。其中,伺服器1020可選擇第一回報答案906中對應程度為最高者為對應於第二輸入語音SP2者。
圖11為依據本發明一實施例的基於語音識別的選擇方法的流程圖。請參照圖11,在本實施例中,會接收第一輸入語音(步驟S1100),並且對第一輸入語音SP1進行語音識別以產生第一請求資訊902(步驟S1110),再對第一請求資訊902進行分析自然語言處理以產生對應第一輸入語音的第一關鍵字904(步驟S1120)。接著,會依據第一關鍵字904從多個資料中選擇對應的第一回報答案906(步驟S1130),並且判斷所選擇的第一回報答案906數量是否為1(步驟S1140)。當所選擇第一回報答案906的數量為1時,亦即步驟S1140的判斷結果為“是”,則依據第一回報答案906所對應的資料類型進行對應的操作(步驟S1150)。當所選擇第一回報答案906的數量大於1時,亦即步驟S1140的
判斷結果為“否”,依據所選擇第一回報答案906顯示第一候選列表908且接收第二輸入語音SP2(步驟S1160),並且對第二輸入語音進行語音識別以產生第二請求資訊902’(步驟S1170),再對第二請求資訊902’進行分析與自然語言處理以產生對應第二輸入語音的第二關鍵字904’(步驟S1180)。接著,依據第二請求資訊902從第一候選列表908中的第一回報答案906選擇對應的部分,再回到步驟S1140判斷判斷所選擇第一回報答案906的數量是否為1(步驟S1190)。其中,上述步驟的順序為用以說明,本發明實施例不以此為限。並且,上述步驟的細節可參照圖9及圖10實施例,在此則不再贅述。
綜上所述,本發明實施例的基於語音識別的選擇方法及其移動終端裝置及資訊系統,其對第一輸入語音及第二輸入語音進行語音識別及自然語言處理以確認第一輸入語音及第二輸入語音對應的關鍵字,再依據第一輸入語音及第二輸入語音對應的關鍵字對回報答案進行選擇。藉此,可提升使用者操作的便利性。
接下來針對本發明所揭示的自然語言理解系統100與結構化資料庫220等架構與構件,與輔助啟動裝置相結合的操作實例做說明。
圖12是依照本發明一實施例所繪示的語音操控系統的方塊圖。請參照圖12,語音操控系統1200包括輔助啟動裝置1210、移動終端裝置1220以及伺服器1230。在本實施例中,輔助啟動裝置1210會透過無線傳輸信號,來啟動移動終端裝置1220的語音
系統,使得移動終端裝置1220根據語音信號與伺服器1230進行溝通。
詳細而言,輔助啟動裝置1210包括第一無線傳輸模組1212以及觸發模組1214,其中觸發模組1214耦接於第一無線傳輸模組1212。第一無線傳輸模組1212例如是支援無線相容認證(Wireless fidelity,Wi-Fi)、全球互通微波存取(Worldwide Interoperability for Microwave Access,WiMAX)、藍芽(Bluetooth)、超寬頻(ultra-wideband,UWB)或射頻識別(Radio-frequency identification,RFID)等通訊協定的裝置,其可發出無線傳輸信號,以和另一無線傳輸模組彼此對應而建立無線連結。觸發模組1214例如為按鈕、按鍵等。在本實施例中,當使用者按壓此觸發模組1214產生一觸發信號後,第一無線傳輸模組1212接收此觸發信號而啟動,此時第一無線傳輸模組1212會發出無線傳輸信號,並透過第一無線傳輸模組1212傳送此無線傳輸信號至移動終端裝置1220。在一實施例中,上述的輔助啟動裝置1210可為一藍牙耳機。
值得注意的是,雖然目前有些免持的耳機/麥克風亦具有啟動移動終端裝置1220某些功能的設計,但本發明的另一實施例中,輔助啟動裝置1210可以不同於上述的耳機/麥克風。上述的耳機/麥克風藉由與移動終端裝置的連線,以取代移動終端裝置1220上的耳機/麥克風而進行聽/通話,啟動功能為附加設計,但本發明的輔助啟動裝置1210“僅”用於開啟移動終端裝置1220中的語音
系統,並不具有聽/通話的功能,故內部的電路設計可簡化,成本也較低。換言之,相對於上述的免持耳機/麥克風而言,輔助啟動裝置1210是另外裝置,即使用者可能同時具備免持的耳機/麥克風以及本發明的輔助啟動裝置1210。
此外,上述的輔助啟動裝置1210的形體可以是使用者隨手可及的用品,例如戒指、手錶、耳環、項鏈、眼鏡等裝飾品,即各種隨身可攜式物品,或者是安裝構件,例如為配置於方向盤上的行車配件,不限於上述。也就是說,輔助啟動裝置1210為“生活化”的裝置,透過內部系統的設置,讓使用者能夠輕易地觸碰到觸發模組1214,以開啟語音系統。舉例來說,當輔助啟動裝置1210的形體為戒指時,使用者可輕易地移動手指來按壓戒指的觸發模組1214使其被觸發。另一方面,當輔助啟動裝置1210的形體為配置於行車配件的裝置時,使用者亦能夠在行車期間輕易地觸發行車配件裝置的觸發模組1214。此外,相較于配戴耳機/麥克風進行聽/通話的不舒適感,使用本發明的輔助啟動裝置1210可以將移動終端裝置1220中的語音系統開啟,甚至進而開啟擴音功能(後將詳述),使得使用者在不需配戴耳機/麥克風,仍可直接透過移動終端裝置1220進行聽/通話。另外,對於使用者而言,這些“生活化”的輔助啟動裝置1210為原本就會配戴或使用的物品,故在使用上不會有不習慣或是不舒適感的問題,即不需要花時間適應。舉例來說,當使用者在廚房做菜時,需要撥打放置於客廳的移動電話時,假設其配戴具有戒指、項鏈或手錶形體的本發明的輔助
啟動裝置1210,就可以輕觸戒指、項鏈或手錶以開啟語音系統以詢問友人食譜細節。雖然目前部份具有啟動功能的耳機/麥克風亦可以達到上述的目的,但是在每次做菜的過程中,並非每次都需要撥打電話請教友人,故對於使用者來說,隨時配戴耳機/麥克風做菜,以備隨時操控移動終端裝置可說是相當的不方便。
在其他實施例中,輔助啟動裝置1210還可配置有無線充電電池1216,用以驅動第一無線傳輸模組1212。進一步而言,無線充電電池1216包括電池單元12162以及無線充電模組12164,其中無線充電模組12164耦接於電池單元12162。在此,無線充電模組12164可接收來自一無線供電裝置(未繪示)所供應的能量,並將此能量轉換為電力來對電池單元12162充電。如此一來,輔助啟動裝置1210的第一無線傳輸模組1212可便利地透過無線充電電池1216來進行充電。
另一方面,移動終端裝置1220例如為移動電話(Cell phone)、個人數位助理(Personal Digital Assistant,PDA)手機、智慧型手機(Smart phone),或是安裝有通訊軟體的掌上型電腦(Pocket PC)、平板型電腦(Tablet PC)或筆記型電腦等等。移動終端裝置1220可以是任何具備通訊功能的可攜式(Portable)移動裝置,在此並不限制其範圍。此外,移動終端裝置1220可使用Android作業系統、Microsoft作業系統、Android作業系統、Linux作業系統等等,不限於上述。
移動終端裝置1220包括第二無線傳輸模組1222,第二無
線傳輸模組1222能與輔助啟動裝置1210的第一無線傳輸模組1212相匹配,並採用相對應的無線通訊協定(例如無線相容認證、全球互通微波存取、藍芽、超寬頻通訊協定或射頻識別等通訊協定),藉以與第一無線傳輸模組1212建立無線連結。值得注意的是,在此所述的“第一”無線傳輸模組1212、“第二”無線傳輸模組1222是用以說明無線傳輸模組配置於不同的裝置,並非用以限定本發明。
在其他實施例中,移動終端裝置1220還包括語音系統1221,此語音系統1221耦接於第二無線傳輸模組1222,故使用者觸發輔助啟動裝置1210的觸發模組1214後,能透過第一無線傳輸模組1212與第二無線傳輸模組1222無線地啟動語音系統1221。在一實施例中,此語音系統1221可包括語音取樣模組1224、語音合成模組1226以及語音輸出介面1227。語音取樣模組1224用以接收來自使用者的語音信號,此語音取樣模組1224例如為麥克風(Microphone)等接收音訊的裝置。語音合成模組1226可查詢一語音合成資料庫,而此語音合成資料庫例如是記錄有文字以及其對應的語音的資訊,使得語音合成模組1226能夠找出對應於特定文字訊息的語音,以將文字訊息進行語音合成。之後,語音合成模組1226可將合成的語音透過語音輸出介面1227輸出,藉以播放予使用者。上述的語音輸出介面1227例如為喇叭或耳機等。
另外,移動終端裝置1220還可配置有通訊模組1228。通
訊模組1228例如是能傳遞與接收無線訊號的元件,如射頻收發器。進一步而言,通訊模組1228能夠讓使用者透過移動終端裝置1220接聽或撥打電話或使用電信業者所提供的其他服務。在本實施例中,通訊模組1228可透過網際網路接收來自伺服器1230的應答資訊,並依據此應答資訊建立移動終端裝置1220與至少一電子裝置之間的通話連線,其中所述電子裝置例如為另一移動終端裝置(未繪示)。
伺服器1230例如為網路伺服器或雲端伺服器等,其具有語音理解模組1232。在本實施例中,語音理解模組1232包括語音識別模組12322以及語音處理模組12324,其中語音處理模組12324耦接於語音識別模組12322。在此,語音識別模組12322會接收從語音取樣模組1224傳來的語音信號,以將語音信號轉換成多個分段語義(例如關鍵字或字句等)。語音處理模組12324則可依據這些分段語義而解析出這些分段語義所代表的意指(例如意圖、時間、地點等),進而判斷出上述語音信號中所表示的意思。此外,語音處理模組12324還會根據所解析的結果產生對應的應答資訊。在本實施例中,語音理解模組1232可由一個或數個邏輯門組合而成的硬體電路來實作,亦可以是以電腦程式碼來實作。值得一提的是,在另一實施例中,語音理解模組1232可配置於移動終端裝置1320中,如圖13所示的語音操控系統1300。上述伺服器1230的語音理解模組1232的操作,可如圖1A的自然語言理解系統100、圖5A/7A/7B的自然語言對話系統500/700/700’。
以下即結合上述語音操控系統1200來說明語音操控的方法。圖14是依照本發明一實施例所繪示的語音操控方法的流程圖。請同時參照圖12及圖14,於步驟S1402中,輔助啟動裝置1210發送無線傳輸信號至移動終端裝置1220。詳細的說明是,當輔助啟動裝置1210的第一無線傳輸模組1212因接收到一觸發信號被觸發時,此輔助啟動裝置1210會發送無線傳輸信號至移動終端裝置1220。具體而言,當輔助啟動裝置1210中的觸發模組1214被使用者按壓時,此時觸發模組1214會因觸發信號被觸發,而使第一無線傳輸模組1212發送無線傳輸信號至移動終端裝置1220的第二無線傳輸模組1222,藉以使得第一無線傳輸模組1212透過無線通訊協定與第二無線傳輸模組1222連結。上述的輔助啟動裝置1210僅用於開啟移動終端裝置1220中的語音系統,並不具有聽/通話的功能,故內部的電路設計可簡化,成本也較低。換言之,相對於一般移動終端裝置1220所附加的免持耳機/麥克風而言,輔助啟動裝置1210是另一裝置,即使用者可能同時具備免持的耳機/麥克風以及本發明的輔助啟動裝置1210。
值得一提的是,上述的輔助啟動裝置1210的形體可以是使用者隨手可及的用品,例如戒指、手錶、耳環、項鏈、眼鏡等各種隨身可攜式物品,或者是安裝構件,例如為配置於方向盤上的行車配件,不限於上述。也就是說,輔助啟動裝置1210為“生活化”的裝置,透過內部系統的設置,讓使用者能夠輕易地觸碰到觸發模組1214,以開啟語音系統1221。因此,使用本發明的輔助
啟動裝置1210可以將移動終端裝置1220中的語音系統1221開啟,甚至進而開啟擴音功能(後將詳述),使得使用者在不需配戴耳機/麥克風,仍可直接透過移動終端裝置1220進行聽/通話。此外,對於使用者而言,這些“生活化”的輔助啟動裝置1210為原本就會配戴或使用的物品,故在使用上不會有不習慣或是不舒適感的問題。
此外,第一無線傳輸模組1212與第二無線傳輸模組1222皆可處於睡眠模式或工作模式。其中,睡眠模式指的是無線傳輸模組為關閉狀態,亦即無線傳輸模組不會接收/偵測無線傳輸信號,而無法與其他無線傳輸模組連結。工作模式指的是無線傳輸模組為開啟狀態,亦即無線傳輸模組可不斷地偵測無線傳輸信號,或隨時發送無線傳輸信號,而能夠與其他無線傳輸模組連結。在此,當觸發模組1214被觸發時,倘若第一無線傳輸模組1212處於睡眠模式,則觸發模組1214會喚醒第一無線傳輸模組1212,使第一無線傳輸模組1212進入工作模式,並使第一無線傳輸模組1212發送無線傳輸信號至第二無線傳輸模組1222,而讓第一無線傳輸模組1212透過無線通訊協定與移動終端裝置1220的第二無線傳輸模組1222連結。
另一方面,為了避免第一無線傳輸模組1212持續維持在工作模式而消耗過多的電力,在第一無線傳輸模組1212進入工作模式後的預設時間(例如為5分鐘)內,倘若觸發模組1214未再被觸發,則第一無線傳輸模組1212會自工作模式進入睡眠模式,
並停止與移動終端裝置1220的第二無線傳輸模組1220連結。
之後,於步驟S1404中,移動終端裝置1220的第二無線傳輸模組1222會接收無線傳輸信號,以啟動語音系統1221。接著,於步驟S1406,當第二無線傳輸模組1222偵測到無線傳輸信號時,移動終端裝置1220可啟動語音系統1221,而語音系統的1221取樣模組1224可開始接收語音信號,例如「今天溫度幾度?」、「打電話給老王。」、「請查詢電話號碼。」等等。
於步驟S1408,語音取樣模組1224會將上述語音信號傳送至伺服器1230中的語音理解模組1232,以透過語音理解模組1232解析語音信號以及產生應答資訊。進一步而言,語音理解模組1232中的語音識別模組12322會接收來自語音取樣模組1224的語音信號,並將語音信號分割成多個分段語義,而語音處理模組12324則會對上述分段語義進行語音理解,以產生用以回應語音信號的應答資訊。
在本發明的另一實施例中,移動終端裝置1220更可接收語音處理模組12324所產生的應答資訊,據以透過語音輸出介面1227輸出應答資訊中的內容或執行應答資訊所下達的操作。於步驟S1410,移動終端裝置1220的語音合成模組1226會接收語音理解模組1232所產生的應答資訊,並依據應答資訊中的內容(例如辭彙或字句等)進行語音合成,而產生語音應答。並且,於步驟S1412,語音輸出介面1227會接收並輸出此語音應答。
舉例而言,當使用者按壓輔助啟動裝置1210中的觸發模
組1214時,第一無線傳輸模組1212則會發送無線傳輸信號至第二無線傳輸模組1222,使得移動終端裝置1220啟動語音系統1221的語音取樣模組1224。在此,假設來自使用者的語音信號為一詢問句,例如「今天溫度幾度?」,則語音取樣模組1224便會接收並將此語音信號傳送至伺服器1230中的語音理解模組1232進行解析,且語音理解模組1232可將解析所產生的應答資訊傳送回移動終端裝置1220。假設語音理解模組1232所產生的應答資訊中的內容為「30℃」,則語音合成模組1226會將此「30℃」的訊息合成為語音應答,且語音輸出介面1227能將此語音應播報給使用者。
在另一實施例中,假設來自使用者的語音信號為一命令句,例如「打電話給老王。」,則語音理解模組1232中可識別出此命令句為「撥電話給老王的請求」。此外,語音理解模組1232會再產生新的應答資訊,例如「請確認是否撥給老王」,並將此新的應答資訊傳送至移動終端裝置1220。在此,語音合成模組1226會將此新的應答資訊合成為語音應答,並透過語音輸出介面1227播報於使用者。更進一步地說,當使用者的應答為「是」的類的肯定答案時,類似地,語音取樣模組1224可接收並傳送此語音信號至伺服器1230,以讓語音理解模組1232進行解析。語音理解模組1232解析結束後,便會在應答資訊記錄有一撥號指令資訊,並傳送至移動終端裝置1220。此時,通訊模組1228則會依據電話資料庫所記錄的聯絡人資訊,查詢出「老王」的電話號碼,以建立移動終端裝置1220與另一電子裝置之間的通話連線,亦即撥號給
「老王」。
在其他實施例中,除上述的語音操控系統1200外,亦可利用語音操控系統1300或其他類似的系統,進行上述的操作方法,並不以上述的實施例為限。
綜上所述,在本實施例的語音操控系統與方法中,輔助啟動裝置能夠無線地開啟移動終端裝置的語音功能。而且,此輔助啟動裝置的形體可以是使用者隨手可及的“生活化”的用品,例如戒指、手錶、耳環、項鏈、眼鏡等裝飾品,即各種隨身可攜式物品,或者是安裝構件,例如為配置於方向盤上的行車配件,不限於上述。如此一來,相較於目前另外配戴免持耳機/麥克風的不舒適感,使用本發明的輔助啟動裝置1210來開啟移動終端裝置1220中的語音系統將更為便利。
值得注意的是,上述具有語音理解模組的伺服器1230可能為網路伺服器或雲端伺服器,而雲端伺服器可能會涉及到使用者的隱私權的問題。例如,使用者需上傳完整的通訊錄至雲端伺服器,才能完成如撥打電話、發簡訊等與通訊錄相關的操作。即使雲端伺服器採用加密連線,並且即用即傳不保存,還是難以消除使用者的擔優。據此,以下提供另一種語音操控的方法及其對應的語音交互系統,移動終端裝置可在不上傳完整通訊錄的情況下,與雲端伺服器來執行語音交互服務。為了使本發明的內容更為明瞭,以下特舉實施例作為本發明確實能夠據以實施的範例。
雖然本發明已以實施例揭露如上,然其並非用以限定本
發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
S602、S604、S606、S608、S610、S612‧‧‧修正語音應答的方法各步驟
Claims (22)
- 一種修正語音應答的方法,包括:接收一第一語音輸入;解析該第一語音輸入中所包括的至少一第一關鍵字,而獲得一候選列表,其中該候選列表具有至少一回報答案;自該候選列表中選擇一第一回報答案,並依據該第一回報答案,輸出一第一語音應答;接收並解析一第二語音輸入,以判斷該第一回報答案是否正確;以及當該第一回報答案不正確且該候選列表具有的回報答案為多個時,自該候選列表中選擇該第一回報答案以外的一者為一第二回報答案,並依據該第二回報答案輸出一第二語音應答,其中,該至少一回報答案的優先順序依據該候選列表中該至少一回報答案的使用經常性來決定,並且依據該優先順序自該候選列表中選擇該第一回報答案。
- 如申請專利範圍第1項所述的修正語音應答的方法,其中判斷該第一回報答案是否正確的步驟包括:依據該第二語音輸入解析出一第二關鍵字;以及當該第二關鍵字不符合該第一回報答案中的用戶意圖時,判斷該第一回報答案為不正確。
- 如申請專利範圍第2項所述的修正語音應答的方法,其中在選擇該第二回報答案之外的步驟包括: 依據該第二關鍵字,自該候選列表中選擇具有符合該第二關鍵字該回報答案為該第二回報答案。
- 如申請專利範圍第2項所述的修正語音應答的方法,其中在選擇該第二回報答案的步驟還包括:當該第一回報答案不正確,且該候選列表中不具有符合該第二關鍵字的該回報答案時,輸出一第三語音應答。
- 如申請專利範圍第1項所述的修正語音應答的方法,還包括:按照該優先順序排列該候選列表中的該回報答案。
- 如申請專利範圍第5項所述的修正語音應答的方法,其中在按照該優先順序排列該候選列表中的該回報答案的步驟包括:依據眾人使用習慣,以決定該回報答案的該優先順序。
- 如申請專利範圍第5項所述的修正語音應答的方法,其中在按照該優先順序排列該候選列表中的該回報答案的步驟還包括:依據用戶喜好,以決定該回報答案的該優先順序。
- 如申請專利範圍第5項所述的修正語音應答的方法,其中在按照該優先順序排列該候選列表中的該回報答案的步驟還包括:依據用戶習慣,以決定該回報答案的該優先順序。
- 如申請專利範圍第1項所述的修正語音應答的方法,其中在選擇該回報答案的步驟包括: 依照一特性資料庫,查詢該第一語音輸入的該第一關鍵字在該特性資料庫中所對應的一用戶喜好記錄;以及選取與該用戶喜好記錄符合的該回報答案,以做為該第一回報答案。
- 如申請專利範圍第1項所述的修正語音應答的方法,其中選擇該第一回報答案步驟還包括:解析一第四語音輸入,並獲得至少一第四關鍵字,其中該第四語音輸入於該第一語音輸入之前輸入;以及選取與該第一關鍵字以及該第四關鍵字符合的該回報答案,以做為該第一回報答案。
- 如申請專利範圍第1項所述的修正語音應答的方法,適用於一移動通訊裝置。
- 一種自然語言對話系統,包括:一語音取樣模組,接收一第一語音輸入;以及一自然語言理解系統,耦接於該語音取樣模組,該自然語言理解系統解析該第一語音輸入中所包括的一第一關鍵字,而獲得一候選列表,其中該候選列表具有至少一回報答案,以及該自然語言理解系統自該候選列表中選擇該回報答案中的其中之一為一第一回報答案,並依據該第一回報答案,輸出一第一語音應答,且該語音取樣模組接收一第二語音輸入,該自然語言理解系統解析該第二語音輸入,以判斷該第一回報答案是否正確,其中當該第一回報答案不正確且該候選列表具有的回報答案為多個時,該 自然語言理解系統自該候選列表中選擇該第一回報答案之外的另一者作為一第二回報答案,並依據該第二回報答案,輸出一第二語音應答,其中,該至少一回報答案的優先順序依據該候選列表中該至少一回報答案的使用經常性來決定,並且依據該優先順序自該候選列表中選擇該第一回報答案。
- 如申請專利範圍第12項所述的自然語言對話系統,其中該自然語言理解系統依據該第二語音輸入解析出一第二關鍵字,以及當該第二關鍵字不符合該第一回報答案中的用戶意圖時,該自然語言理解系統判斷該第一回報答案為不正確。
- 如申請專利範圍第13項所述的自然語言對話系統,其中該自然語言理解系統依據該第二關鍵字,並自該候選列表中選擇具有符合該第二關鍵字的該第二回報答案。
- 如申請專利範圍第13項所述的自然語言對話系統,其中當該第一回報答案不正確,且該候選列表中不具有符合該第二關鍵字的該回報答案時,該自然語言理解系統輸出一第三語音應答。
- 如申請專利範圍第12項所述的自然語言對話系統,其中該自然語言理解系統按照該優先順序排列該候選列表中的該至少一回報答案。
- 如申請專利範圍第16項所述的自然語言對話系統,其中該自然語言理解系統依據眾人使用習慣,以決定該回報答案的該優先順序。
- 如申請專利範圍第16項所述的自然語言對話系統,其中該自然語言理解系統依據用戶喜好,以決定該回報答案的該優先順序。
- 如申請專利範圍第16項所述的自然語言對話系統,其中該自然語言理解系統依據用戶習慣,以決定該回報答案的該優先順序。
- 如申請專利範圍第16項所述的自然語言對話系統,其中該自然語言理解系統依照一特性資料庫,查詢該第一語音輸入的該第一關鍵字在該特性資料庫中所對應的一用戶喜好記錄,以及選取與該用戶喜好記錄符合的該回報答案的一者,以做為該第一回報答案。
- 如申請專利範圍第16項所述的自然語言對話系統,其中該自然語言理解系統解析一第四語音輸入,並獲得一第四關鍵字,其中該第四語音輸入於該第一語音輸入之前被該語音取樣模組接收,以及該自然語言理解系統選取與該第四關鍵字符合的該回報答案,以做為該第一回報答案。
- 如申請專利範圍第12項所述的自然語言對話系統,適用於一移動通訊裝置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105930807A CN103020047A (zh) | 2012-12-31 | 2012-12-31 | 修正语音应答的方法及自然语言对话系统 |
CN201310182947.4A CN103279508B (zh) | 2012-12-31 | 2013-05-17 | 修正语音应答的方法及自然语言对话系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201426358A TW201426358A (zh) | 2014-07-01 |
TWI594139B true TWI594139B (zh) | 2017-08-01 |
Family
ID=47968664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102121405A TWI594139B (zh) | 2012-12-31 | 2013-06-17 | 修正語音應答的方法及自然語言對話系統 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9466295B2 (zh) |
CN (2) | CN103020047A (zh) |
TW (1) | TWI594139B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220277740A1 (en) * | 2021-02-26 | 2022-09-01 | Walmart Apollo, Llc | Methods and apparatus for improving search retrieval using inter-utterance context |
Families Citing this family (216)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US10002189B2 (en) | 2007-12-20 | 2018-06-19 | Apple Inc. | Method and apparatus for searching using an active ontology |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US10706373B2 (en) | 2011-06-03 | 2020-07-07 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
US9135244B2 (en) | 2012-08-30 | 2015-09-15 | Arria Data2Text Limited | Method and apparatus for configurable microplanning |
US9405448B2 (en) | 2012-08-30 | 2016-08-02 | Arria Data2Text Limited | Method and apparatus for annotating a graphical output |
US8762134B2 (en) | 2012-08-30 | 2014-06-24 | Arria Data2Text Limited | Method and apparatus for situational analysis text generation |
US8762133B2 (en) | 2012-08-30 | 2014-06-24 | Arria Data2Text Limited | Method and apparatus for alert validation |
US9336193B2 (en) | 2012-08-30 | 2016-05-10 | Arria Data2Text Limited | Method and apparatus for updating a previously generated text |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
US9600471B2 (en) | 2012-11-02 | 2017-03-21 | Arria Data2Text Limited | Method and apparatus for aggregating with information generalization |
WO2014076525A1 (en) | 2012-11-16 | 2014-05-22 | Data2Text Limited | Method and apparatus for expressing time in an output text |
WO2014076524A1 (en) | 2012-11-16 | 2014-05-22 | Data2Text Limited | Method and apparatus for spatial descriptions in an output text |
US10115202B2 (en) | 2012-12-27 | 2018-10-30 | Arria Data2Text Limited | Method and apparatus for motion detection |
WO2014102569A1 (en) | 2012-12-27 | 2014-07-03 | Arria Data2Text Limited | Method and apparatus for motion description |
GB2524934A (en) | 2013-01-15 | 2015-10-07 | Arria Data2Text Ltd | Method and apparatus for document planning |
KR20240132105A (ko) | 2013-02-07 | 2024-09-02 | 애플 인크. | 디지털 어시스턴트를 위한 음성 트리거 |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
KR101772152B1 (ko) | 2013-06-09 | 2017-08-28 | 애플 인크. | 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스 |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
DE112014003653B4 (de) | 2013-08-06 | 2024-04-18 | Apple Inc. | Automatisch aktivierende intelligente Antworten auf der Grundlage von Aktivitäten von entfernt angeordneten Vorrichtungen |
WO2015028844A1 (en) | 2013-08-29 | 2015-03-05 | Arria Data2Text Limited | Text generation from correlated alerts |
US9244894B1 (en) | 2013-09-16 | 2016-01-26 | Arria Data2Text Limited | Method and apparatus for interactive reports |
US9396181B1 (en) | 2013-09-16 | 2016-07-19 | Arria Data2Text Limited | Method, apparatus, and computer program product for user-directed reporting |
US10296160B2 (en) | 2013-12-06 | 2019-05-21 | Apple Inc. | Method for extracting salient dialog usage from live data |
CN104714954A (zh) * | 2013-12-13 | 2015-06-17 | 中国电信股份有限公司 | 基于上下文理解的信息搜索方法和系统 |
JP6257368B2 (ja) * | 2014-02-18 | 2018-01-10 | シャープ株式会社 | 情報処理装置 |
US10664558B2 (en) | 2014-04-18 | 2020-05-26 | Arria Data2Text Limited | Method and apparatus for document planning |
CN110797019B (zh) * | 2014-05-30 | 2023-08-29 | 苹果公司 | 多命令单一话语输入方法 |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
CN104239459B (zh) * | 2014-09-02 | 2018-03-09 | 百度在线网络技术(北京)有限公司 | 语音搜索方法、装置和系统 |
CN104239456B (zh) * | 2014-09-02 | 2019-05-03 | 百度在线网络技术(北京)有限公司 | 用户特征数据的提取方法和装置 |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
CN105515938B (zh) * | 2014-09-24 | 2020-04-17 | 北京三星通信技术研究有限公司 | 生成通信信息的方法和装置 |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
EP3220372B1 (en) * | 2014-11-12 | 2019-10-16 | Fujitsu Limited | Wearable device, display control method, and display control program |
CN104469029B (zh) * | 2014-11-21 | 2017-11-07 | 科大讯飞股份有限公司 | 通过语音进行查号的方法及装置 |
US10152299B2 (en) | 2015-03-06 | 2018-12-11 | Apple Inc. | Reducing response latency of intelligent automated assistants |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
US10200824B2 (en) | 2015-05-27 | 2019-02-05 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US9578173B2 (en) | 2015-06-05 | 2017-02-21 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US20160378747A1 (en) | 2015-06-29 | 2016-12-29 | Apple Inc. | Virtual assistant for media playback |
CN105224278B (zh) * | 2015-08-21 | 2019-02-22 | 百度在线网络技术(北京)有限公司 | 语音交互服务处理方法及装置 |
US10740384B2 (en) | 2015-09-08 | 2020-08-11 | Apple Inc. | Intelligent automated assistant for media search and playback |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10331312B2 (en) | 2015-09-08 | 2019-06-25 | Apple Inc. | Intelligent automated assistant in a media environment |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
CN105204743A (zh) * | 2015-09-28 | 2015-12-30 | 百度在线网络技术(北京)有限公司 | 用于语音和视频通讯的交互控制方法及装置 |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
KR102558437B1 (ko) * | 2015-11-27 | 2023-07-24 | 삼성전자주식회사 | 질의 응답 처리 방법 및 이를 지원하는 전자 장치 |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
KR102447513B1 (ko) | 2016-01-22 | 2022-09-27 | 한국전자통신연구원 | 점증적 대화지식 자가학습 기반 대화장치 및 그 방법 |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
US10249300B2 (en) * | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
DK179588B1 (en) | 2016-06-09 | 2019-02-22 | Apple Inc. | INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
CN106294539B (zh) * | 2016-07-22 | 2019-08-09 | 福州大学 | 混合云环境下的数据索引列表存储策略 |
US10445432B1 (en) | 2016-08-31 | 2019-10-15 | Arria Data2Text Limited | Method and apparatus for lightweight multilingual natural language realizer |
US10474753B2 (en) | 2016-09-07 | 2019-11-12 | Apple Inc. | Language identification using recurrent neural networks |
CN107818109A (zh) * | 2016-09-13 | 2018-03-20 | 北京优朋普乐科技有限公司 | 一种显示电视节目检索结果的方法及装置 |
US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
US10431202B2 (en) * | 2016-10-21 | 2019-10-01 | Microsoft Technology Licensing, Llc | Simultaneous dialogue state management using frame tracking |
US10467347B1 (en) | 2016-10-31 | 2019-11-05 | Arria Data2Text Limited | Method and apparatus for natural language document orchestrator |
JP6760394B2 (ja) | 2016-12-02 | 2020-09-23 | ヤマハ株式会社 | コンテンツ再生機器、収音機器、及びコンテンツ再生システム |
WO2018100743A1 (ja) * | 2016-12-02 | 2018-06-07 | ヤマハ株式会社 | 制御装置および機器制御システム |
US11281993B2 (en) | 2016-12-05 | 2022-03-22 | Apple Inc. | Model and ensemble compression for metric learning |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
CN107146607B (zh) * | 2017-04-10 | 2021-06-18 | 北京猎户星空科技有限公司 | 智能设备交互信息的修正方法、装置及系统 |
US10417266B2 (en) | 2017-05-09 | 2019-09-17 | Apple Inc. | Context-aware ranking of intelligent response suggestions |
DK201770383A1 (en) | 2017-05-09 | 2018-12-14 | Apple Inc. | USER INTERFACE FOR CORRECTING RECOGNITION ERRORS |
US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
DK180048B1 (en) | 2017-05-11 | 2020-02-04 | Apple Inc. | MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION |
DK201770439A1 (en) | 2017-05-11 | 2018-12-13 | Apple Inc. | Offline personal assistant |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
DK201770428A1 (en) | 2017-05-12 | 2019-02-18 | Apple Inc. | LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK201770411A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | MULTI-MODAL INTERFACES |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
DK201770432A1 (en) | 2017-05-15 | 2018-12-21 | Apple Inc. | Hierarchical belief states for digital assistants |
US20180336892A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Detecting a trigger of a digital assistant |
DK179549B1 (en) | 2017-05-16 | 2019-02-12 | Apple Inc. | FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES |
US20180336275A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Intelligent automated assistant for media exploration |
US10403278B2 (en) | 2017-05-16 | 2019-09-03 | Apple Inc. | Methods and systems for phonetic matching in digital assistant services |
US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
US10657328B2 (en) | 2017-06-02 | 2020-05-19 | Apple Inc. | Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling |
CN107463601B (zh) | 2017-06-13 | 2021-02-12 | 北京百度网讯科技有限公司 | 基于人工智能的对话理解系统构建方法、装置、设备及计算机可读存储介质 |
US10445429B2 (en) | 2017-09-21 | 2019-10-15 | Apple Inc. | Natural language understanding using vocabularies with compressed serialized tries |
US10755051B2 (en) | 2017-09-29 | 2020-08-25 | Apple Inc. | Rule-based natural language processing |
KR102348124B1 (ko) * | 2017-11-07 | 2022-01-07 | 현대자동차주식회사 | 차량의 기능 추천 장치 및 방법 |
CN107894972A (zh) * | 2017-11-15 | 2018-04-10 | 北京百度网讯科技有限公司 | 一种会话标记方法、装置、聚合服务器和存储介质 |
US10381008B1 (en) * | 2017-11-18 | 2019-08-13 | Tp Lab, Inc. | Voice-based interactive network monitor |
US10636424B2 (en) | 2017-11-30 | 2020-04-28 | Apple Inc. | Multi-turn canned dialog |
CN108231090A (zh) * | 2018-01-02 | 2018-06-29 | 深圳市酷开网络科技有限公司 | 文本朗读水平评估方法、装置及计算机可读存储介质 |
CN108231080A (zh) * | 2018-01-05 | 2018-06-29 | 广州蓝豹智能科技有限公司 | 语音推送方法、装置、智能设备和存储介质 |
US10733982B2 (en) | 2018-01-08 | 2020-08-04 | Apple Inc. | Multi-directional dialog |
US10733375B2 (en) | 2018-01-31 | 2020-08-04 | Apple Inc. | Knowledge-based framework for improving natural language understanding |
US10789959B2 (en) | 2018-03-02 | 2020-09-29 | Apple Inc. | Training speaker recognition models for digital assistants |
US10592604B2 (en) | 2018-03-12 | 2020-03-17 | Apple Inc. | Inverse text normalization for automatic speech recognition |
US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
US10909331B2 (en) | 2018-03-30 | 2021-02-02 | Apple Inc. | Implicit identification of translation payload with neural machine translation |
CN108573046B (zh) * | 2018-04-18 | 2021-06-29 | 什伯(上海)智能技术有限公司 | 一种基于ai系统的用户指令处理方法及装置 |
CN108538294B (zh) * | 2018-04-27 | 2020-11-17 | 科大讯飞股份有限公司 | 一种语音交互方法及装置 |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
CN110459211B (zh) * | 2018-05-07 | 2023-06-23 | 阿里巴巴集团控股有限公司 | 人机对话方法、客户端、电子设备及存储介质 |
US10984780B2 (en) | 2018-05-21 | 2021-04-20 | Apple Inc. | Global semantic word embeddings using bi-directional recurrent neural networks |
KR20190133100A (ko) * | 2018-05-22 | 2019-12-02 | 삼성전자주식회사 | 어플리케이션을 이용하여 음성 입력에 대한 응답을 출력하는 전자 장치 및 그 동작 방법 |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
DK179822B1 (da) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
DK201870355A1 (en) | 2018-06-01 | 2019-12-16 | Apple Inc. | VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
US11076039B2 (en) | 2018-06-03 | 2021-07-27 | Apple Inc. | Accelerated task performance |
JP7149134B2 (ja) * | 2018-08-31 | 2022-10-06 | シャープ株式会社 | ゲーム装置、ゲーム制御方法、及びゲームプログラム |
CN109388692A (zh) * | 2018-09-06 | 2019-02-26 | 北京京东尚科信息技术有限公司 | 人机对话的信息处理方法、服务器和终端 |
CN109359295A (zh) * | 2018-09-18 | 2019-02-19 | 深圳壹账通智能科技有限公司 | 自然语言的语义解析方法、装置、计算机设备和存储介质 |
US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
CN111104118A (zh) * | 2018-10-29 | 2020-05-05 | 百度在线网络技术(北京)有限公司 | 一种基于aiml的自然语言指令执行方法及系统 |
US10861446B2 (en) * | 2018-12-10 | 2020-12-08 | Amazon Technologies, Inc. | Generating input alternatives |
CN109783621B (zh) * | 2018-12-17 | 2021-10-08 | 北京百度网讯科技有限公司 | 对话生成方法、装置及设备 |
US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
CN110010131B (zh) * | 2019-04-04 | 2022-01-04 | 深圳市语芯维电子有限公司 | 一种语音信息处理的方法和装置 |
CN110032626B (zh) * | 2019-04-19 | 2022-04-12 | 百度在线网络技术(北京)有限公司 | 语音播报方法和装置 |
US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
US10902854B1 (en) * | 2019-05-17 | 2021-01-26 | Eyeballs Financial, LLC | Systems and methods for generating responses to questions about user accounts |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | USER ACTIVITY SHORTCUT SUGGESTIONS |
DK201970511A1 (en) | 2019-05-31 | 2021-02-15 | Apple Inc | Voice identification in digital assistant systems |
US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
US11227599B2 (en) | 2019-06-01 | 2022-01-18 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
CN112052313A (zh) * | 2019-06-06 | 2020-12-08 | 北京三星通信技术研究有限公司 | 与智能应答系统交互的方法及设备 |
CN110381341B (zh) * | 2019-07-24 | 2021-08-27 | 北京奇艺世纪科技有限公司 | 一种数据处理方法及相关设备 |
US11935521B2 (en) * | 2019-09-12 | 2024-03-19 | Oracle International Corporation | Real-time feedback for efficient dialog processing |
WO2021056255A1 (en) | 2019-09-25 | 2021-04-01 | Apple Inc. | Text detection using global geometry estimators |
CN110704595B (zh) * | 2019-09-27 | 2022-08-23 | 百度在线网络技术(北京)有限公司 | 对话的处理方法、装置、电子设备及可读存储介质 |
CN110706702B (zh) * | 2019-10-15 | 2021-11-09 | 芜湖盟博科技有限公司 | 一种语音识别无限级多轮对话方法 |
US20210117882A1 (en) | 2019-10-16 | 2021-04-22 | Talkdesk, Inc | Systems and methods for workforce management system deployment |
TWI740295B (zh) * | 2019-12-04 | 2021-09-21 | 元大證券投資信託股份有限公司 | 自動客服代理系統 |
US11736615B2 (en) | 2020-01-16 | 2023-08-22 | Talkdesk, Inc. | Method, apparatus, and computer-readable medium for managing concurrent communications in a networked call center |
CN111414764A (zh) * | 2020-03-18 | 2020-07-14 | 苏州思必驰信息科技有限公司 | 对话文本的技能领域确定方法及系统 |
JP7405660B2 (ja) * | 2020-03-19 | 2023-12-26 | Lineヤフー株式会社 | 出力装置、出力方法及び出力プログラム |
US11038934B1 (en) | 2020-05-11 | 2021-06-15 | Apple Inc. | Digital assistant hardware abstraction |
US11061543B1 (en) | 2020-05-11 | 2021-07-13 | Apple Inc. | Providing relevant data items based on context |
US11755276B2 (en) | 2020-05-12 | 2023-09-12 | Apple Inc. | Reducing description length based on confidence |
US11490204B2 (en) | 2020-07-20 | 2022-11-01 | Apple Inc. | Multi-device audio adjustment coordination |
US11438683B2 (en) | 2020-07-21 | 2022-09-06 | Apple Inc. | User identification using headphones |
US11657810B2 (en) * | 2020-07-27 | 2023-05-23 | International Business Machines Corporation | Query routing for bot-based query response |
CN112185391A (zh) * | 2020-09-30 | 2021-01-05 | 深圳供电局有限公司 | 一种用于客服笔录自动修改处理方法 |
US11735165B2 (en) * | 2020-12-11 | 2023-08-22 | Beijing Didi Infinity Technology And Development Co., Ltd. | Task-oriented dialog system and method through feedback |
US11830489B2 (en) * | 2021-06-30 | 2023-11-28 | Bank Of America Corporation | System and method for speech processing based on response content |
US11677875B2 (en) | 2021-07-02 | 2023-06-13 | Talkdesk Inc. | Method and apparatus for automated quality management of communication records |
CN113742027B (zh) * | 2021-11-05 | 2022-07-15 | 深圳传音控股股份有限公司 | 交互方法、智能终端及可读存储介质 |
US11856140B2 (en) | 2022-03-07 | 2023-12-26 | Talkdesk, Inc. | Predictive communications system |
US11736616B1 (en) | 2022-05-27 | 2023-08-22 | Talkdesk, Inc. | Method and apparatus for automatically taking action based on the content of call center communications |
US11971908B2 (en) | 2022-06-17 | 2024-04-30 | Talkdesk, Inc. | Method and apparatus for detecting anomalies in communication data |
WO2024043670A1 (ko) * | 2022-08-22 | 2024-02-29 | 삼성전자 주식회사 | 사용자 발화를 분석하기 위한 방법 및 이를 지원하는 전자 장치 |
US11943391B1 (en) | 2022-12-13 | 2024-03-26 | Talkdesk, Inc. | Method and apparatus for routing communications within a contact center |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080059188A1 (en) * | 1999-10-19 | 2008-03-06 | Sony Corporation | Natural Language Interface Control System |
US7797303B2 (en) * | 2006-02-15 | 2010-09-14 | Xerox Corporation | Natural language processing for developing queries |
CN101939740A (zh) * | 2007-12-11 | 2011-01-05 | 声钰科技 | 在集成语言导航服务环境中提供自然语言语音用户界面 |
TW201112228A (en) * | 2009-06-05 | 2011-04-01 | Apple Inc | Contextual voice commands |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5855000A (en) * | 1995-09-08 | 1998-12-29 | Carnegie Mellon University | Method and apparatus for correcting and repairing machine-transcribed input using independent or cross-modal secondary input |
US5864805A (en) * | 1996-12-20 | 1999-01-26 | International Business Machines Corporation | Method and apparatus for error correction in a continuous dictation system |
US6144958A (en) * | 1998-07-15 | 2000-11-07 | Amazon.Com, Inc. | System and method for correcting spelling errors in search queries |
US6195635B1 (en) * | 1998-08-13 | 2001-02-27 | Dragon Systems, Inc. | User-cued speech recognition |
US7319957B2 (en) * | 2004-02-11 | 2008-01-15 | Tegic Communications, Inc. | Handwriting and voice input with automatic correction |
WO2001084535A2 (en) * | 2000-05-02 | 2001-11-08 | Dragon Systems, Inc. | Error correction in speech recognition |
US6766320B1 (en) * | 2000-08-24 | 2004-07-20 | Microsoft Corporation | Search engine with natural language-based robust parsing for user query and relevance feedback learning |
US7027987B1 (en) * | 2001-02-07 | 2006-04-11 | Google Inc. | Voice interface for a search engine |
US20020123894A1 (en) * | 2001-03-01 | 2002-09-05 | International Business Machines Corporation | Processing speech recognition errors in an embedded speech recognition system |
US7386454B2 (en) * | 2002-07-31 | 2008-06-10 | International Business Machines Corporation | Natural error handling in speech recognition |
US7310602B2 (en) * | 2004-09-27 | 2007-12-18 | Kabushiki Kaisha Equos Research | Navigation apparatus |
US8275618B2 (en) * | 2004-12-22 | 2012-09-25 | Nuance Communications, Inc. | Mobile dictation correction user interface |
US20060293889A1 (en) * | 2005-06-27 | 2006-12-28 | Nokia Corporation | Error correction for speech recognition systems |
US7640160B2 (en) * | 2005-08-05 | 2009-12-29 | Voicebox Technologies, Inc. | Systems and methods for responding to natural language speech utterance |
US7620549B2 (en) * | 2005-08-10 | 2009-11-17 | Voicebox Technologies, Inc. | System and method of supporting adaptive misrecognition in conversational speech |
US7756710B2 (en) * | 2006-07-13 | 2010-07-13 | Sri International | Method and apparatus for error correction in speech recognition applications |
US9318108B2 (en) * | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
JP4481972B2 (ja) * | 2006-09-28 | 2010-06-16 | 株式会社東芝 | 音声翻訳装置、音声翻訳方法及び音声翻訳プログラム |
US8972268B2 (en) * | 2008-04-15 | 2015-03-03 | Facebook, Inc. | Enhanced speech-to-speech translation system and methods for adding a new word |
CN101001287A (zh) * | 2006-12-26 | 2007-07-18 | 华为技术有限公司 | 语音服务器及语音应答方法 |
JP4812029B2 (ja) * | 2007-03-16 | 2011-11-09 | 富士通株式会社 | 音声認識システム、および、音声認識プログラム |
US8229732B2 (en) * | 2007-08-31 | 2012-07-24 | Google Inc. | Automatic correction of user input based on dictionary |
US8185539B1 (en) * | 2008-08-12 | 2012-05-22 | Foneweb, Inc. | Web site or directory search using speech recognition of letters |
US7680661B2 (en) * | 2008-05-14 | 2010-03-16 | Nuance Communications, Inc. | Method and system for improved speech recognition |
CN101834959A (zh) * | 2009-03-12 | 2010-09-15 | 英华达(西安)通信科技有限公司 | 语音服务的自动应答方法及装置 |
US8903793B2 (en) * | 2009-12-15 | 2014-12-02 | At&T Intellectual Property I, L.P. | System and method for speech-based incremental search |
US8626511B2 (en) * | 2010-01-22 | 2014-01-07 | Google Inc. | Multi-dimensional disambiguation of voice commands |
US8521526B1 (en) * | 2010-07-28 | 2013-08-27 | Google Inc. | Disambiguation of a spoken query term |
US9123339B1 (en) * | 2010-11-23 | 2015-09-01 | Google Inc. | Speech recognition using repeated utterances |
US9424233B2 (en) * | 2012-07-20 | 2016-08-23 | Veveo, Inc. | Method of and system for inferring user intent in search input in a conversational interaction system |
US9159317B2 (en) * | 2013-06-14 | 2015-10-13 | Mitsubishi Electric Research Laboratories, Inc. | System and method for recognizing speech |
-
2012
- 2012-12-31 CN CN2012105930807A patent/CN103020047A/zh active Pending
-
2013
- 2013-05-17 CN CN201310182947.4A patent/CN103279508B/zh active Active
- 2013-06-17 TW TW102121405A patent/TWI594139B/zh active
- 2013-12-30 US US14/142,932 patent/US9466295B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080059188A1 (en) * | 1999-10-19 | 2008-03-06 | Sony Corporation | Natural Language Interface Control System |
US7797303B2 (en) * | 2006-02-15 | 2010-09-14 | Xerox Corporation | Natural language processing for developing queries |
CN101939740A (zh) * | 2007-12-11 | 2011-01-05 | 声钰科技 | 在集成语言导航服务环境中提供自然语言语音用户界面 |
TW201112228A (en) * | 2009-06-05 | 2011-04-01 | Apple Inc | Contextual voice commands |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220277740A1 (en) * | 2021-02-26 | 2022-09-01 | Walmart Apollo, Llc | Methods and apparatus for improving search retrieval using inter-utterance context |
US11715469B2 (en) * | 2021-02-26 | 2023-08-01 | Walmart Apollo, Llc | Methods and apparatus for improving search retrieval using inter-utterance context |
Also Published As
Publication number | Publication date |
---|---|
US9466295B2 (en) | 2016-10-11 |
CN103279508B (zh) | 2016-08-03 |
CN103020047A (zh) | 2013-04-03 |
CN103279508A (zh) | 2013-09-04 |
TW201426358A (zh) | 2014-07-01 |
US20140188477A1 (en) | 2014-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI594139B (zh) | 修正語音應答的方法及自然語言對話系統 | |
TWI511124B (zh) | 基於語音辨識的選擇方法及其行動終端裝置及資訊系統 | |
TWI610186B (zh) | 特性資料庫、回報答案的方法、自然語言對話方法及其系統 | |
US9715524B1 (en) | Natural language comprehension system | |
KR102447546B1 (ko) | 가상 비서에서 커맨드 처리를 용이하게 하기 위한 컨텍스트 정보의 이용 | |
US11847151B2 (en) | Disambiguating user intent in conversational interaction system for large corpus information retrieval | |
US20230206940A1 (en) | Method of and system for real time feedback in an incremental speech input interface | |
US9978365B2 (en) | Method and system for providing a voice interface | |
US20160055245A1 (en) | Systems and methods for providing information discovery and retrieval | |
US20060143007A1 (en) | User interaction with voice information services | |
CN107977238A (zh) | 应用启动方法及装置 | |
TWI578175B (zh) | 檢索方法、檢索系統以及自然語言理解系統 | |
JP2006074376A (ja) | 放送受信機能付き携帯電話装置、プログラム、及び記録媒体 |