本發(fā)明涉及計(jì)算機(jī)
技術(shù)領(lǐng)域:
,具體涉及一種分布式的裂變查詢方法及裝置。
背景技術(shù):
:網(wǎng)絡(luò)、通訊及計(jì)算機(jī)技術(shù)的迅猛發(fā)展也極大程度地推動(dòng)了人工智能技術(shù)的進(jìn)步。而隨著文本情感分析以及自然語言處理技術(shù)的日益成熟,通過計(jì)算機(jī)應(yīng)用智能分析研究大數(shù)據(jù)已經(jīng)成為互聯(lián)網(wǎng)時(shí)代的一大需求和趨勢。在此背景下,語音處理及數(shù)據(jù)挖掘也受到了越來越多的關(guān)注。語音處理可識別出說話人所說的內(nèi)容,并將其轉(zhuǎn)化為文本數(shù)據(jù),進(jìn)而可以將這些總量持續(xù)增長的數(shù)據(jù)持久保存下來,以為后續(xù)進(jìn)行數(shù)據(jù)挖掘,進(jìn)而進(jìn)行數(shù)據(jù)查詢提供基礎(chǔ)。目前,數(shù)據(jù)查詢前所進(jìn)行的離線數(shù)據(jù)挖掘多使用單線程、單進(jìn)程處理數(shù)據(jù),再加上數(shù)據(jù)的增長速度十分迅速,導(dǎo)致數(shù)據(jù)挖掘時(shí)間長,挖掘效率低,甚至容易導(dǎo)致系統(tǒng)崩潰,進(jìn)而影響后續(xù)用戶查詢數(shù)據(jù)的準(zhǔn)確性。此外,現(xiàn)有技術(shù)中采用人工制定關(guān)鍵詞及模式,通過模式匹配識別目標(biāo)的數(shù)據(jù)挖掘方法擴(kuò)展性低,難以大規(guī)模應(yīng)用;而根據(jù)關(guān)鍵詞和句型結(jié)構(gòu)制定模式,通過與模式計(jì)算相似度識別目標(biāo)的數(shù)據(jù)挖掘方法則需要大量標(biāo)注數(shù)據(jù),其效果很大程度上依賴樣本的覆蓋,前期投入過大。技術(shù)實(shí)現(xiàn)要素:為消除現(xiàn)有數(shù)據(jù)查詢中進(jìn)行離線數(shù)據(jù)挖掘時(shí)存在的數(shù)據(jù)挖掘時(shí)間長、挖掘方法擴(kuò)展性低、挖掘效率低以及依賴樣本的覆蓋程度高、前期投入過大、影響用戶查詢數(shù)據(jù)的準(zhǔn)確性的弊端,本發(fā)明提出如下技術(shù)方案:一種分布式的裂變查詢方法,包括:在預(yù)設(shè)的分布式系統(tǒng)開發(fā)框架中創(chuàng)建用于放置裂變詞的裂變詞文件以及用于放置裂變模式的裂變模式文件;根據(jù)預(yù)設(shè)語料以及預(yù)設(shè)裂變詞確定所述預(yù)設(shè)裂變詞對應(yīng)的裂變模式,并根據(jù)所述預(yù)設(shè)裂變詞對所述裂變模式的第一支持信息將所述裂變模式加入所述裂變模式文件;從所述預(yù)設(shè)語料中查找出匹配所述裂變模式文件中的裂變模式的句子,并提取所述句子中裂變詞的位置所對應(yīng)的詞語,以根據(jù)所述詞語的所屬裂變模式對所述詞語的第二支持信息將所述詞語加入所述裂變詞文件;根據(jù)所述裂變詞文件中的裂變詞以及所述裂變模式文件中的裂變模式確定裂變詞集合和裂變模集合;根據(jù)所述裂變詞集合和裂變模集合對待查詢語句進(jìn)行裂變處理,以獲取查詢結(jié)果。可選地,所述根據(jù)所述裂變詞文件中的裂變詞以及所述裂變模式文件中的裂變模式確定裂變詞集合和裂變模集合之前,所述方法還包括:在所述分布式系統(tǒng)開發(fā)框架中對預(yù)設(shè)數(shù)量的語料進(jìn)行標(biāo)注,以獲取標(biāo)注結(jié)果;相應(yīng)地,所述根據(jù)所述裂變詞集合和裂變模集合對待查詢語句進(jìn)行裂變處理,并根據(jù)處理結(jié)果獲取查詢結(jié)果,包括:根據(jù)所述標(biāo)注結(jié)果、所述裂變詞集合和裂變模集合對待查詢語句進(jìn)行裂變處理,并根據(jù)處理結(jié)果獲取查詢結(jié)果。可選地,所述分布式系統(tǒng)開發(fā)框架包括但不限于分布式系統(tǒng)基礎(chǔ)框架hadoop。可選地,所述在所述分布式系統(tǒng)開發(fā)框架中對預(yù)設(shè)數(shù)量的語料進(jìn)行標(biāo)注,包括:利用hadoop的map/reduce調(diào)用分詞程序?qū)λ稣Z料中的語句進(jìn)行分詞并按照詞性進(jìn)行標(biāo)注??蛇x地,所述根據(jù)所述裂變詞文件中的裂變詞以及所述裂變模式文件中的裂變模式確定裂變詞集合和裂變模集合,包括:根據(jù)所述裂變詞文件中的裂變詞以及對預(yù)設(shè)數(shù)量的語料進(jìn)行標(biāo)注所獲取的標(biāo)注結(jié)果挖掘新的裂變模式,并將所述新的裂變模式放入所述裂變模式文件中;根據(jù)所述裂變模式文件中的所述裂變模式以及所述語料,挖掘新的裂變詞,并將所述新的裂變詞放入所述裂變詞文件中;交替重復(fù)上述挖掘新的裂變模式以及挖掘新的裂變詞的步驟,直至不再出現(xiàn)新的裂變模式或新的裂變詞,并將最終所得的裂變詞文件和裂變模式文件分別作為裂變詞集合和裂變模集合。一種分布式的裂變查詢裝置,包括:文件初始化單元,用于在預(yù)設(shè)的分布式系統(tǒng)開發(fā)框架中創(chuàng)建用于放置裂變詞的裂變詞文件以及用于放置裂變模式的裂變模式文件;裂變模式文件確定單元,用于根據(jù)預(yù)設(shè)語料以及預(yù)設(shè)裂變詞確定所述預(yù)設(shè)裂變詞對應(yīng)的裂變模式,并根據(jù)所述預(yù)設(shè)裂變詞對所述裂變模式的第一支持信息將所述裂變模式加入所述裂變模式文件;裂變詞文件確定單元,用于從所述預(yù)設(shè)語料中查找出匹配所述裂變模式文件中的裂變模式的句子,并提取所述句子中裂變詞的位置所對應(yīng)的詞語,以根據(jù)所述詞語的所屬裂變模式對所述詞語的第二支持信息將所述詞語加入所述裂變詞文件;集合確定單元,用于根據(jù)所述裂變詞文件中的裂變詞以及所述裂變模式文件中的裂變模式確定裂變詞集合和裂變模集合;裂變查詢單元,用于根據(jù)所述裂變詞集合和裂變模集合對待查詢語句進(jìn)行裂變處理,以獲取查詢結(jié)果??蛇x地,所述裝置還包括:標(biāo)注單元,用于在所述分布式系統(tǒng)開發(fā)框架中對預(yù)設(shè)數(shù)量的語料進(jìn)行標(biāo)注,以獲取標(biāo)注結(jié)果;相應(yīng)地,所述裂變查詢單元進(jìn)一步用于根據(jù)所述標(biāo)注結(jié)果、所述裂變詞集合和裂變模集合對待查詢語句進(jìn)行裂變處理,并根據(jù)處理結(jié)果獲取查詢結(jié)果??蛇x地,所述分布式系統(tǒng)開發(fā)框架包括但不限于分布式系統(tǒng)基礎(chǔ)框架hadoop??蛇x地,所述標(biāo)注單元進(jìn)一步用于利用hadoop的map/reduce調(diào)用分詞程序?qū)λ稣Z料中的語句進(jìn)行分詞并按照詞性進(jìn)行標(biāo)注??蛇x地,所述集合確定單元進(jìn)一步用于:根據(jù)所述裂變詞文件中的裂變詞以及對預(yù)設(shè)數(shù)量的語料進(jìn)行標(biāo)注所獲取的標(biāo)注結(jié)果挖掘新的裂變模式,并將所述新的裂變模式放入所述裂變模式文件中;根據(jù)所述裂變模式文件中的所述裂變模式以及所述語料,挖掘新的裂變詞,并將所述新的裂變詞放入所述裂變詞文件中;交替重復(fù)上述挖掘新的裂變模式以及挖掘新的裂變詞的步驟,直至不再出現(xiàn)新的裂變模式或新的裂變詞,并將最終所得的裂變詞文件和裂變模式文件分別作為裂變詞集合和裂變模集合。本發(fā)明的分布式的裂變查詢方法及裝置,基于分布式系統(tǒng)開發(fā)框架以及支持信息計(jì)算方法確定裂變詞集合和裂變模集合,以根據(jù)裂變詞集合和裂變模集合對用戶輸入的待查詢語句進(jìn)行裂變處理模式匹配并返回查詢結(jié)果,消除了現(xiàn)有數(shù)據(jù)查詢中進(jìn)行離線數(shù)據(jù)挖掘時(shí)存在的數(shù)據(jù)挖掘時(shí)間長、挖掘方法擴(kuò)展性低、挖掘效率低以及依賴樣本的覆蓋程度高、前期投入過大、影響用戶查詢數(shù)據(jù)的準(zhǔn)確性的弊端,提高了數(shù)據(jù)的離線挖掘效率,縮短了數(shù)據(jù)挖掘時(shí)間,進(jìn)而提高了查詢準(zhǔn)確度和查詢效率,提升了用戶體驗(yàn)。附圖說明為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明一個(gè)實(shí)施例提供的分布式的裂變查詢方法的流程圖;圖2為本發(fā)明一個(gè)實(shí)施例提供的確定裂變詞集合和裂變模集合方法的流程圖;圖3為本發(fā)明一個(gè)實(shí)施例提供的分布式的裂變查詢裝置的結(jié)構(gòu)示意圖;圖4為本發(fā)明另一個(gè)實(shí)施例提供的分布式的裂變查詢裝置的結(jié)構(gòu)示意圖。具體實(shí)施方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。圖1為本發(fā)明一個(gè)實(shí)施例提供的分布式的裂變查詢方法的流程圖;如圖1所示,該方法包括:S1:在預(yù)設(shè)的分布式系統(tǒng)開發(fā)框架中創(chuàng)建用于放置裂變詞的裂變詞文件以及用于放置裂變模式的裂變模式文件;其中,所述的裂變詞為用于將語句劃分成裂變模式的關(guān)鍵詞,例如“為什么”、“是什么”、“是誰”、“劉德華”等[動(dòng)詞+代詞]或[名詞];所述的裂變模式為根據(jù)所述語句包含的所述關(guān)鍵詞的詞性以及包含的其他詞語的詞性將所述語句進(jìn)行劃分所得的模式,例如對于語句“劉德華是誰”而言,若其裂變詞為“是誰”,則其裂變模式可確定為“[人名]+[裂變詞]”。需要說明的是,創(chuàng)建上述裂變詞文件后即向其中加入預(yù)設(shè)數(shù)量的裂變詞,作為初始語料;而上述創(chuàng)建的裂變模式文件后不需要向其中加入裂變模式,即使保留一個(gè)空的裂變模式文件用于存儲后續(xù)通過迭代處理所獲取的裂變模式。此外,上述的分布式系統(tǒng)開發(fā)框架可以為hadoop、spark以及storm等分布式架構(gòu)中的任意一種或其他可實(shí)現(xiàn)分布式系統(tǒng)開發(fā)的框架,本發(fā)明對此不進(jìn)行限定。S2:根據(jù)預(yù)設(shè)語料以及預(yù)設(shè)裂變詞確定所述預(yù)設(shè)裂變詞對應(yīng)的裂變模式,并根據(jù)所述預(yù)設(shè)裂變詞對所述裂變模式的第一支持信息將所述裂變模式加入所述裂變模式文件;具體地,根據(jù)預(yù)設(shè)語料中每個(gè)句子所包含的詞語的詞性(如[人名]、[動(dòng)詞]、[代詞]等)以及包含預(yù)設(shè)裂變詞的句子確定所述包含預(yù)設(shè)裂變詞的句子的裂變模式(如[人名]+[裂變詞]等),并根據(jù)所述預(yù)設(shè)裂變詞對所述裂變模式的第一支持信息(包括支持度、置信度、信息增益以及卡方等信息)將所述裂變模式加入到裂變模式文件中;S3:從所述預(yù)設(shè)語料中查找出匹配所述裂變模式文件中的裂變模式的句子,并提取所述句子中裂變詞的位置所對應(yīng)的詞語,以根據(jù)所述詞語的所屬裂變模式對所述詞語的第二支持信息將所述詞語加入所述裂變詞文件;具體地,從所述預(yù)設(shè)語料中提取包含所述裂變模集合中的任一裂變模式的句子,并獲取該句子中裂變詞的位置所對應(yīng)的詞語,并根據(jù)所述裂變詞的位置所對應(yīng)的詞語的所屬裂變模式對該詞語的第二支持信息(包括支持度、置信度、信息增益以及卡方等信息)將該詞語作為裂變詞加入到裂變詞文件中;S4:根據(jù)所述裂變詞文件中的裂變詞以及所述裂變模式文件中的裂變模式(例如,通過迭代裂變搜索,即重復(fù)步驟S2~S3,直至不再出現(xiàn)新的裂變詞和裂變模式)確定裂變詞集合和裂變模集合;S5:根據(jù)所述裂變詞集合和裂變模集合對待查詢語句進(jìn)行裂變處理,并根據(jù)處理結(jié)果獲取查詢結(jié)果。具體地,即根據(jù)最終得到的裂變詞集合和最終得到的裂變模集合對待查詢語句進(jìn)行裂變處理,并根據(jù)處理結(jié)果獲取并返回查詢結(jié)果。本實(shí)施例的分布式的裂變查詢方法,基于分布式系統(tǒng)開發(fā)框架以及支持信息計(jì)算方法確定裂變詞集合和裂變模集合,以根據(jù)裂變詞集合和裂變模集合對用戶輸入的待查詢語句進(jìn)行裂變處理并返回查詢結(jié)果,消除了現(xiàn)有數(shù)據(jù)查詢中進(jìn)行離線數(shù)據(jù)挖掘時(shí)存在的數(shù)據(jù)挖掘時(shí)間長、挖掘方法擴(kuò)展性低、挖掘效率低以及依賴樣本的覆蓋程度高、前期投入過大、影響用戶查詢數(shù)據(jù)的準(zhǔn)確性的弊端,提高了數(shù)據(jù)的離線挖掘效率,縮短了數(shù)據(jù)挖掘時(shí)間,進(jìn)而提高了查詢準(zhǔn)確度和查詢效率,提升了用戶體驗(yàn)。進(jìn)一步地,作為本實(shí)施例的優(yōu)選,上述步驟S2可以包括:S21:根據(jù)預(yù)設(shè)語料中的每個(gè)句子所包含的詞語的詞性生成所述每個(gè)句子的分詞模式,并提取所述預(yù)設(shè)語料中包含預(yù)設(shè)裂變詞的句子,以根據(jù)所述預(yù)設(shè)裂變詞將所述句子的分詞模式轉(zhuǎn)換為裂變模式;其中,每個(gè)句子所包含的詞語的詞性包括名詞、動(dòng)詞以及代詞等等,在此基礎(chǔ)上,根據(jù)每個(gè)句子所包含的詞語的詞性而生成的分詞模式例如為[人名]、[動(dòng)詞][代詞]、[人名][動(dòng)詞][代詞]等等。具體來說,可通過分詞程序(如hadoop的map/reduce調(diào)用分詞程序)對所述預(yù)設(shè)語料中的每個(gè)句子進(jìn)行分詞,并按照詞性進(jìn)行實(shí)體標(biāo)注,以生成每個(gè)句子的分詞模式,其中,裂變詞為用于將語句劃分成裂變模式的關(guān)鍵詞,例如“為什么”、“是什么”、“是誰”、“劉德華”等[動(dòng)詞+代詞]或[名詞];所述的裂變模式為根據(jù)所述語句包含的所述關(guān)鍵詞的詞性以及包含的其他詞語的詞性將所述語句進(jìn)行劃分所得的模式,例如對于語句“劉德華是誰”而言,若其裂變詞為“是誰”,則其裂變模式可確定為“[人名]+[裂變詞]”。具體地,例如在裂變詞集合中加入的“是誰”,并掃描上述語料中的包含“是誰”的原句子,得到該原句子及其模式:劉德華是誰[人名][動(dòng)詞][代詞][動(dòng)詞][代詞]=[裂變詞],以將得到的模式“[人名][動(dòng)詞][代詞]”加入裂變模集合中。S22:計(jì)算所述裂變模式的第一置信度和所述預(yù)設(shè)裂變詞到所述裂變模式的第一支持度,以根據(jù)所述第一置信度和所述第一支持度將所述裂變模式加入到裂變模式文件中。具體地,即將裂變模式的第一置信度和所述預(yù)設(shè)裂變詞到所述裂變模式的第一支持度分別與置信度閾值和支持度閾值進(jìn)行比較,并在第一置信度與第一支持度均大于相應(yīng)的閾值的情況下,將該裂變模式加入到裂變模式文件中。進(jìn)一步地,作為本實(shí)施例的優(yōu)選,上述步驟S3還可以包括:S31:從所述預(yù)設(shè)語料中提取包含所述裂變模式文件中的任一裂變模式的句子,并提取該句子中裂變詞位置所對應(yīng)的詞語;具體地,例如從預(yù)設(shè)語料中掃描出裂變模式文件中的裂變模式“[人名][動(dòng)詞][代詞]”的句子:“梁朝偉在哪”,由前所述,[動(dòng)詞][代詞]=[裂變詞],因此可提取出裂變詞位置上的新詞“在哪”。S32:計(jì)算所述裂變詞的位置所對應(yīng)的詞語的第二置信度和該詞語的所屬裂變模式到該詞語的第二支持度,以根據(jù)所述第二置信度和所述第二支持度將所述詞語作為裂變詞加入到裂變詞文件中。具體地,即將裂變詞的位置所對應(yīng)的詞語的第二置信度和該詞語的所屬裂變模式到該詞語的第二支持度分別與置信度閾值和支持度閾值進(jìn)行比較,并在第二置信度與第二支持度均大于相應(yīng)的閾值的情況下,將該詞語作為新的裂變詞加入到裂變詞文件中。作為本實(shí)施例的優(yōu)選,上述步驟S4之前,還可以進(jìn)一步包括:S40:在所述分布式系統(tǒng)開發(fā)框架中對預(yù)設(shè)數(shù)量的語料進(jìn)行標(biāo)注,以獲取標(biāo)注結(jié)果;相應(yīng)地,所述根據(jù)所述裂變詞集合和裂變模集合對待查詢語句進(jìn)行裂變處理,并根據(jù)處理結(jié)果獲取查詢結(jié)果,包括:根據(jù)所述標(biāo)注結(jié)果、所述裂變詞集合和裂變模集合對待查詢語句進(jìn)行裂變處理,并根據(jù)處理結(jié)果獲取查詢結(jié)果。作為本實(shí)施例的優(yōu)選,上述在所述分布式系統(tǒng)開發(fā)框架中對預(yù)設(shè)數(shù)量的語料進(jìn)行標(biāo)注,包括:利用hadoop的map/reduce調(diào)用分詞程序?qū)λ稣Z料中的語句進(jìn)行分詞并按照詞性進(jìn)行標(biāo)注。具體地,根據(jù)預(yù)設(shè)的語料,使用hadoop的map/reduce調(diào)用分詞程序?qū)υ撜Z料中的句子進(jìn)行分詞并進(jìn)行詞性標(biāo)注,并輸出格式為原始句子+模式,如“劉德華是誰”[人名][動(dòng)詞][代詞]。圖2為本發(fā)明一個(gè)實(shí)施例提供的確定裂變詞集合和裂變模集合方法的流程圖;如圖2所示,在上一實(shí)施例的基礎(chǔ)上,步驟S4中根據(jù)所述裂變詞文件中的裂變詞以及所述裂變模式文件中的裂變模式確定裂變詞集合和裂變模集合,可進(jìn)一步包括:S41:根據(jù)所述裂變詞文件中的裂變詞以及對預(yù)設(shè)數(shù)量的語料進(jìn)行標(biāo)注所獲取的標(biāo)注結(jié)果挖掘新的裂變模式,并將所述新的裂變模式放入所述裂變模式文件中;具體地,在分布式系統(tǒng)開發(fā)框架,例如hadoop中構(gòu)建“詞-模式”的hadoop任務(wù);其中Hadoop的map和reduce細(xì)節(jié)為:map:原始句子+模式和裂變詞作為輸入,輸出以裂變詞為鍵,設(shè)置以詞為鍵進(jìn)行分桶排序;reduce:由于設(shè)置以詞分桶,有相同裂變詞的數(shù)據(jù)將分到一個(gè)處理程序,輸出包含裂變集合詞的句子,以及該模式。如“劉德華是誰”包含"是誰",輸出結(jié)果為:劉德華是誰[人名]+[裂變詞]。S42:根據(jù)所述裂變模式文件中的所述裂變模式以及所述語料,挖掘新的裂變詞,并將所述新的裂變詞放入所述裂變詞文件中;具體地,在hadoop中構(gòu)建“模式-詞”的hadoop任務(wù);其中,Hadoop的map和reduce細(xì)節(jié)為:map:將步驟S21的結(jié)果和原始句子作為輸入,輸出以模式為鍵,設(shè)置以模式為鍵進(jìn)行分桶排序。reduce:由于設(shè)置以模式分桶,相同模式的數(shù)據(jù)將分到一個(gè)處理程序,輸出包含模式的句子。如“劉德華在哪”包含"是誰",輸出結(jié)果為:劉德華在哪[人名]+“在哪”;將該結(jié)果輸出為原始句子+模式。S43:交替重復(fù)上述挖掘新的裂變模式以及挖掘新的裂變詞的步驟,直至不再出現(xiàn)新的裂變模式或新的裂變詞,并將最終所得的裂變詞文件和裂變模式文件分別作為裂變詞集合和裂變模集合。具體地,在執(zhí)行完步驟S42后將輸出的結(jié)果,即原始句子+模式帶回到步驟S41,并重復(fù)步驟S41至S42步驟,直到所得結(jié)果收斂,即不再有新的數(shù)據(jù)輸出。本實(shí)施例的分布式的裂變查詢方法基于hadoop分布式系統(tǒng)開發(fā)框架構(gòu)以及支持信息計(jì)算方法確定裂變詞集合和裂變模集合,可以實(shí)現(xiàn)多線程、多進(jìn)程的數(shù)據(jù)查詢,縮短了數(shù)據(jù)處理時(shí)間,提高了數(shù)據(jù)挖掘與數(shù)據(jù)查詢的效率。圖3為本發(fā)明一個(gè)實(shí)施例提供的分布式的裂變查詢裝置的結(jié)構(gòu)示意圖;如圖3所示,該裝置包括:文件初始化單元10,用于在預(yù)設(shè)的分布式系統(tǒng)開發(fā)框架中創(chuàng)建用于放置裂變詞的裂變詞文件以及用于放置裂變模式的裂變模式文件;其中,所述的裂變詞為用于將語句劃分成裂變模式的關(guān)鍵詞,例如“為什么”、“是什么”、“是誰”、“劉德華”等[動(dòng)詞+代詞]或[名詞];所述的裂變模式為根據(jù)所述語句包含的所述關(guān)鍵詞的詞性以及包含的其他詞語的詞性將所述語句進(jìn)行劃分所得的模式,例如對于語句“劉德華是誰”而言,若其裂變詞為“是誰”,則其裂變模式可確定為“[人名]+[裂變詞]”。需要說明的是,創(chuàng)建上述裂變詞文件后即向其中加入預(yù)設(shè)數(shù)量的裂變詞,作為初始語料;而上述創(chuàng)建的裂變模式文件后不需要向其中加入裂變模式,即使保留一個(gè)空的裂變模式文件用于存儲后續(xù)通過迭代處理所獲取的裂變模式。此外,上述的分布式系統(tǒng)開發(fā)框架可以為hadoop、spark以及storm等分布式架構(gòu)中的任意一種或其他可實(shí)現(xiàn)分布式系統(tǒng)開發(fā)的框架,本發(fā)明對此不進(jìn)行限定。裂變模式文件確定單元20,用于根據(jù)預(yù)設(shè)語料以及預(yù)設(shè)裂變詞確定所述預(yù)設(shè)裂變詞對應(yīng)的裂變模式,并根據(jù)所述預(yù)設(shè)裂變詞對所述裂變模式的第一支持信息將所述裂變模式加入所述裂變模式文件;具體地,根據(jù)預(yù)設(shè)語料中每個(gè)句子所包含的詞語的詞性(如[人名]、[動(dòng)詞]、[代詞]等)以及包含預(yù)設(shè)裂變詞的句子確定所述包含預(yù)設(shè)裂變詞的句子的裂變模式(如[人名]+[裂變詞]等),并根據(jù)所述預(yù)設(shè)裂變詞對所述裂變模式的第一支持信息(包括支持度、置信度、信息增益以及卡方等信息)將所述裂變模式加入到裂變模式文件中;裂變詞文件確定單元30,用于從所述預(yù)設(shè)語料中查找出匹配所述裂變模式文件中的裂變模式的句子,并提取所述句子中裂變詞的位置所對應(yīng)的詞語,以根據(jù)所述詞語的所屬裂變模式對所述詞語的第二支持信息將所述詞語加入所述裂變詞文件;具體地,從所述預(yù)設(shè)語料中提取包含所述裂變模集合中的任一裂變模式的句子,并獲取該句子中裂變詞的位置所對應(yīng)的詞語,并根據(jù)所述裂變詞的位置所對應(yīng)的詞語的所屬裂變模式對該詞語的第二支持信息(包括支持度、置信度、信息增益以及卡方等信息)將該詞語作為裂變詞加入到裂變詞文件中;集合確定單元40,用于根據(jù)所述裂變詞文件中的裂變詞以及所述裂變模式文件中的裂變模式確定裂變詞集合和裂變模集合;裂變查詢單元50,用于根據(jù)所述裂變詞集合和裂變模集合對待查詢語句進(jìn)行裂變處理,以獲取查詢結(jié)果。具體地,即根據(jù)最終得到的裂變詞集合和最終得到的裂變模集合對待查詢語句進(jìn)行裂變處理,并根據(jù)處理結(jié)果獲取并返回查詢結(jié)果。本實(shí)施例所述的分布式的裂變查詢裝置可以用于執(zhí)行上述方法實(shí)施例,其原理和技術(shù)效果類似,此處不再贅述。圖4為本發(fā)明另一個(gè)實(shí)施例提供的分布式的裂變查詢裝置的結(jié)構(gòu)示意圖;如圖4所述,作為本實(shí)施的優(yōu)選,該裝置還可進(jìn)一步包括:標(biāo)注單元60,用于在所述分布式系統(tǒng)開發(fā)框架中對預(yù)設(shè)數(shù)量的語料進(jìn)行標(biāo)注,以獲取標(biāo)注結(jié)果;相應(yīng)地,所述裂變查詢單元50可進(jìn)一步用于根據(jù)所述標(biāo)注結(jié)果、所述裂變詞集合和裂變模集合對待查詢語句進(jìn)行裂變處理,并根據(jù)處理結(jié)果獲取查詢結(jié)果。作為本實(shí)施例的優(yōu)選,所述標(biāo)注單元60可進(jìn)一步用于利用hadoop的map/reduce調(diào)用分詞程序?qū)λ稣Z料中的語句進(jìn)行分詞并按照詞性進(jìn)行標(biāo)注。作為本實(shí)施例的優(yōu)選,集合確定單元40進(jìn)一步用于:根據(jù)所述裂變詞文件中的裂變詞以及對預(yù)設(shè)數(shù)量的語料進(jìn)行標(biāo)注所獲取的標(biāo)注結(jié)果挖掘新的裂變模式,并將所述新的裂變模式放入所述裂變模式文件中;根據(jù)所述裂變模式文件中的所述裂變模式以及所述語料,挖掘新的裂變詞,并將所述新的裂變詞放入所述裂變詞文件中;交替重復(fù)上述挖掘新的裂變模式以及挖掘新的裂變詞的步驟,直至不再出現(xiàn)新的裂變模式或新的裂變詞,并將最終所得的裂變詞文件和裂變模式文件分別作為裂變詞集合和裂變模集合。本實(shí)施例基于hadoop分布式系統(tǒng)開發(fā)框架構(gòu)建裂變詞文件和裂變模式文件,并確定裂變詞集合和裂變模集合,可以實(shí)現(xiàn)多線程、多進(jìn)程的數(shù)據(jù)查詢,縮短了數(shù)據(jù)處理時(shí)間,提高了數(shù)據(jù)挖掘與數(shù)據(jù)查詢的效率。下面以一具體的實(shí)施例來說明本發(fā)明,但不限定本發(fā)明的保護(hù)范圍。本實(shí)施例的分布式的裂變查詢方法的步驟如下:1、使用hadoop預(yù)處理語料,結(jié)果如下表一所示:原句子分詞和標(biāo)注后的句子裂變模式劉德華是誰劉德華[人名]是[動(dòng)詞]誰[代詞][人名][動(dòng)詞][代詞]梁朝偉在哪梁朝偉[人名]在[動(dòng)詞]哪[代詞][人名][動(dòng)詞][代詞]羊駝是什么羊駝[動(dòng)物]是[動(dòng)詞]什么[代詞][動(dòng)物][動(dòng)詞][代詞]2、在hadoop文件系統(tǒng)中新建裂變模式文件,為空;3、在hadoop文件系統(tǒng)中新建裂變詞文件加入裂變詞,例如為“是誰”;4、創(chuàng)建“裂變詞到裂變模式”的hadoop任務(wù):map:將第1步和第3步的數(shù)據(jù)作為輸入,以詞為鍵;reduce:“劉德華是誰”命中“是誰”,輸出為:劉德華是誰[人名][動(dòng)詞][代詞]([動(dòng)詞][代詞]=[裂變詞]);而“梁朝偉在哪”、“羊駝是什么”沒有命中裂變詞,故無輸出;5、創(chuàng)建“裂變模式到裂變詞”的hadoop任務(wù):map:將第4步的數(shù)據(jù)和第一步的數(shù)據(jù)作為輸入,以模式為鍵;reduce:根據(jù)模式進(jìn)行匹配,最終輸出為:“劉德華是誰”“[人名][動(dòng)詞][代詞]”;“梁朝偉在哪”“[人名][動(dòng)詞][代詞]”;6、根據(jù)經(jīng)驗(yàn)制定支持信息閾值,當(dāng)支持度大于該閾值時(shí),將該裂變詞加入到裂變詞集合中;其中,支持信息包括支持度、置信度、信息增益、卡方等信息;以支持度和置信度為例:設(shè)置置信度為0.3,支持度為0.3,創(chuàng)建hadoop任務(wù):map:將4、5步的數(shù)據(jù)作為輸入,格式為:“[人名][人名]“在哪”梁朝偉在哪[人名][人名][動(dòng)詞][代詞]梁朝偉在哪[人名][人名]“是誰”劉德華是誰[人名][人名][動(dòng)詞][代詞]劉德華是誰[動(dòng)物][動(dòng)物][動(dòng)詞][代詞]羊駝是什么”;reduce接到的數(shù)據(jù)為:“[人名][人名]“在哪”梁朝偉在哪[人名][人名]“是誰”劉德華是誰[人名][人名][動(dòng)詞][代詞]梁朝偉在哪[人名][人名][動(dòng)詞][代詞]劉德華是誰[動(dòng)物][動(dòng)物][動(dòng)詞][代詞]羊駝是什么”;計(jì)算出:[人名][動(dòng)詞][代詞]的置信度為0.67,支持度為0.67;[人名]和“在哪”的置信度為0.33,支持度為0.33;最終的輸出為:[人名][人名][動(dòng)詞][代詞][人名]“在哪”梁朝偉在哪;[人名][人名][動(dòng)詞][代詞][人名]“是誰”劉德華是誰;7、結(jié)束得到裂變詞集合:是誰、在哪;得到裂變模集合:[人名][動(dòng)詞][代詞];8、標(biāo)注[人名]+“是誰”的目標(biāo)是“who(誰)”;[人名]+“在哪”的目標(biāo)是“where(哪)”;9、線上使用時(shí),符合[人名]+“是誰”模式的,問題目標(biāo)為who,將返回該[人名]是誰的答案;符合[人名]+“在哪”模式的,問題目標(biāo)為where,將返回該[人名]在什么地方的答案。本發(fā)明的分布式的裂變查詢方法及裝置,基于分布式系統(tǒng)開發(fā)框架以及支持信息計(jì)算方法確定裂變詞集合和裂變模集合,以根據(jù)裂變詞集合和裂變模集合對用戶輸入的待查詢語句進(jìn)行裂變處理并返回查詢結(jié)果,消除了現(xiàn)有查詢方法因使用單線程、單進(jìn)程處理數(shù)據(jù)而導(dǎo)致數(shù)據(jù)挖掘時(shí)間長、效率低進(jìn)而影響查詢準(zhǔn)確度甚至容易導(dǎo)致系統(tǒng)崩潰的弊端,提高了數(shù)據(jù)的離線挖掘效率,縮短了數(shù)據(jù)挖掘時(shí)間,可精確識別查詢目標(biāo),具有很強(qiáng)的擴(kuò)展性,并具有自動(dòng)發(fā)現(xiàn)新詞的功能,進(jìn)而提高了查詢準(zhǔn)確度和查詢效率,提升了用戶體驗(yàn)。以上實(shí)施例僅用于說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。當(dāng)前第1頁1 2 3