本發(fā)明是有關(guān)于一種網(wǎng)絡(luò)問答系統(tǒng)、方法與計(jì)算機(jī)可讀取記錄媒體。
背景技術(shù):
因特網(wǎng)對于人們?nèi)粘I畎缪葜匾巧?。例如,用戶可以用網(wǎng)絡(luò)問答系統(tǒng)與網(wǎng)絡(luò)搜尋網(wǎng)站(如Google)來進(jìn)行搜尋想要找的商品或想要看的電影,以方便使用者能盡快找到所想要的商品或想要看的電影。
故而,本發(fā)明提供一種網(wǎng)絡(luò)問答系統(tǒng)與方法,以提供符合使用者需求的智能化問答體驗(yàn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明有關(guān)于一種網(wǎng)絡(luò)問答系統(tǒng)、方法與計(jì)算機(jī)可讀取記錄媒體,根據(jù)用戶對話記錄,透過網(wǎng)絡(luò)問答系統(tǒng)學(xué)習(xí)功能,學(xué)習(xí)語境模型,提供更智能化的問答體驗(yàn)。
根據(jù)本發(fā)明一實(shí)施例,提出一種網(wǎng)絡(luò)問答方法應(yīng)用于網(wǎng)絡(luò)問答系統(tǒng)。接收當(dāng)前回合使用者問句。根據(jù)語境標(biāo)記模型,線上實(shí)時標(biāo)記該當(dāng)前回合用戶問句的語境為語境繼續(xù)或語境結(jié)束。根據(jù)該當(dāng)前回合使用者問句的該語境,決定是否清除舊段落的至少一語境。該網(wǎng)絡(luò)問答系統(tǒng)回答該當(dāng)前回合用戶問句。比較下一回合使用者問句與該舊段落之間的符合程度,以判斷所標(biāo)記的該當(dāng)前回合用戶問句的該語境是否正確,否要更正該當(dāng)前回合使用者問句的該語境,以及,判斷是否要將該當(dāng)前回合使用者問句用于調(diào)適該語境標(biāo)記模型。
根據(jù)本發(fā)明一實(shí)施例,提出一種網(wǎng)絡(luò)問答系統(tǒng),包括:線上實(shí)時對話語境標(biāo)記模塊、語境清除與回答模塊、比較模塊、語境標(biāo)記更正模塊與語境標(biāo)記模型調(diào)適模塊。該線上實(shí)時對話語境標(biāo)記模塊根據(jù)語境標(biāo)記模型線上實(shí)時標(biāo)記當(dāng)前回合用戶問句的語境為語境繼續(xù)或語境結(jié)束。根據(jù)該當(dāng)前回合使用者問句的該語境,該語境清除與回答模塊決定是否清除舊段落的至少一語境,以及,該語境清除與回答模塊回答該當(dāng)前回合用戶問句。該比較模塊比較下一回合使用者問句與該舊段落之間的符合程度,以判斷所標(biāo)記的該當(dāng)前回合用戶問句的該語境是否正確。根據(jù)該比較模塊的判斷結(jié)果,該語境標(biāo)記更正模塊決定是否更正該當(dāng)前回合使用者問句的該語境。該語境標(biāo)記模型根據(jù)該比較模塊的判斷結(jié)果以判斷是否將該當(dāng)前回合使用者問句用于調(diào)適該語境標(biāo)記模型。
根據(jù)本發(fā)明又一實(shí)施例,提出一種內(nèi)儲程序的計(jì)算機(jī)可讀取記錄媒體,當(dāng)計(jì)算機(jī)加載該程序并執(zhí)行后,可完成如上所述的方法。
附圖說明
圖1為根據(jù)本發(fā)明一實(shí)施例的網(wǎng)絡(luò)問答系統(tǒng)與方法的語境標(biāo)記模型訓(xùn)練流程圖。
圖2為根據(jù)本發(fā)明一實(shí)施例的網(wǎng)絡(luò)問答方法的收集用戶對話記錄與用戶語境結(jié)束事件的一例。
圖3為在本發(fā)明實(shí)施例中,得到特征對應(yīng)系數(shù)的示意圖。
圖4為根據(jù)本發(fā)明一實(shí)施例的網(wǎng)絡(luò)問答方法的流程圖。
圖5為本發(fā)明一實(shí)施例中,進(jìn)行線上實(shí)時標(biāo)記當(dāng)前回合用戶問句的語境的一例。
圖6為根據(jù)本發(fā)明一實(shí)施例的清除舊段落語境,并進(jìn)行回答的一例。
圖7為比較下一回合用戶問句與舊段落之間的符合程度,以決定是否更正上一回合所標(biāo)記的語境結(jié)束的一例。
圖8為本發(fā)明另一實(shí)施例的網(wǎng)絡(luò)問答系統(tǒng)的方塊圖。
圖9為根據(jù)本發(fā)明一實(shí)施例的網(wǎng)絡(luò)問答方法的流程圖。
圖10為本發(fā)明一實(shí)施例額網(wǎng)絡(luò)問答系統(tǒng)的方塊圖。
附圖標(biāo)記說明:
110-130:步驟
140:用戶對話記錄數(shù)據(jù)庫
150:語境標(biāo)記模型
202、204、215:用戶對話記錄
210、220:使用者語境結(jié)束事件
405-450:步驟
610:語境
620、640:段落
641-644:對話回合
710:使用者問句
720:段落
730:語境
800:網(wǎng)絡(luò)問答系統(tǒng)
810:問答記錄模塊
820:用戶語境結(jié)束事件收集模塊
830:語境標(biāo)記模型訓(xùn)練模塊
840:線上實(shí)時對話語境標(biāo)記模塊
850:語境清除與回答模塊
860:比較模塊
870:語境標(biāo)記更正模塊
880:語境標(biāo)記模型調(diào)適模塊
890:用戶語境結(jié)束事件偵測模塊
905-925:步驟
1000:網(wǎng)絡(luò)問答系統(tǒng)
1010:線上實(shí)時對話語境標(biāo)記模塊
1020:語境清除與回答模塊
1030:比較模塊
1040:語境標(biāo)記更正模塊
1050:語境標(biāo)記模型調(diào)適模塊
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方發(fā)明和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對本發(fā)明進(jìn)一步詳細(xì)說明。
在本發(fā)明實(shí)施例的自動偵測問句的語境標(biāo)記(Discourse Label)的網(wǎng)絡(luò)問答系統(tǒng)與方法中,記錄用戶與網(wǎng)絡(luò)問答系統(tǒng)之間的問答相關(guān)信息(包含相關(guān)問答記錄、歷史對話清除時間、相關(guān)問答回合記錄、用戶空閑時間、用戶瀏覽記錄與事務(wù)歷史記錄等相關(guān)信息)。一個對話系包含至少一個問句與答句。而語境標(biāo)記(Discourse Label)包括語境結(jié)束(Discourse End,DE)與語境繼續(xù)(Discourse Continue,DC)兩種標(biāo)記(label)。
本發(fā)明實(shí)施例的網(wǎng)絡(luò)問答系統(tǒng)與方法可整合語境結(jié)束事件與用戶對話記錄(User dialog log)成為訓(xùn)練數(shù)據(jù),以根據(jù)訓(xùn)練數(shù)據(jù)來訓(xùn)練語境標(biāo)記模型。
當(dāng)語境被標(biāo)記為語境結(jié)束且該次判斷的信心值落于信心值范圍內(nèi),則清除目前對話語境并進(jìn)行持續(xù)問答,反之則保留語境。
另外,本發(fā)明實(shí)施例的網(wǎng)絡(luò)問答系統(tǒng)與方法可比較目前語句與之前用戶對話記錄中所包含的相關(guān)問答記錄,以判斷語句是否屬于相關(guān)語境。如果是,則更正語境標(biāo)記并回饋至用戶對話記錄。如果回饋量超過門坎值,本發(fā)明實(shí)施例的網(wǎng)絡(luò)問答系統(tǒng)與方法可自動重新訓(xùn)練語境標(biāo)記模塊。
在本發(fā)明實(shí)施例的網(wǎng)絡(luò)問答系統(tǒng)與方法中,事先訓(xùn)練語境(discourse)標(biāo)記模型。現(xiàn)請參考圖1,其為根據(jù)本發(fā)明一實(shí)施例的網(wǎng)絡(luò)問答系統(tǒng)與方法的語境標(biāo)記模型訓(xùn)練流程圖。
如圖1所示,在步驟110中,收集用戶對話記錄,以記錄用戶與網(wǎng)絡(luò)問答系統(tǒng)之間的問答相關(guān)信息。所收集的用戶對話記錄系記錄至用戶對話記錄數(shù)據(jù)庫140中。
在步驟120中,收集使用者語境結(jié)束事件與事件背景信息。
在本發(fā)明一實(shí)施例中,使用者語境結(jié)束事件例如包括但不受限于:(1)使用者按下重置(reset)鍵事件;(2)用戶交易事件;(3)使用者瀏覽事件;以及(4)閑置(idle)時期超過門坎值事件。
在本發(fā)明一實(shí)施例中,網(wǎng)絡(luò)問答系統(tǒng)可追蹤用戶是否按下重置按鍵。如果使用者按下重置鍵,代表當(dāng)下語境為語境結(jié)束。網(wǎng)絡(luò)問答系統(tǒng)收集此語境結(jié)束事件,產(chǎn)生一個語境結(jié)束標(biāo)記。亦即,在一實(shí)施例中,使用者按下一次重置鍵,則產(chǎn)生一個語境結(jié)束標(biāo)記。
在本發(fā)明一實(shí)施例中,網(wǎng)絡(luò)問答系統(tǒng)追蹤在用戶問答之后,用戶是否觸發(fā)交易事件,交易事件例如但不受限于,結(jié)賬、(將產(chǎn)品)加入購物車等。如果觸發(fā)了用戶交易事件,代表當(dāng)下語境為語境結(jié)束事件。網(wǎng)絡(luò)問答系統(tǒng)收集此語境結(jié)束事件,得到語境結(jié)束標(biāo)記。亦即,在一實(shí)施例中,用戶觸發(fā)一次用戶交易事件,則產(chǎn)生一個語境結(jié)束標(biāo)記。
在本發(fā)明一實(shí)施例中,網(wǎng)絡(luò)問答系統(tǒng)追蹤在用戶問答之后,使用者是否有進(jìn)行瀏覽(如瀏覽相關(guān)產(chǎn)品、新聞等)。如果觸發(fā)了使用者瀏覽事件,代表當(dāng)下語境為語境結(jié)束事件。網(wǎng)絡(luò)問答系統(tǒng)收集此語境結(jié)束事件,得到語境結(jié)束標(biāo)記信息。亦即,在一實(shí)施例中,使用者觸發(fā)一次使用者瀏覽事件,則產(chǎn)生一個語境結(jié)束標(biāo)記。
在本發(fā)明一實(shí)施例中,網(wǎng)絡(luò)問答系統(tǒng)可主動計(jì)時用戶閑置時期(所謂的使用者閑置時期是指,用戶未跟網(wǎng)絡(luò)問答系統(tǒng)互動的時期),來決定使用者閑置時期是否超過門坎值。如果是,代表當(dāng)下語境為語境結(jié)束事件。網(wǎng)絡(luò)問答系統(tǒng)收集此語境結(jié)束事件,得到語境結(jié)束標(biāo)記信息。亦即,在一實(shí)施例中,每一次使用者閑置時期超過門坎值,則產(chǎn)生一個語境結(jié)束標(biāo)記。
步驟120所收集的事件背景信息是指用戶語境結(jié)束事件的背景信息,包括例如但不受限于,下列的任一或其任意組合:重置時間、相關(guān)問答回合記錄、用戶閑置時期、用戶瀏覽記錄、用戶事務(wù)歷史記錄等相關(guān)信息。
圖2為根據(jù)本發(fā)明一實(shí)施例的網(wǎng)絡(luò)問答方法的收集用戶對話記錄與用戶語境結(jié)束事件的一例。網(wǎng)絡(luò)問答系統(tǒng)收集用戶對話記錄202、204與215,且收集使用者語境結(jié)束事件210與220。
于步驟125中,網(wǎng)絡(luò)問答系統(tǒng)判斷所收集的語境結(jié)束標(biāo)記的數(shù)量是否足夠用于訓(xùn)練語境標(biāo)記模型。如果足夠的話,則流程接續(xù)至步驟130;如果不足夠,則流程回至步驟120。
在步驟130中,訓(xùn)練語境標(biāo)記模型150。如上述般,將使用者語境結(jié)束事件與用戶對話記錄當(dāng)成訓(xùn)練數(shù)據(jù)。于語境標(biāo)記時,可將每一個語境標(biāo)記成語境結(jié)束(Discourse End,DE)與語境繼續(xù)(Discourse Continue,DC),并標(biāo)記相關(guān)信心值。亦即,在用戶實(shí)際與網(wǎng)絡(luò)問答系統(tǒng)進(jìn)行問答時,對于每一個使用者語句的語境,將此用戶語句的語境標(biāo)記成“語境結(jié)束(DE)”或“語境繼續(xù)(DC)”,且一并標(biāo)記出信心值。
現(xiàn)將說明訓(xùn)練語境標(biāo)記模型150的細(xì)節(jié)。
訓(xùn)練數(shù)據(jù)(包括用戶語境結(jié)束事件與用戶對話問答記錄)的一例如表1所示。
表1
在本發(fā)明實(shí)施例中,“對話回合”為用戶與對話網(wǎng)絡(luò)問答系統(tǒng)對話互動過程的每一個語句,而與語句所對應(yīng)的就是語境標(biāo)記。例如上表1的語句1(使用者:我想找史蒂芬斯皮爾伯格執(zhí)導(dǎo)的電影)的語境標(biāo)記為DC。
訓(xùn)練好的語境標(biāo)記模型的輸入為目前語句與之前語句的集合,例如語句4與之前的語句集合(語句1、2、3)?;蛘?,輸入可以包括目前語句但不包括之前語句集合。
在本發(fā)明實(shí)施例中,語境標(biāo)記模型的訓(xùn)練步驟包括但不受限于下列步驟:特征擷取(feature extraction)步驟、特征權(quán)重轉(zhuǎn)換(feature weight transformation)與模型參數(shù)學(xué)習(xí)(model parameters learning)步驟。
在本發(fā)明實(shí)施例中,特征分類為語言特征(Linguistic feature)與元特征(Meta feature)。特征擷取(feature extraction)步驟從語句集合中擷取出語言特征及/或元特征。
語言特征就是語句集合中可以透過文字表現(xiàn)出來的特征,包括,例如但不受限于:(1)本語句所含的關(guān)鍵詞、詞性、語意概念、語句類型、隱含主題等不限于此;(2)本語句是否有提到演員、導(dǎo)演、年代、類型等不限于此;(3)前面回合語句集合中出現(xiàn)的關(guān)鍵詞、詞性、語意概念、語句類型、隱含主題等不限于此;以及(4)前面回合語句集合中是否有提到演員、導(dǎo)演、年代、類型等不限于此。
元特征則為語境過程中所表達(dá)的行為,且非語言所涵蓋的特征,包括,例如但不受限于:(1)本次語境結(jié)束時間、相關(guān)問答回合記錄、問答回合次數(shù)、用戶空閑時間、用戶瀏覽記錄、事務(wù)歷史記錄等非語句內(nèi)文信息,且不限于此;以及(2)前面回合語句集合中,語境結(jié)束時間、相關(guān)問答回合記錄、問答回合次數(shù)、用戶空閑時間,用戶瀏覽記錄、事務(wù)歷史記錄等非語句內(nèi)文信息,且不限于此。
擷取出了特征之后,可以給予特征不同的權(quán)重此為特征權(quán)重轉(zhuǎn)換(feature weight transformation),常見的權(quán)重可以是二元(Binary)特征,例如,如果有出現(xiàn)「阿諾」這個詞的話,則其權(quán)重設(shè)為1,相反地,如果沒有出現(xiàn)「阿諾」這個詞的話,則其權(quán)重設(shè)為0。也可以是帶有頻率的特征,例如阿諾出現(xiàn)2次,則其權(quán)重可設(shè)為2除以總詞頻次數(shù)的比值。當(dāng)然也可以透過TF-IDF(詞頻-逆向文件頻率,term frequency-inverse document frequency)相關(guān)權(quán)重計(jì)算方式等不限于此。
在特征擷取與特征權(quán)重轉(zhuǎn)換后,本發(fā)明實(shí)施例中,訓(xùn)練分類器以進(jìn)行語境DC或DE的分類。本發(fā)明實(shí)施例所用的分類器可以是常見的分類器,例如但不受限于,SVM(支持向量機(jī)器,support vector machine)、貝氏分類器(Bayesian classifier)、類神經(jīng)網(wǎng)絡(luò)(artificial neural network)、判定樹(Decision Tree)或最近鄰居法(k-nearest neighbors)等不限于此。分類器訓(xùn)練是指,根據(jù)語境訓(xùn)練資料,計(jì)算在不同類別(class)下(例如DC與DE),特征值所對應(yīng)的最佳系數(shù)。底下以SVM為例來做說明,當(dāng)知本發(fā)明并不限于此。
subject to yi(wTφ(xi)+b)≧1-ξi
ξi≧0,i=1,…,l
于公式(1)中,參數(shù)“i”從1到l,代表每一筆訓(xùn)練資料的編號。參數(shù)“yi”為1或-1,表示每筆數(shù)據(jù)的類別(class)標(biāo)記。每一筆訓(xùn)練資料xi可表達(dá)為向量,b為超平面的偏移量,w為最佳超平面中對應(yīng)的權(quán)重向量,ξ為松弛變量(slack variables),代表限制式中可允許的松弛量,參數(shù)c用于控制最佳超平面與限制式的松弛量之間的權(quán)重。
完成訓(xùn)練語境標(biāo)記模型,即得到向量W。對于所輸入的語句,根據(jù)特征擷取步驟與特征權(quán)重轉(zhuǎn)換步驟來得到特征權(quán)重向量后,利用分類器進(jìn)行預(yù)測使用者所輸入的語句的語境屬于DC或DE。即是利用向量W與底下公式(2)來計(jì)算。
sgn(wTx+b) (2)
其中,x為資料向量,b為超平面的偏移量如同公式(1),w為最佳超平面中對應(yīng)的權(quán)重向量如同公式(1),sgn為一個邏輯函式(sign function)。
公式(1)或(2)中的X向量,即是經(jīng)過特征擷取(feature extraction)步驟與特征權(quán)重轉(zhuǎn)換(feature weight transformation)步驟所得到的特征權(quán)重向量。
以表1中所列的語境訓(xùn)練數(shù)據(jù)為例做說明,可以發(fā)現(xiàn)語句之間或語境標(biāo)記之間常有順序關(guān)系,例如連續(xù)三個語境繼續(xù)(DC)之后,通常下一個語境可能是語境結(jié)束。或者前面語句有導(dǎo)演概念詞匯,通常后面語句容易有主演演員概念詞匯。
因此在本發(fā)明實(shí)施例中,以利用分類器來訓(xùn)練語境標(biāo)記模型之外,也可以透過序列學(xué)習(xí)模型,例如常見的條件隨機(jī)場(Conditional Random Fields,CRFs)、隱藏式馬可夫模型(Hidden Markov Model,HMM)等不限于此。
圖3為在本發(fā)明以線性條件隨機(jī)場(linear chain CRFs)模型為實(shí)施例,其中得到特征對應(yīng)系數(shù)的示意圖。如圖3所示,將對話回合語句所包含的語句串行,視為x序列,透過上述特征擷取(feature extraction)步驟與特征權(quán)重轉(zhuǎn)換(feature weight transformation)步驟所得的x向量序列,搭配條件隨機(jī)場模型特定的特征函數(shù)(feature function),其中特征可以是如上所述的語言特征與元特征,配合訓(xùn)練數(shù)據(jù)中所含的語境標(biāo)記序列y,利用優(yōu)化計(jì)算方法例如梯度下降法(Gradient Descent)不限于此,得到特征對應(yīng)系數(shù)λ,即第3圖中的正方形實(shí)心方塊。
如果以數(shù)學(xué)式表示的話,則可表示如公式(3)、(3.1)與(3.2)。
在公式(3)、(3.1)與(3.2)中,x為輸入的節(jié)點(diǎn)集合,代表可被觀察到的輸入數(shù)據(jù)點(diǎn)順序(the input sequence can be observed.),例如一組對話語句序列。y為x所對應(yīng)的隱藏狀態(tài)(hidden states)序列亦即其標(biāo)記序列,例如一個對話語句序列對應(yīng)的語境標(biāo)記序列。p(y|x)代表資料序列整體的條件機(jī)率。λk∈RK為條件隨機(jī)場(CRFs)模型所要優(yōu)化的參數(shù)向量。fk為條件隨機(jī)場(CRFs)模型所使用的特征函式集合。K為特征函式索引。Exp為指數(shù)函數(shù)。Z(x)為正規(guī)化函式(normalization function)。
公式(3)、(3.1)與(3.2)中的λ系數(shù)代表特征對應(yīng)系數(shù)(亦即第3圖中的正方形實(shí)心方塊)。利用此類模型更能學(xué)習(xí)具有序列關(guān)系的數(shù)據(jù)。
因此當(dāng)收集了具有語境標(biāo)記的語境訓(xùn)練數(shù)據(jù)后,根據(jù)特征擷取步驟、特征權(quán)重轉(zhuǎn)換與模型參數(shù)學(xué)習(xí)步驟(無論透過分類器或序列學(xué)習(xí)模型等),本發(fā)明實(shí)施例可以訓(xùn)練得到語境標(biāo)記模型。
此外,如果訓(xùn)練數(shù)據(jù)具有少部分語境標(biāo)記,本發(fā)明實(shí)施例也可用常見的半監(jiān)督式學(xué)習(xí)(semi-supervised learning)處理方法來擴(kuò)充模型參數(shù)學(xué)習(xí)步驟?;蛘撸绻谑占Z境訓(xùn)練資料過程中發(fā)現(xiàn)有更多和語境相關(guān)的變量可以用以收集并建立模型,本發(fā)明實(shí)施例可以用常見的一般化機(jī)率圖論模型(probabilistic graphical model)來擴(kuò)充序列學(xué)習(xí)模型。
現(xiàn)請參照圖4,其顯示根據(jù)本發(fā)明一實(shí)施例的網(wǎng)絡(luò)問答方法的流程圖,應(yīng)用于網(wǎng)絡(luò)問答系統(tǒng)。在步驟405中,接收當(dāng)前回合使用者問句。于步驟410中,線上實(shí)時標(biāo)記當(dāng)前回合用戶問句的語境為語境繼續(xù)(DC)或語境結(jié)束(DE)。例如,根據(jù)語境標(biāo)記模型150來實(shí)時標(biāo)記當(dāng)前回合用戶問句的語境為語境繼續(xù)(DC)或語境結(jié)束(DE),且一并標(biāo)記出信心值。
圖5為本發(fā)明一實(shí)施例中,進(jìn)行線上實(shí)時標(biāo)記當(dāng)前回合用戶問句的語境的一例。如圖5所示,對于每一回合對話(不論是使用者所提的問句或網(wǎng)絡(luò)問答系統(tǒng)所回答的答句),本發(fā)明實(shí)施例可線上實(shí)時標(biāo)記每一回合對話的語境為語境繼續(xù)(DC)或語境結(jié)束(DE)。
于步驟415,判斷當(dāng)前回合用戶問句是否被標(biāo)記為語境結(jié)束(DE)。亦即,判斷當(dāng)前回合用戶問句被標(biāo)記為語境繼續(xù)(DC)或語境結(jié)束(DE)。如果步驟415為是(當(dāng)前回合用戶問句被標(biāo)記為語境結(jié)束(DE)),則流程接續(xù)至步驟420。如果步驟415為否(當(dāng)前回合用戶問句被標(biāo)記為語境繼續(xù)(DC)),則流程接續(xù)至步驟425。
于步驟420中,清除舊段落的語境,并進(jìn)行回答。由于當(dāng)前回合用戶問句的語境被標(biāo)記為語境結(jié)束,清除舊段落的語境并回答使用者的問句。
另外,如果當(dāng)前回合使用者問句的語境被標(biāo)記為語境繼續(xù),則不清除語境,但仍要回答使用者的問句。亦即,根據(jù)該當(dāng)前回合使用者問句的語境被標(biāo)記為語境繼續(xù)或語境結(jié)束,決定是否清除舊段落的語境。
請參考圖6,其顯示根據(jù)本發(fā)明一實(shí)施例的清除舊段落語境,并進(jìn)行回答的一例。如圖6所示,由于將使用者問句的語境610標(biāo)記為語境結(jié)束(DE),所以,網(wǎng)絡(luò)問答系統(tǒng)清除舊段落620的語境。
所謂的“清除語境”是指,網(wǎng)絡(luò)問答系統(tǒng)將前一段落620中的語境清除,之后,網(wǎng)絡(luò)問答系統(tǒng)在回答用戶的下一問句時,網(wǎng)絡(luò)問答系統(tǒng)將不會參考前一段落620中的歷史對話回合與語境。
在本發(fā)明實(shí)施例中,“段落(segment)”是指介于2個連續(xù)語境結(jié)束(DE)之間的對話回合,這里的語境結(jié)束(DE)可以是網(wǎng)絡(luò)問答系統(tǒng)判斷的語境結(jié)束(DE),或者是網(wǎng)絡(luò)問答系統(tǒng)所偵測到的用戶語境結(jié)束事件(由使用者所觸發(fā))。清除舊段落語境即清除舊段落語境信息,包含語言文本信息與元信息。語言文本信息包含段落所含的至少一個語句與語句所含的關(guān)鍵詞、詞性、語意概念、語句類型、隱含主題與提到演員、導(dǎo)演、年代、類型等信息。而元信息包含本語境對應(yīng)的語境結(jié)束時間、用戶空閑時間、用戶瀏覽記錄、事務(wù)歷史記錄等非語句內(nèi)文信息。
以圖6為例,網(wǎng)絡(luò)問答系統(tǒng)將對話回合641-644視為同一段落640,其中,對話回合641-644被標(biāo)記為語境繼續(xù)(DC)。所以,例如,在回答由使用者所提出的對話回合643時,網(wǎng)絡(luò)問答系統(tǒng)的對話回合644考慮對話回合641-643(但不考慮前一段落620中的對話回合)。相反地,如果沒有考慮到使用者歷史對話回合的話,則網(wǎng)絡(luò)問答系統(tǒng)在回答用戶所提出的問句(有沒有阿諾主演的電影),網(wǎng)絡(luò)問答系統(tǒng)的回答可能會是“我找到1部阿諾主演的電影”,而不會是如同本發(fā)明圖6的中的對話回合644:“我找到1部史蒂芬斯皮爾伯格執(zhí)導(dǎo),阿諾主演的電影”。
在步驟430中,如果使用者于下一回合繼續(xù)輸入問句的話,則比較下一回合使用者問句與舊段落之間的符合程度。
步驟430的比較例如是,透過語境相似度分析層次(分析文字層次,概念層次等)或者是,利用相似度計(jì)算算法(例如Jaccard,Cosine等算法)來達(dá)成。
在步驟435中,判斷下一回合使用者問句與舊段落之間是否符合,以判斷上一回合所標(biāo)記的語境結(jié)束是否正確。
如果步驟435為是(下一回合使用者問句與舊段落之間符合,也就是說,下一回合使用者問句乃是使用者接續(xù)著舊段落的問句/意思而繼續(xù)問的),則表示上一回合所標(biāo)記的語境結(jié)束是錯誤的。在本發(fā)明實(shí)施例中,將上一回合所標(biāo)記的語境由語境結(jié)束(DE)更正為語境繼續(xù)(DC)(步驟440),并進(jìn)行語境標(biāo)記模型調(diào)適(步驟445)。語境標(biāo)記模型調(diào)適的細(xì)節(jié)將于底下描述。
如果步驟435為否(下一回合使用者問句不是使用者延續(xù)著舊段落的問句內(nèi)容而繼續(xù)提問),則表示上一回合所標(biāo)記的語境(如第6圖中的語境結(jié)束610)是正確的。之后,進(jìn)行語境標(biāo)記模型調(diào)適,如步驟445所示。
圖7為比較下一回合用戶問句與舊段落之間的符合程度,以決定是否更正上一回合所標(biāo)記的語境的一例。如圖7所示,將下一回合使用者問句710比較于舊段落720。由圖7可看出,下一回合使用者問句710乃是使用者接續(xù)著舊段落720的問句內(nèi)容而繼續(xù)問的。故而,上一回合將使用者問句的語境730標(biāo)記為語境結(jié)束(DE)是錯誤的,要將語境730更正為語境繼續(xù)(DC)。如果下一回合使用者問句與舊段落之間的不符合,則無需更正語境結(jié)束(DE)730。
在步驟425中,判斷是否偵測到使用者語境結(jié)束事件。也就是說,如果網(wǎng)絡(luò)問答系統(tǒng)將當(dāng)前回合用戶問句的語境標(biāo)記為語境繼續(xù)(DC),則網(wǎng)絡(luò)問答系統(tǒng)根據(jù)上述的四種可能使用者行為的任一或其任意組合(1)用戶按下重置(reset)鍵事件;(2)用戶交易事件;(3)使用者瀏覽事件;以及(4)閑置時期超過門坎值事件),來偵測使用者是否主動結(jié)束語境。
如果步驟425為是,則表示上一回合所標(biāo)記的語境繼續(xù)(DC)是錯誤的。在本發(fā)明實(shí)施例中,將上一回合所標(biāo)記的語境由語境繼續(xù)(DC)更正為語境結(jié)束(DE)(步驟450),并進(jìn)行語境標(biāo)記模型調(diào)適(步驟445)。也就是說,如果該當(dāng)前回合使用者問句的該語境被標(biāo)記為該語境繼續(xù)且偵測到使用者語境結(jié)束事件,則將該當(dāng)前回合使用者問句的該語境更正為該語境結(jié)束。
如果步驟425為否,則表示上一回合所標(biāo)記的語境繼續(xù)(DC)是正確的。之后,進(jìn)行語境標(biāo)記模型調(diào)適(步驟445)。
現(xiàn)將說明本發(fā)明實(shí)施例如何調(diào)整語境標(biāo)記模型150。
在訓(xùn)練時,對于每一筆訓(xùn)練數(shù)據(jù)可以搭配不同權(quán)重。不同權(quán)重對于語境標(biāo)記模型的訓(xùn)練帶來不同的效果,模型訓(xùn)練亦可稱為模型參數(shù)學(xué)習(xí)。
在本發(fā)明實(shí)施例中,可透過語境標(biāo)記的信心值與符合程度(代表比較目前使用者問句與以前語境之間符合程度),給予加權(quán)調(diào)整計(jì)算而得到權(quán)重。例如,網(wǎng)絡(luò)問答系統(tǒng)判斷語境繼續(xù)的信心值為0.8,而在比較目前使用者問句與以前語境之間符合程度為0.6的話,權(quán)重可為這兩者的平均值(0.7)。
此外,在本發(fā)明實(shí)施例中,可透過半監(jiān)督學(xué)習(xí)(semi-supervised learning)技術(shù),采取自我學(xué)習(xí)(Self-training)策略,讓線上語境標(biāo)記模塊(將于底下說明),針對標(biāo)記結(jié)果最佳的語句,自動回饋至訓(xùn)練數(shù)據(jù)集合。
或者,在本發(fā)明實(shí)施例中,可采取基于圖論半監(jiān)督學(xué)習(xí)(graph based semi-supervised)方法,透過建立對話語句之間的相似度矩陣,將標(biāo)記傳遞(propagation)到其他未標(biāo)記的對話語句,達(dá)成語境標(biāo)記模型的調(diào)適。
另外,本發(fā)明實(shí)施例也可調(diào)整語境標(biāo)記模型的參數(shù),透過領(lǐng)域調(diào)適(Domain Adaptation)或遷移學(xué)習(xí)(transfer learning)來調(diào)整。例如將公式(3)中的λ系數(shù)細(xì)分為測試領(lǐng)域(即線上語境標(biāo)記所收集到的對話回合)與原始訓(xùn)練資料領(lǐng)域。對于已收集到的數(shù)據(jù),可利用預(yù)期最大化算法(Expectation-maximization Algorithm)來優(yōu)化公式(3),此時所得的測試領(lǐng)域的λ系數(shù),即是領(lǐng)域調(diào)適后的系數(shù),可用于語境標(biāo)記模型,進(jìn)行語境標(biāo)記。
優(yōu)選地,在本發(fā)明實(shí)施例中,透過可調(diào)整式生成特征(adaptive generative feature),例如透過主題模型如潛在狄利克雷分配模型(latent dirichlet allocation,LDA)將未標(biāo)記的數(shù)據(jù)和已標(biāo)記的數(shù)據(jù)混合,以訓(xùn)練語境標(biāo)記模型,并將該語境標(biāo)記模型的參數(shù)(例如分布機(jī)率),當(dāng)成新的特征,來擴(kuò)充原本語境標(biāo)記模型所需的特征集合,以調(diào)適語境標(biāo)記模型。
本發(fā)明另一實(shí)施例提供自動偵測語境段落的網(wǎng)絡(luò)問答系統(tǒng),其方塊圖如圖8所示。如圖8所示,本發(fā)明實(shí)施例的自動偵測語境段落的網(wǎng)絡(luò)問答系統(tǒng)800包括:問答記錄模塊810、用戶語境結(jié)束事件收集模塊820、語境標(biāo)記模型訓(xùn)練模塊830、線上實(shí)時對話語境標(biāo)記模塊840、語境清除與回答模塊850、比較模塊860、語境標(biāo)記更正模塊870、語境標(biāo)記模型調(diào)適模塊880與用戶語境結(jié)束事件偵測模塊890。
問答記錄模塊810收集用戶對話記錄,以記錄用戶與網(wǎng)絡(luò)問答系統(tǒng)之間的問答相關(guān)信息。問答記錄模塊810所收集的用戶對話記錄系記錄至用戶對話記錄數(shù)據(jù)庫140中。
用戶語境結(jié)束事件收集模塊820收集用戶語境結(jié)束事件與事件背景信息。使用者語境結(jié)束事件例如包括但不受限于:(1)使用者按下重置(reset)鍵事件;(2)用戶交易事件;(3)使用者瀏覽事件;以及(4)閑置時期超過門坎值事件。用戶語境結(jié)束事件收集模塊820所收集的事件背景信息是指用戶語境結(jié)束事件的背景信息,包括例如但不受限于,重置時間、相關(guān)問答回合記錄、用戶閑置時期、用戶瀏覽記錄、用戶事務(wù)歷史記錄等相關(guān)信息。用戶語境結(jié)束事件收集模塊820判斷所收集的語境結(jié)束標(biāo)記的數(shù)量是否足夠用于訓(xùn)練語境標(biāo)記模型。
語境標(biāo)記模型訓(xùn)練模塊830訓(xùn)練語境標(biāo)記模型150。語境標(biāo)記模型訓(xùn)練模塊830將用戶語境結(jié)束事件與記錄于用戶對話記錄數(shù)據(jù)庫140中的用戶對話記錄當(dāng)成訓(xùn)練數(shù)據(jù)。
線上實(shí)時對話語境標(biāo)記模塊840利用已訓(xùn)練好的語境標(biāo)記模型150來將用戶問句實(shí)時標(biāo)記為語境繼續(xù)(DC)或語境結(jié)束(DE),且一并標(biāo)記出信心值。
如果當(dāng)前回合用戶問句被標(biāo)記為語境結(jié)束的話,則語境清除與回答模塊850清除舊段落的語境并回答使用者的問句。如果當(dāng)前回合用戶問句被標(biāo)記為語境繼續(xù),則語境清除與回答模塊850不清除語境,但仍要回答使用者的問句。
比較模塊860比較下一回合使用者問句與舊段落之間的符合程度。如果比較模塊860判斷下一回合使用者問句與舊段落相符合,則表示對該當(dāng)前回合用戶問句標(biāo)記為語境結(jié)束是錯誤。根據(jù)比較模塊860的判斷結(jié)果,語境標(biāo)記更正模塊870決定是否將該當(dāng)前回合使用者問句的該語境從語境結(jié)束(DE)更正為語境繼續(xù)(DC)。
語境標(biāo)記模型調(diào)適模塊880調(diào)適語境標(biāo)記模型150。
用戶語境結(jié)束事件偵測模塊890判斷是否偵測到使用者語境結(jié)束事件((1)使用者按下重置(reset)鍵事件;(2)用戶交易事件;(3)瀏覽事件;以及(4)閑置時期超過門坎值))。用戶語境結(jié)束事件偵測模塊890偵測用戶是否主動結(jié)束語境。
如果線上實(shí)時對話語境標(biāo)記模塊840對當(dāng)前回合用戶問句標(biāo)記為語境繼續(xù)(DC)但使用者語境結(jié)束事件偵測模塊890偵測到用戶語境結(jié)束事件,則代表線上實(shí)時對話語境標(biāo)記模塊840將當(dāng)前回合用戶問句標(biāo)記成語境繼續(xù)是錯誤的。語境標(biāo)記更正模塊870將上一回合所標(biāo)記的語境繼續(xù)(DC)更正為語境結(jié)束(DE)。
圖9顯示根據(jù)本發(fā)明一實(shí)施例的網(wǎng)絡(luò)問答方法的流程圖。于步驟905中,接收當(dāng)前回合使用者問句。于步驟910中,根據(jù)語境標(biāo)記模型,線上實(shí)時標(biāo)記該當(dāng)前回合用戶問句的語境為語境繼續(xù)或語境結(jié)束。于步驟915中,根據(jù)該當(dāng)前回合使用者問句的該語境,決定是否清除舊段落的至少一語境。于步驟920中,由該網(wǎng)絡(luò)問答系統(tǒng)回答該當(dāng)前回合用戶問句。于步驟925中,比較下一回合使用者問句與該舊段落之間的符合程度,以判斷所標(biāo)記的該當(dāng)前回合用戶問句的該語境是否正確,是否要更正該當(dāng)前回合使用者問句的該語境,以及判斷是否要將該當(dāng)前回合使用者問句用于調(diào)適該語境標(biāo)記模型。
圖10顯示本發(fā)明另一實(shí)施例的網(wǎng)絡(luò)問答系統(tǒng)的方塊圖。網(wǎng)絡(luò)問答系統(tǒng)1000包括:線上實(shí)時對話語境標(biāo)記模塊1010、語境清除與回答模塊1020、比較模塊1030、語境標(biāo)記更正模塊1040與語境標(biāo)記模型調(diào)適模塊1050。
線上實(shí)時對話語境標(biāo)記模塊1010線上實(shí)時標(biāo)記當(dāng)前回合用戶問句的語境為語境繼續(xù)或語境結(jié)束。
語境清除與回答模塊1020根據(jù)該當(dāng)前回合使用者問句的該語境,決定是否清除舊段落的至少一語境。語境清除與回答模塊1020回答該當(dāng)前回合使用者問句。
比較模塊1030比較下一回合使用者問句與該舊段落之間的符合程度,以判斷所標(biāo)記的該當(dāng)前回合用戶問句的該語境是否正確。
語境標(biāo)記更正模塊1040根據(jù)該比較模塊的判斷結(jié)果以決定是否更正該當(dāng)前回合使用者問句的該語境。
語境標(biāo)記模型調(diào)適模塊1050根據(jù)該比較模塊的判斷結(jié)果以判斷是否將該當(dāng)前回合使用者問句用于調(diào)適該語境標(biāo)記模型。
本發(fā)明一實(shí)施例還提出一種內(nèi)儲程序的計(jì)算機(jī)可讀取記錄媒體,當(dāng)計(jì)算機(jī)加載該程序并執(zhí)行后,可完成如上述實(shí)施例所載的網(wǎng)絡(luò)問答方法。
現(xiàn)有的網(wǎng)絡(luò)問答系統(tǒng)(如Wolfram Alpha)與搜尋網(wǎng)站(如Google)雖可提供單次問答服務(wù),但其問答歷程不保留/考慮歷史對話內(nèi)容。所以,每次使用者在提問時,使用者都必須提供完整的問答信息,對用戶而言相當(dāng)不便。相反地,本發(fā)明實(shí)施例的網(wǎng)絡(luò)問答系統(tǒng)與方法可搜集與分析使用者歷史互動問答行為,即便使用者在提問時沒有提供完整的問答信息,本發(fā)明實(shí)施例的網(wǎng)絡(luò)問答系統(tǒng)與方法仍可準(zhǔn)確地回答使用者提問。故而,本發(fā)明實(shí)施例的網(wǎng)絡(luò)問答系統(tǒng)與方法對用戶而言相當(dāng)友善。
另外,現(xiàn)有的智能代理人服務(wù)(如VoiceBox,Siri)等雖可保留歷史對話記錄以提供智能化的問答模式。然而,這類的智能代理人服務(wù)的回答可能會和使用者問句之間發(fā)生語意沖突,使得回答不夠精準(zhǔn)。相反地,本發(fā)明實(shí)施例的網(wǎng)絡(luò)問答系統(tǒng)與方法除了搜集與分析使用者歷史互動問答行為之外,更可自動偵測語境段落與自動重置使用者的歷史對話狀態(tài)。故而,本發(fā)明實(shí)施例的網(wǎng)絡(luò)問答系統(tǒng)與方法可減少因?qū)υ掃^程不同意圖所造成的語意沖突,提供更智能化的問答體驗(yàn)。
以上所述的具體實(shí)施例,對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。