句子關鍵詞提取算法設計_第1頁
句子關鍵詞提取算法設計_第2頁
句子關鍵詞提取算法設計_第3頁
句子關鍵詞提取算法設計_第4頁
句子關鍵詞提取算法設計_第5頁
已閱讀5頁,還剩1頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、句子關鍵詞提取算法設計李明浩1(廈門大學 計算機科學系,福建 廈門 361005摘要:本文從網絡答疑系統的設計與開發的需要出發,討論了句子關鍵詞提取的總體思路,即“先分解再綜合,遵循組句規律,抽取特征,降低難度,提高速度”,并具體提出一個算法,從理論上,該算法能完成一般語句的關鍵詞提取,而且通過引入獨立字、固定詞的概念,加快了關鍵詞提取的速度。同時也指出了算法存在的不足。關鍵詞:句子關鍵詞提取1 引言網絡答疑系統的設計與開發是目前的一個研究熱點,其中涉及到的關鍵技術是如何從用戶輸入的問題中提取主要意思,并且由計算機根據相關度從答案數據庫中查詢并給出答案。要從用戶輸入的問題中提取主要意思,即需要

2、解決如何從一句話中提取關鍵詞然后逐級匹配的問題。本文就如何從一句話中提取關鍵詞提出一個不成熟的算法。2 平臺(知識庫要進行關鍵詞的提取,首先要有完整的語義分析庫。萬幸的是,董振東先生在知網上給出了一個完整的庫,包括了詞性、詞義等等,可供給我們研究人員免費使用。縱觀該庫,分類科學、分析精到,經我國漢語言研究權威機構認證通過,非常適用。我們將其選作關鍵詞提取的支持庫,即知識平臺。3 關鍵詞提取的總體思路總體思路是“先分解再綜合,遵循組句規律,抽取特征,降低難度,提高速度”。首先,要對句子進行劃分,判斷該句是簡單句還是復合句(具體內涵與漢語研究略有不同,見算法部分,將復合句劃分為簡單句,然后以簡單句

3、為單位進行提取。復合句關鍵詞在此基礎上進行連接。這樣將極大地簡化關鍵詞提取的復雜度。簡單句提取關鍵詞時先進行字詞判定,這時應用許多漢語字詞組成特點以加快判斷速度。這是核心部分。在其中,我引入獨立字、固定詞概念。所謂獨立字,就是指一般情況下不能組詞的字。固定詞即該詞最后一個漢字不可能與其后面的漢字組詞的詞。這兩個概念僅1李明浩(1975-,男,福建連城人,講師,龍巖市成人中專學校教務處主任,廈門大學在職研究生,主要研究領域為信息安全保障。為本算法所用,不作一般研究用。判定字詞后,根據詞性結合常見的獨立字作用(如“是”作判斷謂語、“的”做定語連接部分提取出主謂賓,即所謂的關鍵詞。4 關鍵詞提取的算

4、法描述關鍵詞的提取,最終落實到句子成份的劃分,即劃分出主謂賓并提取出來。下面是具體算法。4.1 利用標點符號判斷一句話主要的標點符號有句號、問號、感嘆號等,只要出現它們,就表明是一句話。引號內的部分是不是一句話的判斷:若引號前有冒號,則肯定是一句話。若引號前沒有冒號,則將其看作是句子的相對獨立部分。省略號是不是一句話的結束的判斷:若省略號后面立即回車,則一定是一句話的結束;若后面緊跟漢字,則先將其當作不是一句話的結束,在后面利用標點符號判斷一句話中的相對獨立部分時再進行判定。接下來的判斷均以此時劃定的一句話為單位進行。4.2 劃分簡單句和復合句根據句子中標點符號的個數來判斷,一句話不止一個標點

5、符號,則判斷為復合句。注意,此處的簡單句復合句與漢語上的定義略有不同,僅是為方便算法設計而定。4.3 簡單句關鍵詞的提取首先是如何將詞語劃分出來。漢語的所有詞匯直接連在一起,而沒有空格隔開,且詞語的字數不確定,這些都增加了劃分詞語的難度。針對這情況,我設計算法如下:最常見的獨立字有“是”、“為”、“不”、“和”、“與”、“或”、“了”、“的”、“地”、“得”、“有”、“中”、“將”等。取詞時先判斷它前后的漢字是否與它連成一個詞。以“是”字為例,一句話為“這是不能否認的”,先判斷“這”與“是”不是一個詞,再判斷“是不”,它可以作為一個詞,因為“不”字后面還有漢字,這時又要先判斷“不能”是不是一個

6、詞,是一個詞,則“是不”就不是一個詞。又如“是否可以判斷呢”這句話中,“是否”可以是一個詞,應判斷“否可”是不是一個詞,在此處顯然不是,這時就可以判定“是否”在這句話中是一個詞。再如“通信雙方是互相信任的”這句話,“是”字與其前其后的漢字都不能組成詞,那么很容易判斷它是一個獨立字,先取出。最常見的固定詞有“我們”、“你們”、“他們”、“那么”、“最終”等,但“介紹”不是,如“向您推介紹興的黃酒”,此處的“介紹”就不是。當然,根據其出現的概率,可以將“介紹”當作一個準固定詞語。然后,按獨立字判斷的方法進行判斷。這將會有效地加速關鍵詞的提取過程。漢語里面最常見的是雙字詞,所以以獨立字和固定詞為界,

7、分別向前向后以兩個字為單位判斷它們是不是一個詞。若不是,則將第一個字獨立出來。若是,再判斷獨立字第二第三個字是不是一個詞。若不是,則可以肯定第一第二個字是一個詞;若是,則再判斷第二第三個字是不是一個詞。依此類推。若結束句子時只剩一個字,則可斷定為它是單字詞(其實大部分已經由獨立字取出。首先要根據三字詞的特點,如常見的“性”字作為結尾,將它與其前的兩字詞連在一起判斷是否為一個詞,如“可行性”。這里需要先找出作為三個詞的結尾的常見字加入一個知識庫。四字以上的多字詞一般情況下是連續的多個獨立字,只要對出現連續的多個獨立字進行判斷即可。對于獨立字“是”可以取為關鍵詞,其前緊靠的名詞與其后緊跟的名詞可直

8、接取出作為關鍵詞。不是緊跟的就做下一步判斷。對于獨立字“的”、“地”,根據“的”、“地”取出其后緊跟的詞,判斷是不是對應名詞(代詞、動詞,若是,則將其取出。這就是關鍵詞。若不是,再將句中所有的名詞(代詞、動詞取出,按先后順序連接在一起,句子中至少有一個名詞(或代詞和一個動詞,那么就取出名詞和動詞(但不要取代詞,可作為關鍵詞。若少于一個名詞(代詞和一個動詞,那么,將該句舍棄,不再提取關鍵詞。對于多個“的”,則分別取后面的倒數第二個“的”后與最后一個“的”前的詞,看它是不是同一個詞。若是,則判斷它是否可作形容詞使用。若是可以,則最后的“的”字后面的詞為關鍵詞。若不可以,則兩個“的”后的詞都提取作關

9、鍵詞,然后再往前推,分析前面的“的”字。若沒有“的”、“地”,將句中所有的名詞(代詞、動詞取出,按先后順序連接在一起,句子中至少有一個名詞(或代詞和一個動詞,那么就取出名詞和動詞(但不要取代詞,可作為關鍵詞。若少于一個名詞(代詞和一個動詞,那么,將該句舍棄,不再提取關鍵詞。4.4 復合句關鍵詞的提取除了作為句子的標點符號以外,其它標點符號往往作為相對獨立部分的標志。5 本算法存在的不足本算法有一定的普適性。如對省略句,它不會因為省略部分而產生誤取;對倒裝句,由于其完全不考慮詞語間的邏輯關系,也不會出現漏取。但是,因時間關系,本算法只考慮了一般的句子結構,而且對句子的組成規律研究不夠深入,所以對

10、于較復雜的單句可能提取的準確率就要下降了。同時,本算法只考慮提取主謂賓作為關鍵詞,不考慮其它的情況,也不考慮詞語間的邏輯關系,也對進一步深入分析句子留下了許多問題。說明:本文所有內容均系原創,所以沒有列出任何參考文獻。Sentence Keywords Extraction Algorithm DesigningLi Ming-Hao(Department of Computer Science, Xiamen University, Xiamen 361005, ChinaAbstractIn this paper, we discuss the thoughts of keywords extraction of a sentence, that is “decomposition and then synthesis, by the rules of

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論