本申請(qǐng)實(shí)施例涉及數(shù)據(jù)分類(lèi)領(lǐng)域,尤其涉及一種文件標(biāo)注系統(tǒng)及方法。
背景技術(shù):
隨著大數(shù)據(jù)時(shí)代的到來(lái),越來(lái)越多的公司重視對(duì)于數(shù)據(jù)的收集??墒怯捎跀?shù)據(jù)來(lái)源的不同,公司收集的大量數(shù)據(jù)都是比較雜亂的,不同渠道的數(shù)據(jù)形式各不相同:1、文件格式不同;2、對(duì)于相同內(nèi)容的字段,所用的字段名不同;3、對(duì)于文本文件,所用的字段之間的分隔符不同;4、文本編碼方式不同,等等。鑒于上述情況,為了能有效地利用數(shù)據(jù),就需要對(duì)這些數(shù)據(jù)進(jìn)行人工標(biāo)注。因?yàn)閿?shù)據(jù)量比較大,所以需要較多的標(biāo)注者一起標(biāo)注。同時(shí),因?yàn)檫@些數(shù)據(jù)文件是公司的重要文件,不能泄密,所以需要盡可能地不把數(shù)據(jù)完全展現(xiàn)給標(biāo)注者。
目前,在現(xiàn)有技術(shù)中,一種方案的專(zhuān)注點(diǎn)是針對(duì)單個(gè)文件進(jìn)行標(biāo)注,例如編寫(xiě)一個(gè)可視化的數(shù)據(jù)清洗流程,然后對(duì)文件一個(gè)一個(gè)的執(zhí)行這個(gè)流程;另一個(gè)方案的專(zhuān)注點(diǎn)是針對(duì)同一文件進(jìn)行多人標(biāo)注,如果多人標(biāo)注相同,則認(rèn)為該標(biāo)注為正確標(biāo)注。
在實(shí)現(xiàn)本申請(qǐng)實(shí)施例的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在如下問(wèn)題:
在第一種現(xiàn)有技術(shù)方案中,創(chuàng)建一個(gè)工作流的工作量比較大,而且對(duì)于每個(gè)字段和分隔符都需要人工判斷,進(jìn)一步加大了人工工作量;同時(shí),因?yàn)樵摲桨笩o(wú)法處理數(shù)據(jù)庫(kù)文件,所以用于標(biāo)注的文件都需要手工導(dǎo)出;另外,因?yàn)樾枰M(jìn)行標(biāo)注的數(shù)據(jù)文件都需要在標(biāo)注者本地運(yùn)行,所以,數(shù)據(jù)文件需要完整的發(fā)給每一個(gè)標(biāo)注者,從而導(dǎo)致重要的數(shù)據(jù)文件存在極大的泄密風(fēng)險(xiǎn)。
而在第二種方案中,每個(gè)標(biāo)注者都需要自己維護(hù)一套用于標(biāo)注的代碼,做了很多重復(fù)性工作,出錯(cuò)風(fēng)險(xiǎn)也隨之增大,同時(shí)每個(gè)字段和分隔符都需要人工判斷,所以標(biāo)注工作量非常大;另外,也會(huì)出現(xiàn)第一種方案中,標(biāo)注文件需要手工導(dǎo)出和數(shù)據(jù)文件存在泄密風(fēng)險(xiǎn)的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述問(wèn)題,提出了本申請(qǐng)實(shí)施例以便提供一種解決上述問(wèn)題的文件標(biāo)注系統(tǒng)及方法。
依據(jù)本申請(qǐng)實(shí)施例的一個(gè)方面,提供了一種文件標(biāo)注系統(tǒng),包括:數(shù)據(jù)上傳模塊,用于將采集到的原始數(shù)據(jù)文件上傳到數(shù)據(jù)庫(kù)中;數(shù)據(jù)預(yù)判斷模塊,用于根據(jù)預(yù)判斷處理規(guī)則對(duì)數(shù)據(jù)庫(kù)中的原始數(shù)據(jù)文件進(jìn)行預(yù)判斷處理,根據(jù)預(yù)判斷處理結(jié)果生成與原始數(shù)據(jù)文件對(duì)應(yīng)的機(jī)器標(biāo)注信息;頁(yè)面標(biāo)注模塊,用于顯示原始數(shù)據(jù)文件及其對(duì)應(yīng)的機(jī)器標(biāo)注信息,接收與原始數(shù)據(jù)文件對(duì)應(yīng)的用戶(hù)輸入信息,根據(jù)用戶(hù)輸入信息生成與原始數(shù)據(jù)文件對(duì)應(yīng)的用戶(hù)標(biāo)注信息;數(shù)據(jù)存儲(chǔ)模塊,用于根據(jù)用戶(hù)標(biāo)注信息,生成與原始數(shù)據(jù)文件對(duì)應(yīng)的標(biāo)注數(shù)據(jù)文件。
依據(jù)本申請(qǐng)實(shí)施例的另一個(gè)方面,提供了一種文件標(biāo)注方法,包括:將采集到的原始數(shù)據(jù)文件上傳到數(shù)據(jù)庫(kù)中;根據(jù)預(yù)判斷處理規(guī)則對(duì)數(shù)據(jù)庫(kù)中的原始數(shù)據(jù)文件進(jìn)行預(yù)判斷處理,根據(jù)預(yù)判斷處理結(jié)果生成與原始數(shù)據(jù)文件對(duì)應(yīng)的機(jī)器標(biāo)注信息;顯示原始數(shù)據(jù)文件及其對(duì)應(yīng)的機(jī)器標(biāo)注信息,接收與原始數(shù)據(jù)文件對(duì)應(yīng)的用戶(hù)輸入信息,根據(jù)用戶(hù)輸入信息生成與原始數(shù)據(jù)文件對(duì)應(yīng)的用戶(hù)標(biāo)注信息;根據(jù)用戶(hù)標(biāo)注信息,生成與原始數(shù)據(jù)文件對(duì)應(yīng)的標(biāo)注數(shù)據(jù)文件。
本申請(qǐng)實(shí)施例提供的一種文件標(biāo)注系統(tǒng)及方法,將采集到的原始數(shù)據(jù)文件上傳到數(shù)據(jù)庫(kù)中;根據(jù)預(yù)判斷處理規(guī)則對(duì)數(shù)據(jù)庫(kù)中的原始數(shù)據(jù)文件進(jìn)行預(yù)判斷處理,根據(jù)預(yù)判斷處理結(jié)果生成與原始數(shù)據(jù)文件對(duì)應(yīng)的機(jī)器標(biāo)注信息;顯示原始數(shù)據(jù)文件及其對(duì)應(yīng)的機(jī)器標(biāo)注信息,接收與原始數(shù)據(jù)文件對(duì)應(yīng)的用戶(hù)輸入信息,根據(jù)用戶(hù)輸入信息生成與原始數(shù)據(jù)文件對(duì)應(yīng)的用戶(hù)標(biāo)注信息;根據(jù)用戶(hù)標(biāo)注信息,生成與原始數(shù)據(jù)文件對(duì)應(yīng)的標(biāo)注數(shù)據(jù)文件。由此可見(jiàn),本申請(qǐng)實(shí)施例通過(guò)將數(shù)據(jù)文件存入數(shù)據(jù)庫(kù)的方式實(shí)現(xiàn)了數(shù)據(jù)文件的統(tǒng)一管理,同時(shí)保存了用戶(hù)標(biāo)注信息,不會(huì)因?yàn)槲募h除導(dǎo)致丟失,保證了標(biāo)注系統(tǒng)的安全性;通過(guò)預(yù)判斷處理,提示標(biāo)注者可能的分隔符和字段名,提高了標(biāo)注效率,保證了標(biāo)注系統(tǒng)的效率性;通過(guò)統(tǒng)一平臺(tái)選擇性地向標(biāo)注者顯示原始數(shù)據(jù)文件及其對(duì)應(yīng)的機(jī)器標(biāo)注信息并接收用戶(hù)輸入信息,實(shí)現(xiàn)了數(shù)據(jù)的選擇性分發(fā)和在同一平臺(tái)上進(jìn)行多人標(biāo)注,保證了系統(tǒng)的機(jī)密性和統(tǒng)一性。
上述說(shuō)明僅是本申請(qǐng)實(shí)施例技術(shù)方案的概述,為了能夠更清楚了解本申請(qǐng)實(shí)施例的技術(shù)手段,而可依照說(shuō)明書(shū)的內(nèi)容予以實(shí)施,并且為了讓本申請(qǐng)實(shí)施例的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本申請(qǐng)的具體實(shí)施方式。
附圖說(shuō)明
一個(gè)或多個(gè)實(shí)施例通過(guò)與之對(duì)應(yīng)的附圖中的圖片進(jìn)行示例性說(shuō)明,這些示例性說(shuō)明并不構(gòu)成對(duì)實(shí)施例的限定,附圖中具有相同參考數(shù)字標(biāo)號(hào)的元件表示為類(lèi)似的元件,除非有特別申明,附圖中的圖不構(gòu)成比例限制。
圖1是本申請(qǐng)實(shí)施例一提供的一種文件標(biāo)注系統(tǒng)的結(jié)構(gòu)示意圖;
圖2是本申請(qǐng)實(shí)施例二提供的一種文件標(biāo)注系統(tǒng)的結(jié)構(gòu)示意圖;
圖3是本申請(qǐng)實(shí)施例三提供的一種文件標(biāo)注方法的流程圖;
圖4是本申請(qǐng)實(shí)施例四提供的一種文件標(biāo)注方法的流程圖;
圖5是本申請(qǐng)實(shí)施例二提供的一種文件標(biāo)注系統(tǒng)中數(shù)據(jù)上傳模塊的業(yè)務(wù)流程示意圖;
圖6是本申請(qǐng)實(shí)施例二提供的一種文件標(biāo)注系統(tǒng)中分隔符預(yù)判斷子模塊的業(yè)務(wù)流程示意圖;
圖7是本申請(qǐng)實(shí)施例二提供的一種文件標(biāo)注系統(tǒng)中字段預(yù)判斷子模塊的業(yè)務(wù)流程示意圖;
圖8是本申請(qǐng)實(shí)施例二提供的一種文件標(biāo)注系統(tǒng)中頁(yè)面標(biāo)注模塊的結(jié)構(gòu)示意圖;
圖9是本申請(qǐng)實(shí)施例二提供的一種文件標(biāo)注系統(tǒng)中數(shù)據(jù)存儲(chǔ)模塊的業(yè)務(wù)流程示意圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開(kāi)的示例性實(shí)施例。雖然附圖中顯示了本公開(kāi)的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開(kāi),并且能夠?qū)⒈竟_(kāi)的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
實(shí)施例一
圖1是本申請(qǐng)實(shí)施例一提供的一種文件標(biāo)注系統(tǒng)的結(jié)構(gòu)示意圖。如圖1所示,該系統(tǒng)包括數(shù)據(jù)上傳模塊11、數(shù)據(jù)預(yù)判斷模塊12、頁(yè)面標(biāo)注模塊13和數(shù)據(jù)存儲(chǔ)模塊14。
數(shù)據(jù)上傳模塊11,用于將采集到的原始數(shù)據(jù)文件上傳到數(shù)據(jù)庫(kù)中。在具體實(shí)施中,該模塊需要對(duì)采集到的原始數(shù)據(jù)進(jìn)行一系列的初步處理,之后再將初步處理后的原始數(shù)據(jù)文件上傳到數(shù)據(jù)庫(kù)中。在這種情況下,之后對(duì)原始數(shù)據(jù)文件進(jìn)行的標(biāo)注處理均可在數(shù)據(jù)庫(kù)中完成,極大的方便了數(shù)據(jù)的管理,一定程度上也有利于提高標(biāo)注效率。
數(shù)據(jù)預(yù)判斷模塊12,用于根據(jù)預(yù)判斷處理規(guī)則對(duì)數(shù)據(jù)庫(kù)中的原始數(shù)據(jù)文件進(jìn)行預(yù)判斷處理,根據(jù)預(yù)判斷處理結(jié)果生成與原始數(shù)據(jù)文件對(duì)應(yīng)的機(jī)器標(biāo)注信息。其中,機(jī)器標(biāo)注信息包括選定分隔符信息以及預(yù)判斷字段名信息。該模塊的作用是根據(jù)預(yù)設(shè)的處理規(guī)則,對(duì)需要標(biāo)注的原始數(shù)據(jù)文件進(jìn)行預(yù)處理,通過(guò)一定的方式,選出選定分隔符和預(yù)判斷字段名。該選定分隔符和預(yù)判斷字段名用于當(dāng)用戶(hù)進(jìn)行人工標(biāo)注時(shí),提示用戶(hù)可以參考選定分隔符和預(yù)判斷字段名來(lái)決定用戶(hù)標(biāo)注信息。
頁(yè)面標(biāo)注模塊13,用于顯示原始數(shù)據(jù)文件及其對(duì)應(yīng)的機(jī)器標(biāo)注信息,接收與原始數(shù)據(jù)文件對(duì)應(yīng)的用戶(hù)輸入信息,根據(jù)用戶(hù)輸入信息生成與原始數(shù)據(jù)文件對(duì)應(yīng)的用戶(hù)標(biāo)注信息。
在具體實(shí)施中,該模塊主要通過(guò)例如目錄結(jié)構(gòu)來(lái)直觀有序地展示系統(tǒng)中的原始數(shù)據(jù)文件,并方便用戶(hù)選擇需要標(biāo)注的數(shù)據(jù)文件。同時(shí),該模塊通過(guò)網(wǎng)頁(yè)或APP等方式向用戶(hù)分發(fā)需要標(biāo)注的數(shù)據(jù),既方便用戶(hù)隨時(shí)隨地的進(jìn)行標(biāo)注,又能讓多個(gè)用戶(hù)同時(shí)對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行標(biāo)注,同時(shí),還可以只展示部分?jǐn)?shù)據(jù)給用戶(hù)標(biāo)注,保證了數(shù)據(jù)文件本身的機(jī)密性不受威脅。
數(shù)據(jù)存儲(chǔ)模塊14,用于根據(jù)用戶(hù)標(biāo)注信息,生成與原始數(shù)據(jù)文件對(duì)應(yīng)的標(biāo)注數(shù)據(jù)文件。在具體實(shí)施中,該模塊還可以對(duì)標(biāo)注完成后的原始數(shù)據(jù)文件進(jìn)行進(jìn)一步處理,例如校驗(yàn)用戶(hù)標(biāo)注是否正確、將處理好的數(shù)據(jù)文件轉(zhuǎn)換成統(tǒng)一的文件格式等,這一系列的處理使得標(biāo)注后的數(shù)據(jù)文件具有統(tǒng)一性,方便日后調(diào)用。
由此可見(jiàn),在本申請(qǐng)實(shí)施例中,通過(guò)將數(shù)據(jù)文件入庫(kù)數(shù)據(jù)庫(kù)的方式實(shí)現(xiàn)了數(shù)據(jù)文件的統(tǒng)一管理,同時(shí)保存了用戶(hù)標(biāo)注信息,不會(huì)因?yàn)槲募h除導(dǎo)致丟失,保證了標(biāo)注系統(tǒng)的安全性;通過(guò)預(yù)判斷處理,提示標(biāo)注者可能的分隔符和字段名,提高了標(biāo)注效率,保證了標(biāo)注系統(tǒng)的效率性;通過(guò)統(tǒng)一平臺(tái)選擇性地向標(biāo)注者顯示原始數(shù)據(jù)文件及其對(duì)應(yīng)的機(jī)器標(biāo)注信息并接收用戶(hù)輸入信息,實(shí)現(xiàn)了數(shù)據(jù)的選擇性分發(fā)和在同一平臺(tái)上進(jìn)行多人標(biāo)注,保證了系統(tǒng)的機(jī)密性和統(tǒng)一性。
實(shí)施例二
圖2是本申請(qǐng)實(shí)施例二提供的一種文件標(biāo)注系統(tǒng)的結(jié)構(gòu)示意圖。如圖2所述,該系統(tǒng)包括數(shù)據(jù)上傳模塊21、數(shù)據(jù)預(yù)判斷模塊22、頁(yè)面標(biāo)注模塊23和數(shù)據(jù)存儲(chǔ)模塊24,其中,數(shù)據(jù)上傳模塊21進(jìn)一步包括了解壓子模塊211、信息采集子模塊212、校驗(yàn)子模塊213和編碼轉(zhuǎn)換子模塊214,還可以包括備份子模塊215。數(shù)據(jù)預(yù)判斷模塊22進(jìn)一步包括分隔符預(yù)判斷子模塊221和字段預(yù)判斷子模塊222。頁(yè)面標(biāo)注模塊23進(jìn)一步包括統(tǒng)計(jì)子模塊231、顯示子模塊232和用戶(hù)標(biāo)注子模塊233。數(shù)據(jù)存儲(chǔ)模塊24進(jìn)一步包括過(guò)濾子模塊241、第一格式轉(zhuǎn)換子模塊242和第二格式轉(zhuǎn)換子模塊243。
數(shù)據(jù)上傳模塊21,用于將采集到的原始數(shù)據(jù)文件上傳到數(shù)據(jù)庫(kù)中。其中,解壓子模塊211用于根據(jù)文件后綴名識(shí)別原始數(shù)據(jù)文件中的壓縮格式文件,對(duì)壓縮格式文件進(jìn)行解壓縮處理。解壓子模塊211進(jìn)一步用于通過(guò)文件后綴名選擇解壓工具,并遞歸查找解壓得到的文件目錄,每當(dāng)查找到的文件目錄中包含壓縮文件時(shí),對(duì)壓縮文件進(jìn)行解壓縮處理。在具體實(shí)現(xiàn)中,解壓子模塊211將遍歷采集到的原始數(shù)據(jù)文件,當(dāng)發(fā)現(xiàn)壓縮文件時(shí),先識(shí)別該壓縮文件的后綴名,通過(guò)該后綴名確定需要調(diào)用的解壓工具,并對(duì)該文件進(jìn)行解壓。在完成該文件的解壓后,解壓子模塊211將遞歸查找解壓出來(lái)的文件目錄中的所有文件,當(dāng)發(fā)現(xiàn)壓縮文件時(shí),再一次進(jìn)行解壓操作,直到該文件目錄中的所有文件都完成解壓。為了方便后續(xù)操作,解壓子模塊211還可以對(duì)解壓出來(lái)的目錄名和文件名進(jìn)行檢測(cè),并將所有目錄名和文件名轉(zhuǎn)換成預(yù)設(shè)的統(tǒng)一編碼,例如檢測(cè)解壓出的目錄名和文件名中是否存在GBK字符編碼,如果有,則全部轉(zhuǎn)換成utf-8字符編碼。
信息采集子模塊212用于獲取原始數(shù)據(jù)文件的文件信息,其中,文件信息用于確定數(shù)據(jù)庫(kù)中的多個(gè)原始數(shù)據(jù)文件的排列順序。在具體實(shí)施中,信息采集子模塊212采集每個(gè)原始數(shù)據(jù)文件的大小、創(chuàng)建時(shí)間、文本長(zhǎng)度等基本信息,并根據(jù)該基本信息確定數(shù)據(jù)庫(kù)中文件的排列順序。信息采集子模塊212還可以用于確定校驗(yàn)子模塊213需要用到的原始數(shù)據(jù)文件的標(biāo)識(shí)信息,標(biāo)識(shí)信息是指與每一個(gè)原始數(shù)據(jù)文件一一對(duì)應(yīng)并具有唯一標(biāo)識(shí)作用的信息,一般情況下,常見(jiàn)的標(biāo)識(shí)信息有MD5值等,本申請(qǐng)實(shí)施例對(duì)標(biāo)識(shí)信息不作具體限定,本領(lǐng)域技術(shù)人員可以根據(jù)具體情況確定原始數(shù)據(jù)文件的標(biāo)識(shí)信息,只要該標(biāo)識(shí)信息能起到區(qū)分原始數(shù)據(jù)文件的作用即可。以標(biāo)識(shí)信息為MD5為例,信息采集子模塊212會(huì)根據(jù)原始數(shù)據(jù)文件的內(nèi)容計(jì)算每個(gè)文件的MD5值,并將該MD5值傳送給校驗(yàn)子模塊213。
校驗(yàn)子模塊213用于將原始數(shù)據(jù)文件的標(biāo)識(shí)信息與系統(tǒng)數(shù)據(jù)庫(kù)中已錄入的各個(gè)文件的標(biāo)識(shí)信息進(jìn)行比較,根據(jù)比較結(jié)果確定原始數(shù)據(jù)文件的校驗(yàn)結(jié)果。以標(biāo)識(shí)信息為MD5值為例,校驗(yàn)子模塊213將原始數(shù)據(jù)文件的MD5值與數(shù)據(jù)庫(kù)中已經(jīng)保存的數(shù)據(jù)文件的MD5值進(jìn)行比較。如果數(shù)據(jù)庫(kù)中沒(méi)有相同的MD5值,則說(shuō)明該原始數(shù)據(jù)文件未被保存過(guò),校驗(yàn)成功;如果數(shù)據(jù)庫(kù)中存在相同的MD5值,則說(shuō)明該原始數(shù)據(jù)文件與數(shù)據(jù)庫(kù)中已經(jīng)保存過(guò)的某個(gè)數(shù)據(jù)文件相同,校驗(yàn)失敗。最后,校驗(yàn)子模塊213會(huì)將每一次的校驗(yàn)結(jié)果都發(fā)送給編碼轉(zhuǎn)換子模塊214。
編碼轉(zhuǎn)換子模塊214用于將校驗(yàn)結(jié)果為校驗(yàn)成功的原始數(shù)據(jù)文件的文件內(nèi)容轉(zhuǎn)換成統(tǒng)一編碼,并將轉(zhuǎn)換后的原始數(shù)據(jù)文件上傳到數(shù)據(jù)庫(kù)中。因?yàn)槊總€(gè)原始數(shù)據(jù)文件的來(lái)源各不相同,因此,原始數(shù)據(jù)文件的文件編碼也會(huì)各種各樣,為了統(tǒng)一方便地處理所有原始數(shù)據(jù)文件中的數(shù)據(jù)內(nèi)容,編碼轉(zhuǎn)換子模塊214會(huì)將校驗(yàn)成功的原始數(shù)據(jù)文件的文件內(nèi)容轉(zhuǎn)換成統(tǒng)一的編碼,例如將文件中的全角字符全部轉(zhuǎn)換成半角字符,將文件內(nèi)容的字符編碼全部轉(zhuǎn)換成utf-8字符編碼等。
可選的,數(shù)據(jù)上傳模塊21還可以包括備份子模塊215,該模塊用于將采集到的原始數(shù)據(jù)文件拷貝一份到系統(tǒng)數(shù)據(jù)庫(kù)中作為備份文件。
圖5以標(biāo)識(shí)信息為MD5值和統(tǒng)一編碼為utf-8字符編碼為例展示了數(shù)據(jù)上傳模塊21的具體業(yè)務(wù)流程,具體步驟與上述各模塊功能描述一致,在此不再贅述。
數(shù)據(jù)預(yù)判斷模塊22用于根據(jù)預(yù)判斷處理規(guī)則對(duì)數(shù)據(jù)庫(kù)中的原始數(shù)據(jù)文件進(jìn)行預(yù)判斷處理,根據(jù)預(yù)判斷處理結(jié)果生成與原始數(shù)據(jù)文件對(duì)應(yīng)的機(jī)器標(biāo)注信息。其中,機(jī)器標(biāo)注信息包括選定分隔符信息以及預(yù)判斷字段名信息,且數(shù)據(jù)預(yù)判斷模塊22進(jìn)一步包括:分隔符預(yù)判斷子模塊221和字段預(yù)判斷子模塊222。
分隔符預(yù)判斷子模塊221,用于根據(jù)預(yù)設(shè)的分隔符集合確定原始數(shù)據(jù)文件中包含的各個(gè)分隔符,分別獲取與各個(gè)分隔符相對(duì)應(yīng)的數(shù)據(jù)分割結(jié)果,根據(jù)數(shù)據(jù)分割結(jié)果從各個(gè)分隔符中確定用于分割文件的選定分隔符。其中,常見(jiàn)的分隔符為標(biāo)點(diǎn)符號(hào),如“-”、逗號(hào)或空格符號(hào)等。對(duì)于選定分隔符的確定方法,常見(jiàn)的一種方法是計(jì)算每一行數(shù)據(jù)被某一分隔符分割后得到的列數(shù)的分布情況標(biāo)準(zhǔn)差來(lái)確定哪一個(gè)分隔符可以作為選定分隔符。因?yàn)樵诒鞠到y(tǒng)中,一個(gè)原始數(shù)據(jù)文件中的每一行數(shù)據(jù)在格式上存在著一定的相似性,所以存在一個(gè)分隔符能將一個(gè)原始數(shù)據(jù)文件中的每一行數(shù)據(jù)分割出近似的列數(shù)的情況,而列數(shù)分布情況標(biāo)準(zhǔn)差表示的是一行數(shù)據(jù)被分割后得到的列數(shù)與列數(shù)平均值的接近程度,標(biāo)準(zhǔn)差越小說(shuō)明分割后得到的列數(shù)與列數(shù)平均值越接近,因此,標(biāo)準(zhǔn)差最小的分隔符可以將每一行數(shù)據(jù)最大限度的分割成相同的列數(shù),最有可能是能夠正確分割該數(shù)據(jù)文件的分隔符,故將其確定為選定分隔符。
圖6示出了以選定分隔符的確定方法為計(jì)算標(biāo)準(zhǔn)差、預(yù)設(shè)分隔符集合為逗號(hào)和空格符號(hào)為例的分隔符預(yù)判斷子模塊221的業(yè)務(wù)流程,在該具體實(shí)現(xiàn)中,分隔符預(yù)判斷子模塊221分別用逗號(hào)和空格符號(hào)對(duì)同一個(gè)原始數(shù)據(jù)文件中的每行數(shù)據(jù)進(jìn)行分割,得到每行數(shù)據(jù)被分割之后的列數(shù),當(dāng)最大列數(shù)不為1時(shí)(當(dāng)最大列數(shù)為1時(shí)說(shuō)明該行數(shù)據(jù)并不能被分隔符分割,此時(shí)分隔符無(wú)效)計(jì)算上述兩個(gè)分隔符對(duì)應(yīng)的標(biāo)準(zhǔn)差,得到逗號(hào)作為分隔符對(duì)應(yīng)的標(biāo)準(zhǔn)差為x,空格符號(hào)作為分隔符對(duì)應(yīng)的標(biāo)準(zhǔn)差為y,當(dāng)x>y時(shí),空格符號(hào)為選定分隔符;當(dāng)x<y時(shí),逗號(hào)為選定分隔符。
字段預(yù)判斷子模塊222用于通過(guò)選定分隔符將原始數(shù)據(jù)文件分割為多個(gè)字段,并根據(jù)預(yù)設(shè)的字段名匹配規(guī)則確定各個(gè)字段所對(duì)應(yīng)的預(yù)判斷字段名。
在具體實(shí)現(xiàn)中,字段預(yù)判斷子模塊222先利用分隔符預(yù)判斷子模塊221確定的選定分隔符對(duì)原始數(shù)據(jù)文件中的每行數(shù)據(jù)進(jìn)行分割,之后根據(jù)預(yù)設(shè)的字段名匹配規(guī)則將分割得到的每一列數(shù)據(jù)與預(yù)設(shè)的字段名進(jìn)行匹配,最后將符合匹配條件的字段名作為該列字段的預(yù)判斷字段名。其中,預(yù)設(shè)的字段名匹配規(guī)則用于判斷某一列字段與預(yù)設(shè)的字段名是否匹配,常見(jiàn)的匹配規(guī)則例如:判斷某一列字段中的每一行字段是否均為純數(shù)字并符合特定長(zhǎng)度要求,當(dāng)符合上述要求的字段行數(shù)占到該列字段總行數(shù)的一定比例時(shí),則可以將該列字段的預(yù)判斷字段名設(shè)置為電話(huà)號(hào)碼。本領(lǐng)域技術(shù)人員可以根據(jù)具體情況設(shè)置匹配規(guī)則,本申請(qǐng)對(duì)此不作具體限定,只要能達(dá)到確定的預(yù)判斷字段名能夠正確標(biāo)注該列字段中的較多行的字段即可。
字段預(yù)判斷子模塊222還進(jìn)一步用于當(dāng)多個(gè)字段所對(duì)應(yīng)的預(yù)判斷字段名相同時(shí),在預(yù)判斷字段名中增加字段標(biāo)識(shí)信息。其中,常見(jiàn)的字段標(biāo)識(shí)信息有前綴和/后綴等。例如,在一個(gè)原始數(shù)據(jù)文件中,用選定分隔符分割后的第一列字段的預(yù)判斷字段名為電話(huà)號(hào)碼,第二列字段和第三列字段的預(yù)判斷字段名也都是電話(huà)號(hào)碼,則需要在這幾個(gè)預(yù)判斷字段名后面添加后綴以示區(qū)分,如電話(huà)號(hào)碼1、電話(huà)號(hào)碼2和電話(huà)號(hào)碼3等。
圖7示出了以選定分隔符為逗號(hào),以預(yù)設(shè)的字段名匹配規(guī)則為電話(huà)號(hào)碼匹配規(guī)則為例的字段預(yù)判斷子模塊222的業(yè)務(wù)流程。先將某一原始數(shù)據(jù)文件中的每一行數(shù)據(jù)用選定分隔符逗號(hào)分割,對(duì)分割后得到的每一列字段用預(yù)設(shè)的電話(huà)號(hào)碼匹配規(guī)則進(jìn)行匹配,當(dāng)某一列字段中符合電話(huà)號(hào)碼匹配規(guī)則的字段行數(shù)占該列字段總行數(shù)的比例超過(guò)50%時(shí),則該列字段的預(yù)判斷字段名即設(shè)置為電話(huà)號(hào)碼。如果有兩列及以上字段的預(yù)判斷字段名均為電話(huà)號(hào)碼,則根據(jù)匹配正確行數(shù)占總行數(shù)的比例從大到小的順序給上述幾列字段的預(yù)判斷字段名加上后綴1,2,3等。
頁(yè)面標(biāo)注模塊23,用于顯示原始數(shù)據(jù)文件及其對(duì)應(yīng)的機(jī)器標(biāo)注信息,接收與原始數(shù)據(jù)文件對(duì)應(yīng)的用戶(hù)輸入信息,根據(jù)用戶(hù)輸入信息生成與原始數(shù)據(jù)文件對(duì)應(yīng)的用戶(hù)標(biāo)注信息。圖8示出了頁(yè)面標(biāo)注模塊23的結(jié)構(gòu)示意圖。
統(tǒng)計(jì)子模塊231用于顯示系統(tǒng)中所有原始數(shù)據(jù)文件的總體標(biāo)注情況和用戶(hù)個(gè)人標(biāo)注情況,方便用戶(hù)決定選擇哪些原始數(shù)據(jù)文件來(lái)進(jìn)行標(biāo)注。
顯示子模塊232用于通過(guò)目錄結(jié)構(gòu)展示原始數(shù)據(jù)文件列表及其列表中每個(gè)原始數(shù)據(jù)文件對(duì)應(yīng)的機(jī)器標(biāo)注信息,用戶(hù)可以從該列表中選擇需要進(jìn)行標(biāo)注的原始數(shù)據(jù)文件。該子模塊進(jìn)一步用于顯示用戶(hù)選擇的進(jìn)行標(biāo)注操作的原始數(shù)據(jù)文件。因?yàn)槊恳粋€(gè)原始數(shù)據(jù)文件都具有機(jī)密性,出于安全考慮,不能將某個(gè)原始數(shù)據(jù)文件中的全部數(shù)據(jù)都展現(xiàn)給同一個(gè)用戶(hù),因此顯示子模塊232僅展示同一個(gè)原始數(shù)據(jù)文件中的部分?jǐn)?shù)據(jù)給同一用戶(hù),例如最多展示同一個(gè)原始數(shù)據(jù)文件中的累計(jì)100行數(shù)據(jù)給同一個(gè)用戶(hù),且在顯示區(qū)域中每一次只顯示這100行數(shù)據(jù)中的10行數(shù)據(jù)。通過(guò)這種限制用戶(hù)獲取過(guò)多數(shù)據(jù)的方法,可以在一定程度上保證原始數(shù)據(jù)文件的安全性,避免嚴(yán)重的泄密情況的出現(xiàn)。
用戶(hù)標(biāo)注子模塊233用于接收與顯示子模塊232顯示的用戶(hù)選擇的進(jìn)行標(biāo)注操作的原始數(shù)據(jù)文件對(duì)應(yīng)的用戶(hù)輸入信息,并根據(jù)該用戶(hù)輸入信息生成與該原始數(shù)據(jù)文件對(duì)應(yīng)的用戶(hù)標(biāo)注信息。
在具體實(shí)現(xiàn)中,頁(yè)面標(biāo)注模塊23可以以多種形式實(shí)現(xiàn),例如頁(yè)面標(biāo)注模塊23可以是網(wǎng)頁(yè),也可以是用于移動(dòng)終端的APP,該模塊主要通過(guò)靈活的方式分發(fā)數(shù)據(jù),使多個(gè)用戶(hù)能隨時(shí)隨地對(duì)系統(tǒng)中的原始數(shù)據(jù)文件進(jìn)行標(biāo)注,提高文件標(biāo)注的總體效率。
數(shù)據(jù)存儲(chǔ)模塊24用于根據(jù)用戶(hù)標(biāo)注信息,生成與原始數(shù)據(jù)文件對(duì)應(yīng)的標(biāo)注數(shù)據(jù)文件。
過(guò)濾子模塊241用于根據(jù)預(yù)設(shè)的錯(cuò)誤過(guò)濾規(guī)則對(duì)原始數(shù)據(jù)文件對(duì)應(yīng)的用戶(hù)標(biāo)注信息進(jìn)行過(guò)濾,以濾出其中包含的錯(cuò)誤信息。該子模塊還用于調(diào)用數(shù)據(jù)庫(kù)提供的命令實(shí)現(xiàn)對(duì)文件內(nèi)的對(duì)行去重,例如SQL數(shù)據(jù)庫(kù)中可以調(diào)用DISTINCT關(guān)鍵字對(duì)行去重。該子模塊的作用在于對(duì)用戶(hù)標(biāo)注信息進(jìn)行校驗(yàn),避免出現(xiàn)用戶(hù)標(biāo)注信息錯(cuò)誤的情況,其中,預(yù)設(shè)的錯(cuò)誤過(guò)濾規(guī)則是指根據(jù)用戶(hù)標(biāo)注信息分割原始數(shù)據(jù)文件,并根據(jù)用戶(hù)標(biāo)注信息中的字段名對(duì)每一列數(shù)據(jù)進(jìn)行校驗(yàn),如果字段與字段名匹配則正確,不匹配則錯(cuò)誤,將過(guò)濾出的錯(cuò)誤數(shù)據(jù)重新寫(xiě)入一個(gè)新數(shù)據(jù)文件中。
過(guò)濾子模塊241進(jìn)一步用于判斷錯(cuò)誤信息在用戶(hù)標(biāo)注信息中所占的比例,當(dāng)比例超過(guò)預(yù)設(shè)閾值時(shí),將錯(cuò)誤信息提供給頁(yè)面標(biāo)注模塊23重新標(biāo)注。即判斷用于保存錯(cuò)誤數(shù)據(jù)的新數(shù)據(jù)文件中的數(shù)據(jù)行數(shù)占原文件的總行數(shù)的比例是否超過(guò)預(yù)設(shè)的閾值,如果超過(guò)了,就將該新數(shù)據(jù)文件提供給頁(yè)面標(biāo)注模塊23,提示用戶(hù)對(duì)該新數(shù)據(jù)文件重新進(jìn)行標(biāo)注。
第一格式轉(zhuǎn)換子模塊242用于根據(jù)預(yù)設(shè)的第一格式轉(zhuǎn)換規(guī)則將原始文件轉(zhuǎn)換成第一目標(biāo)格式文件,并將第一目標(biāo)格式文件提供給過(guò)濾子模塊241過(guò)濾;第二格式轉(zhuǎn)換子模塊243,用于根據(jù)預(yù)設(shè)的第二格式轉(zhuǎn)換規(guī)則將過(guò)濾子模塊241輸出的第一目標(biāo)格式文件轉(zhuǎn)換成第二目標(biāo)格式文件,并將第二目標(biāo)格式文件作為標(biāo)注數(shù)據(jù)文件錄入數(shù)據(jù)庫(kù)中。這兩個(gè)子模塊的作用在于將文件格式雜亂的原始數(shù)據(jù)文件轉(zhuǎn)換成統(tǒng)一文件格式,方便統(tǒng)一管理。
圖9示出了以第一目標(biāo)格式為CSV文件格式,第二目標(biāo)格式為json文件格式為例的數(shù)據(jù)存儲(chǔ)模塊24的業(yè)務(wù)流程。第一格式轉(zhuǎn)換子模塊242先將txt等格式的原始數(shù)據(jù)文件統(tǒng)一轉(zhuǎn)換成CSV文件格式并發(fā)送給過(guò)濾子模塊241。過(guò)濾子模塊241通過(guò)調(diào)用數(shù)據(jù)庫(kù)去重命令對(duì)CSV文件進(jìn)行對(duì)行去重,并通過(guò)用戶(hù)標(biāo)注的分隔符對(duì)每行數(shù)據(jù)進(jìn)行分割,比較分割后得到的字段數(shù)是否與用戶(hù)標(biāo)注的字段數(shù)相同,如果不同,則說(shuō)明用戶(hù)標(biāo)注的字段數(shù)錯(cuò)誤,將該錯(cuò)誤文件寫(xiě)入新數(shù)據(jù)文件。如果相同,則根據(jù)用戶(hù)標(biāo)注信息對(duì)該原始數(shù)據(jù)文件進(jìn)行進(jìn)一步過(guò)濾,在具體實(shí)現(xiàn)中,例如,如果用戶(hù)標(biāo)注字段中有郵箱字段,則判斷數(shù)據(jù)中的郵箱字段是否滿(mǎn)足郵箱格式;如果用戶(hù)標(biāo)注字段中有身份證字段,則判斷數(shù)據(jù)中的身份證字段是否滿(mǎn)足身份證格式;如果用戶(hù)標(biāo)注字段中有QQ號(hào)碼字段,則判斷數(shù)據(jù)中的QQ號(hào)碼字段是否滿(mǎn)足QQ號(hào)碼格式;如果用戶(hù)標(biāo)注字段中有手機(jī)號(hào)碼字段,則判斷數(shù)據(jù)中的手機(jī)號(hào)碼字段是否滿(mǎn)足手機(jī)號(hào)碼格式;如果用戶(hù)標(biāo)注字段中有銀行卡號(hào)字段,則判斷數(shù)據(jù)中的銀行卡號(hào)字段是否滿(mǎn)足銀行卡號(hào)格式等。將不符合用戶(hù)標(biāo)注字段的數(shù)據(jù)作為錯(cuò)誤數(shù)據(jù)寫(xiě)入新數(shù)據(jù)文件中。將符合用戶(hù)標(biāo)注字段的數(shù)據(jù)傳送給第二格式轉(zhuǎn)換子模塊243。當(dāng)上述新數(shù)據(jù)文件大小達(dá)到一定條件,例如新數(shù)據(jù)文件內(nèi)數(shù)據(jù)行數(shù)占原數(shù)據(jù)文件的比例達(dá)到30%且行數(shù)大于100行或者新數(shù)據(jù)文件內(nèi)數(shù)據(jù)總行數(shù)大于10000行時(shí),將該新數(shù)據(jù)文件發(fā)送給頁(yè)面標(biāo)注模塊23,供用戶(hù)重新標(biāo)注。
第二格式轉(zhuǎn)換子模塊243將過(guò)濾后的CSV格式文件轉(zhuǎn)換成json格式文件,并將該文件作為標(biāo)注數(shù)據(jù)文件錄入系統(tǒng)數(shù)據(jù)庫(kù)中。
由此可見(jiàn),在本申請(qǐng)實(shí)施例中,通過(guò)將數(shù)據(jù)文件入庫(kù)數(shù)據(jù)庫(kù)的方式實(shí)現(xiàn)了數(shù)據(jù)文件的統(tǒng)一管理,同時(shí)保存了用戶(hù)標(biāo)注信息,不會(huì)因?yàn)槲募h除導(dǎo)致丟失,保證了標(biāo)注系統(tǒng)的安全性;通過(guò)預(yù)判斷處理,提示用戶(hù)可能的分隔符和字段名,提高了標(biāo)注效率,保證了標(biāo)注系統(tǒng)的效率性;通過(guò)統(tǒng)一平臺(tái)選擇性的向用戶(hù)顯示原始數(shù)據(jù)文件及其對(duì)應(yīng)的機(jī)器標(biāo)注信息并接收用戶(hù)輸入信息,實(shí)現(xiàn)了數(shù)據(jù)的選擇性分發(fā)和在同一平臺(tái)上標(biāo)注進(jìn)行多人標(biāo)注,保證了系統(tǒng)的機(jī)密性和統(tǒng)一性。
實(shí)施例三
圖3是本申請(qǐng)實(shí)施例三提供的一種文件標(biāo)注方法的流程圖。如圖3所示,該方法包括:
步驟S310:將采集到的原始數(shù)據(jù)文件上傳到數(shù)據(jù)庫(kù)中。在具體實(shí)施中,該步驟包括對(duì)采集到的原始數(shù)據(jù)進(jìn)行一系列的初步處理,之后再將初步處理后的原始數(shù)據(jù)文件上傳到數(shù)據(jù)庫(kù)中。在這種情況下,之后對(duì)原始數(shù)據(jù)文件進(jìn)行的標(biāo)注處理均可在數(shù)據(jù)庫(kù)中完成,極大的方便了數(shù)據(jù)的管理,一定程度上也有利于提高標(biāo)注效率。
步驟S320:根據(jù)預(yù)判斷處理規(guī)則對(duì)數(shù)據(jù)庫(kù)中的原始數(shù)據(jù)文件進(jìn)行預(yù)判斷處理,根據(jù)預(yù)判斷處理結(jié)果生成與原始數(shù)據(jù)文件對(duì)應(yīng)的機(jī)器標(biāo)注信息。其中,機(jī)器標(biāo)注信息包括選定分隔符信息以及預(yù)判斷字段名信息。該步驟的作用是根據(jù)預(yù)設(shè)的處理規(guī)則,對(duì)需要標(biāo)注的原始數(shù)據(jù)文件進(jìn)行一個(gè)預(yù)處理,通過(guò)一定的方式,選出選定分隔符和預(yù)判斷字段名。該選定分隔符和預(yù)判斷字段名用于當(dāng)用戶(hù)進(jìn)行人工標(biāo)注時(shí),提示用戶(hù)可以參考選定分隔符和預(yù)判斷字段名來(lái)決定用戶(hù)標(biāo)注信息。
步驟S330:顯示原始數(shù)據(jù)文件及其對(duì)應(yīng)的機(jī)器標(biāo)注信息,接收與原始數(shù)據(jù)文件對(duì)應(yīng)的用戶(hù)輸入信息,根據(jù)用戶(hù)輸入信息生成與原始數(shù)據(jù)文件對(duì)應(yīng)的用戶(hù)標(biāo)注信息。在具體實(shí)施中,該步驟主要通過(guò)例如目錄結(jié)構(gòu)來(lái)直觀地有序地展示系統(tǒng)中的原始數(shù)據(jù)文件,并方便用戶(hù)選擇需要標(biāo)注的數(shù)據(jù)文件。同時(shí),該步驟通過(guò)網(wǎng)頁(yè)或APP等方式向用戶(hù)分發(fā)需要標(biāo)注的數(shù)據(jù),既方便用戶(hù)隨時(shí)隨地的進(jìn)行標(biāo)注,又能讓多個(gè)用戶(hù)同時(shí)對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行標(biāo)注,同時(shí),還可以只展示部分?jǐn)?shù)據(jù)給用戶(hù)標(biāo)注,保證了數(shù)據(jù)文件本身的機(jī)密性不受威脅。
步驟S340:根據(jù)用戶(hù)標(biāo)注信息,生成與原始數(shù)據(jù)文件對(duì)應(yīng)的標(biāo)注數(shù)據(jù)文件。在具體實(shí)施中,該步驟還包括對(duì)標(biāo)注完成后的原始數(shù)據(jù)文件進(jìn)行進(jìn)一步處理,例如校驗(yàn)用戶(hù)標(biāo)注是否正確、將處理好的數(shù)據(jù)文件轉(zhuǎn)換成統(tǒng)一的文件格式等,這一系列的處理使得標(biāo)注后的數(shù)據(jù)文件具有統(tǒng)一性,方便日后調(diào)用。
由此可見(jiàn),在本申請(qǐng)實(shí)施例中,通過(guò)將數(shù)據(jù)文件入庫(kù)數(shù)據(jù)庫(kù)的方式實(shí)現(xiàn)了數(shù)據(jù)文件的統(tǒng)一管理,同時(shí)保存了用戶(hù)標(biāo)注信息,不會(huì)因?yàn)槲募h除導(dǎo)致丟失,保證了標(biāo)注系統(tǒng)的安全性;通過(guò)預(yù)判斷處理,提示標(biāo)注者可能的分隔符和字段名,提高了標(biāo)注效率,保證了標(biāo)注系統(tǒng)的效率性;通過(guò)統(tǒng)一平臺(tái)選擇性的向標(biāo)注者顯示原始數(shù)據(jù)文件及其對(duì)應(yīng)的機(jī)器標(biāo)注信息并接收用戶(hù)輸入信息,實(shí)現(xiàn)了數(shù)據(jù)的選擇性分發(fā)和在同一平臺(tái)上進(jìn)行多人標(biāo)注,保證了系統(tǒng)的機(jī)密性和統(tǒng)一性。
實(shí)施例四
圖4是本申請(qǐng)實(shí)施例四提供的一種文件標(biāo)注方法的流程圖。如圖4所示,該方法包括:
步驟S401:根據(jù)文件后綴名識(shí)別原始數(shù)據(jù)文件中的壓縮格式文件,對(duì)壓縮格式文件進(jìn)行解壓處理。該步驟進(jìn)一步用于通過(guò)文件后綴名選擇解壓工具,并遞歸查找解壓得到的文件目錄,每當(dāng)查找到的文件目錄中包含壓縮文件時(shí),對(duì)壓縮文件進(jìn)行解壓縮處理。在具體實(shí)現(xiàn)中,步驟S401包括遍歷采集到的原始數(shù)據(jù)文件,當(dāng)發(fā)現(xiàn)壓縮文件時(shí),先識(shí)別該壓縮文件的后綴名,通過(guò)該后綴名確定需要調(diào)用的解壓工具,并對(duì)該文件進(jìn)行解壓。在完成該文件的解壓后,遞歸查找解壓出來(lái)的文件目錄中的所有文件,當(dāng)發(fā)現(xiàn)壓縮文件時(shí),再一次進(jìn)行解壓操作,直到該文件目錄中的所有文件都完成解壓。同時(shí),為了方便后續(xù)操作,步驟S401還可以包括對(duì)解壓出來(lái)的目錄名和文件名進(jìn)行檢測(cè),并將所有目錄名和文件名轉(zhuǎn)換成預(yù)設(shè)的統(tǒng)一編碼,例如檢測(cè)解壓出的目錄名和文件名中是否存在GBK字符編碼,如果有,則全部轉(zhuǎn)換成utf-8字符編碼。
步驟S402:獲取原始數(shù)據(jù)文件的文件信息,其中,文件信息用于確定數(shù)據(jù)庫(kù)中的多個(gè)原始數(shù)據(jù)文件的排列順序。在具體實(shí)施中,步驟S402包括采集每個(gè)原始數(shù)據(jù)文件的大小、創(chuàng)建時(shí)間、文本長(zhǎng)度等基本信息,并根據(jù)該基礎(chǔ)信息確定數(shù)據(jù)庫(kù)中文件的排列順序。步驟S402還可以包括確定步驟S403需要用到的原始數(shù)據(jù)文件的標(biāo)識(shí)信息,標(biāo)識(shí)信息是指與每一個(gè)原始數(shù)據(jù)文件一一對(duì)應(yīng)并具有唯一標(biāo)識(shí)作用的信息,一般情況下,常見(jiàn)的標(biāo)識(shí)信息有MD5值等,本申請(qǐng)實(shí)施例對(duì)標(biāo)識(shí)信息不作具體限定,本領(lǐng)域技術(shù)人員可以根據(jù)具體情況確定原始數(shù)據(jù)文件的標(biāo)識(shí)信息,只要該標(biāo)識(shí)信息能起到區(qū)分原始數(shù)據(jù)文件的作用即可。以標(biāo)識(shí)信息為MD5為例,步驟S402包括根據(jù)原始數(shù)據(jù)文件的內(nèi)容計(jì)算每個(gè)文件的MD5值。
步驟S403:將原始數(shù)據(jù)文件的標(biāo)識(shí)信息與系統(tǒng)數(shù)據(jù)庫(kù)中已錄入的各個(gè)文件的標(biāo)識(shí)信息進(jìn)行比較,根據(jù)比較結(jié)果確定原始數(shù)據(jù)文件的校驗(yàn)結(jié)果。以標(biāo)識(shí)信息為MD5值為例,步驟S403將原始數(shù)據(jù)文件的MD5值與數(shù)據(jù)庫(kù)中已經(jīng)保存的數(shù)據(jù)文件的MD5值進(jìn)行比較。如果數(shù)據(jù)庫(kù)中沒(méi)有相同的MD5值,則說(shuō)明該原始數(shù)據(jù)文件未被保存過(guò),校驗(yàn)成功;如果數(shù)據(jù)庫(kù)中存在相同的MD5值,則說(shuō)明該原始數(shù)據(jù)文件與數(shù)據(jù)庫(kù)中已經(jīng)保存過(guò)的某個(gè)數(shù)據(jù)文件相同,校驗(yàn)失敗。
步驟S404:將校驗(yàn)結(jié)果為校驗(yàn)成功的原始數(shù)據(jù)文件的文件內(nèi)容轉(zhuǎn)換成統(tǒng)一編碼,并將轉(zhuǎn)換后的原始數(shù)據(jù)文件上傳到數(shù)據(jù)庫(kù)中。因?yàn)槊總€(gè)原始數(shù)據(jù)文件的來(lái)源各不相同,因此,原始數(shù)據(jù)文件的文件編碼也會(huì)各種各樣,為了統(tǒng)一方便的處理所有原始數(shù)據(jù)文件中的數(shù)據(jù)內(nèi)容,步驟S404還包括將校驗(yàn)成功的原始數(shù)據(jù)文件的文件內(nèi)容轉(zhuǎn)換成統(tǒng)一的編碼,例如將文件中的全角字符全部轉(zhuǎn)換成半角字符,將文件內(nèi)容的字符編碼全部轉(zhuǎn)換成utf-8字符編碼等。
步驟S405:根據(jù)預(yù)設(shè)的分隔符集合確定原始數(shù)據(jù)文件中包含的各個(gè)分隔符,分別獲取與各個(gè)分隔符相對(duì)應(yīng)的數(shù)據(jù)分割結(jié)果,根據(jù)數(shù)據(jù)分割結(jié)果從各個(gè)分隔符中確定用于分割文件的選定分隔符。其中,常見(jiàn)的分隔符為標(biāo)點(diǎn)符號(hào),如“-”、逗號(hào)或空格符號(hào)等。對(duì)于選定分隔符的確定方法,常見(jiàn)的一種方法是計(jì)算每一行數(shù)據(jù)被某一分隔符分割后得到的列數(shù)的分布情況標(biāo)準(zhǔn)差來(lái)確定哪一個(gè)分隔符可以作為選定分隔符。因?yàn)樵诒鞠到y(tǒng)中,一個(gè)原始數(shù)據(jù)文件中的每一行數(shù)據(jù)在格式上存在著一定的相似性,所以存在一個(gè)分隔符能將一個(gè)原始數(shù)據(jù)文件中的每一行數(shù)據(jù)分割出近似的列數(shù)的情況,而列數(shù)分布情況標(biāo)準(zhǔn)差表示的是一行數(shù)據(jù)被分割后得到的列數(shù)與列數(shù)平均值的接近程度,標(biāo)準(zhǔn)差越小說(shuō)明分割后得到的列數(shù)與列數(shù)平均值越接近,因此,標(biāo)準(zhǔn)差最小的分隔符可以將每一行數(shù)據(jù)最大限度的分割成相同的列數(shù),最有可能是能夠正確分割該數(shù)據(jù)文件的分隔符,故將其確定為選定分隔符。
步驟S406:通過(guò)選定分隔符將原始數(shù)據(jù)文件分割為多個(gè)字段,并根據(jù)預(yù)設(shè)的字段名匹配規(guī)則確定各個(gè)字段所對(duì)應(yīng)的預(yù)判斷字段名。在具體實(shí)現(xiàn)中,步驟S406先利用步驟S405確定的選定分隔符對(duì)原始數(shù)據(jù)文件中的每行數(shù)據(jù)進(jìn)行分割,之后根據(jù)預(yù)設(shè)的字段名匹配規(guī)則將分割得到的每一列數(shù)據(jù)與預(yù)設(shè)的字段名進(jìn)行匹配,最后將符合匹配條件的字段名作為該列字段的預(yù)判斷字段名。其中,預(yù)設(shè)的字段名匹配規(guī)則用于判斷某一列字段與預(yù)設(shè)的字段名是否匹配,常見(jiàn)的匹配規(guī)則例如:判斷某一列字段中的每一行字段是否均為純數(shù)字并符合特定長(zhǎng)度要求,當(dāng)符合上述要求的字段行數(shù)占到該列字段總行數(shù)的一定比例時(shí),則可以將該列字段的預(yù)判斷字段名設(shè)置為電話(huà)號(hào)碼。本領(lǐng)域技術(shù)人員可以根據(jù)具體情況設(shè)置匹配規(guī)則,本申請(qǐng)對(duì)此不作具體限定,只要能達(dá)到確定的預(yù)判斷字段名能夠正確標(biāo)注該列字段中的較多行的字段即可。
步驟S406還包括當(dāng)多個(gè)字段所對(duì)應(yīng)的預(yù)判斷字段名相同時(shí),在預(yù)判斷字段名中增加字段標(biāo)識(shí)信息。其中,常見(jiàn)的字段標(biāo)識(shí)信息有前綴和/后綴等。例如,在一個(gè)原始數(shù)據(jù)文件中,用選定分隔符分割后的第一列字段的預(yù)判斷字段名為電話(huà)號(hào)碼,第二列字段和第三列字段的預(yù)判斷字段名也都是電話(huà)號(hào)碼,則需要在這幾個(gè)預(yù)判斷字段名后面添加后綴以示區(qū)分,如電話(huà)號(hào)碼1、電話(huà)號(hào)碼2和電話(huà)號(hào)碼3等。
步驟S407:顯示原始數(shù)據(jù)文件及其對(duì)應(yīng)的機(jī)器標(biāo)注信息,接收與原始數(shù)據(jù)文件對(duì)應(yīng)的用戶(hù)輸入信息,根據(jù)用戶(hù)輸入信息生成與原始數(shù)據(jù)文件對(duì)應(yīng)的用戶(hù)標(biāo)注信息。其中,步驟S407通過(guò)目錄結(jié)構(gòu)展示原始數(shù)據(jù)文件列表及其列表中每個(gè)原始數(shù)據(jù)文件對(duì)應(yīng)的機(jī)器標(biāo)注信息,用戶(hù)可以從該列表中選擇需要進(jìn)行標(biāo)注的原始數(shù)據(jù)文件。該步驟進(jìn)一步包括顯示用戶(hù)選擇的進(jìn)行標(biāo)注操作的原始數(shù)據(jù)文件。因?yàn)槊恳粋€(gè)原始數(shù)據(jù)文件都具有機(jī)密性,出于安全考慮,不能將某個(gè)原始數(shù)據(jù)文件中的全部數(shù)據(jù)都展現(xiàn)給同一個(gè)用戶(hù),因此步驟S407僅展示同一個(gè)原始數(shù)據(jù)文件中的部分?jǐn)?shù)據(jù)給同一用戶(hù),例如最多展示同一個(gè)原始數(shù)據(jù)文件中的累計(jì)100行數(shù)據(jù)給同一個(gè)用戶(hù),且在顯示區(qū)域中每一次只顯示這100行數(shù)據(jù)中的10行數(shù)據(jù)。通過(guò)這種限制用戶(hù)獲取過(guò)多數(shù)據(jù)的方法,可以在一定程度上保證原始數(shù)據(jù)文件的安全性,避免嚴(yán)重的泄密情況的出現(xiàn)。在具體實(shí)現(xiàn)中,步驟S407可以通過(guò)多種平臺(tái)實(shí)現(xiàn),例如該平臺(tái)可以是網(wǎng)頁(yè),可以是客戶(hù)端,也可以是用于移動(dòng)終端的APP,該步驟主要通過(guò)靈活的方式分發(fā)數(shù)據(jù),使多個(gè)用戶(hù)能隨時(shí)隨地對(duì)系統(tǒng)中的原始數(shù)據(jù)文件進(jìn)行標(biāo)注,提高文件標(biāo)注的總體效率。
步驟S408:根據(jù)預(yù)設(shè)的第一格式轉(zhuǎn)換規(guī)則將原始文件轉(zhuǎn)換成第一目標(biāo)格式文件。
步驟S409:根據(jù)預(yù)設(shè)的錯(cuò)誤過(guò)濾規(guī)則對(duì)原始數(shù)據(jù)文件對(duì)應(yīng)的用戶(hù)標(biāo)注信息進(jìn)行過(guò)濾,以濾出其中包含的錯(cuò)誤信息。該步驟還包括調(diào)用數(shù)據(jù)庫(kù)提供的命令實(shí)現(xiàn)對(duì)文件內(nèi)的對(duì)行去重,例如SQL數(shù)據(jù)庫(kù)中可以調(diào)用DISTINCT關(guān)鍵字對(duì)行去重。該步驟的作用在于對(duì)用戶(hù)標(biāo)注信息進(jìn)行校驗(yàn),避免出現(xiàn)用戶(hù)標(biāo)注信息錯(cuò)誤的情況,其中,預(yù)設(shè)的錯(cuò)誤過(guò)濾規(guī)則是指根據(jù)用戶(hù)標(biāo)注信息分割原始數(shù)據(jù)文件,并根據(jù)用戶(hù)標(biāo)注信息中的字段名對(duì)每一列數(shù)據(jù)進(jìn)行校驗(yàn),如果字段與字段名匹配則正確,不匹配則錯(cuò)誤,將過(guò)濾出的錯(cuò)誤數(shù)據(jù)重新寫(xiě)入一個(gè)新數(shù)據(jù)文件中。
步驟S409進(jìn)一步包括判斷錯(cuò)誤信息在用戶(hù)標(biāo)注信息中所占的比例,當(dāng)比例超過(guò)預(yù)設(shè)閾值時(shí),將錯(cuò)誤信息提供給用戶(hù)重新標(biāo)注。即判斷用于保存錯(cuò)誤數(shù)據(jù)的新數(shù)據(jù)文件中的數(shù)據(jù)行數(shù)占原文件的總行數(shù)的比例是否超過(guò)預(yù)設(shè)的閾值,如果超過(guò)了,就將該新數(shù)據(jù)文件提供給用戶(hù)并提示用戶(hù)對(duì)該新數(shù)據(jù)文件重新進(jìn)行標(biāo)注。
步驟S410:根據(jù)預(yù)設(shè)的第二格式轉(zhuǎn)換規(guī)則將過(guò)濾后的第一目標(biāo)格式文件轉(zhuǎn)換成第二目標(biāo)格式文件,并將第二目標(biāo)格式文件作為標(biāo)注數(shù)據(jù)文件錄入數(shù)據(jù)庫(kù)中。
步驟S408和步驟S410的作用在于將文件格式雜亂的原始數(shù)據(jù)文件轉(zhuǎn)換成統(tǒng)一文件格式,方便統(tǒng)一管理。
可選的,在步驟S401之前還可以包括步驟S411:將采集到的原始數(shù)據(jù)文件備份到數(shù)據(jù)庫(kù)中。該步驟通過(guò)將原始數(shù)據(jù)文件拷貝一份保存到數(shù)據(jù)庫(kù)中作為備份文件,避免出現(xiàn)因原始數(shù)據(jù)文件丟失而可能造成的損失。
本實(shí)施例中各步驟的具體業(yè)務(wù)流程與上述實(shí)施例中各功能模塊的具體業(yè)務(wù)流程一一對(duì)應(yīng),在此不再贅述。
由此可見(jiàn),在本申請(qǐng)實(shí)施例中,通過(guò)將數(shù)據(jù)文件入庫(kù)數(shù)據(jù)庫(kù)的方式實(shí)現(xiàn)了數(shù)據(jù)文件的統(tǒng)一管理,同時(shí)保存了用戶(hù)標(biāo)注信息,不會(huì)因?yàn)槲募h除導(dǎo)致丟失,保證了標(biāo)注系統(tǒng)的安全性;通過(guò)預(yù)判斷處理,提示用戶(hù)可能的分隔符和字段名,提高了標(biāo)注效率,保證了標(biāo)注系統(tǒng)的效率性;通過(guò)統(tǒng)一平臺(tái)選擇性的向用戶(hù)顯示原始數(shù)據(jù)文件及其對(duì)應(yīng)的機(jī)器標(biāo)注信息并接收用戶(hù)輸入信息,實(shí)現(xiàn)了數(shù)據(jù)的選擇性分發(fā)和在同一平臺(tái)上標(biāo)注進(jìn)行多人標(biāo)注,保證了系統(tǒng)的機(jī)密性和統(tǒng)一性。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本申請(qǐng)實(shí)施例的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書(shū)中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。
本申請(qǐng)實(shí)施例的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來(lái)實(shí)現(xiàn)根據(jù)本申請(qǐng)實(shí)施例的裝置中的一些或者全部部件的一些或者全部功能。本申請(qǐng)實(shí)施例還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本申請(qǐng)實(shí)施例的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。
應(yīng)該注意的是上述實(shí)施例對(duì)本申請(qǐng)實(shí)施例進(jìn)行說(shuō)明而不是對(duì)本申請(qǐng)實(shí)施例進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本申請(qǐng)實(shí)施例可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過(guò)同一個(gè)硬件項(xiàng)來(lái)具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱(chēng)。
本發(fā)明公開(kāi)了:A1、一種文件標(biāo)注系統(tǒng),包括:
數(shù)據(jù)上傳模塊,用于將采集到的原始數(shù)據(jù)文件上傳到數(shù)據(jù)庫(kù)中;
數(shù)據(jù)預(yù)判斷模塊,用于根據(jù)預(yù)判斷處理規(guī)則對(duì)所述數(shù)據(jù)庫(kù)中的原始數(shù)據(jù)文件進(jìn)行預(yù)判斷處理,根據(jù)預(yù)判斷處理結(jié)果生成與所述原始數(shù)據(jù)文件對(duì)應(yīng)的機(jī)器標(biāo)注信息;
頁(yè)面標(biāo)注模塊,用于顯示所述原始數(shù)據(jù)文件及其對(duì)應(yīng)的機(jī)器標(biāo)注信息,接收與所述原始數(shù)據(jù)文件對(duì)應(yīng)的用戶(hù)輸入信息,根據(jù)所述用戶(hù)輸入信息生成與所述原始數(shù)據(jù)文件對(duì)應(yīng)的用戶(hù)標(biāo)注信息;
數(shù)據(jù)存儲(chǔ)模塊,用于根據(jù)所述用戶(hù)標(biāo)注信息,生成與所述原始數(shù)據(jù)文件對(duì)應(yīng)的標(biāo)注數(shù)據(jù)文件。
A2、根據(jù)A1所述的系統(tǒng),所述數(shù)據(jù)上傳模塊進(jìn)一步包括:
解壓縮子模塊,用于根據(jù)文件后綴名識(shí)別所述原始數(shù)據(jù)文件中的壓縮格式文件,對(duì)所述壓縮格式文件進(jìn)行解壓縮處理;
信息采集子模塊,用于獲取所述原始數(shù)據(jù)文件的文件信息,其中,所述文件信息用于確定所述數(shù)據(jù)庫(kù)中的多個(gè)原始數(shù)據(jù)文件的排列順序;
校驗(yàn)子模塊,用于將所述原始數(shù)據(jù)文件的標(biāo)識(shí)信息與所述系統(tǒng)數(shù)據(jù)庫(kù)中已錄入的各個(gè)文件的標(biāo)識(shí)信息進(jìn)行比較,根據(jù)比較結(jié)果確定所述原始數(shù)據(jù)文件的校驗(yàn)結(jié)果;
編碼轉(zhuǎn)換子模塊,用于將校驗(yàn)結(jié)果為校驗(yàn)成功的原始數(shù)據(jù)文件的文件內(nèi)容轉(zhuǎn)換成統(tǒng)一編碼,并將轉(zhuǎn)換后的原始數(shù)據(jù)文件上傳到所述數(shù)據(jù)庫(kù)中。
A3、根據(jù)A2所述的系統(tǒng),所述解壓縮子模塊進(jìn)一步用于通過(guò)文件后綴名選擇解壓工具,并遞歸查找解壓得到的文件目錄,每當(dāng)查找到的所述文件目錄中包含壓縮文件時(shí),對(duì)所述壓縮文件進(jìn)行解壓縮處理。
A4、根據(jù)A1所述的系統(tǒng),所述機(jī)器標(biāo)注信息包括選定分隔符信息以及預(yù)判斷字段名信息,且所述數(shù)據(jù)預(yù)判斷模塊進(jìn)一步包括:
分隔符預(yù)判斷子模塊,用于根據(jù)預(yù)設(shè)的分隔符集合確定所述原始數(shù)據(jù)文件中包含的各個(gè)分隔符,分別獲取與各個(gè)分隔符相對(duì)應(yīng)的數(shù)據(jù)分割結(jié)果,根據(jù)所述數(shù)據(jù)分割結(jié)果從各個(gè)分隔符中確定用于分割文件的選定分隔符;
字段預(yù)判斷子模塊,用于通過(guò)所述選定分隔符將所述原始數(shù)據(jù)文件分割為多個(gè)字段,并根據(jù)預(yù)設(shè)的字段名匹配規(guī)則確定各個(gè)字段所對(duì)應(yīng)的預(yù)判斷字段名。
A5、根據(jù)A4所述的系統(tǒng),所述字段預(yù)判斷子模塊具體用于:當(dāng)多個(gè)字段所對(duì)應(yīng)的預(yù)判斷字段名相同時(shí),在所述預(yù)判斷字段名中增加字段標(biāo)識(shí)信息。
A6、根據(jù)A1所述的系統(tǒng),所述數(shù)據(jù)存儲(chǔ)模塊進(jìn)一步包括:
過(guò)濾子模塊,用于根據(jù)預(yù)設(shè)的錯(cuò)誤過(guò)濾規(guī)則對(duì)所述原始數(shù)據(jù)文件對(duì)應(yīng)的用戶(hù)標(biāo)注信息進(jìn)行過(guò)濾,以濾出其中包含的錯(cuò)誤信息。
A7、根據(jù)A6所述的系統(tǒng),所述過(guò)濾子模塊進(jìn)一步用于:判斷所述錯(cuò)誤信息在所述用戶(hù)標(biāo)注信息中所占的比例,當(dāng)所述比例超過(guò)預(yù)設(shè)閾值時(shí),將所述錯(cuò)誤信息提供給所述頁(yè)面標(biāo)注模塊重新標(biāo)注。
A8、根據(jù)A6或A7所述的系統(tǒng),所述數(shù)據(jù)存儲(chǔ)模塊進(jìn)一步包括:
第一格式轉(zhuǎn)換子模塊,用于根據(jù)預(yù)設(shè)的第一格式轉(zhuǎn)換規(guī)則將所述原始文件轉(zhuǎn)換成第一目標(biāo)格式文件,并將所述第一目標(biāo)格式文件提供給所述過(guò)濾子模塊過(guò)濾;
第二格式轉(zhuǎn)換子模塊,用于根據(jù)預(yù)設(shè)的第二格式轉(zhuǎn)換規(guī)則將所述過(guò)濾子模塊輸出的第一目標(biāo)格式文件轉(zhuǎn)換成第二目標(biāo)格式文件,并將所述第二目標(biāo)格式文件作為所述標(biāo)注數(shù)據(jù)文件錄入所述數(shù)據(jù)庫(kù)中。
本發(fā)明還公開(kāi)了:B9、一種文件標(biāo)注方法,包括:
將采集到的原始數(shù)據(jù)文件上傳到數(shù)據(jù)庫(kù)中;
根據(jù)預(yù)判斷處理規(guī)則對(duì)所述數(shù)據(jù)庫(kù)中的原始數(shù)據(jù)文件進(jìn)行預(yù)判斷處理,根據(jù)預(yù)判斷處理結(jié)果生成與所述原始數(shù)據(jù)文件對(duì)應(yīng)的機(jī)器標(biāo)注信息;
顯示所述原始數(shù)據(jù)文件及其對(duì)應(yīng)的機(jī)器標(biāo)注信息,接收與所述原始數(shù)據(jù)文件對(duì)應(yīng)的用戶(hù)輸入信息,根據(jù)所述用戶(hù)輸入信息生成與所述原始數(shù)據(jù)文件對(duì)應(yīng)的用戶(hù)標(biāo)注信息;
根據(jù)所述用戶(hù)標(biāo)注信息,生成與所述原始數(shù)據(jù)文件對(duì)應(yīng)的標(biāo)注數(shù)據(jù)文件。
B10、根據(jù)B9所述的方法,將采集到的原始數(shù)據(jù)文件上傳到數(shù)據(jù)庫(kù)中的步驟進(jìn)一步包括:
根據(jù)文件后綴名識(shí)別所述原始數(shù)據(jù)文件中的壓縮格式文件,對(duì)所述壓縮格式文件進(jìn)行解壓縮處理;
獲取所述原始數(shù)據(jù)文件的文件信息,其中,所述文件信息用于確定所述數(shù)據(jù)庫(kù)中的多個(gè)原始數(shù)據(jù)文件的排列順序;
將所述原始數(shù)據(jù)文件的標(biāo)識(shí)信息與所述系統(tǒng)數(shù)據(jù)庫(kù)中已錄入的各個(gè)文件的標(biāo)識(shí)信息進(jìn)行比較,根據(jù)比較結(jié)果確定所述原始數(shù)據(jù)文件的校驗(yàn)結(jié)果;
將校驗(yàn)結(jié)果為校驗(yàn)成功的原始數(shù)據(jù)文件的文件內(nèi)容轉(zhuǎn)換成統(tǒng)一編碼,并將轉(zhuǎn)換后的原始數(shù)據(jù)文件上傳到所述數(shù)據(jù)庫(kù)中。
B11、根據(jù)B10所述的方法,所述對(duì)所述壓縮格式文件進(jìn)行解壓縮處理的步驟進(jìn)一步包括:
通過(guò)文件后綴名選擇解壓工具,并遞歸查找解壓得到的文件目錄,每當(dāng)查找到的所述文件目錄中包含壓縮文件時(shí),對(duì)所述壓縮文件進(jìn)行解壓縮處理。
B12、根據(jù)B9所述的方法,所述機(jī)器標(biāo)注信息包括選定分隔符信息以及預(yù)判斷字段名信息,且所述預(yù)判斷處理的步驟進(jìn)一步包括:
根據(jù)預(yù)設(shè)的分隔符集合確定所述原始數(shù)據(jù)文件中包含的各個(gè)分隔符,分別獲取與各個(gè)分隔符相對(duì)應(yīng)的數(shù)據(jù)分割結(jié)果,根據(jù)所述數(shù)據(jù)分割結(jié)果從各個(gè)分隔符中確定用于分割文件的選定分隔符;
通過(guò)所述選定分隔符將所述原始數(shù)據(jù)文件分割為多個(gè)字段,并根據(jù)預(yù)設(shè)的字段名匹配規(guī)則確定各個(gè)字段所對(duì)應(yīng)的預(yù)判斷字段名。
B13、根據(jù)B12所述的方法,所述確定各個(gè)字段所對(duì)應(yīng)的預(yù)判斷字段名的步驟進(jìn)一步包括:
當(dāng)多個(gè)字段所對(duì)應(yīng)的預(yù)判斷字段名相同時(shí),在所述預(yù)判斷字段名中增加字段標(biāo)識(shí)信息。
B14、根據(jù)B9所述的方法,所述生成與所述原始數(shù)據(jù)文件對(duì)應(yīng)的標(biāo)注數(shù)據(jù)文件的步驟進(jìn)一步包括:
根據(jù)預(yù)設(shè)的錯(cuò)誤過(guò)濾規(guī)則對(duì)所述原始數(shù)據(jù)文件對(duì)應(yīng)的用戶(hù)標(biāo)注信息進(jìn)行過(guò)濾,以濾出其中包含的錯(cuò)誤信息。
B15、根據(jù)B14所述的方法,所述對(duì)所述原始數(shù)據(jù)文件對(duì)應(yīng)的用戶(hù)標(biāo)注信息進(jìn)行過(guò)濾的步驟進(jìn)一步包括:
判斷所述錯(cuò)誤信息在所述用戶(hù)標(biāo)注信息中所占的比例,當(dāng)所述比例超過(guò)預(yù)設(shè)閾值時(shí),將所述錯(cuò)誤信息提供給用戶(hù)重新標(biāo)注。
B16、根據(jù)B14或B15所述的方法,所述根據(jù)預(yù)設(shè)的錯(cuò)誤過(guò)濾規(guī)則對(duì)所述原始數(shù)據(jù)文件對(duì)應(yīng)的用戶(hù)標(biāo)注信息進(jìn)行過(guò)濾的步驟之前進(jìn)一步包括:
根據(jù)預(yù)設(shè)的第一格式轉(zhuǎn)換規(guī)則將所述原始文件轉(zhuǎn)換成第一目標(biāo)格式文件;以及
所述根據(jù)預(yù)設(shè)的錯(cuò)誤過(guò)濾規(guī)則對(duì)所述原始數(shù)據(jù)文件對(duì)應(yīng)的用戶(hù)標(biāo)注信息進(jìn)行過(guò)濾的步驟之后進(jìn)一步包括:
根據(jù)預(yù)設(shè)的第二格式轉(zhuǎn)換規(guī)則將過(guò)濾后的第一目標(biāo)格式文件轉(zhuǎn)換成第二目標(biāo)格式文件,并將所述第二目標(biāo)格式文件作為所述標(biāo)注數(shù)據(jù)文件錄入所述數(shù)據(jù)庫(kù)中。