本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種輸入提示方法及裝置。
背景技術(shù):
目前,輸入自動提示是一種提升文本輸入效率的方式。它根據(jù)用戶當前已輸入的內(nèi)容,生成對用戶即將輸入內(nèi)容的若干個預測,以自動提示的方式展現(xiàn)給用戶,用戶可以從中直接選擇,不必手動打字輸入,從而提高輸入效率。輸入自動提示廣泛應(yīng)用于各種需要手動輸入文字的場景,例如手機輸入法、搜索引擎、客服系統(tǒng)等。
相關(guān)技術(shù)中的輸入自動提示方式一般是將用戶已輸入的文本作為關(guān)鍵字或者前綴,去匹配數(shù)據(jù)庫里已有的條目,將命中的條目作為自動提示。如果有多個可返回的輸入條目時,還可以通過一定的排序方式(例如條目的使用頻次)對輸入條目進行排序,并返回排在前面的若干個。例如,當用戶在搜索引擎中輸入“泰坦尼克號”時,為了使得用戶完成快速輸入,可為用戶提供“泰坦尼克號電影在線觀看”、“泰坦尼克號主題曲”、“泰坦尼克號下載”、“泰坦尼克號女主角”等自動提示,以供用戶選擇完成快速輸入。
然而,上述基于關(guān)鍵字或者前綴匹配的輸入自動提示方式至少存在以下問題:1、當用戶已輸入的內(nèi)容過長時,通過關(guān)鍵字或前綴匹配可能無法找到任何條目,導致該方法無法生成任何自動提示;2、該方式僅是使用用戶當前輸入的內(nèi)容進行匹配,容易上下文信息之間的聯(lián)系,所生成的自動提示可能缺乏相關(guān)性,導致用戶選擇機率偏低,無法滿足有上下文的輸入場景中(如聊天、客服等)中的輸入自動提示;3、該方式的自動提示完全來自于已有的數(shù)據(jù)庫。如果數(shù)據(jù)庫規(guī)模較小,會導致很多情況下無法生成自動提示。
技術(shù)實現(xiàn)要素:
本發(fā)明旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問題之一。
為此,本發(fā)明的一個目的在于提出一種輸入提示方法,該方法結(jié)合上下文信息準確為用戶提供輸入提示信息,滿足了上下文輸入場景中用戶的輸入自動提示需求,方便了用戶根據(jù)輸入提示信息快速完成輸入,減少了用戶的輸入量,提高了用戶的輸入體驗度。
本發(fā)明的第二個目的在于提出一種輸入提示裝置。
為達上述目的,本發(fā)明第一方面實施例提出了一種輸入提示方法,包括:獲取用戶當前輸入的文本信息;獲取當前對話界面中的歷史對話信息;根據(jù)所述歷史對話信息和所述文本信息生成輸入提示信息,并顯示所述輸入提示信息。
根據(jù)本發(fā)明實施例的輸入提示方法,獲取用戶當前輸入的文本信息,并取當前對話界面中的歷史對話信息,以及根據(jù)歷史對話信息和文本信息生成輸入提示信息,并顯示輸入提示信息,由此,結(jié)合上下文信息準確為用戶提供輸入提示信息,滿足了上下文輸入場景中用戶的輸入自動提示需求,方便了用戶根據(jù)輸入提示信息快速完成輸入,減少了用戶的輸入量,提高了用戶的輸入體驗度。
優(yōu)選的,所述根據(jù)所述歷史對話信息和所述文本信息生成輸入提示信息,包括:判斷所述歷史對話信息是否為空,若否,則生成與所述歷史對話信息對應(yīng)的隱向量,否則獲取初始隱向量;對所述文本信息進行分詞處理,以生成所述文本信息的第一分詞結(jié)果;根據(jù)所述第一分詞結(jié)果生成所述文本信息中每個詞的第一詞向量;在所述歷史對話信息不為空時,根據(jù)所述隱向量和所述第一詞向量生成所述輸入提示信息;在所述歷史對話信息為空時,根據(jù)所述初始隱向量和所述第一詞向量生成所述輸入提示信息。
優(yōu)選的,所述生成與所述歷史對話信息對應(yīng)的隱向量,包括:對所述歷史對話信息進行分詞處理,以生成所述歷史對話信息的第二分詞結(jié)果;根據(jù)所述第二分詞結(jié)果生成所述歷史對話信息中每個詞的第二詞向量;根據(jù)所述第二詞向量生成所述歷史對話信息的隱向量。
優(yōu)選的,所述根據(jù)所述第二詞向量生成所述歷史對話信息的隱向量,包括:
基于第一循環(huán)神經(jīng)網(wǎng)絡(luò)模型,根據(jù)所述第二詞向量生成所述歷史對話信息的隱向量。
優(yōu)選的,所述根據(jù)所述第一分詞結(jié)果生成所述文本信息中每個詞的第一詞向量,包括:將所述第一分詞結(jié)果輸入詞嵌入模型中,以通過所述詞嵌入模型生成所述文本信息中每個詞的第一詞向量。
優(yōu)選的,所述根據(jù)所述隱向量和所述第一詞向量生成所述輸入提示信息,包括:基于第二循環(huán)神經(jīng)網(wǎng)絡(luò)模型,根據(jù)所述隱向量和所述第一詞向量生成所述輸入提示信息。
為達上述目的,本發(fā)明第二方面實施例提出了一種輸入提示裝置,包括:第一獲取模塊,用于獲取用戶當前輸入的文本信息;第二獲取模塊,用于獲取當前對話界面中的歷史對話信息;處理模塊,根據(jù)所述歷史對話信息和所述文本信息生成輸入提示信息,并顯示所述輸入提示信息。
根據(jù)本發(fā)明實施例的輸入提示裝置,獲取用戶當前輸入的文本信息,并取當前對話界面中的歷史對話信息,以及根據(jù)歷史對話信息和文本信息生成輸入提示信息,并顯示輸入提示信息,由此,結(jié)合上下文信息準確為用戶提供輸入提示信息,滿足了上下文輸入場景中用戶的輸入自動提示需求,方便了用戶根據(jù)輸入提示信息快速完成輸入,減少了用戶的輸入量,提高了用戶的輸入體驗度。
優(yōu)選的,所述處理模塊,包括:判斷單元,用于判斷所述歷史對話信息是否為空;第一生成單元,用于在判斷所述歷史對話信息不為空時,生成與所述歷史對話信息對應(yīng)的隱向量;獲取單元,用于在判斷所述歷史對話信息為空時,獲取初始隱向量;分詞單元,用于對所述文本信息進行分詞處理,以生成所述文本信息的第一分詞結(jié)果;第二生成單元,用于根據(jù)所述第一分詞結(jié)果生成所述文本信息中每個詞的第一詞向量;第三生成單元,用于在所述歷史對話信息不為空時,根據(jù)所述隱向量和所述第一詞向量生成所述輸入提示信息;第四生成單元,用于在所述歷史對話信息為空時,根據(jù)所述初始隱向量和所述第一詞向量生成所述輸入提示信息。
優(yōu)選的,所述第一生成單元,具體用于:對所述歷史對話信息進行分詞處理,以生成所述歷史對話信息的第二分詞結(jié)果,并根據(jù)所述第二分詞結(jié)果生成所述歷史對話信息中每個詞的第二詞向量,以及根據(jù)所述第二詞向量生成所述歷史對話信息的隱向量。
優(yōu)選的,所述第一生成單元,具體用于:基于第一循環(huán)神經(jīng)網(wǎng)絡(luò)模型,根據(jù)所述第二詞向量生成所述歷史對話信息的隱向量。
優(yōu)選的,所述第二生成單元,具體用于:將所述第一分詞結(jié)果輸入詞嵌入模型中,以通過所述詞嵌入模型生成所述文本信息中每個詞的第一詞向量。
優(yōu)選的,所述第三生成單元,具體用于:基于第二循環(huán)神經(jīng)網(wǎng)絡(luò)模型,根據(jù)所述隱向量和所述第一詞向量生成所述輸入提示信息。
本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
附圖說明
圖1是本發(fā)明一個實施例的輸入提示方法的流程圖;
圖2是本發(fā)明一個實施例的根據(jù)歷史對話信息和文本信息生成輸入提示信息的細化流程圖;
圖3是本發(fā)明一個實施例的輸入提示裝置的結(jié)構(gòu)示意圖;
圖4是本發(fā)明另一個實施例的輸入提示裝置的結(jié)構(gòu)示意圖。
具體實施方式
下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。
下面參考附圖描述本發(fā)明實施例的輸入提示方法以及裝置。
圖1是本發(fā)明一個實施例的輸入提示方法的流程圖。
如圖1所示,該輸入提示方法可以包括以下幾個步驟:
s11,獲取用戶當前輸入的文本信息。
作為一種示例性的實施方式,在多輪對話的場景中,在用戶接收到對方發(fā)送的對話信息后,用戶需要針對該對話信息進行回復,在用戶在當前對話界面中的輸入框中輸入文本信息時,可獲取當前輸入的文本信息。
例如,在多輪對話場景中,用戶接收到顧客發(fā)過來的信息為“我要訂機票”,此時,用戶需要通過打字輸入的方式進行回復,以確定顧客的具體需求,假設(shè)用戶當前輸入的文本信息為“請問”,此時,所獲取的用戶當前輸入的文本信息即為“請問”。
s12,獲取當前對話界面中的歷史對話信息。
s13,根據(jù)歷史對話信息和文本信息生成輸入提示信息,并顯示輸入提示信息。
在本發(fā)明的一個實施例中,在獲取當前對話界面中的歷史對話信息后,可判斷歷史對話信息是否為空,若歷史對話信息為空,即,不存在歷史對話信息,此時,可獲取初始隱向量,然后,根據(jù)對文本信息進行分詞處理,以生成文本信息的第一分詞結(jié)果,之后,根據(jù)第一分詞結(jié)果生成文本信息中每個詞的第一詞向量,以及根據(jù)初始隱向量和第一詞向量生成輸入提示信息。
在本發(fā)明的一個實施例中,根據(jù)初始隱向量和第一詞向量生成輸入提示信息可以包括將初始隱向量和第一詞向量輸入至第二循環(huán)神經(jīng)網(wǎng)絡(luò)模型,以通過第二循環(huán)神經(jīng)網(wǎng)絡(luò)模型生成輸入提示信息。
其中,初始隱向量為全零向量。
若歷史對話信息不為空,則生成與歷史對話信息對應(yīng)的隱向量,然后,根據(jù)對文本信息進行分詞處理,以生成文本信息的第一分詞結(jié)果,之后,根據(jù)第一分詞結(jié)果生成文本信息中每個詞的第一詞向量,以及根據(jù)隱向量和第一詞向量生成輸入提示信息。
其中,在歷史對話信息不為空時,歷史對話信息可以為一條或者多條。
其中,需要說明的是,歷史對話信息可以是用戶輸入的對話,還可以是接收到聊天對方的對話。
其中,需要說明的是,初始隱向量和歷史對話信息對應(yīng)的隱向量的維度是相同的。
綜上,可以看出,該實施例在歷史對話信息不為空時,根據(jù)隱向量和第一詞向量生成輸入提示信息;在歷史對話信息不為空時,根據(jù)隱向量和第一詞向量生成輸入提示信息。
在本發(fā)明的一個實施例中,在歷史對話信息不為空時,根據(jù)歷史對話信息和文本信息生成輸入提示信息的過程,如圖2所示,可以包括:
s231,生成與歷史對話信息對應(yīng)的隱向量。
在本發(fā)明的一個實施例中,為了可以生成輸入提示信息,在獲取歷史對話信息后,可對歷史對話信息進行分詞處理,以生成歷史對話信息中每個詞的第二分詞結(jié)果,然后,根據(jù)第二分詞結(jié)果生成歷史對話信息中每個詞的第二詞向量,以及根據(jù)第二詞向量生成歷史對話信息的隱向量。
作為一種示例性的實施方式,可通過分詞器對歷史對話信息進行分詞處理。
在本發(fā)明的一個實施例中,在得到歷史對話信息的第二分詞結(jié)果后,可將第二分詞結(jié)果輸入詞嵌入模型中,以通過詞嵌入模型生成歷史對話信息中每個詞的詞向量。
舉例而言,假設(shè)獲取的歷史對話信息為“我要訂機票”,且詞向量為二維向量,在將該歷史對話信息輸入分詞器,得到的分詞結(jié)果為“我要”、“訂”、“機票”,可將該分詞結(jié)果輸入至詞嵌入模型中,詞嵌入模型將輸出“我要”的詞向量(0.1,0.9)、“訂”的詞向量(0.8,0.7)和“機票”的詞向量(0.6,0.2)。
在本發(fā)明的一個實施例中,在獲取歷史對話信息中每個詞的詞向量后,可基于第一循環(huán)神經(jīng)網(wǎng)絡(luò)模型,根據(jù)第二詞向量生成歷史對話信息的隱向量。
其中,隱向量的維度是固定的。其中,需要理解的是,通常在不同的上下文場景下,輸入文本的長度是不固定的,因此,為了可以對不同長度的上下文信息進行處理,可以通過第一神經(jīng)網(wǎng)絡(luò)模型將詞向量轉(zhuǎn)換為固定長度的隱向量。
也就是說,可以通過第一神經(jīng)網(wǎng)絡(luò)模型將不同長度的詞向量轉(zhuǎn)換為相同長度的隱向量。
其中,需要理解的是,第一神經(jīng)網(wǎng)絡(luò)模型是預先訓練的,第一神經(jīng)網(wǎng)絡(luò)模型用于編碼器中。
具體地,在獲得歷史對話信息中每個詞的第二詞向量后,可將第二詞向量依次輸入至第一循環(huán)神經(jīng)網(wǎng)絡(luò)模型,以通過第一循環(huán)神經(jīng)網(wǎng)絡(luò)模型獲得歷史對話信息的隱向量。
s232,對文本信息進行分詞處理,以生成文本信息的第一分詞結(jié)果。
作為一種示例性的實施方式,可通過分詞器對當前輸入的文本信息進行分詞處理,以獲得該文本信息的第一分詞結(jié)果。
s233,根據(jù)第一分詞結(jié)果生成文本信息中每個詞的第一詞向量。
在本發(fā)明的一個實施例中,在獲得當前輸入的文本信息的分詞結(jié)果后,可將第一分詞結(jié)果輸入詞嵌入模型中,以通過詞嵌入模型生成文本信息中每個詞的第一詞向量。
舉例而言,假設(shè)用戶當前輸入的文本信息為“請問”,可將“請問”輸入至分詞器中,得到分詞結(jié)果“請問”,然后將分詞結(jié)果“請問”輸入至詞嵌入模型,得到每個詞對應(yīng)的詞向量(0.2,0.4)。
s234,根據(jù)隱向量和第一詞向量生成輸入提示信息。
其中,輸入提示信息均是以當前輸入的文本信息為前綴的語句。
其中,需要理解的是,輸入提示信息可以為一個或者多個。
在本發(fā)明的一個實施例中,為了避免依賴于特定的數(shù)據(jù)庫有時會出現(xiàn)無法自動提示情況的發(fā)生,可基于第二循環(huán)神經(jīng)網(wǎng)絡(luò)模型,根據(jù)隱向量和第一詞向量生成輸入提示信息。
其中,第二循環(huán)神經(jīng)網(wǎng)絡(luò)模型是預先訓練得到的,第二循環(huán)神經(jīng)網(wǎng)絡(luò)模型用于解碼器中。
具體地,在獲取歷史對話信息中每個詞的隱向量,以及當前輸入的文本信息中每個詞的第一詞向量后,可將歷史對話信息中每個詞的隱向量作為第二神經(jīng)網(wǎng)絡(luò)模型的隱向量的初始值,并將詞向量依次輸入至第二神經(jīng)網(wǎng)絡(luò)模型中,以通過第二神經(jīng)網(wǎng)絡(luò)模型中獲取與當前輸入的文本信息對應(yīng)的輸入提示信息。
具體而言,通過第二神經(jīng)網(wǎng)絡(luò)模型可計算出在歷史對話信息中每個詞的隱向量和當前輸入的文本信息中每個詞的第一詞向量條件下,對應(yīng)的候選語句對應(yīng)的條件概率,并基于條件概率對對應(yīng)的候選語句進行排序,并將條件概率最大的候選語句作為輸入提示信息,或者,將條件概率排序在前幾名的候選語句作為輸入提示信息。
作為一種示例性的實施方式,假設(shè)用戶已經(jīng)輸入了k個詞,用w1,w2,…,wk來表示。以這k個詞為前綴,生成長度為n(n>k)個詞的自動提示,那么解碼器需要生成從k+1開始的剩下n-k個詞,用wk+1,wk+2,…,wn來表示。假設(shè)隱向量v表示歷史對話信息對應(yīng)的隱向量,在隱向量v和已輸入文本w1,w2,…,wk的條件下,生成wk+1,wk+2,…,wn的概率,如下所示:
p(wk+1,wk+2,…,wn|v,w1,w2,…,wk)
最后,將解碼器返回的條件概率值最高的若干個條目作為自動提示返回給用戶選擇。
舉例而言,在對話場景中,假設(shè)獲取的歷史對話信息為“我要訂機票”,用戶當前輸入的文本信息為“請問”,可為用戶提供的輸入提示信息為“請問您要從哪里飛哪里?”、“請問您想面哪天的機票?”、“請問乘機人是誰?”,以方便用戶根據(jù)輸入提示信息快速完成輸入,減少用戶的輸入量,提高用戶體驗度,由此,可以看出,該實施例生成的輸入提示信息均是上下文相關(guān)的,即,輸入提示信息均是與買飛機票相關(guān)的問題。
綜上可以看出,該實施的輸入提示方法通過當前對話界面中的歷史對話信息和當前輸入的文本信息生成對應(yīng)的輸入提示信息,并將所生成的輸入提示信息提供給用戶,由此,結(jié)合上下文信息準確為用戶提供輸入提示信息,滿足了上下文輸入場景中用戶的輸入自動提示需求,方便了用戶根據(jù)輸入提示信息快速完成輸入,減少了用戶的輸入量,提高了用戶的輸入體驗度。
其中,需要說明的是,該實施例的輸入提示方法基于歷史對話信息和當前輸入的文本信息生成輸入提示信息,也就是說,該實施例在生成輸入提示信息時,同時考慮上下文信息之間的相關(guān)性,因此,該實施例的方法適用于聊天、對話等上下文多輪對話的場景中。
根據(jù)本發(fā)明實施例的輸入提示方法,獲取用戶當前輸入的文本信息,并取當前對話界面中的歷史對話信息,以及根據(jù)歷史對話信息和文本信息生成輸入提示信息,并顯示輸入提示信息,由此,結(jié)合上下文信息準確為用戶提供輸入提示信息,滿足了上下文輸入場景中用戶的輸入自動提示需求,方便了用戶根據(jù)輸入提示信息快速完成輸入,減少了用戶的輸入量,提高了用戶的輸入體驗度。
在本發(fā)明的一個實施例中,在多輪對話場景中,在確定當前界面中的歷史對話信息不為空,且用戶當前輸入的文本信息為空時,也就是說,在當前界面中存在一條或者多條歷史對話,而用戶還沒有輸入文本時,可根據(jù)歷史對話信息生成輸入提示。
具體地,在確定當前界面中的歷史對話信息不為空,且用戶當前輸入的文本信息為空時,可對歷史對話信息進行分詞處理,以生成歷史對話信息的第二分詞結(jié)果;根據(jù)第二分詞結(jié)果生成歷史對話信息中每個詞的第二詞向量;根據(jù)第二詞向量生成歷史對話信息的隱向量。
由于生成輸入提示信息的第二循環(huán)神經(jīng)網(wǎng)絡(luò)模型必須包含兩個輸入?yún)?shù),即,隱向量或者一個或者多個當前輸入文本對應(yīng)的詞向量。為此,在本發(fā)明的一個實施例中可定義兩個標識,第一標識例如<start>和第二標識<end>分別表示一句文本的開始和結(jié)束。
其中,第一標識例如<start>用于控制輸入,任何已輸入文本的第一個詞都是第一標識例如<start>。
其中,任何已輸入文本的最后一個詞都是第二標識例如<end>。
該實施例通過第一標識和第二標識對輸入文本的開始和結(jié)束進行標識,由此,使得即便沒有已輸入的文本,模型依然可以正常工作。
其中,需要理解的是,向第二循環(huán)神經(jīng)網(wǎng)絡(luò)模型輸入的第一個詞向量為第一標識對應(yīng)的詞向量,輸入的最后一個詞向量的為第二標識對應(yīng)的詞向量。
其中,第一標識和第二標識對應(yīng)的詞向量是通過詞嵌入模型預先生成的。
舉例而言,假設(shè)第一標識為<start>,第二標識為<end>,且獲取的歷史對話信息為“我要訂機票”,且詞向量為二維向量,在將該歷史對話信息輸入分詞器,得到的分詞結(jié)果為“我要”、“訂”、“機票”,在通過詞嵌入模型分別獲取“我要”、“訂”、“機票”對應(yīng)的詞向量,并且,以及獲取“我要訂機票”的隱向量后,將“我要訂機票”的隱向量作為第二循環(huán)神經(jīng)網(wǎng)絡(luò)模型的隱向量的初始值,并將詞向量依次輸入至第二循環(huán)神經(jīng)網(wǎng)絡(luò)模型。其中,需要理解的是,在向第二循環(huán)神經(jīng)網(wǎng)絡(luò)模型輸入的第一詞向量為<start>對應(yīng)的詞向量,最后一個詞向量為<end>對應(yīng)的詞向量。
為了實現(xiàn)上述實施例,本發(fā)明還提出了一種輸入提示裝置。
圖3是本發(fā)明一個實施例的輸入提示裝置的結(jié)構(gòu)示意圖。
如圖3所示,該輸入提示裝置包括第一獲取模塊110、第二獲取模塊120和處理模塊130,其中:
第一獲取模塊110用于獲取用戶當前輸入的文本信息。
第二獲取模塊120用于獲取當前對話界面中的歷史對話信息。
其中,歷史對話信息可以為一條或者多條。
其中,需要說明的是,歷史對話信息可以是用戶輸入的對話,還可以是接收到聊天對方的對話。
處理模塊130根據(jù)歷史對話信息和文本信息生成輸入提示信息,并顯示輸入提示信息。
其中,輸入提示信息均是以當前輸入的文本信息為前綴的語句。
其中,需要理解的是,輸入提示信息可以為一個或者多個。
在本發(fā)明的一個實施中,在圖3所示的基礎(chǔ)上,如圖4所示,該處理模塊130可以包括判斷單元131、第一生成單元132、獲取單元133、分詞單元134、第二生成單元135、第三生成單元136和第四生成單元137,其中:
判斷單元131用于判斷歷史對話信息是否為空。
第一生成單元132用于在判斷歷史對話信息不為空時,生成與歷史對話信息對應(yīng)的隱向量。
獲取單元133用于在判斷歷史對話信息為空時,獲取初始隱向量。
其中,初始隱向量為全零向量。
分詞單元134用于對文本信息進行分詞處理,以生成文本信息的第一分詞結(jié)果。
第二生成單元135用于根據(jù)第一分詞結(jié)果生成文本信息中每個詞的第一詞向量。
第三生成單元136用于根據(jù)隱向量和第一詞向量生成輸入提示信息。
第四生成單元137用于在歷史對話信息為空時,根據(jù)初始隱向量和第一詞向量生成輸入提示信息。在本發(fā)明的一個實施例中,第一生成單元132具體用于:對歷史對話信息進行分詞處理,以生成歷史對話信息的第二分詞結(jié)果,并根據(jù)第二分詞結(jié)果生成歷史對話信息中每個詞的第二詞向量,以及根據(jù)第二詞向量生成歷史對話信息的隱向量。
在本發(fā)明的一個實施例中,第一生成單元132具體用于:基于第一循環(huán)神經(jīng)網(wǎng)絡(luò)模型,根據(jù)第二詞向量生成歷史對話信息的隱向量。
在本發(fā)明的一個實施例中,第二生成單元135具體用于:將第一分詞結(jié)果輸入詞嵌入模型中,以通過詞嵌入模型生成文本信息中每個詞的第一詞向量。
在本發(fā)明的一個實施例中,第三生成單元136具體用于:基于第二循環(huán)神經(jīng)網(wǎng)絡(luò)模型,根據(jù)隱向量和第一詞向量生成輸入提示信息。
其中,第二循環(huán)神經(jīng)網(wǎng)絡(luò)模型是預先訓練得到的,第二循環(huán)神經(jīng)網(wǎng)絡(luò)模型用于解碼器中。
具體地,第三生成單元136通過第二神經(jīng)網(wǎng)絡(luò)模型可計算出在歷史對話信息中每個詞的隱向量和當前輸入的文本信息中每個詞的第一詞向量條件下,對應(yīng)的候選語句對應(yīng)的條件概率,并基于條件概率對對應(yīng)的候選語句進行排序,并將條件概率最大的候選語句作為輸入提示信息,或者,將條件概率排序在前幾名的候選語句作為輸入提示信息。
在本發(fā)明的一個實施例中,第四生成模塊137具體用于:基于第二循環(huán)神經(jīng)網(wǎng)絡(luò)模型,根據(jù)初始隱向量和第一詞向量生成輸入提示信息。
其中,需要說明的是,前述對輸入提示方法實施例的解釋說明也適用于該實施例的輸入提示裝置,其實現(xiàn)原理類似,此處不再贅述。
根據(jù)本發(fā)明實施例的輸入提示裝置,獲取用戶當前輸入的文本信息,并取當前對話界面中的歷史對話信息,以及根據(jù)歷史對話信息和文本信息生成輸入提示信息,并顯示輸入提示信息,由此,結(jié)合上下文信息準確為用戶提供輸入提示信息,滿足了上下文輸入場景中用戶的輸入自動提示需求,方便了用戶根據(jù)輸入提示信息快速完成輸入,減少了用戶的輸入量,提高了用戶的輸入體驗度。
在本發(fā)明的一個實施例中,在多輪對話場景中,在確定當前界面中的歷史對話信息不為空,且用戶當前輸入的文本信息為空時,也就是說,在當前界面中存在一條或者多條歷史對話,而用戶還沒有輸入文本時,處理模塊130可根據(jù)歷史對話信息生成輸入提示。
具體地,在確定當前界面中的歷史對話信息不為空,且用戶當前輸入的文本信息為空時,可通過處理模塊130對歷史對話信息進行分詞處理,以生成歷史對話信息的第二分詞結(jié)果,之后,根據(jù)第二分詞結(jié)果生成歷史對話信息中每個詞的第二詞向量,以及根據(jù)第二詞向量生成歷史對話信息的隱向量。
由于生成輸入提示信息的第二循環(huán)神經(jīng)網(wǎng)絡(luò)模型必須包含兩個輸入?yún)?shù),即,隱向量或者一個或者多個當前輸入文本對應(yīng)的詞向量。為此,在本發(fā)明的一個實施例中可定義兩個標識,第一標識例如<start>和第二標識<end>分別表示一句文本的開始和結(jié)束。
其中,第一標識例如<start>用于控制輸入,任何已輸入文本的第一個詞都是第一標識例如<start>。
其中,任何已輸入文本的最后一個詞都是第二標識例如<end>。
該實施例通過第一標識和第二標識對輸入文本的開始和結(jié)束進行標識,由此,使得即便沒有已輸入的文本,模型依然可以正常工作。
其中,需要理解的是,向第二循環(huán)神經(jīng)網(wǎng)絡(luò)模型輸入的第一個詞向量為第一標識對應(yīng)的詞向量,輸入的最后一個詞向量的為第二標識對應(yīng)的詞向量。
其中,第一標識和第二標識對應(yīng)的詞向量是通過詞嵌入模型預先生成的。
舉例而言,假設(shè)第一標識為<start>,第二標識為<end>,且獲取的歷史對話信息為“我要訂機票”,且詞向量為二維向量,在將該歷史對話信息輸入分詞器,得到的分詞結(jié)果為“我要”、“訂”、“機票”,在通過詞嵌入模型分別獲取“我要”、“訂”、“機票”對應(yīng)的詞向量,并且,以及獲取“我要訂機票”的隱向量后,將“我要訂機票”的隱向量作為第二循環(huán)神經(jīng)網(wǎng)絡(luò)模型的隱向量的初始值,并將詞向量依次輸入至第二循環(huán)神經(jīng)網(wǎng)絡(luò)模型。其中,需要理解的是,在向第二循環(huán)神經(jīng)網(wǎng)絡(luò)模型輸入的第一詞向量為<start>對應(yīng)的詞向量,最后一個詞向量為<end>對應(yīng)的詞向量。
關(guān)于上述實施例中的裝置,其中各個模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實施例中進行了詳細描述,此處將不做詳細闡述說明。
對于裝置實施例而言,由于其基本對應(yīng)于方法實施例,所以相關(guān)之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本公開方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
在本說明書的描述中,參考術(shù)語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不必須針對的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任一個或多個實施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說明書中描述的不同實施例或示例以及不同實施例或示例的特征進行結(jié)合和組合。
此外,術(shù)語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對重要性或者隱含指明所指示的技術(shù)特征的數(shù)量。由此,限定有“第一”、“第二”的特征可以明示或者隱含地包括至少一個該特征。在本發(fā)明的描述中,“多個”的含義是至少兩個,例如兩個,三個等,除非另有明確具體的限定。
流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用于實現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實施方式的范圍包括另外的實現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本發(fā)明的實施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。
在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認為是用于實現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實現(xiàn)在任何計算機可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計算機的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用。就本說明書而言,"計算機可讀介質(zhì)"可以是任何可以包含、存儲、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用的裝置。計算機可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個或多個布線的電連接部(電子裝置),便攜式計算機盤盒(磁裝置),隨機存取存儲器(ram),只讀存儲器(rom),可擦除可編輯只讀存儲器(eprom或閃速存儲器),光纖裝置,以及便攜式光盤只讀存儲器(cdrom)。另外,計算機可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因為可以例如通過對紙或其他介質(zhì)進行光學掃描,接著進行編輯、解譯或必要時以其他合適方式進行處理來以電子方式獲得所述程序,然后將其存儲在計算機存儲器中。
應(yīng)當理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實現(xiàn)。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實現(xiàn)。例如,如果用硬件來實現(xiàn),和在另一實施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項或他們的組合來實現(xiàn):具有用于對數(shù)據(jù)信號實現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(pga),現(xiàn)場可編程門陣列(fpga)等。
本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實現(xiàn)上述實施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,該程序在執(zhí)行時,包括方法實施例的步驟之一或其組合。
此外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質(zhì)中。
上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。盡管上面已經(jīng)示出和描述了本發(fā)明的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對上述實施例進行變化、修改、替換和變型。