本發(fā)明屬于計算機操作軟件設計領域,涉及到文本挖掘,具體涉及一種針對郵件、病例、案件、簡歷等文檔的簽名信息提取方法。
背景技術:
文本挖掘是一門交叉學科,涉及數(shù)據(jù)挖掘、機器學習、模式識別、人工智能、統(tǒng)計學、計算機語言學、計算機網(wǎng)絡技術、信息學等多個領域。文本挖掘就是從大量的文檔中發(fā)現(xiàn)隱含知識和模式的一種方法和工具,它從數(shù)據(jù)挖掘發(fā)展而來,但與傳統(tǒng)的數(shù)據(jù)挖掘又有很多不同。文本挖掘的對象是海量、異構、分布的文檔(web),文檔內(nèi)容是人類所使用的自然語言,缺乏計算機可理解的語義。
在實際工作中存在大量一定模式的、而模式又沒有統(tǒng)一的、各種模式又混雜在一起的文檔,如:郵件簽名檔信息、各地上報的檔案、郵件附件內(nèi)容等,這些文檔數(shù)量巨大,模式種類多樣。如何從中提取出規(guī)范的結(jié)構信息成為一項迫切工作。
目前主要的文檔提取方法分為:模板提取法、正則表達式法和基于規(guī)則方法。
模板提取法:首先對文檔的樣例數(shù)據(jù)進行分析,分析出各類文檔的內(nèi)容構成,生成文檔提取規(guī)則,根據(jù)規(guī)則對文檔內(nèi)容提取出所需信息。
正則表達式法:是通過正則標識從文檔提取結(jié)構化數(shù)據(jù)。
基于規(guī)則方法:通過預先定義的策略對文檔信息進行提取。
不足之處在于,上述方法都需要對文檔進行研究,確定文檔結(jié)構后才設定提取規(guī)則,然后進行內(nèi)容提取,而且上述方法很難覆蓋到全部文檔,也不能跟蹤新生文檔的狀況。
技術實現(xiàn)要素:
為克服上述不足,本發(fā)明提出一種針對文檔的簽名信息提取方法,通過識別文檔簽名標記,并按簽名標記對文檔進行分類,篩選出含簽名信息的文檔,然后基于規(guī)則對文檔信息進行提取。
為解決上述技術問題,本發(fā)明采用如下技術方案:
一種針對文檔的簽名信息提取方法,步驟包括:
1)對文檔內(nèi)容進行分詞;
2)找出高頻和成組出現(xiàn)的詞匯作為潛在簽名標記;
3)根據(jù)詞匯的文檔占有率及語義相關從潛在簽名標記中篩選出簽名標記,根據(jù)簽名標記找出含簽名信息的文檔;
4)針對上述含簽名信息的文檔,根據(jù)簽名標記查找簽名信息,根據(jù)簽名信息特征庫和簽名信息提取規(guī)則提取簽名信息。
進一步地,步驟1)中,分詞方法采用逆向最大匹配算法(RMM)。
進一步地,在進行步驟2)前先通過簽名停用詞庫對步驟1)得到的詞匯進行過濾。
進一步地,步驟2)中,通過Apriori算法找出高頻和成組出現(xiàn)的詞匯作為潛在簽名標記,高頻是指Apriori算法支持度大于等于5‰,潛在簽名標記個數(shù)大于等于4。
進一步地,步驟2)中,如果簽名標記個數(shù)為1至200個,采用枚舉法識別。
進一步地,步驟3)中,文檔占有率是指某一詞被使用的文檔數(shù)量占總文檔數(shù)量的比例,該比例大于等于5‰;語義相關是指詞匯與簽名信息特征庫的簽名信息特征相關。
進一步地,在進行步驟3)前先根據(jù)簽名標記庫對潛在簽名標記進行過濾。
進一步地,簽名標記庫包括單位、單位地址、手機、郵編等。
進一步地,簽名停用詞庫包括冒號、制表符、回車符、換行符等。
進一步地,簽名信息特征庫包括姓名、手機、固定電話、郵箱、地址及公司名等含有的信息特征。
進一步地,簽名信息提取規(guī)則包括:
提取規(guī)則1:簽名標記+簽名停用詞+簽名信息+簽名停用詞;
提取規(guī)則2(用于姓名):短詞語[2-4個漢字]+簽名停用詞+下一行含簽名標記。
進一步地,根據(jù)提取的簽名信息更新簽名信息特征庫和簽名信息提取規(guī)則。
本發(fā)明的有益效果是:本方法根據(jù)簽名標記的特征,通過識別文檔簽名標記,對文檔進行分類,識別含簽名信息的文檔,然后根據(jù)簽名信息特征庫以及基于規(guī)則對文檔信息進行提取。本方法不需要對文檔進行研究,具有普適性,可以覆蓋到郵件、病例、案件、簡歷等文檔,而且能夠跟蹤新生文檔的狀況。
附圖說明
圖1為實施例中郵件文檔的簽名信息提取流程圖。
具體實施方式
為使本發(fā)明的上述特征和優(yōu)點能更明顯易懂,下文特舉實施例,并配合所附圖作詳細說明如下。
本發(fā)明提供一種針對文檔的簽名信息提取方法,以郵件文檔為例進行說明,如圖1所示。郵件文檔的簽名檔里有大量有價值的信息,內(nèi)容包括姓名、聯(lián)系電話、郵箱、地址、職位信息;但是不同公司、不同個人設置的簽名檔的格式和簽名標記不盡相同,不能通過簡單的規(guī)則或者正則表達式進行提取,而通過本方法可以進行提取。
針對該郵件文檔,可通過如下四步驟提取簽名檔信息:
一、對郵件文檔內(nèi)容進行分詞。
分詞指的是將一個連續(xù)的漢字序列切分成一個一個單獨的詞,再按照一定的規(guī)范重新組合成詞序列的過程,可采用逆向最大匹配算法(RMM)對文檔內(nèi)容進行分詞處理。
二、通過Apriori算法識別潛在簽名標記。
為減少Apriori算法識別的詞匯量,避免不必要的計算,提高識別效率,在進行本步驟之前,可先根據(jù)簽名停用詞庫對詞匯進行過濾,過濾掉簽名停用詞。簽名停用詞庫包括收錄的多個簽名停用詞,如冒號、制表符、回車符、換行符等。
簽名標記是指郵件簽名檔內(nèi)容前的標識信息,如:“手機:13811111111”的“手機”為簽名標記,具有如下特征:
1.簽名標記出現(xiàn)的頻率遠遠高于郵件中的其他詞匯;
2.多個簽名標記往往成組出現(xiàn);
3.簽名標記數(shù)量有限。
前兩個特征與關聯(lián)規(guī)則的頻繁項集相似,可以采用Apriori算法識別郵件中的高頻和成組出現(xiàn)的詞匯,該算法的頻繁項集只相當于潛在簽名標記,而非真正的簽名標記。這里的高頻詞匯可借用Apriori算法支持度概念,參數(shù)采用5‰,頻繁項集大于等于4(相當于潛在簽名標記個數(shù)),具體應用中可根據(jù)需要調(diào)整這些參數(shù)。Apriori算法是一種挖掘關聯(lián)規(guī)則的頻繁項集算法,其核心思想是通過候選集生成和情節(jié)的向下封閉檢測兩個階段來挖掘頻繁項集。
對于第三個特征,由于簽名標記數(shù)量有限(為1至200個),可采用枚舉法。
三、從潛在簽名標記找出簽名標記。
針對上述潛在簽名標記,首先通過簽名標記庫進行過濾,可以去除一批不在簽名標記庫的詞匯,該簽名標記庫包括單位、單位地址、手機、郵編等詞。但留下的詞匯并非都是簽名標記,比如手機,文檔中提到手機時可能是記錄了與手機有關的事情,但并非是為了引出手機號碼。故為了保證準確率,可對留下的詞匯進一步通過文檔占有率和語義相關進行判斷,最終找出簽名標記。
詞匯中有的詞只在某一個文檔里使用,即占有一個文檔,有的會反復在多個文檔里使用,即占有多個文檔,故可通過文檔占有率進行量化,文檔占有率是指某一詞被使用的文檔數(shù)量占總文檔數(shù)量的比例,即某一詞占有的文檔數(shù)與總文檔數(shù)的比值,本發(fā)明文檔占有率選大于等于5‰,在具體情況中可對該值進行調(diào)整。
經(jīng)過文檔占有率進行篩選后,要進一步通過在語義相關上進行判斷,語義相關是指潛在簽名標記,如姓名、手機號、地址等,與姓名的字符數(shù)、手機號位數(shù)、具體地點等信息相關,相當于符合下述簽名信息特征庫的一些特征。可通過人工研判進行判斷,也可通過程序?qū)崿F(xiàn),可找出簽名標記,并更新簽名標記庫,經(jīng)過積累可以更加精確識別簽名標記。
通過簽名標記庫和文檔占有率去掉的詞匯都是出現(xiàn)頻繁的詞匯,有可能是簽名停用詞庫所沒有的潛在簽名停用詞,比如是“了”“呢”“等”助詞,可進行人工研判,作為新的簽名停用詞輸入簽名停用詞庫以進行更新,經(jīng)過積累可以更加精確識別簽名停用詞。
根據(jù)找到的簽名標記對全部郵件文檔進行判斷,篩選出含郵件簽名檔的文檔。
四、針對上述含有郵件簽名檔的文檔,通過簽名標記搜索簽名信息,根據(jù)簽名信息特征庫和簽名信息提取規(guī)則提取簽名信息。
簽名信息具有如下特征:
1.簽名信息通常在簽名標記的附近,可在簽名標記附近進行搜索發(fā)現(xiàn)簽名信息,此處的附近是指簽名標記同行前后以及上下文的跨一行或多行;
2.簽名信息大部分具有嚴格的數(shù)值特征,例如:
姓名:2-4個漢字,姓氏可進行枚舉(百家姓);
手機:11位數(shù)字可用正則表達式發(fā)現(xiàn);
郵箱:可枚舉后綴與郵件域名,含“@”;
固定電話:數(shù)字含“-”“()”、分隔符,長途區(qū)號可枚舉;
公司名:含“公司”;
地址:含“街”“路”“大廈”等可枚舉信息。
另外,簽名檔與郵件正文往往有空行或者特殊字符作為分割標識。
根據(jù)上述簽名信息特征生成簽名信息特征庫,根據(jù)數(shù)據(jù)積累不斷分布。
根據(jù)上述特征設定簽名信息提取規(guī)則,如:
提取規(guī)則1:簽名標記+停用詞+簽名內(nèi)容+停用詞;
提取規(guī)則2:短詞語[2-4個漢字]+停用詞+下一行含簽名標記。(用于姓名)
需指出的是,根據(jù)不同的文檔可設定不同的提取規(guī)則。
先定位到簽名標記,再在簽名標記附近進行搜索,找到符合規(guī)則的簽名內(nèi)容進行提?。蝗绻也坏?,就進行下一個簽名標記的識別和提取。
以下列舉一具體實例:
1.以下為一郵件簽名檔:
*******************************************
李四海
單位:北京協(xié)議醫(yī)院心內(nèi)科
單位地址:(東院)北京市東城區(qū)帥府園一號
手機:13811111111郵編:100730
*******************************************
2.使用的簽名標記庫包括:
簽名標記包括:單位、手機、郵編、地址;
單位標記:單位、公司……
手機標記:移動電話、mobile、電話……
郵編標記:郵編、郵政編碼、zip……
地址標記:地址、單位地址、公司地址
3.使用的簽名停用詞庫包括:
簽名停用詞包括:“:”、制表符、回車、換行等。
4.識別含簽名檔郵件:
針對含有3個以上不同類型簽名標記,搜索其附近信息。
具體采用如下簽名信息提取規(guī)則:
提取規(guī)則1:簽名標記+停用詞*+簽名內(nèi)容+停用詞
提取規(guī)則2(用于姓名):短詞語[2-4個漢字]+停用詞+下一行含簽名標記
逐行掃描郵件信息,基于規(guī)則進行匹配,得到如下結(jié)果:
根據(jù)根據(jù)規(guī)則1,可提取出單位、單位地址、手機號、郵編等信息;
根據(jù)上述規(guī)則2:可識別姓名為李四海。
由以上實施例可知,本方法根據(jù)簽名標記的特征,通過Apriori算法識別文檔簽名標記,對文檔進行分類,識別含簽名信息的文檔,然后根據(jù)簽名信息特征庫以及基于規(guī)則對文檔信息進行提取。本方法不需要對文檔進行研究,具有普適性,可以覆蓋到郵件、病例、案件、簡歷等文檔,而且能夠跟蹤新生文檔的狀況。