• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

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

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

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

    后端的核心算法是TextRank算法,該算法是脫胎于PageRank算法的一種抽取式無(wú)監(jiān)督文本摘要算法。與PageRank[6]算法相比TextRank使用句子代替網(wǎng)頁(yè),將每?jī)蓚€(gè)句子之間的相似度都等同于網(wǎng)頁(yè)轉(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ì)

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

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

    基礎(chǔ)環(huán)境配置:Chrome瀏覽器采用Chrome極速瀏覽器75.0.3770.100(開(kāi)發(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)了兩種摘要形式。

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

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

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

    3 結(jié)語(yǔ)

    本文旨在為文本摘要的應(yīng)用探索更多可行的路線,目前的工作通過(guò)Ajax與Flask前后端分離的技術(shù)實(shí)現(xiàn)了本地的Chrome瀏覽器擴(kuò)展程序功能,實(shí)現(xiàn)的兩種功能通過(guò)本地服務(wù)器能夠流暢的使用,能夠滿足的易用性與高效性以及框架層面算法復(fù)用的要求,但通過(guò)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
    試論我國(guó)未決羈押程序的立法完善
    “程序猿”的生活什么樣
    WTO框架下
    法大研究生(2017年1期)2017-04-10 08:55:06
    英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
    環(huán)球?yàn)g覽器
    再見(jiàn),那些年我們嘲笑過(guò)的IE瀏覽器
    創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
    德保县| 阜南县| 永仁县| 古田县| 绵竹市| 固原市| 瑞丽市| 韩城市| 邮箱| 大名县| 南溪县| 和龙市| 四会市| 沧州市| 电白县| 麦盖提县| 伊吾县| 白城市| 通州市| 浦县| 柘荣县| 老河口市| 盖州市| 阿尔山市| 克什克腾旗| 金沙县| 汨罗市| 榕江县| 惠水县| 九寨沟县| 延津县| 泽库县| 沿河| 永清县| 土默特左旗| 黎城县| 辉南县| 安康市| 尼玛县| 永福县| 哈密市|