專(zhuān)利名稱(chēng):輸入法中候選內(nèi)容的生成方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及輸入法技術(shù)領(lǐng)域,特別涉及輸入法中候選內(nèi)容的生成方法及裝置。
背景技術(shù):
目前,電腦使用者要將漢字或其他非英文文字輸入到電腦中,都需要使 用輸入法軟件,輸入法軟件可以把從鍵盤(pán)等輸入設(shè)備中輸入的編碼轉(zhuǎn)換成漢 字或其他文字。對(duì)于中文的拼音輸入法來(lái)說(shuō),由于同音字很多,在輸入單字 或單詞的拼音后,輸入法軟件需要生成多個(gè)候選的字詞供用戶(hù)選擇,用戶(hù)選 擇正確的單字或單詞上屏后,繼續(xù)輸入下一個(gè)單字或單詞。
對(duì)于單詞和單字的候選內(nèi)容生成較為簡(jiǎn)單, 一般是根據(jù)詞頻的大小,按
順序排列出來(lái),詞頻最大的單詞或單字排在第一位,之后按照詞頻從大到小 的順序依次排列。
但是在用戶(hù)輸入想要輸入的 一 句話(huà)中,不 一定使用的都是詞頻最大的字 或詞,為了更準(zhǔn)確地輸入用戶(hù)需要的句子,現(xiàn)有輸入法大都實(shí)現(xiàn)了整句生成, 即允許用戶(hù) 一次性輸入包含多個(gè)單字或單詞的拼音串,并對(duì)該拼音串進(jìn)行音 節(jié)劃分,劃分成多個(gè)單字或單詞,然后使用最大概率算法進(jìn)行整句預(yù)測(cè),生 成候選內(nèi)容,其中包括一個(gè)候選整句和按照詞頻大小排列的其它候選單詞或
單字,在整選句生成時(shí),生成候選內(nèi)容的基本原理如下
在用戶(hù)輸入的 一 串拼音串中包含多個(gè)字詞,存在著多種字詞的組合方 案,整句預(yù)測(cè)就是首先找出這個(gè)拼音串中出現(xiàn)的所有候選字詞,然后在這些 候選字詞的組合中找到 一個(gè)出現(xiàn)概率最大的組合方案作為最后的候選句生
成結(jié)果。
5例如我們輸入"womendoushipingfanren,,這樣一個(gè)拼音串。經(jīng)過(guò)音節(jié)劃 分后的音節(jié)序列為"wo,men,dou,shi,ping,fan,ren",根據(jù)這個(gè)音節(jié)序列查詢(xún) 內(nèi)部的拼音詞庫(kù),可以得到如圖1所示的拼音切分詞示意圖。圖1中,每一 條弧線(xiàn)代表一個(gè)劃分出來(lái)的字或詞,并對(duì)應(yīng)一個(gè)或多個(gè)候選字或詞,這些弧 線(xiàn)包含了所有可能的字詞劃分情況,每個(gè)弧線(xiàn)對(duì)應(yīng)的候選字或詞從上到下按 照詞頻從高到低排序,而且每一條弧線(xiàn)都帶有詞頻信息,該詞頻信息是指拼 音串所對(duì)應(yīng)的所有候選字或詞中詞頻最大的那個(gè)字或詞的詞頻。在目前的輸 入法中, 一般只給用戶(hù)提供一個(gè)候選句,即只有詞頻最高的詞才有效,也就 是說(shuō)詞頻排在第二位以后的詞不會(huì)在最后的候選句結(jié)果中出現(xiàn),因此最終得 到的候選句是從如圖2所示的簡(jiǎn)化拼音切分詞示意圖中選擇得到的。
如圖2所示,候選句將從詞頻最大的字或詞中組合得到,接下來(lái)利用兩 點(diǎn)間最短路徑算法,如Dijkstra算法、Viterbi算法等,求出概率最大的字詞 組合方案,作為最后的整句預(yù)測(cè)結(jié)果,生成"我們都是平凡人,,的候選句。 一般來(lái)說(shuō),整句生成時(shí)由于考慮了各種字詞之間的二元共現(xiàn)關(guān)系,即兩個(gè)字 詞之間是否共同出現(xiàn)過(guò),以及共同出現(xiàn)的概率,其生成的候選句的正確率比 采用單詞或單字輸入時(shí),生成的第一候選字詞的正確率更高。
相比單詞或單字的輸入,整句輸入可以有效減少用戶(hù)選擇候選字詞的次 數(shù),提高輸入速度和輸入體驗(yàn),但是一般用戶(hù)都不習(xí)慣連續(xù)輸入很長(zhǎng)的一串 拼音串,而更習(xí)慣以單字或單詞為單位進(jìn)行輸入,在輸入一個(gè)單詞或單字并 確認(rèn)上屏后再輸入下一個(gè)單字或單詞。而現(xiàn)有輸入法中,用戶(hù)每一次輸入的 單詞或單字生成候選字詞的過(guò)程是獨(dú)立的,每次生成候選字詞的操作之間沒(méi) 有相互關(guān)系,而上下文聯(lián)想及整句生成的功能只在單字或單詞沒(méi)有確認(rèn)上屏 之前有效,而在單字或單詞上屏后,輸入法無(wú)法判斷已經(jīng)被用戶(hù)輸入上屏的 內(nèi)容和用戶(hù)后續(xù)輸入的內(nèi)容之間的關(guān)聯(lián),上下文聯(lián)想及整句生成的功能并不 起作用,只能簡(jiǎn)單地根據(jù)詞頻生成候選字詞,例如用戶(hù)想輸入"這間臥室很 大,,這句話(huà),用戶(hù)的輸入習(xí)慣將該句分兩次進(jìn)行輸入,第一次輸入"zhejian", 輸入法判斷這是一個(gè)單詞輸入,按詞頻大小生成的第一候選內(nèi)容是"這間",用戶(hù)選擇"這間"上屏后繼續(xù)輸入"woshihenda",輸入法將根據(jù)現(xiàn)有整句 生成的方法生成候選句"我是很大",但"我是很大"并不是用戶(hù)想要的, 此時(shí)用戶(hù)需要手動(dòng)選擇排列在后面的其他候選內(nèi)容"臥室"和"很大"才能 得到"臥室很大"。而如果一次輸入"zhejianwoshihenda"整句拼音,則根 據(jù)基于最大概率的整句預(yù)測(cè)生成的第一候選句就是"這間臥室很大",顯然, 將整句拼音分成多次輸入時(shí),候選內(nèi)容生成的準(zhǔn)確率不高,無(wú)法達(dá)到與整句 生成相同的效果,用戶(hù)需要更多的選擇操作來(lái)得到正確的句子,降低了用戶(hù) 的輸入速度和輸入體驗(yàn),使整句生成功能形同虛設(shè)。
但在現(xiàn)實(shí)應(yīng)用中,用戶(hù)改變輸入習(xí)慣基本是不可能的,所以在現(xiàn)有的戶(hù) 輸入習(xí)慣下,即這種按單字或單詞為單位輸入拼音的習(xí)慣下,現(xiàn)有的輸入法 無(wú)法實(shí)現(xiàn)整句生成的效果,生成的候選內(nèi)容準(zhǔn)確率較低。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種輸入法中候選內(nèi)容的生成方法,可在現(xiàn)有用戶(hù)輸
入習(xí)慣下,提高候選內(nèi)容的準(zhǔn)確率。
本發(fā)明實(shí)施例提供一種輸入法中候選內(nèi)容的生成裝置,可在現(xiàn)有用戶(hù)輸
入習(xí)慣下,提高候選內(nèi)容的準(zhǔn)確率。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案具體是這樣實(shí)現(xiàn)的
一種輸入法中候選內(nèi)容的生成方法,該方法包括
緩存用戶(hù)上N次輸入上屏的內(nèi)容,N為大于等于l的整數(shù);
結(jié)合用戶(hù)本次輸入的內(nèi)容與所述緩存的內(nèi)容,生成候選內(nèi)容。
一種輸入法中候選內(nèi)容的生成裝置,該裝置包括
內(nèi)容接收模塊,用于接收用戶(hù)輸入的內(nèi)容及用戶(hù)輸入上屏的內(nèi)容;
緩存模塊,與所述內(nèi)容接收模塊相連,用于緩存所述內(nèi)容接收模塊接收
到的用戶(hù)上N次輸入上屏的內(nèi)容,N為大于等于1的整數(shù);
候選內(nèi)容生成模塊,與所述內(nèi)容接收模塊及所述緩存模塊連接,用于結(jié)
合內(nèi)容接收模塊接收到的用戶(hù)本次輸入的內(nèi)容與緩存模塊緩存的內(nèi)容,生成候選內(nèi)容。
由上述的技術(shù)方案可見(jiàn),本發(fā)明的這種輸入法中候選內(nèi)容的生成方法和 裝置,通過(guò)對(duì)用戶(hù)已經(jīng)輸入上屏的內(nèi)容進(jìn)行緩存,并將用戶(hù)已經(jīng)輸入上屏的 內(nèi)容作為用戶(hù)后續(xù)輸入時(shí),生成候選內(nèi)容的參考和限制條件,達(dá)到類(lèi)似整句 生成的效果,從而提高了候選內(nèi)容的準(zhǔn)確率。
圖1為拼音切分詞示意圖2為簡(jiǎn)化拼音切分詞示意圖3為本發(fā)明實(shí)施例的候選內(nèi)容生成方法總體流程圖; 圖4為本發(fā)明實(shí)施例一的候選內(nèi)容生成方法具體流程圖; 圖5為本發(fā)明實(shí)施例二的候選內(nèi)容生成方法具體流程圖; 圖6為本發(fā)明實(shí)施例的候選內(nèi)容生成裝置結(jié)構(gòu)示意圖; 圖7為本發(fā)明實(shí)施例一的緩存模塊具體結(jié)構(gòu)示意圖; 圖8為本發(fā)明實(shí)施例二的緩存模塊具體結(jié)構(gòu)示意圖; 圖9為本發(fā)明實(shí)施例的候選內(nèi)容生成模塊具體結(jié)構(gòu)示意圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉 實(shí)施例,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。
本發(fā)明主要是對(duì)用戶(hù)使用輸入法已經(jīng)輸入上屏的內(nèi)容進(jìn)行緩存,作為后 續(xù)用戶(hù)輸入內(nèi)容時(shí),產(chǎn)生候選內(nèi)容的參考,結(jié)合用戶(hù)已經(jīng)輸入上屏的內(nèi)容與 用戶(hù)后續(xù)輸入的內(nèi)容生成候選內(nèi)容,從而在現(xiàn)有用戶(hù)按單字或單詞為單位進(jìn) 行輸入的習(xí)慣下,使生成的候選內(nèi)容達(dá)到整句生成的效果。
圖3為本發(fā)明實(shí)施例的候選內(nèi)容生成方法總體流程圖,如圖3所示,該 流程包括如下步驟
步驟301,緩存用戶(hù)上N次輸入上屏的內(nèi)容。N可以是大于等于1的自然數(shù),用戶(hù)輸入上屏的內(nèi)容可以是一個(gè)單字或 一個(gè)單詞或者一個(gè)整句,整句由多個(gè)單字和/或單詞組成,如果用戶(hù)輸入上 屏的是單字或單詞,則可以把這個(gè)單字或單詞以及對(duì)應(yīng)的拼音串記錄下來(lái)放 入緩沖區(qū)緩存,如果用戶(hù)輸入上屏的內(nèi)容是通過(guò)整句生成出來(lái)的整句,那么 在緩存時(shí)只緩存組成這個(gè)整句的最后一個(gè)字或詞。
例如用戶(hù)上一次輸入的是"我是中國(guó)人",這是一個(gè)整句,組成這個(gè)整 句的最后一個(gè)字或詞,根據(jù)對(duì)詞庫(kù)查詢(xún),可以是"人"、"國(guó)人,,和"中國(guó) 人,,,緩存時(shí)可以取任意一個(gè)單詞保存,也可以保存其中最長(zhǎng)的"中國(guó)人,,, 保存最長(zhǎng)的詞可以提高后續(xù)進(jìn)行整句預(yù)測(cè)時(shí)的準(zhǔn)確性。
步驟302,結(jié)合用戶(hù)本次輸入的內(nèi)容與所述緩存的內(nèi)容,生成候選內(nèi)容。
這里結(jié)合用戶(hù)本次輸入內(nèi)容與所述緩存的內(nèi)容,生成候選內(nèi)容,是指在 用戶(hù)進(jìn)行輸入時(shí),將本次輸入的內(nèi)容和緩存的內(nèi)容連接起來(lái),根據(jù)連接起來(lái) 的整體內(nèi)容,生成候選內(nèi)容,而不是單獨(dú)根據(jù)用戶(hù)本次輸入的內(nèi)容來(lái)生成候 選內(nèi)容。具體生成候選內(nèi)容時(shí),可以沿用現(xiàn)有的生成候選內(nèi)容的方法。
在用戶(hù)輸入拼音串時(shí),把緩存區(qū)保存的拼音串和用戶(hù)本次輸入的拼音串 連接在一起,可以先將連接后的整體拼音串作為一個(gè)單詞,生成候選內(nèi)容, 如果沒(méi)有與所述整體拼音串完全匹配的候選內(nèi)容,則再將所述整體拼音串作 為一個(gè)整句,以緩存內(nèi)容作為限制條件進(jìn)行整句預(yù)測(cè),生成候選內(nèi)容。另外, 也可以先作為整句生成候選內(nèi)容,再作為單詞生成候選內(nèi)容。
以緩存內(nèi)容作為限制條件進(jìn)行整句預(yù)測(cè),生成候選內(nèi)容的具體方法可以 是利用最短路徑算法對(duì)所述連接后的整體拼音串進(jìn)行整句預(yù)測(cè),同時(shí)以緩存 的內(nèi)容作為預(yù)測(cè)的限制條件,生成整句預(yù)測(cè)結(jié)果,如果有完全匹配的整句, 則將預(yù)測(cè)結(jié)果中,對(duì)應(yīng)于用戶(hù)本次輸入的拼音串的候選內(nèi)容排列在候選內(nèi)容 的第一位。當(dāng)然,如果沒(méi)有找到與結(jié)合用戶(hù)本次輸入的內(nèi)容和緩存內(nèi)容的整 體拼音串完全匹配的候選內(nèi)容,則可以不再考慮緩存內(nèi)容,采用現(xiàn)有方法, 僅針對(duì)用戶(hù)本次輸入的拼音串進(jìn)行候選內(nèi)容生成。
例如用戶(hù)想輸入"劉德華",先輸入"劉"并上屏后,"劉"及其拼音"liu"被放入緩沖區(qū),隨后用戶(hù)輸入拼音串"dehua",此時(shí)將用戶(hù)上次輸 入的拼音與本次輸入的拼音結(jié)合起來(lái),即根據(jù)"liudehua"這個(gè)整體的拼音 串進(jìn)行候選內(nèi)容生成。首先將"liudehua"按照一個(gè)單詞來(lái)生成候選內(nèi)容, 但是由于沒(méi)有"劉德華,,這個(gè)單詞,因此再將"liudehua"作為整句,進(jìn)行 整句預(yù)測(cè),此時(shí)根據(jù)整句預(yù)測(cè)生成的候選詞中,由于"劉"與"德華"存在 二元共現(xiàn)關(guān)系,即有"劉德華"這個(gè)完全匹配的整句,因此本次用戶(hù)輸入的 拼音所對(duì)應(yīng)的部分"德華"將排在候選內(nèi)容的第一位,而按照現(xiàn)有詞頻大小 來(lái)生成候選內(nèi)容,則不會(huì)考慮"劉,,和"dehua"的關(guān)系,第一位的候選內(nèi) 容應(yīng)該是"的話(huà)"。同理,如果用戶(hù)想輸入"清華園",如果先輸入上屏了 "清華",則根據(jù)本發(fā)明實(shí)施例生成的候選內(nèi)容中,"園"將排在第一位, 而根據(jù)詞頻來(lái)排列的話(huà),"園"并不是第一位。
下面以緩存次數(shù)N為1時(shí)為例詳細(xì)說(shuō)明本發(fā)明的具體實(shí)施方式
。 圖4為本發(fā)明實(shí)施例一的候選內(nèi)容生成方法具體流程圖,如圖4所示, 該流程包括如下步驟
步驟401,接收用戶(hù)上一次輸入上屏的內(nèi)容。
步驟402,判斷用戶(hù)輸入上屏的內(nèi)容是否是整句生成的,若是,執(zhí)行步
驟403,否則執(zhí)行步驟404 。
步驟403 ,將組成整句的最后 一 個(gè)單詞或單字放入緩沖區(qū)緩存。 步驟404,將用戶(hù)輸入上屏的全部?jī)?nèi)容放入緩沖區(qū)緩存。 如果用戶(hù)輸入的不是整句生成的詞,則表明用戶(hù)輸入的是單字或單詞,
所以直接將用戶(hù)輸入上屏的內(nèi)容放入緩沖區(qū)緩存即可。 步驟405,接收用戶(hù)本次輸入的內(nèi)容。 用戶(hù)后續(xù)輸入的內(nèi)容可以是單字、單詞或整句。
步驟406,將所述緩存的內(nèi)容對(duì)應(yīng)的拼音串和用戶(hù)本次輸入的拼音串連 接在一起。
步驟407,判斷是否能以單詞方式生成候選內(nèi)容,若是,則執(zhí)行步驟408, 否則執(zhí)行步驟409。如果沒(méi)有與所述整體拼音串完全匹配的候選內(nèi)容,則再將所述整體拼音 串作為 一個(gè)整句,以緩存內(nèi)容作為限制條件進(jìn)行整句候選內(nèi)容生成。
步驟408,以單詞方式生成候選內(nèi)容。
步驟409,判斷是否能以整句方式生成候選內(nèi)容,若是,則執(zhí)行步驟410, 否則執(zhí)行步驟411。
步驟410,以整句方式生成候選內(nèi)容。
步驟411,不考慮緩存內(nèi)容,僅對(duì)用戶(hù)本次輸入進(jìn)行候選內(nèi)容生成。 以單詞方式生成候選內(nèi)容,以及以整句方式生成候選內(nèi)容的方法是本領(lǐng)
域成熟技術(shù),這里就不再詳述了。
其中,步驟402及403中判斷用戶(hù)輸入上屏的內(nèi)容是否為整句生成,并 在判斷是整句生成時(shí)只緩存整句最后一個(gè)詞的步驟,并不是必須的,可以直 接將用戶(hù)輸入上屏的內(nèi)容緩存下來(lái)。 一般來(lái)說(shuō)如果用戶(hù)上一次輸入上屏的內(nèi) 容是整句生成出來(lái)的,那么之后再次輸入的內(nèi)容與整句的相關(guān)性比較小,而 與組成該整句的最后一個(gè)詞的相關(guān)性比較大,因此這里對(duì)用戶(hù)輸入上屏的內(nèi) 容進(jìn)行判斷是為了進(jìn)一步提高候選內(nèi)容生成的準(zhǔn)確性。
另外,有的輸入法還帶有用戶(hù)詞庫(kù),允許用戶(hù)自造詞,對(duì)于這類(lèi)輸入法, 在進(jìn)行整句預(yù)測(cè)生成候選內(nèi)容時(shí)例如,例如用戶(hù)第一次輸入"我學(xué)習(xí),,,由 于"我學(xué)習(xí),,是整句生成的結(jié)果,因此緩存組成整句的最后一個(gè)詞,即"學(xué) 習(xí)",接著輸入"zhishi",連接后的拼音串為"x認(rèn)izhishi",則按照整句 生成,候選詞"知識(shí)"將排列在第一位,同時(shí),由于"我學(xué)習(xí)"是用戶(hù)自造 的詞,因此,"我學(xué)習(xí),,將被記錄到用戶(hù)詞庫(kù)中。以后用戶(hù)再輸入"woxuexi" 的時(shí)候,因?yàn)?我學(xué)習(xí)"已經(jīng)存在于用戶(hù)詞庫(kù)中,因此就不會(huì)進(jìn)行整句生成, 而是做為一個(gè)單詞上屏,緩存中保存的將是"我學(xué)習(xí)"這個(gè)詞,而不是保存 的"學(xué)習(xí)"這個(gè)詞,因此,當(dāng)用戶(hù)隨后再輸入"zhishi"的時(shí)候,因?yàn)?我 學(xué)習(xí)"和"知識(shí),,并不存在二元共現(xiàn)關(guān)系,因此"知識(shí),,就不會(huì)排列在第一 位。實(shí)施例的基礎(chǔ)上,可以進(jìn)一步在緩存用戶(hù)上屏的詞時(shí),判斷緩存的單詞是否 為用戶(hù)的自造詞,如果是自造詞,則通過(guò)詞庫(kù),找出組成自造詞的最后一個(gè) 單詞或單字進(jìn)行保存。
圖5為本發(fā)明實(shí)施例二的候選內(nèi)容生成方法具體流程圖,如圖5所示, 該流程包4舌
步驟501與步驟401相同;
步驟502,判斷用戶(hù)輸入上屏的內(nèi)容是否是整句生成的,若是,執(zhí)行步 驟503,否則執(zhí)行步驟504。
步驟503,將組成整句的最后一個(gè)單詞或單字放入緩沖區(qū)保存。
步驟504,判斷用戶(hù)輸入的內(nèi)容是否為自造詞,如果是,則執(zhí)行步驟505, 否則執(zhí)行步驟506。
具體對(duì)自造詞的判斷方法有很多,例如對(duì)用戶(hù)自造詞進(jìn)行標(biāo)識(shí),根據(jù)標(biāo)
步驟505,將自造詞中最后一個(gè)單詞或單字放入緩沖區(qū)保存。
對(duì)于自造詞中最后一個(gè)單詞或單字,也是以保存最長(zhǎng)的單詞為優(yōu)選。
步驟506,將用戶(hù)輸入上屏內(nèi)容放入緩沖區(qū)保存。
步驟507~513與步驟405~411相同,這里不再詳述。
還以"我學(xué)習(xí)"為例,如果"我學(xué)習(xí)"是自造詞,則通過(guò)核心詞庫(kù)找出 組成自造詞的最后一個(gè)詞"學(xué)習(xí),,是細(xì)胞詞庫(kù)中的單詞,則在緩存單詞時(shí)將 "學(xué)習(xí),,存入緩沖區(qū)而不是存入"我學(xué)習(xí)"。這樣,在后續(xù)用戶(hù)輸入"zhishi" 的時(shí)候,生成的候選內(nèi)容排列中,"知識(shí)"就會(huì)正確排在第一位,解決了用 戶(hù)詞庫(kù)對(duì)整句生成時(shí)的干擾。
另外,在緩存用戶(hù)輸入上屏的內(nèi)容時(shí),還可以緩存用戶(hù)最近輸入的多個(gè) 單字或單詞。如果只緩存最近一個(gè)單字或單詞,則用戶(hù)每次輸入上屏的新內(nèi) 容都會(huì)替換緩沖區(qū)中原來(lái)存放的內(nèi)容。而緩存多個(gè)單字或單詞時(shí),緩沖區(qū)可 采用先進(jìn)先出的原則進(jìn)行緩存。
采用緩存一個(gè)單字或單詞的方式時(shí),如果要輸入"學(xué)習(xí)知識(shí)",對(duì)于用戶(hù)先輸入"學(xué)習(xí),,后再輸入"zhishi,,,則"知識(shí)"將排在候選內(nèi)容列表的 第一位。因?yàn)閷?學(xué)習(xí),,作為一個(gè)整體放入緩沖區(qū),"學(xué)習(xí)"與"知識(shí)"存 在二元共現(xiàn)關(guān)系,采用整句生成,可以得到正確的候選結(jié)果"學(xué)習(xí)知識(shí),,。
但是如果用戶(hù)先輸入"學(xué)",再輸入"習(xí)",之后再輸入"zhishi"就不能 保證"知識(shí)"排在第一位了。因?yàn)?學(xué)"上屏后,進(jìn)入緩沖區(qū),然后輸入"xi",
選擇"習(xí)"上屏后,"學(xué)"從緩沖區(qū)清除,"習(xí)"進(jìn)入緩沖區(qū),再輸入"zhishi", 則將"習(xí)"與"zhishi"進(jìn)行整句生成,而"習(xí),,與"zhishi,,沒(méi)有二元共現(xiàn) 關(guān)系,所以無(wú)法進(jìn)行整句生成,也就無(wú)法保證"知識(shí),,排在第一位。
但如果采用緩存多個(gè)單字或單詞的方式,例如先輸入"學(xué)",再輸入"習(xí)" 將連續(xù)上屏的兩次輸入的內(nèi)容都保存在緩沖區(qū),在后續(xù)進(jìn)行候選生成時(shí),連 接的整體拼音串是"xuexizhishi"這樣生成的候選內(nèi)容可以保證"知識(shí),,排 在第一位,這樣就可以進(jìn)一步提高候選內(nèi)容生成的準(zhǔn)確性。對(duì)于緩存用戶(hù)多 次上屏內(nèi)容時(shí),不應(yīng)對(duì)用戶(hù)輸入上屏的內(nèi)容進(jìn)行判斷,對(duì)用戶(hù)輸入上屏的內(nèi) 容進(jìn)行判斷只在僅緩存用戶(hù)上一次輸入上屏內(nèi)容時(shí)才進(jìn)行。
雖然緩存多個(gè)詞有利于提高候選內(nèi)容生成的準(zhǔn)確性,但也不宜太多,一 般緩存兩個(gè)單字或單詞可以達(dá)到較好的效果。
圖6為本發(fā)明實(shí)施例的候選內(nèi)容生成裝置結(jié)構(gòu)示意圖,該裝置可以集成 于現(xiàn)有輸入法系統(tǒng)中,也可以獨(dú)立于輸入法系統(tǒng),但需要與輸入法系統(tǒng)結(jié)合 使用。如圖6所示,該裝置包括內(nèi)容接收模塊601、緩存模塊602和候選 內(nèi)容生成才莫塊603;
內(nèi)容接收模塊601,與緩存模塊602及候選內(nèi)容生成模塊603相連,用 于接收用戶(hù)輸入的內(nèi)容及用戶(hù)輸入上屏的內(nèi)容。
緩存模塊602,與內(nèi)容接收模塊601及候選內(nèi)容生成模塊603相連,用 于緩存內(nèi)容接收模塊601接收到的用戶(hù)上N次輸入上屏的內(nèi)容,N為大于等 于1的整數(shù)。
候選內(nèi)容生成模塊603,與內(nèi)容接收模塊601及緩存模塊602連接,用 于結(jié)合內(nèi)容接收模塊601接收到的用戶(hù)本次輸入的內(nèi)容與緩存模塊602緩存的內(nèi)容,生成候選內(nèi)容。在候選內(nèi)容生成需要查詢(xún)?cè)~庫(kù)時(shí),只需查詢(xún)輸入法 系統(tǒng)中自帶的詞庫(kù)即可,這里就不再詳述了。
圖7為本發(fā)明實(shí)施例一的緩存模塊具體結(jié)構(gòu)示意圖,如圖7所示,所述
緩存模塊包括
存儲(chǔ)器701,用于緩存用戶(hù)輸入上屏的內(nèi)容; 整句判決器702,用于判斷用戶(hù)輸入上屏的內(nèi)容是否為整句; 緩存控制單元704,與存儲(chǔ)器701和整句判決器702分別相連,用于根 據(jù)N值對(duì)緩存的內(nèi)容進(jìn)行控制;
若N二l,則當(dāng)所述整句判決器702判斷用戶(hù)輸入的內(nèi)容為整句時(shí),將組 成該整句的最后一個(gè)單字或單詞緩存于所述存儲(chǔ)器701,否則將用戶(hù)輸入的 全部?jī)?nèi)容緩存于所述存儲(chǔ)器701。若預(yù)設(shè)N>1時(shí)則可直接存儲(chǔ)用戶(hù)上N次 輸入的內(nèi)容而不對(duì)用戶(hù)輸入的內(nèi)容進(jìn)行判斷。
圖8為本發(fā)明實(shí)施例二的緩存模塊具體結(jié)構(gòu)示意圖,如圖8所示,所述 緩存模塊包括
存儲(chǔ)器801,用于緩存用戶(hù)輸入上屏的內(nèi)容; 整句判決器802,用于判斷用戶(hù)輸入上屏的內(nèi)容是否為整句; 自造詞判決器803,用于判斷用戶(hù)輸入上屏的內(nèi)容是否為自造詞。 緩存控制單元804,與存儲(chǔ)器801、整句判決器802和自造詞判決器803 分別相連,用于根據(jù)預(yù)設(shè)的N值對(duì)緩存的內(nèi)容進(jìn)行控制;
所述緩存控制單元804,若N4,則當(dāng)所述整句判決器802判斷用戶(hù)輸 入的內(nèi)容為整句時(shí),將組成該整句的最后一個(gè)單字或單詞緩存于所述存儲(chǔ)器 801,當(dāng)所述整句判決器802判斷用戶(hù)輸入的內(nèi)容不是整句,且所述自造詞 判決器803判斷用戶(hù)輸入上屏的內(nèi)容是自造詞時(shí),將組成該自造詞的最后一 個(gè)單字或單詞緩存于所述存儲(chǔ)器801;其它情況下,將用戶(hù)輸入的全部?jī)?nèi)容 緩存于所述存儲(chǔ)器801。同樣,若N>1時(shí)則可直接存儲(chǔ)用戶(hù)上N次輸入的 內(nèi)容而不對(duì)用戶(hù)輸入上屏的內(nèi)容進(jìn)行判斷。對(duì)用戶(hù)輸入上屏的內(nèi)容進(jìn)行判斷 只在N=l時(shí)才進(jìn)行。圖9為本發(fā)明實(shí)施例的候選內(nèi)容生成模塊具體結(jié)構(gòu)示意圖,如圖9所示, 所述候選內(nèi)容生成模塊包括
拼音連接單元卯l,用于將所述緩存的內(nèi)容對(duì)應(yīng)的拼音串和用戶(hù)本次輸 入的拼音串連接在一起;
單詞候選生成單元902,與所述拼音連接單元901相連,用于將所述拼 音連接單元連接后的整體拼音串作為一個(gè)單詞,生成候選內(nèi)容;
整句候選生成單元卯3,與所述拼音連接單元901相連,用于將所述拼 音連接單元連接后的整體拼音串作為 一個(gè)整句,生成候選內(nèi)容。
由上述的實(shí)施例可見(jiàn),本發(fā)明的這種輸入法中候選內(nèi)容的生成方法和裝 置,通過(guò)對(duì)用戶(hù)已經(jīng)輸入上屏的內(nèi)容進(jìn)行緩存,并將用戶(hù)已經(jīng)輸入上屏的內(nèi) 容作為用戶(hù)后續(xù)輸入時(shí),生成候選內(nèi)容的參考和限制條件,達(dá)到類(lèi)似整句生 成的效果,從而提高了候選內(nèi)容的準(zhǔn)確率。另外,在緩存時(shí),通過(guò)判斷用戶(hù) 輸入上屏的內(nèi)容是否為整句生成,從而有選擇性地保存用戶(hù)輸入上屏的內(nèi) 容,可以進(jìn)一步提高候選內(nèi)容生成的準(zhǔn)確率。通過(guò)判斷用戶(hù)輸入上屏的內(nèi)容 是否為自造詞,可以進(jìn)一步解決帶有自造詞功能的輸入法對(duì)于候選內(nèi)容生成 的干擾。通過(guò)緩存用戶(hù)多次輸入上屏的內(nèi)容,并結(jié)合用戶(hù)之前多次輸入的內(nèi) 容也可以進(jìn)一步提高候選內(nèi)容生成的準(zhǔn)確率。
所應(yīng)理解的是,以上所述僅為本發(fā)明的較佳實(shí)施方式而已,并不用于限 定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等 同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種輸入法中候選內(nèi)容的生成方法,其特征在于,該方法包括緩存用戶(hù)上N次輸入上屏的內(nèi)容,N為大于等于1的整數(shù);結(jié)合用戶(hù)本次輸入的內(nèi)容與所述緩存的內(nèi)容,生成候選內(nèi)容。
2、 如權(quán)利要求1所述的輸入法中候選內(nèi)容的生成方法,其特征在于,所述 N=l。
3、 如權(quán)利要求2所述的輸入法中候選內(nèi)容的生成方法,其特征在于,所述 緩存用戶(hù)上一次輸入上屏的內(nèi)容包括判斷用戶(hù)上一次輸入上屏的內(nèi)容是否為整句,若是,則緩存組成該整句的 最后一個(gè)單字或單詞,否則緩存用戶(hù)輸入上屏的全部?jī)?nèi)容。
4、 如權(quán)利要求2所述的輸入法中候選內(nèi)容的生成方法,其特征在于,所述 緩存用戶(hù)上一次輸入上屏的內(nèi)容包括判斷用戶(hù)上一次輸入上屏的內(nèi)容是否為整句,若是,則緩存組成該整句的 最后一個(gè)單字或單詞,否則繼續(xù)判斷是否為自造詞,若是,則緩存組成該自造 詞的最后一個(gè)單字或單詞,否則緩存用戶(hù)輸入上屏的全部?jī)?nèi)容。
5、 如權(quán)利要求3或4所述的輸入法中候選內(nèi)容的生成方法,其特征在于, 所述緩存組成整句或自造詞的最后一個(gè)單字或單詞包括緩存所述最后一個(gè)單 字或單詞中最長(zhǎng)的一個(gè)。
6、 如權(quán)利要求4所述的輸入法中候選內(nèi)容的生成方法,其特征在于,所述 判斷用戶(hù)上一次輸入上屏的內(nèi)容是否為整句,包括判斷用戶(hù)上一次輸入上屏的內(nèi)容是否包含多個(gè)單詞或單字,若是,則為整 句生成。
7、 如權(quán)利要求1-4中任一項(xiàng)權(quán)利要求所述的輸入法中候選內(nèi)容的生成方法, 其特征在于,所述結(jié)合用戶(hù)本次輸入的內(nèi)容與所述緩存的內(nèi)容,生成候選內(nèi)容 包括將所述緩存的內(nèi)容對(duì)應(yīng)的拼音串和用戶(hù)本次輸入的拼音串連接在一起,將連接后的整體拼音串作為一個(gè)單詞,生成候選內(nèi)容,如果沒(méi)有與所述整體拼音 串完全匹配的單詞,則再將所述整體拼音串作為一個(gè)整句,以緩存內(nèi)容作為限 制條件進(jìn)行整句預(yù)測(cè),生成候選內(nèi)容。
8、 如權(quán)利要求7所述的輸入法中候選內(nèi)容的生成方法,其特征在于,所述 以緩存內(nèi)容作為限制條件進(jìn)行整句預(yù)測(cè),生成候選內(nèi)容包括利用最短路徑算法對(duì)所述連接后的整體拼音串進(jìn)行整句預(yù)測(cè),同時(shí)以緩存 的內(nèi)容作為預(yù)測(cè)的限制條件,生成整句預(yù)測(cè)結(jié)果,如果有完全匹配的整句,則 將預(yù)測(cè)結(jié)果中,對(duì)應(yīng)于用戶(hù)本次輸入的拼音串的候選內(nèi)容排列在候選內(nèi)容的第 一位。
9、 一種輸入法中候選內(nèi)容的生成裝置,其特征在于,該裝置包括 內(nèi)容接收模塊,用于接收用戶(hù)輸入的內(nèi)容及用戶(hù)輸入上屏的內(nèi)容; 緩存模塊,與所述內(nèi)容接收模塊相連,用于緩存所述內(nèi)容接收模塊接收到的用戶(hù)上N次輸入上屏的內(nèi)容,N為大于等于l的整數(shù);候選內(nèi)容生成模塊,與所述內(nèi)容接收模塊及所述緩存模塊連接,用于結(jié)合 內(nèi)容接收模塊接收到的用戶(hù)本次輸入的內(nèi)容與緩存模塊緩存的內(nèi)容,生成候選 內(nèi)容。
10、 如權(quán)利要求9所述的輸入法中候選內(nèi)容的生成裝置,其特征在于,所 述緩存模塊包括存儲(chǔ)器,用于緩存用戶(hù)輸入上屏的內(nèi)容; 整句判決器,用于判斷用戶(hù)輸入上屏的內(nèi)容是否為整句; 緩存控制單元,與存儲(chǔ)器和整句判決器分別相連,用于根據(jù)N值對(duì)緩存的 內(nèi)容進(jìn)行控制;當(dāng)N-1時(shí),若所述整句判決器判斷用戶(hù)輸入的內(nèi)容為整句,則所述緩存控 制單元將組成該整句的最后一個(gè)單字或單詞緩存于所述存儲(chǔ)器,否則將用戶(hù)輸 入的全部?jī)?nèi)容緩存于所述存儲(chǔ)器。
11、 如權(quán)利要求IO所述的輸入法中候選內(nèi)容的生成裝置,其特征在于,所 述緩存模塊進(jìn)一步包括自造詞判決器,用于判斷用戶(hù)輸入上屏的內(nèi)容是否為自造詞; 所述緩存控制單元,進(jìn)一步與所述自造詞判決器相連,當(dāng)N-1時(shí),若所述整句判決器判斷用戶(hù)輸入的內(nèi)容為整句時(shí),所述緩存控制單元將組成該整句的 最后一個(gè)單字或單詞緩存于所述存儲(chǔ)器,若所述整句判決器判斷用戶(hù)輸入的內(nèi) 容不是整句,且所述自造詞判決器判斷用戶(hù)輸入上屏的內(nèi)容是自造詞時(shí),所述緩存控制單元將組成該自造詞的最后一個(gè)單字或單詞緩存于所述存儲(chǔ)器;其它 情況下,緩存控制單元將用戶(hù)輸入的全部?jī)?nèi)容緩存于所述存儲(chǔ)器。
12、如權(quán)利要求9-11中任一項(xiàng)權(quán)利要求所述的輸入法中候選內(nèi)容的生成裝置,其特征在于,所述候選內(nèi)容生成模塊包括拼音連接單元,用于將所述緩存的內(nèi)容對(duì)應(yīng)的拼音串和用戶(hù)本次輸入的拼 音串連接在一起;單詞候選生成單元,與所述拼音連接單元相連,用于將所述拼音連接單元 連接后的整體拼音串作為一個(gè)單詞,生成候選內(nèi)容;整句候選生成單元,與所述拼音連接單元相連,用于將所述拼音連接單元 連接后的整體拼音串作為一個(gè)整句,生成候選內(nèi)容。
全文摘要
本發(fā)明公開(kāi)了一種輸入法中候選內(nèi)容的生成方法,該方法包括緩存用戶(hù)上N次輸入上屏的內(nèi)容,N為大于等于1的整數(shù);結(jié)合用戶(hù)本次輸入的內(nèi)容與所述緩存的內(nèi)容,生成候選內(nèi)容。通過(guò)對(duì)用戶(hù)已經(jīng)輸入上屏的內(nèi)容進(jìn)行緩存,并將用戶(hù)已經(jīng)輸入上屏的內(nèi)容作為用戶(hù)后續(xù)輸入時(shí),生成候選內(nèi)容的參考和限制條件,從而提高了候選內(nèi)容的準(zhǔn)確率。本發(fā)明還同時(shí)公開(kāi)了一種輸入法中候選內(nèi)容的生成裝置。
文檔編號(hào)G06F17/27GK101441524SQ20081018043
公開(kāi)日2009年5月27日 申請(qǐng)日期2008年11月26日 優(yōu)先權(quán)日2008年11月26日
發(fā)明者張會(huì)鵬, 梅書(shū)慧 申請(qǐng)人:騰訊科技(深圳)有限公司