郭毓東
(湖南工業(yè)大學(xué),湖南 株洲 412008)
供應(yīng)鏈知識(shí)管理系統(tǒng)的本質(zhì)是供應(yīng)鏈成員企業(yè)利用現(xiàn)代化先進(jìn)的信息技術(shù)和數(shù)據(jù)庫技術(shù),開發(fā)成員企業(yè)供應(yīng)鏈知識(shí)資源,將供應(yīng)鏈相關(guān)知識(shí)作為資產(chǎn)進(jìn)行管理,對(duì)有關(guān)的供應(yīng)鏈知識(shí)進(jìn)行一系列的收集、梳理和處理,并建立與之相適應(yīng)的組織模式,以便能在恰當(dāng)?shù)臅r(shí)間,把恰當(dāng)?shù)墓?yīng)鏈知識(shí)傳遞給客戶、供應(yīng)商、分銷商、零售商等恰當(dāng)?shù)娜藛T,使其能夠有效地利用供應(yīng)鏈知識(shí),采取恰當(dāng)行動(dòng),最大限度的增進(jìn)各成員企業(yè)的經(jīng)濟(jì)效益。供應(yīng)鏈知識(shí)管理系統(tǒng)實(shí)現(xiàn)過程中最核心的部分是數(shù)據(jù)的集成、知識(shí)的抽取和表現(xiàn)。
XML的技術(shù)優(yōu)勢(shì)是能在Web上實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)、共享和對(duì)各種異構(gòu)應(yīng)用程序的支持,將XML應(yīng)用于供應(yīng)鏈知識(shí)管理系統(tǒng),在實(shí)現(xiàn)系統(tǒng)部分結(jié)構(gòu)化數(shù)據(jù)的轉(zhuǎn)化存儲(chǔ)和知識(shí)的抽取、表現(xiàn)方面取得了較為理想的效果。
XML(Extensible Markup Language)是可擴(kuò)展標(biāo)記語言,于1998年發(fā)布,是 W3C(World Wide Web Consortium)的推薦標(biāo)準(zhǔn),是一種開發(fā)簡(jiǎn)單而又可擴(kuò)展的、結(jié)構(gòu)化和半結(jié)構(gòu)化信息文本表示機(jī)制。XML設(shè)計(jì)的主要目的是為了傳輸和存儲(chǔ)數(shù)據(jù),其關(guān)注的焦點(diǎn)是數(shù)據(jù)的內(nèi)容。由于XML數(shù)據(jù)以純文本格式存儲(chǔ),提供了一種獨(dú)立于所有不兼容的軟、硬件的數(shù)據(jù)存儲(chǔ)方法。由于通過XML可以在各種不兼容的應(yīng)用程序中讀取數(shù)據(jù),以XML交換數(shù)據(jù)降低了復(fù)雜性。XML語言常用于簡(jiǎn)化數(shù)據(jù)的存儲(chǔ)和共享,所以,使用XML技術(shù)用于知識(shí)的抽取有其與生俱來的優(yōu)勢(shì)。
XML文件的格式是一種樹型結(jié)構(gòu),它從根部開始,層層展開到枝葉。XML文件包含XML元素和屬性,并有其獨(dú)特的命名規(guī)則。
在供應(yīng)鏈知識(shí)管理系統(tǒng)中,知識(shí)抽取是通過XML格式的文件來進(jìn)行的,它主要應(yīng)用于各種類型數(shù)據(jù)到知識(shí)元的解釋抽取和將多類非結(jié)構(gòu)化的數(shù)據(jù)重新構(gòu)造成結(jié)構(gòu)化的知識(shí)并表現(xiàn)出來,簡(jiǎn)而言之,即實(shí)現(xiàn)了各種類型數(shù)據(jù)與結(jié)構(gòu)化知識(shí)信息之間的轉(zhuǎn)換。
知識(shí)元的解釋抽取就是將各種類型數(shù)據(jù)中所需要的知識(shí)信息(通常為參數(shù)化的)提取出來,保存到不同的知識(shí)元參數(shù)表;重新構(gòu)造是將來自各類知識(shí)元的內(nèi)容和解釋抽取后的結(jié)果參數(shù),按指定的格式填充到需要表現(xiàn)的結(jié)構(gòu)化知識(shí)信息(輸出)中。
XML描述文件由兩大部分組成,第一部分由<General/>標(biāo)記構(gòu)成,主要描述了該文件的信息,包括文件的定義方式及用途等說明信息;第二部分由<knowledge Defines/>標(biāo)記構(gòu)成,該標(biāo)記由多個(gè)<knowledge Define/>標(biāo)記組成,每個(gè)<knowledge Define/>標(biāo)記對(duì)應(yīng)一個(gè)參數(shù)的詳細(xì)定義信息。每一個(gè)格式描述文件必需包含的節(jié)點(diǎn)內(nèi)容由表1中的節(jié)點(diǎn)構(gòu)成。
本文中所提到的供應(yīng)鏈知識(shí)管理系統(tǒng)的知識(shí)抽取分為兩個(gè)方面:一是供應(yīng)鏈知識(shí)元的抽??;二是供應(yīng)鏈知識(shí)信息的重新構(gòu)造,其完整流程如圖1所示。
基于XML技術(shù)的供應(yīng)鏈知識(shí)管理系統(tǒng)的知識(shí)抽取實(shí)現(xiàn)的難點(diǎn)在對(duì)格式各異的數(shù)據(jù)信息的處理,因各種類型的文件格式都有其獨(dú)特性,且其包含的數(shù)據(jù)信息并不一定規(guī)整,在知識(shí)抽取的實(shí)現(xiàn)上比較困難。
為了解決這個(gè)問題,系統(tǒng)在設(shè)計(jì)時(shí)提出了表達(dá)式的概念。在XML格式描述文件中,定義了兩種形式的表達(dá)式,分別為:調(diào)用變量、參數(shù)的值或自定義函數(shù)的表達(dá)式和調(diào)用正則表達(dá)式的表達(dá)式。通過表達(dá)式描述,可以有效的解決各種類型文件的抽取和重新構(gòu)造。下面詳細(xì)說明一下這兩種表達(dá)式。
調(diào)用變量、參數(shù)的值或自定義函數(shù)的表達(dá)式主要是數(shù)學(xué)表達(dá)式,表達(dá)式計(jì)算的結(jié)果通常為整數(shù),用于定位各種類型文件中某個(gè)數(shù)據(jù)的位置或參與循環(huán)。調(diào)用變量的表達(dá)式的格式為[KF|x],字符“KF”為調(diào)用變量的標(biāo)識(shí),“x”為節(jié)點(diǎn)中定義的變量名稱。調(diào)用參數(shù)的值的表達(dá)式為[KWL|n],字符“KWL”為調(diào)用參數(shù)的值的標(biāo)識(shí),“n”為一個(gè)參數(shù)定義名稱。該表達(dá)式的含義為調(diào)用參數(shù)定義n獲取的值。調(diào)用自定義函數(shù)的表達(dá)式為FucDef(Name),這類表達(dá)式使用范圍最廣,F(xiàn)ucDef為需要進(jìn)行調(diào)用的自定義函數(shù)(自定義函數(shù)可以通過編程實(shí)現(xiàn)對(duì)數(shù)據(jù)信息的各種處理邏輯),Name為參數(shù)定義名稱。該表達(dá)式的含義為根據(jù)Name的正則表達(dá)式匹配結(jié)果,按空格進(jìn)行拆分后的數(shù)量個(gè)數(shù)。調(diào)用正則表達(dá)式的表達(dá)式則通常用于在各種類型的文件中,使用正則表達(dá)式來查找所需的知識(shí)信息,正則表達(dá)式需要根據(jù)需求進(jìn)行自定義。以上提及的各類表達(dá)式可多次組合使用,以完成對(duì)所有類型文件的知識(shí)抽取。
設(shè)有一供應(yīng)商網(wǎng)頁某單元模塊信息顯示如圖2所示(由于知識(shí)抽取只抽取文字信息,已去除網(wǎng)頁上的各類效果),現(xiàn)需對(duì)此網(wǎng)頁的“供應(yīng)鏈管理”和“商界評(píng)論”兩塊后的文章進(jìn)行供應(yīng)鏈知識(shí)元相關(guān)信息的抽取和存儲(chǔ),即需讀取到“基于第四方物流的供應(yīng)鏈協(xié)同管理研究”和“客戶關(guān)系管理成為電子商務(wù)時(shí)代制勝法定”兩篇文章。
具體實(shí)現(xiàn)的XML文件描述如下:
<?xml version=“1.0”encoding=“gb2312”?>
<Knowledge DrawOut>
<General>
<Owner>gyd</Owner>
<Time>2012-03-01</Time>
<Mode>HTML</Mode>
<XML Purpose >1</XML Purpose > <!-說明此 XML文件描述的是知識(shí)元抽取-->
</General>
<Knowledge Defines>
<Knowledge Define>
<Knowledge Name> 供應(yīng)鏈管理 </Knowledge Name><!- 知識(shí)信息參數(shù)名稱為供應(yīng)鏈管理-->
<Knowledge Type>string</Knowledge Type><!- 知識(shí)信息類型為字符串類型'
<Row Type>0</Row Type><!- 不需要重復(fù)讀取多行數(shù)據(jù)-->
<Row>2</Row><!- 取第二行的內(nèi)容 -->
<Col>2</Col><!- 取第二列的內(nèi)容,即讀取到“基于第四方物流的供應(yīng)鏈協(xié)同管理研究”這篇文章-->
<Mark>獲取HTML文件中Table的位置</Mark>
<Prefix></Prefix><!-若用正則表達(dá)式讀取則需用到前綴來控制讀取范圍-->
<Surfix> </Surfix><!-若用正則表達(dá)式讀取則需用到后綴來控制讀取范圍-->
<Table NO>1</Table NO><!- 針 對(duì) HTML 文 件 中 多 個(gè)Table給出Table號(hào)-->
<Disp Name></Disp Name><!- 此處用于供應(yīng)鏈信息的重新構(gòu)造,顯示的名稱-->
<Knowledge Value Type></Knowledge Value Type>
<Table CellName></Table CellName>
<Table Name></Table Name>
<Table Type></Table Type>
……
</Knowledge Define>
<Knowledge Define>
<Knowledge Name> 商界評(píng)論 </Knowledge Name><!- 名稱為商界評(píng)論-->
<Knowledge Type>string</Knowledge Type><!- 類型為字符串類型-->
<Row Type>0</Row Type><!- 不需要重復(fù)讀取多行數(shù)據(jù)-->
<Row>3</Row><!- 取第三行的內(nèi)容 -->
<Col>2</Col><!- 取第二列的內(nèi)容,即讀取到“客戶關(guān)系管理成為電子商務(wù)時(shí)代的制勝法寶”這篇文章-->
<Mark>獲取HTML文件中Table的位置</Mark>
<Prefix></Prefix><!- 若用正則表達(dá)式讀取則需用到前綴來控制讀取范圍-->
<Surfix></Surfix><!-若用正則表達(dá)式讀取則需用到后綴來控制讀取范圍-->
<TableNO>1</Table NO><!- 針對(duì) HTML文件中多個(gè) Table給出Table號(hào)-->
<Disp Name></Disp Name><!- 此處用于供應(yīng)鏈信息的重新構(gòu)造,顯示的名稱-->
<Knowledge Value Type></Knowledge Value Type>
<Table Cell Name></Table Cell Name>
<Table Name></Table Name>
<Table Type></Table Type>
……
</Knowledge Define>
……
</Knowledge Defines>
</Knowledge DrawOut>
將XML技術(shù)應(yīng)用于供應(yīng)鏈知識(shí)管理系統(tǒng)中,可以有效地解決供應(yīng)鏈中多企業(yè)數(shù)據(jù)交換和知識(shí)流高度共享、集成以及高效率運(yùn)作問題。目前XML技術(shù)在供應(yīng)鏈知識(shí)管理系統(tǒng)中的應(yīng)用取得了一定的效果,但對(duì)于一些極為復(fù)雜和零散的數(shù)據(jù)類型仍需用自定義的函數(shù)表達(dá)式進(jìn)行處理,這種處理方式需要一定的開發(fā)人員投入較多的工作時(shí)間才能完成,所以,下一步需要努力的方向是找出這些復(fù)雜、零散數(shù)據(jù)的共性,用正則表達(dá)式或是定制的方式來完成知識(shí)的抽取。
[1]馬士華,林勇.供應(yīng)鏈管理[M].北京:高等教育出版社,2006.
[2]王道平,賈潔.一種基于Web Service的敏捷供應(yīng)鏈知識(shí)服務(wù)系統(tǒng)框架模型[J].情報(bào)雜志,2010,(5):148-151.
[3]張志清,秦嶺.供應(yīng)鏈知識(shí)管理及系統(tǒng)框架模型研究[J].情報(bào)雜志,2007,(4):19-21.
[4]王道平,李賀.基于知識(shí)流的敏捷供應(yīng)鏈知識(shí)服務(wù)模式研究[J].軟科學(xué),2010,24(3):1-3.
[5]金鑫.面向分布式創(chuàng)新的知識(shí)共享機(jī)制研究[D].杭州:浙江大學(xué),2009.
[6](美)HMDeitel,PJDeitel,等.XML編程技術(shù)大全[M].北京:清華大學(xué)出版社,2011.