專利名稱:一種人名詞庫生成方法、裝置及文字輸入系統(tǒng)的制作方法
技術領域:
本發(fā)明屬于計算機軟件領域,尤其涉及一種人名詞庫生成方法、裝置及文字輸入系統(tǒng)。
背景技術:
輸入法是指為了將各種符號輸入計算機或移動電話等其他設備而采用的編碼方法。漢字輸入的編碼方法,基本上都是采用將音、形、義與特定的鍵相聯(lián)系,再根據不同漢字進行組合來完成漢字的輸入的。目前,很多漢字輸入法都支持專有的人名輸入模式,通過統(tǒng)計中國所有存在的姓氏,從同學錄、郵箱或者其它數據庫中提取人的姓名,形成人名語料,根據人名語料進行人名詞庫的訓練,提取可能作為名字的字和詞,并取得它們出現的頻率,形成輸入法的人名詞庫。在輸入時,輸入法根據用戶輸入的拼音串和人名詞庫的數據進行姓氏和名字的組詞,得到輸出的人名。上述基于人名語料統(tǒng)計只能找到有限的語料,不管是同學錄還是郵箱,或者其他的人名語料能夠獲取到的人名都是有限的,導致語料訓練結果、人名輸出結果和準確率都受到很大限制。
發(fā)明內容
本發(fā)明實施例的目的在于提供一種人名詞庫生成方法,旨在解決現有的人名語料有限,導致語料訓練結果、人名輸出結果和準確率受到限制的問題。本發(fā)明實施例是這樣實現的,一種人名詞庫生成方法,所述方法包括以下步驟獲取用戶詞庫;從所獲取的用戶詞庫中提取人名語料;從所述人名語料中篩選人名組詞,生成人名詞庫;調整人名組詞在所述人名詞庫中的詞頻。本發(fā)明實施例的另一目的在于提供一種人名詞庫生成裝置,所述裝置包括用戶詞庫獲取單元,用于獲取用戶詞庫;人名語料提取單元,用于從所獲取的用戶詞庫中提取人名語料;人名詞庫生成單元,用于從所述人名語料中篩選人名組詞,生成人名詞庫;人名詞庫,用于存儲所述人名組詞;以及詞頻調整單元,用于調整人名組詞在所述人名詞庫中的詞頻。本發(fā)明實施例的另一目的在于提供一種包含上述人名詞庫生成裝置的文字輸入系統(tǒng)。本發(fā)明實施例從用戶詞庫中提取人名語料,篩選人名組詞,建立人名詞庫,使得人名語料不受限制,能夠生成更好的人名詞庫,提高輸入法在輸出人名時的合理性和準確率。
圖1是本發(fā)明實施例提供的人名詞庫生成方法的實現流程圖;圖2是本發(fā)明實施例提供的人名詞庫生成裝置的結構圖。
具體實施方式
為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明實施例從輸入法的用戶詞庫提取人名語料,篩選生成人名詞庫,對人名詞庫進行訓練優(yōu)化,將訓練優(yōu)化后的人名詞庫更新到使用輸入法的用戶,提高人名組詞的合理性和準確率。圖1示出了本發(fā)明實施例提供的人名詞庫生成方法的實現流程,詳述如下在步驟SlOl中,獲取用戶詞庫;用戶輸入文字時,輸入法會將用戶輸入的字串記錄在用戶本地,形成用戶詞庫。在本發(fā)明實施例中,可以由輸入法自動將用戶詞庫上報給后臺服務器,或者由用戶主動將本地的用戶詞庫上報給后臺服務器,后臺服務器獲取輸入法或者用戶上報的用戶詞庫,以用戶詞庫為基礎,從用戶詞庫中提取人名語料。在步驟S102中,從所獲取的用戶詞庫中提取人名語料;在本發(fā)明實施例中,要實現人名組詞,首先要收集人名的姓氏,以區(qū)分一個詞或者一個短語(2 4個字)是否是一個人名。由于中國的姓氏是有限的,通過基于百家姓的人工收集可以很容易完成,收集人名姓氏,生成姓氏詞庫。本發(fā)明實施例在獲取用戶詞庫后,根據姓氏從用戶詞庫中提取人名語料。姓氏有單姓和復姓之分,人名一般有單名和雙名之分,如果單姓,則人名一般最多為三個字,最少為兩個字,如果是復姓,則人名一般最多為四個字,最少為三個字。本發(fā)明實施例在提取人名語料時,可以通過這些人名規(guī)則,利用姓氏詞庫中的姓氏作為關鍵字在用戶詞庫中查找,根據一字或者二字的名,提取用戶詞庫中可能存在的人名語料。例如用戶詞庫中的字串為“張三去學校了”,從姓氏詞庫中可以判斷出“張”是一個姓氏,則提取后面的 “三”和“三去”作為人名語料。在步驟S103中,從人名語料中篩選人名組詞,生成人名詞庫;在本發(fā)明實施例中,由于人名語料是簡單的按照一或者兩個字的人名從用戶詞庫中劃分出來的,那么可能存在一些不是人名組詞的數據,例如“張三去”,因此需要對人名語料進行篩選,過濾掉不是人名組詞的數據。首先,將單名字直接作為人名組詞,寫入人名詞庫。單名的人名語料,例如“張三”中,這個“三”即便不是一個人名,也可以作為人名的一部分,因此對于單名的人名語料,可以認定為人名組詞,直接寫入人名詞庫。對于采用父母兩方的姓氏加起來,然后再加一個字的名,例如“燕楊天”,這部分的人名語料作為單字的人名組詞也直接寫入人名詞庫。其次,用戶在輸入文字時,對于用戶詞庫中沒有,而需要經常輸入的人名往往一次拼寫完整,存入用戶詞庫,以方便以后使用。因此,對于用戶詞庫中的用戶自造的人名組詞,可以直接寫入人名詞庫。另外,有意義的詞語一般可以作為雙字的人名組詞,在本發(fā)明實施例中,將出現的雙字的人名語料與輸入法的核心詞庫,或者其他比較準確的詞庫的詞語進行比對,篩選出有意義的詞語和可能沒有意義的詞語,將有意義的詞語基本上認定為一個人名組詞。例如 “張三去”中的“三去”不是一個有意義的詞語,在輸入法的核心詞庫中找不到,因此保留進一步篩選。如果有一個雙字為“高壽”,由于“高壽”可以在標準的詞庫中找到,則認為“高壽”是一個人名組詞,寫入人名詞庫。受限于標準詞庫的容量和精確度,對于篩選出來的可能不是人名組詞的人名語料中,可能還有很大一部分也是人名組詞。在本發(fā)明實施例中,對于這部分人名語料,可以通過人工參與進行篩選,將能夠作為人名組詞的無意義詞語寫入人名詞庫,以保證詞庫中人名組詞的精度,例如“張三豐”中的“三豐”并不是一個有意義的詞語,通過人工參與篩選, 將其作為一個人名組詞,寫入人名詞庫。對于貶義詞或者含義不好的字,例如“壞”,“混蛋”之類的貶義詞一般不會作為人名組詞出現,但收集的人名語料中可能會出現,可以通過人工參與進行篩選和排查去除,或者通過收集相關的字詞數據庫去除。在步驟S104中,調整人名組詞在人名詞庫中的出現頻率。在本發(fā)明實施例中,通過上述方式可以獲得一個相對比較全面的人名詞庫。通過統(tǒng)計人名組詞出現的概率,調整人名詞庫中人名組詞的詞頻,以保證人名組詞的質量。在具體實現時,后臺服務器根據提取到的用戶詞庫,進行姓氏和人名的分詞,統(tǒng)計人名組詞在不同用戶詞庫中出現的概率,作為輸入法中人名組詞頻率的計算依據,從而調整人名組詞在人名詞庫中的詞頻,例如一個人名組詞在多個用戶詞庫中出現,則說明該人名組詞是很多用戶都關心的高頻率人名組詞,則將該人名組詞排在人名詞庫的前面,在用戶輸入時優(yōu)先輸出顯示給用戶選擇。另外,根據取名習慣,由于取名時一般都會考慮順口,例如很少有用音調全部相同的字詞作為名字,這部分的數據只能是一個參考,這類詞作為人名出現時的,其在人名詞庫中的頻率可以適當調低。在本發(fā)明實施例中,將人名詞庫的詞頻調整完成后,可以將詞頻調整完成后的人名詞庫更新到用戶。人名詞庫可以作為一個單獨文件,供用戶下載更新。具體實現時,可以在人名詞庫中按照一定的規(guī)則寫入一個版本號,例如可以用主.副來表示,也可以用一個編號來表示, 不斷遞增,或者按照人名詞庫的生成日期做版本號。輸入法啟動后,調用其自動更新程序和后臺服務器通訊,后臺服務器校驗人名詞庫的版本號信息,必要時判斷是否滿足其他的更新條件,例如對于某些版本的輸入法可能不需要更新,或者不能更新人名詞庫。自動更新程序和后臺服務器校驗之后發(fā)現需要更新時,則從后臺服務器下載人名詞庫到本地,并覆蓋本地原來安裝包中的人名詞庫文件。圖2示出了本發(fā)明實施例提供的人名詞庫生成裝置的結構,為了便于說明,僅示出了與本發(fā)明實施例相關的部分。該人名詞庫生成裝置可以運行在各種文字輸入系統(tǒng)中的后臺服務器中,從輸入法的本地用戶詞庫中提取人名語料,篩選生成人名詞庫,對人名詞庫進行訓練優(yōu)化,并可以將訓練優(yōu)化后的人名詞庫更新到使用輸入法的用戶,提高人名組詞的合理性和準確率。 用戶詞庫獲取單元21獲取用戶詞庫,用戶詞庫具體可以由輸入法自動上報,或者用戶主動上報。人名語料提取單元22從所獲取的用戶詞庫中提取人名語料。作為本發(fā)明的一個實施例,姓氏詞庫221中存儲姓氏信息,人名語料查找提取模塊222根據姓氏詞庫221中的姓氏,以及人名規(guī)則,在用戶詞庫中查找提取人名語料,具體實現如上所述,不再贅述。人名詞庫生成單元23從人名語料提取單元22提取的人名語料中篩選人名組詞, 生成人名詞庫24,具體實現如上所述,不再贅述。人名詞庫24存儲人名詞庫生成單元23篩選的人名組詞。作為本發(fā)明的一個實施例,人名詞庫24中的人名組詞包括單名字、兩個姓氏疊加的單名字、用戶自造的人名組詞、有意義的詞語,或者經人工篩選的無意義詞語,具體實現如上所述,不再贅述。詞頻調整單元25調整人名組詞在人名詞庫24中的詞頻。詞頻調整單元25對人名詞庫24中的人名組詞進行詞頻調整時,作為本發(fā)明的一個實施例,姓名分詞模塊251根據提取到的用戶詞庫和姓氏詞庫221,進行姓氏和人名的分詞。出現概率統(tǒng)計模塊252統(tǒng)計人名組詞在不同用戶詞庫中出現的概率。詞頻調整模塊253根據人名組詞在不同用戶詞庫中出現的概率,調整人名組詞在人名詞庫24中的詞頻。作為本發(fā)明的一個實施例,人名詞庫的詞頻調整完成后,可以將詞頻調整完成后的人名詞庫更新到用戶。人名詞庫更新單元26將調整詞頻后的人名詞庫更新到用戶,具體更新過程如上所述,不再贅述。本發(fā)明實施例從用戶詞庫中提取人名語料,篩選人名組詞,建立人名詞庫,使得人名語料不受限制,能夠生成更好的人名詞庫,提高輸入法在輸出人名時的合理性和準確率。 同時,人名詞庫更新到用戶,方便用戶使用。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
1.一種人名詞庫生成方法,其特征在于,所述方法包括以下步驟 獲取用戶詞庫;從所獲取的用戶詞庫中提取人名語料; 從所述人名語料中篩選人名組詞,生成人名詞庫; 調整人名組詞在所述人名詞庫中的詞頻。
2.如權利要求1所述的方法,其特征在于,所述從所獲取的用戶詞庫中提取人名語料的步驟具體為生成姓氏詞庫;根據所述姓氏詞庫中的姓氏和人名規(guī)則,在所述用戶詞庫中查找提取人名語料。
3.如權利要求1所述的方法,其特征在于,所述從所述人名語料中篩選人名組詞,生成人名詞庫的步驟具體為當所述人名語料中存在單名字時,將該單名字作為人名組詞,寫入所述人名詞庫; 當所述人名語料中存在兩個姓氏疊加的單名字時,將該單名字作為人名組詞,寫入所述人名詞庫;當所述人名語料中存在用戶自造的人名組詞時,將該人名組詞寫入所述人名詞庫; 當所述人名語料中存在雙字時,篩選有意義的詞語,或者經人工篩選作為人名組詞的無意義詞語,寫入所述人名詞庫。
4.如權利要求1所述的方法,其特征在于,所述調整人名組詞在所述人名詞庫中的詞頻的步驟具體為根據提取到的用戶詞庫,進行姓氏和人名的分詞; 統(tǒng)計人名組詞在不同用戶詞庫中出現的概率;根據人名組詞在不同用戶詞庫中出現的概率,調整所述人名組詞在人名詞庫中的詞頻。
5.如權利要求1所述的方法,其特征在于,所述方法進一步包括下述步驟 將調整詞頻后的人名詞庫更新到用戶。
6.一種人名詞庫生成裝置,其特征在于,所述裝置包括 用戶詞庫獲取單元,用于獲取用戶詞庫;人名語料提取單元,用于從所獲取的用戶詞庫中提取人名語料; 人名詞庫生成單元,用于從所述人名語料中篩選人名組詞,生成人名詞庫; 人名詞庫,用于存儲所述人名組詞;以及詞頻調整單元,用于調整人名組詞在所述人名詞庫中的詞頻。
7.如權利要求6所述的裝置,其特征在于,所述人名語料提取單元包括 姓氏詞庫,用于存儲姓氏信息;以及人名語料查找提取模塊,用于根據所述姓氏詞庫中的姓氏和人名規(guī)則,在所述用戶詞庫中查找提取人名語料。
8.如權利要求6所述的裝置,其特征在于,所述人名詞庫中的人名組詞包括單名字、 兩個姓氏疊加的單名字、用戶自造的人名組詞、有意義的詞語,或者經人工篩選的無意義詞語。
9.如權利要求6所述的裝置,其特征在于,所述詞頻調整單元包括姓名分詞模塊,用于根據提取到的用戶詞庫,進行姓氏和人名的分詞; 出現概率統(tǒng)計模塊,用于統(tǒng)計人名組詞在不同用戶詞庫中出現的概率;以及詞頻調整模塊,用于根據人名組詞在不同用戶詞庫中出現的概率,調整所述人名組詞在人名詞庫中的詞頻。
10.如權利要求6所述的裝置,其特征在于,所述裝置還包括 人名詞庫更新單元,用于將調整詞頻后的人名詞庫更新到用戶。
11.一種包含權利要求6的人名詞庫生成裝置的文字輸入系統(tǒng)。
全文摘要
本發(fā)明適用于計算機軟件領域,提供了一種人名詞庫生成方法、裝置及文字輸入系統(tǒng),所述方法包括以下步驟獲取用戶詞庫;從所獲取的用戶詞庫中提取人名語料;從所述人名語料中篩選人名組詞,生成人名詞庫;調整人名組詞在所述人名詞庫中的詞頻。本發(fā)明實施例從用戶詞庫中提取人名語料,篩選人名組詞,建立人名詞庫,使得人名語料不受限制,能夠生成更好的人名詞庫,提高輸入法在輸出人名時的合理性和準確率。
文檔編號G06F17/30GK102193920SQ20101011802
公開日2011年9月21日 申請日期2010年3月4日 優(yōu)先權日2010年3月4日
發(fā)明者宋愛元 申請人:騰訊科技(深圳)有限公司