本發(fā)明屬于自然語(yǔ)言處理領(lǐng)域,尤其涉及基于自然語(yǔ)言處理的瀏覽器元素定位方法及系統(tǒng)。
背景技術(shù):
1、隨著機(jī)器人流程自動(dòng)化(rpa)技術(shù)的發(fā)展,瀏覽器自動(dòng)化已成為其核心應(yīng)用之一。在實(shí)際應(yīng)用中,瀏覽器自動(dòng)化的主要挑戰(zhàn)之一是如何準(zhǔn)確、高效地定位瀏覽器中的界面元素,以便進(jìn)行相應(yīng)的控制和操作?,F(xiàn)有的解決方案通常依賴(lài)瀏覽器插件來(lái)實(shí)現(xiàn)界面元素的定位。
2、具體而言,現(xiàn)有技術(shù)主要通過(guò)以下流程實(shí)現(xiàn):在待控制的瀏覽器中安裝插件,啟動(dòng)插件后監(jiān)控由rpa設(shè)計(jì)器發(fā)出的定位請(qǐng)求。當(dāng)rpa設(shè)計(jì)器發(fā)起元素定位請(qǐng)求時(shí),瀏覽器插件接收請(qǐng)求并操縱瀏覽器的dom(documentobjectmodel)結(jié)構(gòu)獲取元素的定位信息,隨后將這些信息回傳給rpa設(shè)計(jì)器,設(shè)計(jì)器再進(jìn)行顯示和保存。
3、然而,這種插件依賴(lài)的方法存在顯著的缺陷:
4、1.開(kāi)發(fā)工作量大:不同瀏覽器(如chrome、ie、firefox、edge等)需要開(kāi)發(fā)專(zhuān)用插件,由于各瀏覽器插件開(kāi)發(fā)機(jī)制不同,導(dǎo)致開(kāi)發(fā)工作量大且技術(shù)難度高。
5、2.部署和維護(hù)成本高:應(yīng)用部署時(shí)需要手動(dòng)在瀏覽器中添加插件,這不僅增加了部署成本,還在插件更新升級(jí)時(shí)帶來(lái)額外的維護(hù)成本。
6、3.穩(wěn)定性和兼容性問(wèn)題:插件的穩(wěn)定性和可靠性較差,尤其在頻繁的瀏覽器版本更新中容易出現(xiàn)兼容性問(wèn)題。
7、4.安全隱患:插件需要訪(fǎng)問(wèn)和控制瀏覽器的內(nèi)部數(shù)據(jù),可能涉及安全隱患和隱私問(wèn)題。
8、為了解決上述問(wèn)題,業(yè)界亟需一種無(wú)需依賴(lài)特定瀏覽器插件的界面元素定位方法。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的是提出基于自然語(yǔ)言處理的瀏覽器元素定位方法及系統(tǒng),通過(guò)結(jié)合nlp和深度學(xué)習(xí)模型,利用統(tǒng)一的webdriver技術(shù),實(shí)現(xiàn)高效、精準(zhǔn)的界面元素定位,解決了現(xiàn)有技術(shù)中的諸多問(wèn)題。
2、為了達(dá)到上述目的,在本發(fā)明提供了基于自然語(yǔ)言處理的瀏覽器元素定位方法,所述方法包括:
3、s1、獲取用戶(hù)輸入的自然語(yǔ)言描述并進(jìn)行預(yù)處理,對(duì)預(yù)處理后的自然語(yǔ)言描述進(jìn)行特征提取和語(yǔ)義理解,根據(jù)語(yǔ)義理解得到的表示向量進(jìn)行意圖識(shí)別獲取用戶(hù)的操作意圖;
4、s2、利用自然語(yǔ)言處理技術(shù)對(duì)預(yù)處理后的自然語(yǔ)言描述與上下文窗口結(jié)合進(jìn)行解析與語(yǔ)義理解,將用戶(hù)輸入的自然語(yǔ)言描述轉(zhuǎn)換為結(jié)構(gòu)化信息表示,得到用戶(hù)意圖并分類(lèi);
5、s3、啟動(dòng)webdriver啟動(dòng)指定的瀏覽器,并構(gòu)建用于定位網(wǎng)頁(yè)元素的javascript腳本,通過(guò)webdriver接口注入并執(zhí)行javascript腳本,獲取目標(biāo)元素的定位信息,驗(yàn)證獲取的xpath是否正確,并在控制臺(tái)輸出,并將獲取的元素信息傳遞到s4進(jìn)行處理;
6、s4、根據(jù)s3的結(jié)果對(duì)符合描述的元素進(jìn)行高亮顯示,通過(guò)瀏覽器事件監(jiān)聽(tīng)器捕捉用戶(hù)點(diǎn)擊事件并利用增強(qiáng)的支持向量機(jī)對(duì)點(diǎn)擊事件進(jìn)行分類(lèi),過(guò)濾非目標(biāo)點(diǎn)擊事件,并通過(guò)上下文信息和用戶(hù)行為模式增強(qiáng)點(diǎn)擊事件的準(zhǔn)確性,再進(jìn)一步利用計(jì)算幾何方法生成元素的精確邊界框進(jìn)行元素信息增強(qiáng),然后讓用戶(hù)確認(rèn)選擇的目標(biāo)元素信息是否正確,將用戶(hù)選擇確認(rèn)的目標(biāo)元素信息傳遞給s5進(jìn)行處理;
7、s5、將用戶(hù)的自然語(yǔ)言描述和網(wǎng)頁(yè)截圖作為多模態(tài)輸入數(shù)據(jù)進(jìn)行融合處理得到自然語(yǔ)言表述詞向量,再根據(jù)自然語(yǔ)言表述詞向量提取自然語(yǔ)言描述和網(wǎng)頁(yè)截圖的特征向量,并基于注意力機(jī)制將自然語(yǔ)言描述和網(wǎng)頁(yè)截圖的特征向量進(jìn)行多模態(tài)融合得到融合后的綜合特征向量,將綜合特征向量進(jìn)行聯(lián)合表示得到最終的特征表示,根據(jù)最終的特征表示采用目標(biāo)檢測(cè)網(wǎng)絡(luò)對(duì)網(wǎng)頁(yè)截圖進(jìn)行目標(biāo)元素定位得到最終的目標(biāo)元素定位。
8、進(jìn)一步地,所述預(yù)處理包括將用戶(hù)輸入的文本s進(jìn)行清理,移除用戶(hù)輸入中的特殊字符、標(biāo)點(diǎn)符號(hào)和多余空格得到清理后的句子s',然后將清理后的句子s'進(jìn)行分詞處理,得到詞匯序列w,對(duì)詞匯序列w進(jìn)行詞性標(biāo)注,生成詞性序列p;
9、所述對(duì)預(yù)處理后的自然語(yǔ)言描述進(jìn)行特征提取和語(yǔ)義理解包括使用詞頻-逆文檔頻率方法將詞匯序列w轉(zhuǎn)換為詞向量序列v,再利用潛在語(yǔ)義分析技術(shù)對(duì)詞向量序列v進(jìn)行降維,得到低維語(yǔ)義空間中的表示向量u;
10、所述根據(jù)語(yǔ)義理解得到的表示向量進(jìn)行意圖識(shí)別獲取用戶(hù)的操作意圖包括利用樸素貝葉斯分類(lèi)器對(duì)句子表示向量u進(jìn)行分類(lèi),得到用戶(hù)的操作意圖i。
11、進(jìn)一步地,所述用戶(hù)的操作意圖i的驗(yàn)證表示如下:
12、
13、其中,p(cj|u)為在給定輸入u下類(lèi)別cj的后驗(yàn)概率,p(u|cj)為在類(lèi)別cj下輸入u的似然,p(cj)為類(lèi)別cj的先驗(yàn)概率,p(u)為輸入u的邊際概率。
14、進(jìn)一步地,根據(jù)詞匯序列w獲取上下文窗口,其中,w={w1,w2,…,wi,wj,wn},每個(gè)詞wi的上下文窗口ci包含前后固定個(gè)數(shù)k的詞,再根據(jù)上下文窗口ci構(gòu)建詞匯共現(xiàn)矩陣m,表示如下:
15、
16、其中,δ(x,y)表示kroneckerdelta函數(shù),當(dāng)x=y(tǒng)時(shí)δ(x,y)=1,否則δ(x,y)=0;ck表示上下文窗口;n表示詞個(gè)數(shù);l表示當(dāng)前上下文窗口,矩陣元素mij表示詞wi和wj在同一上下文窗口中出現(xiàn)的次數(shù);
17、再全局向量方法將共現(xiàn)矩陣m轉(zhuǎn)換為詞向量,表示如下:
18、
19、其中,vi和vj表示詞wi和wj的詞向量,bi和bj表示偏置項(xiàng),∈ij表示誤差項(xiàng);
20、根據(jù)預(yù)設(shè)的場(chǎng)景計(jì)算特定領(lǐng)域詞匯的中心詞向量vdomain并進(jìn)行語(yǔ)義增強(qiáng),得到增強(qiáng)后的語(yǔ)義向量v'i,根據(jù)增強(qiáng)后的語(yǔ)義向量v'i對(duì)詞向量進(jìn)行加權(quán)平均生成句子向量s,表示如下:
21、
22、其中,tf-idf(wi)表示詞wi的tf-idf值;
23、再利用支持向量機(jī)對(duì)句子表示向量s進(jìn)行意圖識(shí)別與分類(lèi)。
24、進(jìn)一步地,所述支持向量機(jī)的目標(biāo)函數(shù)表示如下:
25、
26、且滿(mǎn)足約束條件,表示如下:
27、yi(w·si+b)≥1-ξi,ξi≥0
28、其中,w和b分別表示支持向量機(jī)的權(quán)重和偏置,ξi表示松弛變量,c表示正則化參數(shù),yi表示分類(lèi)標(biāo)簽,m表示樣本數(shù)量,si表示當(dāng)前句子向量。
29、進(jìn)一步地,在所述s4中,所述增強(qiáng)的支持向量機(jī)的目標(biāo)函數(shù)表示如下:
30、
31、且滿(mǎn)足約束條件:
32、yi(w·φ(xi)+b)≥1-ξi,ξi≥0
33、其中,w和b表示增強(qiáng)的支持向量機(jī)的權(quán)重和偏置,ξi表示松弛變量,c表示正則化參數(shù),wi表示點(diǎn)擊事件的重要性權(quán)重,λ表示特征交互正則化系數(shù),γ表示l1正則化系數(shù),φ(xi)表示特征交互函數(shù)。
34、進(jìn)一步地,在訓(xùn)練過(guò)程中,結(jié)合預(yù)設(shè)場(chǎng)景下的特定行為模式和上下文信息,通過(guò)加權(quán)增強(qiáng)的支持向量機(jī)的方法來(lái)增加對(duì)目標(biāo)點(diǎn)擊事件的敏感度,其中,目標(biāo)函數(shù)中wi的計(jì)算公式表示如下:
35、wi=1+αf(xi)+βg(ti)
36、其中,α和β是調(diào)整參數(shù),f(xi)是基于元素特征的加權(quán)函數(shù),g(ti)是基于時(shí)間特征的加權(quán)函數(shù);
37、根據(jù)特征之間的高階交互影響,計(jì)算特征交互函數(shù)φ(xi),表示如下:
38、
39、其中,表示特征的外積操作。
40、進(jìn)一步地,所述計(jì)算幾何方法生成元素的精確邊界框進(jìn)行元素信息增強(qiáng)中,邊界框計(jì)算表示如下:
41、boundingbox(x,y,width,height)=(x,y,x+width,y+height)
42、語(yǔ)義增強(qiáng)向量計(jì)算公式:
43、venhanced=velement+λ·vcontext
44、其中,λ是語(yǔ)義增強(qiáng)系數(shù),venhanced表示增強(qiáng)后的語(yǔ)義向量,velement表示元素向量,vcontext表示句子向量。
45、進(jìn)一步地,述將綜合特征向量進(jìn)行聯(lián)合表示得到最終的特征表示,包括:
46、將融合后的特征向量h通過(guò)第一層全連接層,表示如下:
47、f1=relu(w1h+b1)
48、其中,w1表示第一層全連接層的權(quán)重矩陣,b1表示偏置項(xiàng),relu表示激活函數(shù);
49、再將f1通過(guò)第二層全連接層,表示如下:
50、f2=relu(w2f1+b2)
51、其中,w2表示第二層全連接層的權(quán)重矩陣,b2表示偏置項(xiàng),relu表示激活函數(shù);
52、最終生成最終的特征表示f,表示如下:
53、f=relu(w3f2+b3+λ||f2||2+γ||w3||)
54、其中,w3表示第三層全連接層的權(quán)重矩陣,b3表示偏置項(xiàng),relu表示激活函數(shù),λ||f2||2為l2正則化項(xiàng),γ||w3||表示權(quán)重衰減項(xiàng);
55、所述根據(jù)最終的特征表示采用目標(biāo)檢測(cè)網(wǎng)絡(luò)對(duì)網(wǎng)頁(yè)截圖進(jìn)行目標(biāo)元素定位得到最終的目標(biāo)元素定位,表示如下:
56、l=faster?r-cnn(s,f)
57、其中,l表示定位目標(biāo)元素的位置,faster?r-cnn表示目標(biāo)檢測(cè)網(wǎng)絡(luò),s表示網(wǎng)頁(yè)截圖。
58、在本發(fā)明的另一個(gè)方面提供了基于自然語(yǔ)言處理的瀏覽器元素定位系統(tǒng),所述系統(tǒng)包括:
59、自然語(yǔ)言獲取單元,用于獲取用戶(hù)輸入的自然語(yǔ)言描述并進(jìn)行預(yù)處理,對(duì)預(yù)處理后的自然語(yǔ)言描述進(jìn)行特征提取和語(yǔ)義理解,根據(jù)語(yǔ)義理解得到的表示向量進(jìn)行意圖識(shí)別獲取用戶(hù)的操作意圖;
60、自然語(yǔ)言分析單元,用于利用自然語(yǔ)言處理技術(shù)對(duì)預(yù)處理后的自然語(yǔ)言描述與上下文窗口結(jié)合進(jìn)行解析與語(yǔ)義理解,將用戶(hù)輸入的自然語(yǔ)言描述轉(zhuǎn)換為結(jié)構(gòu)化信息表示,得到用戶(hù)意圖并分類(lèi);
61、瀏覽器初始化單元,用于啟動(dòng)webdriver啟動(dòng)指定的瀏覽器,并構(gòu)建用于定位網(wǎng)頁(yè)元素的javascript腳本,通過(guò)webdriver接口注入并執(zhí)行javascript腳本,獲取目標(biāo)元素的定位信息,驗(yàn)證獲取的xpath是否正確,并在控制臺(tái)輸出,并將獲取的元素信息傳遞到目標(biāo)元素處理單元進(jìn)行處理;
62、目標(biāo)元素處理單元,用于根據(jù)瀏覽器初始化單元的結(jié)果對(duì)符合描述的元素進(jìn)行高亮顯示,通過(guò)瀏覽器事件監(jiān)聽(tīng)器捕捉用戶(hù)點(diǎn)擊事件并利用增強(qiáng)的支持向量機(jī)對(duì)點(diǎn)擊事件進(jìn)行分類(lèi),過(guò)濾非目標(biāo)點(diǎn)擊事件,并通過(guò)上下文信息和用戶(hù)行為模式增強(qiáng)點(diǎn)擊事件的準(zhǔn)確性,再進(jìn)一步利用計(jì)算幾何方法生成元素的精確邊界框進(jìn)行元素信息增強(qiáng),然后讓用戶(hù)確認(rèn)選擇的目標(biāo)元素信息是否正確,將用戶(hù)選擇確認(rèn)的目標(biāo)元素信息傳遞給目標(biāo)元素定位單元進(jìn)行處理;
63、目標(biāo)元素定位單元,用于將用戶(hù)的自然語(yǔ)言描述和網(wǎng)頁(yè)截圖作為多模態(tài)輸入數(shù)據(jù)進(jìn)行融合處理得到自然語(yǔ)言表述詞向量,再根據(jù)自然語(yǔ)言表述詞向量提取自然語(yǔ)言描述和網(wǎng)頁(yè)截圖的特征向量,并基于注意力機(jī)制將自然語(yǔ)言描述和網(wǎng)頁(yè)截圖的特征向量進(jìn)行多模態(tài)融合得到融合后的綜合特征向量,將綜合特征向量進(jìn)行聯(lián)合表示得到最終的特征表示,根據(jù)最終的特征表示采用目標(biāo)檢測(cè)網(wǎng)絡(luò)對(duì)網(wǎng)頁(yè)截圖進(jìn)行目標(biāo)元素定位得到最終的目標(biāo)元素定位。
64、本發(fā)明的有益技術(shù)效果至少在于以下:
65、(1)本發(fā)明引入nlp技術(shù),對(duì)用戶(hù)輸入的自然語(yǔ)言描述進(jìn)行解析,提取關(guān)鍵特征和上下文信息。通過(guò)預(yù)訓(xùn)練的nlp模型(如bert或gpt),系統(tǒng)能夠理解用戶(hù)的操作意圖,并結(jié)合網(wǎng)頁(yè)內(nèi)容進(jìn)行精準(zhǔn)的元素定位。這一創(chuàng)新解決了傳統(tǒng)方法中手動(dòng)添加插件和配置復(fù)雜的問(wèn)題,提升了用戶(hù)體驗(yàn)。
66、(2)本發(fā)明采用瀏覽器的webdriver技術(shù),通過(guò)動(dòng)態(tài)注入腳本的方式,實(shí)現(xiàn)對(duì)不同瀏覽器的界面元素定位。這種方式無(wú)需為每個(gè)瀏覽器開(kāi)發(fā)專(zhuān)用插件,極大地減少了開(kāi)發(fā)工作量和技術(shù)難度,提高了系統(tǒng)的通用性和靈活性。用戶(hù)只需通過(guò)rpa設(shè)計(jì)器發(fā)起請(qǐng)求,系統(tǒng)即可完成元素定位,簡(jiǎn)化了操作流程,提升了系統(tǒng)的易用性和安全性。
67、(3)本發(fā)明結(jié)合深度學(xué)習(xí)模型,通過(guò)多模態(tài)融合技術(shù),將網(wǎng)頁(yè)截圖與文本描述信息結(jié)合,實(shí)現(xiàn)高精度的元素定位。利用深度學(xué)習(xí)模型(如transformer或vilt),系統(tǒng)能夠在復(fù)雜多變的網(wǎng)頁(yè)結(jié)構(gòu)中,準(zhǔn)確地識(shí)別和定位目標(biāo)元素,顯著提高了定位的準(zhǔn)確性和可靠性。
68、(4)本發(fā)明通過(guò)引入nlp和深度學(xué)習(xí)技術(shù),結(jié)合統(tǒng)一的webdriver技術(shù),提出了一種創(chuàng)新的智能瀏覽器元素定位方法及系統(tǒng),全面解決了現(xiàn)有技術(shù)中的開(kāi)發(fā)、部署、穩(wěn)定性和精度等問(wèn)題。該方法不僅顯著提升了界面元素定位的效率和準(zhǔn)確性,還大大降低了開(kāi)發(fā)和維護(hù)成本,為rpa技術(shù)的廣泛應(yīng)用提供了有力支持。