国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

前后端分離文本摘要系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)*

2021-01-22 13:41:02藺晨齊
關(guān)鍵詞:瀏覽器框架程序

藺晨齊

(北京信息科技大學(xué)計(jì)算機(jī)學(xué)院,北京 100101)

0 引言

隨著信息時(shí)代的不斷發(fā)展,文本數(shù)據(jù)也爆炸性的增長,文本信息過載問題越來越嚴(yán)重,給人們帶來了越來越大的負(fù)擔(dān),對文本摘要進(jìn)行“降維”處理就顯得越發(fā)重要,而文本摘要作為自然語言處理的一個(gè)重要領(lǐng)域,旨在對文本信息經(jīng)過一系列算法處理后得到更簡潔關(guān)鍵的文本信息。因此本文設(shè)計(jì)實(shí)現(xiàn)了瀏覽器擴(kuò)展程序前后端分離文本摘要系統(tǒng),該系統(tǒng)主要利用了Flask和Ajax技術(shù),以及TextRank[1]文本摘要算法。開發(fā)的目標(biāo)是通實(shí)現(xiàn)一種文本摘要系統(tǒng)來提供一種思路,以促進(jìn)文本摘要的實(shí)際應(yīng)用,推動(dòng)文本摘要領(lǐng)域成果的落地應(yīng)用,開發(fā)宗旨的制定也應(yīng)該以此為依據(jù),為了便于推廣應(yīng)用,這個(gè)系統(tǒng)應(yīng)該具有:復(fù)用性,易用性,高效性的使用特點(diǎn)。而Chrome擴(kuò)展程序[2]恰好能夠滿足這幾點(diǎn)要求,首先,Chrome瀏覽器具有較高的市場占有率,使用的人群足夠大,有利于摘要功能產(chǎn)品更好地推廣;其次Chrome瀏覽器擴(kuò)展的開發(fā)已經(jīng)比較成熟,開發(fā)的成果易于使用,符合易用性要求和高效性需求;同時(shí)應(yīng)用場景也足夠廣泛,Chrome瀏覽器擴(kuò)展程序除了Chrome瀏覽器之外,還可以在其他具有webkit瀏覽器引擎的瀏覽器上使用,如獵豹瀏覽器、百度瀏覽器、opera瀏覽器、QQ瀏覽器等,能夠滿足復(fù)用性的要求。

同時(shí),之所以采用前后端分離的框架,是因?yàn)殡m然大多瀏覽器擴(kuò)展程序都采用JavaScript實(shí)現(xiàn)應(yīng)用功能以便于打包上架應(yīng)用商店,但是文本摘要這類人工智能分支領(lǐng)域,在Python各類算法庫以及Numpy這類科學(xué)計(jì)算庫的加持下有著天然的開發(fā)條件優(yōu)勢[3],因此本項(xiàng)目還是采用Python語言進(jìn)行后端的實(shí)現(xiàn),而由于Chrome瀏覽器擴(kuò)展程序本身的特點(diǎn)與安全限制[4],不便于調(diào)用本地項(xiàng)目文件中的Python腳本文件,因此以用戶本地作為媒介進(jìn)行前后端連接,前端將摘要的文本內(nèi)容寫入本地,后端從本地得到文本處理后再寫回本地,由前端再次獲取完成摘要的方案難以實(shí)現(xiàn),于是我們采用了Ajax與Flask框架通過web服務(wù)完成前后端分離的方式越過這個(gè)問題,實(shí)現(xiàn)該應(yīng)用系統(tǒng)。

由此得到的應(yīng)用系統(tǒng)的意義在于,除了探索了文本摘要應(yīng)用的另一條道路外,還將此系統(tǒng)的復(fù)用性進(jìn)行了擴(kuò)充,除了系統(tǒng)上層的應(yīng)用實(shí)現(xiàn)了復(fù)用性外,該系統(tǒng)框架還可以在采用的算法上實(shí)現(xiàn)復(fù)用性,這也是前后端分離的特點(diǎn)所在,在后端進(jìn)行局部的算法調(diào)整就可以嘗試不同的算法效果,有助于促進(jìn)文本摘要算法的實(shí)際應(yīng)用。

1 系統(tǒng)設(shè)計(jì)

前后端分離文本摘要系統(tǒng)是一個(gè)以Chrome瀏覽器擴(kuò)展程序?yàn)橹黧w,以待摘要的文本信息為輸入,以摘要信息為輸出的基于Flask框架,Ajax技術(shù)以及TextRank摘要算法實(shí)現(xiàn)的前后端分離的文本摘要系統(tǒng)。如圖1所示,前端是一個(gè)Chrome擴(kuò)展程序的形式,包括用戶交互模塊,以及通信模塊,后端為一個(gè)web服務(wù)的web應(yīng)用,同樣包括通信模塊,同時(shí)還有文本摘要模塊。

1.1 前端設(shè)計(jì)

前端框架以Chrome瀏覽器擴(kuò)展程序的manifest.json配置文件為藍(lán)本進(jìn)行設(shè)計(jì)與實(shí)現(xiàn)。manifest.json作為整個(gè)Chrome擴(kuò)展程序最核心的文件,規(guī)定了整個(gè)擴(kuò)展程序的配置內(nèi)容,除了manifest_version、name、version三個(gè)必不可少的配置屬性外,還包括很多擴(kuò)展功能所需的權(quán)限屬性,例如本項(xiàng)目中使用browser_action屬性中所包含的default_popup屬性,通過此屬性可以定義一個(gè)popup.html窗口與用戶進(jìn)行交互,提升用戶的交互體驗(yàn),而popup.html想獲取摘要信息則需要在background屬性中通過JavaScript文件調(diào)用Ajax[5]與后端服務(wù)器端進(jìn)行通信。

前端的界面設(shè)計(jì)主要集中在popup.html中,參考百度翻譯,谷歌翻譯等文本信息處理的瀏覽器處理擴(kuò)展程序,html界面主要應(yīng)該至少包括三個(gè)部分,輸入框,功能按鈕以及輸出框。

1.2 后端設(shè)計(jì)

后端則以Flask為框架進(jìn)行搭建。主體的摘要算法端通過Python編寫,因此后端整體為了便于搭建框架也采用基于Python的Flask框架進(jìn)行搭建,F(xiàn)lask是一個(gè)輕量級的可定制框架,較其他同類型框架更為靈活、輕便、安全且容易上手。它可以很好地結(jié)合MVC模式進(jìn)行開發(fā),開發(fā)人員分工合作,小型團(tuán)隊(duì)在短時(shí)間內(nèi)就可以完成功能豐富的中小型網(wǎng)站或Web服務(wù)的實(shí)現(xiàn)。

后端的核心算法是TextRank算法,該算法是脫胎于PageRank算法的一種抽取式無監(jiān)督文本摘要算法。與PageRank[6]算法相比TextRank使用句子代替網(wǎng)頁,將每兩個(gè)句子之間的相似度都等同于網(wǎng)頁轉(zhuǎn)換概率,以句子為節(jié)點(diǎn),相似度為邊,構(gòu)建一張帶權(quán)圖,根據(jù)各節(jié)點(diǎn)臨邊的權(quán)重進(jìn)行排序,最終得出全文中與其他句子關(guān)聯(lián)度最高的句子,作為摘要結(jié)果。

圖1 前后端系統(tǒng)示意圖

1.3 前后端通信設(shè)計(jì)

前后端通信的過程設(shè)計(jì)為,用戶將想要摘要的內(nèi)容輸入輸入框內(nèi),點(diǎn)擊按鈕,觸發(fā)background屬性中調(diào)用Ajax的JavaScript的監(jiān)聽事件,事件會(huì)獲取輸入框中的文本信息,通過Ajax交由后端處理,后端整體通過Flask框架中的Werkzeug庫搭建一個(gè)web服務(wù)以接收前端的請求信息,將摘要算法封裝成一個(gè)web應(yīng)用等待調(diào)用,同時(shí)持續(xù)監(jiān)聽web服務(wù)的端口,準(zhǔn)備接收以及解析前端發(fā)送的請求和信息,解析成功后將得到的文本信息交由被封裝的web應(yīng)用進(jìn)行處理,最后將處理后的信息通過web服務(wù)返回給請求信息的前端頁面,由JavaScript通過Ajax獲得返回信息,將文本處理結(jié)果寫入之前隱藏起來的結(jié)果框中并顯示出來,完成整個(gè)摘要過程,在此基礎(chǔ)上進(jìn)行各個(gè)模塊的具體實(shí)現(xiàn)。

2 系統(tǒng)實(shí)現(xiàn)

基礎(chǔ)環(huán)境配置:Chrome瀏覽器采用Chrome極速瀏覽器75.0.3770.100(開發(fā)者內(nèi)部版本)(32位),JavaScript版本為V8 7.5.288.22,為了方便Ajax技術(shù)的使用,采用jQuery框架[7],使用此框架中封裝好的Ajax方法,版本為jQuery v3.5.1,F(xiàn)lask版本為1.1.2。

本文中的Chrome瀏覽器文本摘要擴(kuò)展程序?qū)崿F(xiàn)了兩種摘要形式。

一種是通過點(diǎn)擊在manifest.json的icons屬性中添加的應(yīng)用圖標(biāo)呼出popup.html窗口,窗口直接通過web開發(fā)工具進(jìn)行編寫,實(shí)現(xiàn)了美觀、簡約的界面效果目標(biāo)。如圖2所示,整體包括三個(gè)重要部分摘要內(nèi)容框,摘要按鈕以及摘要結(jié)果框,用戶將希望進(jìn)行摘要的文本內(nèi)容寫入內(nèi)容框,點(diǎn)擊“摘要”按鈕后在結(jié)果框中即可得到摘要結(jié)果。同時(shí)可以通過底端鏈接直接訪問本項(xiàng)目的GitHub頁面,此外需要注意,出于安全限制的原因popup.html中禁止使用script標(biāo)簽編寫的css與js語句,需要盡可能使用外鏈樣式與js文件進(jìn)行樣式設(shè)計(jì)與動(dòng)態(tài)渲染。

二是在瀏覽器中選中文本后,直接通過右鍵在功能菜單內(nèi)選擇摘要功能進(jìn)行摘要,如圖3所示,摘要結(jié)果會(huì)通過瀏覽器提示窗口展示,該形式的摘要功能需要在manifest.json權(quán)限控制屬性permission中列出contextMenus即上下文菜單權(quán)限標(biāo)簽才能完成,發(fā)出申請的JavaScript文件通過genericOnClick函數(shù)監(jiān)聽右鍵菜單事件當(dāng)事件觸發(fā)后,將瀏覽器中選中的文本通過Ajax向后端發(fā)出請求,并在返回時(shí)通過瀏覽器提示框展示出來。

同時(shí)本文采用本地服務(wù)器進(jìn)行了測試,在將web服務(wù)器運(yùn)行之前先確保Flask構(gòu)造的web應(yīng)用框架監(jiān)聽的網(wǎng)絡(luò)端口與前端發(fā)送至的端口一致,在接收到前端信息之后,通過Flask構(gòu)造的Web應(yīng)用框架對摘要算法進(jìn)行函數(shù)修飾,以此對摘要算法進(jìn)行web應(yīng)用化,通過Flask庫中自帶的json信息解析類對前端發(fā)送的json信息進(jìn)行解析,將解析后的信息傳遞給web應(yīng)用化的摘要算法進(jìn)行處理,并返回處理后的摘要結(jié)果信息。

3 結(jié)語

本文旨在為文本摘要的應(yīng)用探索更多可行的路線,目前的工作通過Ajax與Flask前后端分離的技術(shù)實(shí)現(xiàn)了本地的Chrome瀏覽器擴(kuò)展程序功能,實(shí)現(xiàn)的兩種功能通過本地服務(wù)器能夠流暢的使用,能夠滿足的易用性與高效性以及框架層面算法復(fù)用的要求,但通過web服務(wù)實(shí)現(xiàn)的前后端分離結(jié)構(gòu),能否滿足應(yīng)用程序復(fù)用性要求還需要在在服務(wù)區(qū)端投入一定資金成本,因此上線應(yīng)用商店還需要進(jìn)一步探索。

圖2 應(yīng)用窗口摘要示意圖

圖3 鼠標(biāo)右鍵摘要示意圖

猜你喜歡
瀏覽器框架程序
框架
廣義框架的不相交性
反瀏覽器指紋追蹤
電子制作(2019年10期)2019-06-17 11:45:14
試論我國未決羈押程序的立法完善
“程序猿”的生活什么樣
WTO框架下
法大研究生(2017年1期)2017-04-10 08:55:06
英國與歐盟正式啟動(dòng)“離婚”程序程序
環(huán)球?yàn)g覽器
再見,那些年我們嘲笑過的IE瀏覽器
創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
沁源县| 宁阳县| 体育| 金华市| 凉城县| 巧家县| 丹阳市| 邻水| 鄯善县| 淮北市| 延长县| 临猗县| 明光市| 东台市| 桐庐县| 潜山县| 兰西县| 军事| 庆元县| 大宁县| 安泽县| 新晃| 永福县| 临邑县| 慈溪市| 宜宾市| 辽阳市| 遂溪县| 辽宁省| 中卫市| 安徽省| 大关县| 霍邱县| 水城县| 平阴县| 乐山市| 新竹县| 黄大仙区| 军事| 瑞丽市| 富顺县|