欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種從文本中智能提取日期的方法及裝置與流程

文檔序號(hào):12824709閱讀:585來(lái)源:國(guó)知局
一種從文本中智能提取日期的方法及裝置與流程

本發(fā)明涉及一種日期提取方法,特別是針對(duì)電子單據(jù)的日期提取方法;本發(fā)明還涉及一種用于實(shí)現(xiàn)該提取方法的裝置。



背景技術(shù):

電子單據(jù)在企業(yè)信息化過(guò)程中逐步替代紙質(zhì)單據(jù),成為業(yè)務(wù)數(shù)據(jù)傳遞、業(yè)務(wù)審核的重要媒介。電子單據(jù)的錄入和審核,以及基于電子單據(jù)的數(shù)據(jù)分析是財(cái)務(wù)管理軟件的重要組成部分。用戶在應(yīng)用財(cái)務(wù)管理軟件的過(guò)程中積累了大量可供分析的電子單據(jù)數(shù)據(jù)。

用戶在使用財(cái)務(wù)管理軟件錄入電子單據(jù)時(shí),常常需要填寫(xiě)業(yè)務(wù)發(fā)生日期。在某些財(cái)務(wù)管理軟件中,用戶填寫(xiě)的業(yè)務(wù)發(fā)生日期是以文本方式記錄的,而不是以標(biāo)準(zhǔn)的日期格式記錄,這就導(dǎo)致用戶進(jìn)行數(shù)據(jù)分析時(shí),很難從文本中提取出日期,無(wú)法利用文本中的業(yè)務(wù)發(fā)生日期這一關(guān)鍵信息。

同時(shí),由于電子單據(jù)錄入的場(chǎng)景有其特殊性,比如日期表達(dá)形式多樣,日期不完整,比如僅含年月日三個(gè)數(shù)據(jù)中的一個(gè)或兩個(gè),又或者為常包含中文數(shù)字(如“九月”)等,這給日期識(shí)別和提取帶來(lái)了新的挑戰(zhàn)。

然而,現(xiàn)有針對(duì)文本的數(shù)據(jù)提取方法中,主要針對(duì)其他領(lǐng)域的文本提取,比如在搜索引擎使用,或者其他數(shù)據(jù)識(shí)別中使用。因此,現(xiàn)有提取日期的方法主要針對(duì)完整且格式規(guī)范的日期表達(dá)式,而對(duì)于不完整日期,比如:缺少年月日三個(gè)數(shù)據(jù)中的一個(gè)或兩個(gè),例如“8月1日”、中文數(shù)字日期,例如“九月”、相對(duì)日期,例如“上個(gè)月”、時(shí)間段例如“2014年8月到10月”,則缺乏識(shí)別能力。若直接根據(jù)現(xiàn)有的提取技術(shù)對(duì)上述文字進(jìn)行提取,只能提取出相應(yīng)的文字內(nèi)容,無(wú)法進(jìn)行智能識(shí)別其對(duì)應(yīng)的實(shí)際的日期。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明在于克服現(xiàn)有技術(shù)的缺點(diǎn)與不足,提供一種從文本中智能提取日期的方法及裝置。

本發(fā)明是通過(guò)以下的技術(shù)方案實(shí)現(xiàn)的:一種從文本中智能提取日期的方法,其包括以下步驟:

步驟1:獲取將要從中提取日期的文本和單據(jù)填寫(xiě)日期;

步驟2:對(duì)文本作預(yù)處理,將文本中出現(xiàn)的日期轉(zhuǎn)換為規(guī)范形式的日期;

步驟3:構(gòu)造正則表達(dá)式,并利用正則表達(dá)式對(duì)文本中的日期表達(dá)式進(jìn)行匹配,從中提取出符合正則表達(dá)式格式的日期表達(dá)式;

步驟4:針對(duì)不同格式的日期表達(dá)式,分別提取出其中的年、月、日數(shù)字;

步驟5:借助填單日期,補(bǔ)全文本中缺失的年份或月份數(shù)據(jù);

步驟6:將識(shí)別出的年、月、日數(shù)字組合成完整的日期,并以日期格式存儲(chǔ)。

作為本發(fā)明的進(jìn)一步改進(jìn),所述步驟2中具體包括以下步驟:

步驟21:將“月份”、“號(hào)”分別用正則表達(dá)式匹配,匹配到之后轉(zhuǎn)換為“月”,“日”;

步驟22:根據(jù)文本中出現(xiàn)與填單日期具有關(guān)聯(lián)關(guān)系的日期表達(dá)形式,計(jì)算出對(duì)應(yīng)的日期;

步驟23:將中文表達(dá)的數(shù)字轉(zhuǎn)換為阿拉伯?dāng)?shù)字。

作為本發(fā)明的進(jìn)一步改進(jìn),所述步驟22中與填單日期相關(guān)聯(lián)的表達(dá)式包括:“本年”、“本年度”、“去年”、“上一年”、“明年”、“下一年”、“當(dāng)月”、“下個(gè)月”、“本月”,當(dāng)匹配到上述日期表達(dá)形式之后,結(jié)合填單日期計(jì)算出對(duì)應(yīng)日期。

作為本發(fā)明的進(jìn)一步改進(jìn),所述步驟3中,當(dāng)根據(jù)正則表達(dá)式對(duì)對(duì)文本中日期匹配成功后,提取匹配到的日期表達(dá)字段,并將該匹配到的字段刪除。

作為本發(fā)明的進(jìn)一步改進(jìn),所述步驟5中,在補(bǔ)全缺失的年份和月份數(shù)據(jù)時(shí),其補(bǔ)全日期的依據(jù)包括根據(jù)取填單日期所在年份和月份,和/或根據(jù)與取填單日期具備關(guān)聯(lián)關(guān)系的年份或月份。

本發(fā)明還提供了一種從文本中智能提取日期的裝置,其包括:

獲取模塊,用于獲取將要從中提取日期的文本和單據(jù)填寫(xiě)日期;

預(yù)處理模塊,用于將文本中出現(xiàn)的日期轉(zhuǎn)換為規(guī)范形式的日期;

匹配模塊,用于構(gòu)造正則表達(dá)式,并利用正則表達(dá)式對(duì)文本中的日期表達(dá)式進(jìn)行匹配,從中提取出符合正則表達(dá)式格式的日期表達(dá)式;

提取模塊,用于針對(duì)不同格式的日期表達(dá)式,分別提取出其中的年、月、日數(shù)字;

日期補(bǔ)全模塊,用于借助填單日期,補(bǔ)全文本中缺失的年份或月份數(shù)據(jù);

儲(chǔ)存模塊,用于將識(shí)別出的年、月、日數(shù)字組合成完整的日期,并以日期格式存儲(chǔ)。

作為本發(fā)明的進(jìn)一步改進(jìn),所述預(yù)處理模塊包括:

第一預(yù)處理子模塊,用于將“月份”、“號(hào)”分別用正則表達(dá)式匹配,匹配到之后轉(zhuǎn)換為“月”,“日”;

第二預(yù)處理子模塊,用于根據(jù)文本中出現(xiàn)與填單日期具有關(guān)聯(lián)關(guān)系的日期表達(dá)形式,計(jì)算出對(duì)應(yīng)的日期;

第三預(yù)處理子模塊,用于將中文表達(dá)的數(shù)字轉(zhuǎn)換為阿拉伯?dāng)?shù)字。

作為本發(fā)明的進(jìn)一步改進(jìn),所述第二預(yù)處理子模塊中與填單日期相關(guān)聯(lián)的表達(dá)式包括:“本年”、“本年度”、“去年”、“上一年”、“明年”、“下一年”、“當(dāng)月”、“下個(gè)月”、“本月”,當(dāng)匹配到上述日期表達(dá)形式之后,結(jié)合填單日期計(jì)算出對(duì)應(yīng)日期。

作為本發(fā)明的進(jìn)一步改進(jìn),所述匹配模塊根據(jù)正則表達(dá)式對(duì)對(duì)文本中日期匹配成功后,提取匹配到的日期表達(dá)字段,并將該匹配到的字段刪除。

作為本發(fā)明的進(jìn)一步改進(jìn),所述日期補(bǔ)全模塊在補(bǔ)全缺失的年份和月份數(shù)據(jù)時(shí),其補(bǔ)全日期的依據(jù)包括根據(jù)取填單日期所在年份和月份,和/或根據(jù)與取填單日期具備關(guān)聯(lián)關(guān)系的年份或月份。

相比于現(xiàn)有技術(shù),具有以下有益效果:

1、本發(fā)明將以文本形式存儲(chǔ)在支出說(shuō)明中的業(yè)務(wù)發(fā)生日期,智能提取并轉(zhuǎn)換成可分析的日期格式。在此基礎(chǔ)上,可以對(duì)報(bào)銷單據(jù)按月份分類匯總,并作進(jìn)一步的財(cái)務(wù)支出分析,從而實(shí)現(xiàn)報(bào)銷成本的有效管理和控制,節(jié)約企業(yè)支出,提高企業(yè)利潤(rùn)。

2、本發(fā)明支持多種常見(jiàn)日期表達(dá)方式的識(shí)別,具體包括:(1)中文數(shù)字(2)相對(duì)年月(3)“xx月”、“xx月份“、“xx日”、“xx號(hào)”等。(4)范圍日期。(5)無(wú)年月日等關(guān)鍵字的數(shù)字日期:“20120809”、“2012-08-09”、“2012.08-2012.09“、”2012\08\09-2012\08\21“等。

3、通過(guò)本發(fā)明,用戶填寫(xiě)電子單據(jù)時(shí),可以按照自己習(xí)慣填寫(xiě)文本格式的日期,而不必拘泥于日期格式或者浪費(fèi)精力在點(diǎn)擊日期輸入表上,從而節(jié)約用戶時(shí)間,提升用戶體驗(yàn)。

為了更好地理解和實(shí)施,下面結(jié)合附圖詳細(xì)說(shuō)明本發(fā)明。

附圖說(shuō)明

圖1是本發(fā)明的從文本中智能提取日期的方法的流程圖。

圖2是本實(shí)施例中用正則表達(dá)式匹配文本的流程圖。

圖3是本發(fā)明的從文本中智能提取日期的裝置的框圖。

具體實(shí)施方式

為了解決現(xiàn)有技術(shù)中無(wú)法針對(duì)電子單據(jù)進(jìn)行日期提取的問(wèn)題,本發(fā)明提供了一種能夠從文本中智能提取日期的方法及裝置。以下具體介紹本發(fā)明的優(yōu)選的具體實(shí)施方式。

本發(fā)明提供了一種從文本中智能提取日期的方法,其包括以下步驟:

步驟s1:獲取將要從中提取日期的文本和單據(jù)填寫(xiě)日期。

步驟s2:對(duì)文本作預(yù)處理,將文本中出現(xiàn)的日期轉(zhuǎn)換為規(guī)范形式的日期。

進(jìn)一步,在本實(shí)施例中對(duì)所述步驟2中具體包括以下步驟:

步驟21:將“月份”、“號(hào)”分別用正則表達(dá)式匹配,匹配到之后轉(zhuǎn)換為“月”,“日”。

步驟22:根據(jù)文本中出現(xiàn)與填單日期具有關(guān)聯(lián)關(guān)系的日期表達(dá)形式,計(jì)算出對(duì)應(yīng)的日期。

具體的,在本步驟中與填單日期相關(guān)聯(lián)的表達(dá)式包括:“本年”、“本年度”、“去年”、“上一年”、“明年”、“下一年”、“當(dāng)月”、“下個(gè)月”、“本月”,當(dāng)匹配到上述日 期表達(dá)形式之后,結(jié)合填單日期計(jì)算出對(duì)應(yīng)日期。比如填單日期為“2012年8月”,則“本年”、“去年”、“當(dāng)月”、“下個(gè)月”分別轉(zhuǎn)換為“2012年”、“2011年”、“8月”、“9月”。

步驟23:將中文表達(dá)的數(shù)字轉(zhuǎn)換為阿拉伯?dāng)?shù)字。例如從“一”到“三十一”的數(shù)字分別轉(zhuǎn)換為“1”到“31”,“零”轉(zhuǎn)換為“0”。

步驟s3:構(gòu)造正則表達(dá)式,并利用正則表達(dá)式對(duì)文本中的日期表達(dá)式進(jìn)行匹配,從中提取出符合正則表達(dá)式格式的日期表達(dá)式;

進(jìn)一步在本步驟中,當(dāng)根據(jù)正則表達(dá)式對(duì)對(duì)文本中日期匹配成功后,提取匹配到的日期表達(dá)字段,并將該匹配到的字段刪除,以防止重復(fù)匹配。

請(qǐng)參閱圖2,其為本實(shí)施例中用正則表達(dá)式匹配文本的流程圖。假設(shè)用戶根據(jù)需要構(gòu)造了n種正則表達(dá)式,用各種日期格式對(duì)應(yīng)的正則表達(dá)式依次匹配預(yù)處理之后的文本,若第n個(gè)正則表達(dá)式匹配成功,則進(jìn)入第n個(gè)正則表達(dá)式對(duì)應(yīng)的處理流程,處理完成后用第n+1個(gè)正則表達(dá)式匹配文本;若第n個(gè)正則表達(dá)式未匹配成功,則繼續(xù)用第n+1個(gè)正則表達(dá)式匹配文本。

步驟s4:針對(duì)不同格式的日期表達(dá)式,分別提取出其中的年、月、日數(shù)字。由于每一種匹配文本所用的正則表達(dá)式,其格式都是固定的,比如““xxxx年xx月”,其第一個(gè)純數(shù)字即為年份,第二個(gè)純數(shù)字則為月份,因此對(duì)此日期進(jìn)行數(shù)字匹配,即可將匹配到的數(shù)字按順序依次識(shí)別為年份和月份。

步驟s5:借助填單日期,補(bǔ)全文本中缺失的年份或月份數(shù)據(jù)。

具體的,在本步驟中,在補(bǔ)全缺失的年份和月份數(shù)據(jù)時(shí),其補(bǔ)全日期的依據(jù)包括根據(jù)取填單日期所在年份和月份,和/或根據(jù)與取填單日期具備關(guān)聯(lián)關(guān)系的年份或月份。

檢查匹配到的日期是否完整,如果完整則直接生成規(guī)范格式的日期,如果不完整則智能補(bǔ)全日期后再生成規(guī)范格式日期。根據(jù)不同的應(yīng)用場(chǎng)景,完整日期的定義可以不同,在分析財(cái)務(wù)報(bào)銷單據(jù)時(shí),一般要求年份和月份,而不要求具體到某日,因此本發(fā)明以包含年份和月份作為日期完整的判斷標(biāo)準(zhǔn)。本發(fā)明的使用者可以自行決定具體采用何種規(guī)范格式,本例采用“xxxx年xx月xx日”的格式,例如“2012年03月21日”。若匹配到的日期字段中缺失年或月,本發(fā)明將結(jié)合填單日期進(jìn)行智能補(bǔ)充,例如填單日期為“2012年10月10日”,匹配到的日期表達(dá)式為“9月8日”,則日期智能補(bǔ)充后結(jié)果為“2012年9月8日”。

對(duì)不同單據(jù),用于補(bǔ)充的年份和月份數(shù)據(jù)可能取填單日期所在年份和月份,也可能取填單日期的上一年、下一年、上一個(gè)月、下一個(gè)月,具體取決于單據(jù)類型以及填單日期與待補(bǔ)充日期的關(guān)聯(lián)關(guān)系。對(duì)于年份,補(bǔ)充規(guī)則為:若月份值<=“制單月份值+1”,則取制單日期 年份作為業(yè)務(wù)發(fā)生年份,否則取“制單日期年份-1”作為業(yè)務(wù)發(fā)生年份。例如填單日期為“2012年10月10日”,匹配到的日期表達(dá)式為“9月8日”,則日期智能補(bǔ)充后結(jié)果為“2012年9月8日”;再如填單日期為“2012年1月10日”,匹配到的日期表達(dá)式為“11月8日”,則日期智能補(bǔ)充后結(jié)果為“2011年11月8日”。

步驟s6:將識(shí)別出的年、月、日數(shù)字組合成完整的日期,并以日期格式存儲(chǔ)。

在本步驟中,本發(fā)明結(jié)合數(shù)據(jù)分析的需求,將重復(fù)日期合并,并將合并后的結(jié)果日期全部按統(tǒng)一的規(guī)范格式存儲(chǔ)。

進(jìn)一步,以下對(duì)本發(fā)明采用的日期匹配正則表達(dá)式進(jìn)行簡(jiǎn)單介紹,本實(shí)施例中采用了17種正則表達(dá)式,分別如下:

(1)pattern_date(0)="((19)?9[5-9]|(20)?[0-4][0-9])[年\--\./\\](1[012]|0?[1-9])[月\--\./\\](30|31|([12][0-9])|(0?[1-9]))日?([至到~~]|\-+|-+)((19)?9[5-9]|(20)?[0-4][0-9])[年\--\./\\](1[012]|0?[1-9])[月\--\./\\](30|31|([12][0-9])|(0?[1-9]))(日|(?![\d\--\./\\]))"

簡(jiǎn)介:xxxx[年--/.]xx[月--/.]xx[日](-/---/至/到/~~)xxxx[年--/.]xx[月--/.]xx[日],也即是:該正則表達(dá)式中所匹配到的年可以是1995~2049,或者95~99,00~49。月可以是1~12,或01~09,日可以是01~09,1~9,10~31。比如:1995年1月1日~2010年1月1日。

(2)pattern_date(1)="((19)?9[5-9]|(20)?[0-4][0-9])[年\--\./\\](1[012]|0?[1-9])[月\--\./\\](30|31|([12][0-9])|(0?[1-9]))日?([至到~~]|\-+|-+)(1[012]|0?[1-9])[月\--\./\\](30|31|([12][0-9])|(0?[1-9]))(日|(?![\d\--\./\\]))"

簡(jiǎn)介:xxxx年xx月xx[日](-/---/至/到/~~)xx月xx[日]。這里的年可以是1995~2049,或者95~99,00~49。月可以是1~12,或01~09,日可以是01~09,1~9,10~31。比如:1995年1月1日~10月1日。

(3)pattern_date(2)="((19)?9[5-9]|(20)?[0-4][0-9])[年\--\./\\](1[012]|0?[1-9])月?([至到~~]|\-+|-+)((19)?9[5-9]|(20)?[0-4][0-9])[年\--\./\\](1[012]|0?[1-9])(月|(?![\d\--\./\\]))"

簡(jiǎn)介:xxxx年xx[月](-/---/至/到/~~)xxxx年xx[月];xxxx(-./\)xx(-/---/至/到/~~)xxxx(-./\)xx;注:這里會(huì)匹配“11-08~12-09”這種表達(dá)式,實(shí)際上由于當(dāng)前年份已是2015年,這種日期出現(xiàn)后更可能表示11月8日~12月9日,而非11年8月~12年9月,因此在程序內(nèi)將作特殊判斷。

(4)pattern_date(3)="((19)?9[5-9]|(20)?[0-4][0-9])[年\./\\](1[012]|0?[1-9])月?([至到~~]|\-+|-+)(1[012]|0?[1-9])(月|(?![\d\--\./\\]))|((19)?9[5-9]|(20)?[0-4][0-9])[\--](1[012]|0?[1-9])月?[至到~~](1[012]|0?[1-9])(月|(?![\d\--\./\\]))"

簡(jiǎn)介:xxxx年xx[月](-/---/至/到/~~)xx月;xxxx(-./\)xx(-/---/至/到/~~)xx;上邊用 "|"分成兩部分寫(xiě),主要是為了防止xx-xx-xx的情況被匹配;零寬斷言是為了防止類似12-07~12-21這種被匹配出12-07~12來(lái)。

(5)pattern_date(4)="((19)?9[5-9]|(20)?[0-4][0-9])[年\--\./\\](1[012]|0?[1-9])[月\--\./\\](30|31|([12][0-9])|(0?[1-9]))日?([至到~~]|\-+|-+)(30|31|([12][0-9])|(0?[1-9]))(日|(?![月\d\--\./\\]))"

簡(jiǎn)介:xxxx年xx月xx[日](-/---/至/到/~~)xx[日];xxxx(-./\)xx(-./\)xx(-/---/至/到/~~)xx。比如:1999年1月1日~10日。

(6)pattern_date(5)="((19)?9[5-9]|(20)?[0-4][0-9])[年\--\./\\](1[012]|0?[1-9])[月\--\./\\](30|31|([12][0-9])|(0?[1-9]))(日|(?![月\d\--\./\\]))"

簡(jiǎn)介:xxxx年xx月xx日;xxxx(-./\)xx(-./\)xx。比如:2000年1月1日,可以匹配到2000-1-1等表達(dá)式。

(7)pattern_date(6)="((19)?9[5-9]|(20)?[0-4][0-9])年((1[012]|0?[1-9])(月[、,,\.]?|[、,,\.]))*((1[012]|0?[1-9])月?[和與及])?(1[012]|0?[1-9])月"

簡(jiǎn)介:在有“月”的情況下,兩個(gè)月之間可以無(wú)分隔符[、,,\.],以匹配“xx年1月2月”。

(8)pattern_date(7)="(199[5-9]|20[0-4][0-9])[\--\./\\](1[012]|0?[1-9])(?![\d\--\./\\])"

簡(jiǎn)介:xxxx(-./\)xx。比如:2000-12,表示2000年12月

(9)pattern_date(8)="(199[5-9]|20[0-4][0-9])(1[012]|0[1-9])([至到~~]|\-+|-+)(199[5-9]|20[0-4][0-9])(1[012]|0[1-9])(?!\d)"

簡(jiǎn)介:yyyymm(-/---/至/到/~~)yyyymm

(10)pattern_date(9)="(199[5-9]|20[0-4][0-9])(1[012]|0[1-9])(30|31|([12][0-9])|(0[1-9]))(?!\d)|(199[5-9]|20[0-4][0-9])(1[012]|0[1-9])(?!\d)"

簡(jiǎn)介:yyyymmdd/yyyymm

(11)pattern_date(10)="(1[012]|0?[1-9])[月\--\./\\](30|31|([12][0-9])|(0?[1-9]))日?([至到~~]|\-+|-+)(1[012]|0?[1-9])[月\--\./\\](30|31|([12][0-9])|(0?[1-9]))(日|(?![月\d\--\./\\]))"

簡(jiǎn)介:xx[月--/.]xx[日](-/---/至/到/~~)xx[月--/.]xx[日],月可以是1~12,或01~09,日可以是01~09,1~9,10~31

(12)pattern_date(11)="(1[012]|0?[1-9])[月\--\./\\](30|31|([12][0-9])|(0?[1-9]))日?([至到~~]|\-+|-+)(30|31|([12][0-9])|(0?[1-9]))(日|(?![月\d\--\./\\]))"

簡(jiǎn)介:xx月xx[日](-/---/至/到/~~)xx[日];xx(-./\)xx(-/---/至/到/~~)xx

(13)pattern_date(12)="(1[012]|0?[1-9])月?([至到~~]|\-+|-+)(1[012]|0?[1-9])月"

簡(jiǎn)介:xx[月](-/---/至/到/~~)xx月,月可以是1~12,或01~09

(14)pattern_date(13)="(30|31|([12][0-9])|(0?[1-9]))日?([至到~~]|\-+|-+)(30|31|([12][0-9])|(0?[1-9]))日"

簡(jiǎn)介:xx[日](-/---/至/到/~~)xx日

(15)pattern_date(14)="((19)?9[5-9]|(20)?[0-4][0-9])年?([至到~~]|\-+|-+)((19)?9[5-9]|(20)?[0-4][0-9])年"

簡(jiǎn)介:xxxx[年](-/---/至/到/~~)xxxx年

(16)pattern_date(15)="\b((1[012]|0?[1-9])月?[、,,\.])*((1[012]|0?[1-9])月?[和與及])?(1[012]|0?[1-9])月"

簡(jiǎn)介:(xx[月](、,,.和與及)){0,11}xx月,包括了xx月的形式;為匹配"12月1月"及“12月1日”這種情況,不加零寬先行斷言。

(17)pattern_date(16)="((19)?9[5-9]|(20)?[0-4][0-9])年"

簡(jiǎn)介:xxxx年以及xx年

相比于現(xiàn)有技術(shù),具有以下有益效果:

1、本發(fā)明將以文本形式存儲(chǔ)在支出說(shuō)明中的業(yè)務(wù)發(fā)生日期,智能提取并轉(zhuǎn)換成可分析的日期格式。在此基礎(chǔ)上,可以對(duì)報(bào)銷單據(jù)按月份分類匯總,并作進(jìn)一步的財(cái)務(wù)支出分析,從而實(shí)現(xiàn)報(bào)銷成本的有效管理和控制,節(jié)約企業(yè)支出,提高企業(yè)利潤(rùn)。

2、本發(fā)明支持多種常見(jiàn)日期表達(dá)方式的識(shí)別,具體包括:(1)中文數(shù)字(2)相對(duì)年月(3)“xx月”、“xx月份“、“xx日”、“xx號(hào)”等。(4)范圍日期。(5)無(wú)年月日等關(guān)鍵字的數(shù)字日期:“20120809”、“2012-08-09”、“2012.08-2012.09“、”2012\08\09-2012\08\21“等。

3、通過(guò)本發(fā)明,用戶填寫(xiě)電子單據(jù)時(shí),可以按照自己習(xí)慣填寫(xiě)文本格式的日期,而不必拘泥于日期格式或者浪費(fèi)精力在點(diǎn)擊日期輸入表上,從而節(jié)約用戶時(shí)間,提升用戶體驗(yàn)。

另外請(qǐng)參閱圖3,其為本發(fā)明的從文本中智能提取日期的裝置的框圖。本發(fā)明還提供了一種從文本中智能提取日期的裝置,其包括:獲取模塊1、預(yù)處理模塊2、匹配模塊3、提取模塊4、日期補(bǔ)全模塊5和儲(chǔ)存模塊6。

所述獲取模塊1,用于獲取將要從中提取日期的文本和單據(jù)填寫(xiě)日期;

所述預(yù)處理模塊2,用于將文本中出現(xiàn)的日期轉(zhuǎn)換為規(guī)范形式的日期。

作為本發(fā)明的進(jìn)一步改進(jìn),所述預(yù)處理模塊2包括:

第一預(yù)處理子模塊21,用于將“月份”、“號(hào)”分別用正則表達(dá)式匹配,匹配到之后轉(zhuǎn)換為“月”,“日”。

第二預(yù)處理子模塊22,用于根據(jù)文本中出現(xiàn)與填單日期具有關(guān)聯(lián)關(guān)系的日期表達(dá)形式,計(jì)算出對(duì)應(yīng)的日期。進(jìn)一步,所述第二預(yù)處理子模塊中與填單日期相關(guān)聯(lián)的表達(dá)式包括:“本年”、“本年度”、“去年”、“上一年”、“明年”、“下一年”、“當(dāng)月”、“下個(gè)月”、“本月”,當(dāng)匹配到上述日期表達(dá)形式之后,結(jié)合填單日期計(jì)算出對(duì)應(yīng)日期。

第三預(yù)處理子模塊23,用于將中文表達(dá)的數(shù)字轉(zhuǎn)換為阿拉伯?dāng)?shù)字。

所述匹配模塊3,用于構(gòu)造正則表達(dá)式,并利用正則表達(dá)式對(duì)文本中的日期表達(dá)式進(jìn)行匹配,從中提取出符合正則表達(dá)式格式的日期表達(dá)式。

進(jìn)一步,所述匹配模塊3根據(jù)正則表達(dá)式對(duì)對(duì)文本中日期匹配成功后,提取匹配到的日期表達(dá)字段,并將該匹配到的字段刪除。

所述提取模塊4,用于針對(duì)不同格式的日期表達(dá)式,分別提取出其中的年、月、日數(shù)字。

所述日期補(bǔ)全模塊5,用于借助填單日期,補(bǔ)全文本中缺失的年份或月份數(shù)據(jù);

進(jìn)一步,所述日期補(bǔ)全模塊5在補(bǔ)全缺失的年份和月份數(shù)據(jù)時(shí),其補(bǔ)全日期的依據(jù)包括根據(jù)取填單日期所在年份和月份,和/或根據(jù)與取填單日期具備關(guān)聯(lián)關(guān)系的年份或月份。

所述儲(chǔ)存模塊6,用于將識(shí)別出的年、月、日數(shù)字組合成完整的日期,并以日期格式存儲(chǔ)。

本發(fā)明并不局限于上述實(shí)施方式,如果對(duì)本發(fā)明的各種改動(dòng)或變形不脫離本發(fā)明的精神和范圍,倘若這些改動(dòng)和變形屬于本發(fā)明的權(quán)利要求和等同技術(shù)范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變形。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
和静县| 庆城县| 英吉沙县| 安阳市| 根河市| 大余县| 苗栗县| 图木舒克市| 察隅县| 邓州市| 银川市| 黄山市| 会同县| 永川市| 阿拉善盟| 陆良县| 吉安县| 常德市| 诸城市| 淮阳县| 宁津县| 凉城县| 庆阳市| 常德市| 广西| 运城市| 南涧| 邻水| 星子县| 敦煌市| 镇原县| 读书| 鄂伦春自治旗| 山西省| 天祝| 洛阳市| 大关县| 法库县| 南阳市| 滨海县| 洛宁县|