本發(fā)明涉及計算機領(lǐng)域,尤其涉及一種詞庫生成方法及裝置。
背景技術(shù):
隨著計算機技術(shù)的不斷發(fā)展,分詞技術(shù)已經(jīng)廣泛應(yīng)用于搜索引擎、機器翻譯、語音合成、自動摘要等領(lǐng)域。其中,分詞技術(shù)是指將一句或者一段中文文字切分成一個一個中文詞語的技術(shù),而最常用的分詞方法是使用詞典進(jìn)行分詞,因此詞庫質(zhì)量的好壞直接影響了分詞的質(zhì)量。
目前,詞庫的生成是由人工進(jìn)行維護(hù)的,當(dāng)發(fā)現(xiàn)一個新詞的時候,人工將新詞加入詞庫中;當(dāng)發(fā)現(xiàn)詞庫中的第一詞語不準(zhǔn)確時,人工對不準(zhǔn)確的第一詞語進(jìn)行修正。
然而,由人工維護(hù)詞庫,會導(dǎo)致維護(hù)詞庫的工作量大、詞庫準(zhǔn)確性降低。
技術(shù)實現(xiàn)要素:
為解決上述技術(shù)問題,本發(fā)明實施例期望提供一種詞庫生成方法及裝置,能夠降低維護(hù)詞庫的工作量,提高詞庫的準(zhǔn)確性。
本發(fā)明的技術(shù)方案是這樣實現(xiàn)的:
本發(fā)明實施例提供一種詞庫生成方法,該方法包括:
當(dāng)預(yù)設(shè)時間段到達(dá)時,獲取至少一個待分詞文檔;
按照第一預(yù)設(shè)劃分策略,將所述至少一個待分詞文檔劃分成至少一個第一字符串集合,其中,一個待分詞文檔對應(yīng)一個第一字符串集合;
根據(jù)預(yù)設(shè)內(nèi)聚模型和預(yù)設(shè)比較策略,確定與所述至少一個第一字符串集合中每個第一字符串集合對應(yīng)的第一詞語集合,得到至少一個第一詞語集合;
根據(jù)所述至少一個第一詞語集合,確定第一詞庫。
在上述方法中,根據(jù)所述預(yù)設(shè)內(nèi)聚模型和所述預(yù)設(shè)比較策略,確定與一個第一字符串集合對應(yīng)的所述第一詞語集合的方法包括:
根據(jù)所述預(yù)設(shè)內(nèi)聚模型,計算第一字符串的第一內(nèi)聚度,所述第一字符串為所述一個第一字符串集合中的任意一個字符串;
根據(jù)所述第一內(nèi)聚度和所述預(yù)設(shè)比較策略,判斷所述第一字符串中是否存在第一詞語;
當(dāng)判斷出所述第一字符串中存在所述第一詞語時,將所述第一字符串存儲至第一詞語集合中,直至判斷完所述一個第一字符串集合中的所有字符串,得到所述第一詞語集合。
在上述方法中,所述計算第一字符串的第一內(nèi)聚度,包括:
統(tǒng)計所述一個第一字符串集合的第一數(shù)量和所述第一字符串在第一待分詞文檔中出現(xiàn)的第二數(shù)量,所述第一待分詞文檔為所述至少一個待分詞文檔中所述一個第一字符串集合對應(yīng)的待分詞文檔;
按照所述預(yù)設(shè)內(nèi)聚模型將所述第一字符串劃分成左部分和右部分;
在所述第一待分詞文檔中分別統(tǒng)計所述左部分的第三數(shù)量和所述右部分的第四數(shù)量;
根據(jù)所述第一數(shù)量、所述第二數(shù)量、所述第三數(shù)量和所述第四數(shù)量計算所述第一內(nèi)聚度。
在上述方法中,所述根據(jù)所述第一內(nèi)聚度和所述預(yù)設(shè)比較策略,判斷所述第一字符串中是否存在第一詞語,包括:
獲取預(yù)設(shè)內(nèi)聚度閾值;
將所述第一內(nèi)聚度與所述預(yù)設(shè)內(nèi)聚度閾值進(jìn)行比較;
當(dāng)所述第一內(nèi)聚度大于所述預(yù)設(shè)內(nèi)聚度閾值時,判斷所述第一字符串中存在所述第一詞語;
當(dāng)所述第一內(nèi)聚度小于所述預(yù)設(shè)內(nèi)聚度閾值時,判斷所述第一字符串中不存在所述第一詞語。
在上述方法中,所述獲取預(yù)設(shè)內(nèi)聚度閾值,包括:
選取N個無歧義基本詞;
在所述至少一個待分詞文檔中計算所述N個無歧義基本詞分別對應(yīng)的第三內(nèi)聚度集合;
將所述第三內(nèi)聚度集合劃分成至少一個區(qū)域,在所述至少一個區(qū)域中確定第四數(shù)量最多的第一區(qū)域,所述第四數(shù)量為所述第三內(nèi)聚度集合中所述第一區(qū)域內(nèi)的第三內(nèi)聚度的個數(shù);
根據(jù)所述第四數(shù)量和所述第三內(nèi)聚度計算所述第一區(qū)域中的內(nèi)聚度平均值,并將所述內(nèi)聚度平均值確定為所述預(yù)設(shè)內(nèi)聚度閾值。
在上述方法中,所述根據(jù)所述至少一個第一詞語集合,確定第一詞庫,包括:
根據(jù)所述至少一個第一詞語集合確定第一詞語庫;
判斷是否存在第二詞庫,所述第二詞庫為已經(jīng)存在的詞庫;
當(dāng)存在所述第二詞庫時,將所述第一詞語庫中的第二詞語與所述第二詞庫的第三詞語進(jìn)行匹配;
當(dāng)所述第二詞語與所述第三詞語匹配失敗時,將所述第二詞語添加至所述第二詞庫中;
當(dāng)不存在所述第二詞庫時,將所述第一詞語庫確定為所述第一詞庫。
本發(fā)明實施例提供一種詞庫生成裝置,所述裝置包括:
獲取單元,用于當(dāng)預(yù)設(shè)時間段到達(dá)時,獲取至少一個待分詞文檔;
劃分單元,用于按照第一預(yù)設(shè)劃分策略,將所述至少一個待分詞文檔劃分成至少一個第一字符串集合,其中,一個待分詞文檔對應(yīng)一個第一字符串集合;
確定單元,用于根據(jù)預(yù)設(shè)內(nèi)聚模型和預(yù)設(shè)比較策略,確定與所述至少一個第一字符串集合中每個第一字符串集合對應(yīng)的第一詞語集合,得到至少一個第一詞語集合;根據(jù)所述至少一個第一詞語集合,確定第一詞庫。
在上述裝置中,所述裝置還包括:計算單元、判斷單元和存儲單元;
所述計算單元,用于根據(jù)所述預(yù)設(shè)內(nèi)聚模型,計算第一字符串的第一內(nèi)聚度,所述第一字符串為所述一個第一字符串集合中的任意一個字符串;
所述判斷單元,用于根據(jù)所述第一內(nèi)聚度和所述預(yù)設(shè)比較策略,判斷所述第一字符串中是否存在第一詞語;
所述存儲單元,用于當(dāng)判斷出所述第一字符串中存在所述第一詞語時,將所述第一字符串存儲至第一詞語集合中,直至判斷完所述一個第一字符串集合中的所有字符串,得到所述第一詞語集合。
在上述裝置中,所述裝置還包括:統(tǒng)計單元和劃分單元;
所述統(tǒng)計單元,用于統(tǒng)計所述一個第一字符串集合的第一數(shù)量和所述第一字符串在第一待分詞文檔中出現(xiàn)的第二數(shù)量,所述第一待分詞文檔為所述至少一個待分詞文檔中所述一個第一字符串集合對應(yīng)的待分詞文檔;
所述劃分單元,用于按照所述預(yù)設(shè)內(nèi)聚模型將所述第一字符串劃分成左部分和右部分;
所述統(tǒng)計單元,還用于在所述第一待分詞文檔中分別統(tǒng)計所述左部分的第三數(shù)量和所述右部分的第四數(shù)量;
所述計算單元,具體用于根據(jù)所述第一數(shù)量、所述第二數(shù)量、所述第三數(shù)量和所述第四數(shù)量計算所述第一內(nèi)聚度。
在上述裝置中,所述裝置還包括:匹配單元和添加單元;
所述確定單元,還用于根據(jù)所述至少一個第一詞語集合確定第一詞語庫;
所述判斷單元,還用于判斷是否存在第二詞庫,所述第二詞庫為已經(jīng)存在的詞庫;
所述匹配單元,還用于當(dāng)存在所述第二詞庫時,將所述第一詞語庫中的第二詞語與所述第二詞庫的第三詞語進(jìn)行匹配;
所述添加單元,用于當(dāng)所述第二詞語與所述第三詞語匹配失敗時,將所述第二詞語添加至所述第二詞庫中;
所述確定單元,還用于當(dāng)不存在所述第二詞庫時,將所述第一詞語庫確定為所述第一詞庫。
本發(fā)明實施例提供了一種詞庫生成方法及裝置,通過當(dāng)預(yù)設(shè)時間段到達(dá)時,獲取至少一個待分詞文檔;按照第一預(yù)設(shè)劃分策略,將至少一個待分詞文檔劃分成至少一個第一字符串集合,其中,一個待分詞文檔對應(yīng)一個第一字符串集合;根據(jù)預(yù)設(shè)內(nèi)聚模型和預(yù)設(shè)比較策略,確定與至少一個第一字符串集合中每個第一字符串集合對應(yīng)的第一詞語集合,得到至少一個第一詞語集合;根據(jù)至少一個第一詞語集合,確定第一詞庫。采用上述技術(shù)實現(xiàn)方案,詞庫生成裝置獲取至少一個待分詞文檔,并從至少一個待分詞文檔中確定至少一個第一詞語集合,根據(jù)至少一個第一詞語集合確定第一詞庫,可以降低維護(hù)詞庫的工作量,提高詞庫的準(zhǔn)確性。
附圖說明
圖1為實現(xiàn)本發(fā)明各個實施例的一種可選的移動終端的硬件結(jié)構(gòu)示意;
圖2為本發(fā)明的移動終端能夠操作的通信系統(tǒng);
圖3為本發(fā)明實施例提供的一種詞庫生成方法的流程圖一;
圖4為本發(fā)明實施例提供的一種詞庫生成方法的流程圖二;
圖5為本發(fā)明實施例提供的一種詞庫生成方法的流程圖三;
圖6為本發(fā)明實施例提供的一種示例性的詞庫生成方法的流程圖;
圖7為本發(fā)明實施例提供的一種裝置1的結(jié)構(gòu)示意圖一;
圖8為本發(fā)明實施例提供的一種裝置1的結(jié)構(gòu)示意圖二;
圖9為本發(fā)明實施例提供的一種裝置1的結(jié)構(gòu)示意圖三
圖10為本發(fā)明實施例提供的一種裝置1的結(jié)構(gòu)示意圖四;
圖11為本發(fā)明實施例提供的一種裝置1的結(jié)構(gòu)示意圖五。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述。
應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
現(xiàn)在將參考附圖描述實現(xiàn)本發(fā)明各個實施例的移動終端。在后續(xù)的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發(fā)明的說明,其本身并沒有特定的意義。因此,"模塊"與"部件"可以混合地使用。
移動終端可以以各種形式來實施。例如,本發(fā)明實施例中描述的終端可以包括諸如移動電話、智能電話、筆記本電腦、數(shù)字廣播接收器、個人數(shù)字助理(PDA)、平板電腦(PAD)、便攜式多媒體播放器(PMP)、導(dǎo)航裝置等等的移動終端以及諸如數(shù)字TV、臺式計算機等等的固定終端。下面,假設(shè)終端是移動終端。然而,本領(lǐng)域技術(shù)人員將理解的是,除了特別用于移動目的的元件之外,根據(jù)本發(fā)明的實施方式的構(gòu)造也能夠應(yīng)用于固定類型的終端。
圖1為實現(xiàn)本發(fā)明各個實施例一個可選的移動終端的硬件結(jié)構(gòu)示意圖。
移動終端100可以包括用戶輸入單元130、存儲器160、控制器180和電源單元190等等。圖1示出了具有各種組件的移動終端,但是應(yīng)理解的是,并不要求實施所有示出的組件??梢蕴娲貙嵤└嗷蚋俚慕M件。將在下面詳細(xì)描述移動終端的元件。
用戶輸入單元130可以根據(jù)用戶輸入的命令生成鍵輸入數(shù)據(jù)以控制移動終端的各種操作。用戶輸入單元130允許用戶輸入各種類型的信息,并且可以包括鍵盤、鍋仔片、觸摸板(例如,檢測由于被接觸而導(dǎo)致的電阻、壓力、電容等變化的觸敏組件)、滾輪、搖桿等等。
存儲器160可以存儲由控制器180執(zhí)行的處理和控制操作的軟件程序等等,或者可以暫時地存儲已經(jīng)輸出或?qū)⒁敵龅臄?shù)據(jù)(例如,電話簿、消息、靜態(tài)圖像、視頻等等)。而且,存儲器160可以存儲關(guān)于當(dāng)觸摸施加到觸摸屏?xí)r輸出的各種方式的振動和音頻信號的數(shù)據(jù)。
存儲器160可以包括至少一種類型的存儲介質(zhì),所述存儲介質(zhì)包括閃存、硬盤、多媒體卡、卡型存儲器(例如,SD或DX存儲器等等)、隨機訪問存儲器(RAM)、靜態(tài)隨機訪問存儲器(SRAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)、可編程只讀存儲器(PROM)、磁性存儲器、磁盤、光盤等等。而且,移動終端100可以與通過網(wǎng)絡(luò)連接執(zhí)行存儲器160的存儲功能的網(wǎng)絡(luò)存儲裝置協(xié)作。
控制器180通??刂埔苿咏K端的總體操作。例如,控制器180執(zhí)行與語音通話、數(shù)據(jù)通信、視頻通話等等相關(guān)的控制和處理。另外,控制器180可以包括用于再現(xiàn)(或回放)多媒體數(shù)據(jù)的多媒體模塊181,多媒體模塊181可以構(gòu)造在控制器180內(nèi),或者可以構(gòu)造為與控制器180分離??刂破?80可以執(zhí)行模式識別處理,以將在觸摸屏上執(zhí)行的手寫輸入或者圖片繪制輸入識別為字符或圖像。
電源單元190在控制器180的控制下接收外部電力或內(nèi)部電力并且提供操作各元件和組件所需的適當(dāng)?shù)碾娏Α?/p>
這里描述的各種實施方式可以以使用例如計算機軟件、硬件或其任何組合的計算機可讀介質(zhì)來實施。對于硬件實施,這里描述的實施方式可以通過使用特定用途集成電路(ASIC)、數(shù)字信號處理器(DSP)、數(shù)字信號處理裝置(DSPD)、可編程邏輯裝置(PLD)、現(xiàn)場可編程門陣列(FPGA)、處理器、控制器、微控制器、微處理器、被設(shè)計為執(zhí)行這里描述的功能的電子單元中的至少一種來實施,在一些情況下,這樣的實施方式可以在控制器180中實施。對于軟件實施,諸如過程或功能的實施方式可以與允許執(zhí)行至少一種功能或操作的單獨的軟件模塊來實施。軟件代碼可以由以任何適當(dāng)?shù)木幊陶Z言編寫的軟件應(yīng)用程序(或程序)來實施,軟件代碼可以存儲在存儲器160中并且由控制器180執(zhí)行。
至此,已經(jīng)按照其功能描述了移動終端。下面,為了簡要起見,將描述諸如折疊型、直板型、擺動型、滑動型移動終端等等的各種類型的移動終端中的滑動型移動終端作為示例。因此,本發(fā)明能夠應(yīng)用于任何類型的移動終端,并且不限于滑動型移動終端。
如圖1中所示的移動終端100可以被構(gòu)造為利用經(jīng)由幀或分組發(fā)送數(shù)據(jù)的諸如有線和無線通信系統(tǒng)以及基于衛(wèi)星的通信系統(tǒng)來操作。
現(xiàn)在將參考圖2描述其中根據(jù)本發(fā)明的移動終端能夠操作的通信系統(tǒng)。
這樣的通信系統(tǒng)可以使用不同的空中接口和/或物理層。例如,由通信系統(tǒng)使用的空中接口包括例如頻分多址(FDMA)、時分多址(TDMA)、碼分多址(CDMA)和通用移動通信系統(tǒng)(UMTS)(特別地,長期演進(jìn)(LTE))、全球移動通信系統(tǒng)(GSM)等等。作為非限制性示例,下面的描述涉及CDMA通信系統(tǒng),但是這樣的教導(dǎo)同樣適用于其它類型的系統(tǒng)。
參考圖2,CDMA無線通信系統(tǒng)可以包括多個移動終端100、多個基站(BS)270、基站控制器(BSC)275和移動交換中心(MSC)280。MSC280被構(gòu)造為與公共電話交換網(wǎng)絡(luò)(PSTN)290形成接口。MSC280還被構(gòu)造為與可以經(jīng)由回程線路耦接到基站270的BSC275形成接口?;爻叹€路可以根據(jù)若干已知的接口中的任一種來構(gòu)造,所述接口包括例如E1/T1、ATM,IP、PPP、幀中繼、HDSL、ADSL或xDSL。將理解的是,如圖2中所示的系統(tǒng)可以包括多個BSC275。
每個BS270可以服務(wù)一個或多個分區(qū)(或區(qū)域),由多向天線或指向特定方向的天線覆蓋的每個分區(qū)放射狀地遠(yuǎn)離BS270?;蛘?,每個分區(qū)可以由用于分集接收的兩個或更多天線覆蓋。每個BS270可以被構(gòu)造為支持多個頻率分配,并且每個頻率分配具有特定頻譜(例如,1.25MHz,5MHz等等)。
分區(qū)與頻率分配的交叉可以被稱為CDMA信道。BS270也可以被稱為基站收發(fā)器子系統(tǒng)(BTS)或者其它等效術(shù)語。在這樣的情況下,術(shù)語“基站”可以用于籠統(tǒng)地表示單個BSC275和至少一個BS270。基站也可以被稱為“蜂窩站”。或者,特定BS270的各分區(qū)可以被稱為多個蜂窩站。
如圖2中所示,廣播發(fā)射器(BT)295將廣播信號發(fā)送給在系統(tǒng)內(nèi)操作的移動終端100。如圖1中所示的廣播接收模塊111被設(shè)置在移動終端100處以接收由BT295發(fā)送的廣播信號。在圖2中,示出了幾個全球定位系統(tǒng)(GPS)衛(wèi)星300。衛(wèi)星300幫助定位多個移動終端100中的至少一個。
在圖2中,描繪了多個衛(wèi)星300,但是理解的是,可以利用任何數(shù)目的衛(wèi)星獲得有用的定位信息。如圖1中所示的GPS模塊115通常被構(gòu)造為與衛(wèi)星300配合以獲得想要的定位信息。替代GPS跟蹤技術(shù)或者在GPS跟蹤技術(shù)之外,可以使用可以跟蹤移動終端的位置的其它技術(shù)。另外,至少一個GPS衛(wèi)星300可以選擇性地或者額外地處理衛(wèi)星DMB傳輸。
作為無線通信系統(tǒng)的一個典型操作,BS270接收來自各種移動終端100的反向鏈路信號。移動終端100通常參與通話、消息收發(fā)和其它類型的通信。特定基站270接收的每個反向鏈路信號被在特定BS270內(nèi)進(jìn)行處理。獲得的數(shù)據(jù)被轉(zhuǎn)發(fā)給相關(guān)的BSC275。BSC提供通話資源分配和包括BS270之間的軟切換過程的協(xié)調(diào)的移動管理功能。BSC275還將接收到的數(shù)據(jù)路由到MSC280,其提供用于與PSTN290形成接口的額外的路由服務(wù)。類似地,PSTN290與MSC280形成接口,MSC與BSC275形成接口,并且BSC275相應(yīng)地控制BS270以將正向鏈路信號發(fā)送到移動終端100。
實施例一
本發(fā)明實施例提供一種詞庫生成方法,如圖3所示,該方法可以包括:
S101、當(dāng)預(yù)設(shè)時間段到達(dá)時,獲取至少一個待分詞文檔。
本發(fā)明實施例提供的一種詞庫生成方法適用于使用詞庫生成裝置生成詞庫的場景下。
本發(fā)明實施例中,詞庫生成裝置內(nèi)部預(yù)設(shè)時間段,當(dāng)預(yù)設(shè)時間段到達(dá)時,詞庫生成裝置檢測是否存在至少一個待分詞文檔,當(dāng)檢測到存在至少一個待分析文檔時,詞庫生成裝置獲取至少一個待分詞文檔。
可選的,本發(fā)明實施例中獲取至少一個待分詞文檔的方式,可以是用戶手動輸入至少一個待分詞文檔,也可以是當(dāng)用戶發(fā)送文檔時,詞庫生成裝置自動獲取的,具體的根據(jù)實際情況進(jìn)行選擇,本發(fā)明實施例不做具體限定。
S102、按照第一預(yù)設(shè)劃分策略,將至少一個待分詞文檔劃分成至少一個第一字符串集合,其中,一個待分詞文檔對應(yīng)一個第一字符串集合。
當(dāng)詞庫生成裝置獲取待至少一個待分詞文檔之后,詞庫生成裝置將至少一個待分詞文檔劃分成長度為N的至少一個第一字符串集合的形式,N大于等于2。
本發(fā)明實施例中,詞庫生成裝置并行的將至少一個待分詞文檔中的每一個待分詞文檔劃分成長度為N的一個第一字符串集合,生成至少一個第一字符串集合,N大于等于2,這樣,就可以縮減詞庫生成的時間。
示例性的,文檔一的內(nèi)容是“下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述。”將文檔一劃分成長度為5的字符串集合的形式為“下面將結(jié)合”、“本發(fā)明實施例”、“中的附圖對”“本發(fā)明實施例”、“中的技術(shù)方”、“案進(jìn)行清楚”、“完整地描述”這些字符串集合的形式。
S103、根據(jù)預(yù)設(shè)內(nèi)聚模型和預(yù)設(shè)比較策略,確定與至少一個第一字符串集合中每個第一字符串集合對應(yīng)的第一詞語集合,得到至少一個第一詞語集合。
當(dāng)詞庫生成裝置得到至少一個第一字符串集合之后,詞庫生成裝置就要確定與至少一個第一字符串集合對應(yīng)的至少一個第一詞語集合了。
本發(fā)明實施例中,詞庫生成裝置先從至少一個第一字符串集合中分別選取至少一個待分詞文檔對應(yīng)的至少一個第一字符串,然后根據(jù)預(yù)設(shè)內(nèi)聚模型,計算至少一個第一字符串的至少一個第一內(nèi)聚度,然后分別將至少一個第一內(nèi)聚度與預(yù)設(shè)內(nèi)聚度閾值進(jìn)行比較,當(dāng)至少一個第一內(nèi)聚度中有第一內(nèi)聚度大于預(yù)設(shè)內(nèi)聚度閾值時,則將第一內(nèi)聚度對應(yīng)的第一字符串存儲至第一待分詞文檔對應(yīng)的第一詞語集合中,當(dāng)判斷完至少一個第一字符串集合中的所有字符串之后,詞庫生成裝置就獲得了至少一個第一詞語集合。
本發(fā)明實施例中,詞庫生成裝置利用公式(1)和公式(2)計算至少一個第一字符串的至少一個第一內(nèi)聚度。
將公式(1)帶入公式(2)中,得到計算至少一個第一內(nèi)聚度的公式(3)
本發(fā)明實施例中,詞庫生成裝置將獲得的至少一個字符串集合中的每個字符串根據(jù)nagao算法分成左部分和右部分兩個部分,再分別統(tǒng)計該字符串、左部分和右部分分別在所屬待分詞文檔中出現(xiàn)的第二數(shù)量、第三數(shù)量和第四數(shù)量,即為tf、tf(letfPart)和tf(rightPart),然后統(tǒng)計所述待分詞文檔中所有字符串的第一數(shù)量,即為N,此時就可以獲得至少一個第一內(nèi)聚度了。
本發(fā)明實施例中,nagao算法將至少一個第一字符串劃分為左右兩個部分的所有劃分可能都列舉出來,并分別統(tǒng)計各種可能中左部分和右部分在第一待分詞文檔中出現(xiàn)的第三數(shù)量和第四數(shù)量。
示例性的,,字符串集合中第一字符串的長度為5,第一字符串的內(nèi)容為“縣城里有米”,那么根據(jù)nagao算法可以將第一字符串劃分為“縣”和“城里有米”左右兩個部分、“縣城”和“里有米”左右兩個部分、“縣城里”和“有米”左右兩個部分以及“縣城里有”和“米”左右兩個部分這4中劃分方式,nagao算法分別統(tǒng)計這4中劃分情況下左右兩個部分在全文中出現(xiàn)的次數(shù)。
本發(fā)明實施例中,詞庫生成裝置計算出預(yù)設(shè)內(nèi)聚度閾值,并將預(yù)設(shè)內(nèi)聚度閾值存儲至詞庫生成裝置中,以供與至少一個第一內(nèi)聚度進(jìn)行比較,詞庫生成裝置首先選取N個無歧義基本詞,然后在至少一個待分詞文檔中計算N個無歧義基本詞對應(yīng)的第三內(nèi)聚度集合,之后,詞庫生成裝置將第三內(nèi)聚度集合劃分成多個區(qū)域,并尋找第三內(nèi)聚度數(shù)量最多的第一區(qū)域,最后,詞庫生成裝置用第一區(qū)域內(nèi)第三內(nèi)聚度的和除以第一區(qū)域內(nèi)第三內(nèi)聚度的個數(shù)得到第一區(qū)域內(nèi)第三內(nèi)聚度的平均值,則這個值就為預(yù)設(shè)內(nèi)聚度閾值。
S104、根據(jù)至少一個第一詞語集合,確定第一詞庫。
當(dāng)詞庫生成裝置確定至少一個第一詞語集合之后,詞庫生成裝置就要根據(jù)至少一個第一詞語集合確定第一詞庫了。
本發(fā)明實施例中,當(dāng)詞庫生成裝置確定了至少一個第一詞語集合之后,詞庫生成裝置找出至少一個第一詞語集合中的交集,從而將交集中存在的詞語確定為第一詞語庫,然后,詞庫生成裝置判斷是否已經(jīng)存在第二詞庫,如果存在第二詞庫時,詞庫生成裝置將第一詞語庫中的第二詞庫中不存在的詞語添加至第二詞庫中;如果不存在第二詞庫時,詞庫生成裝置將第一詞語庫確定為第一詞庫。
本發(fā)明實施例中,詞庫生成裝置將第一詞語庫中的第二詞語依次與第二詞庫中的第三詞語進(jìn)行匹配操作,當(dāng)?shù)诙~語與第三詞語匹配成功時,表征第二詞庫中存在第二詞語;當(dāng)?shù)诙~語與第三詞語匹配失敗時,表征第二詞庫中不存在第二詞語,此時,將第二詞語添加至第二詞庫中。
可以理解的是,將第一詞語庫中的第二詞庫中不存在的第二詞語添加至第二詞庫中,可以完成第二詞庫的自動定期更新。
可以理解的是,詞庫生成裝置獲取至少一個待分詞文檔,并從至少一個待分詞文檔中確定至少一個第一詞語集合,根據(jù)至少一個第一詞語集合確定第一詞庫,可以將第維護(hù)詞庫的工作量,提高詞庫的準(zhǔn)確性。
具體的,如圖4所示,根據(jù)預(yù)設(shè)內(nèi)聚模型和預(yù)設(shè)比較策略,確定與一個第一字符串集合對應(yīng)的第一詞語集合的方法,包括:
S201、詞庫生成裝置統(tǒng)計一個第一字符串集合的第一數(shù)量和第一字符串在第一待分詞文檔中出現(xiàn)的第二數(shù)量,第一待分詞文檔為至少一個待分詞文檔中一個第一字符串集合對應(yīng)的待分詞文檔。
本發(fā)明實施例中,詞庫生成裝置獲取到第一待分詞文檔及其一個第一字符串集合之后,詞庫生成裝置統(tǒng)計一個第一字符串集合的第一數(shù)量和第一字符串在第一待分詞文檔中出現(xiàn)的第二數(shù)量。
S202、詞庫生成裝置按照預(yù)設(shè)內(nèi)聚模型將第一字符串劃分成左部分和右部分。
在詞庫生成裝置獲取待一個第一字符串中的第一字符串之后,詞庫生成裝置首先按照預(yù)設(shè)內(nèi)聚模型將第一字符串劃分成左部分和右部分兩個部分。
本發(fā)明實施例中,詞庫生成裝置可以利用nagao算法將第一字符串劃分成左部分和右部分兩個部分,具體的,nagao算法將第一字符串劃分為左右兩個部分的所有劃分可能都列舉出來。
示例性的,字符串集合中第一字符串的長度為5,第一字符串的內(nèi)容為“縣城里有米”,那么根據(jù)nagao算法可以將第一字符串劃分為“縣”和“城里有米”左右兩個部分、“縣城”和“里有米”左右兩個部分、“縣城里”和“有米”左右兩個部分以及“縣城里有”和“米”左右兩個部分這4中劃分方式。
S203、詞庫生成裝置在第一待分詞文檔中分別統(tǒng)計左部分的第三數(shù)量和右部分的第四數(shù)量。
在詞庫生成裝置獲取到第一字符串劃分為左部分和右部分兩個部分的所有劃分可能之后,詞庫生成裝置就要在第一待分詞文檔中將所有劃分可能下的左部分和右部分出現(xiàn)的第三數(shù)量和第四數(shù)量進(jìn)行統(tǒng)計了。
本發(fā)明實施例中,詞庫生成裝置在第一待分詞文檔中分別統(tǒng)計各種劃分可能下的左部分和右部分出現(xiàn)的第三數(shù)量和第四數(shù)量。
S204、詞庫生成裝置根據(jù)第一數(shù)量、第二數(shù)量、第三數(shù)量和第四數(shù)量計算第一內(nèi)聚度。
在詞庫生成裝置獲取到第一數(shù)量、第二數(shù)量、第三數(shù)量和第四數(shù)量之后,詞庫生成裝置就要根據(jù)獲取到的以上數(shù)量來計算第一內(nèi)聚度了。
本發(fā)明實施例中,詞庫生成裝置計算各種劃分可能下的第二內(nèi)聚度,然后在從第二內(nèi)聚度中選取最小值對應(yīng)的內(nèi)聚度作為第一內(nèi)聚度。
本發(fā)明實施例中,根據(jù)公式(1)計算第一字符串以及左部分和右部分的詞頻。
copro(word)=tf/N (1)
其中,tf為字符串在第一待分詞文檔中出現(xiàn)的次數(shù),N為一個第一字符串集合的第一數(shù)量。
本發(fā)明實施例中,根據(jù)公式(2)計算第一字符串中每種劃分情況下的第二內(nèi)聚度。
根據(jù)公式(1)和公式(2),可以得到計算內(nèi)聚度的公式(3)
本發(fā)明實施例中,根據(jù)S201得到的第一數(shù)量和第二數(shù)量分別對應(yīng)公式(3)中的N和tf、根據(jù)S203得到的第三數(shù)量和第四數(shù)量對應(yīng)公式(3)中的tf(letfPart)和tf(rightPart),因此,詞庫生成裝置計算出了第二內(nèi)聚度。
S205、詞庫生成裝置獲取預(yù)設(shè)內(nèi)聚度閾值。
在詞庫生成裝置計算出第一內(nèi)聚度之后,詞庫生成裝置就要獲取預(yù)設(shè)內(nèi)聚度閾值來作為判斷第一字符串是否存在第一詞語的標(biāo)準(zhǔn)了。
本發(fā)明實施例中,詞庫生成裝置計算出預(yù)設(shè)內(nèi)聚度閾值,并將預(yù)設(shè)內(nèi)聚度閾值存儲至詞庫生成裝置中,以供與至少一個第一內(nèi)聚度進(jìn)行比較,詞庫生成裝置首先選取N個無歧義基本詞,然后在至少一個待分詞文檔中計算N個無歧義基本詞對應(yīng)的第三內(nèi)聚度集合,之后,詞庫生成裝置將第三內(nèi)聚度集合劃分成至少一個區(qū)域,并尋找第三內(nèi)聚度數(shù)量最多的第一區(qū)域,最后,詞庫生成裝置用第一區(qū)域內(nèi)第三內(nèi)聚度的和除以第一區(qū)域內(nèi)第三內(nèi)聚度的個數(shù)得到第一區(qū)域內(nèi)第三內(nèi)聚度的平均值,則這個值就為預(yù)設(shè)內(nèi)聚度閾值。
示例性的,詞庫生成裝置計算出的內(nèi)聚度集合為0.1、0.7、0.6、0.6、0.5、0.9,詞庫生成裝置將內(nèi)聚度集合劃分為[0.1,05),[0.5,0.8),[0.8,1]這三個區(qū)域,在[0.1,05)區(qū)域中有一個內(nèi)聚度,在[0.5,0.8)區(qū)域中有四個內(nèi)聚度,在[0.8,1]區(qū)域中有一個內(nèi)聚度,此時,計算[0.5,0.8)區(qū)域中的內(nèi)聚度平均值為0.6,則詞庫生成裝置的預(yù)設(shè)內(nèi)聚度域值為0.6。
S206、詞庫生成裝置將第一內(nèi)聚度與預(yù)設(shè)內(nèi)聚度閾值進(jìn)行比較。
在詞庫生成裝置獲取到預(yù)設(shè)內(nèi)聚度閾值之后,詞庫生成裝置就要將第一內(nèi)聚度與預(yù)設(shè)內(nèi)聚度閾值進(jìn)行比較,從而判斷第一字符串中是否存在第一詞語。
本發(fā)明實施例中,詞庫生成裝置將第一內(nèi)聚度與預(yù)設(shè)內(nèi)聚度閾值進(jìn)行比較。
S207、當(dāng)?shù)谝粌?nèi)聚度小于預(yù)設(shè)內(nèi)聚度閾值時,詞庫生成裝置判斷第一字符串中不存在第一詞語。
在詞庫生成裝置獲取到預(yù)設(shè)內(nèi)聚度閾值之后,詞庫生成裝置就要將第一內(nèi)聚度與預(yù)設(shè)內(nèi)聚度閾值進(jìn)行比較,從而判斷第一字符串中是否存在第一詞語。
本發(fā)明實施例中,當(dāng)?shù)谝粌?nèi)聚度小于預(yù)設(shè)內(nèi)聚度閾值時,表征第一字符串中不存在第一詞語。
S208、當(dāng)?shù)谝粌?nèi)聚度大于預(yù)設(shè)內(nèi)聚度閾值時,詞庫生成裝置判斷第一字符串中存在第一詞語。
在詞庫生成裝置獲取到預(yù)設(shè)內(nèi)聚度閾值之后,詞庫生成裝置就要將第一內(nèi)聚度與預(yù)設(shè)內(nèi)聚度閾值進(jìn)行比較,從而判斷第一字符串中是否存在第一詞語。
本發(fā)明實施例中,當(dāng)?shù)谝粌?nèi)聚度大于預(yù)設(shè)內(nèi)聚度閾值時,表征第一字符串中存在第一詞語。
S209、當(dāng)詞庫生成裝置判斷出第一字符串中存在第一詞語時,詞庫生成裝置將第一字符串存儲至第一詞語集合中,直至詞庫生成裝置判斷完一個第一字符串集合中的所有字符串,得到第一詞語集合。
當(dāng)詞庫生成裝置判斷出第一字符串中存在第一詞語時,詞庫生成裝置將第一字符串存儲至第一詞語集合中。
本發(fā)明實施例中,第一詞語集合為第一待分詞文檔對應(yīng)的詞語集合。
本發(fā)明實施例中,當(dāng)詞庫生成裝置判斷出第一字符串中存在第一詞語時,詞庫生成裝置將第一字符串存儲至第一詞語集合中。
本發(fā)明實施例中,詞庫生成裝置將一個第一字符串集合中的所有字符串都進(jìn)行判斷,得到了第一詞語集合。
步驟S207和步驟S208-步驟S209為步驟S206之后的兩個并列的步驟,具體的根據(jù)實際情況進(jìn)行判定,本發(fā)明實施例不做具體限定。
因此,對至少一個第一字符串集合中的每個一個第一字符串集合執(zhí)行步驟S201-步驟S209的操作,就可以得到步驟S103中的根據(jù)預(yù)設(shè)內(nèi)聚模型和預(yù)設(shè)比較策略,確定與至少一個第一字符串集合中每個第一字符串集合對應(yīng)的第一詞語集合的過程。
實施例二
本發(fā)明實施例提供一種詞庫生成方法,如圖5所示,該方法可以包括:
S301、當(dāng)預(yù)設(shè)時間段到達(dá)時,詞庫生成裝置獲取至少一個待分詞文檔。
該步驟與步驟S101的實現(xiàn)過程相同,具體可參照步驟S101,在此不做贅述。
S302、詞庫生成裝置按照第一預(yù)設(shè)劃分策略,將至少一個待分詞文檔劃分成至少一個第一字符串集合,其中,一個待分詞文檔對應(yīng)一個第一字符串集合。
該步驟與步驟S102的實現(xiàn)過程相同,具體可參照步驟S102,在此不做贅述。
S303、詞庫生成裝置根據(jù)預(yù)設(shè)內(nèi)聚模型和預(yù)設(shè)比較策略,確定與至少一個第一字符串集合中每個第一字符串集合對應(yīng)的第一詞語集合,得到至少一個第一詞語集合。
該步驟與步驟S103的實現(xiàn)過程相同,具體可參照步驟S103,在此不做贅述。
S304、詞庫生成裝置根據(jù)至少一個第一詞語集合確定第一詞語庫。
在詞庫生成裝置得到至少一個第一詞語集合之后,詞庫生成裝置就要根據(jù)至少一個第一詞語集合來確定第一詞語庫了。
本發(fā)明實施例中,當(dāng)詞庫生成裝置確定了至少一個第一詞語集合之后,詞庫生成裝置找出至少一個第一詞語集合中的交集,從而將交集中存在的詞語確定為第一詞語庫。
S305、詞庫生成裝置判斷是否存在第二詞庫,第二詞庫為已經(jīng)存在的詞庫。
當(dāng)詞庫生成裝置確定了第一詞語庫之后,詞庫生成裝置就要判斷是否已經(jīng)存在第二詞庫了。
本發(fā)明實施例中,詞庫生成裝置檢測是否已經(jīng)存在第二詞庫。
S306、當(dāng)存在第二詞庫時,詞庫生成裝置將第一詞語庫中的第二詞語與第二詞庫的第三詞語進(jìn)行匹配。
當(dāng)詞庫生成裝置檢測到存在第二詞庫時,詞庫生成裝置將獲取到的第二次欲哭中的第二詞語依次與第二詞庫中的第三詞語進(jìn)行匹配操作。
S307、當(dāng)?shù)诙~語與第三詞語匹配失敗時,詞庫生成裝置將第二詞語添加至第二詞庫中。
當(dāng)?shù)诙~語與第三詞語匹配失敗時,表征第二詞庫中沒有第二詞語,此時詞庫生成裝置將第二詞庫添加至第二詞庫中。
S308、當(dāng)不存在第二詞庫時,詞庫生成裝置將第一詞語庫確定為第一詞庫。
當(dāng)詞庫生成裝置檢測到不存在第二詞庫至,詞庫生成裝置直接將第一詞語庫作為第二詞庫。
步驟S306-步驟S307和步驟S308為步驟S305之后兩個并列的步驟,具體的根據(jù)實際情況進(jìn)行選擇,本發(fā)明實施例不做具體的限定。
可以理解的是,將第一詞語庫中的第二詞庫中不存在的第二詞語添加至第二詞庫中,可以完成第二詞庫的自動定期更新。
示例性的,詞庫生成裝置獲取第一待分詞文檔,并將第一待分詞文檔中的第一詞語添加至第一詞語庫的過程如圖6所示,詞庫生成裝置首先獲取第一待分詞文檔,然后將第一待分詞文檔劃分為一個第一字符串集合,依次將一個第一字符串集合中的第一字符串按照nagao算法劃分成左部分和右部分,分別統(tǒng)計左部分的數(shù)量、右部分的數(shù)量、第一字符串在第一待分詞文檔中出現(xiàn)的數(shù)量以及一個第一字符串集合中字符串的數(shù)量,然后再根據(jù)左部分的數(shù)量、右部分的數(shù)量、第一字符串在第一待分詞文檔中出現(xiàn)的數(shù)量以及一個第一字符串集合中字符串的數(shù)量計算第一字符串的第二內(nèi)聚度,詞庫生成裝置從第二內(nèi)聚度中確定內(nèi)聚度值最小的內(nèi)聚度作為第一字符串的第一內(nèi)聚度,比較第一內(nèi)聚度與預(yù)設(shè)內(nèi)聚度閾值,當(dāng)?shù)谝粌?nèi)聚度大于預(yù)設(shè)內(nèi)聚度閾值時,將第一字符串添加至第一詞語庫中,當(dāng)將第一字符串添加至第一詞語庫之后和當(dāng)?shù)谝粌?nèi)聚度小于預(yù)設(shè)內(nèi)聚度閾值時,判斷是否是一個第一字符串集合中的最后一個字符串,如果否,則進(jìn)行下一個字符串的判斷流程,如果是,則結(jié)束流程。
可以理解的是,詞庫生成裝置獲取至少一個待分詞文檔,并從至少一個待分詞文檔中確定至少一個第一詞語集合,根據(jù)至少一個第一詞語集合確定第一詞庫,可以降低維護(hù)詞庫的工作量,提高詞庫的準(zhǔn)確性。
實施例三
本發(fā)明實施例提供一種詞庫生成裝置2,如圖7所示,該詞庫生成裝置2包括:
獲取單元10,用于當(dāng)預(yù)設(shè)時間段到達(dá)時,獲取至少一個待分詞文檔.
劃分單元11,用于按照第一預(yù)設(shè)劃分策略,將所述至少一個待分詞文檔劃分成至少一個第一字符串集合,其中,一個待分詞文檔對應(yīng)一個第一字符串集合。
確定單元12,用于根據(jù)預(yù)設(shè)內(nèi)聚模型和預(yù)設(shè)比較策略,確定與所述至少一個第一字符串集合中每個第一字符串集合對應(yīng)的第一詞語集合,得到至少一個第一詞語集合;根據(jù)所述至少一個第一詞語集合,確定第一詞庫。
可選的,基于圖7如圖8所示,所述詞庫生成裝置2還包括:計算單元13、判斷單元14和存儲單元15。
所述計算單元13,用于根據(jù)所述預(yù)設(shè)內(nèi)聚模型,計算第一字符串的第一內(nèi)聚度,所述第一字符串為所述一個第一字符串集合中的任意一個字符串;
所述判斷單元14,用于根據(jù)所述第一內(nèi)聚度和所述預(yù)設(shè)比較策略,判斷所述第一字符串中是否存在第一詞語。
所述存儲單元15,用于當(dāng)判斷出所述第一字符串中存在所述第一詞語時,將所述第一字符串存儲至第一詞語集合中,直至判斷完所述一個第一字符串集合中的所有字符串,得到所述第一詞語集合。
可選的,基于圖8如圖9所示,所述詞庫生成裝置2還包括:統(tǒng)計單元16。
所述統(tǒng)計單元16,用于統(tǒng)計所述一個第一字符串集合的第一數(shù)量和所述第一字符串在第一待分詞文檔中出現(xiàn)的第二數(shù)量,所述第一待分詞文檔為所述至少一個待分詞文檔中所述一個第一字符串集合對應(yīng)的待分詞文檔。
所述劃分單元11,具體用于按照所述預(yù)設(shè)內(nèi)聚模型將所述第一字符串劃分成左部分和右部分。
所述統(tǒng)計單元16,還用于在所述第一待分詞文檔中分別統(tǒng)計所述左部分的第三數(shù)量和所述右部分的第四數(shù)量。
所述計算單元13,具體用于根據(jù)所述第一數(shù)量、所述第二數(shù)量、所述第三數(shù)量和所述第四數(shù)量計算所述第一內(nèi)聚度。
可選的,基于圖7如圖10所示,所述詞庫生成裝置2還包括:匹配單元17和添加單元18。
所述確定單元12,還用于根據(jù)所述至少一個第一詞語集合確定第一詞語庫。
所述判斷單元14,還用于判斷是否存在第二詞庫,所述第二詞庫為已經(jīng)存在的詞庫。
所述匹配單元17,還用于當(dāng)存在所述第二詞庫時,將所述第一詞語庫中的第二詞語與所述第二詞庫的第三詞語進(jìn)行匹配。
所述添加單元18,用于當(dāng)所述第二詞語與所述第三詞語匹配失敗時,將所述第二詞語添加至所述第二詞庫中。
所述確定單元12,還用于當(dāng)不存在所述第二詞庫時,將所述第一詞語庫確定為所述第一詞庫。
可選的,該詞庫生成裝置2可以由終端1實現(xiàn),具體的,終端1可以包括手機、iPad等可以進(jìn)行文檔輸入的終端,具體的根據(jù)實際情況進(jìn)行選擇,本發(fā)明實施例不做具體的限定。
如圖11所示,在實際應(yīng)用中,上述獲取單元10、劃分單元11、確定單元12、計算單元13、判斷單元14、存儲單元15、統(tǒng)計單元16、匹配單元17和添加單元18可由位于終端1上的處理器19實現(xiàn),具體為中央處理器(CPU)、微處理器(MPU)、數(shù)字信號處理器(DSP)或現(xiàn)場可編程門陣列(FPGA)等實現(xiàn),該終端1還可以包括存儲器110,該存儲器110可以與處理器19連接,其中,存儲器110用于存儲可執(zhí)行程序代碼,該程序代碼包括計算機操作指令,存儲器110可能包含高速RAM存儲器,也可能還包括非易失性存儲器,例如,至少一個磁盤存儲器。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用硬件實施例、軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器和光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護(hù)范圍。