陳國(guó) 彭偉軍 付兵蘭 鐘祥永
一、引言
在信息技術(shù)快速發(fā)展的當(dāng)下,許多企業(yè)為提高效率而加快促進(jìn)自身數(shù)字化轉(zhuǎn)型,知識(shí)圖譜與RPA技術(shù)在數(shù)字化轉(zhuǎn)型過(guò)程中扮演了重要角色。
RPA即機(jī)器人流程自動(dòng)化,通過(guò)界面識(shí)別和系統(tǒng)指令來(lái)實(shí)現(xiàn)對(duì)軟件系統(tǒng)的非侵入式操作,能夠替代人工處理重復(fù)度高的工作,達(dá)到“IT換人,降本增效”的目的。
知識(shí)圖譜是一個(gè)結(jié)構(gòu)化的語(yǔ)義網(wǎng)絡(luò),通過(guò)相互連接的節(jié)點(diǎn)來(lái)表示知識(shí),目前已廣泛應(yīng)用于搜索引擎、智能問(wèn)答以及智能推薦等領(lǐng)域。
RPA發(fā)展至今已經(jīng)融合了多種技術(shù),近幾年,業(yè)界更是提出了“超自動(dòng)化”的概念,即:以流程自動(dòng)化為核心,融合人工智能(AI)、大數(shù)據(jù)挖掘等最新技術(shù),實(shí)現(xiàn)更加智能的自動(dòng)化和更加高級(jí)的分析與挖掘。然而,知識(shí)圖譜在RPA領(lǐng)域的應(yīng)用較為有限,這是由于RPA具有應(yīng)用范圍廣、業(yè)務(wù)場(chǎng)景復(fù)雜等特點(diǎn),使得知識(shí)圖譜的搭建和知識(shí)獲取存在一定的難度。但是,知識(shí)圖譜技術(shù)對(duì)未來(lái)RPA認(rèn)知智能的發(fā)展至關(guān)重要,是實(shí)現(xiàn)“數(shù)智員工”的基礎(chǔ)。因此,構(gòu)建RPA領(lǐng)域圖譜勢(shì)在必行。
中國(guó)移動(dòng)在磐匠RPA平臺(tái)的基礎(chǔ)上,對(duì)PRA領(lǐng)域圖譜的搭建做出了有效探索。采用自底向上的構(gòu)建方法搭建了RPA領(lǐng)域圖譜,采用神經(jīng)網(wǎng)絡(luò)模型和知識(shí)推理方法,實(shí)現(xiàn)了流程智能推薦與生成,采用TextCNN、Bilstm-CRF和模板匹配技術(shù),實(shí)現(xiàn)了IPA平臺(tái)使用助手。知識(shí)圖譜在RPA領(lǐng)域的應(yīng)用極大地提高了RPA流程開(kāi)發(fā)人員的工作效率,推動(dòng)了知識(shí)圖譜在RPA領(lǐng)域的深度融合,具有一定的借鑒作用。
二、RPA領(lǐng)域圖譜搭建
(一)功能架構(gòu)設(shè)計(jì)
如圖1所示,為RPA領(lǐng)域圖譜功能架構(gòu)圖,采用自底向上的構(gòu)建方法,分為數(shù)據(jù)采集模塊、知識(shí)抽取模塊、知識(shí)融合模塊、數(shù)據(jù)存儲(chǔ)模塊和圖譜構(gòu)建模塊。
1.數(shù)據(jù)采集
數(shù)據(jù)采集模塊實(shí)現(xiàn)了對(duì)RPA多元異構(gòu)數(shù)據(jù)的采集,包括結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。其中結(jié)構(gòu)化數(shù)據(jù)包括控制中心、能力中心和運(yùn)營(yíng)中心等八大中心數(shù)據(jù)庫(kù)數(shù)據(jù),半結(jié)構(gòu)化數(shù)據(jù)為RPA流程和項(xiàng)目信息,非結(jié)構(gòu)化數(shù)據(jù)包括后臺(tái)日志、作業(yè)日志和流程執(zhí)行錄屏文件。
數(shù)據(jù)采集模塊主要包含采集模板、采集任務(wù)和采集結(jié)果三個(gè)功能。采集模板和采集任務(wù)配置執(zhí)行后可以生成采集結(jié)果,這個(gè)采集結(jié)果被稱(chēng)為數(shù)據(jù)源。數(shù)據(jù)采集模塊采集的數(shù)據(jù)將由數(shù)據(jù)存儲(chǔ)模塊進(jìn)行存儲(chǔ),同時(shí)也將進(jìn)入知識(shí)抽取模塊進(jìn)行下一步處理。
2.知識(shí)抽取
知識(shí)抽取模塊負(fù)責(zé)將采集的數(shù)據(jù)轉(zhuǎn)換成三元組格式的知識(shí)數(shù)據(jù),包含抽取模板、抽取任務(wù)、抽取結(jié)果和規(guī)則模型四個(gè)功能。抽取模板需要將數(shù)據(jù)采集模塊中的采集結(jié)果作為配置項(xiàng),隨后選擇抽取類(lèi)別(圖映射、D2R轉(zhuǎn)換、包裝器、信息抽取)。當(dāng)選擇了信息抽取時(shí),可以選用規(guī)則模型中項(xiàng)目進(jìn)行配置使用。
知識(shí)抽取得到的規(guī)格化知識(shí)并不是直接放入到知識(shí)圖譜中,需要通過(guò)知識(shí)融合模塊進(jìn)行指代消解、實(shí)體統(tǒng)一、實(shí)體消歧以及質(zhì)量評(píng)估。
3.知識(shí)融合
知識(shí)融合模塊負(fù)責(zé)對(duì)規(guī)格化知識(shí)進(jìn)行進(jìn)一步處理,使知識(shí)的質(zhì)量符合使用要求。知識(shí)融合模塊包含融合模板、融合任務(wù)、質(zhì)量評(píng)估和規(guī)則模型四個(gè)功能。融合模板既可以選擇知識(shí)抽取模塊的抽取結(jié)果作為輸入數(shù)據(jù),也可以選擇來(lái)自圖譜構(gòu)建模塊中抽出的子圖作為輸入數(shù)據(jù)。選擇好輸入數(shù)據(jù)后,可以選擇指代消解、實(shí)體統(tǒng)一、實(shí)體消歧三個(gè)分類(lèi)中的算法模型。算法模型均可以通過(guò)規(guī)則模型功能進(jìn)行配置,最后通過(guò)質(zhì)量評(píng)估功能評(píng)估抽取結(jié)果。
4.數(shù)據(jù)存儲(chǔ)
數(shù)據(jù)存儲(chǔ)模塊負(fù)責(zé)系統(tǒng)所有數(shù)據(jù)的存儲(chǔ)功能,包括原始數(shù)據(jù)存儲(chǔ)和知識(shí)圖譜存儲(chǔ)。原始數(shù)據(jù)存儲(chǔ)功能負(fù)責(zé)存儲(chǔ)采集的原始數(shù)據(jù)、系統(tǒng)平臺(tái)的應(yīng)用數(shù)據(jù)、算法模型數(shù)據(jù)。
5.圖譜構(gòu)建
知識(shí)圖譜構(gòu)建模塊包括圖譜管理、子圖生成和知識(shí)推理三個(gè)功能。圖譜管理包括知識(shí)的增刪改查等一系列交互工具,子圖生成則實(shí)現(xiàn)了多租戶(hù)管理,每個(gè)用戶(hù)能夠從知識(shí)圖譜中抽取子圖,并構(gòu)建個(gè)人圖譜。知識(shí)推理采用內(nèi)置推理引擎,可以依照用戶(hù)給定推理規(guī)則進(jìn)行知識(shí)推理。
(二)技術(shù)架構(gòu)設(shè)計(jì)
如圖2所示,為RPA領(lǐng)域圖譜技術(shù)架構(gòu)圖,整個(gè)系統(tǒng)在技術(shù)上分為5層:數(shù)據(jù)存儲(chǔ)、基礎(chǔ)服務(wù)、數(shù)據(jù)治理、Web、數(shù)據(jù)服務(wù)。并在外部對(duì)接公司AI中臺(tái),進(jìn)行模型訓(xùn)練與AI計(jì)算。
1.數(shù)據(jù)存儲(chǔ)層
MongoDB是一個(gè)文檔型數(shù)據(jù)庫(kù),最大特點(diǎn)是不需要保證表結(jié)構(gòu)的一致性,對(duì)于功能架構(gòu)中所述各類(lèi)模板涉及的異構(gòu)參數(shù)配置問(wèn)題,具有良好的兼容性,因此采用MongoDB進(jìn)行業(yè)務(wù)數(shù)據(jù)存儲(chǔ)。FastDFS是一個(gè)開(kāi)源的輕量級(jí)分布式文件系統(tǒng),對(duì)于RPA中視頻、日志、流程等數(shù)據(jù)都能進(jìn)行存儲(chǔ),解決了大容量存儲(chǔ)和負(fù)載均衡問(wèn)題,故選用FastDFS對(duì)采集的數(shù)據(jù)源進(jìn)行文件存儲(chǔ)。Cassandra是一套開(kāi)源分布式NoSQL數(shù)據(jù)庫(kù)文件系統(tǒng),選擇它作為知識(shí)圖譜的存儲(chǔ)數(shù)據(jù)庫(kù)是因?yàn)樗С諮anusGraph。
2.基礎(chǔ)服務(wù)層
基礎(chǔ)服務(wù)層實(shí)現(xiàn)了主要的業(yè)務(wù)邏輯,包括任務(wù)調(diào)度、數(shù)據(jù)管控和知識(shí)圖譜管理。采用Spring框架進(jìn)行開(kāi)發(fā),集成Quartz任務(wù)調(diào)度組件,方便對(duì)采集任務(wù)、抽取任務(wù)進(jìn)行任務(wù)調(diào)度,并基于Java實(shí)現(xiàn)數(shù)據(jù)管控邏輯和權(quán)限控制?;贘anusGraph圖數(shù)據(jù)庫(kù)實(shí)現(xiàn)千億級(jí)知識(shí)節(jié)點(diǎn)存儲(chǔ)、管理和查詢(xún),符合RPA領(lǐng)域圖譜的使用需求。
3.數(shù)據(jù)治理層
知識(shí)抽取能夠從磐匠RPA平臺(tái)的業(yè)務(wù)流程、能力中心、控制中心中抽取有用知識(shí)。對(duì)于鏈接數(shù)據(jù)采用圖映射技術(shù)進(jìn)行轉(zhuǎn)換,對(duì)于數(shù)據(jù)庫(kù)中的結(jié)構(gòu)化數(shù)據(jù)采用D2R轉(zhuǎn)換工具進(jìn)行轉(zhuǎn)換,業(yè)界采用較多的是D2RQ。對(duì)于表格、列表、JSON、XML等半結(jié)構(gòu)化數(shù)據(jù),則采用包裝器技術(shù)進(jìn)行信息抽取。對(duì)于純文本、視頻等非結(jié)構(gòu)化數(shù)據(jù),采用規(guī)則和模型方式進(jìn)行信息抽取,分為實(shí)體抽取、關(guān)系抽取、屬性抽取,需要根據(jù)不同的場(chǎng)景和領(lǐng)域選用不同的規(guī)則和模型。
在RPA領(lǐng)域中,基于規(guī)則和詞典的抽取方法得到了應(yīng)用,通過(guò)自定義詞典和詞性能夠識(shí)別出特定實(shí)體,如組件名稱(chēng)、組件類(lèi)型、執(zhí)行結(jié)果等等,通過(guò)Jieba+Refo工具結(jié)合,實(shí)現(xiàn)了依照給定規(guī)則提取實(shí)體,缺點(diǎn)是需要依靠大量的規(guī)則和模板,覆蓋范圍有限,很難適應(yīng)數(shù)據(jù)變化?;诮y(tǒng)計(jì)機(jī)器學(xué)習(xí)的方法也被用于RPA作業(yè)日志的分析中,采用了Bilstm-CRF進(jìn)行日志數(shù)據(jù)的實(shí)體識(shí)別與提取,提取效果良好,但是受到訓(xùn)練集合限制,存在無(wú)法覆蓋特定數(shù)據(jù)導(dǎo)致識(shí)別錯(cuò)誤的情況。
4.數(shù)據(jù)服務(wù)層
數(shù)據(jù)服務(wù)層是對(duì)接外部系統(tǒng)的一層,采用Java進(jìn)行開(kāi)發(fā),通過(guò)RestAPI實(shí)現(xiàn)與外部系統(tǒng)的對(duì)接,實(shí)現(xiàn)知識(shí)圖譜能力的輸出。
5.Web層
前端采用HTML、JQuery、Echart等技術(shù),采用前后端分離的架構(gòu)進(jìn)行開(kāi)發(fā)。
三、RPA領(lǐng)域圖譜智能化應(yīng)用
(一)流程智能推薦與生成
RPA領(lǐng)域圖譜能夠收集流程知識(shí)和業(yè)務(wù)知識(shí)并轉(zhuǎn)化為相關(guān)聯(lián)的三元組。如圖3所示,為一個(gè)登錄業(yè)務(wù)三元組與登錄流程三元組的關(guān)聯(lián)關(guān)系,各節(jié)點(diǎn)之間通過(guò)特定的屬性相互聯(lián)系,方便進(jìn)行節(jié)點(diǎn)搜索和規(guī)則推理。
采用TextCNN神經(jīng)網(wǎng)絡(luò)模型和Jena推理引擎實(shí)現(xiàn)流程智能推薦與生成。具體實(shí)現(xiàn)流程如圖4所示,用戶(hù)將業(yè)務(wù)需求輸入到系統(tǒng)中,通過(guò)TextCNN神經(jīng)網(wǎng)絡(luò)進(jìn)行意圖識(shí)別得到業(yè)務(wù)意圖,將業(yè)務(wù)意圖輸入到知識(shí)圖譜中進(jìn)行圖遍歷得到相關(guān)聯(lián)的業(yè)務(wù)流程,另一方面根據(jù)業(yè)務(wù)意圖進(jìn)行推理規(guī)則生成得到推理規(guī)則,將關(guān)聯(lián)業(yè)務(wù)流程和推理規(guī)則結(jié)合進(jìn)行推理,從而得到最終流程。最終生成的流程可能是知識(shí)圖譜中已經(jīng)存在的符合用戶(hù)需求的流程,也可能是通過(guò)推理規(guī)則將各個(gè)子流程關(guān)聯(lián)組合而成的新流程。
實(shí)驗(yàn)結(jié)果顯示,所設(shè)計(jì)應(yīng)用能夠解析用戶(hù)需求,并根據(jù)知識(shí)圖譜中現(xiàn)有流程進(jìn)行推薦,能夠推理規(guī)則進(jìn)行流程重組,達(dá)到生成新流程的目的,但所生成流程還需要用戶(hù)手動(dòng)調(diào)整才能運(yùn)行。
(二)磐匠平臺(tái)使用助手
磐匠平臺(tái)使用助手的功能在于協(xié)助用戶(hù)更好的使用CM-IPA產(chǎn)品,包括使用幫助、問(wèn)題解決、流程示例等等。為此,IPA平臺(tái)使用助手需要從運(yùn)營(yíng)中心收集各類(lèi)工單數(shù)據(jù)和解決方案,基于智能問(wèn)答的形式為用戶(hù)提供服務(wù)。
在IPA領(lǐng)域圖譜的基礎(chǔ)上,融合自然語(yǔ)言處理技術(shù),實(shí)現(xiàn)RPA知識(shí)智能問(wèn)答,相關(guān)偽代碼如下:
User_Req=Input();
User_Intention=TextCNN(User_Req);
Req_Entity=BilstmCRF(User_Req)
Swich User_Intention:
Case 1:
SQL_Template=Create_SQL_Template(1, Req_Entity);
Case 2:
SQL_Template =Create_SQL_Template(2, Req_Entity);
…
Result=KG_Query(SQL_Template)
User_Result=SQL_Template.Fuse(Result)
首先獲取用戶(hù)輸入的問(wèn)題,并將問(wèn)題輸入到TextCNN神經(jīng)網(wǎng)絡(luò)中獲取用戶(hù)意圖,輸入到Bilstm-CRF模型中得到實(shí)體數(shù)據(jù),根據(jù)用戶(hù)意圖,選擇不同的規(guī)則模板,輸入實(shí)體數(shù)據(jù)得到具體的查詢(xún)模板。然后將查詢(xún)模板輸入到知識(shí)圖譜中得到結(jié)果數(shù)據(jù),將結(jié)果數(shù)據(jù)融合進(jìn)查詢(xún)模板中,得到最終的問(wèn)題答案。Bilstm-CRF模型被用于實(shí)體提取,采用BIO標(biāo)注法進(jìn)行數(shù)據(jù)集標(biāo)注。
實(shí)驗(yàn)結(jié)果顯示,TextCNN對(duì)用戶(hù)意圖的識(shí)別得到較好的效果,但對(duì)于一些沒(méi)有見(jiàn)過(guò)的數(shù)據(jù)表現(xiàn)一般,因此需要增大訓(xùn)練集,調(diào)整參數(shù),提高神經(jīng)網(wǎng)絡(luò)的泛化能力。Bilstm-CRF召回率和f1得分有99%,但是針對(duì)大型數(shù)據(jù)集時(shí),召回率和f1得分會(huì)有所下降,因此對(duì)于復(fù)雜的數(shù)據(jù)還需對(duì)此模型進(jìn)行進(jìn)一步強(qiáng)化。整個(gè)應(yīng)用對(duì)于問(wèn)題模板中涉及的問(wèn)題都能有效識(shí)別和生成答案。
四、結(jié)束語(yǔ)
本文提出了在磐匠RPA平臺(tái)基礎(chǔ)上進(jìn)行RPA領(lǐng)域圖譜搭建的方法,該方法針對(duì)RPA領(lǐng)域應(yīng)用范圍廣、業(yè)務(wù)場(chǎng)景復(fù)雜、數(shù)據(jù)異構(gòu)等特點(diǎn)形成了有效解決方案,實(shí)現(xiàn)了RPA領(lǐng)域知識(shí)收集和管理?;赗PA領(lǐng)域圖譜,采用神經(jīng)網(wǎng)絡(luò)模型和知識(shí)推理方法,實(shí)現(xiàn)了流程智能推薦與生成,幫助RPA用戶(hù)快速獲得所需流程;采用TextCNN、Bilstm-CRF和模板匹配技術(shù),實(shí)現(xiàn)了IPA平臺(tái)使用助手,幫助RPA流程開(kāi)發(fā)人員提高工作效率。
知識(shí)圖譜在RPA領(lǐng)域在未來(lái)會(huì)有更廣泛的應(yīng)用,其可以作為知識(shí)后臺(tái)為RPA平臺(tái)提供認(rèn)知智能,包括:提供智能決策,幫助RPA應(yīng)用處理各類(lèi)突發(fā)情況;提供智能診斷,幫助RPA平臺(tái)進(jìn)行故障定位;提供智能協(xié)同,幫助IPA平臺(tái)處理分布式計(jì)算、彈性計(jì)算等復(fù)雜場(chǎng)景。
作者單位:陳國(guó)? ? 彭偉軍? ? 付兵蘭? ? 鐘祥永? ? 中國(guó)移動(dòng)信息技術(shù)中心