李瑞 邢延超
摘要:對演示文稿布局的評價有助于篩選出好的布局。本文提出一種基于深度學習的演示文稿布局評價算法。首先對演示文稿內(nèi)容屬性分類,將樣本劃分成網(wǎng)格,并獲取網(wǎng)格的相應屬性作為輸入數(shù)據(jù)集。將主觀評價得分作為主要參考,訓練出自動評價布局質量的神經(jīng)網(wǎng)絡。實驗結果中網(wǎng)絡準確率為0.551,加入容限后準確率可進一步提升。
關鍵詞:深度學習;網(wǎng)格;演示文稿;布局質量
中圖分類號:TP393 文獻標識碼:A
文章編號:1009-3044(2019)33-0195-02
非專業(yè)人員制作的演示文稿普遍存在不美觀的問題,而對布局質量的自動評價限制了自動布局工具的有效性。這方面已有部分相關研究。Harrington等通過結合屬性的啟發(fā)式算法來對自動布局的美學進行度量,主要包括設計規(guī)則及其線性組合。BuhrM等依據(jù)文章的大小及優(yōu)先級和重量分布兩項美學標準研究人工神經(jīng)網(wǎng)絡在報紙布局美學評價中的應用。YangXuYong等設計一個與雜志主題相關的布局模板和繼承高層次美學原則和低級圖像特征的計算框架。這些工作對于演示文稿的質量評價缺乏針對性,本文提出一種基于網(wǎng)格和深度神經(jīng)網(wǎng)絡實現(xiàn)對演示文稿布局質量進行評價的算法。
1深度學習數(shù)據(jù)集生成
利用Python凹中的Office文檔處理控件,分析訓練幻燈片每一頁中的對象樹,提取包括對象形狀類型(如文本、圖片)、對象高度、對象寬度、對象位置等信息。
1.1正負樣本獲取
將專業(yè)網(wǎng)站下載頻率較高的演示文稿作為正樣本,將正樣本隨機打亂得到負樣本。隨機打亂的原則:對象不月越界;對象組整體移動;對象盡量避免重疊。正負樣本的比例為1:5。
1.2輸入數(shù)據(jù)集生成
卷積神經(jīng)網(wǎng)絡要求輸入節(jié)點數(shù)相同,無法直接將幻燈片元素信息作為輸入。本文將每張幻燈片劃分為網(wǎng)格,提取網(wǎng)格屬性,作為神經(jīng)網(wǎng)絡輸入。
1.2.1確定網(wǎng)格大小
本文演示文稿設為寬度960、高度540磅。網(wǎng)格數(shù)量會對訓練樣本數(shù)、訓練時間、訓練精度等產(chǎn)生影響。需要在網(wǎng)格精度、準確性、訓練時長間折中。確定網(wǎng)格數(shù)目時應權衡兩個因數(shù)。圖1中曲線1表示訓練精度隨網(wǎng)格數(shù)目收斂的曲線,曲線2代表訓練時間隨網(wǎng)格數(shù)目變化的曲線。最終,網(wǎng)格數(shù)量選擇76x100,在保持較高精度時減少訓練時間。
1.2.2確定網(wǎng)格屬性
演示文稿元素包括文本、圖表以及一些形狀,文本又分為標題、正文等類型等。將頁面劃分成網(wǎng)格時,網(wǎng)格屬性包括背景、標題、副標題、文本、圖表、重疊、其他。確定網(wǎng)格屬性的過程:一、獲取元素位置,判斷與哪些網(wǎng)格相交,相交的占比超過50%認為該網(wǎng)格處于形狀內(nèi)。二、確定當前形狀所包含網(wǎng)格的屬性。三、將所有處于該形狀內(nèi)的網(wǎng)格的屬性添加到對應的網(wǎng)格屬性列表中。四、遍歷所有元素,根據(jù)網(wǎng)格屬性列表確定最終網(wǎng)格屬性。五、頁面中所有的網(wǎng)格屬性寫入CSV文件中,每行保存一張頁面的所有網(wǎng)格屬性。
1.3輸出數(shù)據(jù)集生成
深度學習輸出為對演示文稿中幻燈片整體布局質量的評價得分。本文通過普通用戶對正負樣本進行打分形成輸出數(shù)據(jù)集的方法,打分區(qū)間為O到9分。用戶針對當前顯示的頁面進行打分,將分數(shù)寫入CSV文件中。演示文稿與CSV文件對應關系為一個CSV文件對應一個演示文稿,CSV文件中每行數(shù)據(jù)對應相應的頁面得分。
2深度神經(jīng)網(wǎng)絡訓練
為了充分提取到特征,采用卷積神經(jīng)網(wǎng)絡進行訓練。卷積神經(jīng)網(wǎng)絡輸入為網(wǎng)格廚陸,輸出為布局質量得分。訓練樣本數(shù)為153962,輸人數(shù)據(jù)經(jīng)過MinMaxScaler歸一化。卷積層和隱藏層激活函數(shù)選ReLu,輸出層激活函數(shù)選softmax,損失函數(shù)選交叉熵函數(shù),優(yōu)化器選擇SGD隨機梯度下降法,學習率選擇0.1,卷積核大小為5×5,每批次項數(shù)128,訓練周期200。
影響神經(jīng)網(wǎng)絡訓練準確性的因素主要有卷積層數(shù)、隱藏層的層數(shù)與節(jié)點數(shù)。卷積層的主要作用是使用卷積核進行特征提取和特征映射,伴隨著卷積層數(shù)增加,特征提取更加充分,但是到達某一臨界點之后,繼續(xù)增加卷積層不但不會提取到更多的特征信息,反而會降低訓練準確度,增加訓練時間。增加隱藏層數(shù)可以降低網(wǎng)絡誤差、提高精度,但增加了網(wǎng)絡的訓練時間和出現(xiàn)“過擬合”的傾向,增加隱藏層的節(jié)點數(shù)來獲得較低的誤差,其訓練效果要比增加隱藏層數(shù)更容易實現(xiàn)。
首先,確定神經(jīng)網(wǎng)絡卷積層數(shù)。隱藏層節(jié)點數(shù)為512時,改變卷積層數(shù)分別進行訓練。經(jīng)過實驗可得:當卷積層層數(shù)為2層,卷積核個數(shù)為16/32時,提取到的特征信息較少,準確率比較低;當卷積層層數(shù)為4層,卷積核個數(shù)為16/32/64/128時,準確率沒有卷積層為3層時準確率高,而且訓練時間長。因此,卷積層數(shù)選擇3層,每層卷積核個數(shù)為16/32/64。
其次,確定隱藏層層數(shù)及節(jié)點數(shù)。卷積層選擇3層,卷積核個數(shù)為16/32/64,分別改變隱藏層層數(shù)和節(jié)點數(shù)進行訓練。實驗表明,隱藏層層數(shù)為1節(jié)點數(shù)為896時,測試準確率最高,準確率為0.551。因此,隱藏層的層數(shù)選擇1層,節(jié)點數(shù)選擇896。
最終確定的對PPT布局質量進行打分的卷積神經(jīng)網(wǎng)絡結構如圖2所示。
在該卷積神經(jīng)網(wǎng)絡結構下,選擇153962個樣本進入該網(wǎng)絡進行訓練,網(wǎng)絡在訓練了大約150個epoch后,準確率和損失率基本保持不變。
3深度神經(jīng)網(wǎng)絡測試
3.1網(wǎng)絡加入容限
由于不同的用戶對于完全相同布局的演示文稿也會有不同的得分,因此,卷積神經(jīng)網(wǎng)絡預測出的得分處于一定的容限內(nèi)也應該認為正確。容限是神經(jīng)網(wǎng)絡預測值與真實值之間的差距。加入容限后,可以得到網(wǎng)絡的預測精度。準確度容限為1、2、3時的訓練結果如表3所示。準確度容限為1時,測試準確率比不加容限時上升了0.258;準確度容限為2時,測試準確率比容限為1時上升了0.072;準確度容限為3時,測試準確率比容限為1時上升了0.039。隨著容限的增加,卷積神經(jīng)網(wǎng)絡準確率的上升速率明顯減緩。
4總結
本文采用網(wǎng)格和深度學習相結合的方法對演示文稿的布局質量進行評價得分,測試準確率為0.551。加入容限為1后,準確率上升為0.809;加入容限為2后,準確率上升為0.881;加入容限為3后,準確率上升為0.920。表明網(wǎng)絡預測方向是正確的,但是預測精度需要增加。本文只針對演示文稿的布局進行評價,沒有考慮顏色和諧。下一步工作是提升預測精度的同時將演示文稿顏色信息添加到輸人數(shù)據(jù)集中,對顏色和諧程度進行評價,形成一個完整的評價體系。