消息代理服務(wù)器及信息發(fā)布訂閱方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種消息代理服務(wù)器及信息發(fā)布訂閱方法和系統(tǒng),所述方法包括:接收到訂閱器發(fā)送的基于自然語言的訂閱請求后,對(duì)其中以自然語言組建的訂閱信息進(jìn)行分詞,得到分詞結(jié)果;將分詞結(jié)果與預(yù)先存儲(chǔ)的XML約束模板文檔的解析結(jié)果進(jìn)行匹配:針對(duì)分詞結(jié)果中的每個(gè)詞語,將解析結(jié)果中限制內(nèi)容或?qū)傩灾邪性撛~語的元素,作為匹配結(jié)果中與該詞語對(duì)應(yīng)的匹配元素;根據(jù)匹配結(jié)果中與分詞結(jié)果的各詞語所對(duì)應(yīng)的匹配元素的屬性、結(jié)構(gòu)化信息,運(yùn)用預(yù)設(shè)規(guī)則將分詞結(jié)果構(gòu)建為符合訂閱語言格式規(guī)范的標(biāo)準(zhǔn)訂閱請求;將與標(biāo)準(zhǔn)訂閱請求相匹配的發(fā)布信息向訂閱器返回。應(yīng)用本發(fā)明,用戶可以采用自然語言進(jìn)行信息訂閱,使得信息訂閱更為方便。
【專利說明】消息代理服務(wù)器及信息發(fā)布訂閱方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及軟件領(lǐng)域,尤其涉及一種消息代理服務(wù)器及信息發(fā)布訂閱方法和系統(tǒng)。
【背景技術(shù)】
[0002]Internet技術(shù)的飛速發(fā)展和廣泛普及,使人們獲取信息的方式發(fā)生了革命性的變革。傳統(tǒng)的方式是信息查詢,即訪問Web網(wǎng)站或搜索感興趣的Web頁面,人們要花費(fèi)很多時(shí)間才能找到自己感興趣的信息,并且反復(fù)查詢的方式也增加了網(wǎng)絡(luò)中許多流量。發(fā)布/訂閱(Publish/Subscribe)的通信方式能夠解決這個(gè)問題。
[0003]發(fā)布/訂閱系統(tǒng)通常包含發(fā)布器、消息代理服務(wù)器、訂閱器三個(gè)部分。用戶可通過發(fā)布器向消息代理服務(wù)器發(fā)布信息,用戶通過訂閱器向消息代理服務(wù)器訂閱感興趣的信息,消息代理服務(wù)器將用戶感興趣的信息準(zhǔn)確及時(shí)地轉(zhuǎn)發(fā)給訂閱器。發(fā)布器和訂閱器之間不直接通信,這樣的系統(tǒng)具有很好的松散耦合性,與Web訪問、遠(yuǎn)程過程調(diào)用、消息隊(duì)列等傳統(tǒng)的通信方式相比,更適合大規(guī)模分布式系統(tǒng)的實(shí)現(xiàn),同時(shí),信息是按需傳遞的,降低了網(wǎng)絡(luò)流量。
[0004]另一方面,XML(Extensible Markup Language,可擴(kuò)展標(biāo)記語言)正在逐漸成為電子信息領(lǐng)域中數(shù)據(jù)表示和數(shù)據(jù)交換的基本格式。XML可以結(jié)構(gòu)化地表示數(shù)據(jù),而且具有擴(kuò)展性強(qiáng)和平臺(tái)無關(guān)性等優(yōu)點(diǎn)。用XML作為發(fā)布/訂閱系統(tǒng)中的數(shù)據(jù)模型,可以大大提高系統(tǒng)的表達(dá)能力。
[0005]XML由嵌套的元素標(biāo)簽、元素屬性、元素內(nèi)容等組成,使得信息被結(jié)構(gòu)化地表示,從而大大提高信息表示的準(zhǔn)確性和處理效率。這種結(jié)構(gòu)不但使人們對(duì)文檔的結(jié)構(gòu)和內(nèi)容一目了然,對(duì)計(jì)算機(jī)而言XML文檔也是可讀的。應(yīng)用中只需要一個(gè)小的XML解析器(比如幾十KB的Java解析器)就可以把XML表示的內(nèi)容分析出來。
[0006]通?;赬ML的發(fā)布/訂閱系統(tǒng)中,用戶通過訂閱器將基于訂閱語言的訂閱請求發(fā)送到消息代理服務(wù)器后,消息代理服務(wù)器根據(jù)訂閱請求中的信息在以XML文檔表示的數(shù)據(jù)中進(jìn)行查詢匹配,并將查詢匹配出的發(fā)布信息向訂閱器返回,從而用戶可獲得所需內(nèi)容。然而,用戶通過基于XML的發(fā)布/訂閱系統(tǒng)獲取所需內(nèi)容時(shí),用戶需要知道系統(tǒng)中XML文檔的結(jié)構(gòu),并熟悉訂閱語言的語法,才能夠完整表達(dá)需要訂閱的內(nèi)容并成功接收到所需內(nèi)容。而這兩個(gè)條件對(duì)于多數(shù)用戶是不具備的,使得用戶在現(xiàn)有的發(fā)布/訂閱系統(tǒng)中進(jìn)行信息訂閱并不方便;因此,有必要提供一種更方便用戶進(jìn)行信息訂閱的發(fā)布/訂閱系統(tǒng)。
【發(fā)明內(nèi)容】
[0007]針對(duì)上述現(xiàn)有技術(shù)存在的缺陷,本發(fā)明實(shí)施例提供了一種消息代理服務(wù)器及信息發(fā)布訂閱方法和系統(tǒng),用以更方便用戶進(jìn)行信息訂閱。
[0008]本發(fā)明實(shí)施例提供了一種信息發(fā)布訂閱方法,包括:
[0009]接收到訂閱器發(fā)送的基于自然語言的訂閱請求后,對(duì)其中以自然語言組建的訂閱信息進(jìn)行分詞,得到分詞結(jié)果;
[0010]將所述分詞結(jié)果與預(yù)先存儲(chǔ)的XML約束模板文檔的解析結(jié)果進(jìn)行匹配:針對(duì)所述分詞結(jié)果中的每個(gè)詞語,將所述解析結(jié)果中限制內(nèi)容、或?qū)傩灾邪性撛~語的元素,作為匹配結(jié)果中與該詞語對(duì)應(yīng)的匹配元素;
[0011]根據(jù)匹配結(jié)果構(gòu)建標(biāo)準(zhǔn)訂閱請求:根據(jù)匹配結(jié)果中與所述分詞結(jié)果的各詞語所對(duì)應(yīng)的匹配元素的屬性、結(jié)構(gòu)化信息,運(yùn)用預(yù)設(shè)規(guī)則將所述分詞結(jié)果構(gòu)建為符合訂閱語言格式規(guī)范的標(biāo)準(zhǔn)訂閱請求;
[0012]將與所述標(biāo)準(zhǔn)訂閱請求相匹配的發(fā)布信息向所述訂閱器返回。
[0013]較佳地,所述將所述分詞結(jié)果與預(yù)先存儲(chǔ)的XML約束模板文檔的解析結(jié)果進(jìn)行匹配,具體包括:
[0014]針對(duì)預(yù)先存儲(chǔ)的每個(gè)XML約束模板文檔,將所述分詞結(jié)果與該XML約束模板文檔的解析結(jié)果進(jìn)行匹配:
[0015]針對(duì)所述分詞結(jié)果中的每個(gè)詞語,將該XML約束模板文檔的解析結(jié)果中限制內(nèi)容、或?qū)傩灾邪性撛~語的元素,作為該XML約束模板文檔的匹配結(jié)果中的與該詞語對(duì)應(yīng)的匹配元素。
[0016]較佳地,在所述將所述分詞結(jié)果與該XML約束模板文檔的解析結(jié)果進(jìn)行匹配后,還包括:
[0017]統(tǒng)計(jì)該XML約束模板文檔的匹配結(jié)果中的匹配元素的數(shù)目,將統(tǒng)計(jì)出的數(shù)目作為該XML約束模板文檔與所述分詞結(jié)果之間的匹配程度;以及
[0018]所述根據(jù)匹配結(jié)果構(gòu)建標(biāo)準(zhǔn)訂閱請求,具體包括:
[0019]選取與所述分詞結(jié)果匹配程度最高的XML約束模板文檔作為匹配約束模板文檔;
[0020]根據(jù)所述匹配約束模板文檔的匹配結(jié)果中與所述分詞結(jié)果的各詞語所對(duì)應(yīng)的匹配元素的屬性、結(jié)構(gòu)化信息,運(yùn)用預(yù)設(shè)規(guī)則將所述分詞結(jié)果構(gòu)建為符合訂閱語言格式規(guī)范的標(biāo)準(zhǔn)訂閱請求。
[0021]本發(fā)明實(shí)施例還提供了一種消息代理服務(wù)器,包括:
[0022]請求接收模塊,用于接收訂閱器發(fā)送的基于自然語言的訂閱請求;
[0023]匹配模塊,用于對(duì)所述請求接收模塊接收的基于自然語言的訂閱請求中以自然語言組建的訂閱信息進(jìn)行分詞,得到分詞結(jié)果;將所述分詞結(jié)果與預(yù)先存儲(chǔ)的XML約束模板文檔的解析結(jié)果進(jìn)行匹配:針對(duì)所述分詞結(jié)果中的每個(gè)詞語,將所述解析結(jié)果中限制內(nèi)容、或?qū)傩灾邪性撛~語的元素,作為匹配結(jié)果中與該詞語對(duì)應(yīng)的匹配元素;
[0024]標(biāo)準(zhǔn)訂閱請求構(gòu)建模塊,用于根據(jù)所述匹配模塊得到的匹配結(jié)果構(gòu)建標(biāo)準(zhǔn)訂閱請求:根據(jù)匹配結(jié)果中與所述分詞結(jié)果的各詞語所對(duì)應(yīng)的匹配元素的屬性、結(jié)構(gòu)化信息,運(yùn)用預(yù)設(shè)規(guī)則將所述分詞結(jié)果構(gòu)建為符合訂閱語言格式規(guī)范的標(biāo)準(zhǔn)訂閱請求;
[0025]請求處理模塊,用于將與所述標(biāo)準(zhǔn)訂閱請求構(gòu)建模塊構(gòu)建的標(biāo)準(zhǔn)訂閱請求相匹配的發(fā)布信息向所述訂閱器返回。
[0026]較佳地,所述匹配模塊具體用于針對(duì)預(yù)先存儲(chǔ)的每個(gè)XML約束模板文檔,將所述分詞結(jié)果與該XML約束模板文檔的解析結(jié)果進(jìn)行匹配:針對(duì)所述分詞結(jié)果中的每個(gè)詞語,將該XML約束模板文檔的解析結(jié)果中限制內(nèi)容、或?qū)傩灾邪性撛~語的元素,作為該XML約束模板文檔的匹配結(jié)果中的與該詞語對(duì)應(yīng)的匹配元素;之后,統(tǒng)計(jì)該XML約束模板文檔的匹配結(jié)果中的匹配元素的數(shù)目,將統(tǒng)計(jì)出的數(shù)目作為該XML約束模板文檔與所述分詞結(jié)果之間的匹配程度。
[0027]較佳地,所述標(biāo)準(zhǔn)訂閱請求構(gòu)建模塊具體用于根據(jù)據(jù)所述匹配模塊得到的匹配結(jié)果和匹配程度,選取與所述分詞結(jié)果匹配程度最高的XML約束模板文檔作為匹配約束模板文檔;根據(jù)所述匹配約束模板文檔的匹配結(jié)果中與所述分詞結(jié)果的各詞語所對(duì)應(yīng)的匹配元素的屬性、結(jié)構(gòu)化信息,運(yùn)用預(yù)設(shè)規(guī)則將所述分詞結(jié)果構(gòu)建為符合訂閱語言格式規(guī)范的標(biāo)準(zhǔn)訂閱請求。
[0028]進(jìn)一步,所述消息代理服務(wù)器還包括:
[0029]解析模塊,用于針對(duì)每個(gè)XML約束模板文檔,從該XML約束模板文檔中解析出每個(gè)元素的屬性、結(jié)構(gòu)化信息、限制內(nèi)容,作為該XML約束模板文檔的解析結(jié)果進(jìn)行存儲(chǔ)。
[0030]本發(fā)明實(shí)施例還提供了一種信息發(fā)布訂閱系統(tǒng),包括:用于進(jìn)行信息發(fā)布的發(fā)布器,還包括:
[0031]訂閱器,用于發(fā)送基于自然語言的訂閱請求;
[0032]消息代理服務(wù)器,接收到訂閱器發(fā)送的基于自然語言的訂閱請求后,對(duì)其中以自然語言組建的訂閱信息進(jìn)行分詞,得到分詞結(jié)果;將所述分詞結(jié)果與預(yù)先存儲(chǔ)的XML約束模板文檔的解析結(jié)果進(jìn)行匹配:針對(duì)所述分詞結(jié)果中的每個(gè)詞語,將所述解析結(jié)果中限制內(nèi)容、或?qū)傩灾邪性撛~語的元素,作為匹配結(jié)果中與該詞語對(duì)應(yīng)的匹配元素;根據(jù)匹配結(jié)果構(gòu)建標(biāo)準(zhǔn)訂閱請求:根據(jù)匹配結(jié)果中與所述分詞結(jié)果的各詞語所對(duì)應(yīng)的匹配元素的屬性、結(jié)構(gòu)化信息,運(yùn)用預(yù)設(shè)規(guī)則將所述分詞結(jié)果構(gòu)建為符合訂閱語言格式規(guī)范的標(biāo)準(zhǔn)訂閱請求;將與所述標(biāo)準(zhǔn)訂閱請求相匹配的發(fā)布信息向所述訂閱器返回。
[0033]其中,所述消息代理服務(wù)器具體包括:
[0034]請求接收模塊,用于接收訂閱器發(fā)送的基于自然語言的訂閱請求;
[0035]匹配模塊,用于對(duì)所述請求接收模塊接收的基于自然語言的訂閱請求中以自然語言組建的訂閱信息進(jìn)行分詞,得到分詞結(jié)果;將所述分詞結(jié)果與預(yù)先存儲(chǔ)的XML約束模板文檔的解析結(jié)果進(jìn)行匹配:針對(duì)所述分詞結(jié)果中的每個(gè)詞語,將所述解析結(jié)果中限制內(nèi)容、或?qū)傩灾邪性撛~語的元素,作為匹配結(jié)果中與該詞語對(duì)應(yīng)的匹配元素;
[0036]標(biāo)準(zhǔn)訂閱請求構(gòu)建模塊,用于根據(jù)所述匹配模塊得到的匹配結(jié)果構(gòu)建標(biāo)準(zhǔn)訂閱請求:根據(jù)匹配結(jié)果中與所述分詞結(jié)果的各詞語所對(duì)應(yīng)的匹配元素的屬性、結(jié)構(gòu)化信息,運(yùn)用預(yù)設(shè)規(guī)則將所述分詞結(jié)果構(gòu)建為符合訂閱語言格式規(guī)范的標(biāo)準(zhǔn)訂閱請求;
[0037]請求處理模塊,用于將與所述標(biāo)準(zhǔn)訂閱請求構(gòu)建模塊構(gòu)建的標(biāo)準(zhǔn)訂閱請求相匹配的發(fā)布信息向所述訂閱器返回。
[0038]較佳地,所述匹配模塊具體用于針對(duì)預(yù)先存儲(chǔ)的每個(gè)XML約束模板文檔,將所述分詞結(jié)果與該XML約束模板文檔的解析結(jié)果進(jìn)行匹配:針對(duì)所述分詞結(jié)果中的每個(gè)詞語,將該XML約束模板文檔的解析結(jié)果中限制內(nèi)容、或?qū)傩灾邪性撛~語的元素,作為該XML約束模板文檔的匹配結(jié)果中的與該詞語對(duì)應(yīng)的匹配元素;之后,統(tǒng)計(jì)該XML約束模板文檔的匹配結(jié)果中的匹配元素的數(shù)目,將統(tǒng)計(jì)出的數(shù)目作為該XML約束模板文檔與所述分詞結(jié)果之間的匹配程度;以及
[0039]所述標(biāo)準(zhǔn)訂閱請求構(gòu)建模塊具體用于根據(jù)據(jù)所述匹配模塊得到的匹配結(jié)果和匹配程度,選取與所述分詞結(jié)果匹配程度最高的XML約束模板文檔作為匹配約束模板文檔;根據(jù)所述匹配約束模板文檔的匹配結(jié)果中與所述分詞結(jié)果的各詞語所對(duì)應(yīng)的匹配元素的屬性、結(jié)構(gòu)化信息,運(yùn)用預(yù)設(shè)規(guī)則將所述分詞結(jié)果構(gòu)建為符合訂閱語言格式規(guī)范的標(biāo)準(zhǔn)訂閱請求。
[0040]本發(fā)明的技術(shù)方案中,消息代理服務(wù)器可以對(duì)訂閱器發(fā)送的基于自然語言的訂閱請求進(jìn)行分詞處理后,針對(duì)分詞結(jié)果中的每個(gè)詞語,將XML約束模板文檔的解析結(jié)果中限制內(nèi)容、或?qū)傩灾邪性撛~語的元素,作為匹配結(jié)果中與該詞語對(duì)應(yīng)的匹配元素,并根據(jù)匹配結(jié)果構(gòu)建出符合訂閱語言格式規(guī)范的標(biāo)準(zhǔn)訂閱請求,將與標(biāo)準(zhǔn)訂閱請求相匹配的發(fā)布信息向訂閱器返回。這樣,用戶可以使用自然語言通過訂閱器向消息代理服務(wù)器發(fā)送基于自然語言的訂閱器請求,由消息代理服務(wù)器對(duì)基于自然語言的訂閱請求進(jìn)行處理,將其轉(zhuǎn)換為符合訂閱語言格式規(guī)范的標(biāo)準(zhǔn)訂閱請求,并實(shí)現(xiàn)用戶的信息訂閱。從而,應(yīng)用本發(fā)明的方法,可以使得用戶可不必了解XML文檔的結(jié)構(gòu),也不必學(xué)習(xí)復(fù)雜的訂閱語言的語法便可實(shí)現(xiàn)信息訂閱,使得用戶進(jìn)行信息訂閱更為方便。
【專利附圖】
【附圖說明】
[0041]圖1為本發(fā)明實(shí)施例的信息發(fā)布訂閱系統(tǒng)的架構(gòu)圖;
[0042]圖2為本發(fā)明實(shí)施例的信息發(fā)布訂閱方法的流程圖;
[0043]圖3為本發(fā)明實(shí)施例的消息代理服務(wù)器的內(nèi)部結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0044]為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉出優(yōu)選實(shí)施例,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。然而,需要說明的是,說明書中列出的許多細(xì)節(jié)僅僅是為了使讀者對(duì)本發(fā)明的一個(gè)或多個(gè)方面有一個(gè)透徹的理解,即便沒有這些特定的細(xì)節(jié)也可以實(shí)現(xiàn)本發(fā)明的這些方面。
[0045]本申請使用的“模塊”、“系統(tǒng)”等術(shù)語旨在包括與計(jì)算機(jī)相關(guān)的實(shí)體,例如但不限于硬件、固件、軟硬件組合、軟件或者執(zhí)行中的軟件。例如,模塊可以是,但并不僅限于:處理器上運(yùn)行的進(jìn)程、處理器、對(duì)象、可執(zhí)行程序、執(zhí)行的線程、程序和/或計(jì)算機(jī)。舉例來說,計(jì)算設(shè)備上運(yùn)行的應(yīng)用程序和此計(jì)算設(shè)備都可以是模塊。一個(gè)或多個(gè)模塊可以位于執(zhí)行中的一個(gè)進(jìn)程和/或線程內(nèi)。
[0046]本發(fā)明的發(fā)明人發(fā)現(xiàn),對(duì)于消息代理服務(wù)器中用于表示數(shù)據(jù)的一類XML文檔,會(huì)有一份XML格式內(nèi)容限制規(guī)范文檔,如XML Schema (XML約束模板)文檔,來定義該類XML文檔;在本文中,將XML Schema文檔或具有同等作用的XML格式內(nèi)容限制規(guī)范文檔統(tǒng)稱為XML約束模板文檔。其中,XML Schema文檔用來描述XML文檔的結(jié)構(gòu)以及驗(yàn)證XML文檔的合法性。XML Schema文檔是一類特殊的XML文檔,遵守和XML同樣的語法規(guī)范。XML Schema文檔的內(nèi)容也是由元素及其內(nèi)容組成,這些元素對(duì)XML文檔中允許的語法和結(jié)構(gòu)進(jìn)行了定義。例如:
[0047]Schema兀素為Schema文本的根兀素,表明該文檔是一個(gè)Schema文檔;
[0048]ElementType元素用來聲明定義的XML文檔中使用的元素;
[0049]Element元素是對(duì)ElementType聲明的元素的內(nèi)容進(jìn)行定義;
[0050]Group元素表達(dá)元素成組的概念;[0051]AttributeType元素定義了 Schema文檔中使用的屬性類型;
[0052]Attribute元素對(duì)AttributeType聲明的屬性進(jìn)行具體的定義;
[0053]Datatype和description分別定義了元素的數(shù)據(jù)類型和為元素提供的說明資料。
[0054]由此,本發(fā)明的發(fā)明人考慮到,可以預(yù)先對(duì)消息代理服務(wù)器存儲(chǔ)的XML約束模板文檔進(jìn)行解析,得到XML約束模板文檔所限定的結(jié)構(gòu)化信息(如層級(jí))、內(nèi)容、屬性;這樣,用戶可使用自然語言通過訂閱器向消息代理服務(wù)器發(fā)送基于自然語言的訂閱請求,消息代理服務(wù)器可以利用對(duì)XML約束模板文檔的解析結(jié)果,自動(dòng)地將基于自然語言的訂閱請求轉(zhuǎn)換為符合該XML約束模板文檔所定義的一類XML文檔的格式的、基于訂閱語言的標(biāo)準(zhǔn)訂閱請求。消息代理服務(wù)器再根據(jù)轉(zhuǎn)換得到的標(biāo)準(zhǔn)訂閱請求在以XML文檔表示的數(shù)據(jù)中進(jìn)行查詢匹配,并將查詢匹配出的發(fā)布信息向訂閱器返回。從而,用戶可不必了解XML文檔的結(jié)構(gòu),也不必學(xué)習(xí)復(fù)雜的訂閱語言的語法,用戶可使用自然語言更為方便地完成信息訂閱。
[0055]下面結(jié)合附圖詳細(xì)說明本發(fā)明的技術(shù)方案。本發(fā)明實(shí)施例提供的信息發(fā)布訂閱系統(tǒng)的架構(gòu)圖,如圖1所示,包括:多個(gè)發(fā)布器101、多個(gè)訂閱器102以及消息代理服務(wù)器103。
[0056]其中,發(fā)布器101用于進(jìn)行信息發(fā)布,與現(xiàn)有技術(shù)的發(fā)布器的功能相同。具體地,發(fā)布器101中運(yùn)行了發(fā)布應(yīng)用程序,可通過網(wǎng)絡(luò)向消息代理服務(wù)器103發(fā)布信息。
[0057]訂閱器102不同于現(xiàn)有技術(shù)的訂閱器,本發(fā)明的訂閱器102可用于向消息代理服務(wù)器103發(fā)送基于自然語言的訂閱請求。也就是說,訂閱器102可以接收用戶輸入的自然語言,然后向消息代理服務(wù)器103發(fā)送基于自然語言的訂閱請求,從而用戶不必了解XML文檔的結(jié)構(gòu),也不必學(xué)習(xí)復(fù)雜的訂閱語言的語法。
[0058]消息代理服務(wù)器103也不同于現(xiàn)有技術(shù)的消息代理服務(wù)器,本發(fā)明的消息代理服務(wù)器103可用于對(duì)訂閱器102發(fā)送的基于自然語言的訂閱請求進(jìn)行處理,將基于自然語言的訂閱請求轉(zhuǎn)換為符合訂閱語言格式規(guī)范的標(biāo)準(zhǔn)訂閱請求,并根據(jù)標(biāo)準(zhǔn)訂閱請求向訂閱器102返回發(fā)布信息。
[0059]具體地,消息代理服務(wù)器103獲取到各發(fā)布器101所發(fā)布的發(fā)布信息后,可使用多類XML文檔來表示和存儲(chǔ)這些發(fā)布信息的數(shù)據(jù);針對(duì)每類XML文檔,消息代理服務(wù)器103存儲(chǔ)有定義該類XML文檔的XML約束模板文檔。在實(shí)際應(yīng)用中,XML約束模板文檔可由同一領(lǐng)域信息發(fā)布者統(tǒng)一協(xié)商提供,也可由信息發(fā)布訂閱系統(tǒng)內(nèi)部統(tǒng)一設(shè)定,還可由第三方指定。而且,消息代理服務(wù)器103可預(yù)先對(duì)存儲(chǔ)的XML約束模板文檔進(jìn)行解析,即對(duì)于待解析的XML約束模板文檔,解析出XML約束模板文檔中的每個(gè)元素的結(jié)構(gòu)化信息、限制內(nèi)容,以及屬性作為XML約束模板文檔的解析結(jié)果進(jìn)行存儲(chǔ)。
[0060]具體地,本發(fā)明的消息代理服務(wù)器103對(duì)訂閱器102發(fā)送的基于自然語言的訂閱請求進(jìn)行處理,并向訂閱器102返回發(fā)布信息的方法的流程,如圖2所示,具體包括如下步驟:
[0061]S201:消息代理服務(wù)器103接收到訂閱器102發(fā)送的基于自然語言的訂閱請求后,對(duì)其中以自然語言組建的訂閱信息進(jìn)行分詞,得到分詞結(jié)果。
[0062]具體地,用戶使用自然語言通過訂閱器102向消息代理服務(wù)器103發(fā)送基于自然語言的訂閱請求后,消息代理服務(wù)器103對(duì)接收到的訂閱請求中以自然語言組建的訂閱信息進(jìn)行分詞,得到分詞結(jié)果。其中,對(duì)訂閱信息進(jìn)行分詞也就是使用現(xiàn)有的分詞算法將訂閱信息劃分為多個(gè)詞語(或稱為自然語言元素)。[0063]S202:消息代理服務(wù)器103將得到的分詞結(jié)果與預(yù)先存儲(chǔ)的XML約束模板文檔的解析結(jié)果進(jìn)行匹配。
[0064]本步驟中,消息代理服務(wù)器103針對(duì)得到的分詞結(jié)果中的每個(gè)詞語,將預(yù)先存儲(chǔ)的XML約束模板文檔的解析結(jié)果中限制內(nèi)容、或?qū)傩灾邪性撛~語的元素,作為匹配結(jié)果中與該詞語對(duì)應(yīng)的匹配元素。
[0065]較佳地,消息代理服務(wù)器103中可預(yù)先存儲(chǔ)多個(gè)XML約束模板文檔。消息代理服務(wù)器103可針對(duì)預(yù)先存儲(chǔ)的每個(gè)XML約束模板文檔,將得到的分詞結(jié)果與該XML約束模板文檔的解析結(jié)果進(jìn)行匹配,即針對(duì)得到的分詞結(jié)果中的每個(gè)詞語,將該XML約束模板文檔的解析結(jié)果中限制內(nèi)容、或?qū)傩灾邪性撛~語的元素,作為該XML約束模板文檔的匹配結(jié)果中的與該詞語對(duì)應(yīng)的匹配元素。之后,針對(duì)預(yù)先存儲(chǔ)的每個(gè)XML約束模板文檔,還可統(tǒng)計(jì)該XML約束模板文檔的匹配結(jié)果中的匹配元素的數(shù)目,將統(tǒng)計(jì)出的數(shù)目作為該XML約束模板文檔與所述分詞結(jié)果之間的匹配程度,并選取與得到的分詞結(jié)果匹配程度最高的XML約束模板文檔作為匹配約束模板文檔。
[0066]S203:消息代理服務(wù)器103根據(jù)匹配結(jié)果構(gòu)建標(biāo)準(zhǔn)訂閱請求。
[0067]具體地,消息代理服務(wù)器103根據(jù)匹配結(jié)果中與得到的分詞結(jié)果的各詞語所對(duì)應(yīng)的匹配元素的屬性、結(jié)構(gòu)化信息,運(yùn)用預(yù)設(shè)規(guī)則將得到的分詞結(jié)果構(gòu)建為符合訂閱語言格式規(guī)范的標(biāo)準(zhǔn)訂閱請求。從而,消息代理服務(wù)器103可實(shí)現(xiàn)將自然語言轉(zhuǎn)換為訂閱語言,如Xpath, Xquery等包含結(jié)構(gòu)和內(nèi)容雙重信息的訂閱語言。而且消息代理服務(wù)器103轉(zhuǎn)換的訂閱語言可以完整覆蓋用戶使用的自然語言的訂閱語義。
[0068]更優(yōu)地,還可使用上述步驟S202中選取出的匹配約束模板文檔的匹配結(jié)果構(gòu)建標(biāo)準(zhǔn)訂閱請求,具體為:根據(jù)匹配約束模板文檔的匹配結(jié)果中與得到的分詞結(jié)果的各詞語所對(duì)應(yīng)的匹配元素的屬性、結(jié)構(gòu)化信息,運(yùn)用預(yù)設(shè)規(guī)則將得到的分詞結(jié)果構(gòu)建為符合訂閱語言格式規(guī)范的標(biāo)準(zhǔn)訂閱請求。其中,預(yù)設(shè)規(guī)則可由本領(lǐng)域技術(shù)人員進(jìn)行預(yù)先設(shè)定?;谧匀徽Z言的訂閱請求的分詞結(jié)果與選取出的匹配約束模板文檔的匹配程度最高,表明基于自然語言的訂閱請求與匹配約束模板文檔所定義的一類XML文檔的格式最匹配,因此使用匹配約束模板文檔的解析結(jié)果將基于自然語言的訂閱請求轉(zhuǎn)換得到的標(biāo)準(zhǔn)訂閱請求,可以較好地符合匹配約束模板文檔所定義的一類XML文檔的格式,從而實(shí)現(xiàn)從基于自然語言到基于訂閱語言的訂閱請求的自動(dòng)轉(zhuǎn)換,而不必用戶去研究、熟悉XML文檔的格式或架構(gòu)來構(gòu)建符合XML文檔的格式的基于訂閱語言的訂閱請求。
[0069]例如,表I示出了一種預(yù)設(shè)規(guī)則(或稱為轉(zhuǎn)換規(guī)則)。轉(zhuǎn)換規(guī)則也就是將自然語言的詞語映射為訂閱語言中的節(jié)點(diǎn)、屬性、謂詞以及層級(jí)關(guān)系的規(guī)則。若用戶通過訂閱器102向消息代理服務(wù)器103發(fā)送的訂閱請求中的自然語言為“北京天氣”,消息代理服務(wù)器103可將“海淀區(qū)一居房屋出租價(jià)格”劃分為“海淀區(qū)”、“一居”、“房屋出租”、“價(jià)格”四個(gè)詞語,并確定“海淀區(qū)”為XML Schema文檔的解析結(jié)果中一個(gè)元素的屬性,“一居”、“房屋出租”、“價(jià)格”分別為XML Schema文檔的解析結(jié)果中的三個(gè)元素的限制內(nèi)容,且這幾個(gè)元素的層級(jí)分別為2、3、1、4,則根據(jù)表I的轉(zhuǎn)換規(guī)則轉(zhuǎn)換的訂閱語言為:房屋出租/*[0區(qū)=“海淀區(qū)”]/ 一居/價(jià)格。
[0070]表I
[0071]
【權(quán)利要求】
1.一種信息發(fā)布訂閱方法,其特征在于,包括: 接收到訂閱器發(fā)送的基于自然語言的訂閱請求后,對(duì)其中以自然語言組建的訂閱信息進(jìn)行分詞,得到分詞結(jié)果; 將所述分詞結(jié)果與預(yù)先存儲(chǔ)的XML約束模板文檔的解析結(jié)果進(jìn)行匹配:針對(duì)所述分詞結(jié)果中的每個(gè)詞語,將所述解析結(jié)果中限制內(nèi)容、或?qū)傩灾邪性撛~語的元素,作為匹配結(jié)果中與該詞語對(duì)應(yīng)的匹配元素; 根據(jù)匹配結(jié)果構(gòu)建標(biāo)準(zhǔn)訂閱請求:根據(jù)匹配結(jié)果中與所述分詞結(jié)果的各詞語所對(duì)應(yīng)的匹配元素的屬性、結(jié)構(gòu)化信息,運(yùn)用預(yù)設(shè)規(guī)則將所述分詞結(jié)果構(gòu)建為符合訂閱語言格式規(guī)范的標(biāo)準(zhǔn)訂閱請求; 將與所述標(biāo)準(zhǔn)訂閱請求相匹配的發(fā)布信息向所述訂閱器返回。
2.如權(quán)利要求1所述的方法,其特征在于,所述將所述分詞結(jié)果與預(yù)先存儲(chǔ)的XML約束模板文檔的解析結(jié)果進(jìn)行匹配,具體包括: 針對(duì)預(yù)先存儲(chǔ)的每個(gè)XML約束模板文檔,將所述分詞結(jié)果與該XML約束模板文檔的解析結(jié)果進(jìn)行匹配: 針對(duì)所述分詞結(jié)果中的每個(gè)詞語,將該XML約束模板文檔的解析結(jié)果中限制內(nèi)容、或?qū)傩灾邪性撛~語的元素,作為該XML約束模板文檔的匹配結(jié)果中的與該詞語對(duì)應(yīng)的匹配元素。
3.如權(quán)利要求2所述的方法,其特征在于,在所述將所述分詞結(jié)果與該XML約束模板文檔的解析結(jié)果進(jìn)行匹配后,還包括: 統(tǒng)計(jì)該XML約束模板文檔的匹配結(jié)果中的匹配元素的數(shù)目,將統(tǒng)計(jì)出的數(shù)目作為該XML約束模板文檔與所述分詞結(jié)果之間的匹配程度;以及所述根據(jù)匹配結(jié)果構(gòu)建標(biāo)準(zhǔn)訂閱請求,具體包括: 選取與所述分詞結(jié)果匹配程度最高的XML約束模板文檔作為匹配約束模板文檔;根據(jù)所述匹配約束模板文檔的匹配結(jié)果中與所述分詞結(jié)果的各詞語所對(duì)應(yīng)的匹配元素的屬性、結(jié)構(gòu)化信息,運(yùn)用預(yù)設(shè)規(guī)則將所述分詞結(jié)果構(gòu)建為符合訂閱語言格式規(guī)范的標(biāo)準(zhǔn)訂閱請求。
4.一種消息代理服務(wù)器,其特征在于,包括: 請求接收模塊,用于接收訂閱器發(fā)送的基于自然語言的訂閱請求; 匹配模塊,用于對(duì)所述請求接收模塊接收的基于自然語言的訂閱請求中以自然語言組建的訂閱信息進(jìn)行分詞,得到分詞結(jié)果;將所述分詞結(jié)果與預(yù)先存儲(chǔ)的XML約束模板文檔的解析結(jié)果進(jìn)行匹配:針對(duì)所述分詞結(jié)果中的每個(gè)詞語,將所述解析結(jié)果中限制內(nèi)容、或?qū)傩灾邪性撛~語的元素,作為匹配結(jié)果中與該詞語對(duì)應(yīng)的匹配元素; 標(biāo)準(zhǔn)訂閱請求構(gòu)建模塊,用于根據(jù)所述匹配模塊得到的匹配結(jié)果構(gòu)建標(biāo)準(zhǔn)訂閱請求:根據(jù)匹配結(jié)果中與所述分詞結(jié)果的各詞語所對(duì)應(yīng)的匹配元素的屬性、結(jié)構(gòu)化信息,運(yùn)用預(yù)設(shè)規(guī)則將所述分詞結(jié)果構(gòu)建為符合訂閱語言格式規(guī)范的標(biāo)準(zhǔn)訂閱請求; 請求處理模塊,用于將與所述標(biāo)準(zhǔn)訂閱請求構(gòu)建模塊構(gòu)建的標(biāo)準(zhǔn)訂閱請求相匹配的發(fā)布信息向所述訂閱器返回。
5.如權(quán)利要求4所述的服務(wù)器,其特征在于, 所述匹配模塊具體用于針對(duì)預(yù)先存儲(chǔ)的每個(gè)XML約束模板文檔,將所述分詞結(jié)果與該XML約束模板文檔的解析結(jié)果進(jìn)行匹配:針對(duì)所述分詞結(jié)果中的每個(gè)詞語,將該XML約束模板文檔的解析結(jié)果中限制內(nèi)容、或?qū)傩灾邪性撛~語的元素,作為該XML約束模板文檔的匹配結(jié)果中的與該詞語對(duì)應(yīng)的匹配元素;之后,統(tǒng)計(jì)該XML約束模板文檔的匹配結(jié)果中的匹配元素的數(shù)目,將統(tǒng)計(jì)出的數(shù)目作為該XML約束模板文檔與所述分詞結(jié)果之間的匹配程度。
6.如權(quán)利要求5所述的服務(wù)器,其特征在于, 所述標(biāo)準(zhǔn)訂閱請求構(gòu)建模塊具體用于根據(jù)據(jù)所述匹配模塊得到的匹配結(jié)果和匹配程度,選取與所述分詞結(jié)果匹配程度最高的XML約束模板文檔作為匹配約束模板文檔;根據(jù)所述匹配約束模板文檔的匹配結(jié)果中與所述分詞結(jié)果的各詞語所對(duì)應(yīng)的匹配元素的屬性、結(jié)構(gòu)化信息,運(yùn)用預(yù)設(shè)規(guī)則將所述分詞結(jié)果構(gòu)建為符合訂閱語言格式規(guī)范的標(biāo)準(zhǔn)訂閱請求。
7.如權(quán)利要求4-6任一所述的服務(wù)器,其特征在于,還包括: 解析模塊,用于針對(duì)每個(gè)XML約束模板文檔,從該XML約束模板文檔中解析出每個(gè)元素的屬性、結(jié)構(gòu)化信息、限制內(nèi)容,作為該XML約束模板文檔的解析結(jié)果進(jìn)行存儲(chǔ)。
8.一種信息發(fā)布訂閱系統(tǒng),包括:用于進(jìn)行信息發(fā)布的發(fā)布器,其特征在于,還包括: 訂閱器,用于發(fā)送基于自然語言的訂閱請求; 消息代理服務(wù)器,接收到訂閱器發(fā)送的基于自然語言的訂閱請求后,對(duì)其中以自然語言組建的訂閱信息進(jìn)行分詞,得到分詞結(jié)果;將所述分詞結(jié)果與預(yù)先存儲(chǔ)的XML約束模板文檔的解析結(jié)果進(jìn)行匹配:針對(duì)所述分詞結(jié)果中的每個(gè)詞語,將所述解析結(jié)果中限制內(nèi)容、或?qū)傩灾邪性撛~語的元素,作為匹配結(jié)果中與該詞語對(duì)應(yīng)的匹配元素;根據(jù)匹配結(jié)果構(gòu)建標(biāo)準(zhǔn)訂閱請求:根據(jù)匹配結(jié)果中與所述分詞結(jié)果的各詞語所對(duì)應(yīng)的匹配元素的屬性、結(jié)構(gòu)化信息,運(yùn)用預(yù)設(shè)規(guī)則將所述分詞結(jié)果構(gòu)建為符合訂閱語言格式規(guī)范的標(biāo)準(zhǔn)訂閱請求;將與所述標(biāo)準(zhǔn)訂閱請求相匹配的發(fā)布信息向所述訂閱器返回。
9.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述消息代理服務(wù)器具體包括: 請求接收模塊,用于接收訂閱器發(fā)送的基于自然語言的訂閱請求; 匹配模塊,用于對(duì)所述請求接收模塊接收的基于自然語言的訂閱請求中以自然語言組建的訂閱信息進(jìn)行分詞,得到分詞結(jié)果;將所述分詞結(jié)果與預(yù)先存儲(chǔ)的XML約束模板文檔的解析結(jié)果進(jìn)行匹配:針對(duì)所述分詞結(jié)果中的每個(gè)詞語,將所述解析結(jié)果中限制內(nèi)容、或?qū)傩灾邪性撛~語的元素,作為匹配結(jié)果中與該詞語對(duì)應(yīng)的匹配元素; 標(biāo)準(zhǔn)訂閱請求構(gòu)建模塊,用于根據(jù)所述匹配模塊得到的匹配結(jié)果構(gòu)建標(biāo)準(zhǔn)訂閱請求:根據(jù)匹配結(jié)果中與所述分詞結(jié)果的各詞語所對(duì)應(yīng)的匹配元素的屬性、結(jié)構(gòu)化信息,運(yùn)用預(yù)設(shè)規(guī)則將所述分詞結(jié)果構(gòu)建為符合訂閱語言格式規(guī)范的標(biāo)準(zhǔn)訂閱請求; 請求處理模塊,用于將與所述標(biāo)準(zhǔn)訂閱請求構(gòu)建模塊構(gòu)建的標(biāo)準(zhǔn)訂閱請求相匹配的發(fā)布信息向所述訂閱器返回。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于, 所述匹配模塊具體用于針對(duì)預(yù)先存儲(chǔ)的每個(gè)XML約束模板文檔,將所述分詞結(jié)果與該XML約束模板文檔的解析結(jié)果進(jìn)行匹配:針對(duì)所述分詞結(jié)果中的每個(gè)詞語,將該XML約束模板文檔的解析結(jié)果中限制內(nèi)容、或?qū)傩灾邪性撛~語的元素,作為該XML約束模板文檔的匹配結(jié)果中的與該詞語對(duì)應(yīng)的匹配元素;之后,統(tǒng)計(jì)該XML約束模板文檔的匹配結(jié)果中的匹配元素的數(shù)目,將統(tǒng)計(jì)出的數(shù)目作為該XML約束模板文檔與所述分詞結(jié)果之間的匹配程度;以及 所述標(biāo)準(zhǔn)訂閱請求構(gòu)建模塊具體用于根據(jù)據(jù)所述匹配模塊得到的匹配結(jié)果和匹配程度,選取與所述分詞結(jié)果匹配程度最高的XML約束模板文檔作為匹配約束模板文檔;根據(jù)所述匹配約束模板文檔的匹配結(jié)果中與所述分詞結(jié)果的各詞語所對(duì)應(yīng)的匹配元素的屬性、結(jié)構(gòu)化信息,運(yùn)用預(yù)設(shè)規(guī)則將 所述分詞結(jié)果構(gòu)建為符合訂閱語言格式規(guī)范的標(biāo)準(zhǔn)訂閱請求。
【文檔編號(hào)】G06F17/30GK104021216SQ201410281789
【公開日】2014年9月3日 申請日期:2014年6月20日 優(yōu)先權(quán)日:2014年6月20日
【發(fā)明者】高錦春, 裴君波, 劉元安, 馬曉雷 申請人:北京郵電大學(xué)