本發(fā)明涉及計算機科學
技術領域:
,特別是涉及一種基于n-gram模型的簡歷解析方法。
背景技術:
:隨著互聯網技術的迅速發(fā)展,網絡中容納了海量的、類型各異的原始數據信息。在日常生活中,簡歷是一類十分常見而又重要的文本,它包含了作者的基本情況、工作經驗等信息。因此,如何從海量的簡歷中自動、迅速、準確地抽取有用的信息,成為各大招聘網站、公司和企業(yè)的hr部門迫切需求。簡歷解析本質上是文本信息抽取的應用體現。目前的文本信息抽取模型主要有3種:基于詞典的抽取模型、基于規(guī)則的抽取模型和基于隱馬爾可夫模型的抽取模型?,F有的應用上述3種文本信息抽取模型的簡歷解析方案多采用簡單的關鍵字匹配方法,對自由格式的文本適應性弱、信息抽取準確率低,只能處理特定格式的簡歷。技術實現要素:本發(fā)明主要解決的技術問題是提供一種基于n-gram模型的簡歷解析方法,能夠提高信息抽取準確率并支持不同文件格式。為解決上述技術問題,本發(fā)明采用的一個技術方案是:提供一種基于n-gram模型的簡歷解析方法,包括:s1:收集預定數量的簡歷樣本;s2:統計所述簡歷樣本中的常用字段關鍵詞,并將常用字段關鍵詞按照不同描述類型劃分為不同類別,形成分類詞典;s3:將所述簡歷樣本中緊鄰每一常用字段關鍵詞之后出現的非關鍵詞記為樣本關聯詞,并采用n-gram模型統計每一常用字段關鍵詞轉變到各樣本關聯詞的轉移概率;s4:將待解析簡歷的文件格式轉換為純文本格式;s5:采用最大匹配算法在所述待解析簡歷中查找與分類詞典中的常用字段關鍵詞相匹配的目標關鍵詞;s6:判斷所述目標關鍵詞對應的轉移概率是否大于預定閾值,如果大于預定閾值,則將目標關鍵詞判定為有效關鍵詞;s7:將所述待解析簡歷中緊鄰每一有效關鍵詞之后出現的非關鍵詞記為有效關聯詞,并根據所述有效關聯詞更新每一常用字段關鍵詞對應的轉移概率;s8:利用所述分類詞典對待解析簡歷中的有效關鍵詞增加前綴標注和后綴標注;s9:根據所述前綴標注和后綴標注對待解析簡歷的文本內容進行分段提取,并將分段提取后的文本內容按照預定格式進行輸出。優(yōu)選的,所述非關鍵詞為連續(xù)兩個字符,所述步驟s3具體為;采用tri-gram模型統計每一常用字段關鍵詞轉變到各樣本關聯詞的轉移概率。優(yōu)選的,所述步驟s5具體包括:將所述待解析簡歷的文本內容按照預定長度進行切分,形成待分詞文本;掃描所述待分詞文本,當掃描到與分類詞典中的常用字段關鍵詞相匹配的第一個字符時,從所述第一個字符開始記錄,直到掃描不到與分類詞典中的常用字段關鍵詞相匹配的字符為止;將記錄下的所有字符組成目標關鍵詞。優(yōu)選的,所述根據所述有效關聯詞更新每一常用字段關鍵詞對應的轉移概率的步驟具體為:判斷所述各樣本關聯詞中是否存在與有效關聯詞相同的樣本關聯詞;如果存在與有效關聯詞相同的樣本關聯詞,則更新每一常用字段關鍵詞轉變到有效關聯詞的轉移概率;如果不存在與有效關聯詞相同的樣本關聯詞,則統計每一常用字段關鍵詞轉變到有效關聯詞的轉移概率。優(yōu)選的,所述步驟s8具體包括:查詢所述有效關鍵詞在所述分類詞典中所屬的類別;按照所屬的類別對待解析簡歷中的有效關鍵詞增加前綴標注和后綴標注。優(yōu)選的,所述步驟s9具體包括:將所述待解析簡歷中當前有效關鍵詞的后綴標注與下一個有效關鍵詞的前綴標注之間或者與所述待解析簡歷的文本結束符之間的文本內容作為當前有效關鍵詞的描述信息;依次提取每一有效關鍵詞及其對應的描述信息;將每一有效關鍵詞及其對應的描述信息按照預定格式進行輸出。優(yōu)選的,所述預定格式為json格式。優(yōu)選的,所述待解析簡歷的文件格式至少包括doc格式、pdf格式或html格式。優(yōu)選的,所述簡歷樣本的語言為中文。與現有技術相比,本發(fā)明可以獲得以下技術效果:1)由于基于n-gram模型,具有對不同格式的簡歷適應性好、準確率高的優(yōu)點。2)可以為不同文件格式、自由排版的簡歷提取所有關鍵字,不但方便求職者快速投遞簡歷,提高求職效率;也方便招聘網站、單位實現自動化抽取信息并存儲為人才資源庫,同時提高了招聘網站、單位對簡歷的篩選效率,具有很強的實用性。附圖說明圖1是本發(fā)明實施例提供的簡歷解析方法的流程示意圖。具體實施例下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅是本發(fā)明的一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。參閱圖1,是本發(fā)明實施例提供的簡歷解析方法的流程示意圖。本實施例的簡歷解析方法包括以下步驟:s1:收集預定數量的簡歷樣本。其中,簡歷樣本可以從各類招聘網站上收集。述簡歷樣本的語言為中文,也可以為英文或其他語言。簡歷樣本的文件格式可以是doc格式、pdf格式或html格式。預訂數量可以根據實際需要設定,例如是300份。s2:統計簡歷樣本中的常用字段關鍵詞,并將常用字段關鍵詞按照不同描述類型劃分為不同類別,形成分類詞典。其中,常用字段關鍵詞是預先設定的關鍵字。不同描述類型用于區(qū)分常用字段關鍵詞表述的類別,常用字段關鍵詞的類別劃分舉例如下:(1)姓名、性別、年齡等信息的描述類型為基本信息類,因此將姓名、性別、年齡等信息劃分為類別i;(2)工作經驗、工作經歷、就業(yè)經歷等信息的描述類型為工作經驗類,因此將作經驗、工作經歷、就業(yè)經歷等信息劃分為類別w;(3)教育經歷、學歷等信息的描述類型為教育經驗類,因此將教育經歷、學歷等信息劃分為類別e;(4)外語水平、計算機水平等信息的描述類型為其他技能類,因此將外語水平、計算機水平等信息劃分為類別s。分類詞典結構如下所示:姓名i性別i年齡i......教育經歷e學歷e......工作經驗w工作經歷w.......技能s外語水平s.......s3:將簡歷樣本中緊鄰每一常用字段關鍵詞之后出現的非關鍵詞記為樣本關聯詞,并采用n-gram模型統計每一常用字段關鍵詞轉變到各樣本關聯詞的轉移概率。其中,非關鍵詞的字符個數與n的取值有關,在本實施例中,非關鍵詞為連續(xù)兩個字符,則n的取值為3,步驟s3具體為;采用tri-gram模型統計每一常用字段關鍵詞轉變到各樣本關聯詞的轉移概率。轉移概率可以采用五元組來表示,五元組的數據形式為(常用字段關鍵詞,字符1,字符2,出現頻數,轉移概率)。例如對于“工作經驗:有20年日用品行業(yè)銷售…”這樣的序列,需要統計常用字段關鍵詞“工作經驗”轉變到樣本關聯詞“:有”的轉移概率,則轉移概率保存為如下五元組:("工作經驗",":","有","23","0.0241")。s4:將待解析簡歷的文件格式轉換為純文本格式。其中,可以采用已有的文件格式轉換包,將待解析簡歷的文件格式轉換為純文本格式。s5:采用最大匹配算法在待解析簡歷中查找與分類詞典中的常用字段關鍵詞相匹配的目標關鍵詞。其中,最終查找到的目標關鍵詞可能為多個,也可能沒有。在本實施例中,步驟s5具體包括:將待解析簡歷的文本內容按照預定長度進行切分,形成待分詞文本;掃描待分詞文本,當掃描到與分類詞典中的常用字段關鍵詞相匹配的第一個字符時,從第一個字符開始記錄,直到掃描不到與分類詞典中的常用字段關鍵詞相匹配的字符為止;將記錄下的所有字符組成目標關鍵詞轉變到各樣本關聯詞的轉移概率。舉例而言,假設預定長度為一個字符,待分詞文本為sentence[]={"工","作","經","驗",":","有","2","0","年"},分類詞典中的常用字段關鍵詞為工作和工作經驗,那么掃描過程如下:(1)從sentence[1]開始掃描,當掃描到sentence[2]的時候,發(fā)現"工作"與常用字段關鍵詞“工作”相匹配。但此時還不能將字符“工作”切分出來,因為還不能確定“工作”是否已經是最長的常用字段關鍵詞。(2)繼續(xù)掃描sentence[3],發(fā)現"工作經"并不是分類詞典中的常用字段關鍵詞。但是還不能確定"工作經"是否已經是最長的目標關鍵詞,因為"工作經"是常用字段關鍵詞“工作經驗”的前綴。(3)繼續(xù)掃描sentence[4],發(fā)現"工作經驗"是分類詞典中的常用字段關鍵詞,記錄下繼續(xù)掃描下去:(4)當掃描sentence[5]的時候,發(fā)現"工作經驗:"并不是分類詞典中的常用字段關鍵詞,也不是常用字段關鍵詞的前綴。因此可以切分出前面最大的詞——"工作經驗",即進行最大匹配。由此可見,最大匹配出的目標關鍵詞必須保證下一個掃描不是常用字段關鍵詞或常用字段關鍵詞的前綴才可以結束。s6:判斷目標關鍵詞對應的轉移概率是否大于預定閾值,如果大于預定閾值,則將目標關鍵詞判定為有效關鍵詞。其中,預定閾值可以根基實際需要設定。目標關鍵詞對應的轉移概率即為與目標關鍵詞匹配的常用字段關鍵詞。s7:將待解析簡歷中緊鄰每一有效關鍵詞之后出現的非關鍵詞記為有效關聯詞,并根據有效關聯詞更新每一常用字段關鍵詞對應的轉移概率。其中,在本實施例中,根據有效關聯詞更新每一常用字段關鍵詞對應的轉移概率的步驟具體包括:判斷各樣本關聯詞中是否存在與有效關聯詞相同的樣本關聯詞;如果存在與有效關聯詞相同的樣本關聯詞,則更新每一常用字段關鍵詞轉變到有效關聯詞的轉移概率;如果不存在與有效關聯詞相同的樣本關聯詞,則統計每一常用字段關鍵詞轉變到有效關聯詞的轉移概率。其中,有效關聯詞確定后,如果有效關聯詞存在于常用字段關鍵詞對應的各樣本關聯詞中,則先將對應的五元組中的出現頻數和總頻數增加一,再將對應的五元組中的出現頻數除以總頻數即可得到新的轉移概率,將新的轉移概率寫入五元組中;如果有效關聯詞沒有存在于常用字段關鍵詞對應的各樣本關聯詞中,則建立一個新的五元組,新的五元組的出現頻數為一,將出現頻數除以總頻數即可得到轉移概率,將轉移概率寫入新的五元組中。s8:利用分類詞典對待解析簡歷中的有效關鍵詞增加前綴標注和后綴標注。其中,在本實施例中,步驟s8具體包括:查詢有效關鍵詞在分類詞典中所屬的類別;按照所屬的類別對待解析簡歷中的有效關鍵詞增加前綴標注和后綴標注。其中,增加前綴標注和后綴標注,有效關鍵詞的數據結構變?yōu)轭悇e_s+有效關鍵詞+類別_e。舉例而言,例如查找到有效關鍵詞為姓名,姓名屬于基本信息類,增加前綴標注和后綴標注后,變?yōu)閕_s姓名i_e。其中,經過步驟s8處理后,待解析簡歷的文本內容變?yōu)椋侯悇e_s+有效關鍵詞1+類別_e+描述信息+類別_s+有效關鍵詞2+類別_e+描述信息+……文本結束符。s9:根據前綴標注和后綴標注對待解析簡歷的文本內容進行分段提取,并將分段提取后的文本內容按照預定格式進行輸出。其中,在本實施例中,步驟s9具體包括:將待解析簡歷中當前有效關鍵詞的后綴標注與下一個有效關鍵詞的前綴標注之間或者與待解析簡歷的文本結束符之間的文本內容作為當前有效關鍵詞的描述信息;依次提取每一有效關鍵詞及其對應的描述信息;將每一有效關鍵詞及其對應的描述信息按照預定格式進行輸出。其中,提取描述信息后,當前有效關鍵詞的后綴標注類別_e到下一個有效關鍵詞的前綴標注類別_s之間的文本內容,即為當前有效關鍵詞對應的描述信息,對于最后一個有效關鍵詞,其對應的描述信息為最后一個有效關鍵詞的后綴標注類別_e與文本結束符之前的文本內容。每一有效關鍵詞及其對應的描述信息可以輸出到統一的數據表中,并且預定格式可以是json格式。通過上述方式,本發(fā)明實施例的簡歷解析方法通過預先收集簡歷樣本,將常用字段關鍵詞劃分為不同類別形成分類詞典,采用n-gram模型統計出每一常用字段關鍵詞轉變到各樣本關聯詞的轉移概率,需要處理待解析簡歷時,首先查找待解析簡歷中與常用字段關鍵詞相匹配的目標關鍵詞,如果目標關鍵詞對應的轉移概率大于預定閾值,則根據目標關鍵詞更新每一常用字段關鍵詞對應的轉移概率,并對待解析簡歷中的有效關鍵詞增加前綴標注和后綴標注,再對待解析簡歷的文本內容進行分段提取并輸出,從而能夠提高信息抽取準確率并支持不同文件格式。以上所述僅為本發(fā)明的實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的
技術領域:
,均同理包括在本發(fā)明的專利保護范圍內。當前第1頁12