亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種搜索方法及裝置的制作方法

文檔序號(hào):6370843閱讀:205來(lái)源:國(guó)知局
專利名稱:一種搜索方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種搜素方法及裝置。
背景技術(shù)
互聯(lián)網(wǎng)的迅猛發(fā)展和廣泛普及,使得網(wǎng)絡(luò)成為獲得信息的重要來(lái)源,從互聯(lián)網(wǎng)獲取信息的有效手段之ー即是通過(guò)搜 索引擎進(jìn)行關(guān)鍵字的捜索?,F(xiàn)有的搜索引擎根據(jù)用戶輸入的關(guān)鍵字,從互聯(lián)網(wǎng)中找出與關(guān)鍵字相關(guān)聯(lián)的網(wǎng)頁(yè),經(jīng)過(guò)排序后呈現(xiàn)給用戶??梢?jiàn),現(xiàn)有的搜索引擎最終向用戶提供的只是網(wǎng)頁(yè)的列表,通常情況下,這些網(wǎng)頁(yè)中還可能包含ー些對(duì)用戶無(wú)用的內(nèi)容,例如廣告等,用戶要需要依次查詢列出的網(wǎng)頁(yè),才能從中甄選出有用的信息,因而,現(xiàn)有的搜索引擎存在捜索結(jié)果定位不準(zhǔn)確的問(wèn)題。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種搜索方法及裝置,目的在于解決現(xiàn)有的搜索引擎搜索結(jié)果定位不準(zhǔn)確的問(wèn)題。為了實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提供了以下技術(shù)方案一種搜索方法,包括對(duì)用戶輸入的捜索數(shù)據(jù)進(jìn)行預(yù)處理;從預(yù)處理后的捜索數(shù)據(jù)中提取預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu),所述預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu)包括核心查詢?nèi)M、析取關(guān)聯(lián)查詢?nèi)M、合取關(guān)聯(lián)查詢?nèi)M、條件關(guān)聯(lián)查詢?nèi)M、否定條件關(guān)聯(lián)查詢?nèi)M、條件關(guān)聯(lián)候選詞集合、否定條件候選關(guān)聯(lián)詞集合;將所述預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu)映射為本體三元組;依據(jù)所述本體三元組,從預(yù)設(shè)的數(shù)據(jù)庫(kù)中捜索與所述搜索數(shù)據(jù)相關(guān)的解答數(shù)據(jù),并將所述解答數(shù)據(jù)提供給用戶。優(yōu)選地,所述對(duì)用戶輸入的捜索數(shù)據(jù)進(jìn)行預(yù)處理包括接收用戶輸入的搜索數(shù)據(jù);去除所述搜索數(shù)據(jù)中的冗余數(shù)據(jù)。優(yōu)選地,從預(yù)處理后的捜索數(shù)據(jù)中提取預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu)包括將所述預(yù)處理后的捜索數(shù)據(jù)按照預(yù)設(shè)的數(shù)據(jù)類型進(jìn)行分類,以確定所述預(yù)處理后的捜索數(shù)據(jù)所屬的數(shù)據(jù)類型;依據(jù)所述預(yù)處理后的捜索數(shù)據(jù)所屬的數(shù)據(jù)類型,提取所述預(yù)處理后的捜索數(shù)據(jù)的核心查詢?nèi)M;依據(jù)所述核心查詢?nèi)M,獲取所述預(yù)處理后的捜索數(shù)據(jù)的析取關(guān)聯(lián)查詢?nèi)M、合取關(guān)聯(lián)查詢?nèi)M、條件關(guān)聯(lián)查詢?nèi)M、否定條件關(guān)聯(lián)查詢?nèi)M、條件關(guān)聯(lián)候選詞集合、否定條件候選關(guān)聯(lián)詞集合。優(yōu)選地,所述預(yù)設(shè)的數(shù)據(jù)類型包括特指問(wèn)句、正反問(wèn)句、是非問(wèn)句和選擇問(wèn)句;
所述特指問(wèn)句包括有疑問(wèn)代詞的特指問(wèn)句,有疑問(wèn)動(dòng)詞的特指問(wèn)句,以及無(wú)疑問(wèn)詞的特指問(wèn)句。優(yōu)選地,所述將所述預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu)映射為本體三元組包括將核心查詢?nèi)M映射為核心本體三元組;將合取關(guān)聯(lián)查詢?nèi)M映射為合取關(guān)聯(lián)本體三元組;將析取關(guān)聯(lián)查詢?nèi)M映射為析取關(guān)聯(lián)本體三元組;將條件關(guān)聯(lián)查詢?nèi)M映射為條件關(guān)聯(lián)本體三元組;將否定條件關(guān)聯(lián)查詢?nèi)M映射為否定條件關(guān)聯(lián)本體三元組;將條件和否定條件關(guān)聯(lián)候選詞映射為條件或否定條件關(guān)聯(lián)本體三元組。
優(yōu)選地,所述依據(jù)所述本體三元組,從預(yù)設(shè)的數(shù)據(jù)庫(kù)中捜索與所述搜索數(shù)據(jù)相關(guān)的解答數(shù)據(jù)包括將本體三元組中的核心本體三元組、析取本體三元組及合取本體三元組,中屬于類的成分替換為其相應(yīng)的候選實(shí)體;利用條件以及否定條件關(guān)聯(lián)本體三元組,從所述候選實(shí)體中過(guò)濾其修飾的類對(duì)應(yīng)的候選實(shí)體;利用析取關(guān)聯(lián)三元組,從所述候選實(shí)體中過(guò)濾核心三元組中其修飾的類對(duì)應(yīng)的候選實(shí)體;依據(jù)所述述候選實(shí)體中剩下的實(shí)體構(gòu)建答案。一種搜索裝置,包括預(yù)處理模塊,用于對(duì)用戶輸入的捜索數(shù)據(jù)進(jìn)行預(yù)處理;數(shù)據(jù)結(jié)構(gòu)提取模塊,用于從預(yù)處理后的捜索數(shù)據(jù)中提取預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu),所述預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu)包括核心查詢?nèi)M、析取關(guān)聯(lián)查詢?nèi)M、合取關(guān)聯(lián)查詢?nèi)M、條件關(guān)聯(lián)查詢?nèi)M、否定條件關(guān)聯(lián)查詢?nèi)M、條件關(guān)聯(lián)候選詞集合、否定條件候選關(guān)聯(lián)詞集合;映射模塊,用于將所述預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu)映射為本體三元組;解答模塊,用于依據(jù)所述本體三元組,從預(yù)設(shè)的數(shù)據(jù)庫(kù)中捜索與所述搜索數(shù)據(jù)相關(guān)的解答數(shù)據(jù),并將所述解答數(shù)據(jù)提供給用戶。優(yōu)選地,所述數(shù)據(jù)結(jié)構(gòu)預(yù)設(shè)模塊包括分類單元,用于將所述預(yù)處理后的捜索數(shù)據(jù)按照預(yù)設(shè)的數(shù)據(jù)類型進(jìn)行分類,以確定所述預(yù)處理后的捜索數(shù)據(jù)所屬的數(shù)據(jù)類型;核心查詢?nèi)M提取単元,用于依據(jù)所述預(yù)處理后的捜索數(shù)據(jù)所屬的數(shù)據(jù)類型,提取所述預(yù)處理后的捜索數(shù)據(jù)的核心查詢?nèi)M;其它類型三元組獲取単元,用于依據(jù)所述核心查詢?nèi)M,獲取所述預(yù)處理后的捜索數(shù)據(jù)的析取關(guān)聯(lián)查詢?nèi)M、合取關(guān)聯(lián)查詢?nèi)M、條件關(guān)聯(lián)查詢?nèi)M、否定條件關(guān)聯(lián)查詢?nèi)M、條件關(guān)聯(lián)候選詞集合、否定條件候選關(guān)聯(lián)詞集合。優(yōu)選地,所述解答模塊包括候選實(shí)體生成單元,用于將本體三元組中的核心本體三元組、析取本體三元組及合取本體三元組,中屬于類的成分替換為其相應(yīng)的候選實(shí)體;過(guò)濾單元,用于利用條件以及否定條件關(guān)聯(lián)本體三元組,從所述候選實(shí)體中過(guò)濾其修飾的類對(duì)應(yīng)的候選實(shí)體;利用析取關(guān)聯(lián)三元組,從所述候選實(shí)體中過(guò)濾核心三元組中其修飾的類對(duì)應(yīng)的候選實(shí)體;構(gòu)建單元,用于依據(jù)所述述候選實(shí)體中剩下的實(shí)體構(gòu)建答案。本發(fā)明實(shí)施例提供的捜索方法及裝置,對(duì)預(yù)處理后的捜索數(shù)據(jù)提取所述的數(shù)據(jù)結(jié)構(gòu),并將預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu)映射為本體三元組,依據(jù)所述本體三組從預(yù)設(shè)的數(shù)據(jù)庫(kù)中捜索相關(guān)的數(shù)據(jù)作為捜索結(jié)果提供給用戶,所述搜索方法及裝置捜索的依據(jù)為預(yù)設(shè)的本體三元組而非自然語(yǔ)言的關(guān)鍵字,捜索的范圍為預(yù)設(shè)的數(shù)據(jù)庫(kù)而非互聯(lián)網(wǎng),最終提供給用戶的為解答數(shù)據(jù),而非網(wǎng)頁(yè)的列表,從而不需要用戶進(jìn)ー步進(jìn)行有用數(shù)據(jù)的甄選,所以,提高了捜索結(jié)果的準(zhǔn)確性。


為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I為本發(fā)明實(shí)施例公開(kāi)的ー種搜索方法的流程圖;圖2為本發(fā)明實(shí)施例公開(kāi)的從預(yù)處理后的捜索數(shù)據(jù)中提取預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu)的方法的流程圖;圖3為本發(fā)明實(shí)施例公開(kāi)的ー種搜索裝置的結(jié)構(gòu)示意圖;圖4為本發(fā)明實(shí)施例公開(kāi)的ー種搜索裝置中數(shù)據(jù)結(jié)構(gòu)預(yù)設(shè)模塊的結(jié)構(gòu)示意圖;圖5為本發(fā)明實(shí)施例公開(kāi)的ー種搜索裝置中解答模塊的結(jié)構(gòu)示意圖。
具體實(shí)施例方式本發(fā)明實(shí)施例公開(kāi)了ー種搜索方法及裝置,目的在于解決現(xiàn)有的捜索方法或捜索引擎存在的捜索結(jié)果定位不準(zhǔn)確的問(wèn)題,其核心發(fā)明點(diǎn)在于,對(duì)用戶輸入的捜索數(shù)據(jù)進(jìn)行預(yù)處理;從預(yù)處理后的捜索數(shù)據(jù)中提取預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu),所述預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu)包括核心查詢?nèi)M、析取關(guān)聯(lián)查詢?nèi)M、合取關(guān)聯(lián)查詢?nèi)M、條件關(guān)聯(lián)查詢?nèi)M、否定條件關(guān)聯(lián)查詢?nèi)M、條件關(guān)聯(lián)候選詞集合、否定條件候選關(guān)聯(lián)詞集合;將所述預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu)映射為本體三元組;依據(jù)所述本體三元組,從預(yù)設(shè)的數(shù)據(jù)庫(kù)中捜索與所述搜索數(shù)據(jù)相關(guān)的解答數(shù)據(jù),并將所述解答數(shù)據(jù)提供給用戶。下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明實(shí)施例公開(kāi)的ー種搜索方法,用于對(duì)用戶輸入的捜索數(shù)據(jù)搜索相關(guān)解答數(shù)據(jù),如圖I所示,包括SlOl :對(duì)用戶輸入的捜索數(shù)據(jù)進(jìn)行預(yù)處理;預(yù)處理通常是指對(duì)原始數(shù)據(jù)進(jìn)行的初步處理,本實(shí)施例中,預(yù)處理過(guò)程可以包括接收用戶輸入的搜索數(shù)據(jù),去除所述搜索數(shù)據(jù)中的冗余數(shù)據(jù)。
例如,用戶輸入“北京烤鴨怎么做? ”的捜索數(shù)據(jù),其中除了包括文字外,還包括標(biāo)點(diǎn)符號(hào)“ ? ”,而“?”對(duì)于搜索“北京烤鴨怎么做”的解答數(shù)據(jù)是無(wú)用的,屬于冗余數(shù)據(jù),因此,本實(shí)施中預(yù)處理過(guò)程要將其去掉。S102 :從預(yù)處理后的捜索數(shù)據(jù)中提取預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu);所述預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu)是指能夠以最簡(jiǎn)潔的形式代表所述搜索數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),所述預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu)包括核心查詢?nèi)M、析取關(guān)聯(lián)查詢?nèi)M、合取關(guān)聯(lián)查詢?nèi)M、條件關(guān)聯(lián)查詢?nèi)M、否定條件關(guān)聯(lián)查詢?nèi)M、條件關(guān)聯(lián)候選詞集合、否定條件候選關(guān)聯(lián)詞集合。
例如捜索數(shù)據(jù)“蒸雞蛋怎么做”中可以提取出核心查詢?nèi)M〈蒸雞蛋,做 >,而捜索數(shù)據(jù)“蒸雞蛋的材料和工具”中可以提取出核心查詢?nèi)M〈蒸雞蛋,材料 >,以及合取關(guān)聯(lián)查詢?nèi)M〈蒸雞蛋,工具>。需要說(shuō)明的是,從不同的捜索數(shù)據(jù)中提取出的數(shù)據(jù)結(jié)構(gòu)是不同的,每ー個(gè)捜索數(shù)據(jù)中不一定能夠提取出所有的數(shù)據(jù)結(jié)構(gòu),捜索數(shù)據(jù)能夠提取出哪些三元組是由捜索數(shù)據(jù)本身所決定的。具體地,從預(yù)處理后的捜索數(shù)據(jù)中提取預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu)的具體過(guò)程如圖2所示,包括S201 :將所述預(yù)處理后的捜索數(shù)據(jù)按照預(yù)設(shè)的數(shù)據(jù)類型進(jìn)行分類,以確定所述預(yù)處理后的捜索數(shù)據(jù)所屬的數(shù)據(jù)類型;本實(shí)施例中,可以采用預(yù)先設(shè)置的分詞詞典對(duì)預(yù)處理后的捜索數(shù)據(jù)進(jìn)行數(shù)據(jù)分析,包括分詞、詞性標(biāo)注和依存關(guān)系分析,例如對(duì)于“北京烤鴨做么做? ”,首先分詞,分詞結(jié)果為“北京烤鴨” “怎么”和“做”這三個(gè)詞,其中“北京烤鴨”的詞性是名詞,“怎么”是代詞,“做”是動(dòng)詞北京烤鴨”的依存關(guān)系是主語(yǔ),“怎么”是狀語(yǔ),“做”是核心詞也可以叫做
“謂語(yǔ)”。再對(duì)分析后的數(shù)據(jù)進(jìn)行分類,本實(shí)施例中,可以將搜索數(shù)據(jù)分為以下幾種預(yù)設(shè)的數(shù)據(jù)類型中的ー種特指問(wèn)句、正反問(wèn)句、是非問(wèn)句和選擇問(wèn)句,其中特指問(wèn)句又包括有疑問(wèn)代詞的特指問(wèn)句,有疑問(wèn)動(dòng)詞的特指問(wèn)句,以及無(wú)疑問(wèn)詞的特指問(wèn)句。例如,“北京烤鴨是什么味道的?”屬于有疑問(wèn)代詞的特指問(wèn)句,“想知道北京烤鴨的做法”屬于有疑問(wèn)動(dòng)詞的特指問(wèn)句,“北京烤鴨的做法?”屬于無(wú)疑問(wèn)詞的特征問(wèn)句,“北京烤鴨難不難做?”屬于正反問(wèn)句,“北京烤鴨容易做嗎? ”屬于是非問(wèn)句,“是紅酒還是料酒適合做北京烤鴨? ”屬于選擇問(wèn)句等。S202:依據(jù)所述預(yù)處理后的捜索數(shù)據(jù)所屬的數(shù)據(jù)類型,提取所述預(yù)處理后的捜索數(shù)據(jù)的核心查詢?nèi)M;預(yù)處理后的捜索數(shù)據(jù)所屬的數(shù)據(jù)類型不同,提取核心查詢?nèi)M的方法也不同,具體地,當(dāng)預(yù)處理后的捜索數(shù)據(jù)屬于有疑問(wèn)代詞的特指問(wèn)句時(shí),提取所述預(yù)處理后的捜索數(shù)據(jù)的核心查詢?nèi)M的具體過(guò)程為I.獲取問(wèn)句的核心詞hed (依存關(guān)系為HED的詞);2.獲取問(wèn)句的疑問(wèn)代詞w_r ;3.取出直接依存于疑問(wèn)代詞的名詞或者動(dòng)詞nounl ;4.取出直接依存于hed的名詞或者動(dòng)詞noun2 ;
5.如果 nounl 不為空,令 n2=nounl ;6.如果n2是空,且noun2不為空,令n2=noun2 ;7.如果 n2 為空,令 n2=hed ;8.如果n2為空,返回NULL ;
9.如果n2不為空a)取出所有直接依存或間接依存于n2的名詞,存入列表nlist中;b)如果nlist中存在依存關(guān)系為動(dòng)詞的主語(yǔ)(verb_object, SBV)的名詞noun3,則令 nl=noun3 ;c)如果nlist中存在依存關(guān)系為動(dòng)詞的賓語(yǔ)(verb-object, VOB)的名詞noun4,則令 n3=noun4 ;d)取出所有直接依存或間接依存于hed的名詞,存入列表nlist2中;e)如果nlist2中存在依存關(guān)系為SBV的名詞noun5,且nl為空,令nl=noun3 ;f)如果nlist2中存在依存關(guān)系為VOB的名詞noun6,且n3為空,令n3=noun4 ;g)如果nl為空,從nlist和nlist2中任取ー個(gè)不同于n3的名詞作為nl ;h)如果n3為空,從nlist和nlist2中任取ー個(gè)不用于nl的名詞作為n3 ;i)如果nl為空,則從list中任取ー個(gè)不同于n2和n3的名詞作為nl ;j)如果n3為空,則從list中任取ー個(gè)不同于nl和n2的名詞作為n3;10.如果nl和n3都不為空,返回<nl,n2,n3> ;11.如果nl不為空,而n3為空,返回<nl,n2> ;12.如果n3不為空,而nl為空,返回<n2,n3> ;13.如果nl和n3都為空,返回NULL。例如,對(duì)“北京烤鴨怎么做”這ー搜索數(shù)據(jù)提取核心查詢?nèi)M,獲取捜索數(shù)據(jù)的核心詞hed= “做”,獲取疑問(wèn)代詞w_r= “怎么”,由于動(dòng)詞“做”直接依存于疑問(wèn)代詞“怎么”,因此nounl= “做”,由上述步驟廣8可以確定n2= “做”,名詞“北京烤鴨”直接依存于核心詞并且依存關(guān)系為“SBV”,由上述步驟(Tf可以確定nl = “北京烤鴨”,進(jìn)ー步分析發(fā)現(xiàn)n3=NULL,所以最終返回的核心查詢?nèi)M為〈北京烤鴨,做,>。當(dāng)預(yù)處理后的捜索數(shù)據(jù)屬于有疑問(wèn)動(dòng)詞的特指問(wèn)句時(shí),所述提取所述預(yù)處理后的捜索數(shù)據(jù)的核心查詢?nèi)M的具體過(guò)程包括I.獲取問(wèn)句的核心詞hed (依存關(guān)系為HED的詞);2.獲取問(wèn)句的疑問(wèn)動(dòng)詞w_verb ;3.取出直接依存于hed的名詞nounl ;4.取出直接依存于疑問(wèn)動(dòng)詞的名詞noun2 ;5.如果 hed 是名詞,令 nl=hed ;6.如果nl為空,且nounl不為空,令nl=nounl ;7.如果noun2不為空,且不等于nl,令n3=noun2 ;8.如果 n3 為空,nounl 不為空,且 nounl! =nl,令 n3=nounl ;9.如果nl不為空,而n3為空,則取出直接或間接依賴于nl的名詞noun3,令 n3=noun3;10.如果n3不為空,而nl為空,則取出直接或間接依賴于n3的名詞noun4,
令 nl=noun4;11.如果nl和n3都不為空,返回<nl,n3> ;12.否則返回 NULL。例如,對(duì)“想知道北京烤鴨的做法”這ー搜索數(shù)據(jù)提取核心查詢?nèi)M,其中“想”為核心詞hed,“知道”為疑問(wèn)動(dòng)詞w_verb,其中名詞“做法”直接依存于疑問(wèn)動(dòng)詞,由步驟上述對(duì)屬于有疑問(wèn)動(dòng)詞的特指問(wèn)句提取核心查 詢?nèi)M的步驟Γ7得到n3=“做法”,“北京烤鴨”間接依存干“做法”,由步驟10可以得到nl= “北京烤鴨”,所以最終返回的核心查詢?nèi)M為〈北京烤鴨,,做法〉。當(dāng)所述預(yù)處理后的捜索數(shù)據(jù)屬于無(wú)疑問(wèn)詞的特指問(wèn)句時(shí),所述提取所述預(yù)處理后的捜索數(shù)據(jù)的核心查詢?nèi)M的具體過(guò)程包括I.獲取問(wèn)句的核心詞hed (依存關(guān)系為HED的詞);2.如果核心詞hed為名詞,令n3=hed ;3.如果hed不是名詞,從后往前遍歷list,取出遇到的第一個(gè)名詞,記為nounl ;4.如果 nounl 不為空,令 n3=nounl ;5.如果n3為空,返回NULL ;6.提取直接或者間接依存于n3的名詞,記為noun2 ;7.如果 noun2 不為空,令 nl=noun2,返回〈nl,,n3> ;8.如果noun2為空,貝U從list中任取ー個(gè)不同于n3的名詞,記為noun3 ;9.如果 noun3 不為空,令 nl=noun3,返回〈nl,,n3> ;10.否則返回 NULL。例如,對(duì)“北京烤鴨的做法? ”這ー捜索數(shù)據(jù)提取核心查詢?nèi)M,核心詞hed為“做法”,并且核心詞為名詞,由對(duì)屬于無(wú)疑問(wèn)詞的特指問(wèn)句提取核心查詢?nèi)M的步驟I和2得到n3= “做法”,由于存在一個(gè)間接依賴于n3的名詞“北京烤鴨”,由步驟6和7得到nl=“北京烤鴨”,最終返回的核心查詢?nèi)M為〈北京烤鴨,,做法>。當(dāng)所述預(yù)處理后的捜索數(shù)據(jù)屬于正反問(wèn)句或是非問(wèn)句時(shí),所述提取所述預(yù)處理后的搜索數(shù)據(jù)的核心查詢?nèi)M包括I.獲取問(wèn)句的核心詞hed (依存關(guān)系為HED的詞);2.獲取問(wèn)句的與hed之間存在連動(dòng)(verb-verb, VV)依存關(guān)系的詞hed_VV ;3.令 n2=hed ;4.取出所有直接依存或間接依存于hed的名詞,存入列表nlist中;5.如果hed_VV不為空,取出所有直接依存或間接依存于hed_VV的名詞,存入列表nlist2 中;6.如果nlist中存在依存關(guān)系為SBV的名詞nounl,則令nl=nounl ;7.如果nlist中存在依存關(guān)系為VOB的名詞noun2,則令n3=noun2 ;8.如果nlist2中存在依存關(guān)系為SBV的名詞noun3,且nl為空,令nl=noun3 ;9.如果nlist2中存在依存關(guān)系為VOB的名詞noun4,且n3為空,令n3=noun4 ;10.如果nl為空,從nlist和nlist2中任取一個(gè)名詞noun5,令nl=noun5 ;11.如果n3為空,從nlist和nlist2中任取一個(gè)不用于nl的名詞noun6,令n3=noun6 ;
12.如果nl為空,貝U從list中任取一個(gè)不同于n2的名詞noun7,令nl=noun7 ;13.如果n3為空,貝U從list中任取ー個(gè)不同于nl和n2的名詞noun8,令n3=noun8 ;14.如果nl和n3都不為空,返回<nl,n2,n3> ;15.如果nl不為空,而n3為空,返回<nl, n2> ;16.如果n3不為空,而nl為空,返回<n2,n3> ;17.如果nl和n3都為空,返回NULL。例如,對(duì)“北京烤鴨難不難做? ”提取核心查詢?nèi)M,核心詞為“做”,由步驟3得到π2= “做”,在這里“北京烤鴨”直接依存于核心詞“做”,由步驟4和6得到nl= “北京烤鴨”,進(jìn)ー步分析發(fā)現(xiàn)n3也是NULL,因此返回的核心查詢?nèi)M是〈北京烤鴨,做,>。對(duì)“北京烤鴨容易做么? ”提取核心查詢?nèi)M,核心詞為“做”,由步驟3得到n2= “做”,由干“北京烤鴨”間接依存于核心詞“做”,再由步驟4和6得到nl= “北京烤鴨”,進(jìn)ー步分析發(fā)現(xiàn)n3=NULL,因此最終得到的核心查詢?nèi)M也為〈北京烤鴨,做,>。當(dāng)所述預(yù)處理后的捜索數(shù)據(jù)屬于選擇問(wèn)句時(shí),所述提取所述預(yù)處理后的捜索數(shù)據(jù)的核心查詢?nèi)M包括I.獲取問(wèn)句的核心詞hed (依存關(guān)系為HED的詞);2.獲取問(wèn)句的與hed之間存在“VV”依存關(guān)系的詞hed_VV ;3.獲取問(wèn)句中的“還是”節(jié)點(diǎn)w_or,即內(nèi)容為“還是”的節(jié)點(diǎn);4.從右向左,獲取在w_or節(jié)點(diǎn)前遇到的第一個(gè)名詞,記為nounl ;5.如果 nounl 不為空,令 nl=nounl ;6.如果nl為空,從右向左,獲取在w_or節(jié)點(diǎn)前遇到的第一個(gè)形容詞,記為adjl ;7.如果 adjl 不為空,令 nl=adjl ;8.獲取w_or節(jié)點(diǎn)后的第一個(gè)動(dòng)詞,記為verbl ;9.如果 verbl 不為空,令 n2=verbl ;10.如果 verbl 為空,令 n2=hed ;11.獲取所有直接依存或間接依存于hed的名詞,存入列表nlist中;12.獲取所有直接依存或間接依存于hed_VV的名詞,存入列表nlist2中;13.如果nlist中存在依存關(guān)系為“V0B”的名詞noun2,且noun2!=nl,令n3=noun2 ;14.如果n3為空,且nlist2中存在依存關(guān)系為“V0B”的名詞noun3,且noun3!=nl,令 n3=noun3 ;15.如果n3為空,從nlist中任取一個(gè)不同于nl的名詞noun4,令n3=noun4 ;16.如果n3為空,從nlist2中任取一個(gè)不同于nl的名詞noun5,令n3=noun5 ;17.如果nl和n3都不為空,返回<nl,n2,n3> ;18.如果nl不為空,而n3為空,返回<nl,n2,> ;19.如果n3不為空,而nl為空,返回<,n2,n3> ;20.如果nl和n3都為空,返回NULL。例如,對(duì)干“是紅酒還是料酒適合做北京烤鴨? ”這ー搜索數(shù)據(jù)提取核心查詢?nèi)M,句子的核心詞為“是”,從右向左W_0R前面的第一個(gè)名詞為紅酒,因此nl= “紅酒”,從左向右,W_OR后的第一個(gè)動(dòng)詞為“適合”,因?yàn)閚2= “適合”,名詞“北京烤鴨”間接依存于核心詞“是”,并且依存關(guān)系為“VOB”,因此n3= “北京烤鴨”,最終返回的核心查詢?nèi)M為〈紅酒,適合,北京烤鴨〉。S203:依據(jù)所述核心查詢?nèi)M,獲取所述預(yù)處理后的捜索數(shù)據(jù)的析取關(guān)聯(lián)查詢?nèi)M、合取關(guān)聯(lián)查詢?nèi)M、條件關(guān)聯(lián)查詢?nèi)M、否定條件關(guān)聯(lián)查詢?nèi)M、條件關(guān)聯(lián)候選詞集合、否定條件候選關(guān)聯(lián)詞集合。以下對(duì)根據(jù)核心查詢?nèi)M,獲取不同的查詢?nèi)M進(jìn)行具體說(shuō)明依據(jù)所述核心查詢?nèi)M,獲取合取關(guān)聯(lián) 查詢?nèi)M的具體過(guò)程為I.聲明ー個(gè)ArrayList nlistl, nlistl用于保存與nl之間存在合取關(guān)系的詞;2.聲明ー個(gè)ArrayList nlist2, nlist2用于保存與n2之間存在合取關(guān)系的詞;3.聲明ー個(gè)ArrayList nlist3, nlist3用于保存與n3之間存在合取關(guān)系的詞;4.如果 nl 不為空,nlistl=getConjunctiveWords (inlist, nl);5.如果 n2 不為空,nlist2=getConjunctiveWords (inlist, n2);6.如果 n3 不為空,nlist3=getConjunctiveWords (inlist, n3);7.如果 nlistl,nlist2,nlist3 都為空,返回 NULL;8.如果 nlistl 為空,則 nlistl. add (nl);9.如果 nlist2 為空,則 nlist2. add (n2);10.如果 nlist3 為空,則 nlist3. add (n3);11. For(DependencyTreeNode nodel:nlistl)For(DependencyTreeNode node2:nlist2)For(DependencyTreeNode node3:nlist3){if nodel, node2, node3>! =<nl, n2, n3>)Outlist. add nodel, node2, node3>);}需要說(shuō)明的是,根據(jù)核心查詢?nèi)M,獲取析取關(guān)聯(lián)查詢?nèi)M具體過(guò)程與獲取合取關(guān)聯(lián)查詢?nèi)M提取過(guò)程基本相同,唯一區(qū)別在于判斷句子中是否包含“一起”、“同吋”、“一塊”,“共同”等表示析取含義的詞,如果包括就表示該三元組為析取關(guān)聯(lián)三元組,否則為合取關(guān)聯(lián)三元組。例如對(duì)于問(wèn)句“木耳和木瓜怎么一起做菜? ”,經(jīng)過(guò)分析得到核心三查詢?cè)M〈木耳,做菜,〉。隨后算法分別嘗試獲取與“木耳”和“做菜”間存在合取關(guān)系的詞。經(jīng)過(guò)分析“木瓜”直接依存與“木耳”,且依存關(guān)系為C00,因此由下面算法的步驟2和3知道“木耳”和木瓜間存在合取關(guān)聯(lián)。此外,不存在詞語(yǔ)和“做菜”間存在合取關(guān)聯(lián)。由于句子中存在“一起”這個(gè)表示析取含義的副詞,所以“木耳”和“木瓜”之間實(shí)際上是析取關(guān)聯(lián)的,所以該問(wèn)句除了ー個(gè)核心三元組〈木耳,做菜,〉,還可以提取出ー個(gè)析取關(guān)聯(lián)三元組〈木瓜,做菜,〉。依據(jù)所述核心查詢?nèi)M,獲取條件關(guān)聯(lián)查詢?nèi)M或否定條件關(guān)聯(lián)查詢?nèi)M的具體過(guò)程為I、聲明ー個(gè)ArrayList nlistl, nlistl用于保存與nl之間存在條件關(guān)系的詞;2、聲明ー個(gè)ArrayList nlist2, nlist2用于保存與n2之間存在條件關(guān)系的詞;3、聲明ー個(gè)ArrayList nlist3, nlist3用于保存與n3之間存在條件關(guān)系的詞;
4、如果nl不為空,nlistl等于獲取條件詞算法(inlist, nl)的結(jié)果;5、如果n2不為空,令nlist2等于獲取條件詞算法(inlist, n2)的結(jié)果;6、如果 n3 不為空,令 nlist3 等于 getConditionalWords (inlist, n3);7、循環(huán)遍歷 nlistl, nlist2 和 nlist3 得到三元組 <sbj, pre, obj>。其中,函數(shù)getConditionalWords (in list, n3))的運(yùn)算過(guò)程為(I)獲取所有直接依存于node且依存關(guān)系為“ATTR”的名稱或者形容詞,存入列表nlistl 中;(2) outlist. addAll (nlistl);(3)獲取所有間接依存于node的名稱和形容詞,這些詞直接依存的詞的詞性應(yīng)該為“U”,且依存關(guān)系應(yīng)為“DE”或者“DI”,將滿足上述條件的詞存入列表nlist2中;(4) outlist. addAll (nlist2);例如,“北京烤鴨簡(jiǎn)單的做法”經(jīng)分析該問(wèn)句的核心查詢?nèi)M為〈北京烤鴨,,做法 >,此外不存在合取和析取關(guān)聯(lián)查詢?nèi)M。算法嘗試獲取與“北京烤鴨”和“做法”之間存在條件關(guān)聯(lián)的詞。形容詞“簡(jiǎn)単”間接依存干“做法”,且“簡(jiǎn)単”直接依存的詞“的”的詞性為“U”,依存關(guān)系為“DE”,由getConditionalWords函數(shù)的步驟(3)和(4)可以知道“簡(jiǎn)単”是條件關(guān)聯(lián)干“做法”的,此外不存在條件關(guān)聯(lián)干“北京烤鴨”的詞,因此可以得到ー個(gè)條件關(guān)聯(lián)查詢?nèi)M〈容易,,北京烤鴨>。否定條件關(guān)聯(lián)查詢?nèi)M的提取過(guò)程與條件關(guān)聯(lián)查詢?nèi)M的提取過(guò)程是一致的。例如對(duì)于問(wèn)句“求北京烤鴨不困難的做法?”,經(jīng)分析問(wèn)句的核心查詢?nèi)M為〈北京烤鴨,,做法〉,此外不存在合取和析取關(guān)聯(lián)查詢?nèi)M。形容詞“困難”間接依存干“做法”,且“困難”直接依存的詞“的”的詞性為“U”,依存關(guān)系為“DE”,由getConditionalWords函數(shù)的步驟(3)和(4)可以知道“困難”是條件關(guān)聯(lián)于“做法”的,但是在“困難”前存在副詞“不”,所以這里的條件關(guān)聯(lián)詞“困難”表示否定的含義,因此最終得到ー個(gè)否定關(guān)聯(lián)查詢?nèi)M〈困難,,做法>。從上述獲取預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu)的過(guò)程可以看出,不同的捜索數(shù)據(jù)可獲得的數(shù)據(jù)結(jié)構(gòu)是不同的,在具體處理過(guò)程中,需要對(duì)用戶輸入的捜索數(shù)據(jù)都提取預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu),捜索數(shù)據(jù)會(huì)由于自身的構(gòu)成特點(diǎn)導(dǎo)致其某些查詢?nèi)M返回的結(jié)果為空。S103 :將所述預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu)映射為本體三元組;其中,本體三元組是由上述三元組組成的數(shù)據(jù)結(jié)構(gòu),本實(shí)施例中,合法的本體三元組里有且必須有ー個(gè)核心本體三元組,它代表了整個(gè)搜索問(wèn)題的骨架。除此以外,本體三元組里可以不包括其它類型的三元組,也可以包括其它類型的三元組的任意組合,這里不做限定。將所述預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu)映射為本體三元組的具體處理過(guò)程如下計(jì)算〈nls, n2s, n3s>中不為空的列表個(gè)數(shù),結(jié)果保存在num中;如果num小于等于1,直接輸出結(jié)果為空;如果num等于2,循環(huán)遍歷前兩個(gè)列表,令<sb j, pre, obj>等于構(gòu)成三元組算法(nodeI, node2, node3)結(jié)果;如果num等于3,循環(huán)遍歷三個(gè)列表,令〈sbj, pre, obj>等于構(gòu)成三元組算法(nodeI, node2, node3)結(jié)果;
如果num等于3,且〈sbj, pre, obj>為空,遞歸調(diào)用核心三元組映射算法(〈nls,n2s, >, onto),返回結(jié)果存在〈sbjl, pre I, objl> 中;遞歸調(diào)用核心三元組映射算法(〈nls, n3s, >, onto),返回結(jié)果存在<sbj2, pre2,obj2> 中;遞歸調(diào)用核心三元組映射算法(<n2s, n3s, >, onto),返回結(jié)果存在<sbj3, pre3,obj3> 中;如果〈sbjl, pre I, objl>不為空,且prel是通過(guò)自動(dòng)補(bǔ)全產(chǎn)生的,那么令〈sbj,pre, obj> 等于〈sbjl, prel, objl>,否則 olist. add sbjl, prel, objl ;如果<sbj2,pre2,obj2>不為空,且pre2是通過(guò)自動(dòng)補(bǔ)全產(chǎn)生的,并且〈sbj,pre,obj> 為空,那么令〈sbj, pre, obj> 等于 <sbj2, pre2, obj2>,否則向 olist 添加(<sbj2,pre2,obj2>);如果<sbj3,pre3,obj3>不為空,且pre3是通過(guò)自動(dòng)補(bǔ)全產(chǎn)生的,并且〈sbj,pre,obj> 為空,那么令〈sbj, pre, obj> 等于 <sbj3, pre3, obj3>,否則向 olist 添加(<sbj3,pre3,obj3>)。例如對(duì)于問(wèn)句“料酒可以做北京烤鴨么? ”,經(jīng)提取后得到核心查詢?nèi)M〈料酒,做,北京烤鴨 >,經(jīng)過(guò)預(yù)設(shè)的數(shù)據(jù)庫(kù)IndexSearcher的檢索,“北京烤鴨”和“料酒”分別唯一的對(duì)應(yīng)著實(shí)體“Beijing_Roast_Duck” “Cooking_Wine”,而“做”唯一對(duì)應(yīng)著數(shù)據(jù)屬“steps_of_making_food”,其定義域?yàn)镕ood,值域?yàn)镾tring。容易看出這些元素間不能組成ー個(gè)合法的三元組,因此算法將其分解為〈Bei jing_Roast_Duck, Cooking_ffine, >,くBeijing_Roast_Duck, steps_of_making_food>,和 くCooking_Wine, steps_of_making_food)這三個(gè)三元組。通過(guò)遞歸調(diào)用映射算法,最終得到兩個(gè)非空的輸出<Beijing_Roast_Duck,Ingredient_of_Food,ffine> 和 くBeijing_Roast_Duck,steps_of_making_food,>,由于steps_of_making_food是數(shù)據(jù)屬性,所以后ー個(gè)三元組不用補(bǔ)全。通過(guò)檢查發(fā)現(xiàn)屬性Ingredient_of_Food 是經(jīng)過(guò)自動(dòng)補(bǔ)全產(chǎn)生的,所以將〈Bei jing_Roast_Duck, Ingredient—of_Food, Wine〉作為核心本體三兀組返回,而將〈Bei jing_Roast_Duck, steps_of_making_food, >作為合取關(guān)聯(lián)本體三元組返回。需要說(shuō)明的是,為了加速檢索過(guò)程,IndexSearcher采用了倒排索引技術(shù),檢索過(guò)程的核心工作是計(jì)算字符串之間的相似度。S104:依據(jù)所述本體三元組,從預(yù)設(shè)的數(shù)據(jù)庫(kù)中捜索與所述搜索數(shù)據(jù)相關(guān)的解答數(shù)據(jù),并將所述解答數(shù)據(jù)提供給用戶。其中,預(yù)設(shè)的數(shù)據(jù)庫(kù)指的是以預(yù)設(shè)的方法預(yù)先設(shè)置的數(shù)據(jù)庫(kù),其中包括文本數(shù)據(jù)。首先獲取核心本體三元組、合取關(guān)聯(lián)本體三元組及析取關(guān)聯(lián)本體三元組中的類的可能對(duì)應(yīng)的所有的候選實(shí)體。隨后,利用條件本體三元組和否定條件本體三元組,對(duì)上述的候選實(shí)體進(jìn)行過(guò)濾,這ー步結(jié)束之后,會(huì)將析取關(guān)聯(lián)本體三元組也作為條件關(guān)聯(lián)本體三元組來(lái)處理,析取關(guān)聯(lián)本體三元組中未知的類用經(jīng)過(guò)上述過(guò)濾后剩下的實(shí)體來(lái)代替,然后利用析取關(guān)聯(lián)本體三元組對(duì)核心本體三元組和合取關(guān)聯(lián)本體三元組進(jìn)行過(guò)濾,過(guò)濾后剩下的實(shí)體用于構(gòu)建捜索數(shù)據(jù)的解答數(shù)據(jù)。需要注意的是,對(duì)于不同類型的問(wèn)句使用了不同的過(guò)濾控制策略。對(duì)于特指問(wèn)句使用的是寬松的過(guò)濾策略,也就是如果有ー個(gè)條件所有的候選實(shí)體都不滿足,那么就不用該條件了,這樣做可以最大可能返回給用戶一個(gè)不為空的答案。而對(duì)于其它三類問(wèn)句是否、正反、和選擇我們則使用嚴(yán)格的過(guò)濾策略,也就是如果有ー個(gè)條件所有的候選實(shí)體都不滿足,那么我們就直接返回給用戶一個(gè)空的結(jié)果。例如,對(duì)于問(wèn)題“希望是咸味的,不是京菜,求菜的材料和做法? ”,問(wèn)題具有ー個(gè)核心查詢?nèi)M〈菜,,材料〉,ー個(gè)合取關(guān)聯(lián)查詢〈菜,,做法 >,ー個(gè)條件關(guān)聯(lián)查詢?nèi)M<咸味,,菜〉,ー個(gè)否定條件關(guān)聯(lián)查詢?nèi)M〈京菜,,菜〉。首先將核心和合取關(guān)聯(lián)三元組中的Class部分替換為其相應(yīng)的實(shí)體,這之中“菜”是ー個(gè)Class,因此將其替換成很多具體的菜;利用條件和否定條件三元組過(guò)濾這些具體的菜,過(guò)濾后的菜應(yīng)滿足“咸味的”,和不是“北京菜”兩個(gè)屬性;再利用析取關(guān)聯(lián)三元組過(guò)濾核心三元組中的候選實(shí)體,由于此問(wèn)句中不含析取關(guān)聯(lián)三元組,因此這條沒(méi)起作用;最后再用過(guò)濾后剩下的菜構(gòu)建問(wèn)題的答案,假使剩下菜的包含了 “鹽水鴨”,那么答案就有“鹽水鴨的材料是XXX,鹽水鴨的做法是XXX”。本實(shí)施例所述的搜索方法,通過(guò)對(duì)用戶輸入的捜索數(shù)據(jù)提取預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu),將 所述數(shù)據(jù)結(jié)構(gòu)映射本體三元組,并依據(jù)本體三元組構(gòu)建搜索,在預(yù)設(shè)的數(shù)據(jù)庫(kù)中搜索出相應(yīng)的解答數(shù)據(jù),所述解答數(shù)據(jù)以文本的形式展現(xiàn)給用戶,而非網(wǎng)頁(yè)的列表,使得用戶對(duì)搜索結(jié)果ー目了然,而不必再進(jìn)行有效搜索結(jié)果的甄選。與上述方法實(shí)施例相對(duì)應(yīng)的,本發(fā)明實(shí)施例還公開(kāi)了一種搜索裝置,如圖3所示,包括預(yù)處理模塊301,用于對(duì)用戶輸入的捜索數(shù)據(jù)進(jìn)行預(yù)處理;數(shù)據(jù)結(jié)構(gòu)提取模塊302,用于從預(yù)處理后的捜索數(shù)據(jù)中提取預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu),所述預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu)包括核心查詢?nèi)M、析取關(guān)聯(lián)查詢?nèi)M、合取關(guān)聯(lián)查詢?nèi)M、條件關(guān)聯(lián)查詢?nèi)M、否定條件關(guān)聯(lián)查詢?nèi)M、條件關(guān)聯(lián)候選詞集合、否定條件候選關(guān)聯(lián)詞集合;映射模塊303,用于將所述預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu)映射為本體三元組;解答模塊304,用于依據(jù)所述本體三元組,從預(yù)設(shè)的數(shù)據(jù)庫(kù)中捜索與所述搜索數(shù)據(jù)相關(guān)的解答數(shù)據(jù),并將所述解答數(shù)據(jù)提供給用戶。本實(shí)施例所述的搜索裝置,包括數(shù)據(jù)結(jié)構(gòu)提取模塊和映射模塊,能夠從搜索數(shù)據(jù)中提取出預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu),并將數(shù)據(jù)結(jié)構(gòu)映射為本體三元組,使用所述本體三元組構(gòu)建的捜索,能夠在預(yù)設(shè)的數(shù)據(jù)庫(kù)中直接獲得與捜索數(shù)據(jù)相對(duì)應(yīng)的本文解答,即所述裝置最終提供給用戶的是針對(duì)捜索數(shù)據(jù)的文本解答,而非傳統(tǒng)的搜索引擎提供的網(wǎng)頁(yè)列表,因而,所述捜索裝置具有捜索結(jié)果定位準(zhǔn)確的優(yōu)勢(shì)。進(jìn)ー步地,如圖4所示,所述數(shù)據(jù)結(jié)構(gòu)預(yù)設(shè)模塊包括分類單元401,用于將所述預(yù)處理后的捜索數(shù)據(jù)按照預(yù)設(shè)的數(shù)據(jù)類型進(jìn)行分類,以確定所述預(yù)處理后的捜索數(shù)據(jù)所屬的數(shù)據(jù)類型;核心查詢?nèi)M提取単元402,用于依據(jù)所述預(yù)處理后的捜索數(shù)據(jù)所屬的數(shù)據(jù)類型,提取所述預(yù)處理后的捜索數(shù)據(jù)的核心查詢?nèi)M;其它類型三元組獲取単元403,用于依據(jù)所述核心查詢?nèi)M,獲取所述預(yù)處理后的捜索數(shù)據(jù)的析取關(guān)聯(lián)查詢?nèi)M、合取關(guān)聯(lián)查詢?nèi)M、條件關(guān)聯(lián)查詢?nèi)M、否定條件關(guān)聯(lián)查詢?nèi)M、條件關(guān)聯(lián)候選詞集合、否定條件候選關(guān)聯(lián)詞集合。進(jìn)ー步地,如圖5所示,所述解答模塊包括
候選實(shí)體生成単元501,用于將本體三元組中的核心本體三元組、析取本體三元組及合取本體三元組,中屬于類的成分替換為其相應(yīng)的候選實(shí)體;過(guò)濾單元502,用于利用條件以及否定條件關(guān)聯(lián)本體三元組,從所述候選實(shí)體中過(guò)濾其修飾的類對(duì)應(yīng)的候選實(shí)體;利用析取關(guān)聯(lián)三元組,從所述候選實(shí)體中過(guò)濾核心三元組中其修飾的類對(duì)應(yīng)的候選實(shí)體;構(gòu)建單元503,用于依據(jù)所述述候選實(shí)體中剩下的實(shí)體構(gòu)建答案。本實(shí)施例方法所述的功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算設(shè)備可讀取存儲(chǔ)介質(zhì)中?;?這樣的理解,本發(fā)明實(shí)施例對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該軟件產(chǎn)品存儲(chǔ)在ー個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,移動(dòng)計(jì)算設(shè)備或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM, Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。本說(shuō)明書(shū)中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其它實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同或相似部分互相參見(jiàn)即可。對(duì)所公開(kāi)的實(shí)施例的上述說(shuō)明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來(lái)說(shuō)將是顯而易見(jiàn)的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開(kāi)的原理和新穎特點(diǎn)相一致的最寬的范圍。
權(quán)利要求
1.一種搜索方法,其特征在于,包括 對(duì)用戶輸入的捜索數(shù)據(jù)進(jìn)行預(yù)處理; 從預(yù)處理后的捜索數(shù)據(jù)中提取預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu),所述預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu)包括核心查詢?nèi)M、析取關(guān)聯(lián)查詢?nèi)M、合取關(guān)聯(lián)查詢?nèi)M、條件關(guān)聯(lián)查詢?nèi)M、否定條件關(guān)聯(lián)查詢?nèi)M、條件關(guān)聯(lián)候選詞集合、否定條件候選關(guān)聯(lián)詞集合; 將所述預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu)映射為本體三元組; 依據(jù)所述本體三元組,從預(yù)設(shè)的數(shù)據(jù)庫(kù)中搜索與所述搜索數(shù)據(jù)相關(guān)的解答數(shù)據(jù),并將所述解答數(shù)據(jù)提供給用戶。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述對(duì)用戶輸入的捜索數(shù)據(jù)進(jìn)行預(yù)處理包括 接收用戶輸入的捜索數(shù)據(jù); 去除所述搜索數(shù)據(jù)中的冗余數(shù)據(jù)。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于,從預(yù)處理后的捜索數(shù)據(jù)中提取預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu)包括 將所述預(yù)處理后的捜索數(shù)據(jù)按照預(yù)設(shè)的數(shù)據(jù)類型進(jìn)行分類,以確定所述預(yù)處理后的搜索數(shù)據(jù)所屬的數(shù)據(jù)類型; 依據(jù)所述預(yù)處理后的捜索數(shù)據(jù)所屬的數(shù)據(jù)類型,提取所述預(yù)處理后的捜索數(shù)據(jù)的核心查詢?nèi)M; 依據(jù)所述核心查詢?nèi)M,獲取所述預(yù)處理后的捜索數(shù)據(jù)的析取關(guān)聯(lián)查詢?nèi)M、合取關(guān)聯(lián)查詢?nèi)M、條件關(guān)聯(lián)查詢?nèi)M、否定條件關(guān)聯(lián)查詢?nèi)M、條件關(guān)聯(lián)候選詞集合、否定條件候選關(guān)聯(lián)詞集合。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述預(yù)設(shè)的數(shù)據(jù)類型包括 特指問(wèn)句、正反問(wèn)句、是非問(wèn)句和選擇問(wèn)句; 所述特指問(wèn)句包括有疑問(wèn)代詞的特指問(wèn)句,有疑問(wèn)動(dòng)詞的特指問(wèn)句,以及無(wú)疑問(wèn)詞的特指問(wèn)句。
5.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述將所述預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu)映射為本體三元組包括 將核心查詢?nèi)M映射為核心本體三元組; 將合取關(guān)聯(lián)查詢?nèi)M映射為合取關(guān)聯(lián)本體三元組; 將析取關(guān)聯(lián)查詢?nèi)M映射為析取關(guān)聯(lián)本體三元組;將條件關(guān)聯(lián)查詢?nèi)M映射為條件關(guān)聯(lián)本體三元組; 將否定條件關(guān)聯(lián)查詢?nèi)M映射為否定條件關(guān)聯(lián)本體三元組; 將條件和否定條件關(guān)聯(lián)候選詞映射為條件或否定條件關(guān)聯(lián)本體三元組。
6.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述依據(jù)所述本體三元組,從預(yù)設(shè)的數(shù)據(jù)庫(kù)中搜索與所述搜索數(shù)據(jù)相關(guān)的解答數(shù)據(jù)包括 將本體三元組中的核心本體三元組、析取本體三元組及合取本體三元組,中屬于類的成分替換為其相應(yīng)的候選實(shí)體; 利用條件以及否定條件關(guān)聯(lián)本體三元組,從所述候選實(shí)體中過(guò)濾其修飾的類對(duì)應(yīng)的候選實(shí)體;利用析取關(guān)聯(lián)三元組,從所述候選實(shí)體中過(guò)濾核心三元組中其修飾的類對(duì)應(yīng)的候選實(shí)體; 依據(jù)所述述候選實(shí)體中剩下的實(shí)體構(gòu)建答案。
7.一種搜索裝置,其特征在于,包括 預(yù)處理模塊,用于對(duì)用戶輸入的捜索數(shù)據(jù)進(jìn)行預(yù)處理; 數(shù)據(jù)結(jié)構(gòu)提取模塊,用于從預(yù)處理后的捜索數(shù)據(jù)中提取預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu),所述預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu)包括核心查詢?nèi)M、析取關(guān)聯(lián)查詢?nèi)M、合取關(guān)聯(lián)查詢?nèi)M、條件關(guān)聯(lián)查詢?nèi)M、否定條件關(guān)聯(lián)查詢?nèi)M、條件關(guān)聯(lián)候選詞集合、否定條件候選關(guān)聯(lián)詞集合;映射模塊,用于將所述預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu)映射為本體三元組; 解答模塊,用于依據(jù)所述本體三元組,從預(yù)設(shè)的數(shù)據(jù)庫(kù)中捜索與所述搜索數(shù)據(jù)相關(guān)的解答數(shù)據(jù),并將所述解答數(shù)據(jù)提供給用戶。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述數(shù)據(jù)結(jié)構(gòu)預(yù)設(shè)模塊包括 分類單元,用于將所述預(yù)處理后的捜索數(shù)據(jù)按照預(yù)設(shè)的數(shù)據(jù)類型進(jìn)行分類,以確定所述預(yù)處理后的捜索數(shù)據(jù)所屬的數(shù)據(jù)類型; 核心查詢?nèi)M提取単元,用于依據(jù)所述預(yù)處理后的捜索數(shù)據(jù)所屬的數(shù)據(jù)類型,提取所述預(yù)處理后的捜索數(shù)據(jù)的核心查詢?nèi)M; 其它類型三元組獲取単元,用于依據(jù)所述核心查詢?nèi)M,獲取所述預(yù)處理后的捜索數(shù)據(jù)的析取關(guān)聯(lián)查詢?nèi)M、合取關(guān)聯(lián)查詢?nèi)M、條件關(guān)聯(lián)查詢?nèi)M、否定條件關(guān)聯(lián)查詢?nèi)M、條件關(guān)聯(lián)候選詞集合、否定條件候選關(guān)聯(lián)詞集合。
9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述解答模塊包括 候選實(shí)體生成單元,用于將本體三元組中的核心本體三元組、析取本體三元組及合取本體三元組,中屬于類的成分替換為其相應(yīng)的候選實(shí)體; 過(guò)濾單元,用于利用條件以及否定條件關(guān)聯(lián)本體三元組,從所述候選實(shí)體中過(guò)濾其修飾的類對(duì)應(yīng)的候選實(shí)體;利用析取關(guān)聯(lián)三元組,從所述候選實(shí)體中過(guò)濾核心三元組中其修飾的類對(duì)應(yīng)的候選實(shí)體; 構(gòu)建單元,用于依據(jù)所述述候選實(shí)體中剩下的實(shí)體構(gòu)建答案。
全文摘要
本發(fā)明提供了一種搜索方法及裝置,所述方法包括對(duì)用戶輸入的搜索數(shù)據(jù)進(jìn)行預(yù)處理;從預(yù)處理后的搜索數(shù)據(jù)中提取預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu),包括核心查詢?nèi)M、析取關(guān)聯(lián)查詢?nèi)M、合取關(guān)聯(lián)查詢?nèi)M、條件關(guān)聯(lián)查詢?nèi)M、否定條件關(guān)聯(lián)查詢?nèi)M、條件關(guān)聯(lián)候選詞集合、否定條件候選關(guān)聯(lián)詞集合;將預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu)映射為本體三元組;依據(jù)本體三元組,從預(yù)設(shè)的數(shù)據(jù)庫(kù)中搜索與搜索數(shù)據(jù)相關(guān)的解答數(shù)據(jù),并將解答數(shù)據(jù)提供給用戶。所述方法搜索的依據(jù)為預(yù)設(shè)的本體三元組而非自然語(yǔ)言的關(guān)鍵字,搜索的范圍為預(yù)設(shè)的數(shù)據(jù)庫(kù)而非互聯(lián)網(wǎng),最終提供給用戶的為解答數(shù)據(jù),而非網(wǎng)頁(yè)的列表,從而不需要用戶進(jìn)一步進(jìn)行有用數(shù)據(jù)的甄選,所以,提高了搜索結(jié)果的準(zhǔn)確性。
文檔編號(hào)G06F17/30GK102693320SQ201210179560
公開(kāi)日2012年9月26日 申請(qǐng)日期2012年6月1日 優(yōu)先權(quán)日2012年6月1日
發(fā)明者孫永錄, 尹文科, 朱明 申請(qǐng)人:中國(guó)科學(xué)技術(shù)大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1