專利名稱:通過互聯(lián)計(jì)算機(jī)網(wǎng)絡(luò)的多語種電子數(shù)據(jù)源的在線智能信息比較代理器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及萬維網(wǎng)(world wide web)上的自動(dòng)化任務(wù),尤其涉及關(guān)于在線買家或用戶的自動(dòng)化任務(wù),比如在萬維網(wǎng)上通過一個(gè)單獨(dú)的界面與多語種賣家進(jìn)行互動(dòng)或比較購物,以提高通訊效率,并且提供個(gè)性化的購物經(jīng)驗(yàn)。
背景技術(shù):
自從20世紀(jì)90年代中期萬維網(wǎng)產(chǎn)生以來,互聯(lián)網(wǎng)的規(guī)模已擴(kuò)大了上千倍。如今人們被“互聯(lián)”了起來,并非以直接面對(duì)面的方式互動(dòng),而是通過虛擬的通訊渠道。這種新的技術(shù)革命從根本上改變了人們的生活方式。
和萬維網(wǎng)并行發(fā)展的是“信息技術(shù)時(shí)代”,它帶來了從產(chǎn)品信息到學(xué)術(shù)論文的各種令人目眩的在線信息資源。由于電子商務(wù)利用了互聯(lián)網(wǎng)所給予的低成本和便利性,這些因素導(dǎo)致電子商務(wù)的規(guī)模成指數(shù)級(jí)增長。
在萬維網(wǎng)上有數(shù)百萬或更多的在線賣家。雖然當(dāng)前購物比較或價(jià)格比較搜索引擎能夠按照在線買家或用戶的要求從不同的在線競爭者中檢索到與所要求的產(chǎn)品和價(jià)格在某種程度上相關(guān)的搜索結(jié)果,但是該買家或者用戶有可能面對(duì)無邊無際的信息海洋。有時(shí),該買家或者用戶得到了一個(gè)“搜索失敗”的網(wǎng)頁面,原因是搜索引擎遺漏了現(xiàn)在互聯(lián)網(wǎng)聯(lián)接的(目前有245個(gè))國家中其它國家中的在線多語種的賣家的站點(diǎn),而這些國家又確實(shí)是在銷售用戶所要求的商品或服務(wù)。此外,雖然關(guān)于產(chǎn)品和賣家的信息在網(wǎng)上很容易得到,但是買家或者用戶仍然徘徊于該購買過程的全部階段。
互聯(lián)網(wǎng)將當(dāng)前電子商務(wù)的模式轉(zhuǎn)變成真正的全球整體市場的潛力至今大部分未能實(shí)現(xiàn),電子購物也沒有實(shí)現(xiàn)自動(dòng)化。網(wǎng)上購物遠(yuǎn)非那么簡單、高效和有趣。對(duì)于搜尋在線買家所需要的產(chǎn)品和愿意出售這樣產(chǎn)品和服務(wù)的商家來說,搜索引擎和集中目錄服務(wù)是不夠的。而且,通常的在線購物過程幾乎都是人工完成的,為了得到他或她要搜索的東西,要求買家輸入全部條件和關(guān)鍵詞。因此,一個(gè)預(yù)期的買家就面對(duì)一個(gè)可畏的任務(wù),他需要收集和理解關(guān)于產(chǎn)品和商家的信息,并對(duì)這些信息做出決定,最后輸入購買和支付的有關(guān)信息。情況便是,過多的信息使該用戶或買家感到不堪重負(fù),而他們卻沒有這么多的時(shí)間和專門技能。
依照復(fù)雜的程度,眼下采用和實(shí)施了兩種不太完美的辦法以部分地實(shí)現(xiàn)在線商品目錄價(jià)格比較過程的自動(dòng)化,如下(1)非實(shí)時(shí)的方法(2)實(shí)時(shí)硬編碼封裝器(hard-coded wrapper)的方法非實(shí)時(shí)方法是最簡單的執(zhí)行價(jià)格比較代理的方法。其實(shí)施包括了人工收集網(wǎng)上所有必要的信息,然后為每一個(gè)搜索結(jié)果的項(xiàng)目寫出各自的超文本鏈接標(biāo)示語言的文件,以便該搜索結(jié)果得以可視地顯示出。
以上所述的好處是顯而易見的——容易實(shí)施且搜索迅速。盡管有這么多好處,但是仍然有三個(gè)主要的不盡人意的缺點(diǎn)。首先,由于價(jià)格比較是人工完成的,所以維護(hù)一個(gè)龐大的封裝器資源庫(wrapper repository)變得非常地昂貴,尤其是當(dāng)考慮到互聯(lián)網(wǎng)的持續(xù)增長態(tài)勢的因素時(shí)。其次,必須投入很大的力量來使價(jià)格和其它信息更新。最后,需要儲(chǔ)存和協(xié)調(diào)所有以上信息的數(shù)據(jù)庫的容量應(yīng)當(dāng)極大。
實(shí)時(shí)硬編碼封裝器的方法是非實(shí)時(shí)方法的一種替代。與非實(shí)時(shí)方法中直接地取得項(xiàng)目那種方式不同的是,實(shí)時(shí)方法試圖將超文本鏈接標(biāo)示語言頁面概括為一個(gè)特定的格式。為了實(shí)現(xiàn)提取任務(wù),則調(diào)用一個(gè)叫做pcwrapHLRT(程序簡稱)的定制封裝器程序。圖1提供了該程序相關(guān)部份的一個(gè)范例,該程序中有一個(gè)“while”循環(huán)。在這個(gè)范例中,在一個(gè)封裝器創(chuàng)建后的運(yùn)算法則是通過一對(duì)分隔符(定界符)把目標(biāo)數(shù)據(jù)限制在一個(gè)超文本鏈接標(biāo)示語言(HTML)的頁面上。該pcwrapHRLT程序由于該站點(diǎn)表現(xiàn)出一個(gè)統(tǒng)一的格式規(guī)則而運(yùn)行。產(chǎn)品項(xiàng)以粗體而價(jià)格以斜體的形式被呈現(xiàn)出來。pcwrapHRLT通過對(duì)超文本鏈接標(biāo)示語言文件特殊的字符串{″<B>,″</B>,″<l>,″″</l>″)進(jìn)行掃描而運(yùn)行,由這些字符串來識(shí)別將被提取的文本片段。這些字串又被pcwrapHRLT程序分別認(rèn)定為 和 符號(hào) (k∈{i,p))表示了該字符串劃定了被提取屬性左邊的界限,而 則標(biāo)示右邊的分隔符。其他可能被封裝器提取的屬性則是產(chǎn)品名稱、圖形、條件和狀況等等。
當(dāng)給出一個(gè)超文本鏈接標(biāo)示語言頁面時(shí),pcwrapHLRT依次從大字標(biāo)題行號(hào)開始掃描整個(gè)頁面。通過在該頁的非掃描部份搜索分隔符“<B>”,外循環(huán)對(duì)提取數(shù)進(jìn)行檢查是否有附加的型號(hào)和/或價(jià)格對(duì)。只要一個(gè)型號(hào)的開頭被發(fā)現(xiàn),內(nèi)循環(huán)則被調(diào)用以提取一個(gè)恰當(dāng)?shù)捻撁孀幼址?br>
很少有網(wǎng)站公布他們的格式規(guī)則。于是,一個(gè)使用pcwrapHLRT的信息收集系統(tǒng)的設(shè)計(jì)者就為每一種信息源手工建立這樣一個(gè)封裝器。遺憾的是,這一硬式編碼的過程不僅單調(diào),而且容易出錯(cuò),原因是一個(gè)普通超文本鏈接標(biāo)示語言頁面就可能包含數(shù)千行的編碼。而且,多數(shù)站點(diǎn)都會(huì)周期性地改變他們的格式規(guī)則,從而打亂封裝器。
pcwrapHLRT另一個(gè)缺點(diǎn)是搜索速度不算快,理由是代理器不得不在收到一個(gè)來自用戶的請(qǐng)求后聯(lián)絡(luò)該賣家站點(diǎn)。由于這種封裝器是半自動(dòng)的,所以額外的管理工作必須以人工分析超文本鏈接標(biāo)示語言頁面格式的方式來實(shí)施,以確定封裝器。
發(fā)明內(nèi)容
由于前述的這種普遍遇到的問題,基于一個(gè)新的互聯(lián)網(wǎng)策略,作為對(duì)人工和半自動(dòng)操作的替代的一種方法是自動(dòng)處理—在線智能價(jià)格比較代理器,它能減輕在線買或賣(拍賣等等)目錄的價(jià)格比較過程的負(fù)擔(dān),同時(shí),它還能以一個(gè)互聯(lián)網(wǎng)際友好的交互式代理器角色圖像使用者界面(IACGUI)來提供一個(gè)較好的導(dǎo)航環(huán)境。當(dāng)所謂的第四代全球總體市場框架—代理器中介的B-to-C、C-to-C、B-to-B的電子采購和拍賣以及G-to-B/C(政府對(duì)商家/消費(fèi)者)這些模式使e商務(wù)(電子商務(wù))和m商務(wù)(移動(dòng)商務(wù))變得更加“柔和”—亦即更普及時(shí),這種方法將非常有用。因此,本發(fā)明的系統(tǒng)為消費(fèi)者—商家的交易提供了一個(gè)較好的環(huán)境。
簡而言之,在線智能價(jià)格比較代理器就是一種自動(dòng)在線買賣助手,它對(duì)眾多的全球在線多語種的商店快速搜索,然后針對(duì)每一商品尋找到成交的機(jī)會(huì)。它們也向在線買家或者使用者提供增值的(按照顧客等級(jí))商業(yè)—網(wǎng)絡(luò)(Business-Web)服務(wù)。這樣的代理器具有很大的吸引力,理由是它們能夠減輕用戶在消費(fèi)者購買行為模式中人工進(jìn)行每一操作的單調(diào)性。
按照慣例,一個(gè)買家/用戶通過前端的界面同在線服務(wù)的網(wǎng)絡(luò)服務(wù)器進(jìn)行通訊,該界面提供了一個(gè)供用戶或者買家填報(bào)的用于錄入待搜索的商品項(xiàng)目的表格。一旦買家或者用戶呈交搜索請(qǐng)求,在線服務(wù)的網(wǎng)絡(luò)服務(wù)器便查詢它的數(shù)據(jù)庫以找到相匹配的內(nèi)容,然后將查詢結(jié)果送到用戶的網(wǎng)絡(luò)瀏覽器。
在本發(fā)明中,在線目錄價(jià)格比較過程中的用戶代理器(在線智能價(jià)格比較代理器代替買家/用戶(人)而動(dòng)作)以待查的商品項(xiàng)目類別和關(guān)鍵詞來進(jìn)行搜索,并且,為了買家/用戶的最大利益,該用戶代理器同在萬維網(wǎng)上的計(jì)算機(jī)網(wǎng)絡(luò)相聯(lián)的246個(gè)聯(lián)網(wǎng)國家中的多語種網(wǎng)絡(luò)服務(wù)器進(jìn)行通訊。接著,該用戶代理器將它發(fā)現(xiàn)的在線賣方地址分類排列,并通過網(wǎng)絡(luò)瀏覽器向該在線用戶(使用人)提交上一份搜索結(jié)果的摘要。
應(yīng)用本發(fā)明的系統(tǒng)來使e商務(wù)(電子商務(wù))所占的市場份額倍增,其好處是非常顯著的。通訊的效率和效果可以大幅度增加,同時(shí),無論對(duì)于在線賣家還是在線買家,可最大程度上節(jié)省時(shí)間和成本。最重要的是,該買家或者用戶將會(huì)在全球范圍內(nèi)得到空前的、無數(shù)的信息來源和無數(shù)的商品來源,以及不可估量的商業(yè)機(jī)會(huì)。本發(fā)明的系統(tǒng)和方法也將會(huì)有助于消除時(shí)間和語言障礙、人口學(xué)上的疆界,真正使電子商務(wù)全球化。除此之外,該用戶代理器的個(gè)性化、持續(xù)的運(yùn)作、自動(dòng)性這些特征還使它們得以很好地適應(yīng)居間(mediate中介)買家/消費(fèi)者的行為方式。據(jù)此,本發(fā)明將有助于使整個(gè)購買過程最優(yōu)化并使現(xiàn)在的電子商務(wù)發(fā)生革命性的變革。
因此,本發(fā)明的一個(gè)目的是提供一種改進(jìn)的在線賣家產(chǎn)品或服務(wù)的價(jià)格比較方法。
本發(fā)明的另一個(gè)目的是建立在線商店的賣家說明(vendordescription)。
本發(fā)明的另一個(gè)目的是收集包括商品樣品和URL的數(shù)據(jù),這些數(shù)據(jù)用于培訓(xùn)(training)。
本發(fā)明的另一個(gè)目的是在執(zhí)行在線商店或賣家網(wǎng)址的搜尋之前重獲培訓(xùn)數(shù)據(jù)。
本發(fā)明的另一個(gè)目的是利用從培訓(xùn)數(shù)據(jù)中得到的信息從在線賣家收集培訓(xùn)網(wǎng)頁。
本發(fā)明的另一個(gè)目的是從培訓(xùn)數(shù)據(jù)和所收集的培訓(xùn)網(wǎng)頁中產(chǎn)生賣家說明。
本發(fā)明的另一個(gè)目的是將產(chǎn)生的賣家說明儲(chǔ)存在一個(gè)數(shù)據(jù)庫中。
本發(fā)明的另一個(gè)目的是為系統(tǒng)管理員提供一個(gè)界面以便于其增添、修改和刪除該系統(tǒng)支持的賣家。
本發(fā)明的另一個(gè)目的是為系統(tǒng)管理者提供一個(gè)界面以便于其查看賣家信息。
本發(fā)明的另一個(gè)目的是提供一個(gè)價(jià)格比較方法,借此一個(gè)顧客能主動(dòng)進(jìn)行價(jià)格比較。
本發(fā)明的另一個(gè)目的是把超文本鏈接標(biāo)示語言解析為有用的數(shù)據(jù)。
本發(fā)明的另一個(gè)目的是對(duì)所要求的產(chǎn)品/服務(wù)加以分類和過濾。
本發(fā)明的另一個(gè)目的是提供一個(gè)單獨(dú)的界面,以便對(duì)萬維網(wǎng)或互聯(lián)網(wǎng)上不同的在線多語種的賣家和不同區(qū)域的價(jià)格進(jìn)行比較。
在本發(fā)明的系統(tǒng)中具體實(shí)施了一個(gè)第一用戶代理器,以語意識(shí)別獲知者代理器(SRLA)的模式工作。它用歸納獲知方法來獲悉賣家網(wǎng)址及其域說明的URL,從而實(shí)施一個(gè)實(shí)時(shí)自主封裝歸納,并基于先前由系統(tǒng)管理員提供編輯的或準(zhǔn)備的培訓(xùn)實(shí)例概括出關(guān)于賣家網(wǎng)址的組織規(guī)則。(在一個(gè)實(shí)施例中,SRLA聯(lián)接至Microsoftbrand back-end SQL-compliant服務(wù)器或Microsoft Access數(shù)據(jù)庫來產(chǎn)生一個(gè)賣家和產(chǎn)品的說明,每個(gè)在線商店僅一次。)該封裝歸納通過實(shí)時(shí)地創(chuàng)建一個(gè)從存儲(chǔ)在離線數(shù)據(jù)庫中的賣家和產(chǎn)品說明中提取的實(shí)例的封裝來完成。然后,該SRLA根據(jù)所提供的URL以這些實(shí)例自動(dòng)地通過互聯(lián)網(wǎng)實(shí)時(shí)地快速地抵達(dá)遠(yuǎn)程的賣家網(wǎng)址的主機(jī)以訪問展示具體實(shí)例樣品的網(wǎng)頁,然后智能地依照域名或者產(chǎn)品信息填報(bào)一個(gè)相關(guān)的搜索表,并且虛擬地“按下回車鍵”,由此而向該網(wǎng)址提交一份搜索請(qǐng)求。對(duì)搜索指標(biāo)做出響應(yīng)的搜索結(jié)果頁面既可能包含搜索成功的精確信息,也可能包含搜索失敗的內(nèi)容。這些結(jié)果頁面,有著對(duì)具體賣家來說是唯一的產(chǎn)品和賣家說明(就該系統(tǒng)來說既有注冊的也有未注冊的),因此而被存儲(chǔ)在由系統(tǒng)管理員所維護(hù)的離線數(shù)據(jù)庫(比如一個(gè)SQL-compliant服務(wù)器或者M(jìn)icrosoft Access數(shù)據(jù)庫)里的賣家說明之中。賣家的URL,賣家說明和其他信息,優(yōu)選每日一次按時(shí)自動(dòng)地更新升級(jí)。
本發(fā)明系統(tǒng)實(shí)施的第二用戶代理器被稱為語意識(shí)別買家代理器(SRBA)。當(dāng)在萬維網(wǎng)上同時(shí)訪問不同的在線多語種賣家站點(diǎn)時(shí),該SRBA利用先前被該語意識(shí)別獲知者代理器所獲悉的賣家說明來搜索一個(gè)匹配值。該SRBA智能地以在線用戶或者買家提供的產(chǎn)品信息來填報(bào)一個(gè)賣家搜索表格,并且虛擬地“按下回車鍵”。賣家接著將搜索結(jié)果頁面通過萬維網(wǎng)返還給該SRBA,其方式是這樣的結(jié)果頁面和其他賣家返還的結(jié)果頁面幾乎同時(shí)到達(dá)。(該語意識(shí)別買家代理器將這些返還的頁面作為采樣存儲(chǔ)在一個(gè)單獨(dú)的存儲(chǔ)器或高速緩沖存儲(chǔ)器位置以供其他SRBA在以后使用)該SRBA按照相應(yīng)的賣家說明來分析這些返還的頁面,從中提取相關(guān)的信息和數(shù)據(jù),將價(jià)格和型號(hào)的數(shù)據(jù)分類,并通過網(wǎng)絡(luò)瀏覽器向在線用戶或者買家以格式化的摘要的形式在客戶機(jī)上的屏幕顯示這些頁面。
根據(jù)本發(fā)明,提供了用于一個(gè)計(jì)算機(jī)執(zhí)行的語意識(shí)別獲知者代理器的方法,來執(zhí)行一歸納獲知。該方法包括重新取得針對(duì)一具體在線賣家的培訓(xùn)數(shù)據(jù),這樣便從互聯(lián)的計(jì)算機(jī)網(wǎng)絡(luò)產(chǎn)生相應(yīng)的賣家說明。該方法包括收集培訓(xùn)網(wǎng)頁,使用所提供的培訓(xùn)網(wǎng)頁,使用所提供的存儲(chǔ)于賣家列表中的培訓(xùn)數(shù)據(jù)。使用該培訓(xùn)數(shù)據(jù)以及該重新提取的培訓(xùn)頁面,該方法包括一歸納獲知方法,以便從自培訓(xùn)數(shù)據(jù)和重新提取的培訓(xùn)頁面提取的信息中產(chǎn)生針對(duì)具體賣家的賣家說明。
本發(fā)明提供了一種方法,用于在一個(gè)離線數(shù)據(jù)庫中存儲(chǔ)被重獲與/或被提取的賣家說明,這些賣家說明稍后將為語意識(shí)別買家代理器(SRBA)所用。
本發(fā)明提供了一種方法,用于對(duì)在線賣家的產(chǎn)品或服務(wù)的價(jià)格進(jìn)行比較。該方法包括一在線用戶初始化對(duì)具體產(chǎn)品或服務(wù)的一個(gè)請(qǐng)求,然后一個(gè)語意識(shí)別買家代理器利用先前確定的賣家說明創(chuàng)建多個(gè)搜索查詢參數(shù)。該方法包括傳遞若干請(qǐng)求給不同的在線賣家,優(yōu)選同時(shí)傳遞,并且利用一個(gè)由該賣家說明構(gòu)成的解析器(parser)從該在線賣家發(fā)還的結(jié)果頁面中提取數(shù)據(jù)。該方法包括創(chuàng)建/調(diào)整由一個(gè)語意識(shí)別買家代理器以超文本鏈接標(biāo)示語言格式所存儲(chǔ)和所過濾的數(shù)據(jù),目的是將這些數(shù)據(jù)呈現(xiàn)給在線買家/用戶。
本發(fā)明提供了一種為了下述目的而被實(shí)施方法,即通過該語意識(shí)別買家代理器分析來自在線賣家所返回的頁面以重獲有用的數(shù)據(jù)。該方法還包括從離線數(shù)據(jù)庫重獲賣家說明,分析從萬維網(wǎng)上當(dāng)前的246個(gè)聯(lián)網(wǎng)國家中任一在線賣家返回的網(wǎng)頁面,利用來自該返回的賣家說明的信息收集有用的數(shù)據(jù)。
在本發(fā)明的一個(gè)實(shí)施例中,只有當(dāng)一個(gè)在線買家注冊為臨時(shí)會(huì)員或者長期會(huì)員之后,上述功能才能在該會(huì)員網(wǎng)頁中實(shí)現(xiàn)。
本發(fā)明提供了一種方法,用以通過互聯(lián)的計(jì)算機(jī)網(wǎng)絡(luò)對(duì)所選擇的各類型的信息進(jìn)行實(shí)時(shí)在線搜索處理。該方法包括諸多步驟為互聯(lián)的計(jì)算機(jī)網(wǎng)絡(luò)中大量的站點(diǎn)組接站點(diǎn)說明,對(duì)于這些站點(diǎn)中的每一個(gè)包括(a)該站點(diǎn)的URL;該站點(diǎn)的URL搜索表;(b)該站點(diǎn)上所選擇的各種類型的信息如何組織的通用性規(guī)則;(c)從與所選擇的各類型的信息相對(duì)應(yīng)的站點(diǎn)中重新獲得的采樣數(shù)據(jù);和(d)在該站點(diǎn)發(fā)現(xiàn)的域名說明;從一個(gè)在線用戶處接收特定類型的信息的請(qǐng)求;根據(jù)站點(diǎn)說明識(shí)別出可能含有該特定類型的信息的站點(diǎn);為每一個(gè)該識(shí)別出的站點(diǎn),利用該站點(diǎn)說明創(chuàng)建該特定類型的信息的搜索請(qǐng)求;將所創(chuàng)建的搜索請(qǐng)求提交給經(jīng)過識(shí)別的站點(diǎn);從該識(shí)別的站點(diǎn)接收搜索結(jié)果,并且在從該接收的搜索結(jié)果中找到準(zhǔn)確的匹配內(nèi)容之后,以該站點(diǎn)自身的語言提取與該特定類型的信息相對(duì)應(yīng)的信息,并且向該用戶顯示所提取的信息。
更一般地說,本發(fā)明涉及一種在該互聯(lián)計(jì)算機(jī)網(wǎng)絡(luò)上實(shí)時(shí)在線搜索處理的方法。該方法包括如下步驟(a)在一個(gè)離線數(shù)據(jù)庫中,為多個(gè)賣家站點(diǎn)保存來自互聯(lián)計(jì)算機(jī)網(wǎng)絡(luò)的信息;該信息包括URL、搜索表格URL、域說明和賣家說明,其中該賣家說明包括諸如關(guān)于該賣家站點(diǎn)中每一個(gè)站點(diǎn)的產(chǎn)品信息是如何組織的這樣的概括性規(guī)則;(b)當(dāng)從一個(gè)在線用戶和/或語意識(shí)別買家代理器接收到價(jià)格對(duì)比請(qǐng)求時(shí),使用保存在離線數(shù)據(jù)庫中的信息處理目標(biāo)產(chǎn)品的價(jià)格對(duì)比請(qǐng)求的參數(shù);(c)從多個(gè)賣家站點(diǎn)中的經(jīng)識(shí)別的站點(diǎn)中提取實(shí)時(shí)價(jià)格和產(chǎn)品信息,其中所提取的價(jià)格和產(chǎn)品信息以站點(diǎn)本機(jī)(原有)語言的形式出現(xiàn);和(d)向該用戶顯示所提取的價(jià)格和產(chǎn)品信息。
圖1是現(xiàn)有的實(shí)時(shí)硬編碼封裝方法中從一賣家網(wǎng)站重獲信息的的pcwrapHLRT程序的相關(guān)部分的一個(gè)范例。
圖2是一個(gè)通用性圖表,它描述了以萬維網(wǎng)或者互聯(lián)網(wǎng)的方式在一個(gè)本發(fā)明的較佳實(shí)施例、本發(fā)明的用戶代理器、一個(gè)用戶或者買家和在線賣家之間的交互作用。
圖3是該語意識(shí)別獲知者代理器(SRLA)利用培訓(xùn)數(shù)據(jù)以產(chǎn)生一個(gè)賣家說明的概括的簡化流程圖100。
圖4是根據(jù)本發(fā)明的能包含在一個(gè)賣家說明中的各種信息的一個(gè)說明。
圖5是根據(jù)本發(fā)明提供的一個(gè)數(shù)據(jù)實(shí)例,它可以居于該賣家說明的字段中。
圖6是一個(gè)流程圖200,該圖就該語意識(shí)別獲知者代理器(SRLA)如何進(jìn)行歸納獲知并產(chǎn)生一個(gè)通用性的跨網(wǎng)頁的有效的賣家說明提供了一個(gè)概貌。
圖7提供了一個(gè)網(wǎng)站頁面的排列的部分的范例,其形式與向?yàn)g覽網(wǎng)頁的上網(wǎng)人所顯示的相同,并包括用于生成或者定義這種排列的相應(yīng)的超文本鏈接標(biāo)示語言代碼。
圖8提供了標(biāo)簽的范例,按照本發(fā)明,此標(biāo)簽用于確定一培訓(xùn)網(wǎng)頁中的價(jià)格信息和項(xiàng)目明細(xì)的位置。
圖9是對(duì)在本發(fā)明的一個(gè)實(shí)施例的培訓(xùn)過程中使用的標(biāo)簽所代表的內(nèi)容的通用性的說明。
圖10A和10B提供了在圖5到圖9中描述的培訓(xùn)過程的例子中的可能的備用分隔符示例。
圖11是一個(gè)網(wǎng)頁拷屏圖片的簡要說明,根據(jù)本發(fā)明,該拷屏圖片采用導(dǎo)航規(guī)則,帶有一個(gè)可檢索的目錄和產(chǎn)品域名字段的網(wǎng)絡(luò),用以容易地訪問具體所要求的數(shù)據(jù)庫。
圖12提供了一個(gè)網(wǎng)頁的屏幕抓圖的簡要說明,闡明對(duì)所有項(xiàng)目采用統(tǒng)一規(guī)則,所有項(xiàng)目以一種簡單的一致的格式排布。在該頁面的框架中包含了所查詢信息的搜索結(jié)果,這些搜索結(jié)果都得以統(tǒng)一地格式化。
圖13是該同一屏幕抓圖的簡要說明,如圖12所示,該圖闡明了垂直分離規(guī)則的應(yīng)用,搜索結(jié)果顯示被定位在頭尾之間的中央部分所排列的產(chǎn)品目錄。
圖14是依照本發(fā)明的語意識(shí)別獲知者代理器的運(yùn)作過程的一個(gè)概括性說明。
圖15A是一個(gè)屏幕抓圖,顯示的是在賣家網(wǎng)站“www.800.com”上關(guān)鍵詞“電子”的搜索結(jié)果,在這個(gè)網(wǎng)站上,每一種產(chǎn)品都被簡單的介紹所概括,諸如它的特征和功能(所列圖框的左邊和中部),還有相關(guān)的“列表價(jià)格”和“您的出價(jià)”信息,這些信息都顯示在所列圖框的右側(cè),本發(fā)明的該語意識(shí)別獲知者代理器的智能價(jià)格識(shí)別程序能夠在賣家說明的獲知過程中加以區(qū)別。
圖15B是本發(fā)明的語意識(shí)別買家代理器的運(yùn)作的概括性說明,即賣家說明的獲知過程之后的某一時(shí)刻訪問賣家站點(diǎn)“www.800.com”的運(yùn)作過程,正如圖14所示的賣家標(biāo)示設(shè)計(jì)隨后變成了一個(gè)整體,和圖15B展示的一樣。
圖15C是一個(gè)流程圖300,它概括地解釋了圖2中的語意識(shí)別買家代理器(SRBA)20與一個(gè)賣家說明如何進(jìn)行交互作用,以便針對(duì)一個(gè)乃至全部所搜尋到的在線多語種賣家,回應(yīng)在線用戶/買家的價(jià)格比較請(qǐng)求。
圖16是一個(gè)扮演交互式代理器角色的獲知者界面屏幕的范例,它可用于獲取培訓(xùn)信息以便在本發(fā)明中應(yīng)用。
圖17是一個(gè)所提供的范例,其中培訓(xùn)信息已經(jīng)被提交到該賣家網(wǎng)站“l(fā)cache.com”。
圖18是該獲知者界面屏幕的一個(gè)示意圖,它可以用于顯示賣家說明中已經(jīng)獲知的信息。
圖19是該獲知者界面的一個(gè)屏幕抓圖,其中標(biāo)注了“賣家信息”標(biāo)簽,通過此標(biāo)簽,賣家信息就能被輸入和檢索了。
圖20提供了一個(gè)獲知者界面的屏幕抓圖,用以顯示先前輸入的對(duì)于一具體賣家的培訓(xùn)范例。
圖21是該獲知者界面的一個(gè)屏幕抓圖,當(dāng)打開一個(gè)叫“賣家說明”的文件時(shí),它作為回應(yīng)被顯示。
圖22說明了按照本發(fā)明對(duì)獲知選項(xiàng)進(jìn)行選擇,即,“獲取一個(gè)”選項(xiàng)被顯示選中,已經(jīng)被填充的該賣家的名稱是“l(fā)cache.com”。
圖23展示的是對(duì)賣家“l(fā)cache.com”所獲取的結(jié)果。
圖24解釋了以信息提取的一個(gè)簡單模式限定的解決方案所公式化的封裝歸納問題。
圖25提供了一個(gè)“execHLRT”的偽碼。
圖26是一個(gè)以偽碼編碼的簡單方法的模塊,用以獲取頭尾分隔符。
圖27A和圖27B為該learnHLRT程序提供了一個(gè)詳細(xì)表和子例程。
圖28解釋了按照本發(fā)明的一個(gè)實(shí)施例,買家或者用戶如何與服務(wù)器進(jìn)行交流,以便在該服務(wù)器機(jī)器上通過一個(gè)ASP(活動(dòng)服務(wù)器頁面)文件(NextGen.asp)運(yùn)行該內(nèi)處理DLL文件(NextGen.dll)。
圖29說明了一種方式,通過該方式語意識(shí)別買家代理器使該用戶和該數(shù)據(jù)庫服務(wù)器之間的通訊更加便利。
圖30提供了一個(gè)詳細(xì)的流程圖,按照本發(fā)明的一個(gè)實(shí)施例,該圖闡明了如何建立該SQL Sever數(shù)據(jù)庫。
圖31說明了該語意識(shí)別買家代理器是如何將檢索表虛擬地傳遞給一個(gè)在線賣家網(wǎng)站的。
圖32是主菜單屏幕的一個(gè)簡化示意圖,表示一個(gè)用于本發(fā)明的GUI或者交互式代理器角色購買者/買家界面(IACS/BI)。應(yīng)注意,在該主菜單屏幕的右上角為該用戶提供了產(chǎn)品的“信道”(即種類)選擇。屏幕的左邊還提供了的是快速檢索功能。在它下面的右邊,設(shè)計(jì)了一個(gè)框,其中有一個(gè)自鍵入的活動(dòng)部分指示在線用戶如何使用快速搜索選項(xiàng)。左邊的屏幕面板也提供了一套對(duì)話框,以便臨時(shí)成員試用和永久會(huì)員登錄。(請(qǐng)注意本發(fā)明的多數(shù)入口功能都被停用,直到用戶身份被鑒別為有效)在左下角,提供了一套連接到本發(fā)明入口已注冊在線賣家的方法,在右側(cè),可以觀察到一個(gè)標(biāo)注著“反饋”的大信息框,這用于在線用戶通過電子郵件向郵件服務(wù)器輸入注釋信息,最好是使用微軟公司的Outlook Express品牌的EMAIL服務(wù)器。
圖33簡單說明了一個(gè)用于本發(fā)明的GUI或者購買者/買家界面屏幕,其中,公司被顯示出以回應(yīng)政府對(duì)商家的文本圖標(biāo),此文本圖標(biāo)已經(jīng)被在線買家/用戶在先前的屏幕(未標(biāo)明)中所點(diǎn)擊。盡管如此,應(yīng)該注意到,恰恰是這個(gè)屏幕窗口不能發(fā)揮作用,理由是當(dāng)前這些公司或者所謂的政府對(duì)商家的電子商務(wù)服務(wù)或者平臺(tái)賣家為成員特許權(quán)嚴(yán)格限制了這些通往他們的網(wǎng)站數(shù)據(jù)庫的通路,方法是在整個(gè)閉路計(jì)算機(jī)網(wǎng)絡(luò)化的環(huán)境中插入一個(gè)驗(yàn)證安全接口。
圖34簡要說明了一個(gè)用于本發(fā)明的GUI或者購買者/買家界面的屏幕顯示,其中該用戶于圖33屏幕視窗里已點(diǎn)擊“高級(jí)搜索”選項(xiàng)之后,在所提供的若干選擇中也提供了關(guān)于用戶所選擇公司的細(xì)節(jié)。請(qǐng)注意到,在這個(gè)屏幕視窗中,框架中的橫標(biāo)位于五種類型的域的正下方,可以看見以大寫字母標(biāo)注的一條信息“高級(jí)代理運(yùn)行中”。除此之外,該屏幕視窗的底部,提供了一個(gè)用戶對(duì)話框,此框可填寫,以便利用語意識(shí)別買家代理器的功能性執(zhí)行搜索,這種功能性由本發(fā)明提供。此外,盡管如此,應(yīng)該注意到,這個(gè)屏幕窗口不能發(fā)揮作用,理由是當(dāng)前這個(gè)公司或者所謂的政府對(duì)商家的電子商務(wù)服務(wù)或者平臺(tái)賣家為成員特許權(quán)嚴(yán)格限制了這些通往其網(wǎng)站數(shù)據(jù)庫的通路,方法是在整個(gè)閉路計(jì)算機(jī)網(wǎng)絡(luò)化的環(huán)境中插入一個(gè)驗(yàn)證安全界面。
圖35簡單說明了一個(gè)用于本發(fā)明的GUI或者購買者/買家界面的屏幕,其中,公司被顯示出以回應(yīng)商家對(duì)商家的文本圖標(biāo),此文本圖標(biāo)已經(jīng)被在線買家或者用戶在先前的屏幕(未標(biāo)明)中所點(diǎn)擊。盡管如此,應(yīng)該注意到,這個(gè)屏幕窗口不能發(fā)揮作用,理由是當(dāng)前這些公司或者所謂的商家對(duì)商家的電子商務(wù)服務(wù)或者平臺(tái)賣家為成員特許權(quán)嚴(yán)格限制了這些通往他們的網(wǎng)站數(shù)據(jù)庫的通路,方法是在整個(gè)閉路計(jì)算機(jī)網(wǎng)絡(luò)化的環(huán)境中插入一個(gè)驗(yàn)證安全界面。
圖36簡單說明了一個(gè)用于本發(fā)明的GUI或者購買者/買家界面的屏幕,其中,提供了在該用戶于圖35的屏幕視窗點(diǎn)擊“高級(jí)搜索”選項(xiàng)之后,關(guān)于用戶從提供的選擇中所選定公司的細(xì)節(jié)。
圖37簡單說明了一個(gè)用于本發(fā)明的GUI或者購買者/買家界面的屏幕,其中,在該屏幕上顯示了所選項(xiàng)目及其說明,以便回應(yīng)選擇域A標(biāo)簽的用戶。
圖38簡單說明了一個(gè)用于本發(fā)明的GUI或者購買者/買家界面的屏幕顯示,其中,所列出的賣家在A域中出售各項(xiàng)商品,回應(yīng)在圖37屏幕視窗中點(diǎn)擊“高級(jí)搜索”選項(xiàng)的用戶。
圖39簡單說明了一個(gè)用于本發(fā)明的GUI或者購買者/買家界面的屏幕顯示,其中,提供了利用本發(fā)明語意識(shí)別買家代理器的特點(diǎn)進(jìn)行搜索的結(jié)果的細(xì)節(jié)。購物者/買家界面對(duì)用戶進(jìn)行回應(yīng),該用戶通過搜索參數(shù)界面提供一個(gè)搜索請(qǐng)求,該界面顯示于圖38的屏幕視窗底部。
最佳實(shí)施例的詳細(xì)說明參見圖2,提供了一個(gè)概括性的圖表,用以解釋通過萬維網(wǎng)/互聯(lián)網(wǎng)16,在本發(fā)明在優(yōu)選實(shí)施例10,用戶/買家12,和在線賣家14之間的交互作用。
在本發(fā)明的優(yōu)選實(shí)施例10中,提供了一個(gè)獲知者代理器18(也可以稱作語意識(shí)別獲知者代理器SRLA)和一個(gè)購物者代理器20(也可以稱之為語意識(shí)別買家代理器SRBA)。用一個(gè)服務(wù)器22向離線數(shù)據(jù)庫24提供通路,此數(shù)據(jù)庫中存儲(chǔ)著全球多語種賣家信息。系統(tǒng)管理員26為所選擇的賣家網(wǎng)站準(zhǔn)備/編輯培訓(xùn)數(shù)據(jù),并且通過服務(wù)器22將它們存儲(chǔ)在離線數(shù)據(jù)庫24的“賣家列表”27中。接著,該系統(tǒng)管理員26使用該培訓(xùn)數(shù)據(jù),利用語意識(shí)別獲知者代理器18從培訓(xùn)頁面來進(jìn)行“歸納獲知”,此培訓(xùn)頁面是通過萬維網(wǎng)16從賣家站點(diǎn)重獲而來的?!皻w納獲知”生成賣家說明,表現(xiàn)形式為賣家說明(列表)28,該列表儲(chǔ)存在離線數(shù)據(jù)庫24中。
一個(gè)用戶/買家12可以利用本發(fā)明的優(yōu)選實(shí)施例來重獲關(guān)于指定主題的指定信息,方法是利用語意識(shí)別買家代理器20(SRBA)。SRBA 20通過利用包含在先前被獲知的賣家說明28中的信息,來處理一個(gè)自用戶/買家12的請(qǐng)求。賣家說明中的信息24則允許語意識(shí)別買家代理器20立即在很多賣家站點(diǎn)充分地同時(shí)地通過萬維網(wǎng)16準(zhǔn)備并發(fā)送搜索命令。賣家說明也允許語意識(shí)別買家代理器20立即處理收到的搜索結(jié)果,并且將從全部賣家站點(diǎn)搜索到的結(jié)果送到買家/用戶12處,這些搜索結(jié)果已經(jīng)被過濾掉外部的和不相關(guān)的信息。
現(xiàn)在參考圖3,流程圖100說明了本發(fā)明的一個(gè)實(shí)施例的語意識(shí)別獲知者代理器(SRLA)18的操作。在本發(fā)明的優(yōu)選實(shí)施例中,語意識(shí)別獲知者代理器18以運(yùn)行在個(gè)人電腦或者服務(wù)器上的計(jì)算機(jī)程序的方式實(shí)施。在步驟110中,語意識(shí)別獲知者代理器18從“賣家列表”27重獲先前定義的或者及早準(zhǔn)備的培訓(xùn)數(shù)據(jù),而此列表存儲(chǔ)的地方是培訓(xùn)數(shù)據(jù)庫24。培訓(xùn)數(shù)據(jù)庫24優(yōu)選處于離線狀態(tài)。
該培訓(xùn)數(shù)據(jù)包括屬于在線賣家的一組數(shù)據(jù),從這組數(shù)據(jù)中,信息將被獲悉。這些數(shù)據(jù)可能包含URL、域說明、產(chǎn)品樣品、屬性和其他域具體的信息,如下面右列所示
根據(jù)本發(fā)明,圖4提供了本發(fā)明的培訓(xùn)和“獲知”數(shù)據(jù)的名稱標(biāo)簽的類型和說明的一個(gè)范例。圖5是所獲知的實(shí)際“數(shù)據(jù)元素”的表格的說明性范例,此數(shù)據(jù)元素產(chǎn)生于該賣方說明獲知的過程中,如圖4所示,并存儲(chǔ)于離線數(shù)據(jù)庫中的賣家說明中,由系統(tǒng)管理員26維護(hù)。
該“培訓(xùn)”數(shù)據(jù)優(yōu)選存儲(chǔ)在一個(gè)SQL-compliant或者M(jìn)icrosoftAccess數(shù)據(jù)庫中。于是,這就增加了不同的賣家對(duì)數(shù)據(jù)容器選擇的余地。通常,該培訓(xùn)數(shù)據(jù)獨(dú)立于該產(chǎn)品域名、所寫入的字符和在線賣家的呈現(xiàn)風(fēng)格。培訓(xùn)數(shù)據(jù)中的該URL路徑是一個(gè)例外,它被要求唯一地確定不同的賣家。
回到圖3,在步驟120,強(qiáng)制性地規(guī)定了一個(gè)檢查,了解語意識(shí)別獲知者代理器18是否需要認(rèn)識(shí)更多的賣家。如果有未決的賣家被認(rèn)識(shí),語意識(shí)別獲知者代理器18將進(jìn)行步驟130;否則,獲知對(duì)話將終止。在步驟130中,通過使用預(yù)先定義的培訓(xùn)數(shù)據(jù),語意識(shí)別獲知者代理器18智能地訪問指定的在線賣家,該預(yù)先定義的培訓(xùn)數(shù)據(jù)與之符合。對(duì)于每一個(gè)在該培訓(xùn)數(shù)據(jù)中指定的具體產(chǎn)品,語意識(shí)別獲知者代理器18通過搜尋該賣家站點(diǎn)的特征搜尋該具體產(chǎn)品。通常,語意識(shí)別獲知者代理器18重獲培訓(xùn)數(shù)據(jù)的若干頁面,該培訓(xùn)數(shù)據(jù)將要從本發(fā)明系統(tǒng)獲悉的、或者將要從系統(tǒng)管理員手工輸入中獲悉,這樣的頁面被稱作“培訓(xùn)頁面”,它們稍后將用于執(zhí)行歸納法獲知的過程。在該優(yōu)選實(shí)施例中,這個(gè)階段中也包含控制數(shù)據(jù)(亦即在該賣家站點(diǎn)導(dǎo)致錯(cuò)誤頁面的培訓(xùn)數(shù)據(jù))。
接著,在步驟140中,計(jì)算機(jī)程序在由語意識(shí)別獲知者代理器18獲得的培訓(xùn)頁面上執(zhí)行一個(gè)歸納獲知過程。歸納獲知的目的是得到一個(gè)該站點(diǎn)的普通說明,并弄清它是如何組織該產(chǎn)品數(shù)據(jù)并按照一定的邏輯向潛在的在線客戶呈遞該產(chǎn)品的數(shù)據(jù)。此獲知的產(chǎn)品被叫做“賣家說明”28—這一階段將按照?qǐng)D6被進(jìn)一步說明和解釋。
然后,在步驟150中,語意識(shí)別獲知者代理器18儲(chǔ)存該被獲知的結(jié)果,優(yōu)選儲(chǔ)存在SQL-compliant或者M(jìn)icrosoft Access數(shù)據(jù)庫24中。(儲(chǔ)存在離線數(shù)據(jù)庫24的賣家信息或者“賣家說明”稍后將為在線語意識(shí)別買家代理器20所使用)。在儲(chǔ)存步驟150完成后,語意識(shí)別獲知者代理器18回到步驟120以判斷是否有更多的賣家要獲知,如果有,130到150的步驟被重復(fù)。否則,獲知過程終結(jié)。
賣家說明獲知過程現(xiàn)在參考圖7,賣家說明獲知過程將被進(jìn)一步詳細(xì)地說明,采用一種信息提取的簡單模式和一個(gè)簡化的培訓(xùn)頁面實(shí)施例。圖7的左側(cè)顯示該型號(hào)和價(jià)格信息的排列,正如其向一個(gè)瀏覽賣家站點(diǎn)的潛在客戶所示的。圖7的右側(cè)指示了產(chǎn)生該數(shù)據(jù)排列的超文本鏈接標(biāo)示語言(HTML)編碼。例如,位于的右側(cè)前三行(3)確認(rèn)該碼為超文本鏈接標(biāo)示語言,并提供了該列的名稱—“簡單產(chǎn)品目錄”,指示出這個(gè)要被顯示的信息的開頭。第四行(4)提供了表格-“MD價(jià)格”的標(biāo)題的文本內(nèi)容。第六行(6)和第七行(7)則分別按照“型號(hào)”和“價(jià)格(美元)”的列名提供文本內(nèi)容。第8行到第11行(8-11)則提供型號(hào)和價(jià)格信息。其余行確定下列信息表格末尾、表格的列,和該產(chǎn)品目錄整體的末尾。
首先,封裝功能為所給予的培訓(xùn)頁面產(chǎn)生一套標(biāo)簽。一個(gè)標(biāo)簽用于確認(rèn)在培訓(xùn)頁面的培訓(xùn)產(chǎn)品信息的位置。為了說明圖7所示的簡單產(chǎn)品培訓(xùn)頁面,圖8描述了由語意識(shí)別獲知者代理器18所產(chǎn)生的一套標(biāo)簽。圖8中的標(biāo)簽的指示出,圖7的簡單產(chǎn)品目錄頁面包含四個(gè)(4)“元組”,每一個(gè)元組又包括一個(gè)“項(xiàng)目”值和一個(gè)“價(jià)格”值。每一個(gè)值由一對(duì)整數(shù)來代表。
考慮第一對(duì)數(shù)值,<174,180>,這些整數(shù)指明第一元組的屬性就是位于174和180之間的所述子字符串,即字符串‘HM381MD’位于位置174和位置180之間。正如這個(gè)范例中所應(yīng)用的那樣,位置的意思即從指定的起始點(diǎn)算起的字符的數(shù)量,比如從一個(gè)頁面的開頭,或者是一個(gè)頁面“頭”的末尾。文本字符之間的空間按照一個(gè)字符的位置來記數(shù)。檢查圖7,可以看見,字串“HM381MD”中的字母“H”從首行中符號(hào)“<”起出現(xiàn)于174字符位置,該字串中的“D”出現(xiàn)于字符位置180。同樣地,最后一個(gè)“元組”或者整數(shù)對(duì)<356,361>表明,最后一個(gè)價(jià)格屬性出現(xiàn)于字符位置356和361之間,并且確認(rèn)字串“399.95.”??梢岳斫?。在這個(gè)范例中,雖然字符位置用于確認(rèn)“標(biāo)簽”,但是其他標(biāo)準(zhǔn)也可以用于根據(jù)本發(fā)明的構(gòu)思進(jìn)行使用。其他標(biāo)準(zhǔn)可以以本發(fā)明方法應(yīng)用的方式來使用。例如,再次檢查圖7,應(yīng)當(dāng)考慮到,圖2的語意識(shí)別獲知者代理器18向型號(hào)和“你的價(jià)格”為四個(gè)電子產(chǎn)品自動(dòng)地分派數(shù)值—盡管它把它們表現(xiàn)為如下公式中所呈現(xiàn)的樣子型號(hào) 價(jià)格($US)
于是,如果“b”代表開始,“e”代表結(jié)束,那么確認(rèn)第二元組位置的數(shù)組就包含了字串b_,i,亦即型號(hào)“M,”開頭的數(shù)值,反之,字串e_,i就是型號(hào)“0.”結(jié)尾的數(shù)值。類似地,就可以理解本發(fā)明使標(biāo)注自動(dòng)化得以實(shí)施,方法是啟用一個(gè)模塊化試探性的搜索,而這種搜索是基于標(biāo)準(zhǔn)相關(guān)數(shù)據(jù)模型的。本發(fā)明包括一個(gè)項(xiàng)目識(shí)別器和一個(gè)智能價(jià)格識(shí)別器,其中,一個(gè)元組反復(fù)地作為兩個(gè)字串中的一個(gè)向量<b2,i,b2,p>。字串b_,i是項(xiàng)目屬性中的值,字串b_,p是價(jià)格屬性中的值。因此,屬性代表列,而元組代表行。在“b”和,””之間的該數(shù)字的值“b2,i″意味著第二行的一個(gè)位置—位置數(shù)值的計(jì)算(即標(biāo)注),由此而在賣家說明生效的可獲知的封裝歸納的調(diào)用期間,得以實(shí)時(shí)、自動(dòng)、同步運(yùn)行地執(zhí)行,同時(shí)也確認(rèn)給整個(gè)Ppc(產(chǎn)品目錄頁面—一個(gè)叫“P”的頁面是包含所要求信息的網(wǎng)頁)貼上標(biāo)簽而無論依該賣家站點(diǎn)格式的網(wǎng)頁(在此范例中,即www.800.com)是以何種語言的本機(jī)(native)字符串,或者以自然語言、或者以HTML,XML,cXML,Java等等編碼的。
培訓(xùn)頁面的內(nèi)容標(biāo)簽的更通常地如圖9所示。在首列中,被貼以標(biāo)簽的信息得以確認(rèn),在此實(shí)施例中,產(chǎn)品和價(jià)格為待搜索的目標(biāo)信息。在第二列中,該“元組”的若干入口對(duì)應(yīng)該“標(biāo)簽”—有如<PRODUCT LEFT DELIMITER(產(chǎn)品左分隔符),PRODUCTRIGHT DELIMITER(產(chǎn)品右分隔符)>和<PRICE LEFTDELIMITER(價(jià)格左分隔符),PRICE RIGHT DELIMITER(價(jià)格右分隔符)>。
系統(tǒng)管理器執(zhí)行獲知系統(tǒng)一次后,在編輯一組可能的備用分隔符以便與圖10A和圖10B中可能的這組備用分隔符的編輯同步的過程中,它就從離線數(shù)據(jù)庫中的賣家列表中重獲培訓(xùn)頁面。接著,它利用另外一組培訓(xùn)頁面同步地自動(dòng)地(標(biāo)注)執(zhí)行實(shí)時(shí)、同步的計(jì)算,且包括位置值,如同上面所述的實(shí)施例一樣。兩個(gè)備用組的交集產(chǎn)生一個(gè)有效的備用集合,然后語意識(shí)別獲知者代理器18就從該有效備用集合中選擇一個(gè)作為賣家說明。
現(xiàn)在參考圖2,流程圖200說明了本發(fā)明語意識(shí)別獲知者代理器18的一個(gè)實(shí)施例。此方法使用了3個(gè)環(huán)境性規(guī)則,以此規(guī)則來支配購物網(wǎng)站提供的產(chǎn)品詳情(說明)的編排,而該網(wǎng)站允許信息提取獨(dú)立于該域地進(jìn)行下去。該規(guī)則性包括帶有可搜索索引的導(dǎo)航規(guī)則、統(tǒng)一規(guī)則和垂直分離規(guī)則。
對(duì)于導(dǎo)航規(guī)則,在線商店或者賣家站點(diǎn)被指派向消費(fèi)者和商業(yè)買家詢問提供服務(wù)。于是,幾乎所有在線賣家提供了一個(gè)可搜索的索引以利于訪問具體的所指定的數(shù)據(jù)庫。使用賣家站點(diǎn)的可搜索格式使語意識(shí)別獲知者代理器18得以歸納出多語種主頁及網(wǎng)頁的格式性的形式。圖11是一個(gè)簡化圖,說明一個(gè)帶有可搜索索引和產(chǎn)品域字段的主頁。
對(duì)于統(tǒng)一規(guī)則,雖然就在線賣家或者商店的產(chǎn)品詳情編目格式來說,相差很大,但是任何給定的在線賣家都會(huì)按照簡單而一致的格式來排布所有項(xiàng)目說明。圖12是一個(gè)網(wǎng)頁屏幕圖像簡化圖,它說明了統(tǒng)一格式化搜索結(jié)果的設(shè)計(jì)形式。于是,可以清楚的看出,每一個(gè)被列出的搜索結(jié)果都以“型號(hào)(MODEL NUMBER)”字串為開頭,其下則提供“產(chǎn)品說明(PRODUCT DESCRIPTION)”。除此之外,“價(jià)格1”和“價(jià)格2”位于“產(chǎn)品說明”的右側(cè)。
圖13提供了一個(gè)同樣的搜索結(jié)果屏幕圖像的簡化圖,其中說明了采用垂直分隔規(guī)則以顯示產(chǎn)品目錄。這個(gè)垂直格式可分為文檔的開頭、內(nèi)容和末尾幾種。
作為互聯(lián)網(wǎng)最初設(shè)計(jì)思想的信息基礎(chǔ)機(jī)構(gòu)—網(wǎng)站建筑學(xué)、在線賣家產(chǎn)品說明以及技術(shù)手法的表現(xiàn)都是以人類的使用為目的而構(gòu)建的。這在詢問機(jī)制和具體適用于人類直接操作的輸出標(biāo)準(zhǔn)的應(yīng)用中是顯而易見的。在線賣家遵守這些規(guī)則,原因在于這些規(guī)則使針對(duì)買家和購物人的在線銷售得以實(shí)現(xiàn)。雖然不敢說保證使在線商店讓人們得以便利地進(jìn)行網(wǎng)絡(luò)航行的這么一種工具將使人們感到親切適用、以便讓一種智能軟件代理器來掌握,但是多語種電子數(shù)據(jù)源的在線智能信息比較—亦即本發(fā)明的該系統(tǒng),就是本著充分利用這些規(guī)則而設(shè)計(jì)的。
依照本發(fā)明,封裝的構(gòu)建是通過一個(gè)歸納獲知過程來完成的。該方法是通過對(duì)賣家網(wǎng)頁的樣頁進(jìn)行推理來獲知一個(gè)賣家封裝的。在本發(fā)明的方法基理中,“實(shí)例”(instance)對(duì)應(yīng)賣家頁面,一個(gè)頁面的標(biāo)簽對(duì)應(yīng)其相關(guān)的內(nèi)容,那么假定則對(duì)應(yīng)該構(gòu)建的封裝。
除此之外,按照本發(fā)明,結(jié)合了可有效獲知的封裝類,比如HLRT封裝類。
而且,為了確保本方法得以很好地運(yùn)用,當(dāng)培訓(xùn)數(shù)據(jù)顯示出很高的干擾時(shí),采用了耐干擾技術(shù)。比如,在圖15A中,針對(duì)www.800.com的屏幕抓圖范例,一個(gè)智能價(jià)格識(shí)別器就可以區(qū)分“列表價(jià)格”和“你的出價(jià)”。該被識(shí)別的對(duì)象接著就被確認(rèn)來標(biāo)注整個(gè)頁面。考慮到一個(gè)識(shí)別器用于產(chǎn)品項(xiàng)目,另一個(gè)用于價(jià)格,確認(rèn)的結(jié)果便產(chǎn)生了一個(gè)標(biāo)注方式,以此方式標(biāo)注包括這類屬性對(duì)的頁面。
事實(shí)上,賣家總是想通過使用統(tǒng)一的外觀來為所有類型的產(chǎn)品創(chuàng)造一種一致的感覺。舉個(gè)例子說,一個(gè)賣家以同DVD產(chǎn)品一樣的格式提供了一種MD產(chǎn)品信息。通過利用該規(guī)則,每一種產(chǎn)品都以同樣的格式得以大致的說明。
圖2中的語意識(shí)別獲知者代理器18僅僅從一個(gè)樣本的具體的域獲知了一個(gè)封裝,并且試圖將此域來適用于所有其他域(所有其他產(chǎn)品目錄都有完全不同的存在項(xiàng)目),這些域是在萬維網(wǎng)上245個(gè)聯(lián)網(wǎng)國家的所有其余網(wǎng)站上,以一致的格式進(jìn)行組織和在線分類的。所以,本發(fā)明圖2中該語意識(shí)別獲知者代理器18要維護(hù)一個(gè)完全的更新全球產(chǎn)品數(shù)據(jù)庫的命名法,同時(shí)既不在一個(gè)適應(yīng)結(jié)構(gòu)化查詢語言的數(shù)據(jù)庫模塊上進(jìn)行編碼,又不用向微軟Access數(shù)據(jù)庫在每一個(gè)域名中人工輸入每一種產(chǎn)品,這樣做是可行的。
繼續(xù)討論圖6,在步驟210中,語意識(shí)別獲知者代理器18產(chǎn)生了一整套標(biāo)簽來表現(xiàn)培訓(xùn)頁面的內(nèi)容。換句話說,標(biāo)注位置值的方法基理是要為該培訓(xùn)頁面的培訓(xùn)產(chǎn)品確認(rèn)信息的位置。而且,圖2中的語意識(shí)別獲知者代理器18自動(dòng)地實(shí)時(shí)地在運(yùn)行中產(chǎn)生標(biāo)簽,此標(biāo)簽包含了位置值,如下 為了進(jìn)一步說明,請(qǐng)看圖8右列。
步驟220中,語意識(shí)別獲知者代理器18在重獲的頁面上利用相關(guān)的標(biāo)簽輸出一整套可能的備用“賣家說明”來執(zhí)行歸納獲知。由于這些備用內(nèi)容是通過具體的培訓(xùn)數(shù)據(jù)從具體的培訓(xùn)頁面產(chǎn)生的,所以這些備用內(nèi)容對(duì)這些頁面不可能無效。盡管如此,如果這些備用內(nèi)容在賣家整個(gè)網(wǎng)站是有效的,那么一個(gè)跨頁面確認(rèn)(有效化)將被執(zhí)行以導(dǎo)出通用性的賣家說明,而此說明在整個(gè)網(wǎng)站都將是有效的。
在步驟240中,一個(gè)賣家說明確認(rèn)器(VDV)針對(duì)另外一組培訓(xùn)頁面,驗(yàn)證確認(rèn)一個(gè)可能的備用賣家說明(在圖3步驟130中重獲的)。如果一個(gè)賣家說明令人滿意,該獲知過程將會(huì)停止,如步驟250,否則驗(yàn)證過程將利用其余的備用內(nèi)容和通過步驟230、240和250進(jìn)行循環(huán),繼續(xù)從若干賣家說明中進(jìn)行選擇。賣家說明“滿意”的一個(gè)標(biāo)準(zhǔn)是,每一個(gè)得以連續(xù)分析的培訓(xùn)頁面的備用內(nèi)容數(shù)量和字符和前一個(gè)的培訓(xùn)頁面相同。如果一個(gè)連續(xù)分析培訓(xùn)頁面有不同數(shù)量的備用內(nèi)容,那么將分析另一個(gè)培訓(xùn)頁面。
圖10A和圖10B是賣家說明備用內(nèi)容的范例,提供了商品項(xiàng)目說明的左右分隔符、價(jià)格信息以及一個(gè)培訓(xùn)頁面的開頭(頭部)和結(jié)尾(尾部)。圖5提供了一個(gè)“賣家說明”的范例,它包括了為一個(gè)范例頁面開頭、結(jié)尾、項(xiàng)目和價(jià)格信息所確認(rèn)的分隔符。
用于一個(gè)具體賣家的培訓(xùn)數(shù)據(jù)優(yōu)選由該系統(tǒng)管理員26匯編。正如將進(jìn)一步詳細(xì)說明的,為了向本發(fā)明之系統(tǒng)添加一個(gè)具體的賣家,相應(yīng)培訓(xùn)范例的賣家名稱、賣家URL、所呈遞表格的URL、域數(shù)據(jù)都被提供和存儲(chǔ)在離線數(shù)據(jù)庫24中,該數(shù)據(jù)庫可以是Microsoft Access數(shù)據(jù)庫。該賣家的名稱將是記錄的首要的關(guān)鍵內(nèi)容。人工封裝輸入作為一個(gè)選擇也可以被提供。為了向培訓(xùn)范例提供一個(gè)精確的數(shù)據(jù)組,準(zhǔn)備培訓(xùn)范例數(shù)據(jù)的系統(tǒng)管理員或者其他個(gè)人在網(wǎng)頁URL地址、域名設(shè)置方面要知識(shí)淵博、對(duì)用于任何正在處理的多語種賣家網(wǎng)站的本機(jī)語言要知識(shí)淵博、并且能以獲知作為目的而確定信息類型就顯得很重要,而這些數(shù)據(jù)組將反過來極大地提高由語意識(shí)別獲知者代理器18在準(zhǔn)備實(shí)時(shí)、自動(dòng)地和在運(yùn)行中產(chǎn)生賣家說明時(shí)獲知的賣家信息的精度和效率。這種人無須懂得太多編碼。
一旦一個(gè)賣家信息被提供,管理員26就可以對(duì)每一個(gè)賣家運(yùn)行語意識(shí)別獲知者代理器程序。管理員對(duì)一個(gè)賣家運(yùn)行語意識(shí)別獲知者代理器18一次之后,那么在運(yùn)行任何要求的選項(xiàng)中,如圖16到23,他或者她就通過獲知程序隨著交互式代理角色獲知者界面(IACLIs)屏幕圖像一步一步地進(jìn)行網(wǎng)絡(luò)導(dǎo)航。最后,作為結(jié)果的自經(jīng)培訓(xùn)的返還頁面重獲的“賣家說明”結(jié)果將被存儲(chǔ)于離線數(shù)據(jù)庫24中,該數(shù)據(jù)庫可以是例如Microsoft Access數(shù)據(jù)庫。要?jiǎng)h除/消除一個(gè)具體的賣家的話,管理員可以直接地從“賣家列表”或者“賣家說明列表”中刪除記錄。要修改/編輯一個(gè)具體的賣家,系統(tǒng)管理員可以從數(shù)據(jù)庫中的“賣家列表”或者“賣家說明列表”中修改記錄。
簡言之,本發(fā)明的語意識(shí)別獲知者代理器18生成了一個(gè)賣家說明,對(duì)一個(gè)具體賣家來說是唯一的。賣家說明就是該套概括性規(guī)則,這套規(guī)則指導(dǎo)一個(gè)賣家如何以一個(gè)具體的格式組織它的產(chǎn)品信息。所以,對(duì)本發(fā)明封裝構(gòu)架系統(tǒng)輸入的數(shù)據(jù),本質(zhì)上是對(duì)封裝進(jìn)行獲知的一個(gè)行為樣本。在這個(gè)模式下,封裝構(gòu)架變成了重建一個(gè)基于它的行為樣本的建立封裝的過程。
語意識(shí)別獲知者代理器(SRLA)18的方法論在圖14中通過一個(gè)簡化的范例被總結(jié)。步驟1中,兩條信息被饋送到該系統(tǒng)以便進(jìn)行該封裝歸納(1)該賣家網(wǎng)站的URL(如http//www.800.com),和(2)域說明,它包含了一些具體域的培訓(xùn)范例,例如,一個(gè)域名描述可能是“電子產(chǎn)品”,和一個(gè)叫做“Sony HM381MD”的域名記錄,此即用于填報(bào)賣家搜索表格的型號(hào)。在步驟2和3中,語意識(shí)別獲知者代理器18利用該培訓(xùn)范例的URL地址和域名/型號(hào)自動(dòng)從互聯(lián)網(wǎng)到該賣家網(wǎng)站。對(duì)具體的范例,該獲知者代理器按照步驟1中提供的URL地址去到www.800.com網(wǎng)頁。然后它將在相關(guān)的搜索表格中填報(bào)必要的產(chǎn)品信息(例如域說明—“電子產(chǎn)品”和“HM381MD”)。最后,它將“呈遞”搜索表格以請(qǐng)求一次搜索并等待回應(yīng)。
關(guān)于步驟4,一個(gè)結(jié)果頁面按照該搜索標(biāo)準(zhǔn)被發(fā)還。該結(jié)果可能是一個(gè)成功地帶著相關(guān)產(chǎn)品說明的結(jié)果頁面,也可能是一個(gè)失敗頁面??梢宰⒁獾?,被發(fā)還頁面中重要的內(nèi)容是超文本鏈接標(biāo)示語言編碼、項(xiàng)目說明、項(xiàng)目價(jià)格以及關(guān)于超文本鏈接標(biāo)示語言代碼的信息位置。
在步驟5和6中,搜索結(jié)果頁面通過互聯(lián)網(wǎng)被發(fā)還到獲知者代理器18以便進(jìn)行分析。在步驟7中,該被執(zhí)行的分析被叫做“封裝歸納”,其中該頁面被概括為一整套編排和格式的規(guī)則,該規(guī)則為賣家所遵循并依此以一個(gè)合理的方式呈遞它的產(chǎn)品說明。以這些規(guī)則,在本發(fā)明語意識(shí)別買家代理器運(yùn)作過程中,當(dāng)一個(gè)用戶/購買者正在從該賣家站點(diǎn)上同一域中搜索一些產(chǎn)品信息時(shí),買家代理器20可以從同一的賣家提取產(chǎn)品信息。
可以理解的是,按照本發(fā)明,語意識(shí)別獲知者代理器的程序?qū)⒈粏?dòng)以回應(yīng)每一個(gè)賣家,賣家說明正是從它被要求的。由于本發(fā)明使用的信息分隔符方法,賣家說明可以從以任何語言的任何賣家站點(diǎn)得到—簡單地說,雖然呈交給用戶的語言可以是具體本機(jī)字符串的形式,針對(duì)被要求的信息,能被確認(rèn)為分隔符的基礎(chǔ)性編碼保持不變,而不管該語言的本機(jī)字符串是什么形式。換句話說,賣家說明的信息將從一個(gè)使用的本機(jī)語言的賣家站點(diǎn)處得到。沒有必要將本機(jī)語言翻譯為一種標(biāo)準(zhǔn)語言。而且,因?yàn)橛糜诿恳粋€(gè)賣家站點(diǎn)的經(jīng)確認(rèn)的備用分隔符不是以用于該站點(diǎn)的編程語言的基礎(chǔ)編碼所編,所以依次搜尋不需要待搜索站點(diǎn)所使用的各種不同的編程語言就能完成。這就允許語意識(shí)別買家代理器20在多語種和多重域(產(chǎn)品目錄)基礎(chǔ)上進(jìn)行搜索,并且與任何編程語言無關(guān)。
參見圖15C,流程圖300說明了本發(fā)明語意識(shí)別買家代理器20的一個(gè)實(shí)施例。在步驟310中,買家代理器20從圖2中的一個(gè)用戶/買家12接受一個(gè)請(qǐng)求,該用戶/買家希望對(duì)一個(gè)產(chǎn)品的價(jià)格進(jìn)行比較。在步驟310中,買家代理器20也最好以一個(gè)ActiveX組件建立與買家/用戶12連接以便通訊。用戶12必須提供至少一個(gè)參數(shù),此參數(shù)可以包含,例如,目標(biāo)產(chǎn)品的名稱、所要求價(jià)格的范圍、目標(biāo)在線賣家或者分類標(biāo)準(zhǔn)。在步驟312進(jìn)行檢查,查看在內(nèi)存中或者高速緩沖存儲(chǔ)器中是否有任何“采樣數(shù)(hits)”,該內(nèi)存或緩存包含經(jīng)確認(rèn)的賣家站點(diǎn)中所要求的信息;如果是,買家代理器將到步驟370以便將所提取的目標(biāo)信息進(jìn)行分類。買家代理器接著進(jìn)行到步驟380,以從超文本鏈接標(biāo)示語言格式的目標(biāo)信息中產(chǎn)生結(jié)果頁面,接著在步驟390中,買家代理器將把結(jié)果頁面顯示給在線購買人/使用人。
如果在步驟312沒有發(fā)現(xiàn)任何采樣數(shù),步驟320將激活購買方代理器20,使用輸入?yún)?shù)從離線數(shù)據(jù)庫24提取賣家說明。這些“賣家說明”是語意識(shí)別獲知者代理器18在獲知賣家說明信息的過程中確定的。在步驟330,購買者代理20器將編制一個(gè)新的用戶請(qǐng)求來訪問“賣家說明列表”中確認(rèn)的不同的在線賣家。所編制的新的用戶請(qǐng)求將基于用戶給定的參數(shù)和賣家說明中的數(shù)據(jù)。如果向N個(gè)在線賣家發(fā)出請(qǐng)求(比如產(chǎn)品型號(hào)請(qǐng)求),那么語意識(shí)別買家代理器20就編制N個(gè)新請(qǐng)求。
語意識(shí)別買家代理器20使用賣家說明從賣家站點(diǎn)實(shí)時(shí)獲得價(jià)格信息。購買者代理器20使用賣家的URL和賣家的名字訪問賣家站點(diǎn),該賣家的URL和賣家的名字包括在構(gòu)成賣家說明的信息中。在賣家說明中還包括賣家的搜索表格URL。在步驟340,在訪問到賣家站點(diǎn)之后,語意識(shí)別買家代理器20基于用戶的新請(qǐng)求“虛擬”填寫賣家搜索表格,并“虛擬”按下回車鍵來發(fā)送它。對(duì)每個(gè)確認(rèn)的在線賣家都要進(jìn)行這項(xiàng)工作。
如上所述,存放在離線數(shù)據(jù)庫24中的賣家說明包括一個(gè)字段,該字段提供賣家搜索表格URL的信息,比如“http//www.onlineshop.com/search.asp?item=.”。該語意識(shí)別買家代理器20使用用戶輸入?yún)?shù)和搜索表格URL來為每個(gè)識(shí)別的在線賣家生成新HTTP請(qǐng)求。比如,如果用戶需要購買一個(gè)“硬盤”,該語意識(shí)別買家代理器20生成的新請(qǐng)求如下“http//www.onlineshop.com/search.asp?item=harddisk,”語意識(shí)別買家代理器20將把這個(gè)HTTP請(qǐng)求發(fā)送給在線賣家,就好象用戶自己直接發(fā)送請(qǐng)求一樣。如果有N個(gè)識(shí)別的賣家,那么語意識(shí)別買家代理器20將啟動(dòng)N個(gè)線程為每個(gè)識(shí)別的賣家填寫搜索表格。語意識(shí)別買家代理器20優(yōu)選并行地處理每個(gè)在線賣家的搜索表索引,填好后發(fā)送搜索請(qǐng)求。
在步驟350,語意識(shí)別買家代理器20將在特定的時(shí)間或用戶定義的時(shí)間內(nèi)等待來自在線賣家的響應(yīng)。如果超時(shí),語意識(shí)別買家代理器20轉(zhuǎn)到步驟370;否則進(jìn)到步驟358和360進(jìn)一步處理所接收的搜索結(jié)果數(shù)據(jù)。
在等待超時(shí)時(shí)間內(nèi),語意識(shí)別買家代理器20收集搜索來自不同在線賣家的對(duì)請(qǐng)求的響應(yīng)。在步驟358,語意識(shí)別買家代理器20接收來自在線賣家搜索結(jié)果響應(yīng),并將其存放到服務(wù)器22的緩存或內(nèi)存中。在步驟360,感興趣的數(shù)據(jù)被從接收的響應(yīng)中提取。語意識(shí)別買家代理器20提取所需數(shù)據(jù),使用存放在賣家說明28或離線數(shù)據(jù)庫24中的賣家說明信息。例如,該賣家說明包括識(shí)別左邊和右邊封裝器的代碼的字段。首先,語意識(shí)別買家代理器(SRBA)20將使用左邊封裝器信息來定位響應(yīng)頁面有效數(shù)據(jù)的開始位置。然后,在目標(biāo)數(shù)據(jù)的提取位置(由賣家說明列表信息確定)的數(shù)據(jù)的將被提取和存儲(chǔ)到內(nèi)存。(注意,賣家說明中的信息是語意識(shí)別獲知者代理器18在圖3和圖6的獲知期間所獲得的)。重復(fù)提取目標(biāo)信息直到該頁面末尾。
在提取過程中,產(chǎn)品說明和產(chǎn)品價(jià)格將被提取。應(yīng)該理解語意識(shí)別獲知者代理器18定義的賣家說明信息是域獨(dú)立的和多語言相關(guān)的。比如,假設(shè)在線用戶或購買者的平臺(tái)使用Windows98操作系統(tǒng),運(yùn)行語言版本B(或其平臺(tái)優(yōu)選是運(yùn)行Windows2000英文專業(yè)版和/或其平臺(tái)上安裝了個(gè)人WEB服務(wù)器的“B”版本),MicrosoftInternet Explorer將在用戶登錄到本發(fā)明的入口處時(shí)提示用戶下載“B”語言顯示軟件。在線購買者或用戶“A”以“B”語言的本機(jī)字符輸入作為輸入到本發(fā)明入口處提供的文本框中的關(guān)鍵字的產(chǎn)品型號(hào)后,圖2中的語意識(shí)別買家代理器20將使用預(yù)先描述的樣本數(shù)據(jù)(樣本數(shù)據(jù)是在實(shí)時(shí)封裝器誘導(dǎo)獲知之后提取的賣家說明)執(zhí)行數(shù)據(jù)提取,該樣本數(shù)據(jù)包含以語言“B”撰寫的產(chǎn)品型號(hào)字符串。這些賣家說明存放在離線數(shù)據(jù)庫24(最好是Microsoft Access數(shù)據(jù)庫)有關(guān)賣家說明列表的預(yù)先定義的數(shù)據(jù)結(jié)構(gòu)中。數(shù)據(jù)提取包括同時(shí)搜索“采樣數(shù)”---其包含價(jià)格、說明、與前面的搜索結(jié)果相關(guān)產(chǎn)品信息----駐留在服務(wù)器22的內(nèi)存或緩存中,使用產(chǎn)品型號(hào)的“B”語言的本機(jī)字符串,該字符串由用戶輸入,如圖15C,步驟312。因?yàn)椤癇”語言字符串是特定的本機(jī)語言,所以對(duì)找到的任何“采樣數(shù)”都要到確認(rèn)的賣家站點(diǎn),該站點(diǎn)使用本機(jī)語言“B”,并有用“B”語言寫的字符串。
再來看圖14的步驟7,在獲知過程期間,圖2中的語意識(shí)別獲知者代理器18從在線賣家獲知封裝之后,賣家說明存放在數(shù)據(jù)庫24(優(yōu)選是Microsoft Access數(shù)據(jù)庫)或數(shù)據(jù)庫服務(wù)器22(優(yōu)選是Microsoft SQL-complaint數(shù)據(jù)庫服務(wù)器)的賣家說明列表中。因?yàn)閷?duì)語意識(shí)別買家代理器而言,每次根據(jù)在線購買者的請(qǐng)求提取賣家說明數(shù)據(jù)是效率很差的,所以當(dāng)語意識(shí)別買家代理器20第一次請(qǐng)求搜索-匹配-提取期望的集合時(shí),最好從離線數(shù)據(jù)庫24或服務(wù)器22中提取賣家說明。此后,賣家說明將存放在內(nèi)存或緩存中以便在今后的其他請(qǐng)求中即時(shí)提取和使用,其他請(qǐng)求來自該語意識(shí)別買家代理器,用于同一或新的在線用戶。
在內(nèi)存或緩存中的賣家說明優(yōu)選每天自動(dòng)更新一次。
換言之,語意識(shí)別買家代理器20能夠使用在賣家說明中的數(shù)據(jù)根據(jù)不同的域和不同的語言來定位目標(biāo)數(shù)據(jù)。這是因?yàn)?,?duì)某個(gè)特定的賣家而言,盡管語言可能變化,但是對(duì)應(yīng)目標(biāo)信息的底層代碼不會(huì)改變。由于三個(gè)“格式化規(guī)范”主導(dǎo)大部分賣家站點(diǎn),比如B-to-C,C-to-B,C-to-C在線倉庫等,賣家站點(diǎn)的不同域?qū)⒁恢碌氖褂猛瑯拥母袷胶偷讓哟a來提供目標(biāo)信息,比如項(xiàng)目說明和價(jià)格。
因此,對(duì)每個(gè)返回的搜索響應(yīng),語意識(shí)別買家代理器20將利用賣家說明執(zhí)行數(shù)據(jù)提取。如果時(shí)間超出,則語意識(shí)別買家代理器20將跳轉(zhuǎn)到步驟370,圖15C。在步驟370,語意識(shí)別買家代理器20對(duì)從不同在線賣家所提取的數(shù)據(jù)按照用戶定義的分類標(biāo)準(zhǔn)分類。如果用戶沒有定義分類標(biāo)準(zhǔn),缺省的將是產(chǎn)品的價(jià)格。另外,分類標(biāo)準(zhǔn)可以是識(shí)別找到的最好的價(jià)格,并只把有含有最好價(jià)格的賣家信息提供給用戶/購買者(當(dāng)然,也可以使用其它排序規(guī)則)。
排序完成之后,語意識(shí)別買家代理器20將到380。在步驟380,語意識(shí)別買家代理器20基于來自步驟370的經(jīng)過濾和分類的數(shù)據(jù)生成HTML頁面。在步驟390,語意識(shí)別買家代理器20響應(yīng)用戶請(qǐng)求,使用前面建立的ActiveX組件,將所生成的HTML頁面作為“結(jié)果”頁面提供給用戶。
如果在步驟350沒有超時(shí),語意識(shí)別買家代理器20將跳轉(zhuǎn)到步驟358。在步驟358,語意識(shí)別買家代理器20將所查詢的結(jié)果頁面數(shù)據(jù)存儲(chǔ)到內(nèi)存或緩存,便于立即響應(yīng)同一用戶/購買者進(jìn)一步的新請(qǐng)求或新用戶/購買者的請(qǐng)求。在步驟358之后,語意識(shí)別買家代理器20將跳轉(zhuǎn)到步驟360,其中它從所查詢的結(jié)果頁面提取目標(biāo)信息,在步驟370對(duì)結(jié)果分類,并根據(jù)用戶定義的分類標(biāo)對(duì)從不同在線賣家所重獲的提取的數(shù)據(jù)分類,然后在步驟380根據(jù)步驟370所過濾和分類的數(shù)據(jù)生成HTML頁面,并最后在步驟390使用以前建立的ActiveX組件,響應(yīng)用戶/購買者。
語意識(shí)別買家代理器20的默認(rèn)語言是英語。通過默認(rèn),當(dāng)接收到用戶請(qǐng)求時(shí),語意識(shí)別買家代理器20將轉(zhuǎn)到所有的賣家。當(dāng)響應(yīng)返回時(shí),語意識(shí)別買家代理器20使用已被語意識(shí)別獲知者代理器18獲知的賣家說明將無效的結(jié)果過濾掉。
在本發(fā)明的另一個(gè)實(shí)施例中,賣家能夠按照用戶的本地情況分類,以便用戶12能夠選擇“高級(jí)搜索”來查找賣家分類組。
本發(fā)明所采用的方法本質(zhì)上是多語言的。當(dāng)語意識(shí)別獲知者代理器18獲知賣家站點(diǎn)時(shí),這種獲知能夠按照該站點(diǎn)的本機(jī)語言執(zhí)行。所重獲的結(jié)果是該站點(diǎn)的本機(jī)語言,該結(jié)果用于構(gòu)成賣家說明。因此,當(dāng)在線用戶/購買者12以特定的本機(jī)語言在圖15C步驟310發(fā)送請(qǐng)求,語意識(shí)別買家代理器20,在步驟312,將使用用戶輸入的原樣的字符串在內(nèi)存或緩存中查找“采樣數(shù)”。因?yàn)樽址畬⒁蕴囟ǖ谋緳C(jī)語言表示,所以找到的任何“采樣數(shù)”識(shí)別的賣家站點(diǎn)將使用同樣的語言,并有同樣的字符串。按照這種方法,應(yīng)該理解在本發(fā)明中不需要“翻譯”步驟將某一語言的搜索請(qǐng)求轉(zhuǎn)換為“標(biāo)準(zhǔn)”語言。通過使用本機(jī)語言的搜索請(qǐng)求,在翻譯過程中的錯(cuò)誤和模糊就可以被避免。
在本發(fā)明的系統(tǒng)的優(yōu)選實(shí)施例中采用的以數(shù)據(jù)庫服務(wù)器的開發(fā)工具(優(yōu)選是Microsoft SQL-comppliant數(shù)據(jù)庫)建立的計(jì)算機(jī)程序模塊是標(biāo)準(zhǔn)的,本發(fā)明可以使用任何關(guān)系數(shù)據(jù)庫,比如來自加利福尼亞Redwood Shores的Oracle公司的、來自加利福尼亞Emeryville的Sybase公司等的SQL數(shù)據(jù)庫服務(wù)器,以及支持ODBC的其他數(shù)據(jù)庫。如上所述,對(duì)本發(fā)明的優(yōu)選實(shí)例而言,多線程同時(shí)搜索是十分重要的。在這方面,使用Windows NT 4.0平臺(tái)(微軟公司的產(chǎn)品)能夠提供這種多線程能力。
現(xiàn)在參見圖16到23,這些圖詳細(xì)解釋了編寫和準(zhǔn)備“賣家列表”27中的培訓(xùn)數(shù)據(jù)和“賣家說明列表”28中賣家說明的數(shù)據(jù)。圖16是交互式代理角色獲知者接口(IACLI)的實(shí)際屏幕,它能夠被用于獲得用于本發(fā)明的培訓(xùn)信息。使用與圖18顯示的“增加賣家(Add Vendor)”標(biāo)簽(tab)相對(duì)應(yīng)的屏幕,提供了一個(gè)數(shù)據(jù)輸入點(diǎn)用來輸入由系統(tǒng)管理員獲得的信息,這些信息是在系統(tǒng)管理員瀏覽賣家網(wǎng)站“l(fā)cache.com.”之后獲得的。這樣在圖17中提供了一個(gè)范例,其中這些有關(guān)賣家“l(fā)cache.com.”的信息已被輸入。該信息包括如下表右欄所示的內(nèi)容
此后,上述信息存放到賣家列表27,作為離線數(shù)據(jù)庫24中的培訓(xùn)數(shù)據(jù)。要注意的是已輸入的培訓(xùn)實(shí)例是特定產(chǎn)品的列表,在培訓(xùn)過程中這些數(shù)據(jù)將被實(shí)時(shí)搜尋,對(duì)識(shí)別的賣家站點(diǎn)獲得其培訓(xùn)頁。此后“賣家說明”才能從返回的培訓(xùn)頁面中“獲知”到。
然后,信息被顯示在屏幕上,如圖18所示,與“賣家信息(VendorInformation)”標(biāo)簽相對(duì)應(yīng)。“賣家信息”屏幕接口(如圖19所示)提供對(duì)該賣家名稱的“搜索(Search)”功能。通過輸入賣家名稱,按下“搜索”按鈕,所輸入的賣家的賣家信息將從離線數(shù)據(jù)庫24中提取,并顯示出來。在該“賣家信息”屏幕上,要注意“封裝器”字段-----“頭部(Head)”、“尾部(Tail)”、“項(xiàng)目左定界符”、“項(xiàng)目右定界符”,“價(jià)格左定界符”,“價(jià)格右定界符”---是空的。這些封裝器字段還有待“獲知”。
圖20提供了一個(gè)獲知者界面的屏幕抓圖,用于顯示以前為某個(gè)賣家輸入的培訓(xùn)示例。在打開名為“培訓(xùn)數(shù)據(jù)”的文件后該屏幕就會(huì)顯示出來。獲知者界面的“賣家信息”屏幕有一個(gè)搜索功能,用于搜索“培訓(xùn)數(shù)據(jù)”。要使用培訓(xùn)數(shù)據(jù)搜索功能,系統(tǒng)管理員需輸入賣家的名稱并按“開始(Go)”按鈕。以前為指定賣家輸入的培訓(xùn)數(shù)據(jù)清單會(huì)顯示在屏幕上。應(yīng)注意,“培訓(xùn)數(shù)據(jù)”界面還提供其他功能,比如“添加(Add)”(添加更多示例)、“刪除(Delete)”(刪除培訓(xùn)示例)、“編輯(Edit)”(編輯某個(gè)培訓(xùn)示例)、“保存(Save)”(將示例清單保存為當(dāng)前狀態(tài))以及“取消(Cancel)”(取消已經(jīng)輸入的變更)。
現(xiàn)在看圖21。在打開一個(gè)名為“賣家說明”的文件后,獲知者界面的屏幕抓圖會(huì)顯示在屏幕上。該界面開始“獲知”賣家說明的過程,并使系統(tǒng)管理員可以選擇獲知對(duì)“所有”賣家(其培訓(xùn)數(shù)據(jù)已經(jīng)被輸入)的描述,或根據(jù)管理員在提供的框中輸入的賣家名稱獲知對(duì)“一個(gè)”賣家的描述。
圖22顯示“獲知一個(gè)(Learn One)”選項(xiàng)被選中,所輸入的賣家名稱為“l(fā)chache.com”。當(dāng)系統(tǒng)與萬維網(wǎng)連接之后,要按下“開始獲知(Learn Now)”按鈕以啟動(dòng)語意識(shí)別獲知者代理(SRLA)18,并使用在培訓(xùn)示例中對(duì)該賣家指定的獲知示例在其網(wǎng)站上實(shí)時(shí)獲知關(guān)于指定賣家“l(fā)chache.com”的信息。
在獲知/培訓(xùn)過程完成后,從其網(wǎng)址返回的培訓(xùn)或獲知示例結(jié)果將被顯示在獲知者界面的屏幕上(如圖23所示)。另外,要顯示該信息,系統(tǒng)管理員可以使用圖19賣家信息屏幕上的搜索功能,以輸入賣家的名稱(在此例中為“l(fā)chache.com”)并按搜索按鈕。圖23同時(shí)顯示對(duì)賣家“l(fā)chache.com”的獲知結(jié)果。應(yīng)注意“封裝器”字段現(xiàn)在已經(jīng)完成。另外,該頁面的“頭部”顯示值為“5230”。值“5230”可以確定行和字符的位置或其他關(guān)于位置的信息?!拔膊俊北砻魅缦露ń绶麡?biāo)識(shí)的項(xiàng)目的位置“D></TD><TD></TD></TR></”對(duì)于項(xiàng)目說明信息,左定界符被標(biāo)識(shí)為如下字符串“G SRC=/Lmg/trans+1X1.gifBORDER-0WID...”項(xiàng)目說明的右定界符被標(biāo)識(shí)為字符串“</b>”價(jià)格的左定界符被標(biāo)識(shí)為如下字符串“</b></A></TD><TD ALIGH=right><FON...”最后,價(jià)格的右定界符被標(biāo)識(shí)為字符串“</T”盡管圖23中項(xiàng)目左定界符和價(jià)格左定界符的字符串由于獲知者界面的靜止顯示顯得被截?cái)?,要知道,由語意識(shí)別獲知者代理18標(biāo)識(shí)的左定界符字符串中的所有字符將被存在賣家說明28中(優(yōu)選存于Microsoft Access數(shù)據(jù)庫中),并將在以后由語意識(shí)別買家代理器20使用。
現(xiàn)在將從“概念證明(proof-of concept)”的角度更詳細(xì)地講述語意識(shí)別獲知者代理18的基本使用方法。
基本概念如圖24所示,封裝器歸納問題被設(shè)計(jì)為一個(gè)簡單的信息提取模型。
如圖24所示,PAGE P為包含所需信息的網(wǎng)頁。P為某些字符上的字符串。一般情況下,字符為ASCII字符集,PAGES為HTML文件。舉例來講,前面所示的圖7為從賣家網(wǎng)址獲取的一個(gè)非常簡單的頁面。按照“標(biāo)記術(shù)語(labeling terminology)”,該頁將被稱為Ppc(產(chǎn)品目錄頁面)。請(qǐng)注意,本發(fā)明的方法受HTML應(yīng)用的啟示或啟發(fā),但并不依賴于HTML的應(yīng)用。例如,頁面可能為自然語言文本或與XML標(biāo)準(zhǔn)相符的文本。
系統(tǒng)采用標(biāo)準(zhǔn)的關(guān)系型數(shù)據(jù)模型。與每個(gè)產(chǎn)品記錄相關(guān)的兩個(gè)獨(dú)特屬性為項(xiàng)目和價(jià)格,其中“項(xiàng)目”代表產(chǎn)品的名稱和型號(hào),“價(jià)格”表示產(chǎn)品的價(jià)格。
“元組(tuple)”為兩個(gè)字符串<Ai,Ap>的向量。字符串Ai為“項(xiàng)目”屬性的值,字符串Ap為“價(jià)格”屬性的值。鑒于屬性表示關(guān)系模型中的列,“元組”表示行,因此,如圖8所示,圖7中產(chǎn)品目錄頁面示例中包含有四個(gè)“元組”,第一個(gè)為<`HM381MD`,`399.95`>。
頁面的內(nèi)容為其所包含的一組“元組”。比如,盡管有足夠的文字串注釋,但因?yàn)轫撁骈L度沒有限制,因此使用一種更清楚、更簡潔的頁面內(nèi)容表達(dá)方式。頁面的“標(biāo)簽”是用于表示與頁面中的一組標(biāo)志相關(guān)的頁面內(nèi)容,而不是用于詳細(xì)列舉屬性。
例如,用于簡單產(chǎn)品目錄頁面(Ppc)的“標(biāo)簽”Lpc如圖8右側(cè)一列所示。
“標(biāo)簽”Lpc表示簡單產(chǎn)品目錄頁面包含有四個(gè)“元組”,每個(gè)“元組”由項(xiàng)目和價(jià)格的值組成。一對(duì)整數(shù)表示一個(gè)值,如第一組<174,180>。這些整數(shù)表示第一個(gè)元組的屬性為位置174和位置180之間的子串,即字符串“HM381MD”。通過檢查圖7右側(cè)的字符串可以發(fā)現(xiàn),這些整數(shù)與從第一行“<HTMI>”中“<”開始的字符的位置對(duì)應(yīng)。同樣,第四個(gè)“元組”的最后一對(duì)整數(shù)<356,361>表示最后屬性的價(jià)格發(fā)生在356和361之間,即字符串`399.95`。
在更多情況下,頁面P的內(nèi)容可以由標(biāo)簽L表示。 對(duì)于只有一個(gè)“元組”的頁面,采用以下標(biāo)簽L={<<b1,i,e1,i>,<b1,p,e1,p>>}標(biāo)簽L用于頁面P的內(nèi)容編碼。頁面包含|L|>0個(gè)“元組”,每個(gè)元組有兩個(gè)屬性,即項(xiàng)目和價(jià)格。整數(shù)1<m<|L|表示頁面中的“元組”。每一對(duì)<bm,i,em,i>用于一個(gè)項(xiàng)目值的編碼,每一對(duì)<bm,p,em,p>為一個(gè)價(jià)格值的編碼。在P中,值bm,i為mth“元組”中一個(gè)項(xiàng)目值的起始標(biāo)志;值em,i為mth“元組”中一個(gè)項(xiàng)目值的結(jié)束標(biāo)志。同樣,在P中,值bm,p為mth“元組”中一個(gè)價(jià)格的起始標(biāo)志;值em,p為mth“元組”中一個(gè)價(jià)格值的結(jié)束標(biāo)志。mth“元組”的項(xiàng)目屬性出現(xiàn)在<bm,i,em,i>之間,而mth“元組”的價(jià)格屬性出現(xiàn)在<bm,p,em,p>之間。所以,圖8所示的例子中的一對(duì)數(shù)值<b2,i,e2,i>=<229,234>為圖7中頁面的簡單產(chǎn)品目錄中第二個(gè)“元組”第二個(gè)(項(xiàng)目)屬性的編碼。
如上所示,封裝器W為從頁面到標(biāo)簽的函數(shù);注釋W(xué)(P)=L表示頁面P上調(diào)用封裝器W的結(jié)果為標(biāo)簽L。在此提取層面,封裝器只是一個(gè)任意的步驟。
一個(gè)封裝器類別包括一組封裝器。在以下可以看到,本發(fā)明采用的封裝器為HLRT封裝器類別。
經(jīng)過以上對(duì)術(shù)語的解釋和對(duì)本發(fā)明所用方法的描述,現(xiàn)在將進(jìn)一步解釋獲知者應(yīng)如何獲知賣家產(chǎn)品目錄頁面的封裝。
從直觀上來講,輸入本發(fā)明獲知系統(tǒng)中的內(nèi)容為產(chǎn)品目錄頁面樣本及其相關(guān)的“標(biāo)簽”。在這一點(diǎn),假設(shè)已經(jīng)標(biāo)識(shí)并給出了上述“標(biāo)簽”。在后文將仔細(xì)闡述為樣本頁面生成標(biāo)簽的方法。輸出為封裝W∈W。在理想的情況下,W為所有樣本頁面輸出適當(dāng)?shù)臉?biāo)簽。但一般不能作出此類保證,因此(根據(jù)歸納獲知的精神),要求W為一組指定的培訓(xùn)樣本生成正確的標(biāo)簽。
為找到解決方案,封裝歸納問題(關(guān)于特定等級(jí)W)如下所述輸入一組培訓(xùn)范例ε={...,<Pn,Ln>...},其中每個(gè)Pn為一個(gè)頁面,每個(gè)Ln為一個(gè)標(biāo)簽;輸出封裝W∈W,以便使每個(gè)<Pn,Ln>∈ε可以實(shí)現(xiàn)W(Pn)=Ln。
HLRT封裝器類如以上解釋,pcwrapHLRT程序表示一個(gè)“編程字母縮寫詞(programming acronym)”—采用頭部定界符、左側(cè)的定界符、右側(cè)定界符和尾部定界符從賣家產(chǎn)品目錄中提取相關(guān)的產(chǎn)品信息及價(jià)格。頭部-左側(cè)-右側(cè)-尾部(Head-Left-Right-Tail)HLRT封裝器類(wrapper class)是使這種縮寫詞格式化的一種方式。圖25中所述的程序“execHLRT”是pcwrapHLRT的通用化形式,允許定界符為任意字符串,而不是以前用于pcwrapHLRT應(yīng)用中的特定值“<B>”、“</B>”等。
請(qǐng)注意,盡管本例中的定界符全為HTML標(biāo)簽,本發(fā)明所采用的方法并不限于用HTML標(biāo)簽操作。另外,文本可以完全不是HTML。因此,美元標(biāo)志“$”可以為價(jià)格的有效左側(cè)定界符,比如“$399.95”。
execHLRT例程對(duì)HLRT封裝的工作方法做了說明。以前,W(P)為通過在頁面P上調(diào)用封裝W生成的標(biāo)簽。當(dāng)W為HLRT封裝時(shí),例程execHLRT是用于確定W(P)的一個(gè)程序(從W和P開始)。
li和ri的值表示項(xiàng)目屬性的左側(cè)定界符和右側(cè)定界符,而lp和rp表示價(jià)格屬性的右側(cè)定界符,h和t分別表示頁面的頭部和尾部。(請(qǐng)注意,h表示行數(shù)而非字符串。比如,如果h=100,則頁面的頭100行為頭部。語意識(shí)別購買者代理20在搜索產(chǎn)品時(shí)能夠立即跳過這些行)。例如,如果用h=7,li=“<B>,”ri=“</B>,”lp=“<l>,”rp=“</l>“和t=“</TABLE>”參數(shù)調(diào)用execHLRT,那么execHLRT的作用同pcwrapHLRT一樣。
在更多情況下,一個(gè)賣家網(wǎng)址的任何HLRT封裝等同于一個(gè)(h,li,ri,lp,rp,t)向量,并且任何此類向量都可被解釋為一個(gè)HLRT封裝。假如它們相同,注釋(h,li,ri,lp,rp,t)被用作通過用指定定界符部分評(píng)估execHLRT得到的HLRT封裝的簡略表達(dá)方式。
因?yàn)镠LRT只是一個(gè)向量(h,li,ri,lp,rp,t),所以,圖7和圖8中的HLRT封裝歸納示例是在示例頁面及其標(biāo)簽的一組ε={...P,(Pn,Ln),...)的基礎(chǔ)上確定的四(4)個(gè)定界符字符串(h,li,ri,lp,rp,t)中的一個(gè)。更準(zhǔn)確地來講,要解決以下約束補(bǔ)償(滿足)問題變量頁面P的頭部定界符h頁面P的尾部定界符t
項(xiàng)目屬性的左側(cè)定界符li項(xiàng)目屬性的右側(cè)定界符ri價(jià)格屬性的左側(cè)定界符lp價(jià)格屬性的右側(cè)定界符rp域每個(gè)定界符都是一個(gè)任意字符串,頭部定界符除外;約束條件對(duì)于每個(gè)<Pn,Ln>∈ ,W(Pn)=Ln,其中HLRT封裝器W=(h,li,ri,lp,rp,t),現(xiàn)在將描述learnHLRT的操作方法,它將解決以上約束補(bǔ)償問題。
備用定界符首先要了解定界符變量的域會(huì)受到示例 的嚴(yán)格約束。至少,定界符將為示例頁面的子串。當(dāng)然還可以做的更好。根據(jù)示例(Ppc,Lpc)可以看出,rp(價(jià)格屬性的右側(cè)定界符)必須為“</I></TD></TR>”的前綴,其中“ ”表示一個(gè)新行字符?!扒熬Y”的意思是從字符串最右邊的字符開始字符串中字符的組合,比如“>”、“D>”、“TR>,”等。
注意,如果rp不是這個(gè)字符串的前綴,那么每個(gè)帶有這個(gè)定界符的封裝將至少不會(huì)提取“399.95”作為Ppc第四個(gè)“元組”的編碼屬性。因此rp的備用(候選)值為“</l></TD></TR>”的所有前綴。這些備用定界符如圖10A所示。
詳細(xì)來講,簡單產(chǎn)品目錄頁面定界符的備用值是以如下方式產(chǎn)生的li和lp的備用值假設(shè)lp為價(jià)格屬性的左側(cè)定界符??梢詤⒄?qǐng)D7中價(jià)格之前的“HM381MD</B></TD><TD><I>”和“MD2070</B></TD><TD><I>”等片斷。按照這些片斷可以看出,lp必須是“</B></TD><TD><I>”的后綴。因此,lp的備用值為該字符串的16個(gè)非空后綴。在圖10A中可以看到這些備用值。所謂“后綴”指的是從字符串最左邊的字符開始該字符串中字符的組合,比如“<”、“</”、“</B”、“</B>”等。
定界符li更為復(fù)雜,因?yàn)榈谝粋€(gè)屬性之前的字符串出現(xiàn)在前面“元組”的第一個(gè)屬性和最后一個(gè)屬性之間,以及在頁面的頭部和第一個(gè)“元組”之間。在示例中所考慮的字符串為“<TR><TD><B>”知“</I></TD></TR> <TR><TD><B>”。很清楚,li是這個(gè)字符串的后綴。因此,li的備用值可以通過列舉一個(gè)此類片斷的后綴產(chǎn)生。作為總結(jié),可以得出結(jié)論,對(duì)于示例集和書面candsl(i,p, ),定界符li和lp的備用值是通過列舉發(fā)生在每個(gè)示例中項(xiàng)目屬性和價(jià)格屬性左側(cè)的最短字符串的后綴生成的。(如上段所述,示例項(xiàng)目屬性有些特殊。必須列舉相鄰元組之間或第一個(gè)元組之前的最短字符串)。比如,如果 ={(Ppc,Lpc)),那么Candsl(i, )={</I></TD></TR> <TR><TD><B>,....}Candsl(p, )={</B></TD><TD><I>,....}
ri和rp的備用值右側(cè)定界符備用值的生成方法與左側(cè)定界符相似,但存在兩個(gè)區(qū)別。首先,所考慮的字符串發(fā)生在適當(dāng)屬性的右側(cè)(而不是左側(cè))。第二,ri和rp必須為這些字符串的前綴(而非后綴)。例如,在簡單產(chǎn)品目錄示例中,定界符ri必須為字符串“</B></TD><TD><I>”的前綴,而rp必須為“</I></TD><TR>”和“</I></TD><TR> <TR><TD><B>”的前綴。
特別是,在所示的示例集 —書面candsr(k, )中,右側(cè)定界符的備用值是通過列舉出現(xiàn)在每個(gè)示例中屬性k右側(cè)的最短字符串的前綴產(chǎn)生的。(如上所述,li是一個(gè)特殊情況。同樣,rp也是一個(gè)特殊情況。)所列舉的是出現(xiàn)在相鄰“元組”之間或最后一個(gè)“元組”之后的最短字符串的前綴。例如Candsr(i, )={</B></TD><TR><l>,....}Candsr(p, )={</I></TD><TR> <TR><TD><B>,....}頭部和尾部的備用值相似的分析適用于頭部和尾部的定界符?!邦^部”指第一個(gè)項(xiàng)目屬性出現(xiàn)之前頁面的前綴。在此要注意,“頭部”被表示為一個(gè)字符串。當(dāng)實(shí)際執(zhí)行一個(gè)封裝時(shí),為了提高發(fā)明的性能,最好用一個(gè)整數(shù)表示“頭部”,這樣,當(dāng)顧客或購買者在使用封裝器尋找產(chǎn)品信息時(shí),他們可以不看內(nèi)容便跳過頁面的頭部。要將頭部字符串轉(zhuǎn)換為一個(gè)整數(shù),只要確定頭部字符串所跨的行數(shù)即可。
確定“尾部”定界符的方法同確定右側(cè)定界符li和Lp的方法非常相似。尾部備用值為頁面最后一個(gè)價(jià)格屬性之后的字符串的后綴。
Cands(head, )={<HTML> <TITLE>...PRICE($US)</TH></TR>,....}Cands(tail, )={</I></TD></TR> </TABLE>...<HTML>,....}定界符的獨(dú)立性按照每個(gè)定界符的這些備用值,用于獲知這兩個(gè)定界符的以偽碼編制的簡單方法的模塊如圖26所示。
因?yàn)檫@個(gè)模塊是按照與每個(gè)定界符備用值的數(shù)量乘積成比例的時(shí)間運(yùn)行的,并且因?yàn)槊總€(gè)定界符可以有許多備用值,執(zhí)行的時(shí)間可能比較慢。
通過使ri,lp,rp相互獨(dú)立,可以實(shí)現(xiàn)更有效的處理。另外,對(duì)于一個(gè)特定定界符而言,一個(gè)備用值是否有效在任何情況下都與任何其他定界符無關(guān)。例如,無須分析其它定界符即可判斷“</B>”是否適用于ri。
為正確保持這種獨(dú)立性,可以參考execHRLT程序。在其執(zhí)行過程中的每一點(diǎn),execHRLT將搜索每一個(gè)定界符ri、lp和rp的輸入頁面P。如果在搜索中沒有確定在P中的正確位置,則execHRLT輸出的標(biāo)簽將是錯(cuò)誤的。但這些搜索能否返回正確答案僅僅取決于定界符和示例頁面,而不取決于其他定界符。
換一種說法,只要某個(gè)特定備用值(ri,lp,rp)被選為某個(gè)定界符,在任何情況下這個(gè)備用值都不會(huì)失效,無論其它定界符的備用值是什么。這種倒置說法還會(huì)讓人產(chǎn)生這樣的直覺如果一個(gè)備用值無效,沒有任何辦法可以對(duì)其進(jìn)行修復(fù),無論在為其他定界符選擇備用值時(shí)是多么小心。請(qǐng)注意,這一獨(dú)立性可以得到保證;它不僅僅是為便于獲知而采用的直觀判斷。
注意這一點(diǎn)的重要性在于,可以分別獲知三個(gè)定界符ri、lp和rp。在偽碼中,可以按如下方式獲知1.生成備用集;2.為每個(gè)定界符選擇一個(gè)有效的備用值。
這種方法比圖26中的程序快的多它是按照與每個(gè)定界符備用值數(shù)量的和(而不是乘積)成比例的時(shí)間運(yùn)行的。
然而,還要注意并非所有的定界符都是相互獨(dú)立的。相反,對(duì)于定界符h、t和li,一個(gè)具體字符串對(duì)于三個(gè)定界符中的一個(gè)定界符是否有效取決于其他兩個(gè)定界符的選擇。例如,“<B>“對(duì)li是否有效?答案取決于h和t的選擇。如果h=“<HTML>”,那么“<B>“對(duì)于li不是一個(gè)有效的定界符,因?yàn)閑xecHLRT將不會(huì)跳過無關(guān)的加粗正文“<B>A Simple Product Catalogues</B>”。另一方面,如果h=“</TH></TR>”,那么li=“<B>“不會(huì)產(chǎn)生問題。同樣,li和t相互作用如果t=“</HTML>,則li=“<B>“是不可被接受的,但如果t=“</TABLE>則可以被接受。這樣,必須同時(shí)考慮三個(gè)定界符h、t和li的備用值。所以需要列舉h,t和li的所有組合,并選擇有效的組合。
備用值的有效性這一改進(jìn)方法的第二步涉及精確描述使定界符備用值有效的條件。
首先考慮定界符ri和rp。在該方法確定屬性某個(gè)示例的起始標(biāo)志后,該方法試圖確定該屬性實(shí)例(instance)的結(jié)束標(biāo)志。因此定界符ri或rp的備用值“u”必須滿足兩個(gè)約束條件約束條件C1在任何示例頁面中,“u”不得為任何一個(gè)屬性實(shí)例的子串。
約束條件C2在每個(gè)示例頁面中,“u”必須是在每個(gè)屬性實(shí)例之后出現(xiàn)的正文的前綴。
如果定界符ri或rp的備用值“u”違反這些約束條件,那么每個(gè)封裝將至少對(duì)于一個(gè)示例ε無效。如果違反約束條件C1,那么屬性k將會(huì)太短;如果違反約束條件C2,那么它將會(huì)太長。
總而言之,對(duì)于一組特定的示例 ,如果要使某個(gè)備用值“u”對(duì)定界符ri或rp有效,要注意必須滿足條件。這些條件將被稱為有效的(u,r, )??梢钥闯?,對(duì)于示例集 ,只有在備用值“u”滿足對(duì)定界符ri和rp的約束條件C1和C2的情況下,r(u,r, )才會(huì)持續(xù)有效?;氐绞纠绻麑⒂行?validr)測試用于candsr生成的備用值,可以發(fā)現(xiàn)對(duì)于項(xiàng)目屬性的右側(cè)定界符validr(</B></TD><TD><I>,i,ε)=TRUE.....
對(duì)于價(jià)格屬性的右側(cè)定界符validr(</I></TD><TR> <TR><TD><B>,p,ε)=FALSE....
對(duì)lp的約束條件execHLRT程序搜索定界符lp。定界符lp的備用值“u”必須滿足兩個(gè)約束條件約束條件C3在每個(gè)示例頁面中,“u”必須是在每個(gè)屬性k的實(shí)例之前出現(xiàn)的正文的正確后綴。
如果違反這個(gè)條件,則每個(gè)封裝器將與示例 不符。至少由execHLRT計(jì)算的起始標(biāo)志bm和p中將有一個(gè)不正確,至于是大于正確值、小于正確值還是未作定義,這取決于“u”是如何違反該條件的。
總而言之,根據(jù)一組特定的示例 ,如果要使某個(gè)備用值“u”對(duì)定界符lp有效,要注意必須滿足條件。這些條件將稱為有效的(u,l, )??梢钥闯?,對(duì)于C,只有在備用值“u”滿足對(duì)定界符lp的約束條件C3的情況下,validi(u,l, )才會(huì)持續(xù)有效。回到簡單產(chǎn)品目錄示例Ppc,可以發(fā)現(xiàn)validl(</B></TD><TD><I>,p,ε)=TRUE....
要確定h,t和li的備用值Uh、Ut和Uli是否適用,應(yīng)采用以下約束條件確定約束條件C4Uh必須是每個(gè)頁面頭部部分的正確后綴。
約束條件C5Uh必須是在第一個(gè)Uh出現(xiàn)后每一個(gè)頁面的頭部部分的正確后綴。
約束條件C6在任何頁面中,Ut不得出現(xiàn)在從h第一次出現(xiàn)到隨后li的出現(xiàn)之間。
約束條件C7Ut必須為每個(gè)頁面尾部的子串。
約束條件C8Uli不得在每個(gè)頁面尾部中的t之前出現(xiàn)。
約束條件C9在每個(gè)頁面種,Uli必須是“元組”之間正文的正確后綴。
約束條件10在任何頁面中,Ut不得在“元組”之間正文中的Uli之前出現(xiàn)。
HLRT歸納在上述背景下,現(xiàn)在將講述程序learnHLRT。圖27A和27B中提供有一個(gè)詳細(xì)程序表以及相關(guān)的子例程。獲得培訓(xùn)數(shù)據(jù)在對(duì)本發(fā)明的以上描述中,已經(jīng)假設(shè)語意識(shí)別獲知者代理18可以使用培訓(xùn)數(shù)據(jù)庫。也就是說,一組ε={...,<Pn>,Ln>,...}培訓(xùn)示例已經(jīng)存在,其中每個(gè)Pn為一個(gè)頁面,每個(gè)Ln是一個(gè)標(biāo)簽。要進(jìn)一步了解獲知者18使用培訓(xùn)示例的方式,可參見圖7和圖13。
如以上所述,在購物/購買階段,語意識(shí)別買家代理器20可以執(zhí)行五種不同的功能。這五種功能分別如下所述(1)采用如圖15C所述的模塊化啟發(fā)式搜索法制作標(biāo)簽(LabelOracle)。這些被稱為識(shí)別器(recognizer)一種是項(xiàng)目識(shí)別器,另一種是智能價(jià)格識(shí)別器。
(2)因?yàn)樵诿看螐木W(wǎng)上購買者或使用者收到請(qǐng)求時(shí)語意識(shí)別購買者代理20重獲賣家說明數(shù)據(jù)的效率不高,如果這是語意識(shí)別購買者代理20第一次請(qǐng)求對(duì)所需的一組說明進(jìn)行搜索-匹配-提取,只可從數(shù)據(jù)庫(最好是Microsoft Access數(shù)據(jù)庫)或與SQL-compliant數(shù)據(jù)庫服務(wù)器22獲得此類說明描述。然后賣家說明將被存儲(chǔ)在存儲(chǔ)器或高速緩存存儲(chǔ)器中,以便在以后的語意識(shí)別賣方代理20請(qǐng)求中更加快速地進(jìn)行檢索使用。
(3)存儲(chǔ)器或高速緩存存儲(chǔ)器中的賣家說明最好每天自動(dòng)更新一次。
(4)本發(fā)明中的系統(tǒng)可以產(chǎn)生多條線程,并同時(shí)訪問若干個(gè)語意識(shí)別購買者代理,以通過萬維網(wǎng)接觸各種指定的網(wǎng)上賣家網(wǎng)址。這一多線程方法的使用最好建立在Microsoft公司的DCOM技術(shù)基礎(chǔ)之上。每個(gè)語意識(shí)別購買者代理可以根據(jù)購買者或使用者提供的產(chǎn)品信息以智能方式填寫賣家搜索表并以虛擬方式按下“回車”。
(5)另一方面,通過加快賣家答復(fù)時(shí)間以及借助多線程方式將返回的搜索結(jié)果分配給不同的存儲(chǔ)器地址,語意識(shí)別購買者代理20可以解決萬維網(wǎng)業(yè)務(wù)量繁重的問題,目前萬維網(wǎng)主宰著顧客/購買者網(wǎng)上購買的整個(gè)過程。
培訓(xùn)頁面Pn獲得培訓(xùn)頁面涉及對(duì)賣家網(wǎng)站進(jìn)行示例查詢。例如,圖12說明從查詢到網(wǎng)址(例如http//www.800.com)的示例頁面外觀。
現(xiàn)在將對(duì)用于按照模塊化啟發(fā)式搜索法制作識(shí)別器(指標(biāo)簽(LabelOracle))的算法進(jìn)行更加詳細(xì)的描述。識(shí)別器在頁面上搜索一個(gè)特定屬性的實(shí)例。比如圖12上的樣本頁面,項(xiàng)目識(shí)別器將確定頁面上包含的所有“項(xiàng)目”,比如產(chǎn)品“HM381MD,”、“MD2070,”和“MD203”。識(shí)別器的智能程度應(yīng)足以消除干擾。
再舉一個(gè)例子,如圖12中的示例,智能價(jià)格識(shí)別器應(yīng)能夠區(qū)別“價(jià)格1”和“價(jià)格2”哪個(gè)是“列表價(jià)格”,哪個(gè)是“您的出價(jià)”。然后對(duì)所識(shí)別的實(shí)例進(jìn)行證實(shí)以標(biāo)識(shí)整個(gè)頁面。比如一個(gè)識(shí)別器用于“項(xiàng)目”和另一個(gè)識(shí)別器用于“價(jià)格”,通過證實(shí)產(chǎn)生一個(gè)LabelOracle,用于標(biāo)識(shí)包含有這些成對(duì)屬性的頁面。
在項(xiàng)目識(shí)別器事先知道所有項(xiàng)目的情況下,識(shí)別“項(xiàng)目”只是一個(gè)簡單的模式匹配問題。然而這是不可行的,因?yàn)檫@需要一個(gè)大的項(xiàng)目名稱/型號(hào)列表。另外,維護(hù)如此大的項(xiàng)目數(shù)據(jù)庫成本較高。因此不可能保證這樣的項(xiàng)目名稱/型號(hào)列表清單是完整的、最新的。
幸運(yùn)的是,賣家試圖通過對(duì)所有產(chǎn)品采用統(tǒng)一的外觀以產(chǎn)生一種一致的感覺。比如,賣家提供小型磁盤(MD)信息所采用的格式與用于DVD產(chǎn)品的格式相同。借助這一規(guī)則性,可以假定所有產(chǎn)品都是以相同格式描述的。
本項(xiàng)發(fā)明僅從示例的特定域中獲知封裝,并試圖使此域適合于在全球互聯(lián)網(wǎng)上以統(tǒng)一格式組織的所有使用外語的其它的域。在優(yōu)先選擇的實(shí)施例中,培訓(xùn)示例僅僅源于一個(gè)域,比如賣家網(wǎng)址上的MD域。在這種情況下生成的識(shí)別器僅需要識(shí)別特定的產(chǎn)品域,比如MD。按照這種方式,可以維持一個(gè)經(jīng)過完全更新的、特定的項(xiàng)目名稱域目錄。
本發(fā)明通過調(diào)用模塊化啟發(fā)式搜索確定“價(jià)格”。比如價(jià)格之前總有一個(gè)美元標(biāo)志($);價(jià)格經(jīng)常是一個(gè)浮點(diǎn)數(shù)等。如果發(fā)現(xiàn)一個(gè)項(xiàng)目有多個(gè)價(jià)格,再相應(yīng)地提取“您的價(jià)格”、“我們的價(jià)格”、“列表價(jià)格”、“原始價(jià)格”等關(guān)鍵詞。
購物階段的詳細(xì)步驟如以上簡單描述,語意識(shí)別買家代理器20的工作機(jī)制如圖14和圖15A-15C所示??刂屏鞒谭譃閳D中所示的八(8)個(gè)步驟。
第(1)步當(dāng)一個(gè)用戶確定需要某種具體產(chǎn)品或服務(wù)后,本發(fā)明可以提供一個(gè)門戶(入口),通過門戶并經(jīng)互動(dòng)-代理-角色圖形用戶界面(IACGUI,一般稱為互動(dòng)-代理-角色顧客/購買者界面)輸入產(chǎn)品需求信息以達(dá)到產(chǎn)品搜索目的,這種方法可以獲得更好、更快更可靠的結(jié)果,而不是通過瀏覽萬維網(wǎng)上各種語言的賣家網(wǎng)址用手動(dòng)方式逐個(gè)搜索產(chǎn)品信息和價(jià)格。
搜索到的產(chǎn)品說明被存儲(chǔ)在member variable-m_ProdDesc-ofthe SRBA 20中。搜索還允許用戶通過“高級(jí)搜索”功能限定代理的工作方式,上述功能提供有可選參數(shù),比如應(yīng)選擇的賣家、超時(shí)(限制)、價(jià)格范圍、任何生產(chǎn)商、關(guān)鍵詞等。
第(2)步例如,假定網(wǎng)上購買者和用戶的平臺(tái)使用的是Windows 98操作系統(tǒng)并正在運(yùn)行語言版本“B”(或最好其平臺(tái)運(yùn)行英語版的Windows 2000專業(yè)版和/或其平臺(tái)裝有“B”版本的個(gè)人網(wǎng)絡(luò)服務(wù)器軟件),當(dāng)其進(jìn)入本發(fā)明的門戶后,Microsoft Internet Explorer(IE瀏覽器)將提示其下載語言“B”顯示軟件。當(dāng)網(wǎng)上購買者或用戶“A”用語言“B”的本機(jī)字符在本發(fā)明的門戶網(wǎng)站中的文本框中輸入一個(gè)產(chǎn)品型號(hào)作為關(guān)鍵詞后,圖2中的語意識(shí)別買家代理器20將利用預(yù)先描述的示例數(shù)據(jù)(以前實(shí)時(shí)封裝歸納獲知之后在賣家說明中重獲的數(shù)據(jù))進(jìn)行數(shù)據(jù)提取,示例數(shù)據(jù)中包含有語言“B”本機(jī)字符串。這些賣家說明被存儲(chǔ)在數(shù)據(jù)庫24(最好為Microsoft Access數(shù)據(jù)庫)中的賣家說明列表中預(yù)先定義的數(shù)據(jù)結(jié)構(gòu)中。數(shù)據(jù)提取涉及同時(shí)采用用戶輸入的準(zhǔn)確語言“B”本機(jī)字符串從以前的搜索結(jié)果中搜索“采樣數(shù)”,包括價(jià)格、說明以及與產(chǎn)品相關(guān)的信息(如圖15C第312步所示)。上述信息駐留在服務(wù)器22中的存儲(chǔ)器和高速緩存存儲(chǔ)器中。因?yàn)檎Z言“B”字符串是一種特定的本機(jī)語言,所發(fā)現(xiàn)的任何“采樣數(shù)”將適用于使用本機(jī)語言“B”并且有語言“B”字符串的指定賣家網(wǎng)址。
如圖14第7步所示,在獲知過程中,當(dāng)圖2中的語意識(shí)別獲知者代理器18從網(wǎng)上賣家處獲知封裝后,賣家說明被保存在離線數(shù)據(jù)庫24(最好為Microsoft Access數(shù)據(jù)庫)和數(shù)據(jù)庫服務(wù)器22(最好為與Microsoft SQL-complaint數(shù)據(jù)庫服務(wù)器)的賣家說明列表28中。因?yàn)樵诿看螐木W(wǎng)上購買者或使用者收到請(qǐng)求時(shí)語意識(shí)別購買者代理20對(duì)賣家說明進(jìn)行檢索的效率不高,如果這是語意識(shí)別買家代理器20第一次請(qǐng)求對(duì)所需的一組說明進(jìn)行搜索-匹配-提取,只可從數(shù)據(jù)庫24或服務(wù)器22中檢索此類描述。然后賣家說明將被存儲(chǔ)在存儲(chǔ)器或高速緩存存儲(chǔ)器中,以便在以后的語意識(shí)別買家代理器20請(qǐng)求同一用戶或者新用戶中更加快速地進(jìn)行檢索使用。
存儲(chǔ)器或高速緩存存儲(chǔ)器中的賣家說明優(yōu)選每天自動(dòng)更新一次。
第(3)步利用重獲的賣家說明,本發(fā)明中的系統(tǒng)可以產(chǎn)生多條線程,并同時(shí)訪問若干個(gè)語意識(shí)別買方代理器,以通過萬維網(wǎng)接觸各個(gè)指定的網(wǎng)上賣家網(wǎng)址。
第(4)步這一多線程方法的使用優(yōu)選建立在Microsoft公司的DCOM技術(shù)基礎(chǔ)之上。每個(gè)語意識(shí)別買方代理器可以根據(jù)購買者或使用者提供的產(chǎn)品信息以智能方式填寫賣家搜索表并以虛擬方式按下“回車”。
第(5)步然后每個(gè)賣家返回一個(gè)搜索結(jié)果頁面,此頁面上包括有所需產(chǎn)品的信息或一個(gè)錯(cuò)誤消息。
第(6)和第(7)步搜索結(jié)果頁面通過萬維網(wǎng)被返回語意識(shí)別買方代理器20。應(yīng)注意若干結(jié)果頁面會(huì)同時(shí)返回語意識(shí)別買方代理器20。通過加快賣家答復(fù)時(shí)間以及借助多線程方式將返回的搜索結(jié)果分配給不同的存儲(chǔ)器地址,本發(fā)明的語意識(shí)別購買者代理20可以解決萬維網(wǎng)業(yè)務(wù)繁忙的問題,目前萬維網(wǎng)控制著顧客/購買者網(wǎng)上購物的整個(gè)過程。
第(8)步語意識(shí)別買方代理器20根據(jù)相應(yīng)的賣家說明分析返回的頁面。在所有搜索結(jié)果頁面已經(jīng)到達(dá)或者搜索超時(shí)之后,相關(guān)的信息和數(shù)據(jù)會(huì)被從返回的頁面上提取出來,并以格式化的輸出方式被顯示出來。
如圖28所示,用戶/購買者與服務(wù)器22進(jìn)行通訊,以通過所示的活動(dòng)服務(wù)頁面(ASP)文件(NextGen.asp)運(yùn)行服務(wù)器22上的正在處理過程中的DLL文件(NextGen.dll)。
優(yōu)選的是,以ActiveX組件的形式開發(fā)語意識(shí)別買家代理器20有許多好處。第一,可以改善整體性能。用Visual C++編寫的語意識(shí)別買家代理器使該代理器功能更強(qiáng),并使之具有ActiveX組件的強(qiáng)大功能。沒有必要提供HTML和腳本代碼的工作區(qū)方案來滿足應(yīng)用需求。使用ActiveX組件,可以通過在客戶端HTML文件中增加幾行代碼來運(yùn)行該代理器,而把所有復(fù)雜的處理留給服務(wù)器端執(zhí)行。
第二,ActiveX組件提供給其他應(yīng)用程序以可重用性而不是在每個(gè)應(yīng)用模塊中拷貝類似的功能。所創(chuàng)建的ActiveX組件可以被所有活動(dòng)服務(wù)器頁面(Active Sever Pages,也稱作動(dòng)態(tài)服務(wù)器主頁)模塊訪問。換言之,不需要在ASP模塊中包含所有的代碼邏輯。因此,這消除了應(yīng)用的冗余。雖然語意識(shí)別買家代理器在單一應(yīng)用中被創(chuàng)建,但是這并不妨礙它與其他應(yīng)用集成。進(jìn)而言之,該特性有助于大大減少開發(fā)時(shí)間。
第三,這對(duì)于把ASP組件連接到DLL(動(dòng)態(tài)鏈接庫)文件有益,因?yàn)樗鼈儽华?dú)立的編譯和鏈接。不需要附加的重編譯和重鏈接就能更新ASP組件。因此,使用DLL的ActiveX組件的好處是改善處理速度或便于以后增加新功能。另外,DLL可以減少內(nèi)存和磁盤空間需求,其方式是通過在多個(gè)模塊之間共享單一的公共代碼拷貝。
如果有多個(gè)組件使用同一靜態(tài)鏈接庫,那么必須同時(shí)存儲(chǔ)和執(zhí)行多個(gè)一樣的庫拷貝。因此,如果它們同時(shí)運(yùn)行就需要在內(nèi)存中有多個(gè)一樣的拷貝。顯然,靜態(tài)鏈接庫導(dǎo)致冗余和空間浪費(fèi)。
如果在使用DLL代替靜態(tài)鏈接庫,那么只需要一份代碼和資源拷貝。這可以保證服務(wù)器在最小的工作量下處理來自因特網(wǎng)的多個(gè)并發(fā)的連接。
語意識(shí)別買家代理器20優(yōu)選是作為進(jìn)程內(nèi)動(dòng)態(tài)鏈接庫(in-process DLL)開發(fā)的ActiveX組件。這允許用戶通過萬維網(wǎng)創(chuàng)建SRBA對(duì)象。為了在用戶和服務(wù)器之間通信,ASP被用做用戶和服務(wù)器之間的網(wǎng)關(guān)。
ASP是開放的應(yīng)用環(huán)境,在該環(huán)境中HTML頁面,腳本和ActiveX組件結(jié)合起來創(chuàng)建基于WEB的應(yīng)用程序。另外,它被構(gòu)筑成因特網(wǎng)服務(wù)器應(yīng)用程序界面(ISAPI),在微軟公司的因特網(wǎng)信息服務(wù)器(IIS)或與IIS類似的對(duì)等WEB服務(wù)器上運(yùn)行。
為了執(zhí)行ASP,使用了微軟的ActiveX腳本,比如Visual Basic(VB)腳本,該腳本在管理ActiveX組件的過程使用。通過增加功能使得該語言動(dòng)態(tài)化來激活在服務(wù)器上以DLL形式運(yùn)行的ActiveX組件。
程序邏輯—?jiǎng)?chuàng)建語意識(shí)別買家代理器對(duì)象當(dāng)用戶開始查詢所希望的產(chǎn)品價(jià)格時(shí)就要?jiǎng)?chuàng)建一個(gè)語意識(shí)別買家代理器20的對(duì)象。
在活動(dòng)服務(wù)器頁面,以偽碼形式編寫的模塊如下Start sub sessionSet agent=serverCreate object(“NextGen......)End sub當(dāng)該頁面被加載時(shí),上述模塊創(chuàng)建了一個(gè)語意識(shí)別買家代理器20對(duì)象,其中NextGen是ActiveX組件的名字。語意識(shí)別買家(Semantics-Recognition Buyer)是代理器在NextGen組件中的名字。
連接用戶和服務(wù)器在語意識(shí)別買家代理器20的實(shí)例被創(chuàng)建之后就在用戶和服務(wù)器之間建立了連接,如圖29所示。
語意識(shí)別買家代理器使用可連接的對(duì)象來維護(hù)“一對(duì)一”(信道),用戶與服務(wù)器通過該信道通信,比如用戶請(qǐng)求服務(wù)器比較價(jià)格,而語意識(shí)別買家代理器20使用外出接口作為連接(信道),從而使服務(wù)器與用戶通信,比如服務(wù)器響應(yīng)請(qǐng)求將查詢的結(jié)果返回給發(fā)出請(qǐng)求的用戶。用戶可以通過IConnectionPoint訪問語意識(shí)別買家代理器的屬性并激活其方法。
語意識(shí)別買家代理器20采用如下的方法1、OnStartPage(未知代理)該方法用于初始化語意識(shí)別買家代理器對(duì)象,該方法當(dāng)ASP被裝載時(shí)自動(dòng)調(diào)用。
2、OnEndPage()該方法用于終止語意識(shí)別買家代理器對(duì)象,該方法當(dāng)ASP被卸載時(shí)自動(dòng)調(diào)用。
3、GetSearch(BStr input,BStr*output)該方法用于當(dāng)用戶提供了產(chǎn)品說明(如型號(hào))之后,在因特網(wǎng)上查找所需的產(chǎn)品價(jià)格。Input是用戶給出的產(chǎn)品說明,而output是查找結(jié)果頁面的輸出內(nèi)容。調(diào)用該方法的語法是OutputName=AdObjectName.GetSearch(“Product Name”)
在上述代碼中,“AdObjectName”是對(duì)象的實(shí)例名,而“ProductName”是購買者/用戶所要比較價(jià)格的產(chǎn)品名,“OutputName”是存放所獲得的結(jié)果值的變量。參考如下例子的偽碼If result=AgentGet search(“Radar detector”)服務(wù)器端程序邏輯登記組件在用戶初始化語意識(shí)別買家代理器對(duì)象之前,該組件必須在服務(wù)器上用下面的命令登記(注冊)Register path\Nextgen.dll其中path是Nextgen.dll的存放的絕對(duì)路徑。
用戶請(qǐng)求的響應(yīng)當(dāng)語意識(shí)別買家代理器對(duì)象通過IconnectionPoint調(diào)用GetSearch方法時(shí),在服務(wù)器機(jī)器上的語意識(shí)別買家代理器的實(shí)例執(zhí)行動(dòng)態(tài)鏈接庫DLL。參見圖30。
連接數(shù)據(jù)庫需要提供數(shù)據(jù)源名稱(DSN),標(biāo)識(shí)(ID)以及口令以便通過ODBC連接到SQL Server(SQL服務(wù)器)。RETCODE是存儲(chǔ)SQLServer返回值的變量。SQL_SUCCESS表明成功重新獲取。
<pre listing-type="program-listing"><![CDATA[ CString sDSN=“NextGen”; CString sID=“NextGen”;CString sPassword=“NextGen”; RETCODE rc; rc=SQLConnect(hdbc,sDSN,sID,”,”sPassword,””); if(rc==SQL_SUCCESS) { ...execute query... } else { ...error handling... }]]></pre>執(zhí)行SQL查詢在從SQL獲取期望的數(shù)據(jù)之前,需要指定的查詢語句。
<pre listing-type="program-listing"><![CDATA[ //Allocating a statement handle SQLAllocStmt(hdbc,&hstmt); //query statement;modelis the model number from the user CString sQuery=”select*from tbl_electronic where model=+”model”; rc=SQLExecDirect(hstmt,sQuery,””); if(rc==SQL_SUCCESS) {...retrieving fields.. }]]></pre>獲取字段成功執(zhí)行查詢之后,賣家說明信息將存儲(chǔ)在vendor_description數(shù)組中。該數(shù)組有兩個(gè)成員變量封裝器和賣家URL。
rc=SQLGetData(hstmt,column_number,data type,sWrapper,sizeof(sWrapper));if(rc==SQL_SUCCESS)vendor_description[i].wrapper=sWrapper;rc=SQLGetData(hstmt,column_number,data_type,sURL,sizeof(sURL));if(rc=SQL_SUCCESS)vendor_description[i].url=sURL;填寫表格如果有N個(gè)賣家說明,買家代理器將初始化N個(gè)線程來填寫由賣家說明指定的每個(gè)賣家的表格。
運(yùn)行每個(gè)線程的語法是<pre listing-type="program-listing"><![CDATA[ //nNo Vendor is the number of the vendor description; Int nNo Vendor=no of vendor_description; For(Int nCount=0;nCount<nNoVendor;nCount++) { //ThreadFillForm is a class that implements the form filling; Thread*ThreadFillForm; Thread=AfxBeginThread(RUNTIME_CLASS(ThreadFillForm),...) }]]></pre>對(duì)每個(gè)線程,時(shí)間限制最好是大約5秒。如果在5秒內(nèi)賣家沒有返回結(jié)果,那么這次將放棄該賣家,否則,其結(jié)果將存儲(chǔ)在內(nèi)存中以便下一個(gè)程序使用。
當(dāng)用戶在本發(fā)明的門戶(入口)處所提供的文本框中輸入購買請(qǐng)求的關(guān)鍵字時(shí),它就決定是否有相關(guān)的賣家說明,即包含關(guān)鍵字的賣家說明。所有包含封裝器和URL的相關(guān)的賣家說明都從離線數(shù)據(jù)庫中提取。這之后,語意識(shí)別買家代理器20與每個(gè)在線賣家的可搜索引擎并行執(zhí)行,填寫表格并發(fā)送到賣家站點(diǎn)。在賣家站點(diǎn),買家代理器將調(diào)用成員函數(shù)httpPost來完成任務(wù)。HttpPost成員函數(shù)根據(jù)賣家說明將URL和表格數(shù)據(jù)傳送給賣家,用字符變量返回HTML響應(yīng)。HttpPost成員函數(shù)返回布爾值(boolean value),其中“真”表示成功獲取HTML文檔,“假”表示發(fā)生錯(cuò)誤。如果返回值是真,所產(chǎn)生的項(xiàng)目名稱和價(jià)格將從HTML文檔中提取。傳送表格的流程如圖31所示。
在步驟1002,為該會(huì)話創(chuàng)建Cinternet Session對(duì)象。CinternetSession類通過因特網(wǎng)會(huì)話連接到服務(wù)器。通常該類在早期用于會(huì)話以建立到WEB服務(wù)器的連接。
在步驟1004,通過調(diào)用Cinternet Session對(duì)象的GetHttpConnection成員函數(shù)來創(chuàng)建ChttpConnection對(duì)象。ChttpConnection類建立與服務(wù)器的HTTP連接。
在步驟1006,通過調(diào)用ChttpConnection對(duì)象的OpenRequest成員函數(shù)來創(chuàng)建CHttpFile對(duì)象。CHttpFile類的功能是讓因特網(wǎng)上傳送的文件能夠象工作在本地磁盤的文件一樣處理。它與ChttpConnection對(duì)象一起工作來讀寫因特網(wǎng)數(shù)據(jù)。
步驟1008調(diào)用CHttpFile對(duì)象的SendRequest成員函數(shù)來發(fā)送POST請(qǐng)求和表格數(shù)據(jù)到遠(yuǎn)程HTTP服務(wù)器。
步驟1010,1012和1014重復(fù)調(diào)用ChttpFile對(duì)象的READ成員函數(shù),返回大量的響應(yīng)數(shù)據(jù)給程序。當(dāng)Read返回0時(shí),就沒有要獲取的數(shù)據(jù)了。
提取價(jià)格獲得結(jié)果頁面之后,語意識(shí)別買家代理器20將用通用錯(cuò)誤模版匹配每個(gè)結(jié)果頁面。如果結(jié)果頁面與模版不匹配,就認(rèn)為是成功的查詢。然后買家代理器20將使用對(duì)應(yīng)賣家的封裝器從成功頁面中剝離頭部和尾部信息。比如,假如用戶查找MD產(chǎn)品,型號(hào)是MD203,給定的封裝器是{7,<B>,</B>,<l>,</l>,</TABLE>},那么結(jié)果頁面如下所示。
<pre listing-type="program-listing"><![CDATA[ <HTML> ?。糡ITLE>A Simple Product Catalogs</TITLE> ?。糂ODY> ?。糎2>MD Price</H2> ?。糡ABLE BORDER=1> <TR BGCOLOR=ORANGE> ?。糡H>ModelNumber</TH> ?。糡H>PRICE(US$)</TH> ?。?TR> <TR><TD><B>HM381MD</B><TD><I>399.95</I></TD></TR> ?。糡R><TD><B>MD2070</B><TD><TD>599.95</I></TD></TR> <TR><TD><B>MD203</B><TD><TD>249.95</I></TD></TR> ?。糡R><TD><B>MDR3</B><TD><TD>399.95</I></TD></TR> </TABLE> ?。糎R WIDTH=200 ALIGN=LEFT> ?。?BODY> </TABLE>]]></pre>在封裝器中,有用的信息開始于第七行,結(jié)束于</TABLE>,因此語意識(shí)別買家代理器20將在提取型號(hào)和價(jià)格前去掉無用的信息。去除頭部和尾部信息之后的HTML文件是Number</TH><TH>PRICE(US$)</TH><TR>
<TR><TD><B>HM381MD</B><TD><I>399.95</I></TD></TR>
<TR><TD><B>MD2070</B><TD><TD>599.95</I></TD></TR>
<TR><TD><B>MD203</B><TD><TD>249.95</I></TD></TR>
<TR><TD><B>MDR3</B><TD><TD>399.95</I></TD></TR>
然后,語意識(shí)別買家代理器20將使用模式匹配來提取型號(hào)和產(chǎn)品的價(jià)格。在封裝器中,型號(hào)的模式是<B>*</B>,價(jià)格的模式是</1>#</1>。其中*表示型號(hào),#表示價(jià)格。代理器將首先提取型號(hào)HM381MD,并與用戶所請(qǐng)求的型號(hào)MD203相比較。由于他們不匹配,語意識(shí)別買家代理器20就查找另一個(gè)型號(hào),直到發(fā)現(xiàn)型號(hào)MD203。找到型號(hào)之后,語意識(shí)別買家代理器20使用價(jià)格模式提取該型號(hào)之后的第一個(gè)價(jià)格。當(dāng)型號(hào)和價(jià)格被提取之后,語意識(shí)別買家代理器20停止從該頁面提取信息,并把信息發(fā)送到一個(gè)名稱為array_item[]的數(shù)組。
關(guān)鍵部分array_item[]是N個(gè)線程共享的數(shù)據(jù),所有的線程都能夠訪問該成員變量。一個(gè)危險(xiǎn)是多個(gè)線程同時(shí)訪問array_item[]時(shí)產(chǎn)生的訪問沖突。為了保護(hù)該共享的數(shù)據(jù)在一致的狀態(tài)下,使用關(guān)鍵部分(Critical Section)來阻止一個(gè)以上的線程同時(shí)修改數(shù)據(jù)。描述如下CCriticalSection m_csDoor;Before inserting an element into the array_item,the linem_csDoor,Lock();以上內(nèi)容被增加,以用于啟動(dòng)關(guān)鍵部分。關(guān)鍵部分內(nèi)部的所有變量都加鎖,阻止其它線程訪問該特定的變量。完成插入之后,行m_osDoor.Unlock();
被增加,以用于表示關(guān)鍵部分結(jié)束。所有加鎖的變量將解鎖,允許其它線程訪問成員變量。這樣,array_Item的成員變量能夠安全地被所有線程共享。
價(jià)格分類在指定的時(shí)間間隔內(nèi),存放產(chǎn)品價(jià)格的數(shù)組sort_item將通過快速分類的方法被分類。
快速分類方法按照以下方式實(shí)現(xiàn)IF left<right THENBEGIN在代碼的每個(gè)遞歸位置將選擇一個(gè)“關(guān)鍵”結(jié)構(gòu)值。該函數(shù)按兩個(gè)方向重復(fù)的掃描該結(jié)構(gòu)。小于關(guān)鍵值的數(shù)被放置在結(jié)構(gòu)的左邊,較大的值被放置在結(jié)構(gòu)的右邊。這種“從左到右”和“從右到左”的掃描和交換持續(xù)到狀態(tài)標(biāo)記告訴它們應(yīng)該結(jié)束。
將響應(yīng)返回給用戶一個(gè)HTML文件將返回給用戶,該文件將存儲(chǔ)在成員變量m_output中,它顯示SRBA20查找的分類結(jié)果。
//String used to display content to browser*define HTTP HEADER“Content-typetext/htm\n\n”//Codes to display to brower與本申請(qǐng)一起提交了一個(gè)前面提到計(jì)算機(jī)程序列表附錄,它提供代了實(shí)現(xiàn)本發(fā)明的選擇特性的代碼部分。具體而言,在標(biāo)有“3.1The learning Phase(獲知階段)”的部分提供了源代碼,用于“3.1.1Main COOSA Application Class”—用于COOSA應(yīng)用的主要類文件;“3.1.2 Add Vendor Class”—向數(shù)據(jù)庫添加一個(gè)賣家類;“3.1.3COOSADoc Class”—調(diào)用語意識(shí)別獲知者界面的文件和屏幕顯示和;“3.1.4 COOSA View Class”—獲知者界面及其功能屏幕;“3.1.5Training Data Class”—調(diào)用語意識(shí)別獲知者代理器,“3.1.6 VendorClass”—描述標(biāo)簽算法通過所有的賣家WEB頁面的處理。在標(biāo)記有”Shopping Phase(購買階段)“的部分,提供了如下的源代碼,“3.2.1 Agent Class”—說明語意識(shí)別買家代理器;“3.2.2 ThreadProcess”—語意識(shí)別買家代理器的部分程序。
參考圖32到39,下面將詳細(xì)描述與本發(fā)明相互連接的GUI或交互式代理器角色購買者/買家界面(Interactive-Agent-CharacterShopper/Buyer interface)。在圖32中簡單說明了與本發(fā)明相互連接的GUI或交互式代理器角色購買者界面(IACS/BI)的“主菜單“屏幕。要注意的是在該主菜單屏幕的右上角有供用戶選擇的產(chǎn)品“信道(channel)”(類目)。在屏幕的左邊提供了“快速查詢(QuickSearch)”特性。在它的正下方,提供了一個(gè)其中有動(dòng)畫打字的文本框,指導(dǎo)在線用戶如何使用快速查詢選項(xiàng)。屏幕左邊還提供了一組文本框供訪問者作為一個(gè)臨時(shí)會(huì)員或者永久會(huì)員使用。(注意本發(fā)明的大部分入口的功能一直被禁用直到用戶得到正確的確認(rèn))。在左下角提供了一組到在線賣家的鏈接,這些賣家登記在本發(fā)明的入口。在右邊,可以看到一個(gè)大的消息框標(biāo)記有“反饋(feedback)”,提供給在線用戶通過EMAIL發(fā)送到EMAIL服務(wù)器輸入意見訊息,最好是使用微軟公司的Outlook Express品牌的EMAIL服務(wù)器。
圖33簡單說明了與本發(fā)明一起使用的GUI或購買者界面,其中顯示了一些公司信息以響應(yīng)在線購買者/用戶在前面的屏幕(沒有顯示)中點(diǎn)擊的“政府到商業(yè)(Government-to-Business)”文本圖標(biāo)。但是,要注意該屏幕不能起作用,因?yàn)檫@些公司,或者叫政府到商業(yè)電子商務(wù)服務(wù)或平臺(tái)提供商目前嚴(yán)格限制成員的權(quán)限來訪問它們的WEB服務(wù)器數(shù)據(jù)庫,其方式是在整個(gè)封閉連接的計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境中通過集成認(rèn)證安全接口。
圖34簡單說明了與本發(fā)明一起使用的GUI或購買者界面的屏幕顯示,其中提供了關(guān)于用戶所選擇的公司的細(xì)節(jié),用戶點(diǎn)擊圖33中屏幕的“高級(jí)搜索(Advance Search)”選項(xiàng)從提供的多個(gè)公司中加以選擇。注意在該屏幕中,框架中的旗幟位于五種類型的域的正下方,可以看到大寫的消息“高級(jí)代理運(yùn)行中(ADVANCEDSEARCH AGENTS ARE ON)”。另外,在屏幕的下邊,提供給用戶對(duì)話框可供填寫以便使用本發(fā)明所提供的語意識(shí)別買家代理器的功能運(yùn)行搜索。但是,仍要注意該屏幕不能起作用,因?yàn)檫@個(gè)公司,或者叫政府到商業(yè)電子商務(wù)服務(wù)或平臺(tái)提供商目前嚴(yán)格限制成員的權(quán)限來訪問它們的WEB服務(wù)器數(shù)據(jù)庫,其方式是在整個(gè)封閉連接的計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境中通過集成認(rèn)證安全接口。
圖35是簡單說明了與本發(fā)明一起使用的GUI或購買者界面的屏幕,其中顯示了一些公司,其響應(yīng)在線購買者/用戶在前面的屏幕(沒有顯示)中點(diǎn)擊的“商家到商家”文本圖標(biāo)。但是,要注意該屏幕不能起作用,因?yàn)檫@些公司,或者叫商業(yè)到商業(yè)電子商務(wù)服務(wù)或平臺(tái)提供商目前嚴(yán)格限制訪問它們的WEB服務(wù)器數(shù)據(jù)庫的成員的權(quán)限,其方式是在整個(gè)封閉連接的計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境中通過集成認(rèn)證安全接口。
圖36簡單說明了與本發(fā)明一起使用的GUI或購買者界面接口的屏幕顯示,其中提供了關(guān)于用戶所選擇的公司的細(xì)節(jié),用戶點(diǎn)擊圖35中屏幕的“高級(jí)搜索”選項(xiàng)從提供的多個(gè)公司中加以選擇。
圖37是簡單說明了與本發(fā)明一起使用的GUI或購買者界面的屏幕,其中顯示了響應(yīng)用戶選擇“域A”標(biāo)簽的所選擇的項(xiàng)目及其說明。
圖38簡單說明了與本發(fā)明一起使用的GUI或購買者/買家界面的屏幕顯示,其中列出的域A中的賣家銷售產(chǎn)品項(xiàng)目,響應(yīng)用戶點(diǎn)擊圖37屏幕中的“高級(jí)搜索”選項(xiàng)。
圖39簡單說明了與本發(fā)明一起使用的GUI或購買者/買家界面的屏幕顯示,其中提供了使用本發(fā)明的語意識(shí)別買家代理器搜索結(jié)果的細(xì)節(jié)。購買者/買家界面通過圖38中屏幕底部的搜索參數(shù)響應(yīng)發(fā)送搜索請(qǐng)求的用戶。
需要進(jìn)一步理解的是,盡管本發(fā)明已經(jīng)按照因特網(wǎng)和萬維網(wǎng)進(jìn)行了說明,但是本發(fā)明同樣適用于最近引入的系統(tǒng)和下一代系統(tǒng)。舉例來說,無線應(yīng)用開發(fā)工具,J2MF(Java to Micro Edition)可以被用于將在線智能多語言和域獨(dú)立價(jià)格比較能力結(jié)合到移動(dòng)/無線平臺(tái),包括所有型號(hào)的3G或WEB電話,交互式和衛(wèi)星互動(dòng)電視服務(wù)(Ultimate TV),口袋PC,掌上電腦(Palm organizer),集成連網(wǎng)掌上同步裝置(all-in-one Web-enabled Palm Synchronizer),無線寫字板等,將主頁上的許多產(chǎn)品和多語種的增值商業(yè)WEB服務(wù)發(fā)送給移動(dòng)工作者和網(wǎng)民,其中該主頁作為基于24/7/365基礎(chǔ)上的一站式任意地點(diǎn)的信息訪問點(diǎn)。
進(jìn)而言之,本發(fā)明可以通過有線和移動(dòng)/無線平臺(tái)發(fā)送各種產(chǎn)品和多語種的增值商業(yè)WEB服務(wù),該產(chǎn)品和服務(wù)具有如下能力、功能、特性價(jià)格比較,電子錢包集成,具有協(xié)商能力的代理間通信---代理到代理(A-to-A)合同協(xié)商---對(duì)多個(gè)電子商務(wù)段的真實(shí)世界仿真能力,包括消費(fèi)者到商業(yè)(C-to-B),消費(fèi)者到消費(fèi)者(C-to-C),和商業(yè)到商業(yè)(B-to-B)拍賣,政府到商業(yè)交易(G-to-B)等。這些A-to-A商務(wù)或A商務(wù)的活動(dòng)將被在全球市場框架中被構(gòu)筑和激活,這只需要用戶使用鍵盤,鼠標(biāo)或點(diǎn)擊設(shè)備就能及時(shí)地動(dòng)態(tài)地進(jìn)行。
這里采用的術(shù)語和表達(dá)只是用于描述而不是限制,使用這些術(shù)語和表達(dá)無意排斥本說明中所顯示和描述的特征的等同特征,要認(rèn)識(shí)到在本發(fā)明要求的范圍內(nèi)存在各種修改的可能。
序列表<pre listing-type="program-listing"><![CDATA[ implementation.txtCOMPUTER LISTING APPENDICES FOROnline Intelligent Information Comparison Agent of Multilingual ElectronicData Sources Over Inter-Connected Computer Networks3.Implementation3.1 The Learning Phase3.1.1 Main COOSA Application Class//COOSA.hmain header file for the COOSA application//#if!defined(AFX_COOSA_H_4B97CB6D_576E_4 F4B_AAE1_D23082C64E64_INCLUDED_)#define AFX_COOSA_H_4B97CB6D_576E_4F4B_AAE1_D23082C64E64_INCLUDED_)#if_MSC_VER>1O00*pragma once#endif//_MSC_VER>1000#ifndef_AFXWIN_H_ #error include ′stdafx.h′before including this file for PCH#endif#include ″resource. h″//main symbols//////////////////////////////////////////////////////////////////////////define the database connection#define DB_CONNECTION ″DSN=nextgen;UID=nextgen;PWD=fid9s3″//////////////////////////////////////////////////////////////////////////CCOOSAApp//See COOSA.cpp for the implementation of this class//class CCOOSAAPPpublic CWinApppublic CCOOSAApp();//Overrides //ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CCOOSAApp) public virtual BOOL initinstance(); //}}AFX_VIRTUAL//Implementation //{{AFX_MSG(CCOOSAApp) afx_msg void OnAppAbout(); //NOTE-the ClassWizard will add and remove member functions here. //DO NOT EDIT what you see in these blocks of generated code! //}}AFX_MSG DECLARE_MESSAGE_MAP()};//////////////////////////////////////////////////////////////////////////{{AFX_INSERT_LOCATION}}//Microsoft Visual C++ will insert additional declarations immediately before theprevious line.#endif//!defined(AFX_COOSA_H_4B97CB6D_576E_4F4B_AAE1_D23082C64E64_INCLUDED_)implementation. txt3.1.2 Add Vendor Class#if!defined(AFX_ADDVENDOR_H_2765DEFD_46E9_4FF0_A371_2285CB6C013A_INCLUDED_)#defineAFX_ADDVENDOR_H_2765DEFD_46E9_4FF0_A371_2285CB6C013A_INCLUDED_#if_MSC_VER>1000#pragma once#endif//_MSC_VER>1000//AddVendor.hheader file// #include<afxdb.h>#include<afxmt.h>///////////////////////////////////////////////////////////////////////////CAddVendor dialogclass CaddVendorpublic CPropertyPage{ DECLARE_DYNCREATE(CAddVendor)//Constructionpublic CAddVendor(); ~CAddVendor();//Dialog Data //{{AFX_DATA(CAddVendor) enum{IDD=IDD_ADDVENDOR}; CEdit m_domain; CEdit m_formurl; CEdit m_url; CEdit m_vendor; CEdit m_pricer; CEdit m_pricel; CEdit m_itemr; CEdit m_iteml; CEdit m_tail; CEdit m_head; CEdit m_example3; CEdit m_example2; CEdit m_example1; BOOLm_chk1; BOOLm_chk2; CString m_ex1; CString m_ex2; CString m_ex3; CString m_h; CString m_t; CString m_ii; CString m_ir; CString m_pl; CString m_pr; //}}AFX_DATA//Overrides //ClassWizard generate virtual function overrides //{{AFX_VIRTUAL(CAddVendor ) protected virtual void DoDataExchange(CDataExchange*pDX);//DDX/DDV supportimplementation.txt //}}AFX_VIRTUAL//Implementationprotected //Generated message map functions //{{AFX_MSG(CAddVendor) afx_msg void OnGiveExample(); afx_msg void OnChkEnterWrapper(); afx_msg void OnAddVendor(); //}}AFX_MSG DECLARE_MESSAGE_MAP()private COatabase*db;};//{{AFX_INSERT_LOCATION}}//Microsoft Visual C++ will insert additional declarations immediately before theprevious line.#endif//!definf/e/d(AFX_ADDVENDOR_H_2765DEFD_46E9_4FF0_A371_2285CB6C013A_INCLUDED_)3.1.3 COOSADOC class//COOSADOC.hinterface of the CCOOSADoc class/////////////////////////////////////////////////////////////////////////#if!defined(AFX_COOSADOC_H_A68F4669_5205_408B_BDB0_5014E43C1E04_INCLUDED_)#defineAFX_COOSADOC_H_A68F4669_5205_408B_BDB0_5014E43C1E04_INCLUDED_#if_MSC_VER>1000#pragma once#endif//_MSC_VER>1000class CCOOSADOCpublic Cdocument{protected//create from serialization only CC00SADoc(); DECLARE_DYNCREATE(CCOOSADoc)//Attributespublic//Operationspublic//Overrides //ClassWizard generated virtual function overrides //(AFX_VIRTUAL(CCOOSADOc) public virtual BOOL OnNewDocument(); virtual void Serialize(Carchive& ar) //}}AFX_VIRTUAL//Implementationpublic virtual~CCOOSADoc();implementation.txt#ifdef_DEBUG virtual void AssertValid()const; virtual void Dump(CdumpContext& dc)const;#endifprotected//Generated message map functionsprotected //{{AFX_MSG(CCOOSADOC) //NOTE-the ClassWizard will add and remove member functions here. //DO NOT EDIT what you see in these blocks of generated code! //}}AFX_MSG DECLARE_MESSAGE_MAP()};///////////////////////////////////////////////////////////////////////////////////////{AFX_INSERT_LOCATION}}//Microsoft Visual C++ will insert additional declarations immediately before theprevious line.#endif//!defined(AFX_COOSADOC_H_A68F4669_S205_408B_BDB0_5014E43C1E04_INCLUDED_)3.1.4 COOSAView Class//COOSAView.hinterface of the CCOOSAView class//////////////////////////////////////////////////////////////////////////#if!defined(AFX_COOSAVIEW_H_B3BE2EFB_65E3_42DC_9D25_09DF12F0F3CF_INCLUDED_)#defineAFX_COOSAVIEW_H_B3BE2EFB_65E3_42DC_gD25_09DF12F0F3CF_INCLUDED_)#if_MSC_VER>1000#pragma once#endif//_MSC_VER>1000#include ″Vendor.h″class CCOOSAViewpublic Cview{protected//create from serialization only CCOOSAView(); DECLARE_DYNCREATE(CCOOSAView)//Attributespublic CCOOSADoc* GetDocument();//Operationspublic//Overrides //ClassWizard generated virtual function overridesimplementation.txt //{{AFX_VIRTUAL(CCOOSAView) public virtual void OnDraw(CDC* pDC);//overridden to draw this view virtual BOOL PreCreateWindow(CREATESTRUCT& cs); protected virtual BOOL OnPreparePrinting(CPrintInfo*pInfo); virtual void OnBeginPrinting(CDC* pDC,CprintInfo* pInfo); virtual void OnEndPrinting(CDC* pDC,CprintInfo* pInfo); //}}AFX_VIRTUAL//Implementationpublic virtual~CCOOSAView();#ifdef_DEBUG virtual void AssertValid()const; virtual void Dump(CDumpContext& dc) const;#endifprotected//Generated message map functionsprotected //{{AFX_MSG(CCOOSAView) afx_msg void OnVendor(); afx_msg void OnVendordesc(); afx_msg void OnTrai ningData(); //}}AFX_MSG DECLARE_MESSAGE_MAP()};#ifdef_DEBUG//debug version in COOSAView.cppinline CCOOSADoc* CCOOSAViewGetDocument() {return(CCOOSADoc*)m_pDocument;}#endif///////////////////////////////////////////////////////////////////////{{ASFx_INSERT_LOCATION}}//Microsoft Visual C++ will insert additional declarations immediately before theprevious line.#endif//!defined(AFX_COOSAVIEW_H_B3BE2EFB_65E3_42DC_9D25_09DF12F0F3CF_INCLUDED_)3.1.5 Training Data Class//{{AFX_INCLUDES()#include ″mshflexgrid.h″//}}AFX_INCLUDES#if!defined(AFX_TRAININGDATA_H_9428B465_52E7_460D_828A_067 ED023FFCC_INCLUDED_)#defineAFX_TRAININGDATA_H_9428B465_52E7_460D_828A_067ED023FFCC_INCLUDED_#if _MSC_VER>1000#pragma once#endif//_MSC_VER>1000//TrainingData.hheader file//implementation.txt#incl ude<afxdb.h>#incl ude<afxmt.h>///////////////////////////////////////////////////////////////////////////////////CTrainingData dialogclass CTriaining Datapublic CDialog{//Constructionpublic CTrainingData(Cwnd* pParent=NULL);//standard constructor//Dialog Data//{{AFX_DATA(CTrainingData)enum{IDD=IDD_TRAININGDATA};CButton m_cancel;CButton m_save;CButton m_edit;CButton m_delete;CButton m_add;CButton m_go;CEdit m_p roduct;CEdit m_vendor;CEdit m_search;CMSHFlexGrid m_grid;//}}AFX_DATA//Overrides//Class Wizard generated virtual function overrides//{{AFX_VIRTUAL(CTrainingData)protectedvirtual void DODataExchange(CDataExchange* pDX);//DDX/DDV support//}}AFX_VIRTUAL//ImplementationprotectedCString m_action;CString m_ven void FindExample(CString str);int m_row_num;int m_nCol;int m_nRow;BOOL m_bEditing;//Generated message map functions//{{AFX_MSG(CTrainingData)virtual BOOL OnInitDialog();afx_msg void OnGo();afx_msg void OnClickMshflexgrid 1();afx_msg void OnAdd();afx_msg void OnEdit();afx_msg void OnCancel();afx_msg void OnSave();DECLARE_EVENTSINK_MAP()//}}AFX_MSGDECLARE MESSAGE_MAP()private;CDatabase *db};//{{AFX_INSERT_LOCATION}}implementation.txt//Microsoft Visual C++ will insert additional declarations immediately before theprevious line.#endif//!defined(AFX_TRAININGDATA_H_9428B465_52E7_460D_828A_067ED023FFCC_INCLUDED_)3.1.6 Vendor Class#if!defined(AFX_VENDOR_H_D8B9F7F6_5D0C_441D_8025_BC709FEAEFB5_INCLUDED_)#define AFX_VENDOR_H_D8B9F7F6_5D0C_441D_8025_BC709FEAEFB5_INCLUDED_#if_MSC_VER>1000#pragma once#endif//_MSC_VER>1000//Vendor.hheader file//#include ″Vendorinfo.h″#include ″AddVendor.h″//////////////////////////////////////////////////////////////Cvendorclass CVendorpublic CPropertySheet{ DECLARE_DYNAMIC(CVendor)//Constructionpublic CVendor(UINT nIDCaption,CWnd* pParentWnd=NULL,UINT iSelectPage=0); CVendor(LPCTSTR pszCaption,CWnd* pParentWnd= NULL,UINT iSelectPage=0);//Attributespublic CVendorInfo m_vendorinfo; CAddVendor m_addvendor;//Operationspublic//Overrides //ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CVendor) //}}AFX_VIRTUAL//Implementationpublic virtual~CVendor(); //Generated message map functionsprotected //{{AFX_MSG(CVendor) //NOTE-the ClassWizard will add and remove member functions here. //}}AFX_MSG DECLARLMESSAGE_MAP()};////////////////////////////////////////////////////////////implementation.txt//{{AFX_INSERT_LOCATION}}//Microsoft Visual C++ will insert additional declarations immediately before theprevious line.#endif//!defined(AFX_VENDOR_H_D8B9F7F6_5D0C_441D_8025_BC709FEAEFB5_INCLUDED_)3.2 Shopping Phase3.2.1 Agent Class//Agent.hDeclaration of the Cagent,Get input data from GUI#ifndef_AGENT_H_#define_AGENT_H_#include ″resource.h″//main symbols#include<asptib.h> //Active Server Pages Definitions#include<iostream.h>#include<string>#include<stdlib.h>#include<fstream.h>#include<stdio.h>#include ″AgentProcess. h″class AgentProcess;//////////////////////////////////////////////////////////////////////CAgentClass ATL_NO_VTABLE CAgent public CComObjectRootEx<CComSingleThreadModel>, public CComCoClass<CAgent,&CLSID_Agent>, public IDispatchimpl<IAgent,&IID_IAgent,&LIBID_NEXTGENLib>{public Cagent() { m_bonStartPageCalled=FALSE; }publicDECLARE_REGISTRY_RESOURCEID(IDR_AGENT)DECLARE_PROTECT_FINAL_CONSTRUCT()BEGIN_COM_MAP(CAgent) COM_INTERFACLENTRY(IAgent) COM_INTERFACLENTRY(IDispatch)END_COM_MAP()//IAgentpublic STDMETHOD(put_Manu)(/*[in]*/BSTR newVal); STDMETHOD(put_LowerPrice)(/* [in] */double newVal ); STDMETHOD(put_UpperPrice)(/* [in] */double newVal); CString sHtmlFile; CagentProcess *Agentimplementati on. txt CString getHtml(void); CString TestHtml(void); STDMETHOD(getHeader)(/* [in] */BSTR input,/* [out,retval]*/BSTR *output); CString getpolicy(CString url) CString getTitle(void); STDMETHOD(getURL)(/* [in] */BSTR bstr,/* [out,retval] */BSTR *p_result); STDMETHOD(getPage)(/* [in] */BSTR url,/* [out,retval] */BSTR *page); //Active Server Pages Methods STDMETHOD(OnStartPage)(IUnknown* IUnk) STDMETHOD(OnEndPage)();private; CString m_Manu; double m_LowerPrice; double m_UpperPrice; CComPtr<IRequest>m_piRequest; //Request Object CComPtr<IResponse>m_piResponse; //Rsponse Object CComPtr<ISessionObject>m_piSession;//Session Object CComPtr<IServer>m_piServer;//Server Object CComPtr<IApplicationObject>m_piApplication; //Application Object BOOL m_bOnStartPageCalled; //On StartPage successful?};endif//_AGENT_H_3.2.2. Thread Process#if!defined(AFX_VENDORTHREAD_H_B1938B0F_B508_11D3_96BB_00104B0AA22A_INCLUDED_)#defineAFX_VENDORTHREAD_H_B1938B0F_B508_11D3_98BB_00104B0AA22A_INCLUDED_#if_MSC_VER>1000#pragma once#endif//_MSC_VER>1000//VendorThread.hheader file//#include ″AgentProcess.h″class CagentProcess;/////////////////////////////////////////////////////////////////////////CVendorThread threadclass CVendorThreadpublic CWinThread{ DECLARE_DYNCREATE(CVendorThread)protected CVendorThread();//protected constructor used by dynamic creation//Attributespublic CAgentProcess *Agent; ThreadCommArea *CommArea;// ThreadResult *tResult; CPtrList list;//Operationspublicimplementation.txt bool is Valid(ThreadResult* tResult); BOOL GetPrice();//Get product price from a vendor BOOL ModelMatching(Cstring sModel ,CString& sMan);//Overrides //ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CVendorThread) public virtual BOOL InitInstance(); virtual int ExitInstance(); virtual int Run(); //}}AFX_VIRTUAL//Implementationprotected virtual~CvendorThread(); //Generated message map functions //{{AFX_MSG(CVendorThread) //NOTE-the ClassWizard will add and remove member functions here. //}}AFX_MSG DECLARE_MESSAGE_AP()};//////////////////////////////////////////////////////////////////////////////////////{{AFX_INSERT_LOCATION}}//Microsoft Visual C++ will insert additional declarations before the previousline.#endif//!defined(AFX_VENDORTHREAD_H_B1938B0F_B508_11D3_98BB_00104B0AA22A_INCLUDED_)]]></pre>
權(quán)利要求
1.在相互連接的計(jì)算機(jī)網(wǎng)絡(luò)中實(shí)時(shí)在線搜索各種類型信息的方法,該方法包括如下步驟a.在相互連接的計(jì)算機(jī)網(wǎng)絡(luò)中組合多個(gè)站點(diǎn)的站點(diǎn)說明,對(duì)每個(gè)站點(diǎn)包含I.站點(diǎn)的URL,II.站點(diǎn)的搜索表格URL,III.表明所選類別的信息是如何組織的通用化規(guī)則,IV.從與所選類別的信息對(duì)應(yīng)的站點(diǎn)中獲取的樣本數(shù)據(jù),V.在所述站點(diǎn)中發(fā)現(xiàn)的域說明;b.接受在線用戶對(duì)指定類型信息的請(qǐng)求;c.從站點(diǎn)說明中識(shí)別有特定類型信息的站點(diǎn);d.利用對(duì)每個(gè)識(shí)別站點(diǎn)的站點(diǎn)說明編制對(duì)指定類型信息的搜索請(qǐng)求;e.將編制的搜索請(qǐng)求發(fā)送給識(shí)別的站點(diǎn);f.從識(shí)別的站點(diǎn)接收搜索結(jié)果,以及在所接收的搜索結(jié)果中定位出精確的匹配內(nèi)容后,以所述站點(diǎn)本機(jī)語言提取與指定類型信息相對(duì)應(yīng)的信息,并將所提取的信息顯示給用戶。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述的通用化規(guī)則包括可識(shí)別的特征,所述特征可以精確的識(shí)別所選擇類型的信息是否在該站點(diǎn)內(nèi)。
3.根據(jù)權(quán)利要求1所述的方法,其中,所述發(fā)送所編制的搜索請(qǐng)求的步驟是多線程的。
4.通過相互連接的計(jì)算機(jī)網(wǎng)絡(luò)組合站點(diǎn)信息,以便用于對(duì)所選類型的信息進(jìn)行實(shí)時(shí)在線搜索處理的方法,所述方法包括以下步驟a.通過相互連接的計(jì)算機(jī)網(wǎng)絡(luò)從多個(gè)站點(diǎn)收集如下信息I.多個(gè)站點(diǎn)中每個(gè)站點(diǎn)的URL,II.多個(gè)站點(diǎn)中每個(gè)站點(diǎn)的搜索表格URL,III.從多個(gè)站點(diǎn)中的每個(gè)站點(diǎn)中重獲的包含所選類別的信息的樣本頁面,IV.在樣本頁面內(nèi)的與可選擇類別信息相關(guān)的位置信息;b.從收集的信息中,獲得有關(guān)多個(gè)站點(diǎn)中的每個(gè)站點(diǎn)上的所選類別的信息的組織方式的通用化規(guī)則。
5.根據(jù)權(quán)利要求4所述的方法,其中,所述獲得通用化規(guī)則的步驟包括組合識(shí)別特征的步驟,所述特征可以唯一地確定在多個(gè)站點(diǎn)中的每個(gè)站點(diǎn)中是否存在所選類型的信息。
6.根據(jù)權(quán)利要求5所述的方法,其中,組合識(shí)別特征的步驟包括如下步驟I.在樣本頁面中識(shí)別限定所選類型的信息的邊界的定界符;II.從所述站點(diǎn)重獲更多的樣本頁面;III.針對(duì)重獲的樣本頁面確認(rèn)所識(shí)別的定界符。
7.根據(jù)權(quán)利要求6所述的方法,其中,識(shí)別定界符的步驟包括如下步驟I.從所述樣本頁面,為每個(gè)所選類型的信息編制定界符的可能存在的字符串列表;II.將為一個(gè)樣本頁面編制的定界符的字符串列表與為另一個(gè)樣本頁面編制的定界符的字符串列表進(jìn)行比較,對(duì)所編制的列表進(jìn)行修訂,以便符合所有比較的樣本頁面;另外,其中所述確認(rèn)的步驟包括對(duì)從所述站點(diǎn)同時(shí)獲取的其他樣本頁面進(jìn)行重復(fù)比較的步驟。
8.一種用于通過相互連接的計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行實(shí)時(shí)在線搜索處理的方法,所述方法包括如下步驟a.通過相互連接的計(jì)算機(jī)網(wǎng)絡(luò)訪問一個(gè)離線數(shù)據(jù)庫,所述數(shù)據(jù)庫中包含許多賣家站點(diǎn)的賣家說明,所述賣家說明中包含有關(guān)多個(gè)賣家站點(diǎn)中的每個(gè)站點(diǎn)的信息,包括I.多個(gè)賣家站點(diǎn)中每個(gè)站點(diǎn)的URL,II.多個(gè)賣家站點(diǎn)中每個(gè)站點(diǎn)的搜索表格URL,III.在多個(gè)賣家站點(diǎn)中的每個(gè)站點(diǎn)中發(fā)現(xiàn)的域說明,IV.通用化規(guī)則,表明多個(gè)賣家站點(diǎn)中的每個(gè)站點(diǎn)上產(chǎn)品信息是如何組織的,V.從所述的多個(gè)賣家站點(diǎn)獲取的價(jià)格和產(chǎn)品信息的樣本;b.從在線用戶接收關(guān)于期望產(chǎn)品的價(jià)格對(duì)比請(qǐng)求;c.從賣家說明中識(shí)別可能包含與所述價(jià)格對(duì)比請(qǐng)求相關(guān)的價(jià)格信息的賣家站點(diǎn);d.利用對(duì)每個(gè)識(shí)別賣家站點(diǎn)的站點(diǎn)說明編制對(duì)期望產(chǎn)品的搜索請(qǐng)求,包括相應(yīng)的搜索表格URL;e.將所編制的搜索請(qǐng)求發(fā)送給識(shí)別出的賣家站點(diǎn);f.從回應(yīng)所發(fā)送的搜索請(qǐng)求而接收到的搜索結(jié)果中提取價(jià)格和產(chǎn)品信息,其中所提取的價(jià)格和產(chǎn)品信息采用的是站點(diǎn)的本機(jī)語言;g.將所提取的價(jià)格和產(chǎn)品信息顯示給用戶。
9.根據(jù)權(quán)利要求8所述的方法,其中,所述的通用化規(guī)則包括定界符,所述定界符能唯一識(shí)別價(jià)格和有關(guān)信息是否出現(xiàn)在多個(gè)賣家站點(diǎn)中的每一個(gè)站點(diǎn)中。
10.根據(jù)權(quán)利要求8所述的方法,其中,所述的多個(gè)賣家站點(diǎn)的URL,和所提取的價(jià)格和產(chǎn)品信息存儲(chǔ)在一個(gè)數(shù)據(jù)庫中。
11.根據(jù)權(quán)利要求10所述的方法,其中,所述存儲(chǔ)在數(shù)據(jù)庫中的多個(gè)賣家站點(diǎn)的URL,和所提取的價(jià)格和產(chǎn)品信息定期更新。
12.根據(jù)權(quán)利要求11所述的方法,其中,所述存儲(chǔ)在數(shù)據(jù)庫中的多個(gè)賣家站點(diǎn)的URL,和提取的價(jià)格和產(chǎn)品信息每天自動(dòng)更新。
13.根據(jù)權(quán)利要求8所述的方法,其中,所述多個(gè)賣家說明中的每個(gè)針對(duì)不同的在線賣家。
14.根據(jù)權(quán)利要求13所述的方法,其中,針對(duì)每個(gè)不同的在線賣家只有一個(gè)賣家說明存儲(chǔ)在數(shù)據(jù)庫中。
15.根據(jù)權(quán)利要求8所述的方法,其中,所述提取步驟包括,在回應(yīng)所發(fā)送的搜索請(qǐng)求而接收到的搜索結(jié)果中核實(shí)是否存在與期望產(chǎn)品精確匹配的內(nèi)容的步驟。
16.根據(jù)權(quán)利要求8所述的方法,其中,所述顯示步驟包括顯示只來自具有最優(yōu)價(jià)格的賣家站點(diǎn)的期望產(chǎn)品的價(jià)格和產(chǎn)品信息的步驟。
17.根據(jù)權(quán)利要求8所述的方法,其中,所述顯示步驟包括以可選擇的排列方式顯示期望產(chǎn)品的價(jià)格和產(chǎn)品信息的步驟。
18.根據(jù)權(quán)利要求8所述的方法,其中,顯示步驟包括,顯示期望產(chǎn)品的價(jià)格和產(chǎn)品信息的步驟,所述信息按照價(jià)格分類。
19.根據(jù)權(quán)利要求8所述的方法,還包括由安全界面組成的用戶識(shí)別認(rèn)證的步驟。
20.根據(jù)權(quán)利要求19所述的方法,其中,安全界面把用戶分成臨時(shí)試用用戶和終身成員。
21.根據(jù)權(quán)利要求8所述的方法,其中,所述多個(gè)賣家站點(diǎn)中的賣家被分成注冊的和未注冊的。
22.根據(jù)權(quán)利要求8所述的方法,其中,所述賣家說明是通過歸納獲知方法自動(dòng)編制的。
23.根據(jù)權(quán)利要求22所述的方法,其中,所述歸納獲知方法可以在多語種環(huán)境中工作。
24.根據(jù)權(quán)利要求22所述的方法,其中,所述歸納獲知方法是域獨(dú)立的。
25.根據(jù)權(quán)利要求22所述的方法,其中,所述歸納獲知方法應(yīng)用于多種域,比如書、電子產(chǎn)品、電影或其它產(chǎn)品。
26.根據(jù)權(quán)利要求22所述的方法,其中,所述歸納獲知方法使用一套小的培訓(xùn)數(shù)據(jù)。
27.根據(jù)權(quán)利要求26所述的方法,其中,所述培訓(xùn)數(shù)據(jù)包括來自在線賣家的產(chǎn)品樣本和URL。
28.根據(jù)權(quán)利要求26所述的方法,其中,所述歸納獲知方法能夠提取和識(shí)別與在線賣家的呈現(xiàn)格式無關(guān)的數(shù)據(jù)。
29.一種通過相互連接的計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行實(shí)時(shí)在線搜索處理的方法,所述方法包括如下步驟a.通過相互連接的計(jì)算機(jī)網(wǎng)絡(luò)在一個(gè)離線數(shù)據(jù)庫中存儲(chǔ)有關(guān)多個(gè)賣家站點(diǎn)的信息,所述信息包括URL,搜索表格URL,域說明,和賣家說明,其中賣家說明包括有關(guān)在每個(gè)賣家站點(diǎn)上產(chǎn)品信息組織方式的通用化規(guī)則;b.使用存儲(chǔ)在所述離線數(shù)據(jù)庫中的信息,處理期望產(chǎn)品的價(jià)格對(duì)比請(qǐng)求的參數(shù),所述價(jià)格對(duì)比請(qǐng)求是從在線用戶接收來的;c.從所識(shí)別的多個(gè)賣家站點(diǎn)中的一個(gè)站點(diǎn)提取實(shí)時(shí)價(jià)格和產(chǎn)品信息,其中所提取的實(shí)時(shí)價(jià)格和產(chǎn)品信息采用所述站點(diǎn)的本機(jī)語言;d.把所提取的實(shí)時(shí)價(jià)格和產(chǎn)品信息顯示給用戶。
30.根據(jù)權(quán)利要求29所述的方法,其中所述接收價(jià)格對(duì)比請(qǐng)求的步驟進(jìn)一步包括接收來自用戶的至少一個(gè)搜索參數(shù)和在所述的計(jì)算機(jī)網(wǎng)絡(luò)上的至少一個(gè)在線賣家的識(shí)別標(biāo)志的步驟;而且其中所述提取步驟包括如下步驟I.使用處理的參數(shù)把請(qǐng)求實(shí)時(shí)地傳送給至少一個(gè)在線賣家;II.從響應(yīng)傳送步驟獲得的搜索結(jié)果中獲取有關(guān)價(jià)格和產(chǎn)品信息的數(shù)據(jù);III.對(duì)所獲取的數(shù)據(jù)按價(jià)格分類;IV.顯示來自至少一個(gè)賣家的期望產(chǎn)品的處理數(shù)據(jù)。
31.根據(jù)權(quán)利要求30所述的方法,其中,所述接收價(jià)格對(duì)比請(qǐng)求的步驟由在線用戶啟動(dòng)。
32.根據(jù)權(quán)利要求30所述的方法,其中,在傳送請(qǐng)求的步驟,所處理的參數(shù)是下列參數(shù)的結(jié)合搜索參數(shù),從用戶接收的賣家識(shí)別標(biāo)志,所識(shí)別的賣家的賣家說明,以及所識(shí)別的賣家的URL。
33.根據(jù)權(quán)利要求30所述的方法,其中,保存在離線數(shù)據(jù)庫中的賣家說明包括標(biāo)識(shí)賣家站點(diǎn)信息的模式,其中獲取數(shù)據(jù)的步驟采用所述模式。
34.根據(jù)權(quán)利要求30所述的方法,其中提取實(shí)時(shí)價(jià)格和產(chǎn)品信息的步驟是域獨(dú)立的并與語言無關(guān)。
35.根據(jù)權(quán)利要求30所述的方法,其中顯示所處理的數(shù)據(jù)的步驟基于對(duì)要以HTML顯示的信息進(jìn)行組織。
全文摘要
本發(fā)明涉及在相互連接的計(jì)算機(jī)網(wǎng)絡(luò)上實(shí)時(shí)在線搜索處理的方法和系統(tǒng),其中來自該相互連接的計(jì)算機(jī)網(wǎng)絡(luò)的許多賣家站點(diǎn)的離線數(shù)據(jù)庫信息被保存下來。該信息包括URL,搜索表格URL,域說明,以及賣家說明,而賣家說明中包含每個(gè)賣家站點(diǎn)中產(chǎn)品信息組織方式的通用化的規(guī)則。使用保存在離線數(shù)據(jù)庫中的信息處理目標(biāo)產(chǎn)品價(jià)格對(duì)比請(qǐng)求的參數(shù),該價(jià)格對(duì)比請(qǐng)求從在線用戶或購買者和/或本發(fā)明的系統(tǒng)接收。然后從多個(gè)賣家站點(diǎn)中的經(jīng)識(shí)別的站點(diǎn)提取實(shí)時(shí)價(jià)格和產(chǎn)品信息,其中所提取的價(jià)格和產(chǎn)品信息以站點(diǎn)本機(jī)語言的形式出現(xiàn);所提取的價(jià)格和產(chǎn)品信息顯示給用戶。
文檔編號(hào)G06F17/30GK1478237SQ01819690
公開日2004年2月25日 申請(qǐng)日期2001年9月27日 優(yōu)先權(quán)日2000年9月29日
發(fā)明者謝越輝 申請(qǐng)人:謝越輝