亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于Java Web的敏感詞過濾方法研究與實(shí)現(xiàn)

        2017-09-18 23:45:53傅明建
        關(guān)鍵詞:參數(shù)值字符過濾器

        摘要: 本文研究一種基于Java Web的敏感詞過濾系統(tǒng),能夠識(shí)別敏感詞,在客戶端用戶發(fā)送數(shù)據(jù)時(shí),系統(tǒng)能夠自動(dòng)阻斷聊天內(nèi)容,并且將敏感詞替換為指定特殊符號(hào)關(guān)鍵詞的敏感詞。該系統(tǒng)基于 B /S 結(jié)構(gòu)的Java Web分層框架結(jié)構(gòu)進(jìn)行架構(gòu)設(shè)計(jì),能夠在對(duì)用戶透明的情況下,自動(dòng)阻斷含有敏感詞的聊天內(nèi)容提交,并且將敏感詞替換為指定特殊符號(hào)關(guān)鍵詞。 實(shí)驗(yàn)結(jié)果表明該系統(tǒng)能夠有效阻止含有敏感關(guān)鍵詞的聊天內(nèi)容提交。

        關(guān)鍵詞: 敏感詞過濾; Java Web; 聊天系統(tǒng); 關(guān)鍵詞替換

        中圖分類號(hào):TP393.08

        文獻(xiàn)標(biāo)志碼:A

        文章編號(hào):2095-2163(2017)04-0021-03

        0引言

        隨著互聯(lián)網(wǎng)與移動(dòng)應(yīng)用的飛速發(fā)展和普及,在互聯(lián)網(wǎng)上的信息量呈現(xiàn)爆炸式增長,這給信息內(nèi)容質(zhì)量的監(jiān)測(cè)和過濾帶來嚴(yán)峻的考驗(yàn)。目前已有的絕大部分網(wǎng)絡(luò)監(jiān)控系統(tǒng)主要針對(duì)己經(jīng)生效的網(wǎng)絡(luò)信息,不良信息有時(shí)候仍然在網(wǎng)上傳播。針對(duì)網(wǎng)絡(luò)不良信息過濾中存在的這些問題,基于文本的過濾模式可以依據(jù)任何關(guān)鍵詞進(jìn)行搜索并確定其內(nèi)容性質(zhì),具有高度的靈活性,而圖片過濾主要是針對(duì)色情圖片而言,在技術(shù)手段和分級(jí)上目前仍然呈現(xiàn)可觀難度,畢竟如何區(qū)分藝術(shù)和色情在時(shí)下的生活進(jìn)程中也還有待直接確切的現(xiàn)實(shí)爭議定論。即使解決了藝術(shù)與色情的領(lǐng)域劃定,卻仍然存在著準(zhǔn)確率不高的問題。基于此,本文則依據(jù)應(yīng)用場(chǎng)景的需求,設(shè)計(jì)研發(fā)了一種在信息源頭實(shí)現(xiàn)敏感詞過濾的敏感詞過濾系統(tǒng),提高了在關(guān)鍵詞過濾中的時(shí)間效率。

        [BT4]1B/S體系結(jié)構(gòu)

        B/S是Brower/Server的縮寫,即瀏覽器/服務(wù)器結(jié)構(gòu)。在這種結(jié)構(gòu)中,客戶端不需要開發(fā)任何用戶界面,而統(tǒng)一采用如IE和火狐等瀏覽器,通過Web瀏覽器向Web服務(wù)器發(fā)送請(qǐng)求,由Web服務(wù)器進(jìn)行處理,并將處理結(jié)果逐級(jí)傳回客戶端,綜上過程直觀表述可如圖1所示。這種結(jié)構(gòu)利用不斷成熟和普及的瀏覽器技術(shù)來獲取原需運(yùn)行復(fù)雜專用軟件才能提供輸出的強(qiáng)大功能,從而節(jié)約了開發(fā)成本,是一種全新的軟件體系結(jié)構(gòu),因而已然成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)。

        [PS傅明建1.EPS;S*2;X*2,BP#]

        2Servlet

        Servlet即Java服務(wù)小程序,是使用應(yīng)用程序設(shè)計(jì)接口以及相關(guān)類和方法的Java程序。同時(shí),還可以作為一種插件,嵌入到Web服務(wù)器中運(yùn)行,并可呈現(xiàn)強(qiáng)大功能,Servlet在服務(wù)器上運(yùn)行主要用于支持展開和客戶之間的通信,當(dāng)客戶端傳來一個(gè)Http請(qǐng)求時(shí),通過調(diào)用Servlet方法來向客戶端發(fā)送一個(gè)響應(yīng)。不但可以處理Http請(qǐng)求中的業(yè)務(wù)邏輯,而且還可以輸出HTML代碼來顯示指定頁面。

        [BT5]2.1Servlet過濾器

        Servlet過濾器與Servlet十分相似,但卻具有攔截客戶端(瀏覽器)請(qǐng)求的功能,Servlet過濾器可以改變請(qǐng)求中的內(nèi)容,來滿足設(shè)計(jì)開發(fā)中的實(shí)際需要。對(duì)于程序開發(fā)人員而言,過濾器實(shí)質(zhì)就是在Web應(yīng)用服務(wù)器上的一個(gè)Web應(yīng)用組件,用于攔截客戶端(瀏覽器)與目標(biāo)資源的請(qǐng)求,并對(duì)這些請(qǐng)求引入一定過濾處理再發(fā)送給目標(biāo)資源,過濾器的處理方式如圖2所示。

        2.2基于Servlet過濾器的敏感詞過濾

        Servlet過濾器能夠?qū)ervlet容器的請(qǐng)求和響應(yīng)對(duì)象進(jìn)行檢查和修改。過濾器本身并不產(chǎn)生請(qǐng)求和響應(yīng)對(duì)象,而只是提供過濾功能?;谶@個(gè)特點(diǎn),本文采用基于Servlet過濾器的方法來研究敏感詞過濾,并以聊天系統(tǒng)應(yīng)用為例(可以適應(yīng)任何基于Web的系統(tǒng))來實(shí)現(xiàn)敏感詞過濾。該方法的步驟設(shè)計(jì)內(nèi)容可詳述如下。

        1)先設(shè)計(jì)一個(gè)簡單的聊天室客戶端界面,如圖3所示,用于通過Http請(qǐng)求提交聊天內(nèi)容。

        2)然后,編寫一個(gè)Servlet,并部署配置Servlet,用來獲得聊天時(shí)提交的聊天內(nèi)容,并輔以后續(xù)延展處理,進(jìn)一步添加到request中。目前,部署Servlet有2種方式:

        ① 在Web.xml中進(jìn)行部署Servlet,只要用戶請(qǐng)求的URL和的子標(biāo)記指定的模式匹配,Web服務(wù)器就會(huì)自動(dòng)調(diào)用該Filter的doFilter()方法;

        ② 基于注解的方式部署配置Servlet,在Servlet3.0中提供了注解@WebFilter,使得可以不再需要在Web.xml文件中呈現(xiàn)Filter的部署描述。

        如果設(shè)計(jì)了多個(gè)過濾器,且過濾器攔截路徑相同時(shí),系統(tǒng)將首先按照標(biāo)記在Web.xml中出現(xiàn)的先后順序執(zhí)行過濾器,然后再按照過濾器類名的字典順序執(zhí)行注解的過濾器。但在實(shí)際的Web工程中,不需要大量開發(fā)Filter,因此,采用哪種方式都可快速成熟地部署過濾器。這里為論述簡明清晰起見,本文中采用在Web.xml中部署Servlet,部署代碼如下:

        <!-- Servlet配置 -->

        MessageServlet

        com.MessageServlet

        MessageServlet

        /MessageServlet

        Servlet設(shè)計(jì)代碼如下:

        public class MessageServlet extends HttpServlet {

        private static final long serialVersionUID=65368123622 07677194L;

        public void doPost(HttpServletRequest request, Http ServletResponse response)

        throws ServletException, IOException {

        // 獲取標(biāo)題

        String title = request.getParameter("title");

        // 獲取內(nèi)容

        String content = request.getParameter("content");

        // 將標(biāo)題放置到request中

        request.setAttribute("title", title);

        // 將內(nèi)容放置到request中

        request.setAttribute("content", content);

        // 轉(zhuǎn)發(fā)到result.jsp頁面

        [JP3]request.getRequestDispatcher("index.jsp").forward(request, response);[JP]

        }

        }

        3)最后編寫一個(gè)Servlet過濾器,并部署配置,將聊天內(nèi)容中涉及到的敏感字過濾,并將所有敏感字內(nèi)容替換成“*”。與Servlet一樣,部署過濾器目前也有2種方式:一是在Web.xml中部署Filter;一是基于注解的方式部署Filter。為設(shè)計(jì)高效起見,這里同樣采用Web.xml中部署Servlet Filter,Web.xml文件中部署代碼如下:

        <!-- 過濾器配置 -->

        ff_WordFilter

        com.ff_WordFilter

        encodingGBK

        ff_WordFilter

        /*

        過濾器代碼設(shè)計(jì)如下:

        public class ff_WordFilter implements Filter {

        // 非法字符數(shù)組

        private String ff_words[];

        // 字符編碼

        private String encoding;

        // 實(shí)現(xiàn)Filter接口init()方法

        public void init(FilterConfig filterConfig) throws ServletException {

        // 獲取字符編碼

        [JP3]encoding = filterConfig.getInitParameter("encoding");[JP]

        // 初始化非法字符數(shù)組,該字符數(shù)組即是需要過濾并替換的非法關(guān)鍵詞

        ff_words = new String[]{"他媽的","赤裸"};

        }

        // 實(shí)現(xiàn)Filter接口doFilter()方法

        public void doFilter(ServletRequest request, Servlet Response response, FilterChain chain) throws IOException, ServletException {

        // 判斷字符編碼是否有效

        if (encoding != null) {

        // 設(shè)置request字符編碼

        request.setCharacterEncoding(encoding);

        // [JP3]將request轉(zhuǎn)換為重寫后的Request對(duì)象[JP]

        [JP4]request = new Request((HttpServletRequest) request);[JP]

        // 設(shè)置response字符編碼

        [JP2]response.setContentType("text/html; charset="+encoding);[JP]

        }

        chain.doFilter(request, response);

        }

        // 實(shí)現(xiàn)Filter接口destroy()方法

        public void destroy() {

        this.words = null;

        this.encoding = null;

        }

        /* 內(nèi)部類重寫HttpServletRequestWrapper*/

        class Request extends HttpServletRequestWrapper{endprint

        // 構(gòu)造方法

        public Request(HttpServletRequest request) {

        super(request);

        }

        // 重寫getParameter()方法

        @Override

        public String getParameter(String name) {

        // 返回過濾后的參數(shù)值

        [JP5]return filter(super.getRequest().getParameter(name)); }[JP]

        // 重寫getParameterValues()方法

        @Override

        public String[] getParameterValues(String name) {

        // 獲取所有參數(shù)值

        String[] values = super.getRequest().getParameter Values(name);

        // 通過循環(huán)對(duì)所有參數(shù)值進(jìn)行過濾

        for (int i = 0; i < values.length; i++) {

        values[i] = filter(values[i]);

        }

        // 返回過濾后的參數(shù)值

        return values;

        }

        }

        /** 過濾非法字符

        * @param param 參數(shù)值

        * @return 過濾后的參數(shù)值

        */

        public String filter(String param){

        try {

        // 判斷非法字符是否被初始化

        if(words != null && ff_words.length > 0){

        // 循環(huán)替換非法字符

        for (int i = 0; i

        // 判斷是否包含非法字符

        if(param.indexOf(ff_words[i]) != -1){

        // 將非法字符替換為"****"

        param = [WB]param.replaceAll(ff_words[i],

        [DW]"****");

        } } }

        } catch (Exception e) {

        e.printStackTrace(); }

        return param;

        }

        [BT4]3結(jié)束語

        本次研究設(shè)計(jì)中提出了一種基于Java Web的敏感詞過濾系統(tǒng),能夠識(shí)別敏感詞,在客戶端用戶發(fā)送數(shù)據(jù)時(shí),系統(tǒng)能夠自動(dòng)阻斷聊天內(nèi)容,并且將敏感詞替換為指定特殊符號(hào)關(guān)鍵詞的敏感詞,該系統(tǒng)基于 B /S 結(jié)構(gòu)的Java Web分層框架結(jié)構(gòu)進(jìn)行架構(gòu)設(shè)計(jì)。 實(shí)驗(yàn)結(jié)果表明該系統(tǒng)能夠有效阻止含有敏感關(guān)鍵詞的聊天內(nèi)容提交。

        參考文獻(xiàn):

        [WTBZ][ST6BZ][HT6SS][1] [ZK(#〗

        DUAN Lei, TANG Changjie, ZUO Jie, et al. Selfstudy algorithm for filtering Chinese text content through two layers in Web realtime environment[J]. Journal of Frontiers of Computer Science and Technology, 2011, 5(8):695-706.

        [2] 張穎江, 陳馳. WEB 內(nèi)容過濾方法的研究與應(yīng)用[J]. 武漢科技學(xué)院學(xué)報(bào), 2005, 18(4):49-51.

        [3] 程衛(wèi)華 , 尤晉元. 基于內(nèi)容過濾的反垃圾郵件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 安徽大學(xué)學(xué)報(bào) (自然科學(xué)版),2007,31(3):30-33.

        [4] 鄧一貴, 伍玉英. 基于文本內(nèi)容的敏感詞決策樹信息過濾算法[J]. 計(jì)算機(jī)工程,2014,40(9):300-304.

        [5] 薛海偉,田崢,田建偉,等. 郵件敏感字過濾系統(tǒng)研究與實(shí)現(xiàn)[J]. 湖南電力,2015,35(2):13-16.

        [6] 曹靜,劉潔. JSP與servlet開發(fā)技術(shù)與典型應(yīng)用教程[M]. 2版. 大連:大連理工大學(xué)出版社,2014.

        [7] 明日科技. JAVA WEB從入門到精通[M]. 北京:清華大學(xué)出版社,2012.[ZK)][FL)]

        猜你喜歡
        參數(shù)值字符過濾器
        基于Fluent的過濾器內(nèi)部流場(chǎng)數(shù)值模擬
        尋找更強(qiáng)的字符映射管理器
        例談不等式解法常見的逆用
        不等式(組)參數(shù)取值范圍典例解析
        2020 Roadmap on gas-involved photo- and electro- catalysis
        字符代表幾
        一種USB接口字符液晶控制器設(shè)計(jì)
        電子制作(2019年19期)2019-11-23 08:41:50
        消失的殖民村莊和神秘字符
        聲音過濾器
        趣味(語文)(2018年2期)2018-05-26 09:17:55
        逆向思維求三角函數(shù)中的參數(shù)值
        成人乱码一区二区三区av| 精品人妻一区二区久久| 一区二区三区在线观看精品视频| 男女激情视频网站免费在线| 亚洲av中文无码乱人伦在线观看| 最近2019年好看中文字幕视频| 一本久久a久久精品亚洲| 国产av综合一区二区三区最新 | 日本在线免费精品视频| 日本91一区二区不卡| 久久精品av在线观看| 少妇中文字幕乱码亚洲影视| 色婷婷久久综合中文久久蜜桃av | 最新亚洲无码网站| 美女把内衣内裤脱了给男人舔| 国产毛片av一区二区| 中文无码伦av中文字幕| 亚洲av无码av制服丝袜在线 | 亚洲 国产 哟| 亚洲精品尤物av在线网站| 中文字幕一区二三区麻豆| 免费观看成人欧美www色| 草草久久久无码国产专区| 欧美日韩性高爱潮视频| 国产亚洲精品高清视频| av天堂最新在线播放| 亚欧中文字幕久久精品无码| 蜜桃臀无码内射一区二区三区| 国产爆乳美女娇喘呻吟久久| 久久久亚洲av午夜精品| 久久精品人人做人人爱爱| 色五月丁香五月综合五月4438| 亚洲色图视频在线观看网站| 日韩中文字幕网站| 亚洲av免费看一区二区三区| 免费a级毛片在线播放| 一本一道波多野结衣av中文| 国产在线精品一区二区| 欧美zozo另类人禽交| 隔壁的日本人妻bd高清中字| 中文字幕av伊人av无码av|