鋼貿(mào)行業(yè)現(xiàn)貨資源的數(shù)據(jù)解析方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)分析技術(shù)領(lǐng)域,尤其涉及一種鋼貿(mào)行業(yè)現(xiàn)貨資源的數(shù)據(jù)解析方法及系統(tǒng)。
【背景技術(shù)】
[0002]鋼貿(mào)行業(yè)的“搜索”和其他行業(yè)一樣,用戶進(jìn)入任何一個(gè)鋼貿(mào)行業(yè)的網(wǎng)站,都會(huì)在醒目的位置找到搜索框,在搜索框內(nèi)輸入關(guān)鍵詞就可以進(jìn)行搜索。各種行業(yè)、領(lǐng)域的搜索框從形式上來看都是大同小異,但是后臺(tái)的實(shí)現(xiàn)方式基于行業(yè)或者網(wǎng)站本身的特性是千差萬別的。但無論基于何種方式,所有的搜索行為都會(huì)在一個(gè)給定的區(qū)域范圍里進(jìn)行。在鋼貿(mào)行業(yè),這樣的一個(gè)用來查找目標(biāo)信息的給定的區(qū)域范圍稱之為“資源池”。鋼貿(mào)行業(yè)的“資源池”一般包括如下信息:品種、品名、規(guī)格、產(chǎn)地、倉(cāng)庫(kù)、價(jià)格、數(shù)量、重量、聯(lián)系人等等?;阡撡Q(mào)行業(yè)特性,用戶在鋼貿(mào)行業(yè)里進(jìn)行搜索的目的當(dāng)然是為了買入貨物,而已經(jīng)賣掉的貨物或掛著前一天價(jià)格的貨物并非用戶所要查找的目標(biāo)信息。所以,“資源池”里的數(shù)據(jù)一定是最新的,必須是搜索出來以后能夠以掛牌價(jià)格買得到的貨物。因此,“資源池”必須每天、甚至每小時(shí)源源不斷地更新數(shù)據(jù)。
[0003]現(xiàn)代化鋼貿(mào)行業(yè)網(wǎng)站的“資源池”數(shù)據(jù)一般是由不同的鋼材供應(yīng)商將包含現(xiàn)貨貨源信息的原始資源文檔上傳到網(wǎng)站,然后再匯總到網(wǎng)站的數(shù)據(jù)庫(kù)中得來的。這些原始資源文檔一般是以常見的文檔格式上傳的,比如word、Excel或txt文檔,如圖1A-1C所示。其中,圖1A為包括一個(gè)數(shù)據(jù)區(qū)域的Excel文檔形式的原始資源文檔;圖1B為包括多個(gè)數(shù)據(jù)區(qū)域的Excel文檔形式的原始資源文檔;圖1C為文本文檔形式的原始資源文檔。
[0004]由于每個(gè)供應(yīng)商上傳的資源文檔格式不盡相同,有的甚至是沒有格式的純自然語(yǔ)言;但最終需要錄入到數(shù)據(jù)庫(kù)的數(shù)據(jù)必須是嚴(yán)格按照網(wǎng)站要求的行列規(guī)整的數(shù)據(jù)表;因此需要將各種雜亂無章的、格式多樣的資源文檔中的數(shù)據(jù)提取出來,整理、篩選、組織成統(tǒng)一格式的有效數(shù)據(jù)?,F(xiàn)有技術(shù)中資源文檔的解析對(duì)于原始文檔內(nèi)容本身的格式規(guī)范要求比較高,必須是行列對(duì)齊工整的數(shù)據(jù)。一旦原始文檔不符合要求就無法從中提取有效數(shù)據(jù),因此有效數(shù)據(jù)轉(zhuǎn)化率比較低。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的在于,針對(duì)現(xiàn)有技術(shù)中鋼貿(mào)行業(yè)資源文檔的解析對(duì)于原始文檔內(nèi)容本身的格式規(guī)范要求比較高,存在有效數(shù)據(jù)轉(zhuǎn)化率比較低的技術(shù)問題,提供一種數(shù)據(jù)解析方法及系統(tǒng),通過采用鋼材標(biāo)頭特征庫(kù)以及多種數(shù)據(jù)算法,大幅提高了有效數(shù)據(jù)轉(zhuǎn)化率。
[0006]為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種鋼貿(mào)行業(yè)現(xiàn)貨資源的數(shù)據(jù)解析方法,包括:
(I)獲取包含鋼材現(xiàn)貨資源的Excel文檔作為待解析數(shù)據(jù)源;(2)對(duì)所述待解析數(shù)據(jù)源進(jìn)行識(shí)別分區(qū);(3)采用鋼材標(biāo)頭特征庫(kù)對(duì)識(shí)別分區(qū)后的每一區(qū)域的數(shù)據(jù)進(jìn)行篩選,保留與鋼材標(biāo)頭特征庫(kù)匹配度最高的數(shù)據(jù),從而確定所有目標(biāo)區(qū)域,其中,鋼材標(biāo)頭特征庫(kù)為存放在數(shù)據(jù)庫(kù)中的代表有效數(shù)據(jù)標(biāo)頭的一張窮舉表;(4)啟動(dòng)預(yù)處理程序?qū)λ心繕?biāo)區(qū)域數(shù)據(jù)進(jìn)行初步格式化;(5)對(duì)預(yù)處理后所有目標(biāo)區(qū)域范圍內(nèi)的數(shù)據(jù)進(jìn)行抽取選樣與所述鋼材標(biāo)頭特征庫(kù)提供的基礎(chǔ)數(shù)據(jù)進(jìn)行比對(duì),確定數(shù)據(jù)行或數(shù)據(jù)列具體的代表名稱;(6)清洗比對(duì)后的數(shù)據(jù),得到完整的數(shù)據(jù)信息并存儲(chǔ)入庫(kù)。
[0007]為實(shí)現(xiàn)上述目的,本發(fā)明還提供了一種鋼貿(mào)行業(yè)現(xiàn)貨資源的數(shù)據(jù)解析系統(tǒng),包括:文檔獲取單元、識(shí)別分區(qū)單元、數(shù)據(jù)篩選單元、格式化單元、數(shù)據(jù)比對(duì)單元以及數(shù)據(jù)清洗單元;所述文檔獲取單元,用于獲取包含鋼材現(xiàn)貨資源的Excel文檔作為待解析數(shù)據(jù)源;所述識(shí)別分區(qū)單元與所述文檔獲取單元相連,用于對(duì)所述待解析數(shù)據(jù)源進(jìn)行識(shí)別分區(qū);所述數(shù)據(jù)篩選單元與所述識(shí)別分區(qū)單元相連,用于采用鋼材標(biāo)頭特征庫(kù)對(duì)識(shí)別分區(qū)后的每一區(qū)域的數(shù)據(jù)進(jìn)行篩選,保留與鋼材標(biāo)頭特征庫(kù)匹配度最高的數(shù)據(jù),從而確定所有目標(biāo)區(qū)域,其中,鋼材標(biāo)頭特征庫(kù)為存放在數(shù)據(jù)庫(kù)中的代表有效數(shù)據(jù)標(biāo)頭的一張窮舉表;所述格式化單元與所述數(shù)據(jù)篩選單元相連,用于啟動(dòng)預(yù)處理程序?qū)λ心繕?biāo)區(qū)域數(shù)據(jù)進(jìn)行初步格式化;所述數(shù)據(jù)比對(duì)單元與所述格式化單元相連,用于對(duì)預(yù)處理后所有目標(biāo)區(qū)域范圍內(nèi)的數(shù)據(jù)進(jìn)行抽取選樣與所述鋼材標(biāo)頭特征庫(kù)提供的基礎(chǔ)數(shù)據(jù)進(jìn)行比對(duì),確定數(shù)據(jù)行或數(shù)據(jù)列具體的代表名稱;所述數(shù)據(jù)清洗單元與所述數(shù)據(jù)比對(duì)單元相連,用于清洗比對(duì)后的數(shù)據(jù),得到完整的數(shù)據(jù)信息并存儲(chǔ)入庫(kù)。
[0008]本發(fā)明的優(yōu)點(diǎn)在于:通過鋼材標(biāo)頭特征庫(kù)實(shí)現(xiàn)對(duì)于數(shù)據(jù)進(jìn)行快速分類、比對(duì)有效數(shù)據(jù)、限定數(shù)據(jù)區(qū)域;并利用多種數(shù)據(jù)算法來提升數(shù)據(jù)定位、解析速度;經(jīng)實(shí)測(cè),采用本發(fā)明所述的數(shù)據(jù)解析方法,原始資源文檔的有效數(shù)據(jù)轉(zhuǎn)化率提升了 70%左右,即大幅提升了有效數(shù)據(jù)轉(zhuǎn)化率。
【附圖說明】
[0009]圖1A,包括一個(gè)數(shù)據(jù)區(qū)域的Excel文檔形式的原始資源文檔;
[0010]圖1B,包括多個(gè)數(shù)據(jù)區(qū)域的Excel文檔形式的原始資源文檔;
[0011]圖1C,文本文檔形式的原始資源文檔;
[0012]圖2,本發(fā)明所述的鋼貿(mào)行業(yè)現(xiàn)貨資源的數(shù)據(jù)解析方法的流程示意圖;
[0013]圖3,本發(fā)明所述鋼材標(biāo)頭特征庫(kù)部分內(nèi)容示意圖;
[0014]圖4A為圖1A中的Excel文檔經(jīng)過識(shí)別分區(qū)及數(shù)據(jù)篩選后得到的目標(biāo)區(qū)域示意圖;
[0015]圖4B為圖4A所示目標(biāo)區(qū)域經(jīng)解析預(yù)處理后的示意圖;
[0016]圖5,本發(fā)明所述的鋼貿(mào)行業(yè)現(xiàn)貨資源的數(shù)據(jù)解析系統(tǒng)的架構(gòu)示意圖。
【具體實(shí)施方式】
[0017]下面結(jié)合附圖對(duì)本發(fā)明提供的鋼貿(mào)行業(yè)現(xiàn)貨資源的數(shù)據(jù)解析方法及系統(tǒng)做詳細(xì)說明。
[0018]參考圖2,本發(fā)明所述的鋼貿(mào)行業(yè)現(xiàn)貨資源的數(shù)據(jù)解析方法流程示意圖。所述方法包括,S21:獲取包含鋼材現(xiàn)貨資源的Excel文檔作為待解析數(shù)據(jù)源;S22:對(duì)所述待解析數(shù)據(jù)源進(jìn)行識(shí)別分區(qū);S23:采用鋼材標(biāo)頭特征庫(kù)對(duì)識(shí)別分區(qū)后的每一區(qū)域的數(shù)據(jù)進(jìn)行篩選,保留與鋼材標(biāo)頭特征庫(kù)匹配度最高的數(shù)據(jù),從而確定所有目標(biāo)區(qū)域;S24:啟動(dòng)預(yù)處理程序?qū)λ心繕?biāo)區(qū)域數(shù)據(jù)進(jìn)行初步格式化;S25:對(duì)預(yù)處理后所有目標(biāo)區(qū)域范圍內(nèi)的數(shù)據(jù)進(jìn)行抽取選樣與所述鋼材標(biāo)頭特征庫(kù)提供的基礎(chǔ)數(shù)據(jù)進(jìn)行比對(duì),確定數(shù)據(jù)行或數(shù)據(jù)列具體的代表名稱;S26:清洗比對(duì)后的數(shù)據(jù),得到完整的數(shù)據(jù)信息并存儲(chǔ)入庫(kù)。以下對(duì)本發(fā)明所述的方法進(jìn)行詳細(xì)說明。
[0019]S21:獲取包含鋼材現(xiàn)貨資源的Excel文檔作為待解析數(shù)據(jù)源。
[0020]為提升解析性能,本發(fā)明所述的方法使用多線程并發(fā)模型來最大化調(diào)度線程效率。多線程并發(fā)模型是一種專為多核CPU而實(shí)現(xiàn)的異步高效的線程模型,可以在高度并發(fā)時(shí)充分挖掘CPU使用率,它的高性能與低延遲將為系統(tǒng)整體吞吐量提供基礎(chǔ)。采用多線程并發(fā)模型可以對(duì)Excel文檔內(nèi)多張Excel表格進(jìn)行并行處理。
[0021]S22:對(duì)所述待解析數(shù)據(jù)源進(jìn)行識(shí)別分區(qū)。
[0022]解析時(shí),通過對(duì)待解析數(shù)據(jù)源中有效的數(shù)據(jù)單元進(jìn)行識(shí)別定位,可以識(shí)別出有效數(shù)據(jù);識(shí)別后確定有效數(shù)據(jù)的外部范圍,以此劃分真實(shí)數(shù)據(jù)的區(qū)域;然后需要對(duì)齊每個(gè)區(qū)域,即確定區(qū)域邊界。
[0023]作為優(yōu)選的實(shí)施方式,所述識(shí)別分區(qū)的具體過程如下:1)利用蟻群算法對(duì)所述數(shù)據(jù)源中有效的數(shù)據(jù)單元進(jìn)行快速定位識(shí)別;2)利用擴(kuò)散算法確定有效數(shù)據(jù)的外部范圍,進(jìn)而劃分真實(shí)數(shù)據(jù)的區(qū)域;3)對(duì)齊每一區(qū)域,完成分區(qū)。可以利用貪婪算法最大化確定每一區(qū)域邊界以避免數(shù)據(jù)遺漏,從而對(duì)齊每一區(qū)域。
[0024]例如通過利用蟻群算法對(duì)圖1B中的Excel文檔進(jìn)行定位,可以識(shí)別出其包括四個(gè)數(shù)據(jù)區(qū)域,識(shí)別后利用擴(kuò)散算法迅速確定有效數(shù)據(jù)的外部范圍,從而將其劃分為四個(gè)數(shù)據(jù)區(qū)域,并確定每個(gè)區(qū)域的外部范圍;再利用貪婪算法最大化確定每一區(qū)域邊界以避免數(shù)據(jù)遺漏,從而對(duì)齊每一區(qū)域。
[0025]對(duì)于圖1A所示包括一個(gè)數(shù)據(jù)區(qū)域的Excel文檔,利用蟻群算法在首行首列“材質(zhì)”附近迅速挖掘出其它可能的信息(“規(guī)格”、“公差”);隨后利用擴(kuò)散算法對(duì)可能部分進(jìn)行擴(kuò)散,最終確定區(qū)域范圍從“材質(zhì)”到“價(jià)格”為結(jié)束。
[0026]S23:采用鋼材標(biāo)頭特征庫(kù)對(duì)識(shí)別分區(qū)后的每一區(qū)域的數(shù)據(jù)進(jìn)行篩選,保留與鋼材標(biāo)頭特征庫(kù)匹配度最高的數(shù)據(jù),從而確定所有目標(biāo)區(qū)域。
[0027]鋼貿(mào)行業(yè)中,每天收到需要解析的數(shù)據(jù)源量非常多,但并不是每個(gè)數(shù)據(jù)源中的數(shù)據(jù)都是有效的。所以在識(shí)別分區(qū)完成后,還需要進(jìn)一步進(jìn)行篩選,保留實(shí)際需要的部分。鋼材標(biāo)頭特征庫(kù)的介入則實(shí)現(xiàn)了數(shù)據(jù)篩選,鋼材標(biāo)頭特征庫(kù)為存放在數(shù)據(jù)庫(kù)中的代表有效數(shù)據(jù)標(biāo)頭的一張窮舉表。
[0028]參考圖3,本發(fā)明所述鋼材標(biāo)頭特征庫(kù)部分內(nèi)容示意圖,窮舉表中的數(shù)據(jù)是依據(jù)多年的行業(yè)經(jīng)驗(yàn),以大量的實(shí)際資源文檔為依據(jù),總結(jié)、歸納出來的有效鋼材特征標(biāo)頭,并根據(jù)市場(chǎng)變化保持更新。鋼材標(biāo)頭特征庫(kù)將每個(gè)數(shù)據(jù)源識(shí)別為獨(dú)一無二的特征并記錄,以此作為資源文檔有效數(shù)據(jù)區(qū)域的篩選依據(jù)。所有的數(shù)據(jù)經(jīng)過識(shí)別分區(qū)之后,全部流向鋼材標(biāo)頭特征庫(kù)進(jìn)行過濾。鋼材標(biāo)頭特征庫(kù)應(yīng)用相似度(基于TF-1DF)算法來對(duì)識(shí)別分區(qū)后的每一區(qū)域的數(shù)據(jù)進(jìn)行篩選,保留每一區(qū)域中與鋼材標(biāo)頭特征庫(kù)匹配度最高的數(shù)據(jù),并剔除匹配度過低的數(shù)據(jù),從而確定所有目標(biāo)區(qū)域。其中,TF-1DF(term frequency -1nversedocument frequency)是一種用于信息檢索與信息探勘的常用加權(quán)技術(shù)。
[0029]例如,對(duì)于圖1B中的Excel文檔的左上數(shù)據(jù)區(qū)域,在經(jīng)過識(shí)別分區(qū)后,根據(jù)該數(shù)據(jù)區(qū)域首行首列信息與鋼材標(biāo)頭特征庫(kù)相匹配,篩選出與該數(shù)據(jù)區(qū)域相似度最高的規(guī)則為:規(guī)格、卷價(jià)、參厚、價(jià)格;根據(jù)這一規(guī)則,對(duì)該數(shù)據(jù)區(qū)域進(jìn)行篩選,保留該數(shù)據(jù)區(qū)域中與鋼材標(biāo)頭特征庫(kù)匹配度最高的第3行到最后一行的數(shù)據(jù),并剔除匹配度過低的第2行的數(shù)據(jù)。
[0030]S24:啟動(dòng)預(yù)處理程序?qū)λ心繕?biāo)區(qū)域數(shù)據(jù)進(jìn)行初步格式化。
[0031]當(dāng)確定所有目標(biāo)區(qū)域后,預(yù)處理程序?qū)?dòng)來對(duì)數(shù)據(jù)進(jìn)行初步格式化。這一步的目的是因?yàn)椴煌臄?shù)據(jù)源附帶的數(shù)據(jù)格式不同(例如:重量可能是10,也可能是10-25 ;公差可能是0.3,也可能是0.2-0.3)。預(yù)處理程序?qū)?shù)據(jù)進(jìn)行模式匹配,