專利名稱:形成用于生成文檔模板的合并樹的方法以及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及計(jì)算機(jī)領(lǐng)域,更具體而言,涉及形成用于生成文檔模板的合并樹的方法以及裝置。
背景技術(shù):
隨著因特網(wǎng)和電子技術(shù)的飛速發(fā)展,人們不再受地域的限制,可以方便的在網(wǎng)上交換各種各樣的信息。在大量用戶的參與之下,網(wǎng)站(比如論壇、博客、產(chǎn)品目錄網(wǎng)站等)的網(wǎng)頁中存在大量的有用信息,這些信息不僅對于個(gè)人而且對于企業(yè)都有很好的使用價(jià)值。為了獲得這些有用信息,需要下載網(wǎng)站中所包括的多個(gè)網(wǎng)頁以進(jìn)行進(jìn)一步的分析提取。對于同一個(gè)網(wǎng)站的網(wǎng)頁,大多數(shù)都具有相似的結(jié)構(gòu)和組成,如果使用這些頁面的模板,那么去除噪音后提取其中的有用信息,就會(huì)變得簡單而精確。其中,如何生成正確的模板就成為其中的關(guān)鍵所在。而且,原來的模板生成通常是通過手工來實(shí)現(xiàn)的,但是由于站點(diǎn)的眾多以及站點(diǎn)模板的變化,使得生成和長期維護(hù)一個(gè)模板成為一件費(fèi)時(shí)而且費(fèi)力的工作。
發(fā)明內(nèi)容
針對上述情況,本發(fā)明的目的是提出一種通過對由多個(gè)頁面解析成的多棵樹進(jìn)行比較和合并來形成合并樹的方法,以提高使用合并樹生成模板的準(zhǔn)確率。此外,本發(fā)明的另一目的是提出一種通過對合并樹根據(jù)節(jié)點(diǎn)的特征進(jìn)行歸納和提取來生成站點(diǎn)網(wǎng)頁的模板的方法,以使得模板的生產(chǎn)變得簡單。按照本發(fā)明的一方面,提供了一種形成用于生成文檔模板的合并樹的方法,包括以下步驟相似度計(jì)算步驟,用于當(dāng)從由多個(gè)頁面解析成的多棵樹中每顆樹與另一顆樹進(jìn)行比較時(shí)計(jì)算兩顆被比樹中位于同一層的子樹的相似度,以從兩顆被比樹中提取相似度大于或等于預(yù)定第一閾值的相似子樹和該些相似子樹的公共根節(jié)點(diǎn),其中從所述多棵樹的節(jié)點(diǎn)能夠提取所需特征;合并步驟,使用提取的所有樹的相似子樹來形成初始合并樹,其中初始合并樹的根節(jié)點(diǎn)是所有樹的相似子樹的公共根節(jié)點(diǎn);以及后處理步驟,用于對初始合并樹進(jìn)行后處理,以通過去除初始合并樹的無效子樹來獲得合并樹。按照本發(fā)明的一方面,提供了一種形成用于生成文檔模板的合并樹的裝置,包括相似度計(jì)算單元,配置成當(dāng)從由多個(gè)頁面解析成的多棵樹中每顆樹與另一顆樹進(jìn)行比較時(shí)計(jì)算兩顆被比樹中位于同一層的子樹的相似度,以從兩顆被比樹中提取相似度大于或等于預(yù)定第一閾值的相似子樹和該些相似子樹的公共根節(jié)點(diǎn),其中從所述多棵樹的節(jié)點(diǎn)能夠提取所需特征;合并單元,配置成使用提取的所有樹的相似子樹來形成初始合并樹,其中初始合并樹的根節(jié)點(diǎn)是所有樹的相似子樹的公共根節(jié)點(diǎn);以及后處理單元,配置成對初始合并樹進(jìn)行后處理,以通過去除初始合并樹的無效子樹來獲得合并樹。根據(jù)本發(fā)明實(shí)施例的方法和裝置可獲得的一個(gè)益處是,通過合并由多個(gè)頁面解析成的多棵樹得到用于生成模板的合并樹,能夠提高生成模板的準(zhǔn)確率。進(jìn)一步,通過對合并樹根據(jù)節(jié)點(diǎn)的特征進(jìn)行歸納和提取,能夠降低因?yàn)轫撁嬷械囊恍┪⑿∽兓鴮?dǎo)致生成錯(cuò)誤模板的風(fēng)險(xiǎn)。此外,通過對一些參數(shù)的改變,可以提高不同情況下的準(zhǔn)確率??色@得的另外益處是,通過對多個(gè)頁面的歸納,可以明確地發(fā)現(xiàn)模板路徑中容易發(fā)生變化的節(jié)點(diǎn),通過把這些節(jié)點(diǎn)變化信息添加到路徑模板中,可以減少以后提取信息的時(shí)間消耗和增加提取信息的準(zhǔn)確率,從而增加了生成模板的靈活性??色@得的又一益處是,根據(jù)節(jié)點(diǎn)的特征進(jìn)行信息路徑的歸納和提取,使得模板的生產(chǎn)變得自動(dòng)而簡單,而且能夠通過對抽取結(jié)果和原來存儲結(jié)果的對比,從而及時(shí)發(fā)現(xiàn)其中的改變并修改發(fā)生變化的模板。
從對說明本發(fā)明的主旨及其使用的優(yōu)選實(shí)施例和附圖的以下描述來看,本發(fā)明的以上和其它目的、特點(diǎn)和優(yōu)點(diǎn)將是易明白的。附圖中的部件不一定成比例繪制,而只是為了示出本發(fā)明的原理。為了便于示出和描述本發(fā)明的一些部分,附圖中對應(yīng)部分可能被放大,即,使其相對于在依據(jù)本發(fā)明的示例性裝置中的其它部件變得更大。在附圖中,相同的或類似的技術(shù)特征或部件將采用相同或類似的附圖標(biāo)記來表示。圖1是示出了根據(jù)本發(fā)明實(shí)施例的用于生成文檔模板的合并樹的形成方法的流程簡圖;圖2是示出了應(yīng)用圖1所示方法的一個(gè)具體例子的流程簡圖;圖3是示出了在如圖1所示實(shí)施例的方法的一個(gè)具體示例中所應(yīng)用的相似度計(jì)算步驟的流程簡圖;圖4是示出了在如圖1所示的實(shí)施例的方法的一個(gè)具體示例中所應(yīng)用的后處理步驟的流程簡圖;圖5是示出了根據(jù)本發(fā)明的實(shí)施例的形成用于生成文檔模板的合并樹的裝置的簡化框圖;以及圖6是示出了可用于實(shí)施根據(jù)本發(fā)明實(shí)施例的方法和裝置的計(jì)算機(jī)的示意性框圖。
具體實(shí)施例方式下面參照附圖來說明本發(fā)明的實(shí)施例。在本發(fā)明的一個(gè)附圖或一種實(shí)施方式中描述的元素和特征可以與一個(gè)或更多個(gè)其它附圖或?qū)嵤┓绞街惺境龅脑睾吞卣飨嘟Y(jié)合。應(yīng)當(dāng)注意,為了清楚的目的,附圖和說明中省略了與本發(fā)明無關(guān)的、本領(lǐng)域普通技術(shù)人員已知的部件和處理的表示和描述。圖1是示出了根據(jù)本發(fā)明實(shí)施例的用于生成文檔模板的合并樹的形成方法100的流程簡圖。如圖1所示,該方法開始于步驟S110。在相似度計(jì)算步驟S120,當(dāng)從由多個(gè)頁面解析成的多棵樹中每顆樹與另一顆樹進(jìn)行比較時(shí),計(jì)算被比的兩顆樹中位于同一層的子樹的相似度,以從被比的兩顆樹中提取相似度大于或等于預(yù)定第一閾值的相似子樹和該些相似子樹的公共根節(jié)點(diǎn)。在合并步驟S130,使用提取的所有樹的相似子樹來形成初始合并樹,其中初始合并樹的根節(jié)點(diǎn)是所有樹的相似子樹的公共根節(jié)點(diǎn)。然后,在后處理步驟S140,對初始合并樹進(jìn)行后處理,以通過去除初始合并樹的無效子樹來獲得合并樹。下面參照圖2-4詳細(xì)地描述根據(jù)圖1的實(shí)施例的方法的一個(gè)具體示例。圖2是示出了應(yīng)用了圖1所示方法的一個(gè)具體例子的流程簡圖。如圖2所示,在步驟S212,獲取某一站點(diǎn)的η個(gè)頁面例如η個(gè)主題頁面,并把頁面解析成η顆DOM(DocumentObject Model,文檔對象模型)樹(η > 1)。優(yōu)選地,選取同一站點(diǎn)的η個(gè)URL(統(tǒng)一資源定位器)相似度最高的主題頁面,以便提高生成模板的準(zhǔn)確性。在一個(gè)示例中,可以通過網(wǎng)頁下載程序?qū)崟r(shí)地下載網(wǎng)頁的源代碼。在另一個(gè)示例中,還可以將下載的網(wǎng)頁的源代碼形成一個(gè)臨時(shí)的網(wǎng)頁文件預(yù)存在存儲裝置(例如計(jì)算機(jī)硬盤)中。網(wǎng)頁的源代碼可以是HTML格式的。通過解析網(wǎng)頁的源代碼,可以利用DOM技術(shù)來建立網(wǎng)頁的DOM樹結(jié)構(gòu)。網(wǎng)頁的DOM樹結(jié)構(gòu)中可以包括一個(gè)或多個(gè)節(jié)點(diǎn)。接著,在步驟S214,按照一定規(guī)則對DOM樹進(jìn)行諸如剪枝的預(yù)處理,以去除其中的常見干擾項(xiàng),例如注釋節(jié)點(diǎn)、腳本節(jié)點(diǎn)、框架節(jié)點(diǎn)、圖片節(jié)點(diǎn)和顯示表示節(jié)點(diǎn)等對于形成DOM合并樹無用的節(jié)點(diǎn)。然后,在相似度計(jì)算步驟S220,把DOM樹按層次進(jìn)行比較,以找到同層相似子樹。下面結(jié)合圖3來示范性說明在根據(jù)本發(fā)明實(shí)施例的用于生成模板的合并樹的形成方法中相似度計(jì)算步驟的流程。在圖3所示的相似度計(jì)算步驟S320,首先在步驟S322,從η棵DOM樹的任意兩顆DOM樹中各自順序選取根節(jié)點(diǎn)相同的一顆子樹作為用于比較的兩顆子樹,取出兩顆子樹的所有葉節(jié)點(diǎn)并為兩顆子樹分別形成葉節(jié)點(diǎn)列表。在步驟S3M,對于每個(gè)葉節(jié)點(diǎn),根據(jù)該葉節(jié)點(diǎn)的所有父節(jié)點(diǎn)名稱,形成從該葉節(jié)點(diǎn)至該葉節(jié)點(diǎn)所在子樹的相應(yīng)根節(jié)點(diǎn)的路徑字符串,并且在步驟S325記錄每個(gè)葉節(jié)點(diǎn)的父節(jié)點(diǎn)數(shù)目ΡΝ。接下來,在步驟,找出兩顆子樹中葉節(jié)點(diǎn)名稱相同的路徑中的相同路徑(相同路徑字符串),并確定所述相同路徑在兩顆子樹中分別存在的數(shù)目LN。過程進(jìn)行到步驟S327,通過把兩顆子樹的葉節(jié)點(diǎn)列表中路徑字符串相同的葉節(jié)點(diǎn)進(jìn)行合并來合并兩顆子樹的葉節(jié)點(diǎn)列表,以生成一個(gè)總?cè)~節(jié)點(diǎn)列表,其中總?cè)~節(jié)點(diǎn)列表中的葉節(jié)點(diǎn)數(shù)目為N,表示兩顆子樹中路徑字符串互不相同(路徑不同)的葉節(jié)點(diǎn)的數(shù)目之和。然后,在步驟,按照下面的公式(1),計(jì)算兩顆子樹的相似度A。
j^PN^LN^LN^A = -χ logmax PNi(1)
^PNi(LNa-LNi2)
i=\其中PNi表示總?cè)~節(jié)點(diǎn)列表中第i個(gè)葉節(jié)點(diǎn)的父節(jié)點(diǎn)的數(shù)目,max PNi表示針對兩顆子樹的所有葉節(jié)點(diǎn)的父節(jié)點(diǎn)數(shù)目的最大值,i為整數(shù)(i =。...,吣,以及?。和I^i2分別表示兩顆子樹的第一顆子樹和第二顆子樹中針對第i個(gè)葉節(jié)點(diǎn)的路徑中相同路徑的數(shù)目。在所有葉節(jié)點(diǎn)的LNil和LNi2 (i = 1,...,N)分別相等的情況下,上述公式⑴中的分子被取成預(yù)定值,例如0. 1 0. 5范圍內(nèi)的某個(gè)值。如果相似度A大于或等于預(yù)定相似度閾值(第一閾值),則確定被比的兩顆子樹為相似子樹,否則為不相似子樹。在判定兩顆子樹相似的情況下,從被比的兩顆DOM樹中順次地各自選取根節(jié)點(diǎn)相同的下一顆子樹進(jìn)行比較,直到兩顆DOM樹的所有層的子樹都進(jìn)行了比較為止。另一方面,在判定兩顆子樹不相似的情況下,把第二顆DOM樹的當(dāng)前被比子樹的具有相同根節(jié)點(diǎn)的下一顆子樹選為待比較子樹,與第一顆DOM樹的當(dāng)前被比子樹進(jìn)行比較,以判斷是否為相似子樹。在所選取的第二顆DOM樹的子樹為某一層的最后一顆子樹的情況下,可以在該層循環(huán)選取子樹,從而把當(dāng)與第一顆DOM樹的其他子樹進(jìn)行比較時(shí)已被確定為不相似子樹的在前子樹選為待比較子樹。按照上述方法,對兩顆DOM樹的每一層的子樹進(jìn)行比較,以提取相似度大于或等于預(yù)定第一閾值的相似子樹和該些相似子樹的公共根節(jié)點(diǎn)。接下來,在合并步驟S230,根據(jù)相似子樹進(jìn)行樹合并,以生成第一 DOM合并樹。具體地,按照一定規(guī)則把兩顆DOM樹的相似子樹進(jìn)行合并;而對于被比的兩顆DOM樹中確定為不相似子樹的子樹,則原樣保留在第一 DOM合并樹中。在一個(gè)實(shí)施例中,可以按照如下方式把兩顆DOM樹的相似子樹進(jìn)行合并把相似子樹中對應(yīng)的根節(jié)點(diǎn)作為合并樹的根節(jié)點(diǎn),同時(shí)修改該節(jié)點(diǎn)的權(quán)值,例如把兩顆子樹的根節(jié)點(diǎn)各自的權(quán)值與相似度相加來得到合并樹的根節(jié)點(diǎn)的權(quán)值,權(quán)值的初始值例如設(shè)為0,以及合并節(jié)點(diǎn)對應(yīng)的參數(shù)(相同的參數(shù)只保留一次即可)和對應(yīng)的文本內(nèi)容;根節(jié)點(diǎn)合并后,當(dāng)前兩顆子樹的子樹采用同樣的方式依次合并,如此循環(huán)直到所有的節(jié)點(diǎn)合并完成。在DOM樹的數(shù)目大于2的情況下(η > 2),過程返回相似度計(jì)算步驟S220,從η棵DOM樹中再選取一顆DOM樹與第一 DOM合并樹進(jìn)行比較,以自這兩顆被比DOM樹中提取相似子樹和該些相似子樹的公共根節(jié)點(diǎn)。接下來,過程進(jìn)行到合并步驟S230,使用提取的相似子樹和該些相似子樹的公共根節(jié)點(diǎn)來形成第二 DOM合并樹。如此循環(huán)進(jìn)行相似度計(jì)算步驟和合并步驟的處理,直到η棵DOM樹中的所有DOM樹被選取為止。通過此過程,生成了初始合并樹。初始合并樹的路徑部分,由所有DOM樹的公共路徑部分組成。也就是說,初始合并樹以最深公共根節(jié)點(diǎn)作為父節(jié)點(diǎn),添加從其他樹提取的子樹作為其子樹。在一替換實(shí)施例中,可以首先在相似度計(jì)算步驟S220中把η棵DOM樹中的每兩顆DOM樹進(jìn)行比較,并且在合并步驟S230中把η棵DOM樹進(jìn)行兩兩合并,以得到第一合并樹。在DOM樹的數(shù)目大于2的情況下(η >幻,過程返回相似度計(jì)算步驟S220,把通過兩兩合并得到的第一合并樹中的每兩顆第一合并樹進(jìn)行比較,并且在合并步驟S230中把第一合并樹進(jìn)行兩兩合并。如此循環(huán)進(jìn)行相似度計(jì)算步驟和合并步驟的處理,直到最終得到一顆合并樹,以作為初始合并樹。接下來,過程進(jìn)行到后處理步驟S240,根據(jù)一定規(guī)則和特征對初始合并樹進(jìn)行后處理,以通過去除無效子樹來獲得DOM合并樹。下面結(jié)合圖4來示范性說明在根據(jù)本發(fā)明實(shí)施例的用于生成文檔模板的合并樹的形成方法中后處理步驟的流程。在圖4所示的后處理步驟S440中,首先在步驟S442,取初始合并樹中一個(gè)節(jié)點(diǎn)并得到該節(jié)點(diǎn)的所有屬性和權(quán)值。在一個(gè)實(shí)施例中,權(quán)值是相似度計(jì)算步驟中得到的涉及以該節(jié)點(diǎn)為根節(jié)點(diǎn)的子樹的所有次比較的全部相似度之和。在另一實(shí)施例中,權(quán)值是全部相似度之和經(jīng)過歸一化處理后得到的歸一化值。屬性例如是文本內(nèi)容、節(jié)點(diǎn)原有的參數(shù)。在步驟S444中根據(jù)屬性去除干擾節(jié)點(diǎn)后,過程進(jìn)行到步驟S446,根據(jù)權(quán)值與截?cái)嚅撝?第二閾值)和窗口閾值(第三閾值)的大小關(guān)系對初始合并樹進(jìn)行處理。具體地,對于權(quán)值小于截?cái)嚅撝档墓?jié)點(diǎn),丟棄以該節(jié)點(diǎn)為根節(jié)點(diǎn)的子樹,對于權(quán)值大于窗口閾值的節(jié)點(diǎn)則保留。而對于權(quán)值大于或等于截?cái)嚅撝档切∮诨虻扔诖翱陂撝档墓?jié)點(diǎn),則在步驟S448中,根據(jù)某些特征對這些節(jié)點(diǎn)進(jìn)行驗(yàn)證。所依據(jù)的特征例如是文本特征、參數(shù)特征、節(jié)點(diǎn)類型特征。此后,過程進(jìn)行到步驟S449,對于驗(yàn)證通過的節(jié)點(diǎn),提高其權(quán)值并保留,而對于驗(yàn)證未通過的節(jié)點(diǎn)則丟棄以該節(jié)點(diǎn)為根節(jié)點(diǎn)的子樹,以消除誤判和/或錯(cuò)誤累加。在上述實(shí)施例中,在使用所有DOM樹形成初始合并樹之后再進(jìn)行后處理,以去除無效子樹。在另一實(shí)施例中,在DOM樹的數(shù)目較大的情況下,可以在初始合并樹的形成過程中增加另外的用于去除無效子樹的后處理,以簡化后續(xù)處理。例如,在對使用η/2顆DOM樹形成的第(n/2-l)合并樹進(jìn)行去除無效子樹的后處理之后,再使用剩余的η/2顆DOM樹進(jìn)行相似度計(jì)算步驟和合并步驟的處理。然后,過程進(jìn)行到步驟S250。在步驟S250,首先從DOM合并樹中選取有效信息節(jié)點(diǎn)。例如可以通過如下方式提取有效信息節(jié)點(diǎn)從DOM合并樹的子樹中提取所有葉子節(jié)點(diǎn),生成路徑并得到路徑總數(shù);先按照路徑進(jìn)行分類得到相同路徑,再對相同路徑按照所對應(yīng)的所有節(jié)點(diǎn)的文本內(nèi)容進(jìn)行分類;計(jì)算相同路徑中按照文本內(nèi)容的分類數(shù)量與路徑總數(shù)的比率,比率越大說明內(nèi)容變化越大,就越有可能是有效信息路徑,否則就是框架無用信息。接下來,根據(jù)選取的節(jié)點(diǎn)的特征對DOM合并樹進(jìn)行歸納和提取,以選取需要的信息路徑,所述特征可以包括參數(shù)特征、節(jié)點(diǎn)類型特征和文本特征中的至少一種。在一個(gè)實(shí)施例中,節(jié)點(diǎn)的信息路徑可以是字符串形式的。所述信息路徑可以包括有關(guān)從相應(yīng)的DOM樹結(jié)構(gòu)的根節(jié)點(diǎn)到某個(gè)節(jié)點(diǎn)的信息,具體而言,包括從所述根節(jié)點(diǎn)到達(dá)該節(jié)點(diǎn)要經(jīng)過的各節(jié)點(diǎn)的信息。在一個(gè)示例中,信息可以包括節(jié)點(diǎn)的名稱(如標(biāo)簽)、順序號等。所述順序號指示節(jié)點(diǎn)在相應(yīng)的DOM樹結(jié)構(gòu)中的位置。在一個(gè)示例中,所述順序號可以指示節(jié)點(diǎn)在相應(yīng)的DOM樹結(jié)構(gòu)的所屬層中的位置。根據(jù)節(jié)點(diǎn)特征對DOM樹進(jìn)行歸納和提取是本領(lǐng)域技術(shù)人員公知的技術(shù),細(xì)節(jié)不再贅述。之后,保存選取的信息路徑,從而生成頁面模板。當(dāng)生成了所有所選擇節(jié)點(diǎn)的信息路徑后,也就獲得了包括這些節(jié)點(diǎn)的信息路徑的頁面模板。在一個(gè)示例中,所生成的模板可以是XML(Extensible Markup Language,可擴(kuò)展標(biāo)記語言)文件格式的。然后,過程進(jìn)行到步驟S^K),使用生成的模板從多個(gè)頁面提取信息,并在步驟S262中判斷提取信息的正確率與預(yù)定閾值之間的關(guān)系。如果正確率大于預(yù)定閾值,則判定所生成的模板為正確模板,過程結(jié)束。否則判定DOM合并樹錯(cuò)誤并更改參數(shù),例如相似度閾值、截?cái)嚅撝祷虼翱陂撝?,過程返回相似度計(jì)算步驟S220,重新確定相似子樹。在上述的形成用于生成文檔模板的合并樹的方法的各個(gè)實(shí)施例中,使用文檔對象模型(DOM)樹結(jié)構(gòu)進(jìn)行了說明。本領(lǐng)域技術(shù)人員能夠理解,頁面也可以被解析成能夠從節(jié)點(diǎn)提取出所需特征的其他類型的樹,例如標(biāo)簽樹。再者,本發(fā)明另外的實(shí)施例還提供了一種形成用于生成文檔模板的合并樹的裝置。圖5示出了這種裝置500的簡化框圖。如圖所示,該裝置500包括相似度計(jì)算單元520,配置成當(dāng)從由η個(gè)頁面解析成的η棵樹(例如DOM樹)中每顆樹與另一顆樹進(jìn)行比較時(shí)計(jì)算兩顆被比樹中位于同一層的子樹的相似度,以從兩顆被比樹中提取相似度大于或等于預(yù)定第一閾值的相似子樹和該些相似子樹的公共根節(jié)點(diǎn);以及合并單元530,配置成使用提取的所有樹的相似子樹來形成初始合并樹,其中初始合并樹的根節(jié)點(diǎn)是所有樹的相似子樹的公共根節(jié)點(diǎn);以及后處理單元M0,配置成對初始合并樹進(jìn)行后處理,以通過去除初始合并樹的無效子樹來獲得合并樹。對于樹的數(shù)目大于2的情況(η > 2),相似度計(jì)算單元所進(jìn)行的處理和合并單元進(jìn)行的處理循環(huán)進(jìn)行。在一個(gè)實(shí)施例中,相似度計(jì)算單元520把η棵樹中的第一顆樹與第二顆樹進(jìn)行比較,以自第一和第二顆樹提取相似子樹和該些相似子樹的公共根節(jié)點(diǎn),并且合并單元530使用提取的相似子樹和該些相似子樹的公共根節(jié)點(diǎn)來形成第一合并樹。接著,相似度計(jì)算單元520把η棵樹中的第三顆樹與第一合并樹進(jìn)行比較,以提取相似子樹和公共根節(jié)點(diǎn),并且合并單元530使用提取的相似子樹和公共根節(jié)點(diǎn)來形成第二合并樹。如此進(jìn)行循環(huán)。最后,相似度計(jì)算單元520把η棵樹中的第η顆樹與第(n-幻合并樹進(jìn)行比較,以提取相似子樹和公共根節(jié)點(diǎn),并且合并單元530使用提取的相似子樹和公共根節(jié)點(diǎn)來形成第(η-1)合并樹,作為初始合并樹。上述圖5中示出的裝置500及其所包括的各個(gè)單元520-530,可以被配置成執(zhí)行上面參照圖1-4所描述的各種操作。關(guān)于這些操作的進(jìn)一步細(xì)節(jié),可以參考以上描述的各個(gè)實(shí)施例具體實(shí)施方式
和實(shí)例,這里不再詳細(xì)描述。上面已通過框圖、流程圖和/或?qū)嵤├M(jìn)行了詳細(xì)描述,闡明了根據(jù)本發(fā)明的實(shí)施例的裝置和/或方法的不同實(shí)施方式。當(dāng)這些框圖、流程圖和/或?qū)嵤├粋€(gè)或多個(gè)功能和/或操作時(shí),本領(lǐng)域的技術(shù)人員明白,這些框圖、流程圖和/或?qū)嵤├械母鞴δ芎?或操作可以通過各種硬件、軟件、固件或?qū)嵸|(zhì)上它們的任意組合而單獨(dú)地和/或共同地實(shí)施。在一種實(shí)施方式中,本說明書中描述的主題的幾個(gè)部分可通過特定用途集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、數(shù)字信號處理器(DSP)或其他集成形式實(shí)現(xiàn)。然而,本領(lǐng)域的技術(shù)人員會(huì)認(rèn)識到,本說明書中描述的實(shí)施方式的一些方面能夠全部或部分地在集成電路中以在一個(gè)或多個(gè)計(jì)算機(jī)上運(yùn)行的一個(gè)或多個(gè)計(jì)算機(jī)程序的形式(例如,以在一個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng)上運(yùn)行的一個(gè)或多個(gè)計(jì)算機(jī)程序的形式)、以在一個(gè)或多個(gè)處理器上運(yùn)行的一個(gè)或多個(gè)程序的形式(例如,以在一個(gè)或多個(gè)微處理器上運(yùn)行的一個(gè)或多個(gè)程序的形式)、以固件的形式、或以實(shí)質(zhì)上它們的任意組合的形式等效地實(shí)施,并且,根據(jù)本說明書中公開的內(nèi)容,設(shè)計(jì)用于本公開的電路和/或編寫用于本公開的軟件和/或固件的代碼完全是在本領(lǐng)域技術(shù)人員的能力范圍之內(nèi)。例如,上述裝置500中各個(gè)組成模塊、單元、子單元可以通過軟件、固件、硬件或其任意組合的方式進(jìn)行配置。在通過軟件或固件實(shí)現(xiàn)的情況下,可從存儲介質(zhì)或網(wǎng)絡(luò)向具有專用硬件結(jié)構(gòu)的計(jì)算機(jī)(例如圖6所示的通用計(jì)算機(jī)600)安裝構(gòu)成該軟件的程序,該計(jì)算機(jī)在安裝有各種程序時(shí),能夠執(zhí)行各種功能。圖6示出了可用于實(shí)施根據(jù)本發(fā)明實(shí)施例的方法和裝置的計(jì)算機(jī)的示意性框圖。在圖6中,中央處理單元(CPU)601根據(jù)只讀存儲器(ROM)602中存儲的程序或從存儲部分608加載到隨機(jī)存取存儲器(RAM) 603的程序執(zhí)行各種處理。在RAM 603中,還根據(jù)需要存儲當(dāng)CPU 601執(zhí)行各種處理等等時(shí)所需的數(shù)據(jù)。CPU 601、R0M602和RAM 603經(jīng)由總線604彼此連接。輸入/輸出接口 605也連接到總線604。下述部件也連接到輸入/輸出接口 605 輸入部分606 (包括鍵盤、鼠標(biāo)等等)、輸出部分607(包括顯示器,例如陰極射線管(CRT)、液晶顯示器(LCD)等,和揚(yáng)聲器等)、存儲部分608 (包括硬盤等)、通信部分609 (包括網(wǎng)絡(luò)接口卡例如LAN卡、調(diào)制解調(diào)器等)。通信部分609經(jīng)由網(wǎng)絡(luò)例如因特網(wǎng)執(zhí)行通信處理。根據(jù)需要,驅(qū)動(dòng)器610也可連接到輸入/輸出接口 605。可拆卸介質(zhì)611例如磁盤、光盤、磁光盤、半導(dǎo)體存儲器等等可以根據(jù)需要被安裝在驅(qū)動(dòng)器610上,使得從中讀出的計(jì)算機(jī)程序根據(jù)需要被安裝到存儲部分608中。在通過軟件實(shí)現(xiàn)上述系列處理的情況下,可以從網(wǎng)絡(luò)例如因特網(wǎng)或從存儲介質(zhì)例如可拆卸介質(zhì)611安裝構(gòu)成軟件的程序。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,這種存儲介質(zhì)不局限于圖6所示的其中存儲有程序、與設(shè)備相分離地分發(fā)以向用戶提供程序的可拆卸介質(zhì)611??刹鹦督橘|(zhì)611的例子包含磁盤(包含軟盤)、光盤(包含光盤只讀存儲器(⑶-ROM)和數(shù)字通用盤(DVD))、磁光盤(包含迷你盤(MD)(注冊商標(biāo)))和半導(dǎo)體存儲器?;蛘?,存儲介質(zhì)可以是ROM 602、存儲部分608中包含的硬盤等等,其中存有程序,并且與包含它們的設(shè)備一起被分發(fā)給用戶。因此,本發(fā)明還提出了一種存儲有機(jī)器可讀取的指令代碼的程序產(chǎn)品。所述指令代碼由機(jī)器讀取并執(zhí)行時(shí),可執(zhí)行上述根據(jù)本發(fā)明實(shí)施例的各種方法。相應(yīng)地,用于承載這種程序產(chǎn)品的上面列舉的各種存儲介質(zhì)也包括在本發(fā)明的公開中。在上面對本發(fā)明具體實(shí)施例的描述中,針對一種實(shí)施方式描述和/或示出的特征可以以相同或類似的方式在一個(gè)或更多個(gè)其它實(shí)施方式中使用,與其它實(shí)施方式中的特征相組合,或替代其它實(shí)施方式中的特征。應(yīng)該強(qiáng)調(diào),術(shù)語“包括/包含”在本文使用時(shí)指特征、要素、步驟或組件的存在,但并不排除一個(gè)或更多個(gè)其它特征、要素、步驟或組件的存在或附加。此外,本發(fā)明的方法不限于按照說明書中描述的時(shí)間順序來執(zhí)行,也可以按照其他的時(shí)間順序地、并行地或獨(dú)立地執(zhí)行。因此,本說明書中描述的方法的執(zhí)行順序不對本發(fā)明的技術(shù)范圍構(gòu)成限制。通過上面對本發(fā)明的實(shí)施例的描述可知,本發(fā)明涵蓋的技術(shù)方案包括但不限于如下附記所描述的內(nèi)容附記1. 一種形成用于生成文檔模板的合并樹的方法,包括以下步驟相似度計(jì)算步驟,用于當(dāng)從由多個(gè)頁面解析成的多棵樹中每顆樹與另一顆樹進(jìn)行比較時(shí)計(jì)算兩顆被比樹中位于同一層的子樹的相似度,以從兩顆被比樹中提取相似度大于或等于預(yù)定第一閾值的相似子樹和該些相似子樹的公共根節(jié)點(diǎn),其中從所述多棵樹的節(jié)點(diǎn)能夠提取所需特征;合并步驟,使用提取的所有樹的相似子樹來形成初始合并樹,其中初始合并樹的根節(jié)點(diǎn)是所有樹的相似子樹的公共根節(jié)點(diǎn);以及后處理步驟,用于對初始合并樹進(jìn)行后處理,以通過去除初始合并樹的無效子樹來獲得合并樹。附記2.按照附記1所述的方法,其中相似度計(jì)算步驟和合并步驟包括把多棵樹中的第一樹與多棵樹中的第二樹進(jìn)行比較,以使用自第一和第二樹提取的相似子樹和該些相似子樹的公共根節(jié)點(diǎn)來形成第一合并樹;以及把第η樹與第(η-2)合并樹進(jìn)行比較,以使用自第η樹和第(η_2)合并樹提取的相似子樹和該些相似子樹的公共根節(jié)點(diǎn)來形成第(η-1)合并樹,其中η是大于等于3的整數(shù)。附記3.按照附記1或2所述的方法,其中相似度計(jì)算步驟包括從被比的兩顆樹中各自順序選取根節(jié)點(diǎn)相同的一顆子樹作為用于比較的兩顆子樹,形成從兩顆子樹中每顆子樹的所有葉節(jié)點(diǎn)至該顆子樹的根節(jié)點(diǎn)的路徑,分別確定兩顆子樹中葉節(jié)點(diǎn)的名稱相同的所述路徑中相同路徑的數(shù)目,以及根據(jù)以下公式計(jì)算兩顆子樹的相似度A
權(quán)利要求
1.一種形成用于生成文檔模板的合并樹的方法,包括以下步驟相似度計(jì)算步驟,用于當(dāng)從由多個(gè)頁面解析成的多棵樹中每顆樹與另一顆樹進(jìn)行比較時(shí)計(jì)算兩顆被比樹中位于同一層的子樹的相似度,以從兩顆被比樹中提取相似度大于或等于預(yù)定第一閾值的相似子樹和該些相似子樹的公共根節(jié)點(diǎn),其中從所述多棵樹的節(jié)點(diǎn)能夠提取所需特征;合并步驟,使用提取的所有樹的相似子樹來形成初始合并樹,其中初始合并樹的根節(jié)點(diǎn)是所有樹的相似子樹的公共根節(jié)點(diǎn);以及后處理步驟,用于對初始合并樹進(jìn)行后處理,以通過去除初始合并樹的無效子樹來獲得合并樹。
2.按照權(quán)利要求1所述的方法,其中相似度計(jì)算步驟和合并步驟包括把多棵樹中的第一樹與多棵樹中的第二樹進(jìn)行比較,以使用自第一和第二樹提取的相似子樹和該些相似子樹的公共根節(jié)點(diǎn)來形成第一合并樹;以及把第η樹與第(η-2)合并樹進(jìn)行比較,以使用自第η樹和第(η_2)合并樹提取的相似子樹和該些相似子樹的公共根節(jié)點(diǎn)來形成第(η-1)合并樹,其中η是大于等于3的整數(shù)。
3.按照權(quán)利要求1或2所述的方法,其中相似度計(jì)算步驟包括從被比的兩顆樹中各自順序選取根節(jié)點(diǎn)相同的一顆子樹作為用于比較的兩顆子樹,形成從兩顆子樹中每顆子樹的所有葉節(jié)點(diǎn)至該顆子樹的根節(jié)點(diǎn)的路徑,分別確定兩顆子樹中葉節(jié)點(diǎn)的名稱相同的所述路徑中相同路徑的數(shù)目,以及根據(jù)以下公式計(jì)算兩顆子樹的相似度A
4.按照權(quán)利要求1-3中任一項(xiàng)所述的形成方法,其中后處理步驟包括對于其根節(jié)點(diǎn)具有落入等于或大于預(yù)定第二閾值且等于或小于預(yù)定第三閾值的閾值范圍內(nèi)的與所述相似度有關(guān)的權(quán)值的所述初始合并樹的子樹進(jìn)行處理,以便消除誤判和/或錯(cuò)誤累加。
5.按照權(quán)利要求1-4中任一項(xiàng)所述的形成方法,還包括對解析成的多棵樹進(jìn)行預(yù)處理的步驟,以去除對于形成合并樹沒有作用的節(jié)點(diǎn)。
6.按照權(quán)利要求1-5中任一項(xiàng)所述的形成方法,還包括后處理步驟之后的歸納和提取步驟,用于根據(jù)合并樹的節(jié)點(diǎn)的特征,對合并樹進(jìn)行歸納和提取處理,以選取需要的信息路徑。
7.按照權(quán)利要求6所述的形成方法,其中所述特征包括參數(shù)特征、節(jié)點(diǎn)類型特征和文本特征中的至少一種。
8.按照權(quán)利要求6或7所述的形成方法,還包括根據(jù)所選取的需要的信息路徑來生成文檔模板的步驟。
9.一種形成用于生成文檔模板的合并樹的裝置,包括相似度計(jì)算單元,配置成當(dāng)從由多個(gè)頁面解析成的多棵樹中每顆樹與另一顆樹進(jìn)行比較時(shí)計(jì)算兩顆被比樹中位于同一層的子樹的相似度,以從兩顆被比樹中提取相似度大于或等于預(yù)定第一閾值的相似子樹和該些相似子樹的公共根節(jié)點(diǎn),其中從所述多棵樹的節(jié)點(diǎn)能夠提取所需特征;合并單元,配置成使用提取的所有樹的相似子樹來形成初始合并樹,其中初始合并樹的根節(jié)點(diǎn)是所有樹的相似子樹的公共根節(jié)點(diǎn);以及后處理單元,配置成對初始合并樹進(jìn)行后處理,以通過去除初始合并樹的無效子樹來獲得合并樹。
10.按照權(quán)利要求9所述的裝置,其中相似度計(jì)算單元和合并單元包括相似度循環(huán)計(jì)算子單元和循環(huán)合并子單元,以及所述相似度循環(huán)計(jì)算子單元和循環(huán)合并子單元配置成把多棵樹中的第一樹與多棵樹中的第二樹進(jìn)行比較,以使用自第一和第二樹提取的相似子樹和該些相似子樹的公共根節(jié)點(diǎn)來形成第一合并樹;以及把第η樹與第(η-2)合并樹進(jìn)行比較,以使用自第η樹和第(η_2)合并樹提取的相似子樹和該些相似子樹的公共根節(jié)點(diǎn)來形成第(η-1)合并樹,其中η是大于等于3的整數(shù)。
全文摘要
本發(fā)明涉及一種形成用于生成文檔模板的合并樹的方法以及裝置,所述方法包括以下步驟相似度計(jì)算步驟,用于當(dāng)從由多個(gè)頁面解析成的多棵樹中每顆樹與另一顆樹進(jìn)行比較時(shí)計(jì)算兩顆被比樹中位于同一層的子樹的相似度,以從兩顆被比樹中提取相似度大于或等于預(yù)定第一閾值的相似子樹和該些相似子樹的公共根節(jié)點(diǎn),其中從所述多棵樹的節(jié)點(diǎn)能夠提取所需特征;合并步驟,使用提取的所有樹的相似子樹來形成初始合并樹,其中初始合并樹的根節(jié)點(diǎn)是所有樹的相似子樹的公共根節(jié)點(diǎn);以及后處理步驟,用于對初始合并樹進(jìn)行后處理,以通過去除初始合并樹的無效子樹來獲得合并樹。
文檔編號G06F17/30GK102375847SQ20101026074
公開日2012年3月14日 申請日期2010年8月17日 優(yōu)先權(quán)日2010年8月17日
發(fā)明者于浩, 夏迎炬, 孟遙, 王新文 申請人:富士通株式會(huì)社