專利名稱:一種向用戶詞庫中記錄信息的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)字符輸入技術(shù)領(lǐng)域,特別是涉及一種向用戶詞庫中記錄 信息的方法和裝置, 一種用戶詞庫以及利用該用戶詞庫進(jìn)行字符輸入的方法和 系統(tǒng)。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)以及互聯(lián)網(wǎng)技術(shù)的普及與發(fā)展,輸入法已經(jīng)成為用戶 與計(jì)算機(jī)交互的重要手段,不同專業(yè)領(lǐng)域、不同興趣以及使用習(xí)慣的用戶 對于輸入法的智能性要求越來越高。
現(xiàn)有技術(shù)一般通過提高系統(tǒng)詞庫中的詞條的更新程度以及詞頻信息的 準(zhǔn)確度,來提高用戶向計(jì)算機(jī)完成字符輸入時的效率——可以通過首選詞
的準(zhǔn)確率進(jìn)行評價。例如,申請?zhí)枮?00610086577.4,名稱為"基于互耳關(guān)網(wǎng) 信息的輸入法詞頻庫的生成方法和系統(tǒng),,的中國專利就公開了這樣的 一 種 提高系統(tǒng)詞庫性能的技術(shù)方案。
但是由于系統(tǒng)詞庫是相對固定的,針對每一個用戶而言,難以達(dá)到精 確匹配;為了增強(qiáng)個性化的輸入效率,現(xiàn)有技術(shù)提出了用戶詞庫的解決方 案。用戶詞庫的形成方法通常包括以下步驟記錄用戶輸入的字詞,學(xué)習(xí) 某個用戶適用的詞匯;通過一段時間地不斷學(xué)習(xí),將詞庫逐漸收斂到某個 用戶輸入的最佳狀態(tài), >夂人而形成用戶詞庫。顯然,這種用戶詞庫的形成過 程可以在一定程度上調(diào)整候選項(xiàng)的排序,使其逐漸適應(yīng)該用戶,從而提高 輸入效率,但是對于同一個詞,在不同的輸入環(huán)境下,即使同一用戶也可 能需要不同的候選項(xiàng)排序。例如,對于"語料"和"預(yù)料",在日常輸入中, 用戶輸入"預(yù)料"一詞的情況較高,在系統(tǒng)詞庫和用戶詞庫中都是"預(yù)料"的 詞頻或者排序要高于"語料,,;但是當(dāng)該用戶在輸入專業(yè)文檔時(例如,語 言分析相關(guān)專業(yè)),則就期望"語料"候選項(xiàng)排序在前,而無論系統(tǒng)詞庫還是 用戶詞庫仍然會按照通常的排序輸出,無法隨著用戶輸入需求的變化而變 化。
因此,現(xiàn)階段需要本領(lǐng)域技術(shù)人員迫切解決的一個技術(shù)問題就是,如
何改變現(xiàn)有輸入法系統(tǒng)的智能性不高的現(xiàn)狀,提供 一 種能夠動態(tài)的與用戶 輸入環(huán)境或者輸入內(nèi)容相匹配,大大提高用戶輸入過程中首選詞準(zhǔn)確率的 輸入法解決方案。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種向用戶詞庫中記錄信息的方法和 裝置,以及一種用戶詞庫,能夠方便快捷的記錄用戶輸入字詞的分環(huán)境信息, 從而提供更加適應(yīng)該用戶輸入習(xí)慣的用戶詞庫。
相應(yīng)的,本發(fā)明還提供了 一種利用上述用戶詞庫完成字符輸入的方法和系 統(tǒng),能夠動態(tài)的與用戶輸入環(huán)境或者輸入內(nèi)容相匹配,大大提高用戶輸入過程 中首選詞準(zhǔn)確率。
為了解決上述問題,依據(jù)本發(fā)明的實(shí)施例,本發(fā)明公開了一種向用戶詞庫
中記錄信息的方法,具體可以包括預(yù)置用戶詞庫的記錄格式,將每個字詞 的屬性信息存儲空間劃分為多個子空間,用于記錄該字詞在不同類別下的 屬性信息;當(dāng)用戶利用輸入法系統(tǒng)進(jìn)行字符輸入時,依據(jù)所采集的用戶當(dāng) 前輸入環(huán)境的相關(guān)信息,確定該用戶的當(dāng)前車ir入類別;將該用戶在當(dāng)前類別 下所輸入的字詞及相應(yīng)的屬性信息記錄至用戶詞庫中。
優(yōu)選的,該方法還可以包括匯集一字詞在各個類別下的屬性信息并進(jìn)行 處理,得到針對該字詞的通用屬性信息。
優(yōu)選的,該方法還可以包括動態(tài)調(diào)整對所述子空間的劃分。 優(yōu)選的,該方法還可以包括通過用戶選擇的方式確定當(dāng)前輸入類別。 進(jìn)一步,可以通過以下步驟確定該用戶的當(dāng)前輸入類別預(yù)置對應(yīng)信息 表,所述對應(yīng)信息表用以存儲類別信息及對應(yīng)的輸入環(huán)境相關(guān)信息;所述 輸入環(huán)境相關(guān)信息包括應(yīng)用程序名稱、網(wǎng)站地址、當(dāng)前窗口的標(biāo)題、文檔 位置或者文檔名稱中的至少 一個;根據(jù)所采集的當(dāng)前輸入環(huán)境相關(guān)信息, 在所述對應(yīng)信息表查找對應(yīng)的類別信息,得到當(dāng)前輸入類別。
如果所采集的當(dāng)前輸入環(huán)境的相關(guān)信息包括用戶在當(dāng)前輸入環(huán)境中所涉 及的文本數(shù)據(jù);則通過對所述文本數(shù)據(jù)進(jìn)行分析,確定該用戶的當(dāng)前輸入類 別。
優(yōu)選的,可以通過以下方式獲取用戶在當(dāng)前輸入環(huán)境中所涉及的文本凝:
據(jù)通過相應(yīng)的系統(tǒng)函數(shù)獲取剪貼板中的數(shù)據(jù);或者,通過相應(yīng)的系統(tǒng)函數(shù)獲 取當(dāng)前應(yīng)用程序所操作的文件名稱及其路徑,進(jìn)而掃描獲取該文件的內(nèi)容數(shù) 據(jù);或者,通過相應(yīng)的系統(tǒng)函數(shù)獲取當(dāng)前應(yīng)用程序向屏幕輸出的數(shù)據(jù);或者, 通過網(wǎng)頁瀏覽器的接口對象,獲取當(dāng)前頁面的內(nèi)容數(shù)據(jù)。
優(yōu)選的,當(dāng)所確定的當(dāng)前輸入類別為多個時,則將詞頻信息同時記錄 至多個相應(yīng)子空間或者分權(quán)重記錄至多個相應(yīng)子空間。
依據(jù)本發(fā)明的實(shí)施例,還公開了一種向用戶詞庫中記錄信息的裝置,包
括
用戶詞庫,所述用戶詞庫中每個字詞的屬性信息存儲空間由多個子空 間構(gòu)成,用于存儲該字詞在不同類別下的屬性信息;
類別確定模塊,用于當(dāng)用戶利用輸入法系統(tǒng)進(jìn)行字符輸入時,依據(jù)所 采集的用戶當(dāng)前輸入環(huán)境的相關(guān)信息,確定該用戶的當(dāng)前輸入類別;
記錄模塊,用于將該用戶在當(dāng)前類別下所輸入的字詞及相應(yīng)的屬性信息記 錄至用戶詞庫中。
優(yōu)選的,所述的裝置還可以包括匯集處理模塊,用于匯集一字詞在各個 類別下的屬性信息并進(jìn)行處理,得到針對該字詞的通用屬性信息。
優(yōu)選的,所述的裝置還可以包括類別調(diào)整模塊,用于動態(tài)調(diào)整對所述子 空間的劃分。其中,所述類別確定模塊進(jìn)一步可以包括對應(yīng)信息表,所述 對應(yīng)信息表用以存儲類別信息及對應(yīng)的輸入環(huán)境相關(guān)信息;所述輸入環(huán)境 相關(guān)信息包括應(yīng)用程序名稱、網(wǎng)站地址、當(dāng)前窗口的標(biāo)題、文檔位置或者 文檔名稱中的至少一個;查找匹配子模塊,用于根據(jù)所采集的當(dāng)前輸入環(huán) 境相關(guān)信息,在所述對應(yīng)信息表查找對應(yīng)的類別信息,得到當(dāng)前輸入類別。
如果所采集的當(dāng)前輸入環(huán)境的相關(guān)信息包括用戶在當(dāng)前輸入環(huán)境中所涉 及的文本數(shù)據(jù);則所述類別確定模塊通過對所述文本數(shù)據(jù)進(jìn)行分析,確定該 用戶的當(dāng)前輸入類別。
本發(fā)明還提供了一種用戶詞庫,包括字詞存儲空間;以及針對每個 字詞的屬性信息存儲空間,該屬性信息存儲空間由多個子空間構(gòu)成, 一子 空間對應(yīng) 一輸入類別,用于記錄該字詞在不同輸入類別下的屬性信息。
依據(jù)本發(fā)明的另一實(shí)施例,還公開了一種字符輸入的方法,具體可以包括
以下步驟加載系統(tǒng)詞庫和用戶詞庫,所述用戶詞庫中針對每個字詞的屬性
信息存儲空間由多個子空間構(gòu)成,用于記錄該字詞在不同輸入類別下的屬
性信息;所述屬性信息包括詞頻信息;采集用戶當(dāng)前輸入環(huán)境的相關(guān)信息, 確定該用戶的當(dāng)前輸入類別;接收用戶的輸入信息;依據(jù)所接收的輸入信 息,在系統(tǒng)詞庫和用戶詞庫中進(jìn)行^r索,得到相應(yīng)的候選項(xiàng);依據(jù)系統(tǒng)詞庫中 的通用屬性信息以及用戶詞庫中當(dāng)前輸入類別的屬性信息,對所述候選項(xiàng)進(jìn) 行排序并顯示;接收用戶的選擇信息,輸出指定的候選項(xiàng)。
如果所述當(dāng)前輸入環(huán)境的相關(guān)信息包括該用戶在一輸入環(huán)境下的輸入 歷史文本數(shù)據(jù);則,通過分析該輸入歷史文本數(shù)據(jù),確定用戶當(dāng)前輸入類 別。
優(yōu)選的,所述的方法還可以包括通過用戶選4奪的方式確定當(dāng)前輸入類別。
進(jìn)一步,可以通過以下步驟確定該用戶的當(dāng)前輸入類別預(yù)置對應(yīng)信息 表,所述對應(yīng)信息表用以存儲類別信息及對應(yīng)的輸入環(huán)境相關(guān)信息;所述 輸入環(huán)境相關(guān)信息包括應(yīng)用程序名稱、網(wǎng)站地址、當(dāng)前窗口的標(biāo)題、文檔 位置或者文檔名稱中的至少一個;根據(jù)所采集的當(dāng)前輸入環(huán)境相關(guān)信息, 在所述對應(yīng)信息表查找對應(yīng)的類別信息,得到當(dāng)前輸入類別。
如果所采集的當(dāng)前輸入環(huán)境的相關(guān)信息包括用戶在當(dāng)前輸入環(huán)境中所涉 及的文本數(shù)據(jù);則通過對所述文本數(shù)據(jù)進(jìn)行分析,確定該用戶的當(dāng)前輸入類 別。其中,可以通過以下方式獲取用戶在當(dāng)前輸入環(huán)境中所涉及的文本數(shù)據(jù) 通過相應(yīng)的系統(tǒng)函數(shù)獲取剪貼板中的數(shù)據(jù);或者,通過相應(yīng)的系統(tǒng)函數(shù)獲取當(dāng) 前應(yīng)用程序所操作的文件名稱及其路徑,進(jìn)而掃描獲取該文件的內(nèi)容數(shù)據(jù);或 者,通過相應(yīng)的系統(tǒng)函數(shù)獲取當(dāng)前應(yīng)用程序向屏幕輸出的數(shù)據(jù);或者,通過網(wǎng) 頁瀏覽器的接口對象,獲取當(dāng)前頁面的內(nèi)容數(shù)據(jù)。
優(yōu)選的,當(dāng)所確定的當(dāng)前輸入類別為多個時,根據(jù)所述多個類別分別 對應(yīng)的多個類別屬性值,分權(quán)重計(jì)算得到該字詞當(dāng)前輸入類別的綜合屬性 值。
依據(jù)本發(fā)明的另一實(shí)施例,^Hf了一種輸入法系統(tǒng),具體可以包括 系統(tǒng)詞庫,用于記錄基礎(chǔ)字詞及其屬性信息;
用戶詞庫,所述用戶詞庫中針對每個字詞的屬性信息存儲空間由多個子
空間構(gòu)成,用于記錄該字詞在不同輸入類別下的屬性信息;所述屬性信息包
括詞頻信息;
信息采集單元,用于采集用戶當(dāng)前輸入環(huán)境的相關(guān)信息; 類別確定單元,用于依據(jù)所采集的當(dāng)前輸入環(huán)境相關(guān)信息,確定該用戶 的當(dāng)前豐敘入類別;
輸入接口單元,用于接收用戶的輸入信息;
信息轉(zhuǎn)換單元,用于依據(jù)所接收的輸入信息,在系統(tǒng)詞庫和用戶詞庫中進(jìn) 行牙企索,得到相應(yīng)的候選項(xiàng);
排序顯示單元,用于依據(jù)系統(tǒng)詞庫中的通用屬性信息以及用戶詞庫中當(dāng)前 輸入類別的屬性信息,對所述候選項(xiàng)進(jìn)行排序并顯示;
輸出單元,用于接收用戶的選擇信息,輸出指定的候選項(xiàng)。
優(yōu)選的,所述的系統(tǒng)還可以包括歷史輸入數(shù)據(jù)記錄單元,用于記錄該 用戶在一輸入環(huán)境下的輸入歷史文本數(shù)據(jù)作為當(dāng)前輸入環(huán)境相關(guān)信息;則, 所述類別確定單元通過分析該輸入歷史文本數(shù)據(jù)的方式,確定用戶當(dāng)前輸 入類別。
優(yōu)選的,所述類別確定單元進(jìn)一步可以包括對應(yīng)信息表,所述對應(yīng)信 息表用以存儲類別信息及對應(yīng)的輸入環(huán)境相關(guān)信息;所述輸入環(huán)境相關(guān)信 息包括應(yīng)用程序名稱、網(wǎng)站地址、當(dāng)前窗口的標(biāo)題、文檔位置或者文檔名 稱中的至少一個;匹配查找子單元,用于根據(jù)所采集的當(dāng)前輸入環(huán)境相關(guān) 信息在所述對應(yīng)信息表查找對應(yīng)的類別信息,得到當(dāng)前輸入類別。
如果所采集的當(dāng)前輸入環(huán)境的相關(guān)信息包括用戶在當(dāng)前輸入環(huán)境中所涉 及的文本數(shù)據(jù);則,所述類別確定單元通過對所述文本數(shù)據(jù)進(jìn)行分析,確定 該用戶的當(dāng)前輸入類別。
優(yōu)選的,所述的系統(tǒng)還可以包括綜合屬性計(jì)算單元,用于當(dāng)所確定的 當(dāng)前輸入類別為多個時,根據(jù)所述多個類別分別對應(yīng)的多個類別屬性值, 分權(quán)重計(jì)算得到該字詞當(dāng)前輸入類別的綜合屬性值。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)
本發(fā)明創(chuàng)新性的提出,將用戶的輸入習(xí)慣信息(例如,輸入字詞及其詞頻
等)分環(huán)境記錄至用戶詞庫中,從而可以更好的更準(zhǔn)確的記錄用戶的輸入習(xí)慣。 進(jìn)而,當(dāng)采用本發(fā)明的用戶詞庫進(jìn)行輸入時,可以動態(tài)的與用戶輸入環(huán)境或者 輸入內(nèi)容相匹配,大大提高用戶輸入過程中首選詞準(zhǔn)確率。
圖1是本發(fā)明一種向用戶詞庫中記錄信息的方法實(shí)施例的步驟流程圖2是本發(fā)明一種向用戶詞庫中記錄信息的系統(tǒng)實(shí)施例的結(jié)構(gòu)框圖; 圖3是本發(fā)明一種字符輸入的方法實(shí)施例的步驟流程圖; 圖4是本發(fā)明一種輸入法系統(tǒng)實(shí)施例的結(jié)構(gòu)框圖。
具體實(shí)施例方式
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式
對本發(fā)明作進(jìn)一步詳細(xì)的說明。
本發(fā)明可以應(yīng)用于各種輸入方式的輸入法平臺,包括鍵盤符號、手寫 信息以及語音輸入等等。即所述輸入信息可以包括編碼字符串,也可以包 括手寫輸入信息以及語音輸入的信息,因?yàn)檫@些輸入方式也都需要用到詞
庫進(jìn)行候選項(xiàng)排序。由于這些輸入方式中的信息轉(zhuǎn)換都屬于公知技術(shù),在 此就不詳述了 。下面僅僅以編碼字符串輸入為例進(jìn)行詳細(xì)說明。
另外,由于現(xiàn)有技術(shù)中,輸入法平臺可以運(yùn)行在多種計(jì)算設(shè)備上,例如, 個人電腦、個人數(shù)字助理、移動終端設(shè)備等等,所以本發(fā)明也可以適用在上述 各種計(jì)算設(shè)備中。
本發(fā)明可以應(yīng)用于如日文、韓文等需要出現(xiàn)候選詞排序的輸入法系統(tǒng), 例如,對于日文而言,由日文中的平假名、片假名拼成短語的時候就需要 出現(xiàn)候選詞排序。由于本發(fā)明在上述幾種輸入法系統(tǒng)中的應(yīng)用都是相似的, 所以為了方便說明,下面以對本發(fā)明應(yīng)用在中文的情況進(jìn)行舉例說明。
本發(fā)明所述的方法可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的 一般上下 文中描述,例如程序模塊。 一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽 象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算 環(huán)境中實(shí)踐本發(fā)明,在這些分布式計(jì)算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn) 程處理設(shè)備來執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲設(shè)
備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲介質(zhì)中。
參照圖1,示出了本發(fā)明一種向用戶詞庫中記錄信息的方法實(shí)施例,具體 可以包括以下步驟
步驟101、預(yù)置用戶詞庫的記錄格式,將每個字詞的屬性信息存儲空間 劃分為多個子空間,用于存儲該字詞在不同類別下的屬性信息;所述屬性 信息包括的具體信息可以有很多種類, 一般的可以包括詞頻信息。
其中, 一般的,可以采用一個子空間中存儲一個對應(yīng)類別的屬性信息, 當(dāng)然,子空間的數(shù)量可以大于類別的數(shù)量,用于存儲其他屬性信息等等。 所述的 一個子空間可以為數(shù)據(jù)表中的一個字段空間等。
本發(fā)明所采用的詞頻信息一詞是輸入法領(lǐng)域常用的詞匯,其除了表示
詞匯的輸入頻率信息以外,還包括單字的輸入頻率信息;其中的輸入頻率 信息可以為絕對值,也可以為相對值,還可以為經(jīng)過一定策略或者算法處 理過的間接表示輸入頻率的其他數(shù)值。
步驟102、當(dāng)用戶利用輸入法系統(tǒng)進(jìn)行字符輸入時,依據(jù)所采集的用戶 當(dāng)前輸入環(huán)境的相關(guān)信息,確定該用戶的當(dāng)前輸入類別;當(dāng)前輸入環(huán)境的 相關(guān)信息所涉及的信息內(nèi)容和格式比較多,不同類型的環(huán)境信息可能需要 采用不同的方式以確定該用戶的當(dāng)前輸入類別,具體內(nèi)容將在后面詳述。
步驟103、將該用戶在當(dāng)前類別下所輸入的字詞及相應(yīng)的詞頻信息記錄至 用戶詞庫中。
一般情況下,隨著用戶的輸入,可以實(shí)時的將所獲取的當(dāng)前類別下的字詞 及詞頻信息記錄至用戶詞庫中;當(dāng)然,在某些情況下,也可以采用平時收集, 在某一固定時間整理后記錄至用戶詞庫的方式,例如,對于用戶詞庫位于網(wǎng)絡(luò) 端的情況等。
在本發(fā)明的另一優(yōu)選實(shí)施例中,還可以包括匯集一字詞在各個類別下的 屬性信息并進(jìn)行處理,得到針對該字詞的通用權(quán)重詞頻或者權(quán)重排序信息。實(shí) 際上權(quán)重排序信息也可以理解為詞頻信息的一種,用于間接反映字詞的使用頻 率。所述匯集處理的過程既可以在力良務(wù)器端完成,也可以在客戶端完成。
例如,用戶需要將用戶詞庫備份至另一計(jì)算機(jī)上的輸入法系統(tǒng)中應(yīng)用,但 是該另一計(jì)算機(jī)上的輸入法系統(tǒng)的版本較低,缺少識別當(dāng)前輸入環(huán)境類別的功
能,則就可以將所記錄的多環(huán)境屬性信息按照一定的策略或者算法,計(jì)算得到 一個統(tǒng)一的權(quán)重詞頻或者權(quán)重排序信息,即每個字詞僅對應(yīng)一個屬性信息,類 似于現(xiàn)有的用戶詞庫,從而可以應(yīng)用在舊版本的輸入法系統(tǒng)上。 一般情況下, 這兩臺計(jì)算機(jī)上的輸入法系統(tǒng)可以是相同種類的,例如都是搜狗輸入法;當(dāng)然, 如果具有統(tǒng)一的文件接口,則也可以是不同種類的輸入法,例如,從搜狗輸入 法備份至紫光輸入法進(jìn)行應(yīng)用。
通過以上的說明可以得知,依據(jù)本發(fā)明得到的用戶詞庫的形式可以是多種
多樣的,例如,在用戶詞庫中, 一個字詞對應(yīng)多套分環(huán)境的屬性信息;或者一 個字詞僅對應(yīng)一套統(tǒng)一的屬性信息;或者, 一個字詞既對應(yīng)一套統(tǒng)一的屬性信 息,又對應(yīng)有多套分環(huán)境的屬性信息。
由于在實(shí)際應(yīng)用中,對于輸入類別的劃分,有可能隨著數(shù)據(jù)源的增加或者 實(shí)際應(yīng)用的情況進(jìn)行改變。因此,在本發(fā)明的另一優(yōu)選實(shí)施例中,還可以包括 動態(tài)調(diào)整對所述子空間的劃分。所述動態(tài)調(diào)整的方式,可以包括合并或者拆分 等等。優(yōu)選的,為了更好的實(shí)現(xiàn)類別的動態(tài)調(diào)整,還可以記錄用戶當(dāng)前輸入環(huán) 境的詳細(xì)信息,例如,記錄一些在將來的動態(tài)調(diào)整中可能應(yīng)用的環(huán)境屬性 值——詳細(xì)的URL地址等。
分,在一個應(yīng)用程序中輸入的字詞信息就記錄在該應(yīng)用程序的相應(yīng)類別下,如, 劃分為IE類別、firefox類別、word類別、WPS類別、MSN類別和QQ類別等, 而動態(tài)調(diào)整的結(jié)果可以包括將IE類別、firefox類別合并為一個瀏覽器類 別,因?yàn)槎咻斎氲淖衷~信息比較接近;或者,將word類別和WPS類別合并 為一個文檔類別;或者,將MSN類別和QQ類別合并為一個口語類別;或者, 進(jìn)一步從瀏覽器類別中劃分出多個針對不同網(wǎng)站地址的類別(例如,URL);或 者,進(jìn)一步從文檔類別中劃分出多個針對不同類型文檔的類別,例如,通過文 檔的位置或者文檔的名稱進(jìn)行劃分。
一般的,可以通過調(diào)用相應(yīng)的系統(tǒng)函數(shù)獲取當(dāng)前應(yīng)用程序的名稱。如,在 windows 4喿作系統(tǒng)中可以通過調(diào)用系統(tǒng)函數(shù)GetModuleFileName (參數(shù)),以讀 取當(dāng)前應(yīng)用程序所對應(yīng)的文件名;也可以通過調(diào)用系統(tǒng)函數(shù)GetCommandLine (參數(shù)),以獲取啟動當(dāng)前應(yīng)用程序的命令行信息。上述兩個函數(shù)的調(diào)用,就
可以識別出當(dāng)前應(yīng)用程序的名稱,例如,WinWord.exe, QQ.exe等等。
例如,輸入法啟動后,調(diào)用GetModuleFilename發(fā)現(xiàn)應(yīng)用程序路徑名為 "C:\Program Files\Microsoft Office\OFFICEll\WINWORD.EXE",才艮據(jù)其文件名 "WinWord.exe"識別其為word字處理軟件,進(jìn)而啟動與文字寫作相關(guān)的輔助詞 庫。
上述系統(tǒng)函數(shù)的說明都是基于windows操作系統(tǒng)而言的,實(shí)際上,對于其 他的操作系統(tǒng),例如,Linux、 MacOS、 FreeBSD, Unix, Solaris等等,以及 用于移動終端的PalmOS, Windows Mobile, Symbian等等;不同操作系統(tǒng)中 的函數(shù)調(diào)用可能會有所不同,在此無法——列舉,所以下面的描述中也僅僅以 windows l喿作系統(tǒng)為例進(jìn)行說明,當(dāng)然,本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并 不限定于windows操作系統(tǒng)中。
在本發(fā)明的另 一優(yōu)選實(shí)施例中,有可能依據(jù)所采集的當(dāng)前輸入環(huán)境的相關(guān) 信息,通過預(yù)置策略所確定的當(dāng)前輸入類別為多個,即符合多個類別的特征參 數(shù)。此時,可以直接將用戶在當(dāng)前輸入環(huán)境下的輸入字詞及其詞頻信息分別記 錄到多個類別下,如果一個類別對應(yīng)一個子空間,則分別記錄到多個子空間中, 即記錄到這多個子空間中的信息是相同的。當(dāng)然,也可以將用戶在當(dāng)前輸入環(huán) 境下的輸入字詞及其詞頻信息按照一定的策略進(jìn)行權(quán)重分解,將分解后的分量 信息分別記錄到相應(yīng)的類別下,即記錄到這多個子空間中的信息是不同的,分 別表示一定的分量。
下面對步驟102中如何依據(jù)所采集的用戶當(dāng)前輸入環(huán)境的相關(guān)信息, 確定該用戶的當(dāng)前輸入類別,進(jìn)行簡單介紹。由于可能采集的用戶當(dāng)前輸 入環(huán)境的相關(guān)信息的種類非常多,所以相應(yīng)的類別確定方法也會很多,在 本說明書中無法——描述,下面舉出一些典型的例子。
例1
可以通過以下步驟確定該用戶的當(dāng)前輸入類別
預(yù)置對應(yīng)信息表,所述對應(yīng)信息表用以存儲類別信息及對應(yīng)的輸入環(huán) 境相關(guān)信息;所述輸入環(huán)境相關(guān)信息包括應(yīng)用程序名稱、網(wǎng)站地址、當(dāng)前 窗口的標(biāo)題、文檔位置或者文檔名稱;根據(jù)所采集的當(dāng)前輸入環(huán)境相關(guān)信
息,在所述對應(yīng)信息表查找對應(yīng)的類別信息,得到當(dāng)前輸入類別。
所述對應(yīng)信息表可以由用戶自己事先設(shè)定或者更改,或者由專業(yè)人員事先
設(shè)定,或者采用人工智能技術(shù)統(tǒng)計(jì)得到。當(dāng)然,用戶可以通過連接服務(wù)器端完
成對應(yīng)信息表的網(wǎng)絡(luò)更新。
前面介紹了如何獲取應(yīng)用程序名稱,下面簡單介紹如何獲取當(dāng)前窗口
的標(biāo)題
一般的,可以通過調(diào)用相應(yīng)的系統(tǒng)函數(shù)獲取當(dāng)前窗口的標(biāo)題,即通過向特
定窗口發(fā)送消息可以實(shí)現(xiàn)一些與窗口相關(guān)的功能。例如,QQ.exe的聊天窗口 名為"與***聊天中",只要向當(dāng)前窗口發(fā)送一個WM一GETTEXT消息就能夠 取得該文字信息,從而得到當(dāng)前輸入類別。由于輸入法與應(yīng)用程序運(yùn)行于同 一地址空間中,這些窗口消息可以直接使用。當(dāng)然,對于word等應(yīng)用程序, 其當(dāng)前窗口的名稱一般就是當(dāng)前打開的文件名稱,也可以在一定程度上反映用 戶的當(dāng)前需求。
例如,用戶當(dāng)前的應(yīng)用程序窗口為針對字體相關(guān)的操作,則本發(fā)明可以通 過向頂層窗口發(fā)送WM—GETTEXT消息獲得窗口標(biāo)題"字體",從而判定用戶 進(jìn)行與字體有關(guān)的操作,進(jìn)而確定當(dāng)前輸入類別。
例2
例1中所采集的是與當(dāng)前輸入環(huán)境相關(guān)的比較簡單的信息,而實(shí)際中, 還可以采用更多的比較復(fù)雜的相關(guān)信息。例如,所采集的當(dāng)前輸入環(huán)境的 相關(guān)信息包括用戶在當(dāng)前輸入環(huán)境中所涉及的文本數(shù)據(jù);則通過對所述文本 數(shù)據(jù)進(jìn)行分析,確定該用戶的當(dāng)前輸入類別。
用戶在當(dāng)前輸入環(huán)境中所涉及的文本數(shù)據(jù)一般種類會比較多,下面簡單介 紹 一些可能的文本數(shù)據(jù)及其獲取方式
方式1
可以通過調(diào)用相應(yīng)的系統(tǒng)函數(shù)獲取剪貼板中的數(shù)據(jù);由于剪貼板中的數(shù)據(jù) 也與用戶當(dāng)前的輸入需求密切相關(guān),所以它也可以在一定程度上反映當(dāng)前輸入 環(huán)境的屬性;當(dāng)然,所述剪貼板中的文本數(shù)據(jù)對本發(fā)明而言是最重要的。 一般 的,在windows操作系統(tǒng)中可以通過調(diào)用系統(tǒng)函數(shù)OpenClipboard / GetClipboardData / CloseClipboard等等(用于查看剪貼板內(nèi)容)。由于輸入法
與應(yīng)用程序運(yùn)行于同 一地址空間中,這些系統(tǒng)函數(shù)的調(diào)用可以直接使用。 方式2
可以通過鉤子函數(shù)獲取當(dāng)前應(yīng)用程序所操作的文件名稱及其路徑,進(jìn)而掃 描獲取該文件的內(nèi)容數(shù)據(jù)。由于輸入法與應(yīng)用程序運(yùn)行于同一地址空間中,輸 入法可以更改應(yīng)用程序本身的一些行為,為查看應(yīng)用程序狀態(tài)服務(wù)。這類似常
見的hook (鉤子)技術(shù),但hook需要先進(jìn)行進(jìn)程注入;輸入法已經(jīng)嵌入應(yīng)用 程序,沒有進(jìn)程注入的問題,實(shí)現(xiàn)起來要容易的多。 一般的,可以hook應(yīng)用 程序的文件操作OpenFile / ReadFile,從而了解當(dāng)前應(yīng)用程序都使用了哪些磁 盤文件,然后掃描這些文件,獲取其內(nèi)容數(shù)據(jù),并尋找與其匹配的輔助詞庫即 可。
例如,識別出當(dāng)前應(yīng)用程序?yàn)閣ord字處理軟件后,hook系統(tǒng)的OpenFile 調(diào)用。發(fā)現(xiàn)打開的是一個名為"輸入法.doc"的文檔,則可以打開該文檔,并 依據(jù)其內(nèi)容數(shù)據(jù)確定當(dāng)前輸入類別。
具體而言,對于文本文件(例如txt文件),可以直4妄讀取其文本數(shù)據(jù)。而 對于非文本文件,現(xiàn)有的操作系統(tǒng)一般都提供了 OLE技術(shù),OLE是Object Linking and Embedding的縮寫,可以翻譯為對象鏈接和嵌入。OLE是在客戶應(yīng) 用程序間傳輸和共享信息的一組綜合標(biāo)準(zhǔn),其允許創(chuàng)建帶有指向應(yīng)用程序的鏈 接的混合文檔以使用戶修改時不必在應(yīng)用程序間切換的協(xié)議。本發(fā)明可以利用 OLE技術(shù)讀取現(xiàn)有操作系統(tǒng)上大部分文件中的文本數(shù)據(jù)。如,像O伍ce、 PDF 等文件在windows 2000以后的操作系統(tǒng),提供了一個IFilter的COM接口, 允許應(yīng)用程序注冊這個接口。凡是注冊了這個接口的應(yīng)用程序產(chǎn)生的文件,其 他的應(yīng)用程序可以通過這個接口讀取其文本內(nèi)容,比如對于Office、 PDF等文 件,本發(fā)明都可以通過這種方式讀取其文本內(nèi)容。 一般過程可以為依據(jù)文件 路徑獲取相應(yīng)文件的IFilter對象,判斷該文件是否已被注冊,如果該文件已 被注冊,則通過IFilter::GetValue獲取文本內(nèi)容。
方式3
可以通過鉤子函數(shù)獲取當(dāng)前應(yīng)用程序向屏幕輸出的數(shù)據(jù); 一般的,可以 hook應(yīng)用程序的TextOut調(diào)用,監(jiān)視其向屏幕上輸出了哪些文本數(shù)據(jù),依據(jù)這 些文本數(shù)據(jù)確定當(dāng)前輸入類別。以Windows操作系統(tǒng)為例, 一般的屏幕顯示
內(nèi)容都需要通過文本輸出函數(shù)(例如TextOut等)完成,則本發(fā)明可以給系統(tǒng) 掛API鉤子函數(shù)(Hook函數(shù))的方式實(shí)現(xiàn)屏幕文字的截取,如在TextOut等 文字輸出函數(shù)的開頭寫了一個jmp語句,通過Hook函數(shù),跳轉(zhuǎn)到事先定義好 的函數(shù)中,獲取要TextOut繪制的文本。通過這種方式,可以獲取通過屏幕顯 示的各種文本lt據(jù)。例如,打開的郵件、即時通訊消息、word文檔等等。
例如,在QQ.exe中啟動輸入法,輸入法可以hook應(yīng)用程序的DrawText 調(diào)用,監(jiān)視其向屏幕輸出的文字。
方式4
可以通過當(dāng)前應(yīng)用程序的接口對象,獲取相關(guān)信息。對于一些特殊的應(yīng)用 程序,通常都會提供一些公開的接口,以便進(jìn)行二次開發(fā),而本發(fā)明可以通過 這些接口對象,獲取所需的相關(guān)信息。
比較常用的情況是,取得網(wǎng)頁瀏覽器(例如,IE)的相應(yīng)COM對象,從 而獲取當(dāng)前網(wǎng)頁頁面的URI或者文本內(nèi)容等信息。
網(wǎng)絡(luò)上可用的每種資源HTML文檔、圖像、視頻片段、程序等等,都可 以由一個統(tǒng)一資源標(biāo)識符(Uniform Resource Identifier,簡稱"URT')進(jìn)行定位。 URI—般由三部分組成訪問資源的命名機(jī)制;存放資源的主機(jī)名;資源自身 的名稱、路徑或者參數(shù)。在網(wǎng)絡(luò)資源數(shù)據(jù)傳輸領(lǐng)域中比較常用的是URL (Uniform Resource Location,統(tǒng)一資源定位符),URL是URI命名機(jī)制的一 個子集。
例如,輸入法啟動后,如果能夠識別其為IE(應(yīng)用程序名為"iexplore.exe"), 則進(jìn)一步取得頁面URL。如果能夠判定其在寫博客(在http://blog.sohu.com/ 地址下),則可以確定為博客文檔類別。
前面主要介紹了輸入環(huán)境所涉及文本數(shù)據(jù)的采集,下面簡單介紹 一些具體 的確定策略
例如,預(yù)置與類別相應(yīng)的標(biāo)準(zhǔn)詞庫,將所采集的相關(guān)文本數(shù)據(jù)進(jìn)行分詞之 后與類別標(biāo)準(zhǔn)詞庫中的字詞記錄進(jìn)行匹配,如果匹配度高于一定閾值,則可以 確定屬于本類別。
再例如,預(yù)置與類別相應(yīng)的一段標(biāo)準(zhǔn)文本,判斷所采集的相關(guān)文本數(shù)據(jù)與
標(biāo)準(zhǔn)文本之間的相似度,如果相似度高于一定閾值,則可以確定屬于本類別。 再例如,還可以針對所采集的相關(guān)文本數(shù)據(jù)進(jìn)行語義分析,將該文本數(shù)據(jù) 按照語義進(jìn)行分類,從而確定輸入類別。至于具體的語義分析過程,則可以參 考自然語言處理相關(guān)知識即可,本發(fā)明在此不再贅述。
對于本發(fā)明前面所提及的幾種確定當(dāng)前輸入類別的方式,其中,對應(yīng)信息 表的匹配效率較高、實(shí)時性較好,但是準(zhǔn)確性不是很高(僅根據(jù)應(yīng)用程序名稱、 窗口標(biāo)題等信息容易導(dǎo)致判斷錯誤)。而采用信息分析或者語料匹配的方式, 適應(yīng)性和準(zhǔn)確性都有所保證,但是由于積累信息需要時間(例如字?jǐn)?shù)> 1000, 或者時間超過一預(yù)設(shè)閾值),所以導(dǎo)致其不能即時發(fā)揮作用,實(shí)時性稍差。根 據(jù)實(shí)際情況選用或者組合使用,應(yīng)該是比較好的選擇。
一般的,針對同一輸入環(huán)境,只要類別確定一次即可;優(yōu)選的,針對同一
輸入環(huán)境,也可以反復(fù)執(zhí)行采集和確定過程,以提高當(dāng)前輸入類別的判定準(zhǔn)確 度。當(dāng)然,由于匹配、加載具有一定代價,可能需要對時間間隔進(jìn)行一定的控
制。另外還可能需要考慮系統(tǒng)的CPU占用和內(nèi)存占用(盡量在空閑時期進(jìn)行)。 上述舉例說明的各種方式既可以單獨(dú)應(yīng)用,也可以組合4吏用,以達(dá)到更好 的協(xié)同效果。而實(shí)際上,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,對于一些其他的操作系 統(tǒng)或者具體的應(yīng)用程序,則也可以采用各種特有的采集方式,在此無法——詳 述。例如,除了上述的類別確定方式,還可以直接通過用戶選擇的方式確定 當(dāng)前輸入類別,引入用戶的主觀策略。
參照圖2,示出了一種向用戶詞庫中記錄信息的裝置實(shí)施例,由于該裝 置實(shí)施例是相應(yīng)于前述方法實(shí)施例的虛擬裝置,所以相近之處就不再介紹,參 見前述相關(guān)部分即可。該裝置實(shí)施例包括
用戶詞庫201 ,所述用戶詞庫中每個字詞的屬性信息存儲空間由多個子 空間構(gòu)成,用于存儲該字詞在不同類別下的屬性信息;所述屬性信息包括 詞頻4言息;
類別確定模塊202,用于當(dāng)用戶利用輸入法系統(tǒng)進(jìn)行字符輸入時,依據(jù) 所采集的用戶當(dāng)前輸入環(huán)境的相關(guān)信息,確定該用戶的當(dāng)前輸入類別;
記錄^f莫塊203,用于將該用戶在當(dāng)前類別下所輸入的字詞及相應(yīng)的詞頻信 息記錄至用戶詞庫的相應(yīng)子空間中。
在本發(fā)明的另一優(yōu)選實(shí)施例中,圖2所示的裝置還可以包括匯集處理才莫 塊204,用于匯集一字詞在各個類別下的屬性信息并進(jìn)行處理,得到針對該字 詞的通用屬性信息。當(dāng)屬性信息中包括詞頻信息時,則所述通用屬性信息可以 為權(quán)重詞頻或者權(quán)重排序信息。
進(jìn)一步,在本發(fā)明的另一優(yōu)選實(shí)施例中,圖2所示的裝置還可以包括類 別調(diào)整模塊205,用于動態(tài)調(diào)整對所述子空間的劃分。
對于所述類別確定模塊的實(shí)現(xiàn)而言,可以進(jìn)一步包括對應(yīng)信息表和查 找匹配子模塊;其中,所述對應(yīng)信息表用以存儲類別信息及對應(yīng)的輸入環(huán) 境相關(guān)信息;所述輸入環(huán)境相關(guān)信息可以為應(yīng)用程序名稱、網(wǎng)站地址、當(dāng) 前窗口的標(biāo)題、文檔位置或者文檔名稱等等;所述查找匹配子模塊,用于 根據(jù)所采集的當(dāng)前輸入環(huán)境相關(guān)信息,在所述對應(yīng)信息表查找對應(yīng)的類別 信息,得到當(dāng)前輸入類別。
對于所述類別確定模塊的實(shí)現(xiàn)而言,也可以進(jìn)一步包括文本分析子模 塊,當(dāng)所采集的當(dāng)前輸入環(huán)境的相關(guān)信息包括用戶在當(dāng)前輸入環(huán)境中所涉及 的文本lt據(jù)時,則所述類別確定才莫塊通過對所述文本it據(jù)進(jìn)行分析,確定該 用戶的當(dāng)前輸入類別。
進(jìn)一步,本發(fā)明還期望保護(hù)由前述方法和裝置實(shí)施例直接得到的產(chǎn)物_ _ 用戶詞庫,該用戶詞庫可以包括
字詞存儲空間,用于存儲字和詞;以及,
針對每個字詞的屬性信息存儲空間,該屬性信息存儲空間由多個子空 間構(gòu)成, 一子空間對應(yīng)一輸入類別,用于存儲該字詞在不同類別下的屬性 信息;所述屬性信息包括詞頻信息。所述用戶詞庫可以記錄用戶在不同類 別下所輸入的字詞及相應(yīng)的詞頻信息。
參照圖3,示出了一種字符輸入的方法實(shí)施例,其特征在于,包括 步驟301、加載系統(tǒng)詞庫和用戶詞庫,所述用戶詞庫中針對每個字詞的屬 性信息存儲空間由多個子空間構(gòu)成,用于記錄該字詞在不同類別下的屬性 信息;所述屬性信息包括詞頻信息;
一般情況下,系統(tǒng)詞庫和用戶詞庫以兩個獨(dú)立的詞庫形式存在,當(dāng)然, 在某些情況下,系統(tǒng)詞庫和用戶詞庫還可以合并為一個詞庫形式,只是在 該同 一詞庫中劃分為兩個邏輯部分——系統(tǒng)詞庫和用戶詞庫。
步驟302、采集用戶當(dāng)前輸入環(huán)境的相關(guān)信息,確定該用戶的當(dāng)前輸入
類別;
步驟303、接收用戶的輸入信息;
步驟304、依據(jù)所接收的輸入信息,在系統(tǒng)詞庫和用戶詞庫中進(jìn)行檢索, 得到相應(yīng)的候選項(xiàng);
步驟305、依據(jù)系統(tǒng)詞庫中的通用屬性信息以及用戶詞庫中當(dāng)前輸入類別 的屬性信息,對所述候選項(xiàng)進(jìn)行排序并顯示;
優(yōu)選的,當(dāng)所確定的當(dāng)前輸入類別為多個時,可以根據(jù)所述多個類別 分別對應(yīng)的多個類別屬性值,分權(quán)重計(jì)算得到該字詞在用戶詞庫中當(dāng)前輸 入類別的綜合屬性值,參與候選項(xiàng)的排序顯示。
步驟306、接收用戶的選擇信息,輸出指定的候選項(xiàng)。
對于利用系統(tǒng)詞庫和用戶詞庫中的詞頻信息進(jìn)行候選項(xiàng)排序的技術(shù)屬于 現(xiàn)有技術(shù),在此不再詳述。例如,可能采用的方式包括用戶詞庫中的詞條排 序都優(yōu)先于系統(tǒng)詞庫中的詞條;或者,計(jì)算得到一通用的排序權(quán)重值,完成排 序等等。
對于步驟302中確定該用戶的當(dāng)前輸入類別的方案,可以釆用前述的各種 方式,例如
可以通過用戶選擇的方式確定當(dāng)前輸入類別。
述對應(yīng)信息表用以存儲類別信息及對應(yīng)的輸入環(huán)境相關(guān)信息;所述輸入環(huán) 境相關(guān)信息可以為應(yīng)用程序名稱、網(wǎng)站地址、當(dāng)前窗口的標(biāo)題、文檔位置 或者文檔名稱等;根據(jù)所采集的當(dāng)前輸入環(huán)境相關(guān)信息,在所述對應(yīng)信息 表查找對應(yīng)的類別信息,得到當(dāng)前輸入類別。
當(dāng)所采集的當(dāng)前輸入環(huán)境的相關(guān)信息包括用戶在當(dāng)前輸入環(huán)境中所涉及 的文本數(shù)據(jù)時;也可以通過對所述文本數(shù)據(jù)進(jìn)行分析,確定該用戶的當(dāng)前輸 入類別。其中,可以通過以下方式獲取用戶在當(dāng)前輸入環(huán)境中所涉及的文本
數(shù)據(jù)通過調(diào)用相應(yīng)的系統(tǒng)函數(shù)獲取剪貼板中的數(shù)據(jù);或者,通過調(diào)用相應(yīng)的
系統(tǒng)函數(shù)獲取當(dāng)前應(yīng)用程序所操作的文件名稱及其路徑,進(jìn)而掃描獲取該文件
的內(nèi)容數(shù)據(jù);或者,通過調(diào)用相應(yīng)的系統(tǒng)函數(shù)獲取當(dāng)前應(yīng)用程序向屏幕輸出的 數(shù)據(jù);或者,通過網(wǎng)頁瀏覽器的接口對象,獲取當(dāng)前頁面的內(nèi)容數(shù)據(jù)。
在本發(fā)明的一個優(yōu)選實(shí)施例中,還可以通過記錄該用戶在一輸入環(huán)境下 的輸入歷史文本數(shù)據(jù),從而通過分析該輸入歷史文本數(shù)據(jù),確定用戶當(dāng)前 輸入類別。即當(dāng)所述當(dāng)前輸入環(huán)境的相關(guān)信息包括該用戶在一輸入環(huán)境下 的輸入歷史文本數(shù)據(jù)時;則還可以通過分析該輸入歷史文本數(shù)據(jù),確定用 戶當(dāng)前輸入類別。至于具體的文本分析過程前面已經(jīng)詳細(xì)介紹,請參見即 可。
當(dāng)然,為了進(jìn)一步增強(qiáng)文本數(shù)據(jù)分析的準(zhǔn)確性,還可以引入應(yīng)用程序 與類別的相關(guān)度,依據(jù)所述相關(guān)度修正文本數(shù)據(jù)分析結(jié)果,從而達(dá)到更好 的準(zhǔn)確性。
對于前述的各方法實(shí)施例,為了簡單描述,故將其都表述為一系列的動作 組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動作順序的限制, 因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時進(jìn)行。例如,步驟302 與步驟303和304的關(guān)系就是如此,步驟302雖然在說明書中的描述在前,但 是并不限定其一定在步驟303和304之前執(zhí)行。
參照圖4,示出了一種輸入法系統(tǒng)實(shí)施例,包括 系統(tǒng)詞庫401,用于記錄基礎(chǔ)字詞及其屬性信息;
用戶詞庫402,所述用戶詞庫中針對每個字詞的屬性信息存儲空間由多 個子空間構(gòu)成,用于記錄該字詞在不同類別下的屬性信息;所述屬性信息 包括詞頻信息;
信息采集單元403,用于采集用戶當(dāng)前輸入環(huán)境的相關(guān)信息; 類別確定單元404,用于依據(jù)所采集的當(dāng)前輸入環(huán)境相關(guān)信息,確定該用 戶的當(dāng)前輸入類別;
輸入接口單元405,用于接收用戶的輸入信息;
信息轉(zhuǎn)換單元406,用于依據(jù)所接收的輸入信息,在系統(tǒng)詞庫和用戶詞庫
中進(jìn)行檢索,得到相應(yīng)的候選項(xiàng);
排序顯示單元407,用于依據(jù)系統(tǒng)詞庫中的通用屬性信息以及用戶詞庫中 當(dāng)前輸入類別的屬性信息,對所述候選項(xiàng)進(jìn)行排序并顯示;
輸出單元408,用于接收用戶的選擇信息,輸出指定的候選項(xiàng)。
對于類別確定單元404,可以采用前述的各種類別確定方式。例如,所述 類別確定單元可以進(jìn)一步包括對應(yīng)信息表和匹配查找子單元,其中,所述 對應(yīng)信息表用以存儲類別信息及對應(yīng)的輸入環(huán)境相關(guān)信息;所述輸入環(huán)境 相關(guān)信息包括應(yīng)用程序名稱、網(wǎng)站地址、當(dāng)前窗口的標(biāo)題、文檔位置或者 文檔名稱;所述匹配查找子單元用于根據(jù)所采集的當(dāng)前輸入環(huán)境相關(guān)信息 在所述對應(yīng)信息表查找對應(yīng)的類別信息,得到當(dāng)前輸入類別。
在另 一實(shí)施例中,當(dāng)所采集的當(dāng)前輸入環(huán)境的相關(guān)信息包括用戶在當(dāng)前 輸入環(huán)境中所涉及的文本數(shù)據(jù);則所述類別確定單元還可以通過對所述文本 數(shù)據(jù)進(jìn)行分析,確定該用戶的當(dāng)前輸入類別。
在一優(yōu)選實(shí)施例中,輸入法系統(tǒng)還可以包括歷史輸入數(shù)據(jù)記錄單元,用 于記錄該用戶在一輸入環(huán)境下的輸入歷史文本數(shù)據(jù)作為當(dāng)前輸入環(huán)境相關(guān) 信息;則,所述類別確定單元也可以通過分析該輸入歷史文本數(shù)據(jù)的方式, 確定用戶當(dāng)前輸入類別。
在另一優(yōu)選實(shí)施例中,輸入法系統(tǒng)還可以包括綜合屬性計(jì)算單元,用 于當(dāng)所確定的當(dāng)前輸入類別為多個時,根據(jù)所述多個類別分別對應(yīng)的多個 類別屬性值,分權(quán)重計(jì)算得到該字詞在用戶詞庫中當(dāng)前輸入類別的綜合屬 性值,參與候選項(xiàng)排序。
上述輸入法系統(tǒng)的實(shí)施例可以為普通輸入法系統(tǒng),如,通過用戶本地 計(jì)算設(shè)備完成整個輸入過程,包括信息輸入、信息轉(zhuǎn)換以及顯示輸出。上 述輸入法系統(tǒng)的實(shí)施例也可以為網(wǎng)絡(luò)輸入法系統(tǒng),如,通過用戶本地計(jì)算 設(shè)備完成輸入信息的接入,以及候選項(xiàng)的顯示輸出,而信息轉(zhuǎn)換、計(jì)算排 序等過程則在另一計(jì)算設(shè)備中完成。也就是說,本發(fā)明并不需要限定輸入 法系統(tǒng)實(shí)施例中的各個模塊的具體地理位置,只要具有相應(yīng)的功能和相應(yīng) 的連接關(guān)系即可。
需要說明的是,本說明書中的各個實(shí)施例均采用遞進(jìn)的方式描述,每個實(shí)
施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個實(shí)施例之間相同相似的部 分互相參見即可。
對于系統(tǒng)實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡 單,相關(guān)之處參見方法實(shí)施例的部分說明即可。其次,本領(lǐng)域技術(shù)人員也應(yīng)該 知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動作和^^塊并不 一定是本發(fā)明所必須的。
以上對本發(fā)明所提供的 一種向用戶詞庫中記錄信息的方法和裝置, 一種用 戶詞庫以及利用該用戶詞庫進(jìn)行字符輸入的方法和系統(tǒng),進(jìn)行了詳細(xì)介紹,本
明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技 術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會有改變之處, 綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
權(quán)利要求
1、一種向用戶詞庫中記錄信息的方法,其特征在于,包括預(yù)置用戶詞庫的記錄格式,將每個字詞的屬性信息存儲空間劃分為多個子空間,用于記錄該字詞在不同類別下的屬性信息;當(dāng)用戶利用輸入法系統(tǒng)進(jìn)行字符輸入時,依據(jù)所采集的用戶當(dāng)前輸入環(huán)境的相關(guān)信息,確定該用戶的當(dāng)前輸入類別;將該用戶在當(dāng)前類別下所輸入的字詞及相應(yīng)的屬性信息記錄至用戶詞庫中。
2、 如權(quán)利要求l所述的方法,其特征在于,還包括 匯集一字詞在各個類別下的屬性信息并進(jìn)行處理,得到針對該字詞的通用屬性信息。
3、 如權(quán)利要求l所述的方法,其特征在于,還包括 動態(tài)調(diào)整對所述子空間的劃分。
4、 如權(quán)利要求l所述的方法,其特征在于,還包括 通過用戶選擇的方式確定當(dāng)前輸入類別。
5、 如權(quán)利要求l所述的方法,其特征在于,通過以下步驟確定該用戶的 當(dāng)前輸入類別預(yù)置對應(yīng)信息表,所述對應(yīng)信息表用以存儲類別信息及對應(yīng)的輸入環(huán) 境相關(guān)信息;所述輸入環(huán)境相關(guān)信息包括應(yīng)用程序名稱、網(wǎng)站地址、當(dāng)前 窗口的標(biāo)題、文檔位置或者文檔名稱中的至少一個;根據(jù)所采集的當(dāng)前輸入環(huán)境相關(guān)信息,在所述對應(yīng)信息表查找對應(yīng)的 類別信息,得到當(dāng)前輸入類別。
6、 如權(quán)利要求l所述的方法,其特征在于,所采集的當(dāng)前輸入環(huán)境的相 關(guān)信息包括用戶在當(dāng)前輸入環(huán)境中所涉及的文本數(shù)據(jù);則通過對所述文本數(shù) 據(jù)進(jìn)行分析,確定該用戶的當(dāng)前輸入類別。
7、 如權(quán)利要求6所述的方法,其特征在于,通過以下方式獲取用戶在當(dāng) 前輸入環(huán)境中所涉及的文本數(shù)據(jù)通過相應(yīng)的系統(tǒng)函數(shù)獲取剪貼板中的數(shù)據(jù);或者,通過相應(yīng)的系統(tǒng)函數(shù)獲取當(dāng)前應(yīng)用程序所操作的文件名稱及其路 徑,進(jìn)而掃描獲取該文件的內(nèi)容數(shù)據(jù);或者,通過相應(yīng)的系統(tǒng)函數(shù)獲取當(dāng)前應(yīng)用程序向屏幕輸出的數(shù)據(jù); 或者,通過網(wǎng)頁瀏覽器的接口對象,獲取當(dāng)前頁面的內(nèi)容數(shù)據(jù)。
8、 如權(quán)利要求l所述的方法,其特征在于當(dāng)所確定的翁輸入類別為多個時,則將詞頻信息同時記錄至多個相 應(yīng)子空間或者分權(quán)重記錄至多個相應(yīng)子空間。
9、 一種向用戶詞庫中記錄信息的裝置,其特征在于,包括用戶詞庫,所述用戶詞庫中每個字詞的屬性信息存儲空間由多個子空 間構(gòu)成,用于存儲該字詞在不同類別下的屬性信息;類別確定模塊,用于當(dāng)用戶利用輸入法系統(tǒng)進(jìn)行字符輸入時,依據(jù)所 采集的用戶當(dāng)前輸入環(huán)境的相關(guān)信息,確定該用戶的當(dāng)前輸入類別;記錄模塊,用于將該用戶在當(dāng)前類別下所輸入的字詞及相應(yīng)的屬性信息記 錄至用戶詞庫中。
10、 如權(quán)利要求9所述的裝置,其特征在于,還包括 匯集處理模塊,用于匯集一字詞在各個類別下的屬性信息并進(jìn)行處理,得到針對該字詞的通用屬性信息。
11、 如權(quán)利要求9所述的裝置,其特征在于,還包括 類別調(diào)整模塊,用于動態(tài)調(diào)整對所述子空間的劃分。
12、 如權(quán)利要求9所述的裝置,其特征在于,所述類別確定模塊進(jìn)一步 包括對應(yīng)信息表,所述對應(yīng)信息表用以存儲類別信息及對應(yīng)的輸入環(huán)境相 關(guān)信息;所述輸入環(huán)境相關(guān)信息包括應(yīng)用程序名稱、網(wǎng)站地址、當(dāng)前窗口 的標(biāo)題、文檔位置或者文檔名稱中的至少一個;查找匹配子模塊,用于根據(jù)所采集的當(dāng)前輸入環(huán)境相關(guān)信息,在所述 對應(yīng)信息表查找對應(yīng)的類別信息,得到當(dāng)前輸入類別。
13、 如權(quán)利要求9所述的裝置,其特征在于,所采集的當(dāng)前輸入環(huán)境的 相關(guān)信息包括用戶在當(dāng)前輸入環(huán)境中所涉及的文本數(shù)據(jù);則所述類別確定模 塊通過對所述文本數(shù)據(jù)進(jìn)行分析,確定該用戶的當(dāng)前輸入類別。
14、 一種用戶詞庫,其特征在于,包括字詞存儲空間;針對每個字詞的屬性信息存儲空間,該屬性信息存儲空間由多個子空 間構(gòu)成, 一子空間對應(yīng)一輸入類別,用于記錄該字詞在不同輸入類別下的 屬性信息。
15、 一種字符輸入的方法,其特征在于,包括加載系統(tǒng)詞庫和用戶詞庫,所述用戶詞庫中針對每個字詞的屬性信息存 儲空間由多個子空間構(gòu)成,用于記錄該字詞在不同輸入類別下的屬性信息; 所述屬性信息包括詞頻信息;采集用戶當(dāng)前輸入環(huán)境的相關(guān)信息,確定該用戶的當(dāng)前輸入類別;接收用戶的輸入信息;依據(jù)所接收的輸入信息,在系統(tǒng)詞庫和用戶詞庫中進(jìn)行檢索,得到相應(yīng) 的候選項(xiàng);依據(jù)系統(tǒng)詞庫中的通用屬性信息以及用戶詞庫中當(dāng)前輸入類別的屬性信 息,對所述候選項(xiàng)進(jìn)行排序并顯示;接收用戶的選擇信息,輸出指定的候選項(xiàng)。
16、 如權(quán)利要求15所述的方法,其特征在于所述當(dāng)前輸入環(huán)境的相關(guān) 信息包括該用戶在一輸入環(huán)境下的輸入歷史文本數(shù)據(jù);則,通過分析該輸 入歷史文本數(shù)據(jù),確定用戶當(dāng)前輸入類別。
17、 如權(quán)利要求15所述的方法,其特征在于,還包括通過用戶選擇的 方式確定當(dāng)前輸入類別。
18、 如權(quán)利要求15所述的方法,其特征在于,通過以下步驟確定該用戶 的當(dāng)前豐命入類別預(yù)置對應(yīng)信息表,所述對應(yīng)信息表用以存儲類別信息及對應(yīng)的輸入環(huán) 境相關(guān)信息;所述輸入環(huán)境相關(guān)信息包括應(yīng)用程序名稱、網(wǎng)站地址、當(dāng)前 窗口的標(biāo)題、文檔位置或者文檔名稱中的至少一個;根據(jù)所采集的當(dāng)前輸入環(huán)境相關(guān)信息,在所述對應(yīng)信息表查找對應(yīng)的 類別信息,得到當(dāng)前輸入類別。
19、 如權(quán)利要求15所述的方法,其特征在于,所采集的當(dāng)前輸入環(huán)境的 相關(guān)信息包括用戶在當(dāng)前輸入環(huán)境中所涉及的文本數(shù)據(jù);則通過對所述文本數(shù)據(jù)進(jìn)行分析,確定該用戶的當(dāng)前輸入類別。
20、 如權(quán)利要求19所述的方法,其特征在于,通過以下方式獲取用戶在 當(dāng)前輸入環(huán)境中所涉及的文本數(shù)據(jù)通過相應(yīng)的系統(tǒng)函數(shù)獲取剪貼板中的數(shù)據(jù);或者,通過相應(yīng)的系統(tǒng)函數(shù)獲取當(dāng)前應(yīng)用程序所操作的文件名稱及其路 徑,進(jìn)而掃描獲取該文件的內(nèi)容數(shù)據(jù);或者,通過相應(yīng)的系統(tǒng)函數(shù)獲取當(dāng)前應(yīng)用程序向屏幕輸出的數(shù)據(jù); 或者,通過網(wǎng)頁瀏覽器的接口對象,獲取當(dāng)前頁面的內(nèi)容數(shù)據(jù)。
21、 如權(quán)利要求15所述的方法,其特征在于,當(dāng)所確定的當(dāng)前輸入類 別為多個時,根據(jù)所述多個類別分別對應(yīng)的多個類別屬性值,分權(quán)重計(jì)算 得到該字詞當(dāng)前輸入類別的綜合屬性值。
22、 一種輸入法系統(tǒng),其特征在于,包括 系統(tǒng)詞庫,用于記錄基礎(chǔ)字詞及其屬性信息;用戶詞庫,所述用戶詞庫中針對每個字詞的屬性信息存儲空間由多個子 空間構(gòu)成,用于記錄該字詞在不同輸入類別下的屬性信息;所述屬性信息包 括詞頻信息;信息采集單元,用于采集用戶當(dāng)前輸入環(huán)境的相關(guān)信息; 類別確定單元,用于依據(jù)所采集的當(dāng)前輸入環(huán)境相關(guān)信息,確定該用戶 的當(dāng)前輸入類別;輸入接口單元,用于接收用戶的輸入信息;信息轉(zhuǎn)換單元,用于依據(jù)所接收的輸入信息,在系統(tǒng)詞庫和用戶詞庫中進(jìn) 行;險索,得到相應(yīng)的候選項(xiàng);排序顯示單元,用于依據(jù)系統(tǒng)詞庫中的通用屬性信息以及用戶詞庫中當(dāng)前 輸入類別的屬性信息,對所述候選項(xiàng)進(jìn)行排序并顯示;輸出單元,用于接收用戶的選擇信息,輸出指定的候選項(xiàng)。
23、 如權(quán)利要求22所述的系統(tǒng),其特征在于,還包括歷史輸入數(shù)據(jù)記錄單元,用于記錄該用戶在一輸入環(huán)境下的輸入歷史文 本數(shù)據(jù)作為當(dāng)前輸入環(huán)境相關(guān)信息;貝'J,所述類別確定單元通過分析該輸入歷史文本數(shù)據(jù)的方式,確定用戶當(dāng)前輸入類別。
24、 如權(quán)利要求22所述的系統(tǒng),其特征在于,所述類別確定單元進(jìn)一步 包括對應(yīng)信息表,所述對應(yīng)信息表用以存儲類別信息及對應(yīng)的輸入環(huán)境相 關(guān)信息;所述輸入環(huán)境相關(guān)信息包括應(yīng)用程序名稱、網(wǎng)站地址、當(dāng)前窗口 的標(biāo)題、文檔位置或者文檔名稱中的至少一個;匹配查找子單元,用于根據(jù)所采集的當(dāng)前輸入環(huán)境相關(guān)信息在所述對 應(yīng)信息表查找對應(yīng)的類別信息,得到當(dāng)前輸入類別。
25、 如權(quán)利要求22所述的系統(tǒng),其特征在于,所采集的當(dāng)前輸入環(huán)境的 相關(guān)信息包括用戶在當(dāng)前輸入環(huán)境中所涉及的文本數(shù)據(jù);則,所述類別確定 單元通過對所述文本數(shù)據(jù)進(jìn)行分析,確定該用戶的當(dāng)前輸入類別。
26、 如權(quán)利要求22所述的系統(tǒng),其特征在于,還包括 綜合屬性計(jì)算單元,用于當(dāng)所確定的當(dāng)前輸入類別為多個時,根據(jù)所述多個類別分別對應(yīng)的多個類別屬性值,分權(quán)重計(jì)算得到該字詞當(dāng)前輸入 類別的綜合屬性值。
全文摘要
本發(fā)明提供了一種向用戶詞庫中記錄信息的方法和裝置,該方法包括預(yù)置用戶詞庫的記錄格式,將每個字詞的屬性信息存儲空間劃分為多個子空間,用于記錄該字詞在不同類別下的屬性信息;當(dāng)用戶利用輸入法系統(tǒng)進(jìn)行字符輸入時,依據(jù)所采集的用戶當(dāng)前輸入環(huán)境的相關(guān)信息,確定該用戶的當(dāng)前輸入類別;將該用戶在當(dāng)前類別下所輸入的字詞及相應(yīng)的屬性信息記錄至用戶詞庫中。本發(fā)明創(chuàng)新性的提出,將用戶的輸入習(xí)慣信息(例如,輸入字詞及其詞頻等)分環(huán)境記錄至用戶詞庫中,從而可以更好的更準(zhǔn)確的記錄用戶的輸入習(xí)慣。進(jìn)而,當(dāng)采用本發(fā)明的用戶詞庫進(jìn)行輸入時,可以動態(tài)的與用戶輸入環(huán)境或者輸入內(nèi)容相匹配,大大提高用戶輸入過程中首選詞準(zhǔn)確率。
文檔編號G06F17/30GK101388011SQ20071012175
公開日2009年3月18日 申請日期2007年9月13日 優(yōu)先權(quán)日2007年9月13日
發(fā)明者磊 楊 申請人:北京搜狗科技發(fā)展有限公司