李瑞 邢延超


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