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