專利名稱:會話控制裝置的制作方法
技術領域:
本發(fā)明涉及一種會話控制裝置,其根據(jù)來自用戶的話語發(fā)送應答或者響應。
背景技術:
目前,已經(jīng)提出了許多會話控制裝置,并且正在嘗試他們的實際應用。通常,這種會話控制裝置是這樣的,即會話控制裝置僅提出問題或者僅接收來自用戶的問題,其缺少關于會話內(nèi)容的靈活性。
到目前為止,當嘗試進行調(diào)查的采集時,在用戶說出與調(diào)查無關的話語的情況下,會話控制裝置還不能會話語內(nèi)容做出合適的響應,因此很難實現(xiàn)獲得調(diào)查的目的。由于這個原因,已經(jīng)存在這樣的問題,即如果用戶說出的話語內(nèi)容與調(diào)查采集無關,由于會話控制裝置僅能重復“請再說一次”的響應,因此在沒有獲得調(diào)查采集的情況下,與用戶的對話就結束了。
發(fā)明內(nèi)容
本發(fā)明的目的旨在提供一種會話控制裝置,其能夠甚至在用戶的話語內(nèi)容與初始目標不同的情況下,也能以預定的順序返回預定的應答。
作為解決前述問題的方法,本發(fā)明包括下文所述的特征。
本發(fā)明作為會話控制裝置提出,其發(fā)送應答語句以響應用戶話語。
會話控制裝置包括處理器(例如CPU),響應用戶話語,促使執(zhí)行發(fā)送應答語句的控制;以及存儲多個方案的存儲器(例如會話數(shù)據(jù)庫),每個方案包括應答語句和規(guī)定下一候選應答語句的下一候選規(guī)定信息(例如,下一方案的指示信息),下一候選應答語句是以繼所述應答語句之后的順序預期將被發(fā)送的應答語句。處理器響應第一用戶話語,選擇存儲在存儲器中的方案,促使所選的方案發(fā)送包括在該方案中的應答語句,并且隨后響應第二用戶話語,基于包括在方案中的下一候選規(guī)定信息,促使發(fā)送下一候選應答語句;以及不管用戶話語的內(nèi)容,使得以對于多個方案的至少一個部分的預定順序發(fā)送預定的應答語句(例如,調(diào)查中的每個問題)和下一候選應答語句。
根據(jù)這種會話控制裝置,以預定的順序發(fā)送預定的應答語句(例如,調(diào)查問題項目)是可行的。
同樣可以接受的是,該會話控制裝置還具有以下特征。即建立的會話控制設備甚至具有如下特征多個方案的一部分是存儲了按順序發(fā)送的第一到第N個應答語句的N個方案,N個方案中的第M個方案包括規(guī)定了第M個應答語句后的第一個應答語句的下一候選規(guī)定信息。
根據(jù)這種會話控制裝置,可以按照第一到第N的順序發(fā)送第一到第N個應答語句,而不管用戶話語的內(nèi)容。
同樣可以接受的是,該會話控制裝置還可以具有以下特征。即建立的會話裝置甚至具有如下特征即使在響應于發(fā)送的問題的用戶話語的內(nèi)容不同于預定的應答內(nèi)容的情況下,多個方案的至少一部分是用于重復發(fā)送問題的方案。
根據(jù)這種會話控制裝置,即使在用戶的話語內(nèi)容不同于初始目標的情況下也可以提供能夠以預定順序獲取關于預定問題的應答的會話控制裝置。
根據(jù)本發(fā)明,即使在用戶話語內(nèi)容不同于初始目標的情況下,以預定的順序返回預定的應答是可行的。
下面的說明中將提出本發(fā)明的其它目的和優(yōu)點,并且通過該介紹,部分將是顯而易見的或者可以通過實施本發(fā)明了解。利用下文特別指出的手段和組合,可以實現(xiàn)并得到本發(fā)明的目的和優(yōu)點。
附圖包括在說明書中并構成說明書的一部分,其說明了本發(fā)明的實施例,并且其與上文給出的概述和下文給出實施例的詳細描述用于介紹本發(fā)明的原理。
圖1是示出會話控制裝置的結構實例的原理框圖;圖2是示出聲音識別單元的結構實例的原理框圖;圖3是示出詞語假設消除器的處理實例的時間圖;圖4是示出聲音識別單元的操作實例的流程圖;圖5是會話控制裝置的部分放大框圖;圖6是示出字母串和從字母串提取的詞素之間的關系的圖;圖7是示出“話語類型”、字母表中表示話語類型的兩個字母以及屬于該話語類型的話語實例的圖表;圖8示出語句類型和用于確定該類型的詞典之間的關系;圖9是示出存儲在會話數(shù)據(jù)庫中的數(shù)據(jù)的數(shù)據(jù)結構實例的概念圖;圖10是示出話題指定信息的特定項和話題指定信息的其它項之間的相關性的圖;圖11是示出話題標題(也稱為“第二詞素信息”)的數(shù)據(jù)結構實例的圖表;圖12是用于描述應答語句的數(shù)據(jù)結構實例的圖;圖13示出話題標題、應答語句以及與話題指定信息的特定項相互關聯(lián)的下一方案規(guī)定信息的具體實例;圖14是用于描述方案空間的概念圖;圖15是示出方案實例的圖;圖16是示出不同方案實例的圖;圖17是示出方案會話過程的具體實例的圖;圖18是示出會話控制器的主要過程的實例的流程圖;圖19是示出方案會話控制過程的實例的流程圖;
圖20是示出承接圖19的方案會話控制過程的實例的流程圖;圖21是示出基本控制條件的圖;圖22是示出談話空間會話控制過程的實例的流程圖;圖23是示出在第二實施例中方案會話過程的具體實例的圖;以及圖24是示出在第二實施例中方案會話過程的另一具體實例的圖。
具體實施例方式
下文參考附圖介紹本發(fā)明的第一實施例。
本發(fā)明的第一實施例作為會話控制裝置提出,其輸出用戶話語的響應并且建立與用戶的會話。
A.第一實施例1.會話控制裝置的結構實例1.1.總體結構圖1是示出根據(jù)本實施例的會話控制裝置的結構實例的原理框圖。
會話控制裝置1具有例如裝入其殼體內(nèi)的諸如計算機或工作站等信息處理器或者等效于信息處理器的硬件。包括在會話控制裝置1中的信息處理器由配備有中央處理單元(CPU)、主存儲器(RAM)、只讀存儲器(ROM)、輸入/輸出設備(I/O)以及外部存儲器設備(例如硬盤)的設備構成。用于使信息處理器作為會話控制裝置1運行的程序或者用于使計算機執(zhí)行會話控制方法的程序存儲在ROM、外部存儲設備等中,相關程序載入主存儲器,并且由執(zhí)行程序的CPU來實現(xiàn)會話控制裝置1或者會話處理方法。同樣,并非必須將程序存儲在相關裝置內(nèi)的存儲器設備內(nèi),因為同樣可以接受的是結構可以是這樣,即程序可以由諸如磁盤、光盤、磁光盤、CD(壓縮盤)或者DVD(數(shù)字化視頻光盤)或者外部設備(例如,ASP(應用服務提供商)服務器等)等計算機可讀程序記錄介質(zhì)提供,并載入主存儲器。
如圖1所示,會話控制裝置1包括輸入單元100、聲音識別單元200、會話控制器300、結構分析器400、會話數(shù)據(jù)庫500、輸出單元600和聲音識別詞典存儲器700。
1.1.1.輸入單元輸入單元100獲取用戶輸入的輸入信息(用戶話語)。輸入單元100將對應獲取的話語內(nèi)容的聲音作為聲音信號發(fā)送到聲音識別單元200。輸入單元100不必是限于處理聲音的部件,因為同樣可以接受的是,其是處理字母輸入的部件,例如鍵盤或者觸摸感應屏幕。在這種情況下,不必提供將在下文介紹的聲音識別單元200。
1.1.2.聲音識別單元聲音識別單元200基于輸入單元100獲取的話語內(nèi)容以識別對應于話語內(nèi)容的字母串。具體地,來自輸入單元100的聲音信號輸入聲音識別單元200,該聲音識別單元200基于輸入的聲音信號將聲音信號與存儲在聲音識別詞典存儲器700和會話數(shù)據(jù)庫500中的詞典進行對照,并且發(fā)送從聲音信號推斷的聲音識別結果。盡管,在圖1所示的結構實例中,聲音識別單元200請求會話控制器300以從會話數(shù)據(jù)庫500獲得存儲器詳細資料并且從會話數(shù)據(jù)庫500接收存儲器詳細資料(會話控制器300已經(jīng)獲取該存儲器詳細資料以響應該請求),但是同樣可以接受的是以如此方式配置,即聲音識別單元200直接從會話數(shù)據(jù)庫500獲取存儲器詳細資料并且與聲音信號進行比較。
1.1.2.1.聲音識別單元的結構實例圖2示出了說明聲音識別單元200的結構實例的原理框圖。聲音識別單元200包括特征提取器200A、緩沖存儲器(BM)200B、詞語對照單元200C、緩沖存儲器(BM)200D、候選確定單元200E以及詞語假設消除器200F。詞語對照單元200C和詞語假設消除器200F連接到聲音識別詞典存儲器700,而候選確定單元200E連接到會話數(shù)據(jù)庫500。
連接到詞語對照單元200C的聲音識別詞典存儲器700存儲音素(phoneme)隱式馬爾可夫模型(下文,隱式馬爾可夫模型稱為HMM)。音素HMM表示包括每個條件,每個條件包括下面的信息。其配置有(a)條件數(shù)量;(b)可接收的上下文種類;(c)在前條件和在后條件的列表;(d)輸出概率密度分布參數(shù);以及(e)自轉(zhuǎn)移概率和轉(zhuǎn)換到下面條件的概率。由于需要識別每個分布是來自于哪一個講話者,應用在本實施例中的音素HMM轉(zhuǎn)換并且產(chǎn)生規(guī)定的講話者混合HMM。這里,輸出概率密度函數(shù)是具有34維的對角協(xié)方差矩陣的混合高斯分布。而且,連接到詞語對照單元200C的聲音識別詞典存儲器700存儲詞語詞典。詞語詞典存儲指示由用于音素HMM的每個詞語的符號所表示的讀法(reading)的符號串。
在將講話者發(fā)出的聲音輸入到麥克風等并轉(zhuǎn)換為聲音信號后,將其輸入到特征提取器200A。特征提取器200A在對輸入的聲音信號進行A/D轉(zhuǎn)換后,提取并發(fā)送特征參數(shù)。盡管可以考慮多種用于提取并發(fā)送特征參數(shù)的方法,但是作為一個實例提出了一種其中進行LPC分析的方法,并且提取34維特征參數(shù),該34維特征參數(shù)包括對數(shù)冪、第16階對數(shù)倒頻譜系數(shù)、Δ對數(shù)冪和第16階Δ對數(shù)倒頻譜系數(shù)。將提取的特征參數(shù)的時間序列經(jīng)由緩沖存儲器(BM)200B輸入到詞語對照單元200C中。
使用一次通過(one pass)維特比解碼方法的詞語對照單元200C基于經(jīng)由緩沖存儲器200B輸入的特征參數(shù)的數(shù)據(jù),使用存儲在聲音識別詞典存儲器700中的音素HMM和詞語詞典來檢測詞語假設,計算似然(likelihood)并發(fā)送它。在這里,詞語對照單元200C計算詞語中的似然以及從每次發(fā)音開始時在每個HMM條件的似然。單獨詞語具有對應作為似然計算對象的詞語的識別號碼中的每個差異、該詞語的發(fā)音開始時間以及在該詞語前的在前所說詞語的似然。同樣,為了減少計算過程的數(shù)量,同樣可以接受的是通過基于音素HMM和詞語詞典計算的總體似然來減少低似然柵格假設(likelihood gridhypothesis)。詞語對照單元200C將檢測到的詞語假設和關于似然的信息連同從發(fā)聲開始時間的時間信息(特別地,例如幀數(shù))經(jīng)由緩沖存儲器200D發(fā)送到候選確定單元200E和詞語假設消除器200F。
候選確定單元200E參照會話控制器300對檢測到的詞語假設和規(guī)定談話空間中的話題指定信息進行比較,確定檢測到的詞語假設中的任何一個是否與規(guī)定談話空間中的話題指定信息相匹配,以及在匹配的情況下,將匹配的詞語假設作為識別結果發(fā)送,而在不匹配的情況下,請求詞語假設消除器200F以執(zhí)行詞語假設的消除。
將介紹候選確定單元200E的操作實例?,F(xiàn)在,假設詞語對照單元200C發(fā)送多個詞語假設“kantaku”、“kataku”、“kantoku”以及其中的似然(識別率),在這種情況下,規(guī)定的談話空間與“電影”相關,那么“kantoku(導演)”包括在話題指定信息中,但是“kantaku(收回)”和“kataku(借口)”不包括在內(nèi)。同樣,在“kantaku”、“kataku”和“kantoku”中,“kantaku”的似然(識別率)最高,而“kantoku”的似然最低,“kataku”的似然介于兩者之間。
在此前所述的情況中,候選確定單元200E將檢測的詞語假設和規(guī)定談話空間中的話題指定信息進行比較,確定詞語假設“kantoku”匹配規(guī)定談話空間中的話題指定信息,發(fā)送作為識別結果的詞語假設“kantoku”,并且將其傳送到會話控制器300。通過以這種方式進行處理,優(yōu)先于詞語假設“kantaku”和“kataku”,選擇當前正處理的與話題“電影”有關的詞語假設“kantoku(導演)”,其具有更高的似然(識別率),因此可以發(fā)送與會話上下文相符的聲音識別結果。
同時,在沒有匹配的情況下,詞語假設消除器200F以如此方式操作,即發(fā)送識別結果以響應來自候選確定單元200E的請求進而執(zhí)行對詞語假設的消除。在完成了對具有相同結束時間但是不同開始時間的相同詞語的詞語假設的消除后,為了使用具有從發(fā)音開始時間到相關詞語結束時間所計算的總體似然中的最大似然的一個詞語假設作為代表,詞語假設消除器200F基于詞語對照單元200C經(jīng)由緩沖存儲器200D發(fā)送的多個詞語假設,參照存儲在聲音識別詞典存儲器700中的統(tǒng)計語言模型,針對詞語的每一個主要音素環(huán)境,將在消除之后的所有詞語假設的詞語串之中具有最大總體似然的假設的詞語串作為識別結果發(fā)送。在本實施例中,優(yōu)選的是將被處理的詞語的主要音素環(huán)境指三個音素對準(phoneme alignment),其包括在該詞語前面的詞語假設的最后的音素和該詞語的詞語假設的前兩個音素。
將參考圖3介紹詞語假設消除器200F的詞語消除處理的實例。圖3是示出詞語假設消除器200F的處理實例的時間圖。
例如,當在第(i-1)個詞語Wi-1后出現(xiàn)包括音素串a(chǎn)1、a2、...、an的第i個詞語Wi時,認為存在六個假設Wa、Wb、Wc、Wd、We、Wf作為詞語Wi-1的詞語假設。這里,認為前三個詞語假設Wa、Wb和Wc的最后音素是/x/,并且后三個詞語假設Wd、We和Wf的最后音素是/y/。在結束時間te處,在預先假定詞語假設Wa、Wb和Wc的三個假設以及預先假定詞語假設Wd、We和Wf的一個假設剩余的情況下,那么保留在具有相同主要音素環(huán)境的前三個假設中具有最高總體似然的假設,而刪除其它假設。
當預先假定詞語假設Wd、We和Wf的假設具有的主要音素環(huán)境與其它三個假設具有的主要音素環(huán)境不同時,即當前面詞語假設的最后音素不是x而是y時,那么不刪除預先假定詞語假設Wd、We和Wf的假設。即對于前面的詞語假設的每一個最后音素只保留一個假設。
盡管在此前所述的實施例中,詞語的主要音素環(huán)境定義為三個詞素對準,其包括在該詞語前面的詞語假設的最后音素和該詞語的詞語假設的前兩個音素,但是本發(fā)明不限于此,因為同樣可以接受的是,其是一個音素對準,該音素對準包括在前詞語假設的音素串以及包含了該詞語的詞語假設的第一音素的音素串,其中在前詞語假設的音素串包括在前詞語假設的最后一個音素和在前詞語假設中相鄰于所述最后一個音素的至少一個音素。
在此前所述的實施例中,特征提取器200A、詞語對照單元200C、候選確定單元200E以及詞語假設消除器200F由例如計算機(例如微型計算機)構成,而緩沖存儲器200B和200D以及聲音識別詞典存儲器700由例如存儲器設備(例如硬盤存儲器)構成。
盡管在此前所述的實施例中,使用詞語對照單元200C和詞語假設消除器200F來實現(xiàn)聲音識別,但是本發(fā)明不限于此,因為同樣可以接受的是配置為例如與音素HMM有關的音素對照單元和例如參照使用一次通過DP算法的統(tǒng)計語言模型來實現(xiàn)對詞語的聲音識別的聲音識別單元。
同樣,在本實施例中,聲音識別單元200被描述為會話控制裝置1的一部分,但是它也可以是包括聲音識別單元200、聲音識別詞典存儲器700和會話數(shù)據(jù)庫500的獨立聲音識別設備。
1.1.2.2.聲音識別單元的操作實例接下來,參考圖4介紹聲音識別單元200的操作。圖4是示出聲音識別單元200的操作實例的流程圖。在從輸入單元100接收到聲音信號之后,聲音識別單元200對接收的聲音進行特征分析并生成特征參數(shù)(步驟S401)。接下來,它將該特征參數(shù)與存儲在聲音識別詞典存儲器700中的音素HMM和語言模型進行比較,并且獲取規(guī)定數(shù)量的詞語假設及其似然(步驟S402)。接下來,聲音識別單元200比較獲取的規(guī)定數(shù)量的詞語假設、檢測到的詞語假設以及在規(guī)定的談話空間中的話題指定信息,并且確定檢測到的詞語假設中的任意詞語假設是否與規(guī)定的談話空間中的話題指定信息相匹配(步驟S403、S404)。在匹配的情況下,聲音識別單元200發(fā)送匹配的詞語假設作為識別結果(步驟S405)。同時,在不匹配的情況下,聲音識別單元200根據(jù)所獲取的詞語假設的似然,發(fā)送具有最大似然的詞語假設作為識別結果(步驟S406)。
1.1.3.聲音識別詞典存儲器返回圖1,將繼續(xù)介紹會話控制裝置1的結構實例。
聲音識別詞典存儲器700存儲對應于標準聲音信號的字母串。已進行對照的聲音識別單元200指定對應于與聲音信號相對應的詞語假設的字母串,并且將指定的字母串發(fā)送到會話控制器300作為字母串信號。
1.1.4.結構分析器接下來,將參考圖5介紹結構分析器400的結構實例。圖5是會話控制裝置1的部分擴大框圖,其是示出會話控制器300和結構分析器400的具體結構實例的框圖。圖5僅示出會話控制器300、結構分析器400以及會話數(shù)據(jù)庫500,而省略了其他組件。
結構分析器400分析由輸入單元100或者聲音識別單元200指定的字母串。在本實施例中,如圖5所示,結構分析器400包括字母串指定單元410、詞素提取器420、詞素數(shù)據(jù)庫430、輸入類型確定單元440以及話語類型數(shù)據(jù)庫450。字母串指定單元410將輸入單元100和聲音識別單元200指定的一系列字母串劃分為單個子句(clause)。單個子句指在不破壞語法意義的條件下通過盡可能小地劃分字母串而獲得的句斷。具體地,當在一系列字母串中存在特定長度或更多的時間間隔時,字母串指定單元410在該部分對字母串進行劃分。字母串指定單元410將每個劃分的字母串發(fā)送到詞素提取器420和輸入類型確定單元440。此后描述的“字母串”指用于單個子句的字母串。
1.1.4.1.詞素提取器詞素提取器420基于字母串指定單元410劃分的單個子句的字母串,從單個子句的字母串中提取構成字母串的最小單元的每個詞素作為第一詞素信息。在這里,在本實施例中,詞素指在字母串中所表示的詞語結構的最小單元。諸如名詞、形容詞或者動詞等語音部分可以認為是詞語結構的最小單元。
在圖6所示的實施例中,每個詞素可以表示為m1、m2、m3...。圖6是示出字母串和從該字母串中提取的詞素之間的關系的圖。如圖6所示,字母串從字母串指定單元410輸入到詞素提取器420,詞素提取器420對照輸入的字母串和預先存儲在詞素數(shù)據(jù)庫430中的詞素集和(準備的詞素集合作為規(guī)定了對于屬于語音類別的每個部分的每個詞素的詞素中心詞、讀法、語音部分、共軛性(conjugation)等的詞素集合)。已經(jīng)完成對照的詞素提取器420從字母串提取與預先存儲的詞素集合中任意一個相匹配的每個詞素(m1、m2...)。除了提取的詞素之外的元素(n1、n2、n3...)可以是例如輔助的動詞等。
詞素提取器420將提取的詞素作為第一詞素信息發(fā)送到話題指定信息搜索單元350。對第一詞素信息進行結構化是不需要的。在這里,“結構化”指基于語音部分等對包括在字母串中的詞素進行分類和分發(fā),例如將字母串(例如說出的句子)以規(guī)定的順序,例如“主語+賓語+謂語”,轉(zhuǎn)換為通過分發(fā)詞素所獲得的數(shù)據(jù)。當然,即使在使用結構化第一詞素信息的情況下,也不存在對實現(xiàn)實施例的障礙。
1.1.4.2.輸入類型確定單元440輸入類型確定單元440基于字母串指定單元410指定的字母串來確定話語內(nèi)容類型(話語類型)。話語類型是指定話語內(nèi)容的類型的信息,在本實施例中,其指例如圖7所示的“話語類型”。圖7是示出“話語類型”、字母表中表示話語類型的二個字母以及屬于該話語類型的話語的實例的圖表。
在這里,在圖7所示的實施例中,“話語類型”包括陳述(D)、時間(T)、地點(L)、否定(N)等。將由每種類型構成的句子配置為肯定句或者疑問句?!瓣愂觥敝副硎居脩粢庖娀蛳敕ǖ恼Z句。在圖7所示的實施例中,陳述可以是例如語句“我喜歡Sato”。“地點”指帶有地理概念的語句?!皶r間”指帶有時間概念的語句。“否定”指在否定陳述時的語句。“話語類型”的實例如圖7所示。
在本實施例中,為了輸入類型確定單元440確定“話語類型”,如圖8所示,輸入類型確定單元440使用確定表示詞典以確定其是陳述,以及使用否定表示詞典以確定其是否定等。字母串從字母串指定單元410輸入到輸入類型確定單元440,該輸入類型確定單元440基于輸入的字母串,對照字母串和預先存儲在話語類型數(shù)據(jù)庫450中的每個詞典。已經(jīng)完成對照的輸入類型確定單元440從字母串中提取關于每個詞典的元素。
輸入類型確定單元440基于提取的元素來確定“話語類型”。例如,在字母串中包括了對特定事件進行陳述的元素的情況下,輸入類型確定單元440確定包括該元素的字母串是陳述。輸入類型確定單元440將確定的“話語類型”發(fā)送到應答采集單元380。
1.1.5.會話數(shù)據(jù)庫接下來,將參考圖9介紹存儲在會話數(shù)據(jù)庫500中的數(shù)據(jù)的數(shù)據(jù)結構實例。圖9是示出存儲在會話數(shù)據(jù)庫500中的數(shù)據(jù)的結構實例的示意圖。
如圖9所示,會話數(shù)據(jù)庫500預先存儲多個話題指定信息項810。同樣可以接受的是每個話題指定信息項810與其它話題指定信息項810相互關聯(lián),例如,如圖9所示,在指定話題指定信息C(810)的情況下,就固定并存儲了與話題指定信息C(810)相關聯(lián)的其它話題指定信息A(810)、話題指定信息B(810)和話題指定信息D(810)。
具體地,在本實施例中,話題指定信息810指期望由用戶輸入的輸入詳細資料,或者與對用戶的應答語句相關聯(lián)的“關鍵字”。
將一個或者多個話題標題820與話題指定信息810相互關聯(lián)并存儲。話題標題820由詞素構成,詞素由一個字母、多個字母串或者其組合組成。將對用戶的應答語句830與每個話題標題820相互關聯(lián)并存儲。同樣,將表示應答語句830的類型的多個應答類型與應答語句830相互關聯(lián)。
接下來,將介紹特定話題指定信息項810與其它話題指定信息項810的相互關系。圖10是示出特定話題指定信息項810A和其它話題指定信息項810B、810C1到810C4、810D1到810D3之間的相互關系的圖。在下面的描述中,“相互關聯(lián)并存儲在”指的事實是當讀完特定信息項X時,可以讀完與該信息項X相互關聯(lián)的信息項Y,例如,將其中用于調(diào)用信息項Y的信息(例如,表示信息項Y的存儲區(qū)地址的指針、信息項Y的存儲區(qū)的物理存儲地址、邏輯地址等)存儲在信息項X中的情形稱為“信息項Y被“相互關聯(lián)并存儲在”信息項X中”。
在圖10所示的實例中,可以通過上位概念、下位概念、同義詞和反義詞(在圖中的實例中省略)將其它話題指定信息項相互關聯(lián)并存儲在話題指定信息項中。在圖中所示的實例中,關于話題指定信息810A(=“電影”),作為上位概念話題指定信息810而相互關聯(lián)并存儲在話題指定信息810A中的話題指定信息810B(=“娛樂”)存儲在例如話題指定信息810A(“電影”)的上層。
同樣,關于話題指定信息810A(=“電影”),話題指定信息的下位概念項810C1(=“導演”)、話題指定信息項810C2(=“主要角色”)、話題指定信息項810C3(=“發(fā)行人”)、話題指定信息項810C4(=“上映時間”)、話題指定信息項810D1(=“七武士”)、話題指定信息項810D2(=“亂”)以及話題指定信息項810D3(=“保鏢”)相互關聯(lián)并存儲在話題指定信息810A中。
同樣,同義詞900與話題指定信息810A相互關聯(lián)。實例示出了其中“工作”、“內(nèi)容”和“電影院”被存儲為關鍵字“電影”的同義詞的情況,該關鍵詞“電影”是話題指定信息項810A。通過固定這種同義詞,即使關鍵字“電影”沒有包括在話語中,但是在“工作”、“內(nèi)容”或“電影院”包括在話語等中的情況下,可以進行為如同話題指定信息810A包括在話語等中一樣。
關于會話數(shù)據(jù)庫500的存儲內(nèi)容,在指定話題指定信息項810時,根據(jù)本實施例的會話控制裝置1可以高速搜索并提取相互關聯(lián)并存儲在話題指定信息810的其它話題指定信息項810以及話題指定信息810的話題標題820和應答語句830等。
接下來,將參考圖11介紹話題標題820(也稱為“第二詞素信息”)的數(shù)據(jù)結構實例。圖11是示出話題標題820的數(shù)據(jù)結構實例的圖表。
話題指定信息項810D1、810D2、810D3,...每一個具有多個不同的話題標題8201、8202、...、話題標題8203、8204、...以及話題標題8205、8206。在圖11所示的實施例中,每個話題標題820是由第一指定信息1001、第二指定信息1002和第三指定信息1003構成的信息項。在此處的實施例中,第一指定信息1001指構成話題的主要詞素。例如,可以將構成語句的主語認為是第一指定信息1001的實例。同樣,在實施例中,第二指定信息1002指與第一指定信息1001具有緊密關系的詞素。例如,可以將賓語認為是第二指定信息1002。此外,在實施例中,第三指定信息1003指表示與特定主語相關聯(lián)的動作的詞素或者修飾名詞等的詞素。例如,可以將動詞、副詞或者形容詞認為是第三指定信息1003。沒有必要將第一指定信息1001、第二指定信息1002和第三指定信息1003的意義限制在此前所述的內(nèi)容,因為即使當給第一指定信息1001、第二指定信息1002和第三指定信息1003賦予另一種意義時,只要可以確定語句的內(nèi)容,則該實施例就是有效的。
舉例來說,在主語是“七武士”且形容詞是“有趣的”的情況下,如圖11所示,話題標題(第二詞素信息)8202由詞素“七武士”(第一指定信息1001)以及詞素“有趣的”(第三指定信息1003)構成。因為在話題標題8202中不包括屬于第二指定信息1002的詞素,所以存儲符號“*”做為第二指定信息1002以表示沒有相關的詞素。
話題標題8202(七武士;*;有趣的)意思是“七武士是有趣的”。此后,構成話題標題820的括號的內(nèi)容按照從左開始的第一指定信息1001、第二指定信息1002以及第三指定信息1003的順序。同樣,在話題標題820的第一到第三指定中不存在詞素(pattern)信息的情況下,該部分由“*”表示。
構成話題標題820的指定信息不限于如第一到第三指定信息的種類中的三個指定信息,可以接受的是,例如還具有其它指定信息(第四指定信息或者更高序號的指定信息)。
接下來,將參考圖12介紹應答語句830。在圖12所示的實施例中,為了給出對應于用戶所說的話語類型的應答,應答語句830分為多種類型(應答類型),例如陳述(D)、時間(T)、地點(L)以及否定(N),并且按照類型進行準備。而且,肯定句是(A)而疑問句是(Q)。
將參考圖13介紹話題指定信息810的數(shù)據(jù)結構實例。圖13示出與特定話題指定信息項810“Sato”相互關聯(lián)的話題標題820和應答語句830的具體實例。
將多個話題標題(820)1-1、1-2,...相互關聯(lián)話題指定信息項810“Sato”。將應答語句(830)1-1、1-2、...相互關聯(lián)并存儲在每個話題標題(820)1-1、1-2、...。為每種應答類型準備應答語句830。
在話題標題(820)1-1是(Sato;*;喜歡){這是提取的包括在“我喜歡Sato”中的詞素}的情況下,對應于該話題標題(820)1-1的應答語句(830)1-1可以是(DA;陳述肯定語句“我也喜歡Sato”)、(TA;時間肯定語句“我喜歡站在擊球區(qū)時的Sato”)等等。參照輸入類型確定單元440的輸出,將在下面描述的應答采集單元380獲取與話題標題820相互關聯(lián)的一個應答語句830。
下一方案規(guī)定信息840是規(guī)定響應用戶話語而將被優(yōu)先發(fā)送的應答語句(稱為“下一應答語句”)的信息,對于每個應答語句,以對應于相關應答語句的方式來選定下一方案規(guī)定信息840。下一方案規(guī)定信息840可以是任意種類的信息,只要其是可以指定下一應答語句的信息,例如其是可以從存儲在會話數(shù)據(jù)庫500的所有應答語句中指定至少一個應答語句的應答語句ID。
在本實施例中,盡管將下一方案規(guī)定信息840描述為以應答語句為單位指定下一應答語句的信息(例如,應答語句ID),但是同樣可以接受的是下一方案規(guī)定信息840是以話題標題820或者話題指定信息810為單位指定下一應答語句的信息(在這種情況下,因為將多個應答語句規(guī)定為下一個應答語句,因此其被稱為應答語句集合。然而,在應答語句集合中包括的多個應答語句中,只有一個應答語句作為應答語句而被實際發(fā)送)。例如,即使在話題標題ID或者話題指定信息ID用作下一方案規(guī)定信息的情況下,本實施例也是有效的。
1.1.6.會話控制器現(xiàn)在返回圖5,將介紹會話控制器300的結構實例。
會話控制器300具有確定和發(fā)送應答語句以響應用戶話語的功能,并且還控制會話控制裝置1內(nèi)的每個組件(聲音識別單元200、結構分析器400、會話數(shù)據(jù)庫500、輸出單元600和聲音識別詞典存儲器700)之間的數(shù)據(jù)傳送。
在圖5所示的實施例中,會話控制器300包括管理器310、方案會話處理器320、談話空間會話控制處理器330以及CA會話處理器340。此后,將介紹這些組件。
1.1.6.1.管理器管理器具有存儲談話歷史和需要時對其更新的功能。管理器310具有響應來自話題指定信息搜索單元350、縮寫詞擴展單元360、話題搜索單元370以及應答采集單元380的請求以將所有或者部分存儲的談話歷史傳送到每個單元的功能。
1.1.6.2.方案會話處理器320方案會話處理器320具有執(zhí)行方案、與用戶建立符合方案的會話的功能。“方案”指按照預定順序向用戶提供預定的應答。此后,將介紹方案會話處理器320。
方案會話處理器320具有響應用戶話語以按照預定順序發(fā)送預定應答的功能。
圖14是用于規(guī)定方案的概念圖。如圖14所示,預先在方案空間1401中準備多個方案1402,例如方案1、方案2、方案3和方案4。方案空間1401指存儲在會話數(shù)據(jù)庫500的多個方案1402的組。會話控制裝置1在裝置啟動時或者在會話開始時,選擇用于在啟動時使用的、預先選定的方案,或者根據(jù)用戶話語的內(nèi)容從方案空間1401選擇合適的方案1402,并且使用所選方案1402發(fā)送對于用戶話語的應答語句。
圖15是示出方案1402的結構實例的圖。方案1402包括應答語句1501和與其相互關聯(lián)的下一方案規(guī)定信息1502。下一方案規(guī)定信息1502是指定方案1402的信息,其包括在應答語句1501之后將發(fā)送給用戶的、包括在相關方案1402中的應答語句(稱為下一候選應答語句)。在本實例中,方案1包括在執(zhí)行方案1時會話控制裝置1發(fā)送的應答語句A(1501)以及與該應答語句A(1501)相互關聯(lián)的下一方案規(guī)定信息1502。下一方案規(guī)定信息1502是指定包括應答語句B(1501)的方案1402的信息(ID002),該應答語句B(1501)是應答語句A(1501)的下一候選應答語句。利用相同的方法,選定下一方案規(guī)定信息1502用于應答語句B(1501),當發(fā)送應答語句B(1501)時,就規(guī)定了包括下一候選應答語句的方案2(1402)。利用這種方式,下一方案規(guī)定信息1502連續(xù)地連接方案1402,實現(xiàn)了將一系列連續(xù)內(nèi)容發(fā)送給用戶的方案會話。即,通過將期望傳達給用戶的內(nèi)容(說明、導航、調(diào)查等)劃分為多個應答語句,并預先確定每個應答語句的順序且將他們準備成方案,則可以響應用戶話語將應答語句按照順序提供給用戶。只要存在響應于發(fā)送的緊接在前的應答語句的用戶話語,就沒有必要立即發(fā)送包括在由下一方案規(guī)定信息1502規(guī)定的方案1402中的應答語句1501,因為同樣可行的是,在用戶和會話控制裝置1之間的除該方案之外的話題的會話后,發(fā)送包括在由下一方案規(guī)定信息1502規(guī)定的方案1402中的應答語句1501。
圖15所示的應答語句1501對應于圖13所示的應答語句830中的一個應答語句字母串,而圖15所示的下一方案規(guī)定信息1502對應于圖13所示的下一方案規(guī)定信息840。
方案1402的關系不限于圖15所示的這種一維矩陣。圖16是示出具有不同于圖15的連接類型的方案1402實例的圖。在圖16所示的實例中,方案1(1402)具有形成下一候選應答語句的兩個應答語句1501,即可以規(guī)定方案1402的兩個下一方案規(guī)定信息項1502。為了選定兩個方案1402,具有應答語句B(1501)的方案2(1402)以及具有應答語句C(1501)的方案3(1402)作為包括下一候選語句的方案1402,在發(fā)送特定的應答語句A(1501)的情況下,提供兩個下一方案規(guī)定信息項1502。應答語句B和應答語句C是可選的并且是可替換的,在發(fā)送一個的情況下,方案1(1402)結束而不發(fā)送另一個。利用這種方法,方案1402的關系不限于一維排列形式,同樣可以接受的是他們具有分支狀聯(lián)結或者網(wǎng)狀聯(lián)結。
不限制每個方案具有的下一候選應答語句的數(shù)量。另外,同樣可行的是,對于談話結尾的方案1402,下一方案規(guī)定信息1502不存在。
圖17示出具有被稱為連續(xù)類型特定情節(jié)(scenario)的類型的特定系列方案1402的具體實例。一系列方案14021到14024對應于四個應答語句15011到15014以用于通知用戶關于處理危機的方法的信息。四個應答語句15011到15014一起構成一個完整談話(描述)。每個方案14021到14024分別具有稱為“1000-01”、“1000-02”、“1000-03”、“1000-04”的ID數(shù)據(jù)17021到17024。ID數(shù)據(jù)中的連字號后的數(shù)字是表示發(fā)送順序的信息。同樣,每個方案14021到14024分別具有下一方案規(guī)定信息15021到15024。下一方案規(guī)定信息15024的內(nèi)容是稱為“1000-0F”的數(shù)據(jù),但是連字號后的數(shù)字“0F”是表示不存在下一個將被發(fā)送的方案并且相關應答語句是該系列談話(描述)的結尾的信息。
在本實例中,在用戶話語是“告訴我在大地震時處理危機的方法”的情況下,方案會話處理器320開始執(zhí)行該系列方案。即,當方案會話處理器320接收到用戶話語“告訴我在大地震時處理危機的方法”時,方案會話處理器320搜索方案空間1401,并且調(diào)查是否存在具有對應于用戶話語“告訴我在大地震時處理危機的方法”的應答語句15011的方案1402。在本實例中,認為對應于“告訴我在大地震時處理危機的方法”的用戶話語字母串17011對應方案14021。
當方案會話處理器320發(fā)現(xiàn)方案14021時,其獲取包括在方案14021的應答語句15011,并且將該應答語句15011作為對應于用戶話語的應答發(fā)送,由下一方案規(guī)定信息15021指定下一候選應答語句。
接下來,在經(jīng)由輸入單元100或者聲音識別單元200發(fā)送應答語句15011后,一旦接收到用戶話語,方案會話處理器320就執(zhí)行方案14022。即,方案會話處理器320確定是否執(zhí)行由下一方案規(guī)定信息15021規(guī)定的方案14022,也就是發(fā)送第二應答語句15012。具體地,方案會話處理器320將與應答語句15012相互關聯(lián)的用戶話語字母串(也稱為實例)17012或者話題標題820(在圖17中省略)與接收到的用戶話語進行比較,并且確定他們是否匹配。在他們匹配的情況下,發(fā)送第二應答語句15012。同樣,由于在包括第二應答語句15012的方案14022中描述了下一方案規(guī)定信息15022,因此就指定了下一候選應答語句。
利用相同的方法,響應后續(xù)的用戶話語,方案會話處理器320可以順次移動到方案14023和方案14024并且發(fā)送第三應答語句15013和第四應答語句15014。第四應答語句15014是最后的應答語句,當完成第四應答語句15014的發(fā)送時,方案會話處理器320完成了該方案的執(zhí)行。
利用這種方法,通過接連地執(zhí)行方案14021到14024,可以以預定的順序?qū)㈩A先準備的會話內(nèi)容提供給用戶。
1.1.6.3.談話空間會話控制處理器返回圖5,將繼續(xù)介紹會話控制器300的結構實例。
談話空間會話控制處理器330包括話題指定信息搜索單元350、縮寫詞擴展單元360、話題搜索單元370以及應答采集單元380。管理器310控制整個會話控制器300。
“談話歷史”是指定用戶和會話控制裝置1之間的會話話題或者主題的信息,“談話歷史”是包括此后所述的“目標話題指定信息”、“目標話題標題”、“用戶輸入語句話題指定信息”以及“應答語句話題指定信息”中的至少一個的信息。并且,包括在談話歷史中的“目標話題指定信息”、“目標話題標題”以及“應答語句話題指定信息”不限于緊接在前的會話所選定的信息,其還可以是在過去規(guī)定期間內(nèi)已經(jīng)變成“目標話題指定信息”、“目標話題標題”以及“應答語句話題指定信息”的信息,或者其累積的記錄。
此后,將介紹構成談話空間會話控制處理器330的每個單元。
1.1.6.3.1話題指定信息搜索單元話題指定信息搜索單元350將詞素提取器420提取的第一詞素信息與每個話題指定信息項對照,并且從與構成第一詞素信息的詞素相匹配的話題指定信息項中搜索話題指定信息項。具體地,在從詞素提取器420輸入的第一詞素信息由兩個詞素“Sato”和“喜歡”構成的情況下,話題指定信息搜索單元350將輸入的第一詞素信息和話題指定信息集合進行對照。
在構成第一詞素信息的詞素(例如“Sato”)包括在目標話題標題820focus(為了將其與目前所搜索的話題標題和其它話題標題相區(qū)分,將其寫作820focus)的情況下,完成對照的話題指定信息搜索單元350將目標話題標題820focus發(fā)送到應答采集單元380。同時,在構成第一詞素信息的詞素不包括在目標話題標題820focus中的情況下,話題指定信息搜索單元350基于第一詞素信息確定用戶輸入的語句話題指定信息,并且將輸入的第一詞素信息和用戶輸入語句話題指定信息發(fā)送到縮寫詞擴展單元360?!坝脩糨斎胝Z句話題指定信息”是指與第一詞素信息所包括的、相應于用戶正在談論內(nèi)容的多個詞素中的一個詞素相對應的話題指定信息,或者指與第一詞素信息所包括的、可能相應于用戶正在談論內(nèi)容的多個詞素中的一個詞素相對應的話題指定信息。
1.1.6.3.2縮寫詞擴展單元縮寫詞擴展單元360使用目前搜索的話題指定信息項810(此后稱為“目標話題指定信息”)和包括在前面應答語句的話題指定信息項810(此后稱為“應答語句話題指定信息”),通過擴展第一詞素信息以生成多種類型的擴展第一詞素信息。例如,在用戶話語是“喜歡”的情況下,縮寫詞擴展單元360將目標話題指定信息“Sato”包括在第一詞素信息“喜歡”中,并且產(chǎn)生擴展的第一詞素信息“Sato,喜歡”。
就是說,當認為第一詞素信息是“W”并且認為目標話題指定信息和應答語句話題指定信息的組是“D”時,縮寫詞擴展單元360將組“D”的元素包括在第一詞素信息“W”中,并且產(chǎn)生擴展的第一詞素信息。
利用這種方法,在使用是縮寫詞的第一詞素信息構成的語句不是清楚的日語或者類似的情況下,縮寫詞擴展單元360可以利用組“D”將組“D”(例如“Sato”)的元素包括在第一詞素信息“W”中。結果,縮寫詞擴展單元360可以使第一詞素信息“喜歡”變?yōu)閿U展的第一詞素信息“Sato,喜歡”。擴展的第一詞素信息“Sato,喜歡”對應于用戶話語“我喜歡Sato”。
也就是說,即使在用戶話語的內(nèi)容是縮寫詞的情況下,縮寫詞擴展單元360可以使用組“D”擴展縮寫詞。結果,即使在由第一詞素信息構成的語句是縮寫詞的情況下,縮寫詞擴展單元360仍然可以將語句變?yōu)檎_的日語。
同樣,縮寫詞擴展單元360基于組“D”搜索與擴展的第一詞素信息相匹配的話題標題820。在發(fā)現(xiàn)與擴展的第一詞素信息相匹配的話題標題820的情況下,縮寫詞擴展單元360將話題標題820發(fā)送到應答采集單元380。應答采集單元380基于在縮寫詞擴展單元360中所搜索的適當話題標題820,可以發(fā)送最適合于用戶話語內(nèi)容的應答語句830。
縮寫詞擴展單元360不限于將組“D”的元素包括在第一詞素信息中。同樣可以接受的是,縮寫詞擴展單元360基于目標話題標題,將構成話題標題的第一詞素信息、第二詞素信息或者第三詞素信息中的任意一個所包括的詞素包括在提取的第一詞素信息中。
1.1.6.3.3.話題搜索單元在縮寫詞擴展單元360中沒有確定話題標題810的情況下,話題搜索單元370將第一詞素信息與對應用戶輸入語句話題指定信息的每個標題810相對照,并且從每個話題標題810中搜索最匹配第一詞素信息的話題標題810。
具體地,搜索命令信號從縮寫詞擴展單元360輸入到話題搜索單元370,該話題搜索單元370基于包括在輸入搜索命令信號中的用戶輸入語句話題指定信息和第一詞素信息,從與用戶輸入語句話題指定信息相互關聯(lián)的每個話題標題中搜索最匹配第一詞素信息的話題標題810。話題搜索單元370將搜索到的話題標題810發(fā)送到應答采集單元380作為搜索結果信號。
上述的圖13示出了與特定話題指定信息項810(=“Sato”)相互關聯(lián)的話題標題820和應答語句830的具體實例。如圖13所示,例如,由于話題指定信息810(=“Sato”)包括在輸入的第一詞素信息“Sato,喜歡”中,因此話題搜索單元370指定話題指定信息810(=“Sato”),然后將與話題指定信息810(=“Sato”)相互關聯(lián)的每個話題標題(820)1-1、1-2、...與輸入的第一詞素信息“Sato,喜歡”進行對照。
話題搜索單元370基于對照的結果,從每個話題標題(820)1-1到1-2中指定與輸入的第一詞素信息“Sato,喜歡”相匹配的話題標題(820)1-1(Sato;*;喜歡)。話題搜索單元370將搜索的話題標題(820)1-1(Sato;*;喜歡)發(fā)送到應答采集單元380作為搜索結果信號。
1.1.6.3.4.應答采集單元應答采集單元380基于在縮寫詞擴展單元360或話題搜索單元370中搜索的話題標題820,獲取與話題標題820相互關聯(lián)的應答語句830。同樣,應答采集單元380基于在話題搜索單元370中搜索的話題標題820,將與話題標題820相互關聯(lián)的每種應答類型與由輸入類型確定單元440確定的話語類型進行對照。已經(jīng)完成對照的應答采集單元380從每個應答類型中搜索與確定的話語類型相匹配的應答類型。
在圖13所示的實例中,在話題搜索單元370中搜索的話題標題是話題標題1-1(Sato;*;喜歡)的情況下,應答采集單元380從與話題標題1-1相互關聯(lián)的應答語句1-1(DA,TA等)中指定與輸入類型確定單元440(例如DA)確定的“話語類型”相匹配的應答類型(DA)。已經(jīng)指定應答類型(DA)的應答采集單元380基于指定的應答類型(DA)以獲取與應答類型(DA)相互關聯(lián)的應答語句1-1(“我也喜歡Sato”)。
這里,在“DA”、“TA”等中,“A”表示肯定形式。因此,在“A”包括在話語類型和應答類型中的情況下,其表示關于特定事件的肯定。同樣,還可以接受的是將諸如“DQ”、“TQ”等類型包括在話語類型和應答類型中。在“DQ”、“TQ”中,“Q”表示關于特定事件的疑問。
當應答類型包括疑問形式(Q)時,與該應答類型相互關聯(lián)的應答語句由肯定形式(A)構成?;卮饐栴}等的語句可以認為是遵守肯定形式(A)的應答語句。例如,在所說語句是“你曾經(jīng)操作過自動售貨機嗎?”的情況下,用于所說語句的話語類型是疑問形式(Q)。與該疑問形式(Q)相互關聯(lián)的應答語句可以是例如“我曾經(jīng)操作過自動售貨機”(肯定形式(A))。
同時,當應答類型包括肯定形式(A)時,與該應答類型相互關聯(lián)的應答語句由疑問形式(0)構成。詢問關于話語內(nèi)容的問題的疑問句或者詢問關于指定事件的疑問句等可以認為是遵守疑問形式(Q)的應答語句。例如,在所說語句是“我的愛好是玩自動售貨機”的情況下,用于所說語句的話語類型是肯定形式(A)。與肯定形式(A)相互關聯(lián)的應答語句可以是例如“你的愛好不是玩彈球盤嗎?”(詢問關于指定事件的疑問形式(Q))。
應答采集單元380將獲取的應答語句830發(fā)送到管理器310作為應答語句信號。應答語句信號從應答采集單元380輸入到管理器310,管理器310將輸入的應答語句信號發(fā)送到輸出單元600。
1.1.6.4.CA會話處理器CA會話處理器340具有如下功能在方案會話處理器320或者談話空間會話控制處理器330中沒有確定對用戶話語的應答語句的情況下,發(fā)送能夠繼續(xù)與用戶會話的應答語句以響應用戶話語內(nèi)容的功能。
返回圖1,將重新開始介紹會話控制裝置1的結構實例。
1.1.7.輸出單元輸出單元600發(fā)送應答采集單元380獲取的應答語句。輸出單元600可以是例如揚聲器、顯示器等。具體地,應答語句從管理器310輸入到輸出單元600,輸出單元600基于輸入的應答語句,利用聲音輸出應答語句,例如“我也喜歡Sato”。
這完成了對會話控制裝置1的結構實例的介紹。
2.會話控制方法具有此前所述結構的會話控制裝置1通過如下所述的操作執(zhí)行會話控制方法。
接下來,將介紹會話控制裝置1的操作,或者更具體地介紹根據(jù)實施例的會話控制器300。
圖18是示出會話控制器300的主要過程的實例的流程圖。主要過程是會話控制器300每次接收到用戶話語所執(zhí)行的過程,利用正在執(zhí)行的主要過程,發(fā)送對用戶話語的應答語句,并在用戶和會話控制裝置1之間建立會話(對話)。
在進入主要過程時,會話控制器300,或者更具體地,方案會話處理器320首先執(zhí)行方案會話控制過程(S1801)。方案會話控制過程是執(zhí)行方案的過程。
圖19和圖20是示出方案會話控制過程的實例的流程圖。下文,將參考圖19和圖20介紹方案會話控制過程的實例。
在開始進行方案會話控制過程時,方案會話處理器320首先執(zhí)行基本控制條件信息檢查(S1901)。將方案1402的執(zhí)行的完成的存在性或者其它存儲在規(guī)定的存儲器區(qū)中作為基本控制條件信息。
基本控制條件信息具有描述方案的基本控制條件的作用。
圖21是示出關于稱為特定情節(jié)的方案類型而出現(xiàn)的四個基本控制條件的圖。下文,將介紹每個條件。
1.組合基本控制條件是用戶話語匹配正執(zhí)行的方案1402,或者更具體地是匹配對應于方案1402的話題標題820和實例語句1701的情況。在這種情況下,方案會話處理器320完成相關方案1402,并且移動到下一方案規(guī)定信息1502所規(guī)定的應答語句1501的方案1402。
2.取消這種基本控制條件是在確定用戶話語內(nèi)容正請求結束方案1402的情況下,或者在確定用戶的興趣已經(jīng)轉(zhuǎn)移到不同于正執(zhí)行方案的事件的情況下所設置的基本控制條件。在基本控制條件信息表示取消的情況下,方案會話處理器320查找是否存在除取消對象的方案1402外的對應用戶話語的方案1402,以及在存在的情況下,開始方案1402的執(zhí)行,而在不存在的情況下,結束該方案的執(zhí)行。
3.維持這種基本控制條件是在用戶話語不適用于話題標題820(參照圖13)或者對應正執(zhí)行的方案1402的實例語句1701(參照圖14),以及確定用戶話語不是適用于基本控制條件“取消”的情況下,在基本控制條件信息中描述的基本控制條件。
在這種基本控制條件的情況下,方案會話處理器320在接收到用戶話語時,首先考慮是否重新開始已經(jīng)推遲或取消的方案1402,在用戶話語不適合于重新開始方案1402的情況下,例如,用戶話語不對應于話題標題802或者與方案1402相對應的實例語句1702,則開始執(zhí)行另一個方案1402或者執(zhí)行下文所述的談話空間會話控制過程(S1802)等。在用戶話語適合重新開始方案1402的情況下,基于存儲的下一方案規(guī)定信息1502來發(fā)送應答語句1501。
在基本控制信息是“維持”的情況下,盡管方案會話處理器320搜索另一個方案1402以便能夠發(fā)送除對應于相關方案1402的應答語句1501之外的應答,或者實現(xiàn)下文所述的談話空間會話控制過程等,在用戶話語再次變成與方案1402相關的情況下,那么重新開始方案1402的執(zhí)行。
4.繼續(xù)這種條件是在用戶話語沒有對應于包括在正執(zhí)行的方案1402中的應答語句1501,確定用戶話語內(nèi)容不適用于基本控制條件“取消”以及從用戶話語推斷的用戶目的不清楚的情況下所設置的基本控制條件。
在基本控制條件是“繼續(xù)”的情況下,方案會話處理器320在接收到用戶話語時,首先考慮是否重新開始已經(jīng)推遲或取消的方案1402,在用戶話語不適合重新開始方案1402的情況下,執(zhí)行此后將要說明的CA會話控制過程,以便能夠發(fā)送應答語句以引出用戶的更多話語。
返回圖19,將繼續(xù)介紹方案會話控制過程。
已經(jīng)參考基本控制條件信息的方案會話處理器320確定基本控制條件信息表示的基本控制條件是否為“組合”(S1902)。在確定基本控制條件是“組合”(S1902,是)的情況下,方案會話處理器320確定應答語句1501是否為正在執(zhí)行的方案1402中由基本控制條件信息(S1903)表示的最后的應答語句。
在確定最后應答語句1501已經(jīng)發(fā)送(S1903,是)的情況下,由于已經(jīng)傳送了方案1402中應答用戶的所有內(nèi)容,因此方案會話處理器320為了確定是否開始新的、單獨的方案1402以執(zhí)行搜索進而查找方案空間內(nèi)是否存在對應用戶話語的方案1402(S1904)。如果不能找到對應于用戶話語的方案1402作為搜索結果(S1905,否),由于不存在將被提供給用戶的方案1402,因此方案會話處理器320實際上結束了方案會話控制過程。
同時,如果找到了對應于用戶話語的方案1402作為搜索結果(S1905,是),則方案會話處理器320移動到相關方案1402(S1906)。這是為了開始執(zhí)行相關方案1402(發(fā)送包括在該方案1402中的應答語句1501),因為存在將被提供給用戶的方案1402。
接下來,方案會話處理器320發(fā)送相關方案1402的應答語句1501(S1908)。所發(fā)送的應答語句1501是對用戶話語的應答,方案會話處理器320提供期望傳送給用戶的信息。
在應答語句發(fā)送過程(S1908)后,方案會話處理器320完成了方案會話控制過程。
同時,在確定先前發(fā)送的應答語句1501是否為最后的應答語句1501(S1903)方面,如果先前發(fā)送的應答語句1501不是最后的應答語句1501(S1903,否),則方案會話處理器320移動到與在先前發(fā)送的應答語句1501之后的應答語句1501相對應的方案1402,即,由下一方案規(guī)定信息1502指定的應答語句1501(S1907)。
在此之后,方案會話處理器320發(fā)送包括在相關方案1402中的應答語句1501以執(zhí)行對用戶話語的應答(S1908)。發(fā)送的應答語句1501是對用戶話語的應答,方案會話處理器320提供期望傳送給用戶的信息。在應答語句輸出過程(S1908)后,方案會話處理器320完成方案會話控制過程。
如果在確定過程S1902中確定基本控制條件不是“組合”(S1902,否),則方案會話處理器320確定基本控制條件信息表示的基本控制條件是否為“取消”(S1909)。在確定基本控制條件是“取消”的情況下(S1909,是),由于不存在將繼續(xù)的方案1402,因此方案會話處理器320為了確定是否存在新的、單獨將被開始的方案1402,執(zhí)行搜索以查找方案空間1401內(nèi)是否存在對應用戶話語的方案1402(S1904)。此后,利用與前面所述的S1903(是)中的過程相同的方法,方案會話處理器320執(zhí)行從S1905到S1908的過程。
同時,在確定基本控制條件信息表示的基本控制條件是否為“取消”方面(S1909),如果確定基本控制條件不是“取消”(S1909,否),則方案會話處理器320還確定基本控制條件信息表示的基本控制條件是否為“維持”(S1910)。
如果基本控制條件信息表示的基本控制條件是“維持”(S1910,是),則方案會話處理器320調(diào)查用戶是否已經(jīng)又對推遲或者取消的方案1402有興趣,并且在有興趣的情況下,以如此方式操作,即重新開始已經(jīng)臨時推遲或者取消的方案1402。即,方案會話處理器320檢查處于推遲或者取消狀態(tài)的方案1402(圖20;S2001),并且確定用戶話語是否對應處于推遲或者取消狀態(tài)的方案1402(S2002)。
如果確定用戶話語對應于相關方案1402(S2002,是),則方案會話處理器320移動到對應于用戶話語的方案1402(S2003)。此后,為了發(fā)送包括在方案1402中的應答語句1501,執(zhí)行應答語句發(fā)送過程(圖19;S1908)。通過以這種方法操作,方案會話處理器320響應用戶話語,可以重新開始已經(jīng)被推遲或者取消的方案1402,并且可以將包括在預先準備的方案1402中的所有內(nèi)容傳達給用戶。
同時,如果確定在上述的S2002中(參照圖20)處于推遲或者取消狀態(tài)的方案1402不對應用戶話語(S2002,否),則方案會話處理器320為了確定是否存在新的、單獨將開始的方案1402,執(zhí)行搜索以查明方案空間1401內(nèi)是否存在對應于用戶話語的方案1402(圖19;S1904)。此后,利用與上述的S1903(是)中的過程相同的方法,方案會話處理器320執(zhí)行從S1905到S1909的過程。
如果在S1910中確定基本控制條件信息表示的基本控制條件不是“維持”(S1910,否),其表示基本控制條件信息表示的基本控制條件是“繼續(xù)”。在這種情況下,方案會話處理器320在不發(fā)送應答語句的條件下完成方案會話控制過程。
這完成了對方案會話控制過程的介紹。
返回圖18,將繼續(xù)介紹主要過程。
在完成方案會話控制過程時(S1801),會話控制器300開始談話空間會話控制過程(S1802)。然而,如果在方案會話控制過程(S1801)中執(zhí)行應答語句的發(fā)送,則會話控制器300執(zhí)行基本控制信息更新過程(S1904)并且完成主要過程,而不執(zhí)行下文所述的談話空間會話控制過程(S1802)或者CA會話控制過程(S1803)。
圖22是示出根據(jù)實施例的談話空間會話控制過程的實例的流程圖。
首先,輸入單元100執(zhí)行獲取用戶話語內(nèi)容的步驟(步驟S2201)。具體地,輸入單元100獲取構成用戶話語內(nèi)容的聲音。輸入單元100將獲取的聲音作為聲音信號發(fā)送到聲音識別單元200。同樣可以接受的是,輸入單元100獲取用戶輸入的字母串(例如,以文字格式輸入的字母數(shù)據(jù))而不是用戶的聲音。在這種情況下,輸入單元100是字母輸入設備,例如鍵盤或者觸摸屏,而不是麥克風。
接著,聲音識別單元200基于輸入單元100獲取的話語內(nèi)容,執(zhí)行識別對應于話語內(nèi)容的字母串的步驟(步驟S2202)。具體地,聲音信號從輸入單元100輸入到聲音識別單元200,聲音識別單元200基于輸入的聲音信號來指定與聲音信號相互關聯(lián)的詞語假設(候選)。聲音識別單元200獲取對應于指定的詞語假設(候選)的字母串,并且將獲取的字母串發(fā)送到會話控制器300,或者更具體地,發(fā)送到談話空間會話控制處理器330作為字母串信號。
然后,字母串指定單元410執(zhí)行將聲音識別單元200指定的字母串序列劃分為單獨語句的步驟(步驟S2203)。具體地,字符串信號(或者詞素信號)從管理器310輸入到字母串指定單元410,當在字母串序列中存在特定長度或更多的時間間隔時,字母串指定單元410在該部分劃分字母串。字母串指定單元410將每個劃分的字母串發(fā)送到詞素提取器420和輸入類型確定單元440。如果輸入的字母串是從鍵盤輸入的字母串,則優(yōu)選的是字母串指定單元410在具有標點符號、空格等處劃分字母串。
此后,詞素提取器420基于字母串指定單元410指定的字母串,執(zhí)行提取構成字母串最小單元的每個詞素作為第一詞素信息的步驟(步驟S2204)。具體地,字母串從字母串指定單元410輸入到詞素提取器420,詞素提取器420將輸入的字母串和預先存儲在詞素數(shù)據(jù)庫430中的詞素集合進行對照。準備的詞素集合作為規(guī)定了對于屬于語音類別的每個部分的每個詞素的詞素中心詞、讀法、語音部分、共軛性等的詞素詞典。
已執(zhí)行對照的詞素提取器420從輸入的字母串提取與預先存儲的詞素集合中的任一個相匹配的每個詞素(m1、m2、...)。詞素提取器420將提取的每個詞素發(fā)送到話題指定信息搜索單元350作為第一詞素信息。
接著,輸入類型確定單元440基于構成字母串指定單元410指定的一個語句的每個詞素,執(zhí)行確定“話語的類型”的步驟(步驟S2205)。具體地,字母串從字母串指定單元410輸入到輸入類型確定單元440,輸入類型確定單元440基于輸入的字母串,將字母串與存儲在話語類型數(shù)據(jù)庫450中的每個詞典進行對照,并且從字母串中提取與每個詞典有關的元素。已經(jīng)提取元素的輸入類型確定單元440基于提取的元素,確定元素屬于哪一種“話語的類型”。輸入類型確定單元440將經(jīng)確定的“話語的類型”(話語類型)發(fā)送到應答采集單元380。
然后,話題指定信息搜索單元350執(zhí)行對詞素提取器420提取的第一詞素信息和目標話題標題820focus進行比較的步驟(步驟S2206)。如果構成第一詞素(pattern)的詞素匹配目標話題標題820focus,則話題指定信息搜索單元350將話題標題820發(fā)送到應答采集單元380。同時,如果構成第一詞素信息的詞素不匹配話題標題820,則話題指定信息搜索單元350將輸入的第一詞素信息和用戶輸入語句話題指定信息發(fā)送到縮寫詞擴展單元360作為搜索命令信號。
此后,縮寫詞擴展單元360基于話題指定信息搜索單元350輸入的第一詞素信息,執(zhí)行將目標話題指定信息和應答語句話題指定信息包括在輸入的第一詞素信息中的步驟(步驟S2207)。具體地,當?shù)谝辉~素信息是“W”且目標話題指定信息和應答語句話題指定信息的組是“D”時,縮寫詞擴展單元360將話題指定信息“D”的元素包括在第一詞素信息“W”中,生成擴展的第一詞素信息,將擴展的第一詞素信息和與組“D”相互關聯(lián)的全部話題標題820進行對照,以及執(zhí)行搜索是否存在匹配擴展的第一詞素信息的話題標題820。如果存在匹配擴展的第一詞素信息的話題標題820,則縮寫詞擴展單元360將話題標題820發(fā)送到應答采集單元380。同時,如果沒有找到匹配擴展的第一詞素信息的話題標題820,則縮寫詞擴展單元360將第一詞素信息和用戶輸入語句話題指定信息傳遞到話題搜索單元370。
接著,話題搜索單元370執(zhí)行將第一詞素信息和用戶輸入語句話題指定信息進行對照的步驟,并且從每個話題標題820中搜索匹配第一詞素信息的話題標題820(步驟S2208)。具體地,搜索命令信號從縮寫詞擴展單元360輸入到話題搜索單元370,話題搜索單元370基于包括在輸入搜索命令信號中的用戶輸入語句話題指定信息和第一詞素信息,從與用戶輸入語句話題指定信息相互關聯(lián)的每個話題標題820中,搜索匹配第一詞素信息的話題標題820。話題搜索單元370將獲取的作為搜索結果的話題標題820發(fā)送到應答采集單元380作為搜索結果信號。
接著,應答采集單元380基于在話題指定信息搜索單元350、縮寫詞擴展單元360或者話題搜索單元370中搜索的話題標題820,將結構分析單元400確定的用戶話語類型和與話題標題820相互關聯(lián)的每個應答類型進行對照,并且執(zhí)行應答語句830的選擇(步驟S2209)。
具體地,如此后所述,執(zhí)行應答語句830的選擇。即,來自話題指定單元370的搜索結果信號和來自輸入類型確定單元440的“話語類型”輸入到應答采集單元380,應答采集單元380基于與搜索結果信號和輸入的“話語類型”相互關聯(lián)的“話題標題”,從與“話題標題”相互關聯(lián)的應答語句集合中指定匹配“話語類型”(DA等)的應答類型。
接著,應答采集單元380將在步驟S2209中獲取的應答語句830經(jīng)由管理器310發(fā)送到輸出單元600(步驟S2210)。已經(jīng)從管理器310接收到應答語句的輸出單元600發(fā)送輸入的應答語句。
這完成了對對談話空間會話控制過程的介紹。返回圖18,將重新開始介紹主要過程。
會話控制器300,在完成談話空間會話控制過程時,執(zhí)行CA會話控制過程(S1803)。然而,如果在方案會話控制過程(S1801)和談話空間會話控制過程(S1802)中執(zhí)行應答語句發(fā)送,則會話控制器300執(zhí)行基本控制信息更新過程(S1804)并完成主要過程,而不執(zhí)行CA會話控制過程(S1803)。
CA會話控制過程(S1803)是確定是否用戶話語是“解釋某事”、“確認某事”、“批評和攻擊”或者“其它事情”,并且根據(jù)用戶話語內(nèi)容和確定結果發(fā)送應答語句的過程。通過執(zhí)行CA會話控制過程,即使在匹配用戶話語的應答語句不能在方案會話過程或者談話空間會話過程中輸出的情況下,可以發(fā)送所謂的“連接”應答語句,其能夠保持連續(xù)性而不中斷與用戶的會話流。
接下來,會話控制器300執(zhí)行基本控制信息更新過程(S1804)。在該過程中,會話控制器300,或者更具體地管理器310,在方案會話處理器320已經(jīng)執(zhí)行應答語句發(fā)送的情況下,設置基本控制信息為“組合”;在方案會話處理器320已經(jīng)停止應答語句發(fā)送的情況下,設置基本控制信息為“取消”;在談話空間會話控制處理器330已經(jīng)執(zhí)行應答語句發(fā)送的情況下,設置基本控制信息為“維持”;以及在CA會話處理器340已經(jīng)執(zhí)行應答語句發(fā)送的情況下,設置基本控制信息為“繼續(xù)”。
在基本控制信息更新過程中設置的基本控制信息在方案會話控制過程(S1801)中被查閱,并且用于方案的繼續(xù)或者重新開始。
如此前所述,通過在每次接收到用戶話語時執(zhí)行主要過程,會話控制裝置1可以響應用戶話語,并且能夠執(zhí)行預先準備的方案,同樣適當?shù)仨憫獩]有包括在方案中的話題。
B.第二實施例接下來,將介紹本發(fā)明的第二實施例。根據(jù)第二實施例的會話控制裝置1具有能夠管理稱為強制類型特定情節(jié)的這類方案的特征,該強制類型特定情節(jié)是其中以如此方式發(fā)送應答語句,即無論用戶話語內(nèi)容可能是什么種類的內(nèi)容,都促使預定的應答語句以預定的順序輸出。在這種會話控制裝置1中,存儲在會話數(shù)據(jù)庫500中的多個方案1402的至少一個部分是,例如存儲按順序發(fā)送的從第一到第N個應答語句的N個方案,N個方案中的第M個方案包括下一候選規(guī)定信息,其規(guī)定了在第M個應答語句后(注意M和N是整數(shù),并且1≤M<N)的第一應答語句。
在根據(jù)第二實施例的會話控制裝置1的介紹中,將僅介紹不同于第一實施例的區(qū)域,并且省略與第一實施例相同的結構或者操作的介紹。
圖23示出了稱為強制類型特定情節(jié)的一類方案1402的具體實例。一系列方案140211到140216對應構成關于汽車調(diào)查的應答語句150111到150116。盡管在方案140212到140216中的用戶話語字母串170112到170116顯示為“*”,但是“*”表示其對應每個用戶話語。
在圖23所示的實施例中,方案140210是觸發(fā)開始強制類型特定情節(jié)的方案,其不是強制類型特定情節(jié)的一部分。
每個方案140210到140216分別包括稱為“2000-01”、“2000-02”、“2000-03”、“2000-04”、“2000-05”、“2000-06”和“2000-07”的ID數(shù)據(jù)170210到170216。而且,每個方案140210到140216分別包括下一方案規(guī)定信息150210到150216。而且,盡管下一方案規(guī)定信息150216的內(nèi)容是稱為“2000-0F”的數(shù)據(jù),但是連字號后的數(shù)字“0F”是表示下一次將被發(fā)送的方案不存在以及相關應答語句是調(diào)查的結尾。
在本實例中,當用戶和會話控制裝置1之間的會話正在進行時,在用戶說出(或者輸入)用戶話語“我需要車”的情況下,則方案會話處理器320開始執(zhí)行該系列方案。即,在會話控制裝置1,或者更具體地方案會話處理器320接收到用戶話語“我需要車”時,方案會話處理器320搜索方案空間1401,并且調(diào)查是否有包括對應于用戶話語“我需要車”的應答語句1501的方案1402。
在本實例中,認為對應于“我需要車”的用戶話語字母串170110對應于方案140210。
在方案會話處理器320找到方案140210時,其獲取包括在方案140210中的應答語句150110并且發(fā)送該應答語句150110“在這種情況下,請應答簡單調(diào)查。有五個問題。如果你愿意回答調(diào)查,請鍵入“我不介意回答調(diào)查””作為對應用戶話語的應答,其利用下一方案規(guī)定信息150210來指定下一候選應答語句。在本實例中,下一方案規(guī)定信息150210包括ID數(shù)據(jù)“2000-02”。方案會話處理器320存儲并保留對應于ID數(shù)據(jù)“2000-02”的方案140211的應答語句作為下一候選應答語句。
在對應應答語句“在這種情況下,請回答簡單調(diào)查。有五個問題。如果你愿意回答調(diào)查,請鍵入“我不介意回答調(diào)查””的用戶應答(即用戶話語)不是“我不介意回答調(diào)查”的情況下,則方案會話處理器320、談話空間會話控制處理器330或者CA會話處理器340執(zhí)行對應于該用戶話語的某應答語句的輸出,但是不會開始調(diào)查。
同時,在完成用戶話語“我不介意回答調(diào)查”的情況下,方案會話處理器320選擇已經(jīng)被規(guī)定作為下一候選應答語句的方案140211,并且完成該方案的執(zhí)行。即,方案會話處理器320發(fā)送應答語句,該應答語句是包括在方案140211中的應答語句150111,方案會話處理器320利用包括在方案140211中的下一方案規(guī)定信息150211指定下一候選應答語句。在本實例中,下一方案規(guī)定信息150211包括ID數(shù)據(jù)“2000-03”。方案會話處理器320將包括在對應于ID數(shù)據(jù)“2000-03”的方案140212中的應答語句作為下一候選應答語句?,F(xiàn)在開始強制類型特定情節(jié)的調(diào)查的執(zhí)行。
如果存在響應會話控制裝置1發(fā)送的應答語句“謝謝你。這是第一個問題。如果你買汽車,你想買新車還是舊車”的某種用戶話語,則選擇被規(guī)定做為下一候選應答語句的方案140212,并且執(zhí)行該方案。即,方案會話處理器320發(fā)送包括在方案140212中的應答語句150112的應答“問題二。你喜歡日本汽車還是外國汽車?”,方案會話處理器320利用包括在方案140212中的下一方案規(guī)定信息150212來指定下一候選應答語句。在本實例中,下一方案規(guī)定信息150212是“2000-04”,選擇包括該ID的方案140213作為下一候選應答語句。
利用稱為強制類型特定情節(jié)的這類方案,由于用戶話語字母串1701的內(nèi)容是表示用戶所有話語內(nèi)容的符號“*”,因此方案會話處理器320執(zhí)行所選的方案,而不管用戶話語內(nèi)容是什么。例如,即使在認為諸如“我不知道”或者“我要離開它”等應答不是對該調(diào)查的應答的情況下,其也繼續(xù)執(zhí)行應答語句(其是下一個問題)的發(fā)送。
隨后,會話控制裝置1,或者更具體地方案會話處理器320,在其每次接收到用戶話語時,順序執(zhí)行方案140213、方案140214、方案140215以及方案140216,而不管用戶話語內(nèi)容是什么。即,會話控制裝置1,或者更具體地方案會話處理器320,在其每次接收到用戶話語時,不管用戶話語內(nèi)容是什么,其順序發(fā)送應答語句150113到150116“問題三。你喜歡什么類型的汽車?你喜歡轎車還是運動車,四輪貨車還是小型貨車?”、“問題四。你打算花多少錢?”、“問題五。你認為你可能什么時候買?”以及“沒有更多問題了。非常感謝”,其是方案140213、方案140214、方案140215以及方案140216的應答語句。
方案會話處理器320從包括在方案140216中的下一方案規(guī)定信息150216識別出相關應答語句是調(diào)查的結尾,并且結束方案會話過程。
圖24是示出稱為強制類型特定情節(jié)的這類方案的另一個實例的圖。
在圖23所示的實例中,會話控制方法是這樣的,即其繼續(xù)進行調(diào)查問題而不管用戶話語是否是該調(diào)查的應答,但是在圖24所示的實例中,會話控制方法是這樣的,即僅在用戶話語是該調(diào)查的應答的情況下,其進行到下一個調(diào)查問題,而在用戶話語不是該調(diào)查的應答的情況下,它重復該調(diào)查問題以嘗試獲取該調(diào)查的應答。
圖24中的實例是包括如圖23的構成關于汽車的調(diào)查的問題語句的方案,其示出了對應調(diào)查的第一問題(參照圖23,方案140211)、第二問題(參照圖23,方案140212)和第三問題(參照圖23,方案140213)的方案,但是省略了對應第四問題和之前的方案。用戶話語字母串170124是表示用戶話語既不是“新車”也不是“舊車”的數(shù)據(jù),而利用相同的方法,用戶話語字母串170127是表示用戶話語既不是“日本汽車”也不是“外國汽車”的數(shù)據(jù)。
在圖24的實例中,認為用戶話語“我不介意回答調(diào)查”已經(jīng)完成。在這種情況下,方案會話處理器320搜索方案空間1401,并且尋找方案140221。其獲取包括在方案140221中的應答語句150121,并且發(fā)送應答語句150121“謝謝你。這是第一個問題。如果你買汽車,你想買新車還是舊車?”作為對應于用戶話語的應答,其利用下一方案規(guī)定信息150221來指定下一候選應答語句。在本實例中,下一方案規(guī)定信息150221包括三個ID數(shù)據(jù)項“2000-02”、“2000-03”以及“2000-04”。方案會話處理器320存儲并保留對應于三個ID數(shù)據(jù)項“2000-02”、“2000-03”和“2000-04”的方案140222、方案140223以及方案140224的應答語句,作為下一候選應答語句。
這里,如果完成的用戶話語“新車”是會話控制裝置1發(fā)送的應答語句“謝謝你。這是第一個問題。如果你買汽車,你想買新車還是舊車?”的響應,則方案會話處理器320從被規(guī)定做為下一候選應答語句的三個方案140222、140223以及140224中,選擇方案140222,該方案包括對應于用戶話語的用戶話語字母串170122,并且執(zhí)行該方案。即,方案會話處理器320也發(fā)送包括在方案140222中的應答語句150122的應答“問題二。你喜歡日本汽車還是外國汽車?”,其利用包括在方案140222中的下一方案規(guī)定信息150222來指定下一候選應答語句。在本實例中,下一方案規(guī)定信息150222包括三個ID數(shù)據(jù)項“2000-06”、“2000-07”和“2000-08”。方案會話處理器320選擇包括在對應于三個ID數(shù)據(jù)項“2000-06”、“2000-07”和“2000-08”的三個方案140225、140226和140227中的應答語句,作為下一候選應答語句。即,會話控制裝置1以這種方式執(zhí)行會話控制,即在結束第一調(diào)查問題的應答“新車”的采集時,繼續(xù)進行到第二調(diào)查問題的應答的采集。
同時,如果完成的用戶話語“舊車”是會話控制裝置1發(fā)送的應答語句“謝謝你。這是第一個問題。如果你買汽車,你想買新車還是舊車?”的響應,則方案會話處理器320從被規(guī)定做為下一候選應答語句的三個方案140222、140223和140224中,選擇包括對應于用戶話語的用戶話語字母串170123的方案140223,并且執(zhí)行該方案。即,方案會話處理器320也發(fā)送包括在方案140223中的應答語句150123的應答“問題二。你喜歡日本汽車還是外國汽車?”,其利用包括在方案140223中的下一方案規(guī)定信息150223來指定下一候選應答語句。在本實例中,采用如上述下一方案規(guī)定信息150222的方法,下一方案規(guī)定信息150223包括三個ID數(shù)據(jù)項“2000-06”、“2000-07”和“2000-08”。方案會話處理器320選擇包括在對應于三個ID數(shù)據(jù)項“2000-06”、“2000-07”和“2000-08”的三個方案140225、140226和140227中的應答語句作為下一候選應答語句。即,會話控制裝置1以這種方式執(zhí)行會話控制,即在結束第一調(diào)查問題的應答“舊車”的采集時,繼續(xù)進行第二調(diào)查問題的應答的采集。
同樣,在響應會話控制裝置1中發(fā)送的應答語句“謝謝你。這是第一個問題。如果你買汽車,你想買新車還是舊車?”上,如果完成的用戶話語既不是“新車”也不是“舊車”,例如“我不知道”或者“都可以”,則方案會話處理器320從被規(guī)定做為下一候選應答語句的三個方案140222、140223和140224中選擇包括對應于用戶話語的用戶話語字母串170124的方案140224,并且執(zhí)行該方案。即,方案會話處理器320也發(fā)送包括在方案140224中的應答語句150124的應答“首先請回答問題一。如果你買汽車,你想買新車還是舊車?”,其利用包括在方案140224中的下一方案規(guī)定信息150224來指定下一候選回答語句。在本實例中,下一方案規(guī)定信息150224包括三個ID數(shù)據(jù)項“2000-03”、“2000-04”和“2000-05”。方案會話處理器320選擇包括在對應于三個ID數(shù)據(jù)項“2000-03”、“2000-04”和“2000-05”的三個方案140222、140223和140224中的應答語句作為下一候選應答語句。即,會話控制裝置1執(zhí)行通過重復向用戶詢問第一調(diào)查問題來嘗試采集第一調(diào)查問題的應答的會話控制。換言之,會話控制裝置1,或者更具體地方案會話處理器320,向用戶重復詢問第一調(diào)查問題,直到用戶產(chǎn)生“新車”或者“舊車”的用戶話語。
接下來,將介紹方案會話處理器320已經(jīng)執(zhí)行上面的方案140222或140223并且發(fā)送應答語句“問題二。你喜歡日本汽車還是外國汽車?”之后的過程。在完成的用戶話語“日本汽車”是會話控制裝置1發(fā)送的應答語句“問題二。你喜歡日本汽車還是外國汽車?”的響應,則方案會話處理器320從被規(guī)定做為下一候選應答語句的三個方案140225、140226和140227中,選擇包括對應于用戶話語的用戶話語字母串170125的方案140225,并且執(zhí)行該方案。即,方案會話處理器320也發(fā)送包括在方案140225中的應答語句150125的應答“問題三。你喜歡什么類型的汽車?你喜歡轎車還是運動車,四輪貨車還是小型貨車”,其利用包括在方案140225中的下一方案規(guī)定信息150225來指定下一候選應答語句。在本實例中,下一方案規(guī)定信息150225包括三個ID數(shù)據(jù)項“2000-09”、“2000-10”和“2000-11”。方案會話處理器320選擇包括在對應于三個ID數(shù)據(jù)項“2000-09”、“2000-10”和“2000-11”的三個方案中的應答語句作為下一候選應答語句。即,在這點上,會話控制裝置1以如此方式執(zhí)行會話控制,即在結束第二調(diào)查問題的應答“日本汽車”的采集時,繼續(xù)進行第三調(diào)查問題的應答的采集。在圖24中,省略了對應“2000-09”、“2000-10”和“2000-11”的方案。
同時,如果完成的用戶話語“外國汽車”是會話控制裝置1發(fā)送的應答語句“問題二。你喜歡日本汽車還是外國汽車?”的響應,則方案會話處理器320從被規(guī)定做為下一候選應答語句的三個方案140225、140226和140227中,選擇包括對應于用戶話語的用戶話語字母串170126的方案140226,并且執(zhí)行該方案。即,方案會話處理器320也發(fā)送包括在方案140226中的應答語句150126的應答“問題三。你喜歡什么類型的汽車?你喜歡轎車還是運動車,四輪貨車還是小型貨車?”,其利用包括在方案140226中的下一方案規(guī)定信息150126來指定下一候選應答語句。在本實例中,下一方案規(guī)定信息150226包括三個ID數(shù)據(jù)項“2000-09”、“2000-10”和“2000-11”。方案會話處理器320選擇包括在對應于三個ID數(shù)據(jù)項“2000-09”、“2000-10”和“2000-11”的三個方案中的應答語句作為下一候選應答語句。即,會話控制裝置1以如此方式執(zhí)行會話控制,即在結束第二調(diào)查問題的應答“外國汽車”的采集時,繼續(xù)進行第三調(diào)查問題的應答的采集。
同樣,在響應會話控制裝置1發(fā)送的應答語句“問題二。你喜歡日本汽車還是外國汽車?”上,如果用戶話語既不是“日本汽車”也不是“外國汽車”,例如“我不知道”或者“都可以”,則方案會話處理器320從被規(guī)定做為下一候選應答語句的三個方案140225、140226和140227中,選擇包括對應于用戶話語的用戶話語字母串170127的方案140227,并且執(zhí)行該方案。即,方案會話處理器320也發(fā)送包括在方案140227中的應答語句150127的應答“首先請回答問題二。你喜歡日本汽車還是外國汽車?”,其利用包括在方案140227中的下一方案規(guī)定信息150227來指定下一候選應答語句。在本實例中,下一方案規(guī)定信息150227包括三個ID數(shù)據(jù)項“2000-06”、“2000-07”和“2000-08”。方案會話處理器320選擇包括在對應于三個ID數(shù)據(jù)項“2000-06”、“2000-07”和“2000-08”的三個方案140225、140226和140227中的應答語句作為下一候選應答語句。即,會話控制裝置1執(zhí)行通過重復向用戶詢問第二調(diào)查問題來試圖采集第二調(diào)查問題的應答的會話控制。換言之,會話控制裝置1,或者更具體地方案會話處理器320向用戶重復詢問第二調(diào)查問題,直到用戶發(fā)出“日本汽車”或者“外國汽車”的用戶話語。
此后,會話控制裝置1,或者更具體地方案會話處理器320,利用與上文所述相同的會話控制方法,完成第三調(diào)查問題到第五調(diào)查問題的應答的采集。
根據(jù)對應第二實施例的這種會話控制裝置,可以提供能夠按照預定順序獲取預定事件的應答的會話控制裝置,即使在用戶話語內(nèi)容不同于初始目標的情況下。
權利要求
1.一種發(fā)送應答語句以響應用戶話語的會話控制裝置,包括方案存儲模塊,其存儲多個方案,每個方案包括所述應答語句和規(guī)定下一候選應答語句的下一候選規(guī)定信息,該下一候選應答語句是以繼所述應答語句之后的順序預期將被發(fā)送的應答語句;以及方案會話模塊,其響應于第一用戶話語,選擇存儲在所述方案存儲模塊中的方案,使得所選擇的方案發(fā)送包括在所述方案中的應答語句,以及隨后響應于第二用戶話語,基于包括在所述方案中的下一候選規(guī)定信息,使得發(fā)送下一候選應答語句,其中所述多個方案的至少一部分以如此這種方式包括應答語句和下一候選應答語句即使得以預定的順序發(fā)送預定的應答語句,而不管用戶話語的內(nèi)容。
2.根據(jù)權利要求1所述的會話控制裝置,其中所述多個方案的所述一部分是存儲了按順序發(fā)送的第一到第N個應答語句的N個方案,所述N個方案中的第M個方案包括規(guī)定了第M個應答語句后的第一個應答語句的下一候選規(guī)定信息(注意M和N是整數(shù),并且1≤M<N)。
3.根據(jù)權利要求1所述的會話控制裝置,其中如果響應于發(fā)送的問題的用戶話語的內(nèi)容不同于預定的應答內(nèi)容,則所述多個方案的所述至少一部分是用于重復發(fā)送所述問題的方案。
全文摘要
為了以預定順序返回預定應答,即使在用戶話語內(nèi)容與初始目標不同的情況下。發(fā)送應答語句以響應用戶話語的會話控制裝置包括存儲多個方案的會話數(shù)據(jù)庫,每個方案包括應答語句和規(guī)定下一候選應答語句的下一候選規(guī)定信息,該候選應答語句是以繼應答語句的順序?qū)⒈活A期發(fā)送的應答語句;以及方案會話處理器,其響應第一用戶話語,選擇存儲在會話數(shù)據(jù)庫中的方案,發(fā)送包括在該方案中的應答語句,以及隨后響應第二用戶話語,基于包括在該方案中的下一候選規(guī)定信息來發(fā)送下一候選應答語句,其中多個方案的至少一部分,而不管用戶話語內(nèi)容是什么,以這種方式包括應答語句和下一候選應答語句,即以預定順序發(fā)送預定調(diào)查中的每個問題。
文檔編號G10L15/22GK1975858SQ200610136039
公開日2007年6月6日 申請日期2006年10月20日 優(yōu)先權日2005年10月21日
發(fā)明者黃聲揚, 勝倉裕 申請人:阿魯策株式會社, 株式會社PtoPA