相關(guān)申請
本申請要求于2016年6月24日提交的2016125278號俄國申請的權(quán)益,其公開通過引用合并于此。
實施例總地涉及信息安全,并且更具體地涉及用于識別垃圾消息(spammessage)的系統(tǒng)和方法。
背景技術(shù):
互聯(lián)網(wǎng)廣告是最便宜的廣告類型之一?;诨ヂ?lián)網(wǎng)的垃圾消息是互聯(lián)網(wǎng)廣告的最普遍的類型,占電子郵件流量總量的70%-90%。垃圾消息是廣告或其他類型的信息向沒有請求它們的人們的大量發(fā)送。垃圾消息包括通過電子郵件、通過即時消息傳送協(xié)議、在社交網(wǎng)絡(luò)、博客、交友網(wǎng)站、論壇上發(fā)送的消息,以及sms和mms消息。
增長的垃圾消息量引發(fā)了許多技術(shù)、經(jīng)濟和犯罪議題。這些議題包括數(shù)據(jù)傳輸裝置和其他資源的重負荷、用戶處理消息的時間、以及趨于詐騙和盜竊的消息內(nèi)容轉(zhuǎn)移。很明顯,對于檢測和控制垃圾消息存在著迫切的需要。
有很多方法來對抗垃圾消息。最有效的方法之一是使用反垃圾消息軟件,例如用于識別和移除不受歡迎的垃圾消息的反垃圾消息應(yīng)用程序。反垃圾消息應(yīng)用程序可以使用有助于過濾和移除垃圾消息的方法。這種方法通?;谠~組的分析和來自消息文本的詞組的校驗和。
例如,7,555,523號美國專利描述了一種系統(tǒng),在該系統(tǒng)中使用各種長度的n元語法模型(n-gram)分析消息正文的字母序列?;趶陌⒌男蛄械臄?shù)據(jù)庫中查找相似的序列做出關(guān)于消息中是否包含垃圾消息的結(jié)論。
技術(shù)實現(xiàn)要素:
在一個實施例中,一種用于識別垃圾電子郵件消息的系統(tǒng)包括:計算平臺,所述計算平臺包括至少一個處理器的計算硬件、可操作地耦連至所述至少一個處理器并且配置為存儲由所述至少一個處理器調(diào)用的指令的存儲器、在所述計算硬件上實現(xiàn)的操作系統(tǒng)、以及輸入/輸出設(shè)備;規(guī)則數(shù)據(jù)庫,所述規(guī)則數(shù)據(jù)庫配置為存儲多個比例確定規(guī)則,所述比例確定規(guī)則包括用于文本串的一組條件,針對所述條件所述規(guī)則被用于確定語法模型(gram)中的單詞的n值以及在輸入文本中要跳過的單詞的k值;矢量數(shù)據(jù)庫,所述矢量數(shù)據(jù)庫配置為存儲多個已知矢量,其中所述多個已知矢量按照主題類別而被分類;指令,當所述指令在所述計算平臺上執(zhí)行時,使所述計算平臺實現(xiàn):消息處理工具,所述消息處理工具配置為經(jīng)由所述輸入/輸出設(shè)備接收電子郵件消息,所述電子郵件消息包含主題字段,gram建立工具,所述gram建立工具配置為根據(jù)所述規(guī)則數(shù)據(jù)庫中的比例確定規(guī)則所確定的用于所述輸入文本的主題字段的所述k值和所述n值之比來建立k-跳過-n元語法(k-skip-n-gram)詞組集合,矢量建立工具,所述矢量建立工具配置為從所述gram建立工具接收所述k-skip-n-gram詞組集合、并為每個k-skip-n-gram詞組建立矢量,以及垃圾消息識別工具,所述垃圾消息識別工具配置為根據(jù)每個k-skip-n-gram詞組與特定電子郵件消息主題字段主題類別的多個已知矢量的余弦相似性(similarity)來確定垃圾消息存在閾值,并在所述垃圾消息存在閾值被超過時確定所述電子郵件消息包含垃圾消息。
在一個實施例中,一種用于識別垃圾郵件消息的方法包括:接收電子郵件消息,所述電子郵件消息包含主題字段文本;確定所述主題字段文本的至少一個參數(shù);基于所述主題字段文本的所述至少一個參數(shù)和多個比例確定規(guī)則來確定所述主題字段文本中語法模型(gram)中單詞的n值和要跳過的單詞的k值;根據(jù)所述k值和所述n值之比來建立所述主題字段文本的k-跳過-n元語法(k-skip-n-gram)詞組集合;為所述詞組集合中的每個k-skip-n-gram詞組建立矢量;計算每個k-skip-n-gram詞組與多個已知矢量的余弦相似性,其中所述多個已知矢量按主題類別分類;基于所述計算出的每個k-skip-n-gram詞組與所述已知矢量的余弦相似性比例以及所述已知矢量被分類的主題類別來確定消息主題類別;基于每個k-skip-n-gram詞組與所述多個已知矢量的余弦相似性來為經(jīng)確定的電子郵件信息主題類別確定垃圾消息存在閾值;至少基于所有建立的矢量之間的余弦相似性的比例計算當前的垃圾消息存在值;以及當所述當前的垃圾消息存在值超過所述垃圾消息存在閾值時,確定所述電子郵件消息包含垃圾消息。
一種用于主題行電子郵件分析的系統(tǒng)包括:消息處理引擎,所述消息處理引擎通信地耦連至電子郵件服務(wù)器并且配置為接收電子郵件消息,所述電子郵件消息包含主題行;語法模型(gram)建立引擎,所述gram建立引擎配置為根據(jù)公式
上述概述不意圖描述每個例示的實施例或其主題的每種實施方式。后續(xù)的附圖和詳細描述更具體地例示各種實施例。
附圖說明
結(jié)合附圖,參考下文的不同實施例的詳細描述,本發(fā)明的主題將被更完整地理解,其中:
圖1a是根據(jù)實施例的、例示電子郵件消息中標題字段以及電子郵件消息的示例主題字段的截屏的圖表。
圖1b是根據(jù)實施例的、可由系統(tǒng)和方法執(zhí)行的余弦相似性的公式和余弦相似性的矢量表示。
圖2是根據(jù)實施例的、用于識別郵件消息中的垃圾消息的系統(tǒng)的框圖。
圖3是根據(jù)實施例的、用于識別郵件消息中的垃圾消息的方法的流程圖。
圖4是根據(jù)實施例的、各種引擎可以在其上執(zhí)行本發(fā)明的一種功能或一組功能的計算機系統(tǒng)的框圖。
雖然各實施例可以經(jīng)受各種修改和替代形式,但其細節(jié)已經(jīng)在附圖中以示例的方式加以顯示,并將加以詳細描述。然而,應(yīng)該理解的是,本發(fā)明不將所要求的發(fā)明限定為所描述的具體的實施例。相反,本發(fā)明將覆蓋所有落在如權(quán)利要求所規(guī)定的主題的精神和范圍內(nèi)的修改、等同和替代。
具體實施方式
互聯(lián)網(wǎng)消息格式(imf)的請求注解(rfc)5322為在“電子郵件”(email)消息的框架之內(nèi)在計算機用戶之間發(fā)送的文本消息定義了一種語法。一個消息可以包含若干個標題字段(這些字段的全體被稱作消息標題部分(section)),接著是消息正文。標題部分是字符串序列,其語法在本文參照圖1a進行描述。消息正文是跟隨標題部分的字符序列,并且由空白字符串,例如只包含回車換行(crlf)的字符串將其與標題部分隔開。
參照圖1a,描繪了例示電子郵件消息中的標題字段和電子郵件消息的示例主題字段的截屏的圖表100。此處描述的實施例可以分析消息標題部分,并且尤其是“主題”字段。例如,消息主題可以是描述了該消息的目的和內(nèi)容的短句。截屏102描繪了在電子郵件界面中所顯示的若干個主題字段。
實施例可以使用關(guān)于在消息標題的主題字段中消息主題的信息識別包含垃圾消息的消息。例如,參考圖2,用于識別電子郵件消息中垃圾消息的系統(tǒng)200一般地包括消息處理工具220、比例確定工具230、矢量建立工具240、垃圾消息識別工具250、規(guī)則數(shù)據(jù)庫260以及矢量數(shù)據(jù)庫270。
所述系統(tǒng)包括多個引擎,其中每一個被構(gòu)造、編程、配置、或以其它方式適應(yīng)于自動地執(zhí)行功能或功能的集合。單詞“引擎”在此處被定義為現(xiàn)實中的裝置、元件、或元件的布置,其通過使用硬件實現(xiàn),諸如通過專用集成電路(asic)或現(xiàn)場可編程門陣列(fpga),或例如通過硬件和軟件的集合實現(xiàn),諸如通過微處理器系統(tǒng)和一組程序指令使該引擎適應(yīng)于執(zhí)行特定的功能,(當其被執(zhí)行時)將該微處理器系統(tǒng)轉(zhuǎn)換為特定用途的裝置。引擎還可以實現(xiàn)為由硬件單獨促進的特定功能和由硬件和軟件的結(jié)合促進的其他功能這二者的結(jié)合。在特定的實施方式中,至少一部分,以及在一些情況下,引擎的全部可以被執(zhí)行在由硬件(例如一個或多個處理器、數(shù)據(jù)存儲裝置例如存儲器或驅(qū)動器存儲、輸入/輸出設(shè)備例如網(wǎng)絡(luò)接口裝置、視頻設(shè)備、鍵盤、鼠標或觸摸屏設(shè)備等等)組成的一個或多個計算平臺的處理器上,其執(zhí)行操作系統(tǒng)、系統(tǒng)程序、以及應(yīng)用程序,而且還在合適時使用多重任務(wù)處理、多線程、分布式的(例如集群、對等層、云等)處理或其他這類技術(shù)實現(xiàn)引擎。因此,每個引擎可以被實現(xiàn)為各種物理上可實現(xiàn)的配置,并且應(yīng)該一般地不限于此處例示的任何特定實現(xiàn)方式,除非該限制被清楚地表明。此外,一個引擎自身可以由一個以上子引擎構(gòu)成,其中每個子引擎可以被視為一個獨立的引擎。此外,在此處描述的實施例中,各引擎中的每個對應(yīng)于已定義的自動功能;然而,應(yīng)該理解的是,在其他的預(yù)期的實施例中,每種功能可以分布到一個以上的引擎。同樣地,在其他的實施例中,與此處的例子中特別地例示的相比,多種已定義的功能可以由實施那些多種功能的單一引擎實現(xiàn),可能與其他的功能一起,或不同地分布在一組引擎之間。
消息處理工具220配置為接收電子郵件消息210、識別該消息主題文本的參數(shù)、以及將該消息主題文本和該消息主題的文本參數(shù)(一旦被識別)發(fā)送到比例確定工具230。因此,在實施例中,消息處理工具220通信地耦連至電子郵件服務(wù)器和比例確定工具230。該耦連可以是經(jīng)由互聯(lián)網(wǎng)或其他網(wǎng)絡(luò)。
在一個實施例中,所接收的電子郵件消息包括其標題、以文本形式的消息主題。在進一步的實施例中,消息文本包含三個以上單詞。在其他的實施例中,消息主題包含可以被轉(zhuǎn)換成三個以上單詞的文本的字符,例如速記或縮寫詞。
在一個實施例中,可以接收具有無意義的不可分割的或不可分解的字符序列的消息。這種消息的產(chǎn)生可能是由于例如消息編碼中的錯誤。在特定的實施例中,這種消息還可能表示包含垃圾消息的消息。在其他的情況中,可以接收具有包含多個單詞的主題的消息。例如,可以采用由三個或更多個單詞組成的消息主題文本使分析最優(yōu)化。
消息主題文本的參數(shù)是表示該消息主題文本實質(zhì)特征的值。消息主題文本的參數(shù)可以是,例如:
·寫該消息主題文本的語言;
·該消息主題文本中單詞的數(shù)目;
·該消息主題文本中冠詞的數(shù)目;
·該消息主題文本中標點符號的數(shù)目;
·該消息主題文本中代詞的數(shù)目;
·該消息主題文本中介詞的數(shù)目等。
比例確定工具230通信地耦連值消息處理工具220、矢量建立工具240、以及規(guī)則數(shù)據(jù)庫260。在一個實施例中,比例確定工具230配置為確定k和n的值,以便基于消息主題文本參數(shù)使用規(guī)則數(shù)據(jù)庫260中的比例確定規(guī)則來建立k-跳過-n元語法(k-skip-n-gram)詞組。
n-gram是由n個單詞組成的詞組序列。n值是集合中的一個詞組將包含的單詞的數(shù)目。例如,如果n=2,則由這句話“hi!getyourticketswithadiscount!”建立的二元語法(2-gram(bi-gram))集合的結(jié)果是“higet;getyour;yourtickets;ticketswith;witha;withdiscount;adiscount.”
k-skip-n-gram是由n個單詞組成的詞組的序列,在其間最多k個單詞被跳過。因此,k值表示除了鄰接的單詞以外,詞組可以包含除了最初的單詞以外的1到k個單詞。
例如,如果n=2,k=2,由上述句子建立的2-skip-bi-gram的集合的結(jié)果將是“higet;hiyour;hitickets;getyour;gettickets;getwith;yourtickets;yourwith;youra;ticketswith;ticketsa;ticketsdiscount;witha;withdiscount;adiscount.”
比例確定規(guī)則包含一組條件。比例確定工具230配置為根據(jù)這組條件挑選或計算最接近的匹配值。在實施例中,該條件可以是基于消息主題文本參數(shù)。在大多數(shù)歐洲語言中,k值可以受到冠詞和介詞的數(shù)目的影響。例如,語言中具有的冠詞和介詞越多,k值就應(yīng)該越小。在實施例中,以某種語言的消息文本中冠詞的數(shù)目也影響k值。在實施例中,n值尤其受到參數(shù)例如消息主題文本中代詞的數(shù)目或介詞的數(shù)目的影響。
在一個例子中,下列條件的集合可以包含用于確定k值的規(guī)則:消息主題文本中單詞的數(shù)目—3到10;消息主題文本的語言—英語;標點符號的數(shù)目—3;結(jié)果是,k值等于2。下列條件的集合是用于確定k值的規(guī)則的另外一個例子:消息主題文本中單詞的數(shù)目—10以上;消息主題文本的語言—俄語;標點符號的數(shù)目—0;結(jié)果是,k值等于3。
在另外一個例子中,下列條件的集合可以是用于確定n值的規(guī)則:k值等于2,消息主題文本的語言是西班牙語,消息主題文本中代詞的數(shù)目是3;結(jié)果是,n值等于2。本領(lǐng)域的技術(shù)人員將容易領(lǐng)會的是,此處提供的這些特定的參數(shù)值僅僅是示例性的,并且可以同樣應(yīng)用其他的規(guī)則。
比例確定工具230配置為使用所確定的k值和n值從消息主題文本中建立k-skip-n-gram詞組的集合。在實施例中,比例確定工具230進一步配置為將所建立的k-skip-n-gram詞組傳達給矢量建立工具240。
規(guī)則數(shù)據(jù)庫260包含對k值確定規(guī)則和n值確定規(guī)則的存儲。在一個實施例中,規(guī)則數(shù)據(jù)庫260包含sql數(shù)據(jù)庫,然而規(guī)則數(shù)據(jù)庫260還可以包含如由通用數(shù)據(jù)庫管理存儲系統(tǒng)(dbms)所實現(xiàn)的數(shù)據(jù)存儲。在其他的實施例中,規(guī)則數(shù)據(jù)庫260可以包含平面文件或文件系列。在實施例中,規(guī)則數(shù)據(jù)庫260可以包含簡單的作為計算機的一部分的非易失性存儲器。在其他的實施例中,規(guī)則數(shù)據(jù)庫260可以包含關(guān)系數(shù)據(jù)庫或數(shù)據(jù)庫系列。前述事項不以任何方式限制可以使用的數(shù)據(jù)庫的類型或數(shù)據(jù)庫的結(jié)構(gòu),因為這些實施例只是以示例的方式被給出,并且不意圖限制實施例的范圍。
矢量建立工具240配置為針對來自已建立的集合的每個k-skip-n-gram詞組建立矢量。矢量建立工具240進一步配置為針對來自已建立的集合的每個k-skip-n-gram詞組計算余弦相似性比例;即,在每個建立的矢量和來自矢量數(shù)據(jù)庫270的已知矢量之間。
參考圖1b,描繪了根據(jù)一個實施例的余弦相似性的公式和余弦相似性的矢量表示。余弦相似性是兩個矢量之間的相似性的度量。具體地,余弦相似性度量原希爾伯特(pre-hilbert)空間中兩個矢量之間的角度的余弦。對于來自建立的集合的每個k-skip-n-gram詞組,建立一個矢量以便計算余弦相似性比例。例如,對于來自上述的“折扣票”文本的2-跳過-雙元語法(2-skip-bi-gram)詞組,用于計算相似性比例的矢量將是下述的:-2.6226241.0913681.2219461.1184060.286586-0.4777370.925635-0.1795250.212215-1.8045601.452010-1.630697-0.0308210.525848-1.306217-0.847145-0.209074-2.020271。
矢量建立工具240使用該矢量來確定與已知矢量的余弦相似性。例如,使用矢量數(shù)據(jù)庫270中的已知矢量,確定或檢測最相似的詞組。例如,在詞組“折扣票”的矢量和從矢量數(shù)據(jù)庫270中得知的詞組“售票”的矢量之間的余弦相似性的比例經(jīng)計算等于0.75,而對于詞組“演唱會票”,其可以等于0.79。
在實施例中,矢量建立工具240進一步配置為確定消息的主題類別(category)。例如,計算得出的在至少一個已建立的矢量和從矢量數(shù)據(jù)庫270中已知的矢量之間的相似性的比例可以被用于確定消息的主題類別。
在一個實施例中,消息的主題類別是包含消息、單獨的詞組、或目錄中類似的矢量、或?qū)懽鞯哪康牡念悇e,其使用單詞、詞組或具有相似意義的并且對特定主題典型的單詞和字符的組合。很多垃圾信件被預(yù)先分析,例如,使用非負矩陣分解(nmf),或使用潛在狄利克雷分布(latentdirichletallocation)被分解成主題類別。例如,“經(jīng)濟收入”類別的垃圾消息的可以包括包含關(guān)于額外收入、月收入金額、除常規(guī)工作以外的額外收入機會等的信息的消息。在一個實施例中,消息或單獨的詞組或由詞組建立的矢量都可以屬于一個主題類別。
在一個實施例中,矢量建立工具240通過例如與相同主題的矢量數(shù)據(jù)庫270中已知的矢量具有最高相似性比例的矢量或矢量的組合來確定消息的主題類別。因此,如果,例如,來自矢量數(shù)據(jù)庫270的已知的矢量屬于特定的主題類別,例如“陪護服務(wù)”,并且已建立的矢量之一與其具有高比例的余弦相似性,則接收的消息將屬于同一類別。
矢量數(shù)據(jù)庫270配置為存儲在k-skip-n-gram詞組的余弦相似性比例計算中使用的已知的矢量。在實施例中,在矢量數(shù)據(jù)庫270中已知的矢量按主題類別被分類。
如上所述,可以使用各種數(shù)據(jù)庫類型作為規(guī)則數(shù)據(jù)庫260以及矢量數(shù)據(jù)庫270,也就是:分層數(shù)據(jù)庫(ims、tdms、系統(tǒng)2000)、網(wǎng)絡(luò)數(shù)據(jù)庫(cerebrum、сronospro、dbvist)、關(guān)系數(shù)據(jù)庫(db2、informix、microsoftsql服務(wù)器)、面向?qū)ο蟮臄?shù)據(jù)庫(jasmine、versant、poet)、對象關(guān)系數(shù)據(jù)庫(oracle數(shù)據(jù)庫、postgresql、firstsql/j、功能數(shù)據(jù)庫,等等。還可以使用反病毒服務(wù)器更新數(shù)據(jù)庫。
如圖2中所描繪的,矢量建立工具240進一步通信地耦連至垃圾消息識別工具250。在實施例中,矢量建立工具240進一步配置為將關(guān)于計算出的余弦相似性比例和消息的具體主題類別的數(shù)據(jù)到垃圾消息識別工具250。
垃圾消息識別工具250可以利用垃圾消息存在比例確定消息包含垃圾消息的可能性。在一個實施例中,垃圾消息存在比例的當前值是在接收的消息中存在垃圾消息的定量指標。在一個實施例中,垃圾消息存在比例的當前值是使用基于消息主題文本建立的集合中所有矢量之間計算出的余弦相似性的比例來確定的??梢允褂美缢薪⒌氖噶康挠嘞蚁嗨菩员壤乃阈g(shù)平均值來計算垃圾消息存在比例的當前值。在一個實施例中,垃圾消息識別工具250進一步配置為使用所有建立的矢量的余弦相似性比例來計算垃圾消息存在比例的當前值。
在一個實施例中,垃圾消息存在比例的極限值是所接收的消息被認為是包含垃圾消息的消息的垃圾消息存在比例值。垃圾消息存在比例的極限值取決于消息的主題類別。例如,對于每個消息主題類別,可以通過測試消息集合的回歸分析來確定垃圾消息存在比例的極限值。在其他的實施例中,可以通過反復試驗(trialanderror)或強力計算法(bruteforceapproach)來確定垃圾消息存在比例的極限值。可以將極限值輸入到矢量數(shù)據(jù)庫270。在實施例中,極限值可以根據(jù)下列各種進行調(diào)整:建立的集合中k-skip-gram的數(shù)目、與至少一個計算出的矢量具有高相似性比例的矢量數(shù)據(jù)庫中的已知矢量的數(shù)目、以及其他確定的值。根據(jù)一個實施例,針對每個消息主題類別的垃圾消息存在比例的極限值被存儲在矢量數(shù)據(jù)庫270中。
垃圾消息識別工具250配置為基于消息主題類別確定垃圾消息存在比例的極限值。在一個實施例中,例如,消息屬于“陪護服務(wù)”主題類別。該消息的主題類別是基于例如2-skip-2-gram“陪護價格”而確定的,從中建立矢量以便計算相似性比例。2-skip-2-gram“陪護價格”可以被選為確定項,因為由該2-skip-2-gram中建立的矢量與矢量數(shù)據(jù)庫270中的三個已知矢量具有最高的相似性比例。例如,建立的矢量與k-skip-n-gram“陪護價格”的第一矢量的相似性比例為0.78,是建立的集合中所有建立的矢量的相似性比例中最高的一個。建立的矢量與k-skip-n-gram“陪護價格”中第二矢量的相似性比例為0.69,其也是高比例。所述的矢量與k-skip-n-gram“陪護價格”中第三矢量的相似性比例是0.53。建立的集合具有24個2-skip-2-gram,其意味著消息主題文本有10個單詞。因此,對于從矢量數(shù)據(jù)庫270中得知的主題類別“陪護服務(wù)”,垃圾消息存在的極限比例是0.80??紤]到更新的數(shù)據(jù)(3個矢量,10個單詞),由垃圾消息識別工具250確定的極限比例是0.77。可以使用算術(shù)公式計算更新,如本領(lǐng)域技術(shù)人員將容易領(lǐng)會的那樣。
垃圾消息識別工具250進一步配置為當確定的垃圾消息存在比例的極限值被超過時在接收的消息中尋找垃圾消息。在垃圾消息存在比例的極限值沒有被超過的實施例中,接收的消息被確定為沒有垃圾消息,并且系統(tǒng)結(jié)束操作。
參考圖3,描繪了根據(jù)一個實施例的、用于識別電子郵件消息中的垃圾消息的方法300的流程圖。
在310,消息處理工具220接收在其標題中包含消息主題的電子郵件消息。在一個實施例中,消息主題包含三個以上單詞的文本。
在311,消息處理工具220確定消息主題文本的參數(shù)并將該文本和該消息主題文本的參數(shù)發(fā)送到比例確定工具230。
在312,比例確定工具230確定k和n的值,以便基于消息主題文本的參數(shù)、使用比例確定規(guī)則來建立k-skip-n-gram詞組。
在313,比例確定工具230使用所確定的k和n的值從消息主題文本中建立k-skip-n-gram詞組的集合,并且將所建立的k-skip-n-gram詞組的集合發(fā)送到矢量建立工具240。
在314,矢量建立工具240建立矢量以便為建立的集合中的每個k-skip-n-gram詞組計算余弦相似性比例。
在315,矢量建立工具240為每個建立的矢量計算與矢量數(shù)據(jù)庫270中已知的矢量的余弦相似性比例。
在316,矢量建立工具240基于計算出的與已知矢量的余弦相似性的比例確定消息主題類別,并將關(guān)于計算出的余弦相似性比例和關(guān)于消息主題類別的數(shù)據(jù)發(fā)送到垃圾消息識別工具250。
在317,垃圾消息識別工具250至少基于消息主題類別確定垃圾消息存在比例的極限值。
在318,垃圾消息識別工具250至少基于所有建立的矢量之間的余弦相似性比例來計算垃圾消息存在比例的值。
在319,垃圾消息識別工具250檢查計算出的垃圾消息存在比例的值是否超過其已確定的極限值。如果超過了垃圾消息存在比例的已確定的極限值,則在320,垃圾消息識別工具250確定接收的消息中存在垃圾消息。如果沒有超過垃圾消息存在比例的已確定的極限值,則系統(tǒng)在321結(jié)束操作,確定接收的消息中不存在垃圾消息。
圖4是更詳細地例示根據(jù)各實施例的、本文描述的本發(fā)明的方面可以在其上實現(xiàn)的計算系統(tǒng)400的圖表。
計算系統(tǒng)400可以包含計算裝置,例如個人計算機420,其包括一個或多個處理單元421、系統(tǒng)存儲器422以及系統(tǒng)總線423,其包含各種系統(tǒng)部件,包括與一個或多個處理單元421相連接的存儲器。在各實施例中,處理單元421可以包括能夠處理存儲在計算機可讀介質(zhì)中的信息的多個邏輯核心。系統(tǒng)總線423實現(xiàn)為相關(guān)的技術(shù)水平上已知的任意總線結(jié)構(gòu),依次包括能夠與任意其他總線架構(gòu)交互的總線存儲器或總線存儲器控制器、外圍總線和局部總線。系統(tǒng)存儲器可以包括非易失性存儲器,例如只讀存儲器(rom)424,或易失性存儲器,例如隨機存取存儲器(ram)425?;据斎?輸出系統(tǒng)(bios)426包括基本程序,其確保個人計算機420的元件之間信息的轉(zhuǎn)移,例如,在使用rom424的操作系統(tǒng)啟動期間。
個人計算機420,依次地,具有用于數(shù)據(jù)讀寫的硬盤驅(qū)動器427、用于在可移動磁盤429上讀寫的磁盤驅(qū)動器428、以及用于在移動光盤431如cd-rom、dvd-rom和其他光學介質(zhì)上讀寫的光驅(qū)430。硬盤驅(qū)動器427、磁盤驅(qū)動器428、以及光驅(qū)430分別通過硬驅(qū)接口432、磁盤驅(qū)動接口433以及光驅(qū)接口434與系統(tǒng)總線423連接。驅(qū)動器和相應(yīng)的計算機信息介質(zhì)代表用于存儲計算機指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊以及個人計算機420上的其他數(shù)據(jù)的不依賴能源的手段。
描繪的系統(tǒng)包括硬盤驅(qū)動器427、可移動的磁盤驅(qū)動器429、以及可移動的光驅(qū)430,但應(yīng)該理解的是可以使用其他類型的能夠以計算機可讀的形式(固態(tài)驅(qū)動器、閃存卡、數(shù)碼光盤、隨機存取存儲器(ram)、等等)存儲數(shù)據(jù)的、通過控制器455連接到系統(tǒng)總線423的計算機介質(zhì)。
計算機420包括文件系統(tǒng)436,其中存儲了記錄的操作系統(tǒng)435、以及額外的程序應(yīng)用437、其他的程序引擎438和程序數(shù)據(jù)439。用戶可以使用輸入裝置(鍵盤440、鼠標442)輸入命令和信息到個人計算機420。還可以使用其它的輸入裝置(未顯示),例如:麥克風、操縱桿、游戲控制臺、掃描儀等。這些輸入裝置通常通過串行端口446連接到計算機系統(tǒng)420,串行端口446轉(zhuǎn)而連接到系統(tǒng)總線,但它們也可以以不同的方式連接—例如,使用并行端口、游戲端口或通用串行總線(usb)。監(jiān)視器447或其他類型的顯示裝置也通過接口連接到系統(tǒng)總線,例如視頻適配器448。除了監(jiān)視器447以外,個人計算機420可以配備有其他的外圍輸出裝置(未示出),例如揚聲器、打印機等。
個人計算機420能夠在網(wǎng)絡(luò)環(huán)境下工作;在這種情況下,它使用網(wǎng)絡(luò)連接一個或幾個其他的遠程計算機449。遠程計算機449是類似的個人計算機或服務(wù)器,其具有之前在描述圖4中示出的個人計算機420的內(nèi)容時所記錄的大部分或全部上述元件。計算網(wǎng)絡(luò)還可以有其他的裝置,例如路由器、網(wǎng)絡(luò)戰(zhàn)、對等裝置或其他網(wǎng)絡(luò)節(jié)點。
網(wǎng)絡(luò)連接可以組成局域網(wǎng)(lan)450或廣域網(wǎng)(wan)。這類網(wǎng)絡(luò)用于企業(yè)計算機網(wǎng)絡(luò)或企業(yè)內(nèi)部網(wǎng)中,并且通常可以訪問互聯(lián)網(wǎng)。在lan或wan網(wǎng)絡(luò)中,個人計算機420通過網(wǎng)絡(luò)適配器或網(wǎng)絡(luò)接口451連接到局域網(wǎng)450。當使用網(wǎng)絡(luò)時,個人計算機420可以使用調(diào)制解調(diào)器454或其他裝置連接到廣域網(wǎng),例如互聯(lián)網(wǎng)。調(diào)制解調(diào)器454,其是內(nèi)部的或外部的裝置,通過串行端口446連接到系統(tǒng)總線423。應(yīng)該闡明的是這些網(wǎng)絡(luò)連接只是示例性的,并且不一定反應(yīng)準確的網(wǎng)絡(luò)配置,即實際上還有其他使用計算機之間通信的技術(shù)手段建立連接的方式。
因此,提供電子郵件的主題的k-skip-n-gram分析的實施例比電子郵件的正文的分析更快。例如,電子郵件消息的正文可能有300個字,而消息的主題可能有少于20個字。20個字的分析比300個字的分析快得多。
進一步地,電子郵件的主題的k-skip-n-gram分析比電子郵件的正文的分析更精確。電子郵件的正文可以包括很多沒用的或多余的單詞、短語或句子。一般地,主題是消息的目的和短的內(nèi)容。它一般只包括有用的單詞。
在其他的特征和優(yōu)勢中,實施例在電子郵件消息的正文被加密而標題是明文的情況下可以被用于識別垃圾電子郵件消息。在評估電子郵件的正文用于垃圾消息測定的系統(tǒng)中,這種評估將是不可能的。
在其他的特征和優(yōu)勢中,利用k-skip-n-gram而非n-gram在電子郵件評估中是有益的。例如,基于給定的文本建立的n-gram集合將有基于同樣的文本建立k-skip-n-gram集合的20-30%左右的gram。80%的gram將是獨特的。
在此已描述了系統(tǒng)、裝置和方法的各實施例。這些實施例只是以示例的方式被給出,并且不意圖限制要求的發(fā)明的范圍。此外,應(yīng)該理解的是,已描述的實施例的不同的特征可以以各種方式結(jié)合以產(chǎn)生許多額外的實施例。此外,盡管各種材料、尺寸、形狀、配置和位置等已使用公開的實施例被描述以便使用,但在不超出要求的發(fā)明的范圍的情況下,除了那些公開以外的其他的也可以被利用。
本領(lǐng)域的技術(shù)人員將領(lǐng)會到,其主題可以包含少于上述任意單獨實施例中闡明的特征。此處描述的實施例不意味著其主題的不同的特征可能結(jié)合的方式的詳盡的展示。因此,實施例不互相排斥特征的組合;當然,不同的實施例可以包含來自不同的單獨的實施例的不同的單獨特征的結(jié)合,如本領(lǐng)域技術(shù)人員所領(lǐng)會的。此外,關(guān)于一個實施例所描述的元件可以在其他的實施例中被實現(xiàn),即使沒在該實施例中被描述,除非另有說明。
盡管從屬權(quán)利要求可以涉及在權(quán)利要求中與一個或多個其他的權(quán)利要求的特定的結(jié)合,其他的實施例也可以包括從屬權(quán)利要求與彼此獨立的權(quán)利要求的主題的結(jié)合或一個或多個特征與其他從屬或獨立權(quán)利要求的結(jié)合。該結(jié)合在此被提出,除非聲明了特定的結(jié)合不是預(yù)期的。
任何通過上述文本的引用的合并被限制為不合并與此處明確披露的相反的主題。任何通過上述文本的引用的合并進一步被限制為包括在文本中的權(quán)利要求在此處不被通過引用合并。任何通過上述文本的合并還進一步被限制為文本中提供的任何定義不在此通過引用被合并,除非明確地在此處被包括。
為了解釋權(quán)利要求的目的,明確地意指將不調(diào)用條款35u.s.c.§112(f),除非在權(quán)利要求中陳述專用術(shù)語“用于…的裝置”或“用于…的步驟”。