蔡丹丹
(上海圖書館 上海 200031)
圖書采購在圖書館工作中有著極其重要的地位,采購策略對于圖書館館藏質(zhì)量和服務(wù)水平有著決定性的作用[1],同時對于讀者滿意度、閱讀推廣效果等方面也都有著很深遠的影響。采購書目的質(zhì)量和復(fù)本量關(guān)系著圖書館能否利用投入采購中的有限的成本更好地滿足讀者的需求[2]。對于許多圖書館來說,充分利用有限的經(jīng)費同時達到購買到的圖書是讀者最需求的效果,是圖書采購中的核心問題[3]。
圖書館更好的生存與發(fā)展和先進技術(shù)的運用是密不可分的。目前圖書采購中的讀者決策采購(Patron Driven Acquisitions,PDA)模式很受歡迎,但對公共圖書館來說,如果同時收到的讀者需求較多,如何篩選真正有價值、利用率高的圖書,關(guān)系著讀者決策采購的相關(guān)投入能否得到最優(yōu)化利用。而對圖書價值和利用效率的預(yù)判,目前在許多圖書館中還是基于采訪人員對圖書信息的把握和個人經(jīng)驗。隨著智慧圖書館概念的發(fā)展和人工智能技術(shù)的廣泛應(yīng)用,將圖書采購原則與計算機技術(shù)相結(jié)合,減少圖書采購時的主觀判斷因素,形成更科學(xué)高效的采購策略,是在“互聯(lián)網(wǎng)+”時代發(fā)展智慧圖書館亟需面對的課題。
本文利用近年流行的神經(jīng)網(wǎng)絡(luò)結(jié)合遺傳算法對圖書進行協(xié)同分析,將圖書分為有借閱圖書(“熱門書”)和零借閱圖書(“冷門書”)兩類,獲得基于圖書特征的借閱預(yù)測模型,在采購前對一本書是否會成為“熱門書”進行預(yù)測,從而為是否滿足讀者提出的采購需求提供依據(jù)。
目前圖書采購研究熱點是讀者決策采購、圖書招標采購等采購方法,數(shù)據(jù)挖掘在圖書采購中的應(yīng)用也是研究熱點之一[4]。許多研究者提出了不同的數(shù)據(jù)挖掘模型來建立科學(xué)的圖書采購決策,但這些模型也都有尚待解決的問題。
有研究者將回歸分析模型應(yīng)用于建立圖書借閱率預(yù)測模型,并以此作為圖書采購復(fù)本量的參考[5]。但回歸分析需要依賴線性相關(guān)關(guān)系,當訂購數(shù)量作為決策對象時,與采購相關(guān)的多因子沒有很好的線性相關(guān)關(guān)系[6]。為了實現(xiàn)圖書建設(shè)的良性發(fā)展,得到一個有效的、可觀的訂購策略,有研究者建立了基于單隱層神經(jīng)網(wǎng)絡(luò)的圖書訂購動態(tài)模型,來實現(xiàn)圖書購買經(jīng)費的優(yōu)化配置,該模型可以較好地處理非線性相關(guān)關(guān)系[6]。
為減少主觀因素,增強圖書采購的科學(xué)性,有部分研究者及圖書館嘗試過建立基于層次分析法的圖書采購策略[7]。層次分析法是一種有效的系統(tǒng)分析方法,基于人的決策和判斷,結(jié)合部分定量信息,為解決復(fù)雜的決策問題提供簡便的決策方法,但仍然較為依賴人的判斷,存在準確性和客觀性不足的缺陷[8]。有的研究者引入了基于BP(Back Propagation)算法的神經(jīng)網(wǎng)絡(luò),即BP神經(jīng)網(wǎng)絡(luò),來對層次分析法進行優(yōu)化,這種優(yōu)化方法相對于單純的層次分析法,具有不需要進行一致性檢驗、避免出現(xiàn)邏輯錯誤的優(yōu)點,但同時該模型也有收斂速度受限和可能出現(xiàn)局部最小的情況尚待改善[8]。
由此可以發(fā)現(xiàn),許多研究者提出的圖書采購模型中存在缺乏客觀性、準確性的問題,都可以通過構(gòu)建基于神經(jīng)網(wǎng)絡(luò)的采購模型來得到解決。但無論是神經(jīng)網(wǎng)絡(luò)模型還是有一定改進的BP神經(jīng)網(wǎng)絡(luò)模型,在構(gòu)建時都具有一定的局限性,收斂效率和局部最小問題等都有繼續(xù)優(yōu)化的可能。因此,在進行圖書采購模型的研究時,我們可以考慮引入遺傳算法來進一步優(yōu)化神經(jīng)網(wǎng)絡(luò)模型。遺傳算法具有良好的全局搜索性能,并減少了陷入局部最優(yōu)解的風(fēng)險,這些優(yōu)點恰好可以彌補神經(jīng)網(wǎng)絡(luò)的缺點[9]。
目前應(yīng)用于采購的神經(jīng)網(wǎng)絡(luò)模型有許多不同的類型,有的研究者提出通過LVQ(Learning Vector Quantization)神經(jīng)網(wǎng)絡(luò),基于圖書的特征對是否采購進行預(yù)測[10];也有研究者通過灰色神經(jīng)網(wǎng)絡(luò)構(gòu)建了基于拒借率和流通率的圖書復(fù)本量預(yù)測模型[2],等等。但這些基于神經(jīng)網(wǎng)絡(luò)的采購模型,一方面顯示出神經(jīng)網(wǎng)絡(luò)模型相對于傳統(tǒng)回歸模型,預(yù)測精度更高[2],但同時都無可避免地受到神經(jīng)網(wǎng)絡(luò)模型本身固有缺陷的限制。
有一部分關(guān)于圖書采購模型的研究也探討了神經(jīng)網(wǎng)絡(luò)模型的不同優(yōu)化方法,比如結(jié)合帶有影響因子的遺傳算法,預(yù)測某本書是否會被本校圖書館采購[11];以及通過遺傳算法對基于神經(jīng)網(wǎng)絡(luò)和支持向量機的兩種采購模型進行優(yōu)化,對比優(yōu)化后對圖書館是否采購的預(yù)測準確度[3]。這些優(yōu)化模型都取得了比原有的標準神經(jīng)網(wǎng)絡(luò)模型更好的預(yù)測結(jié)果,因此基于遺傳神經(jīng)網(wǎng)絡(luò)原理來構(gòu)建采購模型是一個可行的方法,而且相較于基于標準神經(jīng)網(wǎng)絡(luò)的模型,能取得更好的效果。由此,本文選擇了基于遺傳算法的神經(jīng)網(wǎng)絡(luò)來構(gòu)建采購決策模型。
此外,綜合上述案例可以發(fā)現(xiàn),在神經(jīng)網(wǎng)絡(luò)與圖書采購策略結(jié)合方面的研究,主要集中在對是否采購的研究,是基于過往采購專員的采購行為而形成的函數(shù),可以達到的效果是減輕采購專員的機械勞動量。本文則希望通過對遺傳神經(jīng)網(wǎng)絡(luò)的應(yīng)用,形成關(guān)于零借閱圖書的非線性映射模型,模型的構(gòu)建是基于對過往讀者行為的總結(jié),嘗試從讀者行為角度,為采購決策提供科學(xué)的依據(jù)。
本文選擇利用遺傳算法對神經(jīng)網(wǎng)絡(luò)進行優(yōu)化,構(gòu)建基于遺傳神經(jīng)網(wǎng)絡(luò)的采購決策模型,而不是采用傳統(tǒng)的標準神經(jīng)網(wǎng)絡(luò),是考慮到神經(jīng)網(wǎng)絡(luò)和遺傳算法的特點,利用遺傳算法作為神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)和訓(xùn)練的基礎(chǔ),以期能夠獲取一個預(yù)測精度更高、訓(xùn)練效率更好的模型。
神經(jīng)網(wǎng)絡(luò)具有極強的非線性映射能力,因此可以很好地處理非線性映射關(guān)系。理論上,對于一個三層和三層以上的網(wǎng)絡(luò),只要隱含層神經(jīng)元數(shù)目足夠多,該網(wǎng)絡(luò)就能以任意精度逼近一個非線性函數(shù)[3]。但標準神經(jīng)網(wǎng)絡(luò)也存在一定缺陷。我們可以把神經(jīng)網(wǎng)絡(luò)的整個計算過程看作是一個優(yōu)化學(xué)習(xí)和訓(xùn)練函數(shù)的過程,我們需要在計算中找到算法的權(quán)值和閾值,在此范圍內(nèi),根據(jù)輸出結(jié)果與實際預(yù)期結(jié)果的比較,可以得到最小誤差值[12]。因而,在尋找權(quán)值和閾值的過程中,由于初始值是根據(jù)經(jīng)驗預(yù)設(shè),就有陷入局部極小值的風(fēng)險,同時初始值設(shè)定距離最優(yōu)值較遠,就會存在訓(xùn)練時間比較長的問題。
此外對于神經(jīng)網(wǎng)絡(luò)的特點有多種優(yōu)化方法,其中應(yīng)用比較廣泛、結(jié)構(gòu)比較簡單的是基于BP算法的神經(jīng)網(wǎng)絡(luò),即BP神經(jīng)網(wǎng)絡(luò),是標準神經(jīng)網(wǎng)絡(luò)的改進。它是一種雙向預(yù)反饋神經(jīng)網(wǎng)絡(luò),它的反饋機制能夠修正神經(jīng)網(wǎng)絡(luò)的一部分缺點以提高訓(xùn)練效率,但始終存在陷入局部極小值的風(fēng)險,并且訓(xùn)練樣本數(shù)的增加仍然會降低模型的收斂速度[13]。
美國密歇根大學(xué)Holland于1975年提出的遺傳算法是一種通過模擬生物進化過程,基于“優(yōu)勝劣汰”的原理,選擇、進化、迭代計算尋找最優(yōu)解的算法[14]。其本質(zhì)是一種全局優(yōu)化搜索的方法,它能在搜索過程中自動獲取和積累有關(guān)搜索空間的知識,并自適應(yīng)地控制搜索過程以求得最優(yōu)解[11]。
遺傳算法可以對神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值進行優(yōu)化,代替隨機根據(jù)經(jīng)驗設(shè)置的初始值。因此有研究者通過引入具有良好全局尋優(yōu)能力的遺傳算法,建立遺傳神經(jīng)網(wǎng)絡(luò),來優(yōu)化標準神經(jīng)網(wǎng)絡(luò),發(fā)現(xiàn)遺傳算法有能力較好地降低標準神經(jīng)網(wǎng)絡(luò)存在的容易陷入局部極小的風(fēng)險[15]。同時也有研究發(fā)現(xiàn),遺傳算法能夠有效地解決神經(jīng)網(wǎng)絡(luò)中的預(yù)反饋信息問題,因此通過遺傳算法優(yōu)化的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)可以解決神經(jīng)網(wǎng)絡(luò)收斂速度慢、運行效率低等問題[12]。
遺傳算法和神經(jīng)網(wǎng)絡(luò)的特點決定了將兩者結(jié)合使用,是一種優(yōu)化構(gòu)建模型的方法,可以使神經(jīng)網(wǎng)絡(luò)具有自進化與自適應(yīng)能力[14],從而使模型面對圖書館中樣本數(shù)據(jù)量較大的情況時,能夠發(fā)揮效率優(yōu)勢和精準度優(yōu)勢。
上海圖書館目前開展了多種表現(xiàn)形式的讀者決策采購,包括在書目查詢系統(tǒng)中開通了“中文圖書你薦我購”標簽頁[16],以及在上海書展期間的“你選書,我買單”活動等,都能在一定程度上滿足讀者的個性化需求。但面對多樣化需求時也要考慮到,盡管PDA在一定程度上都體現(xiàn)館藏建設(shè)“以用戶為主導(dǎo)”的特點,但讀者們的選擇也是充滿個人偏好的選擇[17]。如何科學(xué)高效地利用投入采購中的成本,使按需采購的圖書是更多讀者需要的圖書,也是公共圖書館需要決策的重點。
因此,本文利用遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)模型,現(xiàn)有讀者行為結(jié)合書目信息預(yù)測圖書是“冷門書”還是 “熱門書”,從而可以為是否滿足讀者需求進行采購提供依據(jù)。如果模型預(yù)測為“熱門書”則推薦優(yōu)先采購,如果模型預(yù)測為“冷門書”則根據(jù)采購成本延后采購。
數(shù)據(jù)集來自上海圖書館普通外借類型圖書,共計627 529冊,選取其中的零借閱圖書數(shù)據(jù)共82 779冊。通過書目號篩選,發(fā)現(xiàn)零借閱圖書為7 729種。提取這7 729種書籍的特征值量化作為零借閱書目數(shù)據(jù)集,相對應(yīng)地選取普通外借類型圖書中借閱量排名在前8 000種的書目作為有借閱書目數(shù)據(jù)集,共提取15 729種書籍的書目信息。篩選其中編目數(shù)據(jù)比較完整的書目共得到14 834條書目,因此數(shù)據(jù)集為:零借閱書目7 358種, 有借閱書目7 476種。
通過遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)模型的設(shè)計步驟為:①數(shù)據(jù)采集。提取大多數(shù)圖書都有的書目信息作為特征值,對特征值進行量化。②創(chuàng)建神經(jīng)網(wǎng)絡(luò),數(shù)據(jù)集導(dǎo)入MATLAB(Matrix & Laboratory)中,共14 834條數(shù)據(jù),其中訓(xùn)練數(shù)據(jù)14 000條,測試數(shù)據(jù)834條。③通過遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)的閾值和權(quán)值。④將優(yōu)化后的閾值和權(quán)值帶入還未開始訓(xùn)練的神經(jīng)網(wǎng)絡(luò)。⑤訓(xùn)練神經(jīng)網(wǎng)絡(luò)。⑥測試神經(jīng)網(wǎng)絡(luò)。⑦分析準確率。
首先,根據(jù)特征在數(shù)據(jù)集中的數(shù)量進行排序,優(yōu)先選擇數(shù)量比較多的特征;其次,對特征是否會對讀者借閱行為產(chǎn)生影響進行分析判斷,選取會對借閱產(chǎn)生影響的特征。因此,本文選取分類、著者、主題、出版社、出版日期、開本、頁碼、語種這8個特征進行量化。
著者、主題、出版社都通過統(tǒng)計詞頻后排序?qū)崿F(xiàn)量化,由于是非線性映射,排序號碼數(shù)值的大小與最終判斷結(jié)果并無線性邏輯關(guān)系,因此直接將排序號作為量化值。
本文基于MATLAB構(gòu)建神經(jīng)網(wǎng)絡(luò)并通過遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和神經(jīng)元權(quán)重,從而利用遺傳神經(jīng)網(wǎng)絡(luò)判斷某本書目為零借閱圖書還是有借閱圖書。
數(shù)據(jù)存儲在MATLAB數(shù)據(jù)文件中,共有14 834條數(shù)據(jù),包括圖書館當前普通外借的冷門書籍和熱門書籍。輸入神經(jīng)元的個數(shù)為8,代表書籍的各種特征,輸出神經(jīng)元個數(shù)為1,輸出值通過一定規(guī)則判定為0或2,分別代表冷門書籍、熱門書籍。樣例數(shù)據(jù)如表1所示。
表1 樣例數(shù)據(jù)
首先創(chuàng)建神經(jīng)網(wǎng)絡(luò),設(shè)置節(jié)點個數(shù)、訓(xùn)練集和測試集。主要代碼如下:
load data input output %讀取數(shù)據(jù)。
inputnum = 8;hiddennum = 12;outputnum = 1; %節(jié)點個數(shù)。
input_train = input(1:14000,:)'; input_test = input(14001:end,:)'; %訓(xùn)練數(shù)據(jù)和預(yù)測數(shù)據(jù)。
output_train = output(1:14000)'; output_test = output(14001:end)'。
遺傳算法優(yōu)化過程包括:初始化參數(shù)和種群;記錄平均適應(yīng)度;通過選擇、交叉、變異計算迭代求解最佳閾值和權(quán)值。其中選擇、交叉、變異算法的主要過程如下:
individuals=select(individuals,sizepop);avgfitness=s um(individuals.fitness)/sizepop; %選擇。
individuals.chrom=Cross(pcross,lenchrom,individua ls.chrom,sizepop,bound); %交叉。
individuals.chrom=Mutation(pmutation,lenchrom,in dividuals.chrom,sizepop,i,maxgen,bound); %變異。
通過遺傳算法獲取神經(jīng)網(wǎng)絡(luò)的最佳初始閾值和權(quán)值之后,將這些初始值帶入神經(jīng)網(wǎng)絡(luò),進行神經(jīng)網(wǎng)絡(luò)訓(xùn)練,并獲取預(yù)測結(jié)果。神經(jīng)網(wǎng)絡(luò)訓(xùn)練和獲取預(yù)測結(jié)果的主要過程如下:
[net,per2]=train(net,input_train,output_train);%訓(xùn)練神經(jīng)網(wǎng)絡(luò)。
BPoutput=sim(net,input_test); error=BPoutputoutput_test; result_t = [output_test' BPoutput' error'];%輸出神經(jīng)網(wǎng)絡(luò)預(yù)測結(jié)果。
多次運行遺傳神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練測試,表2中為樣本、訓(xùn)練集、測試集的數(shù)據(jù)基本信息,表3為其中4次的運行結(jié)果。
表2 數(shù)據(jù)基本信息
表3 運行結(jié)果
由表3運行結(jié)果統(tǒng)計可見,該模型的運行穩(wěn)定性較高,對“熱門書”預(yù)測的平均準確率達到89.78%,對“冷門書”預(yù)測的平均準確率達到84.40%,平均預(yù)測準確率可以達到87.23%。模型獲得的誤差值較小,且運行結(jié)果比較穩(wěn)定,能夠達到預(yù)測圖書屬于“冷門書”或者“熱門書”的目的。同時遺傳神經(jīng)網(wǎng)絡(luò)模型具有運行效率高的特點,即使導(dǎo)入新的數(shù)據(jù),學(xué)習(xí)效率也很高,因此該模型可以為圖書采購提供一定建議,并經(jīng)常根據(jù)讀者行為進行修正。
通過對上海圖書館普通外借數(shù)據(jù)的整理和統(tǒng)計,可以發(fā)現(xiàn)遺傳神經(jīng)網(wǎng)絡(luò)在基于讀者行為的外借預(yù)測中有較好的表現(xiàn),可以通過該模型獲取到推薦優(yōu)先采購的書目。此外,本文中設(shè)想的模型應(yīng)用場景是處理多樣化的讀者推薦采購書目,但模型通過改進或許也可以應(yīng)用于圖書批量采購。由于應(yīng)用于圖書批量采購時,對模型的精準度要求更高,因此未來的研究中,可以通過引入主題詞、標題、摘要等書目信息中語義相關(guān)的特征值,來優(yōu)化模型獲取更加準確的預(yù)測結(jié)果。
同時,從采購決策上來說,對許多專業(yè)圖書館、社區(qū)圖書館來說,在預(yù)算有限的情況下,提高采購決策的科學(xué)性和準確率,可以顯著優(yōu)化館藏建設(shè)。從這一點考慮,遺傳神經(jīng)網(wǎng)絡(luò)模型由于具有提高模型運行效率、優(yōu)化準確率的特點,通過這一方法來構(gòu)建新的采購決策模型或者優(yōu)化原有采購模型,都是有價值的改進嘗試。但同時,對大型公共圖書館和大型專業(yè)館來說,“應(yīng)采盡采”或“飽和采購”是其應(yīng)盡的義務(wù),這類模型的使用或許收效有限,但依然可以依據(jù)預(yù)測結(jié)果來決定采購順序,提升服務(wù)效率。