國網(wǎng)安徽省電力有限公司 李傳昌
機器人流程自動化(RPA),是一套通過模擬人工操作進(jìn)行自動流程執(zhí)行處理的軟件。RPA可以代替辦公人員操作電腦和軟件,自動完成各類軟件系統(tǒng)的工作和業(yè)務(wù)處理,準(zhǔn)確高效地實現(xiàn)業(yè)務(wù)流程自動化,將辦公人員從每日的重復(fù)工作中解放出來,提高生產(chǎn)效率,切實減少基層負(fù)擔(dān),從而讓管理更有體系,進(jìn)一步提升管理效率,激發(fā)員工創(chuàng)新活力。
近年來,安徽公司積極探索“大云物移智”等信息技術(shù),結(jié)合實際業(yè)務(wù),創(chuàng)新開發(fā)了一批行之有效的信息化應(yīng)用成果,有效助力現(xiàn)場精準(zhǔn)管控,服務(wù)電網(wǎng)工程建設(shè)管理。隨著“三集五大”體系建設(shè)的不斷深化,公司基層員工的負(fù)擔(dān)不斷加大,亟需建設(shè)一個機器人流程自動化系統(tǒng)以將辦公人員從每日的重復(fù)工作中解放出來,提高生產(chǎn)效率。
一套完整的RPA主要包括四大功能模塊,分別為管理控制臺(WEB管理端)、應(yīng)用編輯器(面向應(yīng)用開發(fā)者的客戶端)、人工智能(AI服務(wù)端)和機器人(面向用戶的客戶端)模塊。各模塊之間的功能邏輯為:應(yīng)用開發(fā)者通過應(yīng)用編輯器開發(fā)、發(fā)布應(yīng)用到WEB管理端;用戶先在自己個人PC上安裝機器人模塊并運行軟件,再從WEB管理端以新建定時任務(wù)的方式實現(xiàn)定時調(diào)度機器人來運行指定的應(yīng)用,從而實現(xiàn)流程自動化;若需要人工智能(AI)進(jìn)行識別處理,由應(yīng)用開發(fā)者在必要處調(diào)用AI服務(wù)端接口,實現(xiàn)結(jié)合AI識別的流程自動化。
應(yīng)用中心:管理通過編輯器發(fā)布的應(yīng)用;
任務(wù)管理:通過新建任務(wù)實現(xiàn)定時調(diào)度機器人來執(zhí)行發(fā)布的應(yīng)用;
機器人監(jiān)控:管理機器人客戶端信息,包括機器人客戶端標(biāo)識、在線狀態(tài)等
日志管理:管理操作審計日志及定時任務(wù)調(diào)度機器人執(zhí)行結(jié)果日志。
資產(chǎn)管理:對企業(yè)賬號密碼等敏感數(shù)據(jù)進(jìn)行變量化的設(shè)置。通過在控制臺設(shè)置為變量,方便流程開發(fā)時調(diào)用,同時滿足安保對于賬號等敏感信息的要求。變量的存儲都是采用密文,只有具備權(quán)限的賬號才能查看。
系統(tǒng)管理:提供組織機構(gòu)、成員、角色權(quán)限等管理功能。
通過應(yīng)用編輯器可快速開發(fā)自動化應(yīng)用,以拖拽可視化組件的方式實現(xiàn)流程的自動化辦理功能,整個過程零編碼。
組件包括:
網(wǎng)頁:包括打開、跳轉(zhuǎn)、滾動頁面、關(guān)閉網(wǎng)頁、獲取文本、獲取網(wǎng)頁元素的HTML代碼、上傳文件、下載文件和OCR方式點擊等功能;
窗口:包括獲取窗口、激活窗口、關(guān)閉窗口、隱藏窗口、最大化窗口、最小化窗口、OCR方式點擊等功能;
鼠標(biāo)鍵盤:支持輸入熱鍵功能;
EXCEL組件:包括啟動保存、關(guān)閉、創(chuàng)建、重命名Sheet、獲取單元格值、獲取區(qū)域值、獲取行值、獲取列值和查找單元格等功能;
循環(huán)和判斷組件:包括按照次數(shù)循環(huán)、條件循環(huán)、循環(huán)相似控件、循環(huán)列表內(nèi)容、繼續(xù)循環(huán)、退出循環(huán)、條件分支、捕獲異常和重試等功能;
流程組件:支持獲取工程參數(shù)信息;
編程組件:包括設(shè)置變量值、讀取資產(chǎn)變量值、延遲執(zhí)行、調(diào)用自定義腳本、記錄日志等功能;
數(shù)據(jù)處理組件:包括字符串操作、數(shù)學(xué)運算、列表操作、字典操作等功能;
系統(tǒng)組件:包括運行程序、關(guān)閉進(jìn)程、設(shè)置剪貼板內(nèi)容、獲取剪貼板內(nèi)容、獲取當(dāng)前時間和日期等功能。
通過在編輯器中拖拽組件,以可視化的方式編輯組件實現(xiàn)自動化功能,應(yīng)用開發(fā)即為可視化的自動化流程開發(fā),整個過程零編碼。
對開發(fā)的應(yīng)用進(jìn)行調(diào)試,可快速觀看應(yīng)用執(zhí)行全過程是否存在異常,如存在則拋出異常,便于開發(fā)者針對異常進(jìn)行修改。
應(yīng)用開發(fā)調(diào)試通過后,發(fā)布應(yīng)用到管理控制臺,供用戶機器人客戶端調(diào)用來完成用戶的自動化流程工作。
(1)OCR能力模塊
OCR能力模塊提供方便結(jié)合具體業(yè)務(wù)調(diào)用的卡證識別功能,包括:
文字識別;
文字發(fā)票識別;
機動車統(tǒng)一發(fā)票識別;
火車票識別;
身份證識別;
營業(yè)執(zhí)照識別;
房產(chǎn)證識別;
銀行卡識別;
駕駛證識別;
行駛證識別;
護(hù)照識別;
不動產(chǎn)證識別;
食品經(jīng)營許可證識別;
銀行開戶許可證識別;
表格識別。
(2)人工智能(AI)自學(xué)習(xí)模塊
當(dāng)需要對OCR能力模塊中沒有提供的場景進(jìn)行圖片文字識別時,可通過簡單的頁面操作,快速訓(xùn)練專用的圖片文字識別(OCR)功能。
(3)模板配置
通過對一張具有代表性的圖片進(jìn)行key/value的規(guī)則屬性配置,形成初始化的模板;作為配置的圖片最好選擇清晰、無遮擋、無
反光的圖片更有利于模板的配置。(4)數(shù)據(jù)集管理
上傳至少30張同類圖片作為訓(xùn)練集,至少10張圖片進(jìn)行測試集。上傳圖片后,分別對上傳的圖片進(jìn)行標(biāo)注,通過標(biāo)注訓(xùn)練圖集上的value值,形成一批可用的訓(xùn)練數(shù)據(jù)。這些已標(biāo)注好的數(shù)據(jù)會按比例分成訓(xùn)練數(shù)據(jù)和評測數(shù)據(jù)。
(5)模板訓(xùn)練
基于深度學(xué)習(xí)算法進(jìn)行的機器自學(xué)習(xí)過程,系統(tǒng)會根據(jù)標(biāo)注數(shù)據(jù)自動強化模板的識別率,提高模板的容錯性。訓(xùn)練集的數(shù)據(jù)越多對模板訓(xùn)練的效果就越佳。訓(xùn)練是個反復(fù)的過程,可以分多個批次進(jìn)行訓(xùn)練,每個批次建議上傳更多的圖片進(jìn)行標(biāo)注以達(dá)到自學(xué)習(xí)的目的。
(6)模板評測與發(fā)布
模板評測是用于對經(jīng)過訓(xùn)練的模板進(jìn)行效果評測打分。在每個訓(xùn)練批次中可實時查看效果評估對比。評測指標(biāo)分為OCR識別率和KV字段識別率,OCR識別率是文字本身的識別效果,KV字段識別率是指模板在評測過程中所有字段的平均識別結(jié)果。通常情況下,KV字段識別率/OCR字段識別率>90%,是較為可用的狀態(tài),用戶也可根據(jù)自己的標(biāo)準(zhǔn)進(jìn)行效果評估。根據(jù)評測結(jié)果,用戶可以選擇最為理想的訓(xùn)練版本作為發(fā)布版本,并發(fā)布上線。發(fā)布成功后即可獲得模板ID,在RPA的編輯器中,可通過模板ID進(jìn)行圖片信息的結(jié)構(gòu)化識別。
(7)NLP
自然語言處理包括分詞、詞性標(biāo)注、命名實體、情感分析、中心詞提取、智能文本分類、文本信息抽取等。
(8)其它識別
提供將語音識別為文字及提取文字功能。
識別視頻流文件,如施工時現(xiàn)場視頻中的安全帽識別。提供識別結(jié)果提取功能。
機器人的主要功能是執(zhí)行任務(wù),機器人可以執(zhí)行手動觸發(fā)、定時觸發(fā)的任務(wù):
人工手動觸發(fā):手動執(zhí)行開發(fā)好的應(yīng)用程序。在一個企業(yè)里,開發(fā)人員開發(fā)好的應(yīng)用可以發(fā)布到應(yīng)用中心里,其他人就可以通過機器人去獲取這個應(yīng)用,通過審批之后就可以運行這個應(yīng)用,并且支持多人在自己電腦上同時使用,互不影響。
定時自動觸發(fā):定時執(zhí)行開發(fā)好的應(yīng)用程序。在一個企業(yè)里,開發(fā)人員開發(fā)好的應(yīng)用可以發(fā)布到應(yīng)用中心里,其他人在控制臺就可以獲取這個應(yīng)用,通過審批之后設(shè)置定時任務(wù)去執(zhí)行這個應(yīng)用。
圖1 系統(tǒng)總體架構(gòu)圖
在J2EE技術(shù)體系,可采用MVC應(yīng)用框架,由界面控制器組件、界面操作組件、JSP網(wǎng)頁組件和服務(wù)代理單元組成。其中界面的顯示由JSP網(wǎng)頁組件完成,網(wǎng)頁上的具體操作由界面操作組件通過服務(wù)代理單元調(diào)用業(yè)務(wù)邏輯層的具體服務(wù)來完成,由界面控制器組件負(fù)責(zé)統(tǒng)一調(diào)用不同的界面操作組件、JSP網(wǎng)頁組件,從而完成RPA流程在IDE中的設(shè)計工作。
中控層構(gòu)建于JAVA企業(yè)版平臺之上,借助于SG-UAP平臺將表現(xiàn)邏輯、業(yè)務(wù)邏輯與數(shù)據(jù)邏輯分離,進(jìn)行基于構(gòu)件的開發(fā)。SG-UAP工作流平臺,通過流程驅(qū)動技術(shù)實現(xiàn)了業(yè)務(wù)流程過程的標(biāo)準(zhǔn)化管理,包括圖形化工具建模、快捷的流程定義、動態(tài)的流程重組、靈活流程控制、完善的流程審核以及統(tǒng)一的任務(wù)管理等功能。
中控層把流程任務(wù)數(shù)據(jù)下發(fā)給執(zhí)行層,執(zhí)行層安裝在用戶個人辦公PC上,利用其計算及存儲資源實現(xiàn)指定流程的定時自動化辦理。
總結(jié):通過開展基于RPA的電力業(yè)務(wù)系統(tǒng)自動化處理系統(tǒng)建設(shè),實現(xiàn)了聯(lián)動多個業(yè)務(wù)系統(tǒng),自動執(zhí)行完成工作,自動化地串起一系列操作流程,讓流程再造,并且不會影響現(xiàn)有IT系統(tǒng)的功能與穩(wěn)定性,相較于傳統(tǒng)的增效方式,RPA能最大程度地平衡效率與成本,且投資回報周期較短。它既不像增加人工那樣效率不高且易出錯,也不像傳統(tǒng)模式開發(fā)軟件那樣需要投入較大成本,能夠最大程度地平衡效率與成本。