專利名稱:摘要提取方法以及摘要提取模塊的制作方法
技術領域:
本發明涉及根據關鍵詞從文檔中提取摘要的技術領域,特別是摘要提取方法和摘要提取模塊。
背景技術:
搜索引擎是目前互聯網上常見的一種工具。通常,搜索引擎利用爬蟲從網絡上的站點或者本地計算機上獲取數據,并形成多個文檔。當用戶使用搜索引擎進行搜索時,搜索引擎根據用戶提交的關鍵詞匹配到一個或多個文檔。接著,搜索引擎中的摘要提取模塊根據用戶提交的關鍵詞,從所匹配到的文檔中提取與關鍵詞相關的內容作為摘要,該摘要應該能夠最大限度地包含與關鍵詞相關的信息,然后搜索引擎通過頁面將各個文檔的摘要顯示給用戶。
目前,摘要提取模塊在文檔中通過關鍵詞進行位置匹配,然后將文檔中關鍵詞周圍的內容作為摘要。例如,當關鍵詞為三個時,這些關鍵詞在文檔中出現了10次、12次、18次,現有的摘要提取模塊將這30處關鍵詞中的一部分關鍵詞及其附近的內容作為摘要。
但是,當文檔中有4個包括全部關鍵詞的句子時,說明這4個句子與關鍵詞非常相關,但是上述現有技術并不能得知這一情況,從而提取出這4個句子作為摘要的一部分。換言之,現有的摘要提取方法提取出的摘要與關鍵詞的關聯程度較低,并不能將文檔中與關鍵詞高度相關的內容體現出來。
發明內容
有鑒于此,本發明提出了一種摘要提取方法,用以將與關鍵詞高度匹配的內容提取出來作為摘要。本發明還提出了一種摘要提取模塊。
本發明提供了一種摘要提取方法,該方法包括在文檔中以設定步長滑動窗口的過程中,從文檔中提取與當前窗口對應的當前窗口內容,根據關鍵詞計算當前窗口內容的權重,并保存當前窗口內容及對應的權重;在滑動結束后,根據所保存的窗口內容及對應的權重,取出與較高權重對應的一個或多個窗口內容作為摘要。
所述設定步長為文檔內容中的最小單位。
在根據關鍵詞計算當前窗口內容的權重之前進一步包括判斷當前窗口內容中是否包含關鍵詞的步驟,并在是的情況下計算當前窗口內容的權重。
所述根據關鍵詞計算當前窗口內容的權重的步驟包括對每個關鍵詞的權重求和作為當前窗口內容的權重。
該方法進一步包括根據各關鍵詞的重要性,為各關鍵詞的權重分別乘以一個系數,其中所述系數隨重要性的增加而增大;和/或,為當前窗口內容的權重乘以或加上一個系數,該系數在當前窗口內容中關鍵詞出現的次序與輸入的關鍵詞的次序越接近時和/或在當前窗口內容中關鍵詞之間的距離越短時越大。
在保存當前窗口內容及對應的權重之前進一步包括判斷當前窗口內容的權重是否大于與當前窗口重疊的窗口內容的權重,并在是的情況下保存當前窗口內容及對應的權重。
所述取出與較高權重對應的一個或多個窗口內容作為摘要的步驟包括根據權重對對應的窗口內容排序;根據摘要的大小,按照權重從大到小的順序取出一個或多個窗口內容作為摘要。
本發明還提供了一種摘要提取模塊,該模塊包括存儲單元、滑動單元、計算單元以及摘要形成單元,其中所述存儲單元用于存儲文檔、窗口內容及對應的權重;所述滑動單元用于在文檔中以設定步長滑動窗口,并在滑動的過程中,從文檔中提取與當前窗口對應的當前窗口內容提供給計算單元;
所述計算單元用于根據關鍵詞計算當前窗口內容的權重,并在存儲單元中保存當前窗口內容及對應的權重;所述摘要形成單元用于在滑動結束后從所述存儲單元取出與較高權重對應的一個或多個窗口內容作為摘要。
該摘要提取模塊進一步包括設置單元,用于為滑動單元設置窗口大小和滑動步長;和/或,排序模塊,用于根據權重對存儲單元中對應的窗口內容排序,以便所述摘要生成單元順序取出與較高權重對應的一個或多個窗口內容作為摘要。
所述計算單元進一步用于判斷當前窗口內容中是否包含關鍵詞,并在是的情況下計算當前窗口內容的權重;和/或,進一步用于判斷當前窗口內容的權重是否大于與當前窗口重疊的窗口內容的權重,并在是的情況下保存當前窗口內容及對應的權重。
從上述方案中可以看出,由于本發明在窗口滑動過程中根據關鍵詞計算窗口內容的權重,最后取出與較高權重對應的一個或多個窗口內容作為摘要,從而取出能夠最佳反應與關鍵詞關系的摘要內容,將與用戶輸入的關鍵詞最貼近的內容作為摘要提供給用戶。
圖1為根據本發明實施例的摘要提取方法的流程示意圖;圖2為根據本發明實施例的摘要提取系統的結構示意圖。
具體實施例方式
為使本發明的目的、技術方案和優點更加清楚,以下舉實施例對本發明進一步詳細說明。
圖1為根據本發明實施例的摘要提取方法的流程示意圖。如圖1所示,本發明實施例的摘要提取方法包括以下步驟步驟101,預先設定窗口大小以及滑動步長。這里的窗口是指在文檔中提取內容的基本單元,通常包括多個字詞。一般來說步長要小于等于窗口的大小,否則就不能覆蓋到文檔的全部內容。
優選地,將步長設為文檔中內容的最小單位,例如一個漢字、一個英文單詞、一個數字等。
步驟102,以設定的步長向前滑動窗口,并提取當前窗口所對應的內容。在這里將窗口所對應的內容的稱為窗口內容,將當前窗口所對應的內容稱為當前窗口內容。
步驟103,判斷當前窗口中是否包含關鍵詞,如果包含關鍵詞,則執行步驟104及其后續步驟;否則,執行步驟107及其后續步驟。
當然,也可以不進行步驟103的判斷而直接執行步驟104及其后續步驟,因為不包含關鍵詞的情況下當前窗口的權重會被計算為零,從而不會被用作摘要。
步驟104,根據關鍵詞計算當前窗口內容的權重。
這里以關鍵詞為多個的情況進行描述。當關鍵詞為單個時,可以看成是多個關鍵詞的簡化特例。
簡單來說,窗口內容的權重等于對每個關鍵詞的權重求和。簡便起見,以兩個關鍵詞為例進行描述。假設用戶輸入的關鍵詞是“摘要提取”兩個詞,那么,窗口內容的權重就等于“摘要”的權重加上“提取”的權重。而每個關鍵詞的權重與這個關鍵詞在當前窗口內容中出現的次數相關,出現的次數越多,關鍵詞的權重越大。從上面的描述可以看出,窗口內容的權重與其中出現的關鍵詞的個數以及各個關鍵詞出現的次數相關。當關鍵詞為單個時,只需要按照上述方法將關鍵詞的權重作為當前窗口內容的權重即可,并不涉及下面的內容。
進一步,由于每個關鍵詞的重要性是不一樣的,可以在求和之前為每個關鍵詞的權重乘以一個系數。例如,在文檔中“摘要”出現了784次,而“提取”出現了98次,在文檔中出現次數多的關鍵詞的重要性一般小于在文檔中出現次數少,所以在求和之前為“摘要”的權重乘以一個較小的系數,而為“提取”的乘以一個較大的系數,從而區分出兩者的重要性。
更進一步,在計算窗口內容的權重時,還可以根據窗口內容中多個關鍵詞的相關程度,對窗口內容的權重進行修正,例如加一個系數和/或乘以一個系數。舉例來說,當窗口內容中的“摘要”、“提取”出現的次序與用戶輸入的順序一致或者越接近時,加上一個較大的系數和/或乘以一個較大的系數;當窗口內容中的“摘要”、“提取”出現的次序與用戶輸入的順序不一致或者越不接近時,加上一個較小的系數和/或乘以一個較小的系數;當窗口內容中的“摘要”和“提取”的距離較短時,加上一個較大的系數和/或乘以一個較大的系數;當窗口內容中的“摘要”和“提取”的距離較大時,加上一個較小的系數和/或乘以一個較小的系數。
步驟105,判斷當前窗口內容的權重是否大于與當前窗口重疊的窗口內容的權重,如果是,則執行步驟106及其后續步驟;否則,丟棄當前窗口內容,然后執行步驟107及其后續步驟。
步驟106,保存當前窗口內容以及對應的權重。
另外,也可以不執行步驟105的判斷,直接保存當前窗口內容以及對應的權重。
步驟107,判斷滑動是否結束,即是否達到文檔末尾,如果是,則執行步驟108及其后續步驟;如果不是,則執行步驟102及其后續步驟。
步驟108,對保存的窗口內容按照權重進行排序,不妨假設按照與其對應的權重從大到小排列。
步驟109,根據摘要長度的要求,按照步驟108中的排序,從排列的窗口內容中依照圈中從大到小的次序取出一個或多個窗口內容,從而形成摘要。
另外,在本發明實施例的方法中,也可以不執行步驟108的排序,而是在步驟109中,根據所保存的窗口內容及對應的權重,取出與較高權重對應的一個或多個窗口內容作為摘要。
該流程至此結束。
圖2是根據本發明實施例的摘要提取模塊的結構示意圖。參照圖2,該摘要提取裝置包括存儲單元、滑動單元、計算單元以及摘要形成單元。
其中,存儲單元用于存儲文檔、窗口內容及對應的權重。
滑動單元用于在文檔中以設定步長滑動窗口,并且在滑動的過程中,從文檔中提取與當前窗口對應的當前窗口內容,然后將當前窗口內容提供給計算單元。
計算單元用于根據關鍵詞計算當前窗口內容的權重,并在存儲單元中保存當前窗口內容及對應的權重。計算單元可以通過對每個關鍵詞的權重求和作為當前窗口內容的權重。進一步,計算單元還可以根據各關鍵詞的重要性,為各關鍵詞的權重分別乘以一個系數,其中所述系數隨重要性的增加而增大。另外,計算單元還可以為當前窗口內容的權重乘以或加上一個系數,該系數在當前窗口中關鍵詞出現的次序與輸入的關鍵詞的次序越接近時和/或在當前窗口中關鍵詞之間的距離越短時越大。
另外,計算單元可以進一步在收到當前窗口內容并且未計算當前窗口的權重時,判斷當前窗口內容中是否包含關鍵詞,并在是的情況下計算當前窗口內容的權重,如果當前窗口內容中不包含關鍵詞,則不計算當前窗口內容的權重,從滑動單元接收并處理下一個當前窗口內容。
另外,計算單元可以進一步在保存當前窗口內容及對應的權重時,判斷當前窗口內容的權重是否大于與當前窗口重疊的窗口內容的權重,并在是的情況下保存當前窗口內容及對應的權重,如果當前窗口內容的權重不大于與當前窗口重疊的窗口內容的權重,則丟棄當前窗口內容。
摘要形成單元用于在滑動結束后從存儲單元取出與較高權重對應的一個或多個窗口內容作為摘要。
繼續參照圖2,本發明實施例的摘要提取模塊還可以進一步包括設置單元,該設置單元用于為滑動單元設置窗口大小和滑動步長。
本發明實施例的摘要提取模塊還可以進一步包括排序單元,該排序單元用于根據權重對存儲單元中對應的窗口內容排序,以便摘要生成單元順序取出與較高權重對應的一個或多個窗口內容作為摘要。
以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
權利要求
1.一種摘要提取方法,其特征在于,該方法包括在文檔中以設定步長滑動窗口的過程中,從文檔中提取與當前窗口對應的當前窗口內容,根據關鍵詞計算當前窗口內容的權重,并保存當前窗口內容及對應的權重;在滑動結束后,根據所保存的窗口內容及對應的權重,取出與較高權重對應的一個或多個窗口內容作為摘要。
2.根據權利要求1所述的方法,其特征在于,所述設定步長為文檔內容中的最小單位。
3.根據權利要求1所述的方法,其特征在于,在根據關鍵詞計算當前窗口內容的權重之前進一步包括判斷當前窗口內容中是否包含關鍵詞的步驟,并在是的情況下計算當前窗口內容的權重。
4.根據權利要求1所述的方法,其特征在于,所述根據關鍵詞計算當前窗口內容的權重的步驟包括對每個關鍵詞的權重求和作為當前窗口內容的權重。
5.根據權利要求4所述的方法,其特征在于,該方法進一步包括根據各關鍵詞的重要性,為各關鍵詞的權重分別乘以一個系數,其中所述系數隨重要性的增加而增大;和/或,為當前窗口內容的權重乘以或加上一個系數,該系數在當前窗口內容中關鍵詞出現的次序與輸入的關鍵詞的次序越接近時和/或在當前窗口內容中關鍵詞之間的距離越短時越大。
6.根據權利要求1所述的方法,其特征在于,在保存當前窗口內容及對應的權重之前進一步包括判斷當前窗口內容的權重是否大于與當前窗口重疊的窗口內容的權重,并在是的情況下保存當前窗口內容及對應的權重。
7.根據權利要求1所述的方法,其特征在于,所述取出與較高權重對應的一個或多個窗口內容作為摘要的步驟包括根據權重對對應的窗口內容排序;根據摘要的大小,按照權重從大到小的順序取出一個或多個窗口內容作為摘要。
8.一種摘要提取模塊,其特征在于,該摘要提取模塊包括存儲單元、滑動單元、計算單元以及摘要形成單元,其中所述存儲單元用于存儲文檔、窗口內容及對應的權重;所述滑動單元用于在文檔中以設定步長滑動窗口,并在滑動的過程中,從文檔中提取與當前窗口對應的當前窗口內容提供給計算單元;所述計算單元用于根據關鍵詞計算當前窗口內容的權重,并在存儲單元中保存當前窗口內容及對應的權重;所述摘要形成單元用于在滑動結束后從所述存儲單元取出與較高權重對應的一個或多個窗口內容作為摘要。
9.根據權利要求1所述的摘要提取模塊,其特征在于,該摘要提取模塊進一步包括設置單元,用于為滑動單元設置窗口大小和滑動步長;和/或,排序模塊,用于根據權重對存儲單元中對應的窗口內容排序,以便所述摘要生成單元順序取出與較高權重對應的一個或多個窗口內容作為摘要。
10.根據權利要求1所述的摘要提取模塊,其特征在于,所述計算單元進一步用于判斷當前窗口內容中是否包含關鍵詞,并在是的情況下計算當前窗口內容的權重;和/或,進一步用于判斷當前窗口內容的權重是否大于與當前窗口重疊的窗口內容的權重,并在是的情況下保存當前窗口內容及對應的權重。
全文摘要
本發明公開了一種摘要提取方法,該方法包括在文檔中以設定步長滑動窗口的過程中,從文檔中提取與當前窗口對應的當前窗口內容,根據關鍵詞計算當前窗口內容的權重,并保存當前窗口內容及對應的權重;在滑動結束后,根據所保存的窗口內容及對應的權重,取出與較高權重對應的一個或多個窗口內容作為摘要。本發明還公開了一種摘要提取模塊,該模塊包括存儲單元、滑動單元、計算單元以及摘要形成單元。由于本發明在窗口滑動過程中根據關鍵詞計算窗口內容的權重,最后取出與較高權重對應的一個或多個窗口內容作為摘要,從而取出能夠最佳反應與關鍵詞關系的摘要內容,將與用戶輸入的關鍵詞最貼近的內容作為摘要提供給用戶。
文檔編號G06F17/30GK101075260SQ200710109499
公開日2007年11月21日 申請日期2007年6月28日 優先權日2007年6月28日
發明者袁哲 申請人:騰訊科技(深圳)有限公司