基于特征內容的短信消息過濾系統(tǒng)設計【畢業(yè)設計】_第1頁
已閱讀1頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  本科畢業(yè)設計(論文)</p><p><b> ?。ǘ?屆)</b></p><p>  基于特征內容的短信消息過濾系統(tǒng)設計</p><p>  所在學院 </p><p>  專業(yè)班級 計算機科學與技術 </p

2、><p>  學生姓名 學號 </p><p>  指導教師 職稱 </p><p>  完成日期 年 月 </p><p>  摘要:隨著移動通信技術的飛速發(fā)展和手機普及率的迅速提高,手機短信越來越受到眾多人士的青睞

3、。但是由于各種垃圾短信的大量出現(xiàn),也帶來了信息安全上的問題,影響了人們的正常生活。因而非常有必要將這些垃圾短信過濾掉。</p><p>  基于內容的過濾是當前解決垃圾短信問題的主要技術之一。本文根據(jù)現(xiàn)有的算法,對短消息過濾系統(tǒng)進行了設計和實現(xiàn),它以內容過濾為核心,運用分詞技術和匹配技術,對特定消息實施過濾。設計出了良好的人機交互界面。給出短信過濾系統(tǒng)的測試結果,并根據(jù)這些測試結果對系統(tǒng)進行了分析和評估。<

4、/p><p>  全文給出了手機垃圾短信過濾系統(tǒng)的設計方案,對其中的一些關鍵技術了詳細論述和設計。</p><p>  關鍵詞:垃圾信息;文本過濾;匹配;過濾系統(tǒng)</p><p>  Junk SMS Filtering Based on Context</p><p>  Abstract: Along with the mobile comm

5、unication technology rapid develop- ment and the handset popular rate rapid enhancement, the handset short message more and more receives the multitudinous public figure’s favor. But as a result of each kind of trash sho

6、rt messages massive appearances, which also bring in the information security questions that have affected people’s normal life. Thus it is extremely necessary to filter out trash short messages.</p><p>  Th

7、e content-based filtering is one of the main techniques used solving the WSM problem. The text basis existing algorithm, has carried on the design and the realization to the short note filtration system, based on the cor

8、e of Content-filtering, using the technology of Chinese Word Segmentation and technology of Word-mating. Designed the good man-machine interaction contact surface. Gives the short note filtration system the test result,

9、and has carried on the analysis and the appraisal accordin</p><p>  The full text has given trash short note filtration system design proposal, has given the detailed elaboration and the design to some key t

10、echnologies.</p><p>  Keywords: Junk Messages; Text filtering; Match; Filtering system</p><p><b>  目 錄</b></p><p><b>  1 緒論1</b></p><p>  1.1

11、 課題的研究背景1</p><p>  1.1.1 背景1</p><p>  1.1.2 研究現(xiàn)狀1</p><p>  1.2 課題研究的目的2</p><p>  1.3 課題的研究內容2</p><p>  1.4 課題的研究方法2</p><p>  1.5 論文的內容組織

12、3</p><p>  2 基礎知識簡介4</p><p>  2.1 Eclipse平臺簡介4</p><p>  2.2 Java語言的特點4</p><p>  2.3 分詞技術5</p><p>  2.4 信息過濾技術6</p><p>  2.4.1 信息過濾的概念及特點

13、6</p><p>  2.4.2 信息過濾系統(tǒng)的分類6</p><p>  2.4.3 信息過濾系統(tǒng)的結構7</p><p>  2.5 文本的過濾匹配技術8</p><p>  2.6 正則表達式10</p><p><b>  3 需求分析11</b></p>&l

14、t;p>  3.1 提出問題11</p><p>  3.2 項目開發(fā)目標11</p><p>  3.3 系統(tǒng)的開發(fā)環(huán)境11</p><p>  4 可行性分析12</p><p>  4.1 技術可行性12</p><p>  4.2 實用性12</p><p>  5 系

15、統(tǒng)設計與實現(xiàn)13</p><p>  5.1 系統(tǒng)總體設計13</p><p>  5.2 界面設計17</p><p>  5.3 系統(tǒng)流程分析17</p><p>  6 系統(tǒng)測試與分析19</p><p>  6.1 測試的過程及目標19</p><p>  6.2 短消息過濾

16、系統(tǒng)的測試19</p><p>  6.3 性能分析22</p><p>  7 總結及展望23</p><p>  致 謝錯誤!未定義書簽。</p><p><b>  參考文獻24</b></p><p><b>  緒論</b></p><

17、;p><b>  課題的研究背景</b></p><p><b>  背景</b></p><p>  隨著移動通信技術的飛速發(fā)展和手機的普及率迅速提高,手機短消息以其簡便、價廉、及時的特點受到越來越多人的青睞,成為當今社會中人們交流溝通的一種重要也不可少的方式.但是隨著短消息業(yè)務的快速發(fā)展,大量的不良信息開始通過短消息進行傳播,給人們正常

18、的生活造成影響,甚至有些反動、色情短消息更是危害整個社會和國家的發(fā)展.因此,從社會安定和國家安全角度來看,如何對短消息進行監(jiān)控和過濾是十分必要的.</p><p>  移動通訊分布廣、傳遞快、效率高,而信息具有直觀、鮮明、形象等特點,因此傳播不良性信息影響大,危害性也很大,有時一旦作案,則難以找到證據(jù).通過短消息發(fā)送信息非常方便和便宜,廣告公司便可以用來發(fā)送無聊的廣告,或者心懷惡心的人不斷發(fā)送攻擊性消息.如何處理

19、這些垃圾短信十分令人頭疼,這也將影響用戶對服務提供商的信任.</p><p>  因此,短消息安全已成為當前的社會問題,對手機短消息內容進行檢查和過濾,攔截含有色情、攻擊性言論和政治敏感信息等不符合我國國情的消息,能在一定程度上防止不良信息的傳播,保護通信網絡的純凈.</p><p>  目前,考慮到國內的短信絕大多數(shù)是中文短信,所以只要對中文垃圾短信進行過濾,就可以解決絕大部分的短信安全

20、問題,因此本文主要處理的對象是中文短信.</p><p><b>  研究現(xiàn)狀</b></p><p>  文獻[1]詳細的介紹了短信的發(fā)送與接收的中介、存儲和轉發(fā)機制等內容.這里的短信發(fā)送與接收是由移動網絡中的短消息服務中心(SMSC,short message service center)來完成的,其依靠的是SMSC的存儲和轉發(fā)機制.</p>&l

21、t;p>  下面從短信息的傳輸過程和發(fā)送方式出發(fā),短信過濾技術大致上可分為兩種方式:</p><p>  (l) 短消息服務中心的過濾方式.這種方式會有效地更新短信中存在的關鍵詞,存儲、轉發(fā)、接收到短信的同時,還要監(jiān)控有害短信息.這種監(jiān)控大多是根據(jù)短信狀態(tài)監(jiān)測和短信內容識別相結合的監(jiān)管模式,這是目前比較重要的技術之一.</p><p>  下面對其介紹兩種比較普遍的技術——基于關鍵詞

22、或基于內容的垃圾短信過濾方法,這主要是依據(jù)構成短信的文字本身來進行判斷短信的過濾技術.a基于關鍵詞的垃圾短信過濾是設置一些關鍵詞,只要具有這些關鍵詞的短信,就認定為垃圾短信,并予以過濾,但這種方法存在大量的查找運算以及會有許多的漏判等缺陷,準確率不高.b基于內容的垃圾短信過濾是采用文本區(qū)分的方法把短信自動分為正常短信和垃圾短信.相比之下,后者的準確率更高,但其運算量也更大.</p><p>  (2) 手機終端的

23、過濾方式.這種技術的步驟如下:第一,預先設定包含手機和短信服務商號碼的黑名單,然后存儲到手機中;第二,在接收信息時,對之前存儲的黑名單進行攔截和過濾.然而這種方法也同樣存在局限性,通常我們會先采用預先設定的黑名單,但有時候在對不良信息進行攔截時卻存在不足,因為很多不良信息發(fā)送者會經常變換手機號碼,他們往往以新號碼發(fā)送垃圾短信,這將使得原來的黑名單失效,而導致無法過濾.</p><p><b>  課題研

24、究的目的</b></p><p>  短消息過濾系統(tǒng)需要利用手機軟件集中管理而開發(fā)的系統(tǒng)進行過濾,其主要包括短消息發(fā)送、短消息過濾等工作,.根據(jù)短消息過濾系統(tǒng)的需求和特點,該系統(tǒng)實施后,就應達到以下目標:</p><p>  (1) 界面要清晰美觀,能夠友好地與用戶進行交互;</p><p>  (2) 通過特征匹配實現(xiàn)高效快速的垃圾短信過濾;</

25、p><p>  (3) 用戶可以針對不良信息進行添加和刪除;</p><p>  (4) 啟動實時監(jiān)控后,系統(tǒng)應對用戶操作進行監(jiān)控并及時反饋監(jiān)聽結果;</p><p>  (5) 系統(tǒng)運行穩(wěn)定、安全可靠.</p><p><b>  課題的研究內容</b></p><p>  本課題的主要內容是設計旨

26、在模擬一個垃圾短消息過濾系統(tǒng).該系統(tǒng)除了包含一般短信發(fā)送這一基本功能外,還要實現(xiàn)垃圾短信過濾功能.</p><p>  本系統(tǒng)可分為“服務器端”和“客戶端”兩個部分.</p><p>  下面模擬一個垃圾短消息過濾系統(tǒng)的步驟是:1)先在服務端和客戶端建立連接;2)再進行信息發(fā)送(可以是服務器端發(fā)送給客戶端,也可以是客戶端發(fā)送給服務器端),3)最后將發(fā)送的信息與filter.txt里的關鍵字

27、進行匹配,若匹配成功,即短消息里包含有不良信息,則過濾(用*代替).反之,進行正常發(fā)送.</p><p><b>  課題的研究方法</b></p><p>  (1) 在學習和熟悉JAVA語言和關于JAVA多線程編程基礎上,從而掌握手機收發(fā)短信的方法.由于Eclipse及其它插件提供了一個開發(fā)測試程序代碼的IDE集成開發(fā)環(huán)境,因此本設計將以軟件的形式來完成,利用參考

28、文獻[2]中所講述的步驟來設計完成這個系統(tǒng).而系統(tǒng)設計所用的則是大家比較熟悉的java.因為java具有面向對象、分布式和多線程等特點,所以本軟件的設計會涉及到java中數(shù)據(jù)結構、集合架構以及多線程和網絡編程等內容.</p><p>  (2) 面向對象方法</p><p>  面向對象方法(Object-Oriented Method)是一種把面向對象的思想應用于軟件開發(fā),也是一種指導開

29、發(fā)活動的系統(tǒng)方法,簡稱OO(Object-Oriented)方法,是建立在“對象”概念基礎上的方法學.本文主要通過該方法,運用面向對象編程工具,來完成短消息過濾系統(tǒng)的開發(fā).</p><p><b>  論文的內容組織</b></p><p>  論文共由七章組成.第1章緒論,主要介紹系統(tǒng)的研究背景、研究目的和意義、研究內容以及研究方法;第2章基礎知識簡介,主要介紹系統(tǒng)

30、開發(fā)過程中會用到的一些相關技術的概念,包括有系統(tǒng)的開發(fā)平臺eclipse,系統(tǒng)開發(fā)語言java,以及文本的過濾匹配技術等;第3章需求分析,主要是介紹明確項目開發(fā)的目標和需要達成的任務;第4章可行性分析,主要分析項目達成的可行性,其包括技術可行性和實用性;第5章系統(tǒng)設計與實現(xiàn),主要介紹系統(tǒng)的硬件軟件環(huán)境、界面設計、功能實現(xiàn)、主要技術難點等內容;第6章系統(tǒng)測試與評價,主要涉及系統(tǒng)的測試方法、數(shù)據(jù),結論以及對系統(tǒng)的性能進行評價;第7章總結與展

31、望,主要闡述了本課題所完成的研究工作和存在的不足,以及希望在今后可以完善的地方.</p><p><b>  基礎知識簡介</b></p><p>  Eclipse平臺簡介</p><p>  根據(jù)文獻[3]和文獻[4]對Eclipse的配置、項目、開發(fā)等的詳細說明,本節(jié)總結了這三者的主要內容.</p><p>  配

32、置:Eclipse是一個開放源代碼的、基于 Java 的可擴展開發(fā)平臺.就其本身而言,它只是一個框架和一組服務,用于通過插件組件構建開發(fā)環(huán)境.幸運的是,Eclipse 附帶了一個標準的插件集,包括Java 開發(fā)工具(Java Development Tools,JDT).同時Eclipse還是一個開放源代碼的軟件開發(fā)項目,專注于為高度集成的工具開發(fā)提供一個全功能的、具有商業(yè)品質的工業(yè)平臺.</p><p>  項

33、目:主要由Eclipse項目、Eclipse工具項目和Eclipse技術項目三部分組成.</p><p>  開發(fā):具體包括四個部分組成——Eclipse Platform,JDT,CDT和PDE.JDT支持Java開發(fā)、CDT支持C開發(fā)、PDE支持插件開發(fā).而Eclipse Platform則是一個開放的可擴展IDE,提供了一個通用的開發(fā)平臺.它提供建造塊和構造并運行集成軟件開發(fā)工具的基礎.</p>

34、<p><b>  Java語言的特點</b></p><p>  在參考了文獻[5]和文獻[6]中關于Java語言的基礎上,這一節(jié)主要概述了Java語言的最主要的六個特點:</p><p><b>  (1) 平臺無關性</b></p><p>  Java的一個顯著優(yōu)點就是運行時環(huán)境提供了平臺無關性,它利

35、用虛擬機原理,并在虛擬機中運行,實現(xiàn)不同平臺之間的Java接口,同時Java的數(shù)據(jù)類型與機器無關,但其基本數(shù)據(jù)類型的大小及其算法有明確的規(guī)定.因此,使用Java編寫的程序能在不同的平臺運行.</p><p><b>  (2) 安全性</b></p><p>  雖然Java的編程類似C++,但Java舍棄了C++的指針對存儲器地址的直接操作.由于Java程序運行時,

36、內存由操作系統(tǒng)分配,因此這樣就可以避免病毒通過指針入侵系統(tǒng),從而它提供了一個安全管理器,防止程序的非法訪問.</p><p>  (3) 面向對象性 </p><p>  Java吸收了C++面向對象的概念,將數(shù)據(jù)和操作封裝于類中,實現(xiàn)了程序的簡單性和便于維護性,使程序代碼可以只需一次編譯就可被反復利用.</p><p><b>  (4) 分布式<

37、/b></p><p>  Java建立在TCP/IP網絡平臺上,提供了用HTTP和FTP協(xié)議傳送和接收信息的庫函數(shù),使用其相關技術可以十分簡便的構建分布式應用系統(tǒng).</p><p><b>  (5) 健壯性</b></p><p>  Java致力與檢查程序在編譯和運行時的錯誤,并自動回收內存,大大減少了內存出錯的可能性.Java取消

38、了C語言的結構、指針、#define語句、多重繼承、goto語句、操作符等不易被掌握的特性,提供垃圾收集器自動回收不用的內存空間.</p><p><b>  (6) 多線程</b></p><p>  多線程可以帶來更好的交互響應和實時行為.適當?shù)厥褂枚嗑€程可以更充分地利用系統(tǒng)資源,使程序的效顯著提升.Java對多線程的處理非常簡單,在不同的平臺上,調用多線程的代碼

39、是完全相同的.</p><p><b>  分詞技術</b></p><p>  下面主要是在參考文獻[7]基礎上,總結了中文分詞技術的相關內容,中文分詞技術是最重要的中文文本預處理技術.其中自動分詞就是從信息處理需求出發(fā),按照特定的規(guī)范,對漢語按分詞單位進行劃分的過程.基于字符串匹配的、基于理解和基于統(tǒng)計的分詞方法是現(xiàn)在主要的三大算法.</p><

40、;p>  (1) 基于字符串匹配的分詞方法:按照一定的策略匹配待分析的漢字串與一個“充分大的”機器詞典中的詞條,如果在詞典中找到某個字符串,則匹配成功(識別出一個詞),反之,則失?。ヅ浞衷~方法可以分為正向匹配和逆向匹配(按照掃描方向的不同);又可以分為最大(最長)匹配和最小(最短)匹配(按照不同長度優(yōu)先匹配的情況);還可以分為單純分詞方法和分詞與標注相結合的一體化方法(按照是否與詞性標注過程相結合).此外,還可以將上述各種方法

41、相互組合,例如雙向匹配法,它將正向最大匹配方法和逆向最大匹配方法結合起來. </p><p>  (2) 基于理解的分詞方法:是通過讓計算機模擬人對句子的理解,來達到識別詞的效果.其基本思想如下:首先,分詞的句法、語義分析同時進行;然后,歧義現(xiàn)象利用其句法信息和語義信息來處理.它通常包括三大部分,分詞子系統(tǒng)、句法語義子系統(tǒng)、總控部分.在總控部分的協(xié)調下,分詞子系統(tǒng)可以獲得有關詞、句子等的句法和語義信息來對分詞歧義

42、進行判斷.</p><p>  (3) 基于統(tǒng)計的分詞方法:這種方法只需對語料中的字組的頻度進行統(tǒng)計,我們可以對語料中相鄰共現(xiàn)的各個字的組合的頻度進行統(tǒng)計,計算它們的互現(xiàn)信息[7](即計算兩個漢字X、Y的相鄰共現(xiàn)概率.互現(xiàn)信息體現(xiàn)了漢字之間結合關系的緊密程度.當緊密程度高于某一個閾值時,便可以認為此字組可能構成了一個詞),并且不需要切分詞典,因而又叫做無詞典分詞法.但這種方法也有一定的局限性,一部分共現(xiàn)頻度高、但

43、并不是詞的常用字組會經常被抽出,例如“你的”、“有的”、“我的”、“大多數(shù)的”等,并且還有兩個明顯的不足之處:一是常用詞的識別精度較差,二是時空開銷較大. </p><p>  如今,中文分詞技術在文本短消息過濾中得到了十分廣泛的應用,先分詞再匹配,使得文本過慮的精度得到了較大的提高.</p><p><b>  信息過濾技術</b></p><p

44、>  信息過濾的概念及特點</p><p>  信息過濾[8-9]的定義是指計算機根據(jù)用戶提供的一個過濾需求(user Profile),從動態(tài)變化的信息流(比如Web)中自動檢索出滿足用戶需求的信息.其應用系統(tǒng)就是可以引用信息過濾技術從而處理相關信息,特點主要表現(xiàn)為以下幾點:</p><p>  (1) 信息過濾系統(tǒng)的數(shù)據(jù)設計主要可以分為無結構化設計和半結構化設計兩種.比如電子郵件

45、,就是一類典型的半結構化數(shù)據(jù),它具有結構化的郵件頭和無結構的郵件正文.</p><p>  (2) 信息過濾系統(tǒng)主要是用來處理文本信息的.由于信息過濾系統(tǒng)處理的數(shù)據(jù)一般為輸入信息流,其中包括遠程數(shù)據(jù)源以廣播的形式發(fā)送消息或者直接發(fā)送信息.</p><p>  (3) 信息過濾系統(tǒng)還需要包含一組對用戶過濾需求的描述.這種描述既可以用來屏蔽不良的信息,又可以用來收集有益的信息.</p&g

46、t;<p><b>  信息過濾系統(tǒng)的分類</b></p><p>  下面主要從過濾操作的主動性與被動性、過濾系統(tǒng)運行的位置、過濾策略、用戶信息獲取的方法這四個不同的角度來介紹信息過濾系統(tǒng)[9],如圖2-4-2所示.</p><p>  (1) 過濾系統(tǒng)主動性與被動性</p><p>  信息過濾可以分為主動過濾和被動過濾這兩類

47、.對于主動過濾系統(tǒng)而言,它是一種推送機制,步驟如下:首先,系統(tǒng)主動收集信息;其次,將相關信息推薦給用戶.如果在信息超載的情況下,它還可以將更為精確以及用戶最需要的信息推薦給他們,其中不包含其他大規(guī)模噪聲信息.對于被動過濾系統(tǒng)而言,其步驟如下:首先,系統(tǒng)被動地等待信息的到來;然后,對用戶收到的信息進行判斷,保留相關信息;最后,過濾其它信息.</p><p>  (2) 過濾系統(tǒng)運行的位置</p>&l

48、t;p>  信息過濾系統(tǒng)運行的主要位置包括了信息源、服務器端和客戶端,這三部分在運行中起到至關重要的作用.a信息源過濾是指將過濾模板提交給信息發(fā)布者;b服務器過濾是指把用戶需求模板放在服務器上;c客戶端過濾是指把用戶的需求模板放在客戶端.</p><p><b>  (3) 過濾策略</b></p><p>  過濾策略大致上包含了基于認知的(也稱為基于內容的信

49、息過濾)策略和基于協(xié)作的(協(xié)作信息過濾)策略.其中基于認知的過濾策略主要匹配文檔內容和用戶profile;而基于協(xié)作的過濾策略是通過用戶之間的相似度和聚類實現(xiàn)協(xié)作性過濾,對基于認知的過濾策略的進一步地補充.</p><p>  (4) 用戶信息獲取的方法</p><p>  用戶信息獲取的方法主要有以下三種形式:顯式獲取、隱式獲取、顯式和隱式并用.a顯式獲取一般是通過詢問和填寫表單的形式實

50、現(xiàn);b隱式獲取則是通過記錄用戶的行為實現(xiàn)的;c顯式和隱式并用的方法由文檔空間(基于案例的方法)和推理(預先定義默認的profile,在掃描過程中再改變)這兩部分組成的.</p><p>  圖2-4-2信息過濾系統(tǒng)的分類</p><p><b>  信息過濾系統(tǒng)的結構</b></p><p>  信息過濾系統(tǒng)[10-11]主要由信息提供模塊、用

51、戶需求描述模塊、過濾模塊和學習模塊組成.</p><p>  下面主要介紹這四大模塊的主要內容:</p><p>  (1) 信息提供模塊的核心是信息分析器,其主要任務是對輸入系統(tǒng)的信息建立起統(tǒng)一的分析和描述.①可以先將信息描述成向量空間模型(VSM)或布爾模型(Boolean model),②然后每個輸入的信息經過提取的特征進行描述后,再提供給過濾模塊,③再根據(jù)一定的過濾算法與用戶需求進

52、行匹配. </p><p>  (2)用戶需求描述模塊的主要任務是在由2.4.3節(jié)(1)中的向量空間模型所對應的特征空</p><p>  間這一描述方式的基礎上,建立一個反映用戶客觀需求的模型.其中獲得并且描述用戶的過濾需求在整個信息過濾系統(tǒng)中占有重要的地位,而過濾的效果取決于用戶需求文檔的優(yōu)劣.因此,通常情況下都會從關鍵詞和文檔集來表達用戶過濾的需求,但是它們也有著局限性.</p

53、><p>  (3) 過濾模塊采用的算法直接決定了過濾結果的好壞,是整個信息過濾系統(tǒng)的核心部分.它的主要任務是計算并且判斷信息與用戶需求的相關性.典型的過濾模型如下:布爾模型、向量空間模型、概率推理模型、隱性語義索引(LSI)模型等, </p><p>  (4) 學習模塊的主要任務是先通過學習的方式逐步改進用戶需求模型,然后增強過濾系</p><p>  統(tǒng)的準確性.

54、主要表現(xiàn)為①檢測用戶興趣是否發(fā)生變化;②更新系統(tǒng)用戶模型profile;③提高后續(xù)過濾效果.</p><p>  文獻[10]給出了較詳細的信息過濾系統(tǒng)結構圖:</p><p>  圖2-4-3信息過濾系統(tǒng)結構圖</p><p><b>  文本的過濾匹配技術</b></p><p>  在文本過濾中最關鍵的一步是匹配,

55、而匹配的精度將直接影響被過濾文本的準確度.根據(jù)文獻[1]中的相關內容,具體總結了一種模糊匹配算法.</p><p>  已知字符串t的長度為n,模式串p的長度為m,一個正整數(shù)k<m,找出t中所有字串s滿足ed(s,p)<=k.其中,ed(s,p)是指把p轉變成s需要的修改次數(shù).</p><p>  在此基礎之上,文獻[7]進行了改進,并且提出了近似匹配,使得過濾更為精確:用t[

56、i]和p[j]來表示接受比較的一對字符,用wrong 表示允許產生誤差的個數(shù).對文獻[1]與文獻[7]中的匹配結果進行比較,判斷t[i]是否是為漢字;若不是,則進行下一個字符t[i+1]和p[j]的匹配,否則將按照是否找到第1個匹配位置的情況討論.重復該過程,直到i=m 或j=n 時結束.</p><p><b>  算法描述:</b></p><p>  輸入:文本

57、串t[1, m]和模式串p[1, n],num 為找到匹配的個數(shù),count為不匹配個數(shù).</p><p>  while i<m and j<n</p><p><b>  do</b></p><p>  if T[i] = = P[j] then</p><p>  num 加1,繼續(xù)比較T 和P 的下

58、一個字符</p><p><b>  else</b></p><p>  if T[i]不是漢字,而P[j]是漢字,then</p><p>  用T 的下一字符和P 比較</p><p><b>  else</b></p><p>  if num==0 then<

59、;/p><p>  if T[i+1] = = P[j+1] then</p><p>  num 加1 ,繼續(xù)比較T 和P 的后2 個字符</p><p>  else 用T 的下一字符和P 比較</p><p>  else count 加1,繼續(xù)比較T 和P 的下一個字符</p><p>  if count 的數(shù)目

60、超過允許的最大誤差數(shù)目</p><p>  wrong then</p><p>  count 清零 ,num 清零,j 回到第1 次</p><p>  改進的算法中,1)當兩個字符失配時,不是立即回溯,而是作進一步的判斷,若出現(xiàn)特殊符號,則直接跳過;2)若不存在特殊符號,而文本中已經找到了部分匹配,且不匹配個數(shù)在允許的范圍之內,后面字符繼續(xù)匹配,一直到誤差超出

61、范圍且循環(huán)沒有結束,進行回退.</p><p>  為了避免只對文本串中的首個字符做替換,在沒有找到匹配前,會根據(jù)文本串和模式串中下一個字符是否匹配決定兩個字串的移動情況.最后,根據(jù)返回的結果來求解相似度,即查找到的匹配字符的個數(shù)占模式串總長度的百分比.相似度的定義如下:</p><p>  quote = num/n;</p><p>  若quote>閾值

62、,則return 是不良短消息.</p><p>  理論上該算法的比較次數(shù)不會超過文本串的長度.</p><p><b>  正則表達式</b></p><p>  正則表達式是一種可以用于模式匹配和替換的強有力的工具.其中,一個正則表達式就是由普通的字符(例如字符 a 到 z)以及特殊字符(稱為元字符)組成的文字模式,它描述在查找文字主體時

63、待匹配的一個或多個字符串.正則表達式作為一個模板,將某個字符模式與所搜索的字符串進行匹配.正則表達式在字符數(shù)據(jù)處理中起著非常重要的作用,我們可以用正則表達式完成大部分的數(shù)據(jù)分析處理工作.</p><p><b>  需求分析</b></p><p><b>  提出問題</b></p><p>  隨著手機功能的日漸豐富以

64、及手機日常生活的緊密聯(lián)系,手機信息安全問題在2006年以“安全”為電信日主題的時節(jié)里,再一次成為人們關注的焦點.廣大手機用戶的信息安全意識被迅速激發(fā)而形成明確需求,一直以來,手機信息安全已經成為了全社會所重點關注的問題,而當信息安全從“單向”變?yōu)椤半p向”的時候,毫無疑問人們所關注的問題將會得到更加嚴密的保護.</p><p>  手機在人們日常生活中的重要性已經不言而喻,但同時它給人們也帶來巨大的威脅.手機內部信

65、息的泄露、遺失或被盜,已經成為人們“不可承受之重”,特別是對于一些身份顯赫的人,一旦信息丟失,后果不堪設想.然而手機信息安全絕非僅僅是社會精英層次面臨的問題,隨著手機用途的日趨廣泛,如手機付費、手機聯(lián)網等,手機信息安全已經成為一個社會性的普遍問題[11].</p><p>  由于3G時代的來臨,人們正在期望著手機的智能化給我們帶來的種種遐想.這預示著一個以手機為載體的移動業(yè)務時代的來臨.另一方面,手機的高普及率

66、使得手機與個人的生活隱私、商業(yè)活動緊密相關,手機的使用安全和隱私安全問題已經顯得十分重要.</p><p>  手機作為一個日益重要的信息載體,如何對其內部及通訊過程中的敏感信息進行有效保護,已經成為亟待解決的問題.因此,開發(fā)一套融合實時監(jiān)控、短信發(fā)送、短信過濾等功能的手機信息安全系統(tǒng)是非常重要的.</p><p><b>  項目開發(fā)目標</b></p>

67、<p>  短消息過濾系統(tǒng)包括短消息發(fā)送、短消息過濾等工作.根據(jù)短消息過濾系統(tǒng)的需求和特點,該系統(tǒng)運行后,應該達到以下目標:</p><p>  (1) 界面清晰美觀,能夠友好地與用戶進行交互;</p><p>  (2) 通過特征匹配實現(xiàn)高效快速的垃圾短信的過濾;</p><p>  (3) 用戶可以對不良信息進行添加和刪除;</p>

68、<p>  (4) 啟動實時監(jiān)控后,系統(tǒng)對用戶操作進行監(jiān)控并反饋監(jiān)聽結果;</p><p>  (5) 系統(tǒng)運行穩(wěn)定、安全可靠.</p><p><b>  系統(tǒng)的開發(fā)環(huán)境</b></p><p>  下載JDK和Eclipse(www.sun.com)</p><p>  安裝SUN JDK:jdk-1_5_

69、0_06-windows-i586-p.exe</p><p>  安裝 Eclipse:Eclipse3.2中文版(詳見參考文獻[3-4]).</p><p><b>  可行性分析</b></p><p><b>  技術可行性</b></p><p>  本系統(tǒng)是在Eclipse 集成開發(fā)環(huán)境

70、下,使用Java語言設計完成的.下面主要來闡述一下技術可行性的相關內容.</p><p>  技術上的可行性分析主要是考慮將來要采用的硬件和軟件技術能否滿足用戶提出的要求(如計算機的容量、速度等),隨著信息技術的發(fā)展,現(xiàn)在一般的電腦內存都已達到1G,雙核處理器也很普遍,硬盤的存儲容量基本上在250G到1T的范圍.因此硬件技術能夠支持上述軟件的正常運行.此外,還要考慮開發(fā)人員的水平,作為計算機科學與技術專業(yè)畢業(yè)的學

71、生,我們掌握了Java語言及其應用技術、軟件工程、數(shù)據(jù)結構、計算機網絡技術等課程,對所開發(fā)軟件的設計、應用、維護有了深刻的認識與一定的動手實踐能力,從一定程度上具備了開發(fā)一個小型系統(tǒng)的能力.</p><p>  Windows 2000/XP操作系統(tǒng)的穩(wěn)定性,安全性可滿足用戶的要求.關于本作品的開發(fā)環(huán)境,就是JDK和Eclipse,JDK提供了虛擬機來運行應用程序,Eclipse及其它插件提供了個開發(fā)測試程序代碼

72、的IDE集成開發(fā)環(huán)境.具有良好的可移植性和可維護性[13].</p><p><b>  實用性</b></p><p>  隨著計算機技術日漸成熟和智能手機的迅猛發(fā)展,建立起手機信息安全系統(tǒng)是現(xiàn)在發(fā)展的必然要求,其強大的功能已被人們所深刻認識,使用這樣的手機安全管理方式提供的服務是有效的、規(guī)范的、統(tǒng)一的,它有著傳統(tǒng)手工信息管理所無法比擬的優(yōu)點:①安全性能高、②保密性

73、好、③短信過濾迅速、④壽命長、⑤成本低等.</p><p>  能夠十分有效地保護手機信息安全,使手機信息管理智能化、科學化,保證人們工作的簡便化.另外,本系統(tǒng)界面友好,操作簡單方便,不需要太多專業(yè)知識,易被用戶接受.因此,本系統(tǒng)在操作上是可行的.</p><p><b>  系統(tǒng)設計與實現(xiàn)</b></p><p><b>  系統(tǒng)總

74、體設計</b></p><p>  本系統(tǒng)是在Eclipse集成開發(fā)環(huán)境下,運用Java語言設計完成的.短消息過濾系統(tǒng)實現(xiàn)了對手機的短信過濾功能.短消息過濾系統(tǒng)結構圖如圖5-1所示.</p><p>  圖5-1短消息過濾系統(tǒng)結構圖</p><p>  為了實現(xiàn)短消息過濾,下面運用java網絡編程技術[14-15],實現(xiàn)代碼:</p>&l

75、t;p>  (1) 短信發(fā)送和接收模塊</p><p>  用戶按“確定”鍵可以接收短信和發(fā)送短信,按“取消”鍵可以修改短信內容.其主要代碼為:</p><p>  private void communication() throws IOException {</p><p>  String message = "連接成功!";<

76、;/p><p>  sendData(message);</p><p>  // setTextFieldEditable(true);</p><p><b>  do {</b></p><p><b>  try {</b></p><p>  message = (St

77、ring) input.readObject();</p><p>  displayMessage("\n" + message);</p><p><b>  }</b></p><p>  catch (ClassNotFoundException classNotFoundException) {</p>

78、<p>  displayMessage("\n收到異常對象類型");</p><p><b>  }</b></p><p>  } while (!message.equals("客戶端>>> stop"));</p><p><b>  }</b>

79、;</p><p>  (2) 短信過濾模塊</p><p>  當用戶收到短信時,系統(tǒng)會提取短信中的內容與filter文檔里的關鍵字進行匹配.匹配成功,則用*代替關鍵字;匹配失敗,進行正常發(fā)送.主要代碼為:</p><p>  private void sendData(String message) {</p><p><b>

80、  try {</b></p><p>  String regEx = "[`~!@#$%^&*()+=|{}''\\[\\]<>/?~!@#¥%……&*()——+|{}【】‘;:”“’.、?]";</p><p>  Pattern p = Pattern.compile(regEx);</p>

81、<p>  Matcher m = p.matcher(message);</p><p>  message= m.replaceAll("").trim();</p><p>  for(int i=0;i<filterstr.size();i++){</p><p>  message=message.replaceAll

82、(filterstr.get(i),this.getStars(filterstr.get(i)));</p><p><b>  }</b></p><p>  output.writeObject(message);</p><p>  output.flush();</p><p>  //displayMe

83、ssage("\n服務器端>>> " + message);</p><p><b>  }</b></p><p>  catch (IOException ioException) {</p><p>  displayArea.append("\n發(fā)生寫入錯誤");</p&g

84、t;<p><b>  }</b></p><p><b>  }</b></p><p>  (3) 實時監(jiān)控模塊</p><p>  實時監(jiān)控模塊可由用戶自行決定啟動或停止,此模塊可以監(jiān)聽用戶的操作,同時會將結果反饋給監(jiān)聽測試模塊,當用戶點擊監(jiān)聽測試時,系統(tǒng)會顯示監(jiān)聽結果.主要代碼為:</p>

85、<p>  public void init() {</p><p>  this.readTxt("c:/filter.txt");</p><p>  Container container = getContentPane();</p><p>  myPanel = new JPanel();</p><

86、p>  myPanel.setLayout(null);</p><p>  int x = 10, y = 10, width = 170, height = 100;</p><p>  String name = "";</p><p>  displayArea = new JTextArea(5, 20);</p>

87、<p>  JButton[] jb = new JButton[22];</p><p>  // this.setContentPane(myPanel);</p><p>  displayArea.setBounds(x, y, width, height);</p><p>  container.add(new JScrollPane(disp

88、layArea), BorderLayout.NORTH);</p><p>  container.add(myPanel);</p><p><b>  y += 0;</b></p><p>  width = 35;</p><p>  height = 20;</p><p>  //

89、確定鍵 取消鍵 接聽鍵 掛機鍵</p><p>  name = "確認";</p><p>  jb[10] = this.makebutton(name, x, y, width, height, myPanel);</p><p>  jb[10].addActionListener(new ActionListener() {<

90、/p><p>  public void actionPerformed(ActionEvent event) {</p><p>  sendData(displayArea.getText());</p><p>  displayArea.setText("");</p><p><b>  }</b&g

91、t;</p><p><b>  });</b></p><p><b>  x += 135;</b></p><p>  name = "取消";</p><p>  jb[11] = this.makebutton(name, x, y, width, height, my

92、Panel);</p><p>  jb[11].addActionListener(new ActionListener() {</p><p>  public void actionPerformed(ActionEvent event) {</p><p>  String str=displayArea.getText();</p><

93、p>  displayArea.setText(str.substring(0,str.length()-1));</p><p><b>  }</b></p><p><b>  });</b></p><p><b>  x = 10;</b></p><p>&l

94、t;b>  y += 25;</b></p><p>  width = 35;</p><p>  height = 20;</p><p>  name = "接聽";</p><p>  jb[12] = this.makebutton(name, x, y, width, height, myPa

95、nel);</p><p><b>  x += 135;</b></p><p>  name = "掛機";</p><p>  jb[13] = this.makebutton(name, x, y, width, height, myPanel);</p><p>  jb[13].addAc

96、tionListener(new ActionListener() {</p><p>  public void actionPerformed(ActionEvent event) {</p><p>  disconnect();</p><p><b>  }</b></p><p><b>  });

97、</b></p><p><b>  // 1...9</b></p><p>  char c = 'a';</p><p><b>  x = 15;</b></p><p><b>  y += 20;</b></p><

98、;p>  width = 45;</p><p>  height = 45;</p><p>  for (int i = 1; i < 10; i++) {</p><p>  if (i == 9) {</p><p>  jb[i] = this.makebutton(i + "" + (c++) +

99、(c++), x, y, width,</p><p>  height, myPanel);</p><p><b>  } else {</b></p><p>  jb[i] = this.makebutton(i + "" + (c++) + (c++) + (c++), x, y,</p><p

100、>  width, height, myPanel);</p><p><b>  }</b></p><p>  if (i % 3 == 0) {</p><p><b>  x = 15;</b></p><p><b>  y += 55;</b>&l

101、t;/p><p><b>  } else {</b></p><p><b>  x += 55;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  // *

102、0#</b></p><p><b>  // x=15;</b></p><p><b>  // y+=55;</b></p><p>  jb[19] = this.makebutton("*", x, y, width, height, myPanel);</p>&l

103、t;p><b>  x += 55;</b></p><p>  jb[0] = this.makebutton("0", x, y, width, height, myPanel);</p><p><b>  x += 55;</b></p><p>  jb[20] = this.makeb

104、utton("#", x, y, width, height, myPanel);</p><p>  for(int i=0;i<10;i++){</p><p>  jb[i].addActionListener(new ActionListener() {</p><p>  public void actionPerformed(A

105、ctionEvent event) {</p><p>  String str=displayArea.getText();</p><p>  displayArea.setText(str+event.getActionCommand().substring(0,1));</p><p><b>  }</b></p>&l

106、t;p><b>  });</b></p><p><b>  }</b></p><p>  for(int i=19;i<21;i++){</p><p>  jb[i].addActionListener(new ActionListener() {</p><p>  publ

107、ic void actionPerformed(ActionEvent event) {</p><p>  String str=displayArea.getText();</p><p>  displayArea.setText(str+event.getActionCommand().substring(0,1));</p><p><b>  

108、}</b></p><p><b>  });</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  界面設計</b></p><p>  系統(tǒng)界面包括可視

109、化窗口,對手機信息的發(fā)送、接收、查看、刪除和設置等,具體功能如</p><p><b>  圖5-2所示.</b></p><p>  圖5-2短消息過濾系統(tǒng)界面</p><p><b>  系統(tǒng)流程分析</b></p><p>  所謂系統(tǒng)流程分析就是用戶在使用系統(tǒng)時的工作過程.系統(tǒng)流程圖如圖5-

110、3所示.</p><p>  圖5-3短消息過濾系統(tǒng)流程圖</p><p>  (1) 文本短消息發(fā)送功能</p><p>  當運行TalkServer.jar時,界面會顯示“服務器已啟動,等待連接...”字樣;當運行TalkClient.jar后,界面會顯示“正在嘗試連接…”“連接成功”等字樣,說明此時軟件已經正常運行,可以發(fā)送文本短消息.在服務器端窗口輸入任意

111、文字,并按下界面上的確認按鈕,短消息即會發(fā)送,發(fā)送的短消息將顯示在客戶端窗口中.</p><p>  (2) 文本短消息過濾功能</p><p>  在“C:\”目錄下新建一個TXT文本文件,并重命名為Filter.txt,打開文件,輸入希望過濾的敏感詞匯,例如“法輪功”、“邪教”、“明慧網”等.重新啟動客戶端和服務器端.在服務器端輸入包含敏感詞的短信內容,并按下確認按鈕,短信將發(fā)送.本軟

112、件同時考慮到網上現(xiàn)在較為流行的一種規(guī)避過濾的方式,避免自己的短信息遭到過濾,在短消息敏感詞匯中添加符號,使該敏感信息繞開過濾軟件,發(fā)送到目的手機上.例如將“法輪功”寫成“法@輪#功”.我們利用了正則表達式這一有力的工具,解決了這個比較棘手的問題. </p><p><b>  系統(tǒng)測試與分析</b></p><p>  在完成了程序的編寫工作后,接下來就是進行軟件的測

113、試,這里說的軟件并不單指程序本身還包括其他方面.測試和開發(fā)一樣,也是一項技術性很強的工作,有著很多的技巧.軟件測試是軟件質量保證的主要活動之一,所以測試的質量直接影響軟件的質量.</p><p><b>  測試的過程及目標</b></p><p>  軟件測試就是在軟件運行前對軟件的需求分析、設計規(guī)格說明和編碼的最終復審,是保證軟件質量十分關鍵的步驟.如果要給軟件測

114、試下定義,那么軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程.</p><p>  因為軟件錯誤具有復雜性、多樣性等特點,軟件測試需要綜合應用測試技術,軟件測試分為單元測試、集成測試、確認測試和系統(tǒng)測試.測試的目標是以最少的時間和人力找出軟件中潛在的各種錯誤和缺陷.</p><p>  短消息過濾系統(tǒng)的測試</p><p>  在完成編碼的工作以后,根據(jù)6.1節(jié)的方法進行了

115、如下的測試:</p><p>  (1) 界面測試:在手機界面上反復點擊各個按鈕,測試其連接情況,直到所有的鏈接都達到預期的效果. </p><p>  發(fā)送文字: 接收成功:</p><p>  圖6-1 正常發(fā)送英文短消息</p><p>  發(fā)送中文:

116、 成功接收:</p><p>  圖6-2 正常發(fā)送中文短消息</p><p>  輸入內容: 接收成功,并成功過濾:</p><p>  圖6-3 含有關鍵字的短消息過濾發(fā)送</p><p>  輸入帶有特殊內容

117、的文本: 接收成功,并成功過濾:</p><p>  圖6-4 含有摻雜亂碼的關鍵字的短消息過濾發(fā)送</p><p>  (2) 需求測試:根據(jù)需求分析的內容,測試需求是否和當初的設計一樣.</p><p>  為了測試結果更加準確,我在實驗室做了一些實驗,共有107人參加,每人的實驗短信條數(shù)為35-50條.他們的實驗數(shù)據(jù)和實

118、驗結果如圖6-5(分為實驗者編號和過濾成功率)所示.</p><p>  圖6-5 短信消息過濾系統(tǒng)實驗結果</p><p>  通過這幾方面的測試,我及時地修正了系統(tǒng)中存在的問題,很好的提高了系統(tǒng)的性能,達到了預期目標.</p><p><b>  性能分析</b></p><p>  通過實際操作,發(fā)現(xiàn)本系統(tǒng)長時間

119、不間斷連續(xù)運行后也不會出現(xiàn)錯誤,系統(tǒng)不會出現(xiàn)嚴重的錯誤,并且由于有較高的容錯技術,能較快的糾正意外錯誤,使系統(tǒng)穩(wěn)定可靠.</p><p>  本文講究的系統(tǒng)不僅能夠準確、快速的處理短消息過濾所出現(xiàn)的問題,還能夠基本滿足用戶的需求,使系統(tǒng)簡單實用.然而經過性能測試得出,短信消息過濾系統(tǒng)的功能還不是很完善,有一定的缺陷和限制,其界面設計還有些簡單,樣式還不是特別美觀等不足,有待于進一步的研究和設計.不過具體功能能夠完

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論