武 凌,王 浩
(安徽財經(jīng)大學 管理科學與工程學院,安徽 蚌埠 233030)
一般而言,人類專家的知識包含了領域知識與運作知識.傳統(tǒng)的專家系統(tǒng)大多為規(guī)則式專家系統(tǒng)(Rule-based Expert System),將領域知識及運作知識寫在一起,總稱為知識庫,不作區(qū)分,致使其在知識表達、知識分享、系統(tǒng)效能與知識庫管理等方面存在以下問題[1]:①規(guī)則的知識表達方式不具有結構性,無法對單一知識概念作詳盡的描述,難以呈現(xiàn)知識概念間的關聯(lián)架構.若要完整呈現(xiàn)一個領域內(nèi)的知識概念結構與知識概念彼此之間的關系,僅僅使用規(guī)則是不夠的,因此基于框架(Frame-based)的知識表達方法被提了出來.②過多與知識無關的規(guī)則,導致系統(tǒng)效能降低,并造成知識庫難以維護與管理.③知識模塊的可再用性低,不同系統(tǒng)與平臺間不易達到知識分享的目的.
財務報表分析是一項含有復雜知識的非結構性工作,其知識內(nèi)容涉及企業(yè)財務報表的眾多會計科目以及各項衡量企業(yè)營運績效與財務狀況的財務比率.長期以來,都有研究者討論如何構建財務報表分析專家系統(tǒng),希望通過專家系統(tǒng)的構建,將專家的工作流程自動化,保存容易流失的專業(yè)知識及經(jīng)驗,提供一個財務報表分析的渠道.財務金融與會計領域方面的專家系統(tǒng)在20世紀80年代中期應用于財務報表分析應用方面,R.Pacheco等人[2]指出財務人員主要是應用歸納與演繹兩種策略來進行分析,因此他們的系統(tǒng)Hybrid Intelligent System結合了類神經(jīng)網(wǎng)絡與模糊邏輯兩個模塊,先通過類神經(jīng)網(wǎng)絡與定義好的問題種類及其相關成因,找出問題的范疇之后,再利用模糊邏輯專家系統(tǒng)的規(guī)則去診斷原因并給予建議解答.此外,由N.F.Matsatsinis等人[3]所開發(fā)的FINEVA多準則決策支援系統(tǒng),結合了統(tǒng)計多變量分析、UTASTAR多準則分析法與專家系統(tǒng)技術來評估一家公司的整體財務狀況.該研究將財報分析的相關知識與步驟以決策樹的方式呈現(xiàn),最后將其轉(zhuǎn)換為推導規(guī)則來構建知識庫.
從知識表達、知識分享與知識庫的構建等觀點來看,現(xiàn)有的財務金融與會計專家系統(tǒng)多以推導規(guī)則為知識表達方式.在目前的應用上,規(guī)則方法在定義專有名詞、同義詞、知識概念間的關聯(lián)等方面上,最大的缺限是無法建立完整的領域知識架構,所以造成推論出來的結果有限.傳統(tǒng)的財管專家系統(tǒng)仍具有相當程度的改善空間.Ljubica Nedovic與Vladan Devedzic則進行了一項橫斷面(Cross-Section)的研究[4],根據(jù)五個個案系統(tǒng)探討財管專家系統(tǒng)所采用的技術、工具、方法以及開發(fā)過程中所遭遇到的問題等,他們指出,目前的技術仍以規(guī)則式專家系統(tǒng)為主,并預期財管專家系統(tǒng)未來將朝向智能型系統(tǒng)(如元件化架構、代理人應用與嵌入式系統(tǒng)等)發(fā)展.
作為描述領域?qū)<抑R的知識庫是整個專家系統(tǒng)的核心,也是一個專家系統(tǒng)能否成功的關鍵因素[5],如何將知識以最適合的方式呈現(xiàn),一直是專家系統(tǒng)發(fā)展亟需突破的瓶頸之一.
目前最主要的知識表達方法有兩種:Rulebased知識表達法和Frame-based知識表達法,目前廣泛使用的專家系統(tǒng)中大部分都是使用規(guī)則來構建知識庫.由于規(guī)則在知識表達能力上有所限制,F(xiàn)rame-based知識表達方式被提了出來.基本上,框架的概念是從面向?qū)ο蟪绦蛟O計的概念衍生而來,提供了一個有結構的知識表達方法.一直以來,也有許多研究提出以框架為主構建知識管理系統(tǒng),通過面向?qū)ο蟮睦^承特性,可以方便地先規(guī)劃設計一個比較一般的、普遍的領域知識架構,然后再針對較獨特的知識概念做進一步的分析與擴充.
本體論指通過對概念、專門術語及相互關系的規(guī)范化描述,呈現(xiàn)某一特定領域的知識體系和基本內(nèi)容,提供一個讓人與人之間及不同的應用系統(tǒng)之間,可以彼此分享、溝通,進而達成共識的一個關于某個領域知識內(nèi)容的媒介.本體論能提供領域術語和知識實體存儲的功能,用以定義領域的知識概念,這是因為本體論具有的分類層次架構,可用于描述知識概念間的關聯(lián)與層次性關系,并能夠提供較豐富的知識概念內(nèi)部結構描述.一些研究通過將本體引入財務管理領域[6-7],可以理清該領域的知識結構,有助于財管領域與各領域進行融合,方便知識的重用和交互.
Protégé是采用Java研究開發(fā)的知識庫自由軟件,其知識庫最大的特色是應用本體論的觀念設計,提供了Frame-based知識表達方式與一個開發(fā)推論引擎的環(huán)境,讓知識工作者可以構建一個以本體論為基礎的跨平臺知識管理系統(tǒng).將本體論及知識建模的知識開發(fā)環(huán)境與其他問題求解的軟件結合,是智能型知識庫系統(tǒng)發(fā)展與應用的關鍵成功因素之一[8].Protégé最大的優(yōu)點在于可以借助各式各樣的Plug-in擴充功能[9],Henrik Eriksson[8]設計的ProtégéPlug-in JessTab成功地整合了JESS與Protégé,可以撰寫JESS程序來管理Protégé的領域本體論.
本文于Protégé知識庫平臺構建本體,使用JESS專家系統(tǒng)開發(fā)語言撰寫推論規(guī)則,通過JessTab撰寫JESS程序存取與操作Protégé的知識庫內(nèi)容.此外,由于JESS與Protégé都由Java開發(fā),故可通過Java整合兩者,使知識庫與其他模塊結合以構建完整的專家系統(tǒng),并借助Java跨平臺的特性,達到知識分享的目的.
2.1.1 財務報表分析對象
企業(yè)的短期償債能力、長期償債能力、經(jīng)營能力與獲利能力是進行財務報表分析時的四個主要方面.一套向外公布的財務報表主要包括了呈現(xiàn)營運成果的損益表,以及說明融資來源和投資項目的資產(chǎn)負債表.
2.1.2 財務比率分析
本文從我國目前財務軟件報表分析系統(tǒng)使用的財務比率中篩選了上述四個方面的12項財務比率進行分析,如表1所示.在進行財務數(shù)據(jù)分析時財務比率被廣泛采用,也就是比率分析.比率分析指就某一特定日期或期間,將財務報表上各項會計科目的相對性以百分率、比率或分數(shù)表示,使原本復雜的財務信息趨于簡單化,使報表用戶獲得明確而清晰的信息.除此之外,還可通過各項財務比率的變動,進一步掌握企業(yè)領域中的各項關系或趨勢.
表1 評價企業(yè)財務狀況四個方面的12項財務比率Table 1 Twelve financial ratios of the four aspects of the evaluation of corporate financial position
如圖1所示的語義網(wǎng)絡圖(Semantic Network)表達了財務報表上各項會計科目與財務比率之間的關系,圖中圓角矩形表示各個與財務報表領域相關的知識概念的類別,類別之間的關聯(lián)用箭頭表示,每條聯(lián)結上標有該聯(lián)結與類別的關系名稱.consists_of表示財務比率由各項會計科目組合而成,而會計科目可分為資產(chǎn)負債表上的資產(chǎn)負債科目以及損益表上的損益科目,它們都屬于is_a會計科目.負債與股東權益指外部與內(nèi)部資金提供者的權益,故兩者的關系是同一層次,即is_sibling_of.is_adjunct_to表示損益科目只是附屬于股東權益的保留盈余.此外,財務比率底下的箭頭has_numerator表示某比率類別與其分子所屬的會計科目類別的關系,has_denominator表示某比率類別與其分母所屬的會計科目類別的關系,由于財務比率的組成含有多項會計科目,這兩個箭頭沒有直接連接到任何一個會計科目類別,用以表示各類別之間多重的關系.
圖1 財務報表領域知識內(nèi)容的語義網(wǎng)絡圖Fig.1 Semantic network diagram of the domain knowledge content of financial statements
資產(chǎn)負債表中所有的資產(chǎn)負債科目都是企業(yè)擁有的經(jīng)濟資源與請求權,故以經(jīng)濟資源作為資產(chǎn)負債科目的根節(jié)點.分別代表外部與內(nèi)部資金提供者的權益的負債及業(yè)主權益,說明了資產(chǎn)的來源,故資產(chǎn)與權益實為一體兩面,兩者金額必定相等,因此經(jīng)濟資源可分成資產(chǎn)與權益兩個部分,資產(chǎn)下又可分為流動資產(chǎn)、長期資產(chǎn)與其他資產(chǎn),由此可得到如圖2所示的資產(chǎn)負債表的本體架構圖.
圖2 資產(chǎn)負債表的本體架構Fig.2 Ontology structure of the balance sheet
損益表以損益為根節(jié)點,基本上包含了收入、支出及盈余三部分,這三個部分作為損益的子節(jié)點,而收入減去支出就等于盈余,圖3所示為損益表的本體架構圖.
圖3 損益表的本體架構Fig.3 The body architecture of the profit and loss account
12項財務比率以財務比率作為根節(jié)點,根據(jù)四個方面(短期償債能力、長期償債能力、經(jīng)營能力與獲利能力)構建,圖4所示為財務比率的本體架構圖.
圖4 財務比率的本體架構Fig.4 The body architecture of the financial Ratios
Protégé平臺上建立的本體有三個類:經(jīng)濟資源及其請求權、損益及財務比率.為了呈現(xiàn)每一個知識概念可能有的同義名稱,每一類根據(jù)自定的Metaclass來構建,這樣便可自行創(chuàng)造符合需求的樣板,來描述領域知識概念類別.在建立類的屬性時根據(jù)資產(chǎn)與負債的特性來建立,例如有form(形體,區(qū)分某類別資金為有形或無形)、liquidity(流動性,區(qū)分某類別資金為流動或非流動)、property(屬性,區(qū)分某類別資金為金融性或營運性)等.每項財務比率為一個類,而每個比率都有兩個屬性,分別為has_numerator(有分子)與has_denominator(有分母).Protégé的知識模塊提供多種的Value Type來設定Slot,其中Type:Instance將兩個有相互關聯(lián)的類聯(lián)結在一起,只要先將相關的知識概念類構建好,便可以根據(jù)該Slot的Allowed Classes面板去聯(lián)結與某項財務比率相關的會計科目,用以表示該項比率的組成.例如衡量企業(yè)經(jīng)營能力的固定資產(chǎn)周轉(zhuǎn)率,其屬性has_numerator聯(lián)結到損益科目營業(yè)收入,而屬性has_denominator則會與資產(chǎn)負債科目的固定資產(chǎn)聯(lián)結,這樣便可清楚表達出固定資產(chǎn)周轉(zhuǎn)率由營業(yè)收入除以固定資產(chǎn).
當財務比率類和會計科目的關系建好之后,還需建立評定比率數(shù)值好壞的標準,本文將各項財務比率好壞的評估標準定為五個等級:5-Excellent(極好),4-Good(好),3-Average(一般),2-Acceptable(尚可),1-Unsatisfactory(差),并以Slot建立評估標準于每個方面所屬的財務比率類中,以后系統(tǒng)將依據(jù)計算出來的財務比率數(shù)值,與評估標準值進行比對,以判別企業(yè)財務狀況的好壞,評估值的范圍定義在五個等級Slot的Facet:Minimum與Maximum內(nèi).
大部分專家系統(tǒng)的問題求解方法稱為啟發(fā)式分類,主要分為三個階段:①抽象化;②啟發(fā)式比對;③進一步地分析.這種方法已普遍應用于各種不同的決策支援系統(tǒng).本文的財務報表分析專家系統(tǒng)的問題求解方法也采用這種模型來構建,例如一家企業(yè)衡量其短期償債能力的好壞,可根據(jù)流動比率來分析:當“流動比率為70%”時,可經(jīng)過第一階段抽象化成“低百分比”,此“低百分比”經(jīng)第二階段進行比對后,可得到“流動比率極低,等級為1”,再經(jīng)過進一步地分析,可得到“短期償債能力極差”.
本文根據(jù)上述四個方面建立人類專家進行財務報表分析時的策略,其策略流程圖如圖5所示,對每一方面相關的財務比率進行分析后,給定一個評估等級,最后綜合四個方面按表2的企業(yè)財務狀況評價標準來評判該企業(yè)的整體財務狀況.
圖5 財務報表分析策略流程圖Fig.5 Flowchart of financial statement analysis strategy
表2 企業(yè)財務狀況評價標準Table 2 The evaluation criteria of the financial situation of enterprises
續(xù)表2
領域本體與運作知識溝通的過程分為兩個階段:在Java應用程序之中嵌入JESS,以及應用JessTab整合Protégé與JESS.
整個JESS推論引擎的核心為jess.Rete類,jess.Rete類的Instance也就是一個JESS推論引擎的Instance,jess.Rete為Jess Library提供了一個中心存取點.在Java程序中建立一個jess.Rete對象時,代碼如下:
import jess.*;
…
Rete engine=new Rete();
宣告一個JESS推論引擎于Java程序內(nèi),然后就可以在Java應用程序中撰寫JESS推論規(guī)則了.控制JESS的操作時最常用的方法是executeCommand方法,executeCommand以字符串作為自變量,而字符串可以是JESS類別的各種指令.
本階段主要是將JessTab的API引入至Java應用程序之中,利用其函數(shù)與JESS推論引擎結合、存取本體論的知識內(nèi)容,通過規(guī)則獲取自用戶輸入的財務數(shù)值,供推論規(guī)則進行運算判斷.分為四個步驟:
3.2.1 本體論的導入
Protégé-JESS的整合最主要是靠 Mapping機制的運作,將本體論知識概念類別的實例映射至JESS,成為專家系統(tǒng)事實庫中的一部分,這樣便能撰寫JESS規(guī)則去存取領域本體論的數(shù)據(jù)并根據(jù)其關聯(lián)架構進行推論.
3.2.2 外部數(shù)據(jù)的獲取
為了進行財務報表分析,專家系統(tǒng)必須先要求用戶輸入相關的財務數(shù)據(jù),把數(shù)據(jù)存入系統(tǒng)中,轉(zhuǎn)成事實庫中的事實后再作運算.從Java界面輸入的都是字符串型數(shù)據(jù),故先經(jīng)過Java本身提供的方法轉(zhuǎn)換成與Protégé類型一致的數(shù)據(jù)類型,然后使用make-instance函數(shù)與slot-set函數(shù)產(chǎn)生Instance,同時設定Slot屬性值.3.2.3 撰寫計算財務比率的規(guī)則
當數(shù)據(jù)輸入完畢,用戶可通過用戶界面選擇欲評比的功能,這時系統(tǒng)再次使用Mapping機制,將含有財報數(shù)據(jù)的事實信息轉(zhuǎn)進JESS引擎內(nèi).以流動比率的計算為例,流動比率=流動資產(chǎn)/流動負債,在規(guī)則的前半部(LHS)設定兩個事實的Object Template,分別代表流動資產(chǎn)(Current Assets)與流動負債(Current Liabilities).當系統(tǒng)運作時,JESS推論引擎會從事實庫中搜尋符合條件的數(shù)據(jù),也就是欲計算某企業(yè)的某一年的財務報表數(shù)據(jù),獲取其流動資產(chǎn)與流動負債的金額存入變量?m1與?m2,接著規(guī)則的后半部(RHS)進行運算,將流動資產(chǎn)除以流動負債,并轉(zhuǎn)換成百分比,通過Store方法(store symbol value),把JESS計算出來的結果儲存在自定義的Symbol中.
3.2.4 撰寫評估財務狀況的規(guī)則
撰寫可以根據(jù)領域本體論中定義的評估標準值來判斷財務比率好壞的規(guī)則,將各項財務比率的評估值范圍建立在所屬的Slot中,分別設立五個Slot代表五個評估等級.將評估標準值建在本體論的好處,在于日后若因外在環(huán)境等因素導致標準范圍變動,可直接在本體論修改,而無須更改系統(tǒng)內(nèi)部的規(guī)則.當系統(tǒng)要判別某企業(yè)的財務比率數(shù)值所代表的等級時,通過facet-get:(facetget<class-name> <slot-name> <facetname>)取得Slot的Facet值,其中<class-name>為存取的類名稱,<slot-name>即該類的某個特定的Slot,支持的Facets 有:NAME,:DOCUMENTATION, :SLOT-MAXIMUMCARDINALITY, :SLOT-MINIMUMCARDINALITY等.
這樣針對短期償債能力、長期償債能力、經(jīng)營能力與獲利能力四個方面的12項財務比率,一一撰寫判斷規(guī)則,接著根據(jù)每個方面的財務比率,制定樣板(deftemplate),撰寫評判各個營運方面好壞的推論規(guī)則.
本文使用Java開發(fā)財務報表分析專家系統(tǒng),整合Protégé平臺上的領域本體論以及應用JESS撰寫的策略規(guī)則,并設計了友好的用戶界面,系統(tǒng)架構如圖6所示.
用戶通過界面輸入相關的財務報表數(shù)據(jù),選擇欲進行評比的功能后,JESS推論引擎根據(jù)知識庫內(nèi)的規(guī)則進行推論,通過本體論對領域知識的完整描述,系統(tǒng)不但能告知用戶企業(yè)的財務狀況,更能進一步分析出企業(yè)哪個營運方面可能有潛在的危機,并提供解釋機制提出建議與解決方案,最后將結果交由用戶界面顯示.此外,通過知識庫維護界面,財務專家或知識工程師可以更改本體論內(nèi)財務比率的評估等級范圍數(shù)值,而無需更改系統(tǒng)內(nèi)部的規(guī)則.系統(tǒng)界面分為:①系統(tǒng)主界面,讓用戶選取欲評比的方面,并將分析后的結果與建議顯示出來;②數(shù)據(jù)輸入界面,以報表的形式呈現(xiàn),用戶在此輸入公司的財務數(shù)據(jù)后,便可開始使用系統(tǒng)進行評估;③知識庫維護界面,讓財務專家或知識工程師更改隨時間而變動的財務比率評估標準值.
圖6 財務報表分析專家系統(tǒng)架構Fig.6 Architecture of financial statement analysis expert system
系統(tǒng)評估是驗證專家系統(tǒng)的一項重要工作,通過評估可測試系統(tǒng)分析出來的企業(yè)財務狀況是否與人類專家的實際評估相符.
A公司某年的財務報表如表3所示.
表3 A公司某年財務報表Table 3 Financial statements of company A in one year元
將數(shù)據(jù)輸入系統(tǒng)后,分析結果如下:流動比率為498 96%(等級為5),凈營運周期為-6.21天(等級為5),短期償債能力極好(等級為5);自有資本率為85.82%(等級為5),利息保障倍數(shù)為377 479.28倍(等級為5),長期資金占固定資產(chǎn)比率為3 437.54%(等級為5),長期償債能力極好(等級為5);總資產(chǎn)周轉(zhuǎn)率為0.91次(等級為4),應收賬款周轉(zhuǎn)率為10.27次(等級為4),存貨周轉(zhuǎn)率為8.87次(等級為4),固定資產(chǎn)周轉(zhuǎn)率為36.30次(等級為5),經(jīng)營能力好(等級為4);稅后凈利率為43.41%(等級為5),總資產(chǎn)報酬率為39.35%(等級為5),股東權益報酬率為45.85%(等級為5),獲利能力極好(等級為5),因此,最后判別企業(yè)整體財務狀況為極好,等級為5,表示A公司這一年的表現(xiàn)優(yōu)良,營運績效良好.
B公司某年的財務報表如表4所示.
表4 B公司某年財務報表Table 4 Financial statements of company B in one year元
經(jīng)系統(tǒng)診斷,流動比率為171.08%(等級為4),凈營運周期為433.46天(等級為1),短期償債能力一般(等級為3);自有資本率為65.13%(等級為4),利息保障倍數(shù)為-23.96倍(等級為1),長期資金占固定資產(chǎn)比率為218.78%(等級為5),長期償債能力一般(等級為3);總資產(chǎn)周轉(zhuǎn)率為0.06次(等級為1),應收賬款周轉(zhuǎn)率為0.91次(等級為1),存貨周轉(zhuǎn)率為1.43次(等級為1),固定資產(chǎn)周轉(zhuǎn)率為0.14次(等級為1),經(jīng)營能力差(評比等級為1);稅后凈利率為-10.88%(等級為1),總資產(chǎn)報酬率為-0.62%(等級為1),股東權益報酬率為-0.94%(等級為1),獲利能力差(等級為1).因此,最后判別企業(yè)整體財務狀況為尚可,等級為2,顯示B公司近年來的發(fā)展遭遇困境,各營運構方面表現(xiàn)令人失望,其中經(jīng)營能力與獲利能力極需改善.
根據(jù)上述系統(tǒng)分析結果與財務專家討論后,判斷出來的企業(yè)財務狀況基本上和專家判定的結果相符,除了少數(shù)數(shù)據(jù)計算結果小有差異,但不影響等級的評判與建議的給定.
本文從知識庫設計的角度盡力克服過去專家系統(tǒng)在知識庫設計方面的限制,將專家系統(tǒng)知識庫分成領域知識及運作知識的設計,并采用本體論建模領域知識.本專家系統(tǒng)的財務報表分析結果與人類專家的實際評估大致相符,可以輔助用戶進行決策.由于設計的領域本體是根據(jù)專家系統(tǒng)的功能與用途設計的,故僅包含財務報表分析領域一部分的知識內(nèi)容,未來可將其擴展,建立一般公認會計原則、收入確認原則等準則于本體論中,以構建出較完整的領域本體論供專家系統(tǒng)使用.此外,可進一步將語意的概念加入到本體論之中,使其知識內(nèi)容能夠滿足不同專家的認知和需求.
[1] Lin Yao Tsung,Tseng S S,Tsai Chi Feng.Design and Implementation of New Object-oriented Rule Base Management System [J]. Expert Systems with Applications,2003,25(3):369-385.
[2] Pacheco R,Martins A,Barcia R M,et al.A Hybrid Intelligent System Applied to Financial Statement Analysis[C].Fuzzy Systems,Proceedings of the Fifth IEEE International Conference,1996:1007-1012.
[3] Matsatsinis N F,Doumpos M,Zopounidis C.Knowledge Acquisition and Representation for Expert Systems in the Field of Financial Analysis[J].Expert Systems with Applications,1997,12(2):247-262.
[4] Nedovic L,Devedzic V.Expert Systems in Finance—A Cross-section of the Field[J].Expert Systems with Applications,2002,23:49-66.
[5] Lee S, O’Keefe R M. The Effect of Knowledge Representation Schemes on Maintainability of Knowledge-Based Systems[J].IEEE Transactions on Knowledge and Data Engineering,1996,8(1):173-178.
[6] 邵建利,劉仲英.企業(yè)會計核算領域中的信息本體研究[J].計算機工程與應用,2005,41(4):210-212.(Shao Jianli,Liu Zhongying.A Study on Information Ontology in Enterprises’Accounting Domain[J].Computer Engineering and Applications,2005,41(4):210-212.)
[7] 官冰,黨德鵬.財務管理領域本體的構建[J].計算機應用與軟件,2011,28(2):10-13.(Guan Bing,Dang Depeng.Constructing Domain Ontology In Financial Management[J].Computer Applications and Software,2011,28(2):10-13.)
[8] Eriksson H.Using JessTab to Integrate Protégéand Jess[J].IEEE Intelligent Systems,2003,18(2):43-50.
[9] Knublauch H.An AI Tool for the Real World—Knowledge Modeling with Protégé[EB/OL].(2006-3-20).http:∥www. javaworld. com/javaworld/jw-06-2003/jw-0620-protege.html.