摘 要 管理電子文檔最好的策略當屬于給文檔建立索引并且對其進行有效地分類。大多數的組織都將其文檔存儲在以關鍵字命名的文件結構中。然而將文件分發在合適的文件結構必須由對此文件結構非常了解的人來完成,只有他們能保證分類的準確性。在以前,這樣的員工需要花費大量的時間進行文件的人工分類。這樣的工作非常耗時,枯燥和乏味。有時一些錯誤由員工對文件結構系統的知識匱乏或個人的疏忽引起,而這樣的錯誤會降低其他員工獲取文件的效率。為了得到更高的準確率并減輕員工的負擔,企業都很希望能部署一個自動分類的解決方案,以達到員工更有效及更準確的獲取存儲信息。
【關鍵詞】信息生命 云計算 機器學習
信息生命周期管理(Information Lifecycle Governance - ILG)是每個企業的基石。ILG幫助企業管理他們的商業信息,同時降低風險,減少消耗并且最大限度使用數據的價值。ILG主要用于數據的清理,歸類,記錄,管理和銷毀。所有這些都基于一個最基本的功能:數據分類。數據的銷毀是指將商業數據分類到有價值一類和對企業再無價值并且等待銷毀一類。當存儲的數據已達到銷毀年限必須要被銷毀。真實的ILG系統在沒有數據分類的前提下是無法使用的。例如這樣一個文件存儲系統:兩層結構,第一層由15個類別組成,例如“Accounting”,“Development”, “Human Resources”等等,每個類別的第二層有20-30個類別,例如在“Human Resource”類別下有”Application Files”, “Employee Application”等。至今大多數的文檔都是人工進行存儲的,人力資源的員工要負責對文件進行合理的分類,假使每天一個HR產生250個文件也就是說250個文件需要人工進行分類。如果我們有375個類別每個類別下10個文檔,每天需要人工分類的文件數就是3750,當精確度要求很高的時候也不是很容易的。這個例子說明了一個自動分類的系統不僅是很有用的,而且還是必須得。
此篇文章旨在建立一個自動分類過程并且將其與企業文件系統進行合適的連接。
1 基本概念
云計算——是一種用戶部署在互聯網上使用遠程服務器網絡的技術,遠程服務器可存儲,管理和處理數據。在云環境中,網絡、硬件、系統軟件都可以被當作服務提供給用戶。云環境的最大優勢是能幫助最大限度的李彤分享資源從而減少開銷。在云環境中,資源可以根據用戶的需求進行動態的分配。
本文的測試環境就是建立在一個私有云的存儲環境中。所有自動分類系統的測試都運行在這個存儲環境。所有已分類和未分類的文檔都被存儲在云系統中并且通過Internet獲得。
2 分類儲存
在云計算環境中,所有未分類和已分類的文檔,不論來自互聯網,公司內網或者文件系統都將被存儲在云存儲系統中。數據分類模塊從云存儲系統中獲得文檔,分析文件內容,進行分類后將其放回到云存儲系統中,此時文件將根據其在文件存數系統中所屬的類別進行分類存儲。
內容分析——分為定量內容分析及話語分析。內容分析是在社會學里研究文本內容的工具。它能幫助組織理解大量存儲的非結構化信息中的內容及上下文環境。例如,內容分析工具可以幫助我們回答的問題有:最常出現的詞語和概念是什么?或者兩個最可能一起出現的詞語是什么?定量內容分析主要關注于詞語出現的頻率,次數,關鍵字的頻率等等。這些信息將被以定量數據的形式存儲并用于以后進行統計上的分析。與定量內容分析相反,話語分析主要關注與文章的含義,主題。研究人員必須能理解文章的客觀意思,需要更多的關注于文章字里行間的語法及語義信息。
在自動分類中,內容分析主要起到查找,分析和內容挖掘的作用。例如在聚類方法中,聚類的結果通常是一個文檔的自然分布和分布結構。研究人員需要對每個聚類簇中的文檔進行分析從而理解每個簇的主要含義和關鍵詞組,在此基礎上進行例如,數據清洗或建立分類條件。更好地理解文件集非常有益于高效,準確的分類。一個簡單的建立分類條件的例子是,當一個文檔包含“訓練集”這樣的關鍵字則非常有可能在描述數據分類的事情,因為大多數的監督型學習的數據分類都需要一個訓練集。則當聚類的某個簇含有類似的語義非常明確的詞語或短語時,這一類能被清楚地標記出來。
3 機器學習
3.1 機器學習
機器學習是人工智能的一個分支,它的關鍵是從數據中學習并且使用學習到的知識建立一個系統,這個系統可以在今后的生產環境中重復使用。例如,一個機器學習系統可以被垃圾及非垃圾郵件訓練,經過足夠的學習之后,這個系統應該有可以識別垃圾郵件的能力從而使用戶免于垃圾文件的困擾。另一個例子是關于數據挖掘,在經過記錄和分析用戶的行為后,系統應該能輕易地推測那種用戶更可能買某一類商品或者哪兩種商品更有可能一起被客戶購買。
機器學習的方法包括以下幾種。聚類,未監督學習方法,將文檔分發到每個聚類簇中,使得在同一簇中的文檔根據某些既定的規則非常相似,而不同簇中的文檔則非常不同。支持向量機,監督型學習方法,它使用一些已經被分類的樣本集進行訓練,訓練結果是一個分類模型可用于未分類文檔的分類。其他的學習方法包括決策樹,人工神經網絡等等。
3.2 文檔分類
文檔分類或歸類是在圖書管理科學,信息科學和計算機科學中非常重要的一個研究方向。他的目的是將文檔歸類于一個或多個類別中以使得相似的文檔在一起。文檔分類可以人工或使用計算機完成。使用計算機完成的分類多數在機器計算的幫助下用于信息及計算機科學領域。可以分類的文件包括文本,圖片,音樂等等。每一種形式的文件都有他們特別的分類問題。
自然語言處理是要進行分類前必須解決的主要問題。執行自動分類的電子計算機必須理解文檔內容,這些文檔是由非結構化的自然語言組成,比如英語而不是機器語言。機器必須能翻譯文檔的自然語言并且提取出能反映文檔,分類的有意義信息,并且使用他們進行有效的文本分類。最直接的策略就是分詞。一個完整的文檔可以被分解成一串單獨的詞組。每個文檔則可以由這些詞組中最常出現的子集代表。因此一個文檔就會被看作一些次的集合,在這種情況下語法和語義信息是不需要的。在此前提下,要進行分類,最重要的一步是找到一個合適的方法用這些詞的集合來表示一篇文檔。為了避免無意義詞的影響可以首先移除詞組集合中的“停詞”比如“a”,“and”,“but”等等,這些“停詞”并不能傳遞任何和主題有關的信息。然后使用空間向量模型如下:endprint
假設t1,t2…tn代表描述文檔的獨立詞組D1,D2…Dm代表文檔。Di可被向量空間模型表示如下:Di=(ai1,ai2,…,ain)T
aij是詞組 tj在文檔Di 中的權重。aij c可以簡單的是詞組tj在文檔 Di中出現的次數或一些更復雜的計算例如tf-idf,它結合了詞組頻率及文檔反向頻率,Tf-idf在充分考慮詞組頻率的同時避免了一些普通詞組的影響,這些普通詞組可能出現在大多數文檔中,因此可以被當作噪點處理。
3.3 無監督的文檔分類
文檔人工歸類是一個非常耗時和枯燥的工作,有時人工分類基于個人的主觀判斷并不是很好控制,因此無監督的分類是一個非常好的選擇。對于無監督的方法來說,輸入只是一些需要被分類的文檔。假設研究人員對這些文檔一無所知。文檔的聚類就是將這些文檔分發進不同的組中。同一組的分檔將比不同組的更像彼此。因此聚類可以說是無監督學習方法中最重要的一種。聚類的輸出是一組有結構的未標記的數據組,每個組中有一些文檔,這個生成的結構可被看作機器生成的數據存儲結構。
4 K-means 算法
在傳統的無監督分類過程中會在整個集合中運行實際的聚類方法例如k-means。在聚類中最常用的相似判斷規則是兩個文檔空間向量的距離。屬于一個聚類簇中的文檔必須足夠“接近”,這個閾值需提前設定。K-means算法迭代運行直到聚類簇不再改變。此時,穩定的聚類簇被當作一個集合。
K-means 算法:
(1)選擇正整數 k 作為分類類別個數;
(2)選擇K個隨機對象作為簇初始中心;
(3)重復;
1.將任意一個對象分發到距離最近的簇中。
2.計算新生成簇的中心。
(4)直到。
1.簇的中心不再改變或者。
2.所有的對象不再移動。
將文件轉化成向量之后,距離計算可以使用例如歐氏距離這樣的方法來計算文件之間的“相似性”。
監督學習算法——當數據量不斷增大時,如果使用傳統非監督型學習方法,當加入新的數據時,所有的程序將重新執行一遍而產生一個全新的數據存儲結構。這非常耗時耗力,并且不斷改變的數據結構將使查詢者陷入困惑。監督型學習方法是一個通過提前人工分類的訓練集生成分類器的重要分類方法。分類器可以對全新的,未分類的數據盡心分類。
Boosting分類算法是綜合幾個簡單并且并不準確的分類器從而得到高準確性單一分類器的方法。這個單一分類器開始時并不是很準確但是持續的被訓練。為了訓練每個簡單分類器,boosting算法通過訓練集為每一個分類樣本存儲一個權重。每次分類錯誤的樣本將增加權重以使得下一個分類器能更關注于這些曾經分類錯誤的樣本從而提高分類準確性。下圖展示了Adaboost算法找到一系列弱分類器并且給樣本增加權重使得被錯誤分類的樣本得到進一步重視的整個過程。
半監督學習方法——是一種使用少量的已分類數據生成分類器并通過它對一些未分類數據進行分類,之后將此數據加入訓練集進一步訓練分類器的方法。例如,分析關于大學課程的文檔,在已經分類到大學課程這一類的文檔中我們發現當文檔中含有“作業”這個關鍵詞的時候,此文檔很有可能是大學課程相關文檔。假使我們接受這一條件,并且使用它來分析未分類的文檔,“課程”這一次也頻繁出現,因此可以用于提高分類的準確性。
基于條件的分類——在一些情況下,有些詞含有很特殊的信息但是可能出現頻率很低,這些詞需要加倍重視,因為他們在分類中起很重要的作用,基于條件分類能充分利用這些詞的特點并且建立一個性能很高的分類器。
三種分類器方法:
(1)聚類和半監督學習方法的結合:當我們對文檔集合一無所知時可以先使用聚類快速生成一個文檔結構,當聚類簇足夠大時我們可以將聚類簇標記為新的類。標記完所有文檔和聚類簇之后,已經標記的文檔可作為半監督學習方法的輸入,輸出的分類器和還未標記的文檔可以遞歸運行半監督學習方法,直到生成一個穩定的分類器。
(2)監督學習方法/半監督學習方法和人工校驗的結合:進行完分類之后,當一個文件被判定為與已標記的類吻合度很低而與其他某個未標記類吻合度很高時,有經驗的分類人員將介入人工分類,當此文檔被判定為噪音時可以刪除,直到所有文檔都符合已標記的類時,生成的分類器將用于之后的分類。
(3)基于條件的分類算法:如以上,增加條件分類特性,分類器的性能有時能有明顯的提高
5 結論
在(1)中聚類結束后很難將聚類簇與給定的文件系統結構一一對應,(2)中準確性與用戶提供的數據好壞有很大關系,人工進行校驗非常耗時耗力。而當增加了(3)條件之后,分類準確度有了顯著提升,并且對于專業人員來說,編寫分類條件并不是很難。
作者簡介
劉博斐(1989-),德國漢諾威大學通訊工程專業,碩士研究生,從事信息系統總體設計、新型智慧城市建設等領域。
雒琛(1989-),德國漢諾威大學計算機專業,碩士研究生,從事大數據分析應用、軟件系統開發等工作。
作者單位
1.中電科新型智慧城市研究院有限公司 廣東省深圳市 518000
2.德國SAP公司(深圳) 廣東省深圳市 518000endprint