摘 要:本論文提出了一種基于行為序列對比的需求智能挖掘方法,主要應(yīng)用于RPA、人工智能和界面自動化領(lǐng)域。該方法包括數(shù)據(jù)采集、數(shù)據(jù)處理和數(shù)據(jù)輸出三個模塊,能夠?qū)崿F(xiàn)對用戶操作行為的自動記錄、對行為序列的切分和聚類,以及對公共序列的提取,從而生成需求定義文檔和RPA流程。本方法具有較高的自動化程度和魯棒性,可有效提高需求分析和流程設(shè)計的效率。
關(guān)鍵詞:需求智能挖掘;行為序列對比;需求分析;RPA流程設(shè)計
一、引言
隨著科技的發(fā)展,RPA技術(shù)已經(jīng)在企業(yè)中得到了廣泛應(yīng)用,它可以模擬最終用戶在軟件系統(tǒng)中的操作,實現(xiàn)用戶操作的自動化。
企業(yè)使用RPA技術(shù),可將工作中重復(fù)性高、業(yè)務(wù)邏輯明確的活動提取為RPA流程,從而實現(xiàn)操作的自動化。RPA高準(zhǔn)確率、7*24小時運(yùn)行的特點(diǎn),可助力企業(yè)實現(xiàn)IT換人、降本增效的目的。目前,其已經(jīng)成為大多數(shù)企業(yè)有效推進(jìn)數(shù)字化轉(zhuǎn)型的有效支撐。
然而,在設(shè)計RPA流程前,需要對用戶的工作內(nèi)容進(jìn)行人工需求分析,從工作中篩選出重復(fù)度高且可自動化的RPA流程,隨后根據(jù)其工作內(nèi)容從零開始設(shè)計RPA流程,這是一個復(fù)雜且耗時的過程。與RPA降本增效的目的相違背,因此,需要考慮一種自動實現(xiàn)需求分析并輔助流程設(shè)計的需求挖掘功能,從用戶工作中自動解析、提取具備自動化潛力的流程。
該需求挖掘功能,其應(yīng)該包含數(shù)據(jù)采集、數(shù)據(jù)分析及數(shù)據(jù)輸出三個模塊。數(shù)據(jù)采集模塊,收集用戶在計算機(jī)上的操作日志。用戶通過計算機(jī)進(jìn)行的每一步操作,如敲擊鍵盤和點(diǎn)擊鼠標(biāo),均會產(chǎn)生一條操作日志。每一條日志均代表一個d4afd3610ab0e0a0b8ead8a9f805ac13393a4dceeb4177c977756f5b7ba2089e行為;數(shù)據(jù)分析模塊,針對操作日志進(jìn)行切分,將用戶操作日志切分為多條由多個行為組成的行為序列?;谌斯ぶ悄?機(jī)器學(xué)習(xí)實現(xiàn)行為序列中的行為相似度對比以及公共序列提?。粩?shù)據(jù)輸出模塊:根據(jù)公共序列輸出需求定義文檔以及RPA流程。
現(xiàn)有的需求挖掘技術(shù)或多或少都存在自動化程度低、行為相似度檢測功能魯棒性低、行為序列提取功能魯棒性低等問題。
自動化程度低,是指采集用戶操作數(shù)據(jù)時,往往需要用戶在每次任務(wù)的開始及結(jié)束時手動通知數(shù)據(jù)采集器,以此實現(xiàn)行為序列切分,未實現(xiàn)操作序列的自動化切分;本方案基于時間間隔實現(xiàn)行為序列自動切分,無需人工介入操作,自動化程度高。
關(guān)于行為相似度檢測功能魯棒性低,是指現(xiàn)有技術(shù)僅通過NLP結(jié)果作為行為相似度評判依據(jù),面對不同窗口中的相似元素、同一操作中的不同鍵值輸入情況的處理能力差、誤判率高。本方案通過事件信息、窗口信息以及操作目標(biāo)元素XPath三個維度評判用戶行為的相似度,可適應(yīng)多種情況下的行為相似度對比操作。
關(guān)于行為序列提取功能魯棒性低,是指現(xiàn)有技術(shù)需通過滑動窗口功能實現(xiàn)公共序列提取,該方法要求用戶在進(jìn)行重復(fù)活動時操作完全一致,對冗余操作適應(yīng)能力差,對用戶操作規(guī)范性要求高。本方案基于聚類實現(xiàn)公共序列獲取,對冗余操作適應(yīng)能力強(qiáng),對用戶操作規(guī)范性要求低。
在解決以上問題的基礎(chǔ)上,本論文提出了一種基于行為序列對比的需求智能挖掘方法,可以自動分析用戶操作行為,提取具有高度自動化潛力的重復(fù)性工作,從而生成需求定義文檔和RPA流程。
二、需求智能挖掘的構(gòu)建
(一)多模塊協(xié)同的功能架構(gòu)設(shè)計
需求智能挖掘可劃分為數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)輸出三個模塊,其功能架構(gòu)見圖1。
110數(shù)據(jù)采集模塊:采集用戶操作數(shù)據(jù),基于111應(yīng)用數(shù)據(jù)采集模塊及112鍵盤鼠標(biāo)監(jiān)聽模塊,獲取用戶在計算機(jī)上的各項操作信息。通過111應(yīng)用數(shù)據(jù)采集模塊獲取操作目標(biāo)應(yīng)用中窗口信息及元素信息,112鍵盤鼠標(biāo)監(jiān)聽模塊監(jiān)聽鍵盤鼠標(biāo)事件。
120數(shù)據(jù)處理模塊:接收用戶操作數(shù)據(jù),經(jīng)由121行為序列切分模塊,基于時間間隔對用戶操作數(shù)據(jù)進(jìn)行切分,以輸出多項行為序列,再由122行為序列對比模塊通過聚類將行為序列進(jìn)行分類,隨后通過行為相似度對比提取公共序列。
130數(shù)據(jù)輸出模塊:基于公共序列輸出需求定義文檔及RPA流程。
(二)自上而下的需求智能挖掘
圖2是基于AI的需求智能挖掘方法的流程示意圖。
1.用戶操作數(shù)據(jù)采集
在步驟S201中,數(shù)據(jù)采集模塊將持續(xù)采集用戶與計算機(jī)的交互操作數(shù)據(jù)并生成操作日志。
數(shù)據(jù)采集模塊示意圖如圖3所示。
該模塊由數(shù)據(jù)采集器及元素識別模塊組成。301數(shù)據(jù)采集器通過監(jiān)聽用戶鍵鼠操作信息觸發(fā)行為記錄用戶動作,通過元素識別模塊調(diào)用302瀏覽器插件、303MSHTML組件及304應(yīng)用識別器對操作目標(biāo)進(jìn)行識別。
將操作目標(biāo)劃分為305瀏覽器及306桌面應(yīng)用程序,在用戶進(jìn)行鍵鼠操作時,首先獲取操作窗口信息,判斷目標(biāo)窗口類型。若為目標(biāo)窗口瀏覽器,則可以瀏覽器通信并獲取操作目標(biāo)元素信息,此處以Chrome/FireFox瀏覽器插件、MSHTML方式為例實現(xiàn)通信功能,實際應(yīng)用過程中可以拓展至其他瀏覽器通信方式。通過與瀏覽器通信獲取操作目標(biāo)元素的XPath、JSPath等信息,以此作為目標(biāo)元素標(biāo)識。若為桌面應(yīng)用程序,則可通過應(yīng)用元素識別獲取程序窗口中的目標(biāo)元素信息。
數(shù)據(jù)采集模塊接收到用戶鍵鼠操作時,記錄本次事件類型及事件值,事件類型為鍵盤/鼠標(biāo),事件值為本次操作擊鍵值,例如鼠標(biāo)事件-左擊、鍵盤事件-a等。在實際操作活動中,用戶鍵盤操作有單次按鍵、組合按鍵及連續(xù)按鍵等行為,為提高后期序列提取的準(zhǔn)確率,此處需對鍵盤事件進(jìn)行處理,包括但不限于記錄并整合用戶的組合鍵、連續(xù)鍵盤輸入事件。
通過以上步驟獲取事件時間、事件類型、目標(biāo)窗口信息以及目標(biāo)元素信息,將其作為一個行為日志進(jìn)行存儲。
2.行為序列切分
在步驟S202中,數(shù)據(jù)處理模塊從數(shù)據(jù)采集模塊獲取用戶操作數(shù)據(jù)后,分析各條用戶操作時間,根據(jù)其時間間隔將用戶操作數(shù)據(jù)的多條行為組合為用戶操作行為序列,以此將操作數(shù)據(jù)切分為多個行為序列,每個行為序列即為一項工作的操作流程。
3.行為序列聚類
在步驟S203中,基于步驟S202輸出的行為序列集合進(jìn)行聚類,同類中的行為序列即為相同內(nèi)容的工作任務(wù)??删垲惖墓ぷ魅蝿?wù)即為具有高度自動化潛力的重復(fù)性工作。
聚類作為一種重要的無監(jiān)督學(xué)習(xí)方法,在處理大規(guī)模無標(biāo)記數(shù)據(jù)時被廣泛應(yīng)用。它通過算法將數(shù)據(jù)分成多個簇,其中同一簇中的數(shù)據(jù)具有很高的相似性,而不同簇中的數(shù)據(jù)則盡可能地不同,從而更有效地提取數(shù)據(jù)信息。本論文基于聚類將用戶操作行為序列劃分為若干個序列類,各序列類分別為一項重復(fù)性工作的行為序列集合?;谠摬襟E方法的行為序列聚類實現(xiàn)步驟如下:
(1) 冗余行為處理
用戶進(jìn)行計算機(jī)操作過程中會不可避免地出現(xiàn)冗余操作,該冗余操作與實際工作內(nèi)容雖無關(guān)聯(lián),卻會干擾聚類效果,降低RPA流程挖掘效率,因此,行為序列聚類的第一步,是去除行為序列中的冗余行為。
去除冗余行為的具體方法是,將各行為序列進(jìn)行比對,獲取各行為的出現(xiàn)頻率,將出現(xiàn)頻率低于閾值的行為視作冗余操作,將其從行為序列中刪除。由此可見,閾值的設(shè)定決定了系統(tǒng)對冗余操作的容忍程度,且閾值的判定條件既可為頻率,也可為頻數(shù),該項的設(shè)定參數(shù)可由實際應(yīng)用場景決定,例如,將頻數(shù)閾值設(shè)置為1時,則將僅在單個序列中出現(xiàn)的行為刪除。
(2)行為信息分詞預(yù)處理
行為序列聚類時需對各行為信息進(jìn)行預(yù)處理,其中,對行為窗口信息、元素信息等內(nèi)容需進(jìn)行分詞處理。
分詞是自然語言處理中的關(guān)鍵預(yù)處理步驟,它將文本劃分為更小的語義單元,即詞語,從而便于后續(xù)的分析和應(yīng)用。與英文單詞之間由空格自然分隔不同,中文文本中的詞語之間沒有顯式的分隔,這使得中文分詞的難度更大。
主流的中文分詞算法可以分為兩大類:
一是基于詞典的字符串匹配算法,這種方法依賴于建立一個全面的詞典庫,通過詞典中的詞條來匹配文本字符串。分詞的結(jié)果完全取決于詞典的內(nèi)容。該方法根據(jù)匹配的方向和優(yōu)先級不同,可以分為正向最大匹配法、逆向最大匹配法和雙向匹配法。利用優(yōu)化的存儲數(shù)據(jù)結(jié)構(gòu)和查找算法(如哈希表和索引樹),這類方法可以實現(xiàn)高效的線性時間復(fù)雜度。然而,這種方法對詞典之外的新詞和歧義詞的處理效果不佳。
二是基于統(tǒng)計機(jī)器學(xué)習(xí)的分詞,這類方法包括生成式模型(如隱馬爾可夫模型 HMM)和判別式模型(如條件隨機(jī)場模型 CRF)。與詞典匹配不同,這些方法不直接依賴詞為單位,而是對每個字進(jìn)行標(biāo)注,考慮上下文的關(guān)系,通過對標(biāo)注序列 Y 的聯(lián)合概率(HMM)或條件概率(CRF)建模,預(yù)測觀測序列 X 在標(biāo)注序列 Y 后的出現(xiàn)概率,從而構(gòu)成詞語。這些方法不依賴于詞典,能夠較好地處理新詞和歧義詞的問題。
這里的行為信息分詞可基于以上任意一種方法或二者結(jié)合,以實現(xiàn)精確模式的分詞處理。
(3)基于停用詞的降噪處理
在語言中,一些詞語雖然出現(xiàn)頻率極高,但實際上沒有具體意義,這類詞語被稱為停用詞(stopwords)。為了避免這些詞語干擾后續(xù)的行為文本特征提取,可以利用停用詞表來剔除分詞結(jié)果中的停用詞,可自定義停用詞表,也可使用現(xiàn)有停用詞表,包括但不限于哈工大停用詞表、百度停用詞表等。
(4)基于自定義詞典的高準(zhǔn)確率分詞
不管是標(biāo)準(zhǔn)分詞器、NLP分詞器還是索引分詞器,都不可能每次都能準(zhǔn)確實現(xiàn)目標(biāo)結(jié)果的分詞。當(dāng)前互聯(lián)網(wǎng)下常出現(xiàn)自定義名詞,例如:“證券”“信托”“需求智能挖掘”等,分詞功能對長語句處理準(zhǔn)確率較低。為彌補(bǔ)該缺陷,需利用用戶自定義詞典,以記錄常用詞,從而幫助分詞器基于詞典實現(xiàn)高準(zhǔn)確率分詞。
當(dāng)本論文方法應(yīng)用于企業(yè)自動化流程挖掘時,可針對企業(yè)所處目標(biāo)領(lǐng)域,選擇專業(yè)領(lǐng)域知識詞典用于支持分詞器進(jìn)行細(xì)致分詞,例如,收集金融領(lǐng)域特定專用詞,構(gòu)建金融領(lǐng)域詞典,以此提高本方法在銀行、證券等領(lǐng)域內(nèi)企業(yè)應(yīng)用時,行為序列類別劃分的準(zhǔn)確度。
(5)行為文本特征提取
在行為序列中,窗口信息和元素信息中的文本內(nèi)容不能被計算機(jī)直接識別。因此,uHAGzi5rZLnXqqI7A/gVLA==需要在盡可能保留文本特征的情況下,將這些文本進(jìn)行向量化表示。在自然語言處理中,詞是包含特定含義的基本單元,將詞映射到實數(shù)域的向量中,得到的詞向量是最常用的文本特征表示方法。這種映射方式通常分為兩種:一種是離散式表示,另一種是分布式表示。
①離散式表示
離散表示中的詞特征通?;谠~袋模型(Bag of Words,簡稱BOW)。該模型忽略了文本中的語義、詞序和結(jié)構(gòu)等信息,僅將文本看作一系列構(gòu)成文本的詞形成的無序集合。例如:獨(dú)熱編碼(one-hot encoding) 和 詞頻-逆文檔頻率。
② 分布式表示
詞向量的分布式表示也被稱為詞嵌入,是指詞的語義由其上下文決定。語義相近的詞通常具有相似的向量表示。例如:谷歌開源的直接獲得低維詞向量工具 Word2Vec。
基于上述行為文本特征提取方法,將行為序列轉(zhuǎn)化為對應(yīng)向量,以支持后續(xù)的聚類輸入。
(6)行為序列聚類
常用的聚類算法主要包括三種方法:密度法(Density-based Method),劃分法(Partitioning Method)和層次法(Hierarchical Method)。具體而言,可以采用K-Means聚類算法、分裂層次聚類算法(Divisive Clustering)、凝聚層次聚類算法等。
基于上述方法將行為序列向量集合輸入,基于聚類算法將行為序列集合劃分為多個行為序列類簇,各類簇分別代表一項具備自動化潛力的重復(fù)性工作。
4.公共序列提取
在步驟S204中,將基于S203輸出的多個行為序列類提取出各類重復(fù)性工作的公共序列。在用戶進(jìn)行計算機(jī)操作時會不可避免地出現(xiàn)冗余操作,因此在進(jìn)行同一項工作任務(wù)的過程中必然會存在冗余動作,導(dǎo)致操作步驟存在細(xì)微差異。為保證后期輸出簡潔高效的RPA流程,需要去除冗余操作,獲取可實現(xiàn)目標(biāo)任務(wù)的標(biāo)準(zhǔn)流程。
為實現(xiàn)這一目的,則需分析對比同類行為序列并提取出公共序列。該公共序列為可實現(xiàn)目標(biāo)任務(wù)的最短行為序列。此項工作分為行為一致性判定及行為序列對比兩部分。
(1)行為一致性判定
行為一致性判定是指基于行為事件、目標(biāo)窗口及元素信息三個維度,判斷兩個行為是否一致。
行為事件判斷的原則如下:
② 事件類型不一致,則判定行為不一致;
③ 事件類型一致,如同為鼠標(biāo)事件,但鼠標(biāo)按鍵不一致,則判定行為不一致;
④ 事件類型一致,如同為鍵盤事件,按文本輸入組合、特殊鍵值組合等組合劃分鍵盤鍵值,若不屬同一組合則判定行為不一致。
目標(biāo)窗口判斷條件則直接對操作目標(biāo)窗口信息進(jìn)行判別,若操作目標(biāo)窗口不一致則認(rèn)為行為不一致。
元素信息判斷條件則是通過NLP計算兩個行為目標(biāo)元素的相似度并以此為標(biāo)準(zhǔn)判定用戶行為的一致性。
(2)行為序列對比
行為序列對比是指基于行為一致性判定規(guī)則對比多條行為序列,從中提取公共序列。對比示例圖如圖4所示,基于行為一致性判定規(guī)則,獲取401序列、402序列及403序列中的最長公共子序列,其中,子序列在各原序列中可以不連續(xù),由此得到最長子序列為404,其余行為則可視為冗余行為予以舍棄。
此處僅以三序列的0d151c8c3cf7a05b5c165e577b9cacb7對比作為示例,實際應(yīng)用過程中,可對同類中所有序列進(jìn)行公共序列提取。
通過行為一致性判定及行為序列對比,可輸出同一行為序列類簇中的公共序列,該公共序列可作為此類行為序列的標(biāo)準(zhǔn)流程。對S203聚類輸出的各個類簇均采用上述方法提取公共序列,以此分析用戶所有的業(yè)務(wù)工作流程。
5.需求定義文檔輸出
步驟S205:基于S204輸出的公共序列,根據(jù)各個行為的事件、操作目標(biāo)窗口及元素信息生成需求定義文檔,文檔中寫明具有高度自動化潛力的工作具體步驟及人工執(zhí)行耗時,該文檔可作為后續(xù)RPA需求分析依據(jù)。
三、 應(yīng)用優(yōu)勢
基于行為序列對比的需求智能挖掘方法,采用基于事件、目標(biāo)窗口及元素信息的行為一致性校驗規(guī)則及行為序列提取方法,相比于直接對比事件相似度的方法,本方案對操作不同窗口中相似元素、同一操作中不同鍵值輸入情況具有更高的識別準(zhǔn)確率。相較于現(xiàn)有技術(shù)中要求操作序列完全一致或開始行為一致的方法,本方案采用最長公共子序列提取方法實現(xiàn)公共序列解析,對用戶冗余操作容忍度高,無需指定序列開始行為?;跁r間間隔的行為序列自動切分方案,避免現(xiàn)有技術(shù)中要求用戶手動指定序列開始及結(jié)束的缺陷,完全無需人工介入操作,提高了該方案的自動化程度。
四、 結(jié)束語
本文提出了一種基于行為序列對比的需求智能挖掘方法,主要應(yīng)用于RPA、人工智能和界面自動化領(lǐng)域。該方法通過采集用戶操作日志,分析并切分行為序列,然后通過聚類和行為相似度對比提取公共序列,最終生成需求定義文檔和RPA流程。本方法具有較高的自動化程度和魯棒性,可以有效提高需求分析和流程設(shè)計的效率。在需求分析階段,傳統(tǒng)的人工方式耗時長且效率低,本方法通過自動實現(xiàn)需求分析并輔助流程設(shè)計,大大提高了需求分析效率。在流程設(shè)計階段,本方法通過對用戶工作的自動解析提取具備自動化潛力的流程,為后續(xù)的RPA實施提供了便利。此外,本方法還具有較強(qiáng)的魯棒性。在行為相似度檢測方面,本方法通過事件信息、窗口信息以及操作目標(biāo)元素XPath三個維度評判行為相似度,可以適應(yīng)多種情況下的行為相似度對比操作。在行為序列提取方面,本方法基于聚類實現(xiàn)公共序列獲取,對冗余操作適應(yīng)能力強(qiáng),對用戶操作規(guī)范性要求低。
總的來說,本文提出的需求智能挖掘方法具有很高的實用價值,不僅可以提高需求分析和流程設(shè)計的效率,還可以提高RPA的實施效果。
基于RPA實施效果的提升,本方法將持續(xù)為企業(yè)自動化轉(zhuǎn)型工作賦能,通過記錄并識別員工工作中具有高度自動化潛力的任務(wù),以此為基礎(chǔ)輸出RPA需求文檔及自動化流程,推進(jìn)后續(xù)RPA實施工作,降低需求挖掘及流程設(shè)計成本,進(jìn)一步推動企業(yè)自動化及數(shù)字化轉(zhuǎn)型。此外,通信、金融及物流等業(yè)務(wù)流程重復(fù)性高的行業(yè)具有極高的RPA自動化潛力,RPA產(chǎn)品應(yīng)用前景廣闊。
作者單位:付兵蘭 寇晨輝 劉春林 彭偉軍 陳國
中移信息技術(shù)有限公司
付兵蘭(1981.04-),女,漢族,湖南漣源,碩士,研究方向:RPA、云計算;
寇晨輝(1999.07-),男,漢族,陜西咸陽,學(xué)士,研究方向:RPA、云計算;
劉春林(1978.09-),男,漢族,湖南衡陽,學(xué)士,研究方向:RPA、云計算、人工智能;
彭偉軍(1973.10-),男,漢族,廣東汕尾,學(xué)士,研究方向:RPA、云計算、人工智能;
陳國(1977.11-),男,漢族,山東萊蕪,碩士,研究方向:RPA、區(qū)塊鏈、云計算、人工智能、算力網(wǎng)絡(luò)。