專利名稱:自定義詞管理裝置、方法及分詞系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及中文信息處理技術(shù)領(lǐng)域,特別涉及一種自定義詞管理裝置、 方法及分詞系統(tǒng)。
背景技術(shù):
中文信息處理技術(shù)現(xiàn)已在計算機網(wǎng)絡(luò)、數(shù)據(jù)庫技術(shù)、軟件工程等領(lǐng)域得 到了廣泛應(yīng)用,而中文分詞是中文信息處理的一項重要的基礎(chǔ)性工作,在許多中文信息處理項目(例如機器翻譯、自動文摘、自動分類、文獻庫全文 檢索、搜索引擎等)中都會涉及到中文分詞問題。眾所周知,英文是以詞為單位的,詞和詞之間有空格隔開。例如,英文 句子I am a student (我是一個學生)。計算機可以很簡單地通過空格知道 student (學生)是一個單詞。然而,中文是以字為單位的,所有字連起來才 能描述一個意思,句子中的字和字之間沒有類似空格這樣的分割標記。例如, 中文句子我是一個學生。計算機就很難明白"學"、"生"兩個字合起來 才表示一個詞。因此,在中文文本處理中,首先需要解決的問題是對文中每 個句子進行中文分詞(也稱切詞),即為句中的每個詞增加一個詞界標記。 例如,對上面中文句子的分詞的結(jié)果是"我""是""一個""學生"。參見圖1,圖1為現(xiàn)有技術(shù)中中文分詞方法的流程示意圖。由圖l可見, 該方法包4舌步驟101、生成自定義詞典。現(xiàn)有的自定義詞典一般為一個單獨的文本文件,在該文件的每行中存儲 了一個用戶添加的自定義詞。在收錄自定義時,通??梢圆捎脵C器學習的方 法訓練得到,如互信息或基于字標注的最大熵、條件隨機場等方法;也可以采用人工添加自定義詞的方法得到。步驟102、利用自定義詞典進行中文分詞。按照一定的策略將待識別的中文文本切分為漢字串,并將自定義詞典中 所有自定義詞加載到內(nèi)存中,將上述漢字串與上述自定義詞典中的自定義詞 逐個進行匹配,若在詞典中找到相應(yīng)自定義詞,則匹配成功,從而識別出一 個詞。顯然,采用上述方法保i正了待識別的中文文本中包含有詞典中自定義詞 時的中文分詞情況。但是,由于現(xiàn)有技術(shù)的自定義詞典中只是機械地存儲了自定義詞本身,這就存在一個問題用戶利用自定義詞進行中文分詞時的準 確性不高。具體來說,存儲在詞典中的某個自定義詞可能在某個體裁的語境中應(yīng)該 被作為一個整體切出,而在另一個體裁的語境中,就不應(yīng)該被作為一個整體 切出。例如人可以很容易理解句子"馬曉虎去北京玩了,,中的"馬曉虎,, 是一個詞,即一個人的名字,但要是讓計算機去識別就困難了。這時如果把 "馬曉虎"作為一個自定義詞收錄到詞典中了。那么在另一句子"馬曉虎頭 虎腦的"中"馬曉虎"就會被錯誤地作為一個整體切出。顯然,本領(lǐng)域技術(shù)人員可以領(lǐng)會到上述對中文分詞的分析,也適用于例 如韓文、日文等其他類似語言的分詞過程中。發(fā)明內(nèi)容有鑒于此,本發(fā)明的實施例提供了自定義詞管理裝置、方法及分詞系統(tǒng), 解決了用戶利用自定義詞進行分詞時的準確性不高的問題。 根據(jù)本發(fā)明 一 個實施例的 一 種自定義詞管理裝置,包括 接收模塊,用于接收用戶輸入的自定義詞及其屬性; 詞典生成模塊,用于根據(jù)所述自定義詞及其屬性,生成自定義詞典; 詞典加載模塊,用于將所述自定義詞典中的自定義詞及其屬性加載到內(nèi) 存中,等待調(diào)用。根據(jù)本發(fā)明另 一 實施例的 一種自定義詞管理方法,包括
接收用戶輸入的自定義詞及其屬性;
根據(jù)所述自定義詞及其屬性,生成自定義詞典;
將所述自定義詞典中的自定義詞及其屬性加載到內(nèi)存中,等待調(diào)用。
根據(jù)本發(fā)明又 一 實施例的 一種分詞系統(tǒng),包括
自定義詞管理裝置,用于接收用戶輸入的自定義詞及其屬性,根據(jù)所述 自定義詞及其屬性生成自定義詞典,并將所述自定義詞典中的自定義詞及其 屬性加載到內(nèi)存中;
分詞裝置,用于利用加載在內(nèi)存中的自定義詞及其屬性,對待識別文本 進行分詞,匹配所述待識別文本中的自定義詞,并為所述匹配成功的自定義 詞進行屬性標注。
由上述的技術(shù)方案可見,相比現(xiàn)有技術(shù),本發(fā)明實施例提供的自定義詞 管理裝置、方法及分詞系統(tǒng),可以接收用戶輸入的自定義詞及其屬性,根據(jù) 上述自定義詞及其屬性生成自定義詞典,并將上述自定義詞典中的自定義詞 及其屬性加載到內(nèi)存中,等待調(diào)用。利用本發(fā)明實施例提供的自定義詞典進 行分詞時,除了可以提供用戶輸入的自定義詞本身外,還可以提供該自定義 詞的相關(guān)屬性。這樣就可以在將來進行分詞校驗時進一步對自定義詞的屬性 進行判斷,從而確定在當時的特定語境中該分詞方式是否正確。因此,本發(fā) 明解決了用戶利用自定義詞進行分詞時的準確性不高的問題。
圖1為現(xiàn)有技術(shù)中中文分詞方法的流程示意圖; 圖2為本發(fā)明實施例中自定義詞管理裝置的結(jié)構(gòu)示意圖; 圖3為本發(fā)明實施例中自定義詞管理方法的流程示意圖; 圖4為本發(fā)明實施例一中自定義詞管理裝置的結(jié)構(gòu)示意圖; 圖5為本發(fā)明實施例一中自定義詞管理方法的流程示意圖; 圖6為本發(fā)明實施例二中自定義詞管理裝置的結(jié)構(gòu)示意圖;圖7為本發(fā)明實施例二中自定義詞管理方法的流程示意圖;圖8為本發(fā)明實施例三中分詞系統(tǒng)的結(jié)構(gòu)示意圖;圖9為本發(fā)明實施例三中分詞方法的流程示意圖;圖IO為本發(fā)明實施例三中自定義詞典的組織結(jié)構(gòu)示意圖;圖11為本發(fā)明實施例三中類別表的示意圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖及具體 實施例對本發(fā)明作進 一 步地詳細描述。本發(fā)明實施例提供的自定義詞管理裝置及方法,可以接收用戶輸入的自 定義詞及其屬性;根據(jù)上述自定義詞及其屬性生成自定義詞典;并將上述自 定義詞典中的自定義詞及其屬性加載到內(nèi)存中,等待調(diào)用。參見圖2,圖2為本發(fā)明實施例中自定義詞管理裝置的結(jié)構(gòu)示意圖。由 圖2可見,該裝置包括接收模塊201、詞典生成模塊202、詞典加載模塊 204。其中,接收模塊201用于接收用戶輸入的自定義詞及其屬性。 詞典生成模塊202用于根據(jù)上述自定義詞及其屬性,生成自定義詞典。 詞典加載模塊204用于將上述自定義詞典中的自定義詞及其屬性加載到內(nèi)存中,等待調(diào)用。參見圖3,圖3為本發(fā)明實施例中自定義詞管理方法的流程示意圖。由圖3可見,該方法包括步驟301、接收用戶輸入的自定義詞及其屬性。步驟302、根據(jù)上述自定義詞及其屬性,生成自定義詞典。步驟303、將上述自定義詞典中的自定義詞及其屬性加載到內(nèi)存中,等待調(diào)用。下面,通過實施例對本發(fā)明提供的好友添加裝置及方法進行詳細說明。 實施例一參見圖4,圖4為本發(fā)明實施例一中自定義詞管理裝置的結(jié)構(gòu)示意圖。 由圖4可見,該裝置包括接收模塊201、詞典生成模塊202、詞典加載模 塊204。其中,接收模塊201包括自定義詞接收單元2011、類別屬性接收單元2012和詞性屬性4妄收單元2013。自定義詞接收單元2011用于接收用戶輸入的自定義詞。 類別屬性接收單元2012用于接收用戶輸入的自定義詞的類別屬性。 詞性屬性接收單元2013用于接收用戶輸入的自定義詞的詞性屬性。 詞典生成模塊202用于根據(jù)上述自定義詞及其屬性,生成自定義詞典。 詞典加載模塊204用于將上述自定義詞典中的自定義詞及其屬性加載到內(nèi)存中,等待分詞時進行調(diào)用。參見圖5,圖5為本發(fā)明實施例一中自定義詞管理方法的流程示意圖。由圖5可見,該方法包括步驟501、接收用戶輸入的自定義詞。自定義詞管理裝置可以接收用戶采用人工添加方法得到的自定義詞,也 可以接收其他方法得到的自定義詞。其中,自定義詞是指除去現(xiàn)有技術(shù)的核 心詞典中包含的常用詞匯外,諸如人名、地名、組織機構(gòu)名、科技術(shù)語、網(wǎng) 絡(luò)語言之類的新詞。步驟502、接收上述自定義詞的類別屬性和/或詞性屬性。 自定義詞管理裝置在接收到上述自定義詞后,還可以進一步接收上述自 定義詞的類別屬性和/或詞性屬性。例如,用戶接收到"魔獸"這個自定義 詞后,還可以進一步接收"魔獸"為名詞屬性且屬于游戲類別。如果該自定 義詞包括多個類別屬性和/或詞性屬性時,則自定義詞管理裝置接收全部類 別屬性和/或詞性屬性。步驟503、生成包含上述自定義詞及其屬性的自定義詞典。 自定義詞管理裝置采用目錄文件體系結(jié)構(gòu)的方式生成自定義詞典,根據(jù) 接收到的自定義詞的類別屬性,逐級創(chuàng)建對應(yīng)于各個類別的目錄或文件。目錄名為大類別,目錄下的自定義詞文件為該大類別下的某一個特定的小類 別。該自定義詞文件的中每行包含一個具體的用戶自定義詞條,該詞條如果 有詞性,則詞性和詞之間用","分隔,如包含多個詞性,則詞性與詞性之 間用'T分隔,該詞條后也可以不包含詞性,則系統(tǒng)默認會給出一個名詞 詞性。步驟504、將上述自定義詞典中的自定義詞及其屬性加載到內(nèi)存中,等待分詞時進行調(diào)用。本實施例提供的自定義詞管理裝置、方法,可以接收用戶輸入的自定義 詞及其類別和/或詞性屬性,根據(jù)上述自定義詞及其類別和/或詞性屬性生成 自定義詞典,并將上述自定義詞典中的自定義詞及其屬性加載到內(nèi)存中,等 待分詞時進行調(diào)用。利用本發(fā)明實施例提供的自定義詞典進行分詞時,除了 可以提供用戶輸入的自定義詞本身外,還可以提供該自定義詞的相關(guān)屬性。 這樣就可以在將來進行分詞校驗時進一步對自定義詞的屬性進行判斷,從而 確定在當時的特定語境中該分詞方式是否正確。因此,本發(fā)明解決了用戶利 用自定義詞進行分詞時的準確性不高的問題。 實施例二本實施例在實施例一的基礎(chǔ)上,在自定義詞管理裝置中進一步增加了根 據(jù)類別加載自定義詞的功能和自定義詞典的動態(tài)管理功能,通過以上功能可 以根據(jù)用戶需要的類別加載自定義詞典中的自定義詞,還可以為用戶管理自 定義詞典提供便利。參見圖6,圖6為本發(fā)明實施例二中自定義詞管理裝置的結(jié)構(gòu)示意圖。 由圖6可見,該裝置包括接收模塊201、詞典生成模塊202、詞典加載模 塊204。該裝置還可以包括類別選擇模塊603。其中,接收模塊201、詞典生成模塊202與實施例一中的功能相同。類別選擇模塊603用于根據(jù)自定義詞的類別屬性,生成自定義詞典的類 別表,并提供給用戶進行選擇。詞典加載模塊204.用于根據(jù)用戶在類別表中選擇的類別,將自定義詞典中對應(yīng)的自定義詞及其屬性加載到內(nèi)存中。該裝置還可以進一步包括詞典編輯模塊605、詞典備份模塊606。 詞典編輯模塊605用于對加載在內(nèi)存中的自定義詞進行編輯。 詞典備份模塊606用于根據(jù)用戶請求或?qū)崟r地對加載在內(nèi)存中的自定 義詞進行備份。參見圖7,圖7為本發(fā)明實施例二中自定義詞管理方法的流程示意圖。 由圖7可見,該方法包括步驟701、接收用戶輸入的自定義詞。 步驟702、接收上述自定義詞的類別屬性和/或詞性屬性。 步驟703、生成包含上述自定義詞及其屬性的自定義詞典。 該方法還可以包括步驟704、根據(jù)自定義詞的類別屬性,生成自定義詞典的類別表,并提 供給用戶進行選擇。自定義詞管理裝置獲得自定義詞典中所有類別的用戶自定義詞文件的 目錄路徑,及其對應(yīng)的類別信息,將上述信息保存在配置文件中,并根據(jù)配 置文件中保存的上述類別信息,生成自定義詞的類別表提供給用戶進行選 擇。步驟705、根據(jù)用戶在類別表中選擇的類別,將自定義詞典中對應(yīng)的自 定義詞及其屬性加載到內(nèi)存中。用戶選擇某類別后,將上述自定義詞文件(組)中的全部自定義詞加載 到內(nèi)存中,同時給每個自定義詞關(guān)聯(lián)上其所屬的類別和該自定義詞的詞性。該方法還可以進 一 步包括步驟706、對加載在內(nèi)存中的自定義詞進行編輯。如果用戶發(fā)現(xiàn)加載到內(nèi)存中的自定義詞拼寫、詞性或者類別有誤時,可 以對加載在內(nèi)存中的自定義詞進行修改或刪除,用戶還可以直接在內(nèi)存中將 自定義詞典中未包含的自定義詞添加到詞典中。步驟707、根據(jù)用戶請求或?qū)崟r地對加載在內(nèi)存中的自定義詞進行備份。當用戶編輯完自定義詞后,自定義詞管理裝置可以自動將內(nèi)存中的全部 自定義詞保存到相應(yīng)目錄的相應(yīng)自定義詞文件中。自定義詞管理裝置也可以 也可以根據(jù)用戶請求將內(nèi)存中的全部自定義詞保存到相應(yīng)目錄的相應(yīng)自定 義詞文件中。本實施例提供的自定義詞管理裝置、方法,在實施例一的基礎(chǔ)上可以根 據(jù)用戶選擇的自定義詞類別,將對應(yīng)的自定義詞及其屬性加載到分詞裝置中 進行分詞,并為自定義詞典提供了動態(tài)管理功能。 實施例三本實施例在實施例二的基礎(chǔ)上,進一步提出一種分詞系統(tǒng)。本發(fā)明實施 例提供的分詞系統(tǒng),可以接收用戶輸入的自定義詞及其屬性,根據(jù)上述自定 義詞及其屬性生成自定義詞典,并將上述自定義詞典中的自定義詞及其屬性 加載到內(nèi)存中,對待識別文本進行分詞。參見圖8,圖8為本發(fā)明實施例三中分詞系統(tǒng)的結(jié)構(gòu)示意圖。由圖8可 見,該系統(tǒng)包括自定義詞管理裝置801、分詞裝置802。其中,自定義詞管理裝置用于接收用戶輸入的自定義詞及其屬性,根據(jù) 上述自定義詞及其屬性生成自定義詞典,并將上述自定義詞典中的自定義詞 及其屬性加載到內(nèi)存中。該裝置可以采用上述實施例中的任一種自定義詞管理裝置實現(xiàn)。分詞裝置802用于利用加載在內(nèi)存中的自定義詞及其屬性,對待識別文 本進行分詞,匹配上述待識別文本中的自定義詞,并為上述匹配成功的自定 義詞進行屬性標注。其中屬性標注可以包4舌詞性標注和類別標注。參見圖9,圖9為本發(fā)明實施例三中分詞方法的流程示意圖。由圖9可 見,該方法包括步驟901 、接收用戶輸入的自定義詞。 自定義詞管理裝置可以接收采用分詞方法識別得到自定義詞;可以接收 采用機器學習方法訓練得到自定義詞,如采用互信息或基于字標注的最大 熵、條件隨機場等方法得到自定義詞;可以接收用戶采用人工添加方法得到的自定義詞,也可以接收其他方法得到的自定義詞。 步驟902、接收上述自定義詞的類別。自定義詞管理裝置在接收自定義詞后,可以進一 步接收用戶輸入的各個 自定義詞的類別屬性。步驟903 、接收上述自定義詞的詞性。自定義詞管理裝置還可以進一步接收用戶輸入的各個自定義詞的詞性屬性。需要注意的是,在本實施例中步驟502和步驟503并沒有嚴格的先后次 序,這里僅為了描述方便而先說明步驟502后說明步驟503。步驟904、生成包含上述自定義詞及其屬性的自定義詞典。自定義詞管理裝置采用目錄文件體系結(jié)構(gòu)的方式生成自定義詞典。具體 來說,參見圖10,圖IO為本發(fā)明實施例三中自定義詞典的組織結(jié)構(gòu)示意圖。 由圖IO可見,自定義詞管理裝置在系統(tǒng)的外部存儲器上創(chuàng)建自定義詞典的 才艮目錄,并根據(jù)接收到的自定義詞的類別屬性,對應(yīng)各個類別逐級創(chuàng)建相應(yīng) 目錄或文件。例如位于根目錄下的第一級子目錄為第一級類別,即大類別, 位于第一級子目錄下的第二級子目錄為第二級類別,即中類別,位于第二級 子目錄下的自定義詞文件為該中類別下的某一個特定的小類別。當然,在第 二級子目錄下仍然可以繼續(xù)嵌套子目錄,以此類推,通過為自定義詞添加各 級目錄的方式,為自定義詞劃分多種類別。當然,本領(lǐng)域技術(shù)人員可以意識到,以目錄管理的方式添加自定義詞的 類別屬性僅僅是示范性的,在實際應(yīng)用中也可以采用數(shù)據(jù)庫等其他方式。自定義詞管理裝置生成上述目錄或文件后,將接收到的自定義詞按照該 自定義詞類別保存在相應(yīng)自定義詞文件的一行中。上述自定義詞文件可以是 一個普通的文本文件,也可以是其他類型文件,用于保存用戶自己定義的新 詞。自定義詞文件中每行單獨存儲一個自定義詞,在該自定義詞后添加詞性, 詞和詞性之間用逗號(,)分隔,多個詞性之間以'T分隔,以回車換行結(jié) 束,不計算多余的空格。當然,用戶也可以不為自定義詞典中的自定義詞設(shè)置詞性,由系統(tǒng)默認該自定義詞為名詞詞性。當然,在實際應(yīng)用中也可以將 其他詞性作為默認詞性。通過上述方式,自定義詞管理裝置以一種目錄文件體系結(jié)構(gòu)的方式將全 部待輸入的自定義詞及其類別和詞性信息保存起來,生成一個完整的自定義詞典。步驟卯5、生成自定義詞典的類別信息,并提供給用戶進行選擇。自定義詞管理裝置釆用遞歸方式遍歷用戶自定義詞典,獲得其中所有類 別的用戶自定義詞文件的目錄路徑,及其對應(yīng)的類別信息,并將上述信息保 存在配置文件中。其中,配置文件主要用于管理用戶自定義詞的加載方式, 為用戶提供類別表,對希望加載的自定義詞類別進行控制。自定義詞管理裝置根據(jù)配置文件中保存的類別信息,生成自定義詞的類 別表提供給用戶進行選擇。參見圖11,圖11為本發(fā)明實施例三中類別表的示意圖。由圖11可見, 類別表同樣采用樹形結(jié)構(gòu)顯示,當用戶選擇類別表中顯示的某個大類的名稱 時,自定義詞管理裝置加載該個大類下面的所有小類中的自定義詞;當用戶 選擇類別表中顯示的某個大類中某個小類的名稱時,自定義詞管理裝置加載 該特定的小類中的自定義詞。例如當用戶需要對游戲文章進行分詞的時候,用戶可以在類別表中選擇 "游戲"類別,這時自定義詞管理裝置根據(jù)配置文件中的相應(yīng)信息,將"游 戲"類別中所有子類別的自定義詞加載到內(nèi)存中,同時記錄所有自定義詞所 屬的類別。如果能夠用戶能夠進一步確定這是一篇關(guān)于魔獸游戲的文章,則 用戶可以在類別表中選擇"魔獸,,子類別,這時自定義詞管理裝置根據(jù)配置 文件中的相應(yīng)信息,將"魔獸"子類別中的全部自定義詞加載到內(nèi)存中,以 更精確地對這篇文章進行分詞。當然,如果用戶不能確定所要分詞的文章的 類別時,也可以在類別表中選擇全部類別,以便能夠在分詞的時候包括全部 的自定義詞。步驟906、根據(jù)用戶請求加載的類別信息,將對應(yīng)的自定義詞及其屬性加載到內(nèi)存中。用戶選擇某類別后,自定義詞管理裝置分析配置文件中的該類別信息, 得到需要加載的自定義詞文件(組)的路徑,將上述自定義詞文件(組)中的全部自定義詞以字符樹(Trie)的方式加栽到內(nèi)存中,同時給每個自定義 詞關(guān)聯(lián)上其所屬的類別和詞性。步驟907、利用加載在內(nèi)存中的自定義詞進行分詞。自定義詞管理裝置將用戶需要的自定義詞加載到內(nèi)存中后,提供給分詞 裝置進行中文文本識別。子步驟l、用戶自定義詞條匹配。分詞裝置讀取待識別文本當前漢字串序列中的 一個漢字,在自定義詞典 中進行查找,若詞典中存在這樣的自定義詞,則認為匹配成功,保存當前匹 配結(jié)果,并在該漢字的基礎(chǔ)上讀取待識別文本當前漢字串序列中的下一個漢 字加在上述漢字之后,即形成兩個字的詞,然后再在自定義詞典中進行查找, 若詞典中存在這樣的自定義詞,則認為匹配成功,如此類推,循環(huán)該過程并 記錄中間匹配成功的詞條,直至匹配失敗為止,這樣就可以得到從某一位置 開始的所有可能詞條。子步驟2、針對上述匹配成功的自定義詞進一步執(zhí)行詞性標注。由于自定義詞管理裝置中保存的 一個自定義詞條可以有多個詞性,因此 當匹配出的一個包含多個詞性的自定義詞條的時候,需要確定在特定的上下 文中具體選擇該自定義詞條的何種詞性。針對該問題,分詞裝置采用隱馬爾科夫模型對自定義詞、詞性及其上下 文建模,并采用Viterbi算法搜索確定最后的用戶自定義詞詞性。該過程需 要兩步,第一步為用戶自定義詞詞性標注模型訓練,第二步為用戶自定義詞 詞性標注模型應(yīng)用。1)用戶自定義詞詞性標注模型訓練在利用自定義詞進行分詞前,分詞裝置需要對自定義詞管理裝置中的所 有自定義詞訓練兩個參數(shù), 一個是P(WIT), —個是P(TITh)。其中,W為用戶自定義詞,T為自定義詞的詞性,Th為自定義詞前驅(qū)詞的詞性,P(W|T) 為自定義詞為某個詞性時使用該自定義詞的概率,P(TITh)為自定義詞的前驅(qū) 詞為某個詞性時使用該自定義詞某個詞性的概率。分詞裝置在訓練時進一步釆用相應(yīng)的平滑算法來解決數(shù)據(jù)稀疏問題。訓 練結(jié)束后,分詞裝置就可以得到一個針對用戶自定義詞的詞性標注隱馬模 型。2)用戶自定義詞詞性標注模型應(yīng)用在利用自定義詞進行分詞時,分詞裝置利用上個步驟得到的詞性標注隱 馬模型就可以對匹配出的包含多個詞性的用戶自定義詞進行詞性標注,即確 定該自定義詞在當前待識別文本中的詞性。該標注過程采用隱馬爾科夫模型 建模,并采用Viterbi算法解碼,以確定最優(yōu)的詞性。子步驟3、針對上述匹配成功的自定義詞進一步執(zhí)行類別標注。由于自定義詞管理裝置中保存的一個自定義詞條可以屬于多個類別,因 此當匹配出的一個包含多個類別的用戶自定義詞條的時候,需要確定在特定 的體裁的文本中具體選擇該自定義詞條的何種類別。針對該問題,分詞裝置采用隱馬爾科夫模型對自定義詞、類別及其上下 文建模,并采用Viterbi算法搜索確定最后的用戶自定義詞類別。該過程需 要兩步,第一步為用戶自定義詞類別標注模型訓練,第二步為用戶自定義詞 類別標注模型應(yīng)用。1)用戶自定義詞類別標注模型訓練在利用自定義詞進行分詞前,分詞裝置需要對自定義詞管理裝置中的所 有自定義詞訓練兩個參數(shù), 一是P(WIC), 一是p(qch)。其中,W為用戶自 定義詞,C為用戶自定義詞的類別,Ch為自定義詞前驅(qū)詞的類別,P(W|C) 為自定義詞為某個類別時使用該自定義詞的概率,P(CICh)為自定義詞的前 驅(qū)詞為某個詞性時使用該自定義詞某個詞性的概率。分詞裝置在訓練時進一步采用相應(yīng)的平滑算法來解決數(shù)據(jù)稀疏問題。訓 練結(jié)束后,分詞裝置就可以得到一個針對用戶自定義詞的類別標注隱馬模型。2)用戶自定義詞類別標注模型應(yīng)用在利用自定義詞進行分詞時,分詞裝置利用上個步驟得到的類別標注隱 馬模型就可以對匹配出的包含多個類別的用戶自定義詞進行類別標注了,即 確定該自定義詞在當前待識別文本中的類別。該標注過程釆用隱馬爾科夫模型建模,并采用Viterbi算法解碼,以確定最優(yōu)的類別。通過上面幾個子步驟,分詞裝置就可以成功地實現(xiàn)分詞,并輸出分詞的 詞性、類別屬性。這樣就可以在將來進行分詞校驗時進一步對自定義詞的屬 性進行判斷,從而確定在特定語境中該分詞方式是否正確。分詞裝置可以根據(jù)用戶請求,單獨輸出匹配出的用戶自定義詞。例如, 待識別中文文本為"我們一起去玩QQ飛車吧,,,々支設(shè)這段文本中的"QQ 飛車" 一詞為自定義詞管理裝置中游戲類別下的用戶自定義詞,如杲此時用 戶只需要分詞結(jié)果時,那么分詞裝置將把"QQ飛車"作為一個獨立的詞輸 出。分詞裝置也可以根據(jù)用戶請求,輸出匹配出的用戶自定義詞及其標注。 例如,同樣對于"我們一起去玩QQ飛車吧"這段文本,如果用戶在輸出"QQ 飛車,,這個用戶自定義詞的時候還希望輸出其詞性,那么分詞裝置輸出"QQ 飛車"、以及這里的詞性(例如"名詞(n)")、和這里該詞所屬的類別(例 如,為"游戲(game)")。當然,本領(lǐng)域技術(shù)人員可以意識到,在實際應(yīng)用中,分詞裝置還可以采 用其他識別算法,以進一步提高用戶利用自定義詞進行分詞時的準確性。另外需要注意的是,在本步驟中的子步驟2和子步驟3并沒有嚴格的先 后次序,這里僅為了描述方便而先說明子步驟2后說明子步驟3。步驟908、對加載在內(nèi)存中的自定義詞進行編輯。當分詞裝置利用自定義詞管理裝置中的自定義詞進行分詞時,自定義詞 管理裝置可以對加載在內(nèi)存中的自定義詞進行檢索,將用戶指定的自定義詞 及其詞性和類別顯示給用戶。如果用戶發(fā)現(xiàn)上述自定義詞拼寫、詞性或者類別有誤時,可以對加載在 內(nèi)存中的自定義詞進行編輯。例如,如果用戶發(fā)現(xiàn)自定義詞管理裝置中被載 入內(nèi)存中的某個自定義詞不正確,可以直接在內(nèi)存中刪除該詞條。又如,如 果用戶發(fā)現(xiàn)某個類別的詞條拼寫有誤時,可以直接在內(nèi)存中將該詞條修改為 正確的詞條。再如,如果用戶在進行分詞時發(fā)現(xiàn)某個自定義詞在相關(guān)類別的 自定義詞典未收錄而導致切分錯誤,可以直接在內(nèi)存中將該詞條添加到相應(yīng) 類別的詞典中。步驟909、對加載在內(nèi)存中的自定義詞進行備份。自定義詞管理裝置可以對自定義詞進行實時備份。即當用戶編輯完自定 義詞后,自定義詞管理裝置可以自動將內(nèi)存中的全部自定義詞保存到相應(yīng)目 錄的相應(yīng)自定義詞文件中。自定義詞管理裝置也可以根據(jù)用戶請求或者在分詞系統(tǒng)關(guān)閉時,對自定 義詞進行備份。當然,本領(lǐng)域技術(shù)人員可以意識到,在實際應(yīng)用中,自定義詞管理裝置 也可以采用增量備份的方式,以節(jié)約系統(tǒng)在備份過程需要占用的資源。由上述的實施例可見,現(xiàn)有技術(shù)中在利用自定義詞典進行分詞時,由于 在自定義詞典中只是機械地存儲了自定義詞本身,所以自定義詞典僅能提供 自定義詞本身,這就造成用戶利用自定義詞進行分詞時的準確性不高。應(yīng)用 本發(fā)明,分詞系統(tǒng)可以接收用戶輸入的自定義詞及其屬性,根據(jù)上述自定義 詞及其屬性生成自定義詞典,并將上述自定義詞典中的自定義詞及其屬性加 載到內(nèi)存中,對待識別文本進行分詞。通過該分詞系統(tǒng),用戶可以利用自定 義詞典對待識別文本進行自定義詞匹配,并可以對匹配出的自定義詞進行詞 性標注和/或類別標注,還可以對自定義詞典進行動態(tài)管理。這樣就可以在 將來進行分詞校驗時進一步對自定義詞的屬性進行判斷,從而確定在當時的 特定語境中該分詞方式是否正確。因此,本發(fā)明實施例解決了用戶利用自定 義詞進行分詞時的準確性不高的問題,提高了利用自定義詞典進行分詞時的 效率。于例如韓文、日文等其他類似語言的分詞過程中。綜上所述,以上僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的 保護范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改 進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1、一種自定義詞管理裝置,其特征在于,包括接收模塊,用于接收用戶輸入的自定義詞及其屬性;詞典生成模塊,用于根據(jù)所述自定義詞及其屬性,生成自定義詞典;詞典加載模塊,用于將所述自定義詞典中的自定義詞及其屬性加載到內(nèi)存中,等待調(diào)用。
2、 如權(quán)利要求l所述的裝置,其特征在于,所述接收模塊包括 自定義詞接收單元,用于接收用戶輸入的自定義詞; 類別屬性接收單元,用于接收用戶輸入的自定義詞的類別屬性; 詞性屬性接收單元,用于接收用戶輸入的自定義詞的詞性屬性。
3、 如權(quán)利要求l所述的裝置,其特征在于,所述詞典生成模塊用于采用目 錄文件體系結(jié)構(gòu)的方式,根據(jù)接收到的自定義詞的類別屬性,逐級創(chuàng)建對應(yīng)于 各個類別的目錄或文件,生成自定義詞典。
4、 如權(quán)利要求l所述的裝置,其特征在于,進一步包括 類別選擇模塊,用于根據(jù)自定義詞的類別屬性,生成自定義詞典的類別表,并提供給用戶進行選擇;所述詞典加載模塊,用于根據(jù)用戶在類別表中選擇的類別,將自定義詞典 中對應(yīng)的自定義詞及其屬性加載到內(nèi)存中。
5、 如權(quán)利要求1至4中任一項所述的裝置,其特征在于,所述詞典加載模 塊用于將所述自定義詞典中的自定義詞及其屬性以字符樹的方式加載到內(nèi)存 中。
6、 如權(quán)利要求5所述的裝置,其特征在于,進一步包括 詞典編輯^t塊,用于對加載在內(nèi)存中的自定義詞進行編輯。
7、 如權(quán)利要求6所述的裝置,其特征在于,進一步包括 詞典備份模塊,用于根據(jù)用戶請求或?qū)崟r地對加載在內(nèi)存中的自定義詞進行備份。
8、 一種自定義詞管理方法,其特征在于,包括 接收用戶輸入的自定義詞及其屬性; 根據(jù)所述自定義詞及其屬性,生成自定義詞典;將所述自定義詞典中的自定義詞及其屬性加載到內(nèi)存中,等待調(diào)用。
9、 如權(quán)利要求8所述的方法,其特征在于,所述接收用戶輸入的自定義詞 及其屬性包括接收用戶輸入的自定義詞;接收所述自定義詞的類別屬性和/或詞性屬性。
10、 如權(quán)利要求8所述的方法,其特征在于,所述根據(jù)自定義詞及其屬性, 生成自定義詞典包括采用目錄文件體系結(jié)構(gòu)的方式,根據(jù)接收到的自定義詞的類別屬性,逐級 創(chuàng)建對應(yīng)于各個類別的目錄或文件,生成自定義詞典。
11 、如權(quán)利要求8所述的方法,其特征在于,所述將自定義詞典中的自定 義詞及其屬性加載到內(nèi)存中包括根據(jù)自定義詞的類別屬性,生成自定義詞典的類別表,并提供給用戶進行 選擇;根據(jù)用戶在類別表中選擇的類別,將自定義詞典中對應(yīng)的自定義詞及其屬 性加載到內(nèi)存中。
12、 如權(quán)利要求11所述的方法,其特征在于,所述生成自定義詞典的類別 表包括采用遞歸方式遍歷用戶自定義詞典;獲得其中所有類別的用戶自定義詞文件的目錄路徑,及其對應(yīng)的類別信息; 將所述信息保存在配置文件中;沖艮據(jù)配置文件中保存的類別信息,生成自定義詞的類別表。
13、 如權(quán)利要求8至12任一項所述的方法,其特征在于,所述將自定義詞 典中的自定義詞及其屬性加載到內(nèi)存中包括將所述自定義詞典中的自定義詞及其屬性以字符樹的方式加載到內(nèi)存中。
14、 如權(quán)利要求8所述的方法,其特征在于,進一步包括利用加載在內(nèi)存中的自定義詞及其屬性,對待識別文本進行分詞,匹配所 述待識別文本中的自定義詞,并為所述匹配成功的自定義詞進行屬性標注。
15、 如權(quán)利要求14所述的方法,其特征在于,進一步包括 對加載在內(nèi)存中的自定義詞進4亍編輯。
16、 如權(quán)利要求15所述的方法,其特征在于,進一步包括 根據(jù)用戶請求或?qū)崟r地對加載在內(nèi)存中的自定義詞進行備份。
17、 一種分詞系統(tǒng),其特征在于,包括自定義詞管理裝置,用于接收用戶輸入的自定義詞及其屬性,根據(jù)所述自 定義詞及其屬性生成自定義詞典,并將所述自定義詞典中的自定義詞及其屬性 加載到內(nèi)存中;分詞裝置,用于利用加載在內(nèi)存中的自定義詞及其屬性,對待識別文本進 行分詞,匹配所述待識別文本中的自定義詞,并為所述匹配成功的自定義詞進 4亍屬性標注。
全文摘要
本發(fā)明公開了一種自定義詞管理裝置、方法及分詞系統(tǒng)。該裝置包括接收模塊,用于接收用戶輸入的自定義詞及其屬性;詞典生成模塊,用于根據(jù)所述自定義詞及其屬性,生成自定義詞典;詞典加載模塊,用于將所述自定義詞典中的自定義詞及其屬性加載到內(nèi)存中,等待調(diào)用。應(yīng)用本發(fā)明提供的自定義詞典在進行分詞時,除了可以提供用戶輸入的自定義詞本身外,還可以提供該自定義詞的相關(guān)屬性。這樣就可以在將來進行分詞校驗時進一步對自定義詞的屬性進行判斷,從而確定在當時的特定語境中該分詞方式是否正確。因此,本發(fā)明解決了用戶利用自定義詞進行分詞時的準確性不高的問題。
文檔編號G06F17/28GK101256557SQ20081009046
公開日2008年9月3日 申請日期2008年4月16日 優(yōu)先權(quán)日2008年4月16日
發(fā)明者鑒 朱, 珩 李 申請人:騰訊科技(深圳)有限公司