本發(fā)明實(shí)施例涉及數(shù)據(jù)處理技術(shù),尤其涉及一種聯(lián)系方式識(shí)別方法及裝置。
背景技術(shù):
目前,很多文本的內(nèi)容中包含聯(lián)系方式,如聯(lián)系電話、微信號(hào)、QQ號(hào)等,需要對(duì)該些聯(lián)系方式進(jìn)行識(shí)別以方便聯(lián)系。
現(xiàn)有技術(shù)中,通過規(guī)則提取方式實(shí)現(xiàn)對(duì)文本中聯(lián)系方式的識(shí)別。具體的,預(yù)先設(shè)置白名單數(shù)據(jù)庫與黑名單數(shù)據(jù)庫,白名單數(shù)據(jù)庫中存儲(chǔ)可能導(dǎo)致誤判疑似區(qū)域?yàn)槁?lián)系方式的詞語,如車牌號(hào)、郵編、型號(hào)等詞語,黑名單數(shù)據(jù)庫中存儲(chǔ)微信、電話號(hào)碼、QQ號(hào)碼等與聯(lián)系方式相關(guān)的敏感詞。當(dāng)需要識(shí)別出文本中的聯(lián)系方式時(shí),從文本中提取出疑似聯(lián)系方式的區(qū)域,稱之為疑似區(qū)域。通過一定的規(guī)則,提取疑似區(qū)域附近的字符。例如,設(shè)定的規(guī)則為提取疑似區(qū)域左邊的4個(gè)字符,將該4個(gè)字符形成的字符串與白名單數(shù)據(jù)庫或黑名單數(shù)據(jù)庫進(jìn)行命中,若命中白名單數(shù)據(jù)庫,則識(shí)別出疑似區(qū)域不是聯(lián)系方式,若命中黑名單數(shù)據(jù)庫,則識(shí)別出疑似區(qū)域?yàn)槁?lián)系方式。當(dāng)出現(xiàn)一些變形敏感詞時(shí),如VX(微信)、違信(微信)等,需要對(duì)黑名單數(shù)據(jù)庫進(jìn)行更新;同理,對(duì)白名單數(shù)據(jù)庫也需要不斷的更新維護(hù),工作量大。若維護(hù)不及時(shí)或不全面,很容易導(dǎo)致誤判的發(fā)生,召回率低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種聯(lián)系方式識(shí)別方法及裝置,通過訓(xùn)練模型對(duì)文本中的聯(lián)系方式進(jìn)行識(shí)別,速度快、召回率高。
第一方面,本發(fā)明實(shí)施例提供一種聯(lián)系方式識(shí)別方法,包括:
將待識(shí)別文本輸入訓(xùn)練模型,所述訓(xùn)練模型為對(duì)至少一個(gè)樣本訓(xùn)練得到的,所述樣本為包含聯(lián)系方式的文本;
通過所述訓(xùn)練模型識(shí)別所述待識(shí)別文本包含的聯(lián)系方式。
在一種可行的實(shí)現(xiàn)方式中,所述將待識(shí)別文本輸入訓(xùn)練模型之前,還包括:
對(duì)所述至少一個(gè)訓(xùn)練樣本中的每個(gè)樣本的文本內(nèi)容進(jìn)行矯正;
從矯正后的文本內(nèi)容中確定出疑似區(qū)域,所述疑似區(qū)域?yàn)榘?lián)系方式的區(qū)域;
提取子串,所述子串包括左子串,和/或,右子串,所述左子串包括所述疑似區(qū)域左邊第一預(yù)設(shè)長(zhǎng)度的、連續(xù)的字符串,所述右子串包括所述疑似區(qū)域右邊第二預(yù)設(shè)長(zhǎng)度的、連接的字符串;
對(duì)所述疑似區(qū)域進(jìn)行特征提取,以提取出所述疑似區(qū)域的特征;
對(duì)所述子串進(jìn)行特征提取,以提取出所述子串的特征;
對(duì)所述疑似區(qū)域的特征,以及所述子串的特征進(jìn)行特征訓(xùn)練,得到所述訓(xùn)練模型。
在一種可行的實(shí)現(xiàn)方式中,所述對(duì)所述至少一個(gè)訓(xùn)練樣本中的每個(gè)樣本的文本內(nèi)容進(jìn)行矯正,包括下述矯正中的至少一種:
刪除所述文本內(nèi)容中的標(biāo)簽;
對(duì)所述文本內(nèi)容中的字母進(jìn)行大小寫轉(zhuǎn)換;
對(duì)所述文本內(nèi)容中的數(shù)字轉(zhuǎn)換為標(biāo)準(zhǔn)數(shù)字;
對(duì)所述文本內(nèi)容中的中文進(jìn)行歸一化矯正;
將文本內(nèi)容中的全角符號(hào)轉(zhuǎn)換為半角符號(hào)。
在一種可行的實(shí)現(xiàn)方式中,所述對(duì)所述文本內(nèi)容中的中文進(jìn)行歸一化矯正,包括:
對(duì)于所述文本內(nèi)容中的每個(gè)中文,判斷該中文是否為數(shù)字;
若所述中文為數(shù)字,則判斷所述中文左右相鄰的兩個(gè)字符中,是否存在一個(gè)能轉(zhuǎn)換為標(biāo)準(zhǔn)數(shù)字的字符,若存在,則將所述中文轉(zhuǎn)換為標(biāo)準(zhǔn)數(shù)字。
在一種可行的實(shí)現(xiàn)方式中,所述疑似區(qū)域滿足第一規(guī)則、第二規(guī)則與第三規(guī)則,其中,
所述第一規(guī)則下,所述疑似區(qū)域的首字符或尾字符為符號(hào)、字母或數(shù)字;
所述第二規(guī)則下,所述疑似區(qū)域的中間字符為符號(hào)、字母、數(shù)字或空格;
所述第三規(guī)則下,所述疑似區(qū)域的總長(zhǎng)度為預(yù)設(shè)長(zhǎng)度。
在一種可行的實(shí)現(xiàn)方式中,所述對(duì)所述疑似區(qū)域進(jìn)行特征提取,包括下述特征提取中的至少一個(gè):
統(tǒng)計(jì)所述疑似區(qū)域中特定字符的個(gè)數(shù);
確定所述疑似區(qū)域中連續(xù)數(shù)字的長(zhǎng)度;
確定所述疑似區(qū)域中冒號(hào)的個(gè)數(shù);
確定所述疑似區(qū)域中連續(xù)字符串的個(gè)數(shù);
從所述疑似區(qū)域中提取生僻字以及形近字。
在一種可行的實(shí)現(xiàn)方式中,所述子串具體為所述左子串或所述右子串,所述對(duì)所述子串進(jìn)行特征提取,包括下述特征提取中的至少一個(gè):
從所述子串中,確定出第三預(yù)設(shè)長(zhǎng)度的字符串,所述第三預(yù)設(shè)長(zhǎng)度的字符串為與所述疑似區(qū)域距離最近的字符串,確定所述第三預(yù)設(shè)長(zhǎng)度的字符串中每個(gè)字符的首字母,根據(jù)所述首字母確定出至少一個(gè)二元組,以及所述至少一個(gè)二元組的位置關(guān)系;
對(duì)所述子串進(jìn)行分詞,確定所述分詞后的子串中單獨(dú)字的個(gè)數(shù);
從所述子串中,確定出第四預(yù)設(shè)長(zhǎng)度的字符串,所述第四預(yù)設(shè)長(zhǎng)度的字符串為與所述疑似區(qū)域最近的字符串,確定所述第四預(yù)設(shè)長(zhǎng)度的字符串中每個(gè)詞的詞性,以及每個(gè)詞之間的位置關(guān)系;
從所述子串中提取生僻字以及形近字。
在一種可行的實(shí)現(xiàn)方式中,上述的方法還包括:
從所述疑似區(qū)域和/或所述子串中提取出敏感詞以及型號(hào)特征;
所述對(duì)所述疑似區(qū)域的特征,以及所述子串的特征進(jìn)行特征訓(xùn)練,得到所述訓(xùn)練模型,包括:
對(duì)所述疑似區(qū)域的特征、所述子串的特征、所述敏感詞以及型號(hào)特征進(jìn)行特征訓(xùn)練,得到所述訓(xùn)練模型。
在一種可行的實(shí)現(xiàn)方式中,上述的方法還包括:
提取第一組合字符,所述第一組合字符包括所述左子串的尾字符,以及所述疑似區(qū)域的前兩個(gè)字符;
所述對(duì)所述疑似區(qū)域的特征,以及所述子串的特征進(jìn)行特征訓(xùn)練,得到所述訓(xùn)練模型,包括:
對(duì)所述疑似區(qū)域的特征、所述子串的特征以及所述第一組合字符進(jìn)行特征訓(xùn)練,得到所述訓(xùn)練模型。
在一種可行的實(shí)現(xiàn)方式中,上述的方法還包括:
提取第二組合字符,所述第二組合字符包括所述左子串中的字符以及所述右子串中的字符;
所述對(duì)所述疑似區(qū)域的特征,以及所述子串的特征進(jìn)行特征訓(xùn)練,得到所述訓(xùn)練模型,包括:
對(duì)所述疑似區(qū)域的特征、所述子串的特征、所述第二組合字符進(jìn)行特征訓(xùn)練,得到所述訓(xùn)練模型。
第二方面,本發(fā)明實(shí)施例提供一種聯(lián)系方式識(shí)別裝置,包括:
輸入模塊,用于將待識(shí)別文本輸入訓(xùn)練模型,所述訓(xùn)練模型為對(duì)至少一個(gè)樣本訓(xùn)練得到的,所述樣本為包含聯(lián)系方式的文本;
識(shí)別模塊,用于通過所述訓(xùn)練模型識(shí)別所述待識(shí)別文本包含的聯(lián)系方式。
在一種可行的實(shí)現(xiàn)方式中,上述的裝置還包括:
訓(xùn)練模塊,用于在所述輸入模塊將待識(shí)別文本輸入訓(xùn)練模型之前,對(duì)所述至少一個(gè)訓(xùn)練樣本中的每個(gè)樣本的文本內(nèi)容進(jìn)行矯正;從矯正后的文本內(nèi)容中確定出疑似區(qū)域,所述疑似區(qū)域?yàn)榘?lián)系方式的區(qū)域;提取子串,所述子串包括左子串,和/或,右子串,所述左子串包括所述疑似區(qū)域左邊第一預(yù)設(shè)長(zhǎng)度的、連續(xù)的字符串,所述右子串包括所述疑似區(qū)域右邊第二預(yù)設(shè)長(zhǎng)度的、連接的字符串;對(duì)所述疑似區(qū)域進(jìn)行特征提取,以提取出所述疑似區(qū)域的特征;對(duì)所述子串進(jìn)行特征提取,以提取出所述子串的特征;對(duì)所述疑似區(qū)域的特征,以及所述子串的特征進(jìn)行特征訓(xùn)練,得到所述訓(xùn)練模型。
在一種可行的實(shí)現(xiàn)方式中,所述訓(xùn)練模塊,具體用于通過下述矯正中的至少一種,對(duì)所述至少一個(gè)訓(xùn)練樣本中的每個(gè)樣本的文本內(nèi)容進(jìn)行矯正:
刪除所述文本內(nèi)容中的標(biāo)簽;
對(duì)所述文本內(nèi)容中的字母進(jìn)行大小寫轉(zhuǎn)換;
對(duì)所述文本內(nèi)容中的數(shù)字轉(zhuǎn)換為標(biāo)準(zhǔn)數(shù)字;
對(duì)所述文本內(nèi)容中的中文進(jìn)行歸一化矯正;
將文本內(nèi)容中的全角符號(hào)轉(zhuǎn)換為半角符號(hào)。
在一種可行的實(shí)現(xiàn)方式中,所述訓(xùn)練模塊,具體用于對(duì)于所述文本內(nèi)容中的每個(gè)中文,判斷該中文是否為數(shù)字;若所述中文為數(shù)字,則判斷所述中文左右相鄰的兩個(gè)字符中,是否存在一個(gè)能轉(zhuǎn)換為標(biāo)準(zhǔn)數(shù)字的字符,若存在,則將所述中文轉(zhuǎn)換為標(biāo)準(zhǔn)數(shù)字。
在一種可行的實(shí)現(xiàn)方式中,所述疑似區(qū)域滿足第一規(guī)則、第二規(guī)則與第三規(guī)則,其中,
所述第一規(guī)則下,所述疑似區(qū)域的首字符或尾字符為符號(hào)、字母或數(shù)字;
所述第二規(guī)則下,所述疑似區(qū)域的中間字符為符號(hào)、字母、數(shù)字或空格;
所述第三規(guī)則下,所述疑似區(qū)域的總長(zhǎng)度為預(yù)設(shè)長(zhǎng)度。
在一種可行的實(shí)現(xiàn)方式中,所述訓(xùn)練模塊,具體用于通過下述特征提取中的至少一個(gè),對(duì)所述疑似區(qū)域進(jìn)行特征提取:
統(tǒng)計(jì)所述疑似區(qū)域中特定字符的個(gè)數(shù);
確定所述疑似區(qū)域中連續(xù)數(shù)字的長(zhǎng)度;
確定所述疑似區(qū)域中冒號(hào)的個(gè)數(shù);
確定所述疑似區(qū)域中連續(xù)字符串的個(gè)數(shù);
從所述疑似區(qū)域中提取生僻字以及形近字。
在一種可行的實(shí)現(xiàn)方式中,所述子串具體為所述左子串或所述右子串,具體用于通過下述特征提取中的至少一個(gè),對(duì)所述子串進(jìn)行特征提取:
從所述子串中,確定出第三預(yù)設(shè)長(zhǎng)度的字符串,所述第三預(yù)設(shè)長(zhǎng)度的字符串為與所述疑似區(qū)域距離最近的字符串,確定所述第三預(yù)設(shè)長(zhǎng)度的字符串中每個(gè)字符的首字母,根據(jù)所述首字母確定出至少一個(gè)二元組,以及所述至少一個(gè)二元組的位置關(guān)系;
對(duì)所述子串進(jìn)行分詞,確定所述分詞后的子串中單獨(dú)字的個(gè)數(shù);
從所述子串中,確定出第四預(yù)設(shè)長(zhǎng)度的字符串,所述第四預(yù)設(shè)長(zhǎng)度的字符串為與所述疑似區(qū)域最近的字符串,確定所述第四預(yù)設(shè)長(zhǎng)度的字符串中每個(gè)詞的詞性,以及每個(gè)詞之間的位置關(guān)系;
從所述子串中提取生僻字以及形近字。
在一種可行的實(shí)現(xiàn)方式中,所述訓(xùn)練模塊,還用于從所述疑似區(qū)域和/或所述子串中提取出敏感詞以及型號(hào)特征;對(duì)所述疑似區(qū)域的特征、所述子串的特征、所述敏感詞以及型號(hào)特征進(jìn)行特征訓(xùn)練,得到所述訓(xùn)練模型。
在一種可行的實(shí)現(xiàn)方式中,所述訓(xùn)練模塊,還用于提取第一組合字符,所述第一組合字符包括所述左子串的尾字符,以及所述疑似區(qū)域的前兩個(gè)字符;對(duì)所述疑似區(qū)域的特征、所述子串的特征以及所述第一組合字符進(jìn)行特征訓(xùn)練,得到所述訓(xùn)練模型。
在一種可行的實(shí)現(xiàn)方式中,所述訓(xùn)練模塊,還用于提取第二組合字符,所述第二組合字符包括所述左子串中的字符以及所述右子串中的字符;對(duì)所述疑似區(qū)域的特征、所述子串的特征、所述第二組合字符進(jìn)行特征訓(xùn)練,得到所述訓(xùn)練模型。
本發(fā)明實(shí)施例提供的聯(lián)系方式識(shí)別方法及裝置,將待識(shí)別文本輸入到預(yù)先訓(xùn)練好的訓(xùn)練模型中,通過訓(xùn)練模型對(duì)待識(shí)別文本進(jìn)行識(shí)別,識(shí)別出待識(shí)別文本包含的聯(lián)系方式。該過程中,訓(xùn)練模型為預(yù)先對(duì)至少一個(gè)樣本訓(xùn)練得到的,樣本為包含聯(lián)系方式的文本,實(shí)現(xiàn)通過訓(xùn)練模型對(duì)文本中的聯(lián)系方式進(jìn)行識(shí)別的目的,識(shí)別速度快、召回率高。
附圖說明
為了更清楚地說明本發(fā)明方法實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明方法的一些實(shí)施例,對(duì)于本領(lǐng)域技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明聯(lián)系方式識(shí)別方法實(shí)施例一的流程圖;
圖2為本發(fā)明聯(lián)系方式識(shí)別方法中對(duì)樣本進(jìn)行切割的示意圖;
圖3為本發(fā)明聯(lián)系方式識(shí)別方法中訓(xùn)練模型的生成過程示意圖;
圖4為本發(fā)明聯(lián)系方式識(shí)別裝置實(shí)施例一的結(jié)構(gòu)示意圖;
圖5為本發(fā)明聯(lián)系方式識(shí)別裝置實(shí)施例二的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。以下內(nèi)容為結(jié)合附圖及較佳實(shí)施例,對(duì)依據(jù)本發(fā)明申請(qǐng)的具體實(shí)施方式、結(jié)構(gòu)、特征及其功效的詳細(xì)說明。
本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”、“第三”、“第四”等(如果存在)是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例例如能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
圖1為本發(fā)明聯(lián)系方式識(shí)別方法實(shí)施例一的流程圖,包括:
101、將待識(shí)別文本輸入訓(xùn)練模型,所述訓(xùn)練模型為對(duì)至少一個(gè)樣本訓(xùn)練得到的,所述樣本為包含聯(lián)系方式的文本。
本發(fā)明實(shí)施例中,待識(shí)別文本為包含聯(lián)系方式的文本,指網(wǎng)頁、文檔等的文字信息部分,聯(lián)系方式例如為聯(lián)系電話、微信號(hào)、QQ號(hào)等。本步驟中,將待識(shí)別文本輸入預(yù)先訓(xùn)練好的訓(xùn)練模型,該訓(xùn)練模型例如為預(yù)先對(duì)至少一個(gè)樣本訓(xùn)練得到的,其中,樣本為包含聯(lián)系方式的文本。
102、通過所述訓(xùn)練模型識(shí)別所述待識(shí)別文本包含的聯(lián)系方式。
本步驟中,訓(xùn)練模型對(duì)待識(shí)別文本進(jìn)行識(shí)別,識(shí)別出待識(shí)別文本包含的聯(lián)系方式。
本發(fā)明實(shí)施例提供的聯(lián)系方式識(shí)別方法,將待識(shí)別文本輸入到預(yù)先訓(xùn)練好的訓(xùn)練模型中,通過訓(xùn)練模型對(duì)待識(shí)別文本進(jìn)行識(shí)別,識(shí)別出待識(shí)別文本包含的聯(lián)系方式。該過程中,訓(xùn)練模型為預(yù)先對(duì)至少一個(gè)樣本訓(xùn)練得到的,樣本為包含聯(lián)系方式的文本,實(shí)現(xiàn)通過訓(xùn)練模型對(duì)文本中的聯(lián)系方式進(jìn)行識(shí)別的目的,識(shí)別速度快、召回率高。
下面,對(duì)如何對(duì)至少一個(gè)樣本進(jìn)行訓(xùn)練得到訓(xùn)練模型進(jìn)行詳細(xì)說明。具體的,可參見圖2,圖2為本發(fā)明聯(lián)系方式識(shí)別方法中對(duì)樣本進(jìn)行切割的示意圖。
請(qǐng)參照?qǐng)D2,訓(xùn)練模型(也稱之為局部模型)中,對(duì)每個(gè)樣本,從樣本的文本內(nèi)容中確定出疑似區(qū)域與子串,子串包括左子串和/或右子串,左子串為疑似區(qū)域左邊的字符串,右子串為疑似區(qū)域右邊的字符串。本發(fā)明實(shí)施例中,每個(gè)樣本或待識(shí)別文本中的疑似區(qū)域至少為一個(gè),對(duì)每個(gè)疑似區(qū)域提取子串,從而完成對(duì)樣本或待識(shí)別文本的切割。
接下來,在上述圖2的基礎(chǔ)上,對(duì)本發(fā)明如何對(duì)至少一個(gè)樣本進(jìn)行訓(xùn)練得到訓(xùn)練模型進(jìn)行詳細(xì)說明。具體的,訓(xùn)練得到訓(xùn)練模型的過程包括:文本內(nèi)容可容忍性矯正過程、疑似區(qū)域定位過程、子串提取過程、特征提取過程以及特征訓(xùn)練過程。
首先,文本內(nèi)容可容忍性矯正過程。
該過程中,對(duì)于至少一個(gè)訓(xùn)練樣本中的每個(gè)樣本的文本內(nèi)容進(jìn)行矯正,從而對(duì)文本內(nèi)容中的一些非惡意的字符、字母與數(shù)字等進(jìn)行矯正,實(shí)現(xiàn)標(biāo)準(zhǔn)化。具體的,對(duì)至少一個(gè)訓(xùn)練樣本中的每個(gè)樣本的文本內(nèi)容進(jìn)行矯正,包括下述矯正中的至少一種:
刪除文本內(nèi)容中的標(biāo)簽,如超級(jí)文本標(biāo)記語言(HyperText Markup Language,HTML)標(biāo)簽、腳本(script)、風(fēng)格(style)標(biāo)簽等;
對(duì)文本內(nèi)容中的字母進(jìn)行大小寫轉(zhuǎn)換,例如,將所有的大寫字母轉(zhuǎn)換為小寫字母;
對(duì)文本內(nèi)容中的數(shù)字轉(zhuǎn)換為標(biāo)準(zhǔn)數(shù)字,標(biāo)準(zhǔn)數(shù)字例如為0~9的羅馬數(shù)字,將數(shù)字轉(zhuǎn)換為標(biāo)識(shí)數(shù)字,是指將非羅馬數(shù)字的數(shù)字轉(zhuǎn)換為標(biāo)準(zhǔn)數(shù)字,例如,將(1)~(20)、1.~20.、①~⑩、(-)……(+)、等轉(zhuǎn)換為標(biāo)準(zhǔn)數(shù)字;
對(duì)文本內(nèi)容中的中文進(jìn)行歸一化矯正,即對(duì)一二三四五六七八九十、零壹貳叁肆伍陸柒捌玖拾等,采用相鄰比較歸一化進(jìn)行矯正,具體的,對(duì)于所述文本內(nèi)容中的每個(gè)中文,判斷該中文是否為數(shù)字,若所述中文為數(shù)字,則判斷所述中文左右相鄰的兩個(gè)字符中,是否存在一個(gè)能轉(zhuǎn)換為標(biāo)準(zhǔn)數(shù)字的字符,若存在,則將所述中文轉(zhuǎn)換為標(biāo)準(zhǔn)數(shù)字;
將文本內(nèi)容中的全角符號(hào)轉(zhuǎn)換為半角符號(hào)。
其次,疑似區(qū)域定位過程。
本發(fā)明實(shí)施例中,使用寬泛的定位方法,從整片文本中定位出疑似為聯(lián)系方式的區(qū)域,作為疑似區(qū)域,從而縮小后續(xù)的文本處理規(guī)模,為后續(xù)的特征提取做準(zhǔn)備。
具體的,提取出的疑似區(qū)域滿足第一規(guī)則、第二規(guī)則與第三規(guī)則,其中,第一規(guī)則下,疑似區(qū)域的首字符或尾字符為符號(hào)、字母或數(shù)字;第二規(guī)則下,疑似區(qū)域的中間字符為符號(hào)、字母、數(shù)字或空格;第三規(guī)則下,疑似區(qū)域的總長(zhǎng)度為預(yù)設(shè)長(zhǎng)度。
接著,子串提取過程。
具體的,左子串為與疑似區(qū)域相鄰的、位于疑似區(qū)域左邊的第一預(yù)設(shè)長(zhǎng)度的連續(xù)字符串,右子串為與疑似區(qū)域相鄰的、位于疑似區(qū)域右邊的第二預(yù)設(shè)長(zhǎng)度的連續(xù)字符串。其中,第一預(yù)設(shè)長(zhǎng)度與第二預(yù)設(shè)長(zhǎng)度可以根據(jù)需求設(shè)置,例如均為15個(gè)字符形成的字符串,當(dāng)然,第一預(yù)設(shè)長(zhǎng)度與第二預(yù)設(shè)長(zhǎng)度也可以不同。
接著,特征提取過程。該過程包括子串特征提取、疑似區(qū)域特征提取、子串和疑似區(qū)域分別共有的特征的提取、第一組合字符的提取以及第二組合字符的提取。下面,對(duì)該些特征提取分別進(jìn)行說明。
子串特征提取過程中,提取出的特征包括下述特征中的至少一個(gè):
特征一、從所述子串中,確定出第三預(yù)設(shè)長(zhǎng)度的字符串,所述第三預(yù)設(shè)長(zhǎng)度的字符串為與所述疑似區(qū)域距離最近的字符串,確定所述第三預(yù)設(shè)長(zhǎng)度的字符串中每個(gè)字符的首字母,根據(jù)所述首字母確定出至少一個(gè)二元組,以及所述至少一個(gè)二元組的位置關(guān)系。例如,文本內(nèi)容包含“加我微信123456789并聯(lián)系我”,假設(shè)第三預(yù)設(shè)長(zhǎng)度為4個(gè)字符,第四預(yù)設(shè)長(zhǎng)度也為四個(gè)字符,則疑似區(qū)域?yàn)?23456789,左子串為加我微信,右子串為并聯(lián)系我。以左子串為例,則左子串中的字符的拼音首字母分為為j、w、w、x,二元組依次未(j,w)、(w,w)、(w,x)。
特征二、對(duì)所述子串進(jìn)行分詞,確定所述分詞后的子串中單獨(dú)字的個(gè)數(shù)。同樣假設(shè)文本內(nèi)容包含“加我微信123456789并聯(lián)系我”,左子串為加我微信,右子串為并聯(lián)系我。以左子串為例,則對(duì)左子串進(jìn)行分詞,得到的分詞包括“加”、“我”、“微信”,單獨(dú)字的個(gè)數(shù)為2個(gè)。
特征三、從所述子串中,確定出第四預(yù)設(shè)長(zhǎng)度的字符串,所述第四預(yù)設(shè)長(zhǎng)度的字符串為與所述疑似區(qū)域最近的字符串,確定所述第四預(yù)設(shè)長(zhǎng)度的字符串中每個(gè)詞的詞性,以及每個(gè)詞之間的位置關(guān)系。繼續(xù)沿用上述的例子,以左子串為例,假設(shè)第四預(yù)設(shè)長(zhǎng)度為3,則左子串中的三個(gè)詞分別為“加”、“我”、“微信”,則該三個(gè)詞的詞性依次為動(dòng)詞、名稱代詞與名詞。
特征四、從所述子串中提取生僻字以及形近字。收集生僻字的時(shí)候,可采用跑海杜普(Hadoop)的方式進(jìn)行提??;收集到形近字字后,對(duì)疑似相近的詞語進(jìn)行轉(zhuǎn)換。
當(dāng)子串中存在生僻字時(shí),從子串中提取出生僻字;同理,當(dāng)子串中存儲(chǔ)形近字時(shí),從子串中提取出形近字。
疑似區(qū)域特征提取過程,提取出的特征包括下述特征中的至少一個(gè):
特征一、統(tǒng)計(jì)所述疑似區(qū)域中特定字符的個(gè)數(shù),其中,特殊字符例如為“0”或者“o”。
特征二、確定所述疑似區(qū)域中連續(xù)數(shù)字的長(zhǎng)度。
特征三、確定所述疑似區(qū)域中冒號(hào)的個(gè)數(shù)。
特征四、確定所述疑似區(qū)域中連續(xù)字符串的個(gè)數(shù),例如,疑似區(qū)域包含“6000~7000”,則其中包含兩個(gè)連續(xù)字符串,分別為“6000”、“7000”。
特征五、從所述疑似區(qū)域中提取生僻字以及形近字。收集生僻字的時(shí)候,可采用跑海杜普(Hadoop)的方式進(jìn)行提??;收集到形近字字后,對(duì)疑似相近的詞語進(jìn)行轉(zhuǎn)換。
子串和疑似區(qū)域分別共有的特征的提取,具體的,從所述疑似區(qū)域和/或所述子串中提取出敏感詞以及型號(hào)特征。其中,敏感詞例如為qq、tel、微信等與聯(lián)系方式密切相關(guān)的詞;型號(hào)特征例如為終端的型號(hào)等。此時(shí),進(jìn)行特征訓(xùn)練時(shí),對(duì)所述疑似區(qū)域的特征、所述子串的特征、所述敏感詞以及型號(hào)特征進(jìn)行特征訓(xùn)練,得到所述訓(xùn)練模型。該過程中,也可以只提取敏感詞或型號(hào)特征。
第一組合字符的提取。
具體的,所述第一組合字符包括所述左子串的尾字符,以及所述疑似區(qū)域的前兩個(gè)字符。此時(shí),進(jìn)行特征訓(xùn)練時(shí),對(duì)所述疑似區(qū)域的特征、所述子串的特征以及所述第一組合字符進(jìn)行特征訓(xùn)練,得到所述訓(xùn)練模型。例如,文本內(nèi)容包含“請(qǐng)加我VX123456并聯(lián)系我”,則左子串為“請(qǐng)加我”,疑似區(qū)域?yàn)椤癡X123456”,提取出的第一組合字符為“我VX”。
第二組合字符的提取。
具體的,所述第二組合字符包括所述左子串中的字符以及所述右子串中的字符。此時(shí),進(jìn)行特征訓(xùn)練時(shí),對(duì)所述疑似區(qū)域的特征、所述子串的特征、所述第二組合字符進(jìn)行特征訓(xùn)練,得到所述訓(xùn)練模型。
最后,特征訓(xùn)練過程。
在對(duì)文本的文本內(nèi)容特征提取接收后,使用隨機(jī)森林分類器等對(duì)提取到的特征進(jìn)行訓(xùn)練,從而得到訓(xùn)練模型。
綜合上述,本發(fā)明實(shí)施例中,對(duì)至少一個(gè)樣本進(jìn)行訓(xùn)練得到訓(xùn)練模型的流程可總結(jié)為圖3,圖3為本發(fā)明聯(lián)系方式識(shí)別方法中訓(xùn)練模型的生成過程示意圖。
在采用上述的訓(xùn)練模型對(duì)待識(shí)別文本中的聯(lián)系方式時(shí),可以設(shè)置第一閾值(例如70%),若識(shí)別出的聯(lián)系方式的召回率高于該閾值,則說明通過訓(xùn)練模型,基本識(shí)別出了待識(shí)別文本中的所有聯(lián)系方式,若識(shí)別出的聯(lián)系方式低于第一閾值,例如介于40%~70%之間,則說明通過訓(xùn)練模型并未識(shí)別出待識(shí)別文本中的所有聯(lián)系方式,此時(shí),采用規(guī)則提取方式,對(duì)待識(shí)別文本進(jìn)行進(jìn)一步識(shí)別,以識(shí)別出訓(xùn)練模型未識(shí)別出的聯(lián)系方式。
圖4為本發(fā)明聯(lián)系方式識(shí)別裝置實(shí)施例一的結(jié)構(gòu)示意圖,包括:
輸入模塊11,用于將待識(shí)別文本輸入訓(xùn)練模型,所述訓(xùn)練模型為對(duì)至少一個(gè)樣本訓(xùn)練得到的,所述樣本為包含聯(lián)系方式的文本;
識(shí)別模塊12,用于通過所述訓(xùn)練模型識(shí)別所述待識(shí)別文本包含的聯(lián)系方式。
本發(fā)明實(shí)施例提供的聯(lián)系方式識(shí)別裝置,將待識(shí)別文本輸入到預(yù)先訓(xùn)練好的訓(xùn)練模型中,通過訓(xùn)練模型對(duì)待識(shí)別文本進(jìn)行識(shí)別,識(shí)別出待識(shí)別文本包含的聯(lián)系方式。該過程中,訓(xùn)練模型為預(yù)先對(duì)至少一個(gè)樣本訓(xùn)練得到的,樣本為包含聯(lián)系方式的文本,實(shí)現(xiàn)通過訓(xùn)練模型對(duì)文本中的聯(lián)系方式進(jìn)行識(shí)別的目的,識(shí)別速度快、召回率高。
圖5為本發(fā)明聯(lián)系方式識(shí)別裝置實(shí)施例二的結(jié)構(gòu)示意圖。請(qǐng)參照?qǐng)D5,本發(fā)明實(shí)施例提供的聯(lián)系方式識(shí)別裝置,在上述圖4的基礎(chǔ)上,進(jìn)一步的,還包括:
訓(xùn)練模塊13,用于在所述輸入模塊11將待識(shí)別文本輸入訓(xùn)練模型之前,對(duì)所述至少一個(gè)訓(xùn)練樣本中的每個(gè)樣本的文本內(nèi)容進(jìn)行矯正;從矯正后的文本內(nèi)容中確定出疑似區(qū)域,所述疑似區(qū)域?yàn)榘?lián)系方式的區(qū)域;提取子串,所述子串包括左子串,和/或,右子串,所述左子串包括所述疑似區(qū)域左邊第一預(yù)設(shè)長(zhǎng)度的、連續(xù)的字符串,所述右子串包括所述疑似區(qū)域右邊第二預(yù)設(shè)長(zhǎng)度的、連接的字符串;對(duì)所述疑似區(qū)域進(jìn)行特征提取,以提取出所述疑似區(qū)域的特征;對(duì)所述子串進(jìn)行特征提取,以提取出所述子串的特征;對(duì)所述疑似區(qū)域的特征,以及所述子串的特征進(jìn)行特征訓(xùn)練,得到所述訓(xùn)練模型。
可選的,在本發(fā)明一實(shí)施例中,所述訓(xùn)練模塊13,具體用于通過下述矯正中的至少一種,對(duì)所述至少一個(gè)訓(xùn)練樣本中的每個(gè)樣本的文本內(nèi)容進(jìn)行矯正:
刪除所述文本內(nèi)容中的標(biāo)簽;
對(duì)所述文本內(nèi)容中的字母進(jìn)行大小寫轉(zhuǎn)換;
對(duì)所述文本內(nèi)容中的數(shù)字轉(zhuǎn)換為標(biāo)準(zhǔn)數(shù)字;
對(duì)所述文本內(nèi)容中的中文進(jìn)行歸一化矯正;
將文本內(nèi)容中的全角符號(hào)轉(zhuǎn)換為半角符號(hào)。
可選的,在本發(fā)明一實(shí)施例中,所述訓(xùn)練模塊13,具體用于對(duì)于所述文本內(nèi)容中的每個(gè)中文,判斷該中文是否為數(shù)字;若所述中文為數(shù)字,則判斷所述中文左右相鄰的兩個(gè)字符中,是否存在一個(gè)能轉(zhuǎn)換為標(biāo)準(zhǔn)數(shù)字的字符,若存在,則將所述中文轉(zhuǎn)換為標(biāo)準(zhǔn)數(shù)字。
可選的,在本發(fā)明一實(shí)施例中,所述疑似區(qū)域滿足第一規(guī)則、第二規(guī)則與第三規(guī)則,其中,
所述第一規(guī)則下,所述疑似區(qū)域的首字符或尾字符為符號(hào)、字母或數(shù)字;
所述第二規(guī)則下,所述疑似區(qū)域的中間字符為符號(hào)、字母、數(shù)字或空格;
所述第三規(guī)則下,所述疑似區(qū)域的總長(zhǎng)度為預(yù)設(shè)長(zhǎng)度。
可選的,在本發(fā)明一實(shí)施例中,所述訓(xùn)練模塊13,具體用于通過下述特征提取中的至少一個(gè),對(duì)所述疑似區(qū)域進(jìn)行特征提?。?/p>
統(tǒng)計(jì)所述疑似區(qū)域中特定字符的個(gè)數(shù);
確定所述疑似區(qū)域中連續(xù)數(shù)字的長(zhǎng)度;
確定所述疑似區(qū)域中冒號(hào)的個(gè)數(shù);
確定所述疑似區(qū)域中連續(xù)字符串的個(gè)數(shù);
從所述疑似區(qū)域中提取生僻字以及形近字。
可選的,在本發(fā)明一實(shí)施例中,所述子串具體為所述左子串或所述右子串,具體用于通過下述特征提取中的至少一個(gè),對(duì)所述子串進(jìn)行特征提?。?/p>
從所述子串中,確定出第三預(yù)設(shè)長(zhǎng)度的字符串,所述第三預(yù)設(shè)長(zhǎng)度的字符串為與所述疑似區(qū)域距離最近的字符串,確定所述第三預(yù)設(shè)長(zhǎng)度的字符串中每個(gè)字符的首字母,根據(jù)所述首字母確定出至少一個(gè)二元組,以及所述至少一個(gè)二元組的位置關(guān)系;
對(duì)所述子串進(jìn)行分詞,確定所述分詞后的子串中單獨(dú)字的個(gè)數(shù);
從所述子串中,確定出第四預(yù)設(shè)長(zhǎng)度的字符串,所述第四預(yù)設(shè)長(zhǎng)度的字符串為與所述疑似區(qū)域最近的字符串,確定所述第四預(yù)設(shè)長(zhǎng)度的字符串中每個(gè)詞的詞性,以及每個(gè)詞之間的位置關(guān)系;
從所述子串中提取生僻字以及形近字。
可選的,在本發(fā)明一實(shí)施例中,所述訓(xùn)練模塊13,還用于從所述疑似區(qū)域和/或所述子串中提取出敏感詞以及型號(hào)特征;對(duì)所述疑似區(qū)域的特征、所述子串的特征、所述敏感詞以及型號(hào)特征進(jìn)行特征訓(xùn)練,得到所述訓(xùn)練模型。
可選的,在本發(fā)明一實(shí)施例中,所述訓(xùn)練模塊13,還用于提取第一組合字符,所述第一組合字符包括所述左子串的尾字符,以及所述疑似區(qū)域的前兩個(gè)字符;對(duì)所述疑似區(qū)域的特征、所述子串的特征以及所述第一組合字符進(jìn)行特征訓(xùn)練,得到所述訓(xùn)練模型。
可選的,在本發(fā)明一實(shí)施例中,所述訓(xùn)練模塊13,還用于提取第二組合字符,所述第二組合字符包括所述左子串中的字符以及所述右子串中的字符;對(duì)所述疑似區(qū)域的特征、所述子串的特征、所述第二組合字符進(jìn)行特征訓(xùn)練,得到所述訓(xùn)練模型。
本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
最后應(yīng)說明的是:以上各實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。