專利名稱:增量反垃圾郵件查找與更新服務(wù)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及識別合法郵件(例如好郵件)和不受歡迎的信息(例如垃圾郵件)的系統(tǒng)與方法,尤其涉及在消息處理過程中向現(xiàn)有的經(jīng)訓(xùn)練的垃圾郵件過濾器提供幾乎實(shí)時(shí)或?qū)崟r(shí)的更新。
(2)背景技術(shù)諸如因特網(wǎng)之類的全球通信網(wǎng)絡(luò)的出現(xiàn)提供了與大量潛在顧客建立聯(lián)系的商業(yè)契機(jī)。電子消息,尤其是電子郵件(“e-mail”),作為向網(wǎng)絡(luò)用戶散布不需要的廣告與促銷(也稱“垃圾郵件”)的手段,正變得越來越普遍。
Radicati集團(tuán)有限公司-一家咨詢與市場研究公司,估計(jì)到如在2002年8月,每天有20億垃圾電子郵件消息被發(fā)送-此數(shù)字預(yù)期每兩年增至三倍。個(gè)人與企業(yè)(例如公司、政府機(jī)構(gòu))感覺日益不便,并時(shí)常不勝垃圾郵件之煩。同樣地,垃圾電子郵件如今或即將成為對于可信計(jì)算的一種主要威脅。
一種用于阻礙垃圾電子郵件或兜售信息的關(guān)鍵技術(shù)是使用過濾系統(tǒng)和/或方法。然而,垃圾郵件發(fā)送者為了規(guī)避過濾器而不斷地改變他們的技術(shù)。因而期望能隨垃圾郵件發(fā)送者技術(shù)改變而迅速并自動地更新過濾器,并將其傳播到由消息客戶機(jī)和/或服務(wù)器運(yùn)行的終端應(yīng)用程序。
例如,可能有大約1億個(gè)消息通信程序的副本正被客戶機(jī)使用。此外,每天都能創(chuàng)建出新的垃圾郵件過濾器。因?yàn)槔]件過濾器可能相當(dāng)大,且可能需要每天將其分發(fā)到運(yùn)行該過濾器副本的每一客戶機(jī),在客戶機(jī)方和過濾器供應(yīng)者方,這一實(shí)行即使不是被禁止的,也是有問題的。尤其是,可能要求客戶機(jī)經(jīng)常下載大文件,因而消耗了大量處理器內(nèi)存,并降低了處理速度。因?yàn)檫^濾器供應(yīng)者可能必需每天為所有用戶和/或客戶機(jī)更新該過濾器的所有副本,因此可能需要的帶寬和服務(wù)器是極大量且不可行的。在此類情況下,比每天一次更頻繁地提供新過濾器如果不是完全不可能,也是幾乎不可能的。
(3)發(fā)明內(nèi)容為了提供對于本發(fā)明某些方面的基本理解,下文提出了本發(fā)明的簡化概述。此概述不是本發(fā)明的廣泛綜覽。它不試圖標(biāo)識本發(fā)明的關(guān)鍵/決定性元素,或描繪本發(fā)明的范疇。它唯一的目的是以簡化的形式提出本發(fā)明的某些概念,作為將于后文提出的更詳細(xì)描述的序言。
本發(fā)明涉及一種便于以實(shí)時(shí)或幾乎實(shí)時(shí)的方式向垃圾郵件過濾器提供局部或增量更新形式的新信息或數(shù)據(jù)的系統(tǒng)和/或方法。提供一種可用最新信息更新過濾器的幾乎實(shí)時(shí)的機(jī)制可以是提供對抗到來的垃圾郵件攻擊的最有效保護(hù)的一種策略。
具體地,本發(fā)明涉及向現(xiàn)有過濾器傳遞信息的增量部分,以便于保持過濾器對于新的好消息和/或新的垃圾郵件是最新的。這部分地可通過差異學(xué)習(xí)來達(dá)成,其中可將現(xiàn)有過濾器的一個(gè)或多個(gè)參數(shù)與新過濾器的相應(yīng)參數(shù)進(jìn)行比較。顯示某些改變的參數(shù)可被相應(yīng)地更新,從而減輕了替換整個(gè)過濾器的每一個(gè)副本的需要。因而,可發(fā)送現(xiàn)有過濾器和新過濾器間的“差異”來更新現(xiàn)有過濾器。結(jié)果,每個(gè)更新的大小可以相對較小甚至更小,取決于更新的頻率。這部分地歸功于下面事實(shí)更新的信息主要基于新的好消息或新的垃圾郵件;并且每小時(shí)只收到這么多垃圾郵件或好的消息。因而,在任意給定時(shí)幀內(nèi)進(jìn)行同樣多次的更新在對抗垃圾郵件的斗爭中變得相當(dāng)高效且有效。
根據(jù)本發(fā)明的一個(gè)方面,增量更新部分地可由服務(wù)器來確定。服務(wù)器可決定更新其過濾器的哪些部分、獲得這些更新、隨后將其提供給決定參與或付費(fèi)接收它們的用戶或客戶機(jī)。
根據(jù)本發(fā)明的另一方面,增量更新部分地可由用戶或客戶機(jī)經(jīng)由基于web的服務(wù)來確定。具體地,客戶機(jī)可收到一消息,其當(dāng)前過濾器在將該消息分類為垃圾郵件或好的郵件時(shí)存在困難。基于web的服務(wù)可提供一查找表或數(shù)據(jù)庫,該查找表或數(shù)據(jù)庫包括關(guān)于新近被確定為指示好的消息或垃圾郵件的消息或消息特征的數(shù)據(jù)或其他信息。通過從該消息中提取某些信息,客戶機(jī)可查詢該基于web的服務(wù),來確定對于其過濾器是否存在任何更新的信息。
例如,客戶機(jī)收到一消息,且該客戶感到難以將其分類為垃圾郵件或是好的郵件。該客戶機(jī)可提取該消息的某一部分,諸如發(fā)送者的IP地址、消息中的URL、或該消息的散列,來向基于web的查找服務(wù)請求更新的信息。在一實(shí)例中,可向基于web的服務(wù)提交一查詢??蛇x地或另外地,客戶機(jī)可參考由查找服務(wù)用當(dāng)前信息構(gòu)建并維護(hù)的一個(gè)或多個(gè)查找表或數(shù)據(jù)庫。當(dāng)找到至少一個(gè)更新時(shí),可相應(yīng)地更新該客戶機(jī)的過濾器。如果服務(wù)確定客戶機(jī)需要一系列更新,則服務(wù)可僅提供最新的更新,來減少需要下載的更新總數(shù)。
在任意給定垃圾郵件過濾器上可以有數(shù)以千計(jì)的可更新的不同參數(shù)。由于這些過濾器的特性,對一個(gè)參數(shù)值的一個(gè)小改變可引起幾乎所有參數(shù)的值的某種改變。因而,可有各種方法來確定要更新過濾器的哪些部分,以提供最有效的垃圾郵件保護(hù)。在本發(fā)明的一個(gè)方面,可以檢查參數(shù)變化的絕對值??蛇x擇顯示值的最大變化的參數(shù)來更新?;蛘撸稍O(shè)置一閾值變化量(例如基于絕對值)??蓸?biāo)記超出該閾值的任何參數(shù)來進(jìn)行更新。也可考慮諸如在到來的消息中的參數(shù)或特征的頻率等其他因素。
在本發(fā)明的另一方面,增量更新可以是特征專用的,并以服務(wù)器或客戶機(jī)偏好所期望的速度發(fā)生。此外,可構(gòu)建過濾器來使舊過濾器與新過濾器間的參數(shù)變化數(shù)量最小化。因而,任何一次過濾器更新(例如數(shù)據(jù)文件)的總的大小,及要更新的參數(shù)個(gè)數(shù)可比其他情況下小得多。
為達(dá)成前述及相關(guān)目的,此處結(jié)合以下描述與附圖,描述了本發(fā)明的某些說明性方面。但是,這些方面只是示意可使用本發(fā)明原理的各種方法中的幾種,并且本發(fā)明旨在包括所有此類方面及其等效方面。當(dāng)結(jié)合附圖考慮時(shí),從以下本發(fā)明的詳細(xì)描述中,本發(fā)明的其他優(yōu)點(diǎn)與新穎特征將變得顯而易見。
(4)
圖1是根據(jù)本發(fā)明的一個(gè)方面的反垃圾郵件更新系統(tǒng)的框圖,該系統(tǒng)便于向垃圾郵件過濾器提供機(jī)器學(xué)習(xí)的更新。
圖2是根據(jù)本發(fā)明一個(gè)方面的增量更新系統(tǒng)的示意性框圖。
圖3是一示意圖,它根據(jù)本發(fā)明的一個(gè)方面展示了用于生成具有限數(shù)量參數(shù)變化的垃圾郵件過濾器或其更新的系統(tǒng)或機(jī)制。
圖4是根據(jù)本發(fā)明一個(gè)方面的反垃圾郵件更新系統(tǒng)的框圖,該系統(tǒng)至少部分地基于客戶機(jī)請求。
圖5是根據(jù)本發(fā)明一個(gè)方面的反垃圾郵件更新系統(tǒng)的框圖,該系統(tǒng)至少部分地基于客戶機(jī)請求。
圖6是根據(jù)本發(fā)明一個(gè)方面的示例性反垃圾郵件查找web服務(wù)的示意圖。
圖7是根據(jù)本發(fā)明的一個(gè)方面示出一示例性方法的流程圖,該方法便于至少增量地更新垃圾郵件過濾器。
圖8是根據(jù)本發(fā)明的一個(gè)方面示出一示例性方法的流程圖,該方法便于生成呈現(xiàn)與前一過濾器的最小數(shù)量的更新或改變的過濾器。
圖9示出了用于實(shí)現(xiàn)本發(fā)明各個(gè)方面的示例性環(huán)境。
(5)具體實(shí)施方式
現(xiàn)參考附圖對本發(fā)明進(jìn)行描述,貫穿附圖,相同的參考標(biāo)號指相同的元素。在以下描述中,出于解釋的目的,闡述了大量具體細(xì)節(jié)以提供對本發(fā)明的徹底理解。然而,明顯的是,無須這些具體細(xì)節(jié)即可實(shí)施本發(fā)明。在其他實(shí)例中,為了便于描述本發(fā)明,以框圖形式示出眾所周知的結(jié)構(gòu)與設(shè)備。
如在本申請中所使用的,術(shù)語“組件”與“系統(tǒng)”意指計(jì)算機(jī)相關(guān)實(shí)體,它或者是硬件、硬件與軟件的組合、軟件或執(zhí)行中的軟件。例如,組件可以是,但不限于,運(yùn)行在處理器上的進(jìn)程、處理器、對象、可執(zhí)行碼、執(zhí)行線程、程序及計(jì)算機(jī)。作為示例,運(yùn)行在服務(wù)器上的應(yīng)用程序和該服務(wù)器都可以是組件。一個(gè)或多個(gè)組件可以駐留在進(jìn)程和/或執(zhí)行線程內(nèi),且組件可以位于一臺計(jì)算機(jī)上和/或分布在兩臺或多臺計(jì)算機(jī)之間。
本發(fā)明可結(jié)合各種關(guān)于向機(jī)器學(xué)習(xí)或非機(jī)器學(xué)習(xí)垃圾郵件過濾器至少提供局部或增量更新的推斷方案和/或技術(shù)。如本文中所使用的,術(shù)語“推斷”一般指根據(jù)一組經(jīng)由事件和/或數(shù)據(jù)捕捉到的觀測,來推理或推斷系統(tǒng)、環(huán)境和/或用戶狀態(tài)的過程。例如,推斷可用于標(biāo)識一特定上下文或行為,或可生成各狀態(tài)的概率分布。推斷可以是概率性的——即,基于對數(shù)據(jù)和事件的考慮對所關(guān)注的狀態(tài)概率分布的計(jì)算。推斷也可指用于從一組事件和/或數(shù)據(jù)中組成更高級事件的技術(shù)。此類推斷導(dǎo)致從一組觀測到的事件和/或存儲的事件數(shù)據(jù)中構(gòu)造新的事件或行動,而無論這些事件是否在時(shí)間上密切相關(guān),也無論這些事件和數(shù)據(jù)是否來自一個(gè)還是數(shù)個(gè)事件和數(shù)據(jù)源。
本發(fā)明的各個(gè)方面可應(yīng)用于機(jī)器學(xué)習(xí)和非機(jī)器學(xué)習(xí)過濾器。在一普通實(shí)現(xiàn)中,機(jī)器學(xué)習(xí)垃圾郵件過濾器通過使用一種機(jī)器學(xué)習(xí)算法來計(jì)算從消息中提取的各個(gè)特征的權(quán)重,從而獲知什么是好的消息和垃圾郵件的特征的定義。當(dāng)一主機(jī)應(yīng)用程序收到一消息時(shí),可對該消息流進(jìn)行語法分析,并檢查被強(qiáng)調(diào)為垃圾郵件或好消息指示符的特征或特性。隨即組合這些被強(qiáng)調(diào)的特征,以生成該消息是否為垃圾郵件的總概率。如果消息滿足一特定概率“閾值”,那么該消息可基于主機(jī)應(yīng)用程序的設(shè)置采取一道所分配的行動。例如,好消息可被引導(dǎo)到收件人的收件箱,而垃圾郵件消息可被路由到一特殊文件夾或被刪除。
垃圾郵件發(fā)送者在不斷改編他們的方法。通過以前的反饋循環(huán)和機(jī)器學(xué)習(xí)技術(shù),可自動且容易地生成新的過濾器。然而,有效率地向其用戶迅速地(諸如實(shí)時(shí)或幾乎實(shí)時(shí)地)傳播這些新過濾器可以是同樣重要的。新過濾器的傳播可分解成兩部分。第一部分涉及大小的問題。被傳播的過濾器可以很大,且難以作為整體來容易地分發(fā)。幸運(yùn)的是,這可至少部分地通過經(jīng)由一查找系統(tǒng)發(fā)送舊過濾器和新過濾器間的“差異”來克服。如下文將討論的,差異可根據(jù)大量因素和/或偏好(客戶機(jī)或服務(wù)器)來確定和/或基于這些因素和/或偏好。
第二個(gè)問題涉及過濾器更新的管理。在一方面,許多人可能希望包括新代碼和新數(shù)據(jù)在內(nèi)的對垃圾郵件過濾器所有改變可被自動傳播。在另一方面,許多管理員可能希望在自動傳播到其整個(gè)組織之前先在測試機(jī)器上安裝新文件和/或數(shù)據(jù)。如在下面的圖中所討論的,通過經(jīng)由在線查找服務(wù)僅將有差異的特征(權(quán)重)傳遞到存儲器,可以減輕傳播大過濾器的需要。
現(xiàn)參考圖1,有一根據(jù)本發(fā)明的一個(gè)方面的反垃圾郵件更新系統(tǒng)100的概括性框圖,該系統(tǒng)便于向舊的或現(xiàn)有的垃圾郵件過濾器提供差異信息。系統(tǒng)100包含測試消息接收組件110,該組件使用至少一個(gè)垃圾郵件過濾器120來將到來的測試消息分類為垃圾郵件或好的郵件。測試消息接收組件110可位于第三方客戶機(jī)或服務(wù)器(例如,家用計(jì)算機(jī))中??墒褂肧VM(支持矢量機(jī))、最大熵模型(邏輯回歸)、感知器、決策樹和/或神經(jīng)網(wǎng)絡(luò)中的任一種對垃圾郵件過濾器120進(jìn)行特殊訓(xùn)練。
系統(tǒng)100還包含可接收各種訓(xùn)練消息的訓(xùn)練消息接收組件130。例子包括反饋循環(huán)數(shù)據(jù)(例如,來自參與對到來的消息中至少一被選擇的部分進(jìn)行分類(垃圾郵件或好的郵件)的用戶的數(shù)據(jù))、用戶抱怨、蜜罐(honeypot)數(shù)據(jù)等等。訓(xùn)練消息接收組件130可在過濾器供應(yīng)者處找到。
到來的訓(xùn)練消息的至少一部分可被路由到特征分析子系統(tǒng)140,在那里對這些消息進(jìn)行語法分析,并檢查其類似垃圾郵件和/或非類似垃圾郵件的特征。具體地,諸如IP地址、URL和/或特定文本等多個(gè)特征的特征可從每個(gè)消息中提取出來,隨即被分析。使用機(jī)器學(xué)習(xí)組件150,可用有區(qū)別的方法來訓(xùn)練更新組件160?;蛘撸墒褂没谄ヅ浠蛏⒘械臄?shù)據(jù)來訓(xùn)練更新組件160。被路由到特征分析子系統(tǒng)140的消息可以是未經(jīng)過濾的或已過濾的消息,或者是兩者的組合。將已過濾的消息分類為垃圾郵件或好郵件無需影響更新組件160的訓(xùn)練,或?qū)]件過濾器120的更新的產(chǎn)生。
更新組件160包含諸如為多個(gè)消息和/或可從到來的消息中提取的特征(諸如單詞、IP地址列表、主機(jī)名、URL等等)計(jì)算的權(quán)值之類的數(shù)據(jù)。此類數(shù)據(jù)可被組織成由更新組件160控制的一個(gè)或多個(gè)數(shù)據(jù)文件或者數(shù)據(jù)庫。
當(dāng)由消息接收/分發(fā)系統(tǒng)(例如,一個(gè)或多個(gè)服務(wù)器)110提示時(shí),更新組件160可用附加信息至少增量地增加垃圾郵件過濾器120的至少一部分。例如,通過添加新的特征權(quán)重?cái)?shù)據(jù)和/或用任何給定特征的新權(quán)重?cái)?shù)據(jù)取代舊權(quán)重?cái)?shù)據(jù),更新組件160可更新垃圾郵件過濾器的數(shù)據(jù)部分。更新組件160還可被定制成在定時(shí)或調(diào)度的基礎(chǔ)上提供增量更新(如果可用的話),從而將任一更新的相對大小最小化。更新本身也可以在定時(shí)基礎(chǔ)上,或在收到的到來消息個(gè)數(shù)的基礎(chǔ)上生成。例如,每小時(shí)和/或每接收到第30個(gè)消息后,可創(chuàng)建更新。
現(xiàn)參考圖2,示出了一便于防止垃圾郵件的反垃圾郵件更新系統(tǒng)200的示意性框圖。概括而言,更新系統(tǒng)200將新參數(shù)數(shù)據(jù)與由現(xiàn)有垃圾郵件過濾器210所使用的舊參數(shù)數(shù)據(jù)進(jìn)行比較。系統(tǒng)200包含特征提取-分析組件220,該組件可檢查從到來的消息中提取的特征,以識別相關(guān)特征(例如,指示垃圾郵件或好的消息)并確定其權(quán)重、得分及其他相關(guān)數(shù)據(jù)。此數(shù)據(jù)可在參數(shù)更新數(shù)據(jù)庫230中存儲及維護(hù)??捎蓞?shù)分析組件240根據(jù)現(xiàn)有過濾器210中的舊參數(shù)數(shù)據(jù)來分析數(shù)據(jù)庫中的新參數(shù)數(shù)據(jù),從而確定是否有任何參數(shù)數(shù)據(jù)改變了。
例如,參數(shù)的權(quán)重可升高或降低,以指示更重要或更次要的垃圾郵件特性。此外,可向現(xiàn)有過濾器210添加或刪除參數(shù)。在后一情況中,當(dāng)其權(quán)重跌至0,參數(shù)或特征可從過濾器210中移除。
如果確定對于任何特定參數(shù)集或子集存在更新,則此類參數(shù)可被傳遞給更新控制器250。更新控制器250可從數(shù)據(jù)庫230訪問相關(guān)參數(shù)數(shù)據(jù),并能隨即將此類數(shù)據(jù)傳遞給現(xiàn)有過濾器210。本質(zhì)上,系統(tǒng)200向垃圾郵件過濾器提供一種更新服務(wù),來保持它們對于新形式的垃圾郵件是最新且有效的。
更新系統(tǒng)200可在客戶機(jī)或服務(wù)器上自動運(yùn)行。此外,該服務(wù)可通過訂購來起作用,其中支付確認(rèn)組件260可在提供任何更新前確定客戶機(jī)或服務(wù)器是否已為更新或更新服務(wù)付款。或者,在允許查找或更新發(fā)生之前,過濾器210可核實(shí)該訂購是最新的。
更新查找系統(tǒng)(例如在圖1和2中)可以是服務(wù)拒絕(DOS)或分布式DOS攻擊的天然目標(biāo)。因而可通過諸如將其遍及多個(gè)IP地址或?qū)?yīng)于不同IP地址的多個(gè)主機(jī)名分布,來加強(qiáng)系統(tǒng)對抗此類攻擊的能力。例如,在實(shí)踐中,可將不同IP地址分發(fā)給不同用戶(或客戶機(jī)或服務(wù)器),從而使攻擊者更難找出要攻擊的IP地址的完全列表。
有了機(jī)器學(xué)習(xí)技術(shù),可有數(shù)以千計(jì)的可被更新的不同數(shù)字參數(shù),因?yàn)閷?shí)質(zhì)上所有這些參數(shù)至少可作少量改變是可能的。結(jié)果,確定要作出什么更新可用數(shù)種不同的方法來決定。例如,一種方法涉及查看改變最大的參數(shù)的絕對值。然而,最大絕對值變化可能不是最能指示要更新哪些參數(shù)的。這在參數(shù)涉及很少被觀測的特征的情況下尤其真實(shí)。因而,當(dāng)確定要更新哪些參數(shù)時(shí)要考慮的其他因素可包括事件的發(fā)生、頻率、或基于最新近數(shù)據(jù)的參數(shù)的共性。例如,如果參數(shù)改變很大,但對應(yīng)特征僅在很少的消息中出現(xiàn)(例如,平均每100,000個(gè)消息中僅有3個(gè)),那么發(fā)送對此特征的更新可能不是對更新服務(wù)的有效使用。
另一方法涉及查看參數(shù)的絕對值,該參數(shù)改變了某個(gè)使其變得重要的量(例如,改變了某個(gè)最小值或閾值),或者對于更普通的特征來說,改變了某一與較不普通的特征不同的最小值。如果滿足一特定閾值,那么可更新參數(shù)。否則它保持不變。
又一方法涉及構(gòu)建試圖限制參數(shù)改變的數(shù)量的過濾器或過濾器更新。一些被稱作平衡特征的特征可彼此交互,并最終影響過濾器的行為。在訓(xùn)練期間,當(dāng)沒有在過濾器內(nèi)恰當(dāng)?shù)貞]及平衡特征時(shí),該過濾器的性能可被改變。因而,構(gòu)建限制參數(shù)改變數(shù)量的過濾器也可減輕跟蹤是否恰當(dāng)?shù)貞]及了平衡特征的需求。
例如,設(shè)想當(dāng)前使用的過濾器A,對于單詞“wet”有假定為0的權(quán)重,對于單詞“weather”有一為負(fù)的很小權(quán)重?,F(xiàn)在設(shè)想有包含單詞“wet”(而不是weather)的大量垃圾郵件到來。設(shè)想還有同時(shí)包含單詞“wet”和“weather”的適量的好郵件??蓪W(xué)習(xí)新過濾器B,它將“wet”加權(quán)為嚴(yán)重類似垃圾郵件,而“weather”有一平衡性的負(fù)(好)權(quán)值,因而當(dāng)這些單詞同時(shí)出現(xiàn)時(shí),它們的權(quán)重抵消,且該郵件不被分類為垃圾郵件?,F(xiàn)在可能能夠判定,與過濾器A相比,在過濾器B中的單詞“wet”足夠重要而要為其更新權(quán)重(它在大量郵件中出現(xiàn)),而單詞weather則不然(它在少量郵件中出現(xiàn),且作少量改變,因?yàn)樗呀?jīng)有一為負(fù)的很小權(quán)重)。因而,可傳播對“wet”的更新,但無需傳播對“weather”的平衡性更新,從而導(dǎo)致大量錯誤。為緩解此類不合需要的更新的創(chuàng)建,可構(gòu)造將參數(shù)改變數(shù)量最小化的過濾器,如圖3所示。
根據(jù)該圖,從包含舊數(shù)據(jù)的特征和權(quán)重的舊過濾器X 310開始。現(xiàn)使用機(jī)器學(xué)習(xí)訓(xùn)練新過濾器Y1 320。根據(jù)某些試探330找到X 310和Y1 320之間重要的差異。例如,可測量該差異的絕對值;從該差異中得到的信息;該差異的絕對值乘以使用該參數(shù)的頻率;等等。在線性模型的情況下(例如,SVM模型、單純貝葉斯模型、感知器模型、最大熵或邏輯回歸模型),模型由特征(例如,消息中的單詞)的權(quán)重組成。對于線性模型,這包括尋找根據(jù)這些度量之一改變最多的特征權(quán)重(340)。
接下來,可學(xué)習(xí)新過濾器Y2 350,它服從下面約束過濾器間的所有小的(或不夠重要的360)差異在Y2 350中必須有和在X 310中相同的值。例如,對于線性模型,這意味著非改變很大的特征的權(quán)重在Y2 350和在X 310中是相同的。然而,對于改變很大(例如,滿足某一閾值或試探)的特征,在Y2 350中的權(quán)重不同。參考之前“wet”和“weather”的例子,當(dāng)“wet”被認(rèn)為是壞的,它不能被認(rèn)為是太壞的詞,因?yàn)槠淦胶鈾?quán)重(“weather”)將被固定。因而不再需要跟蹤是否慮及平衡性特征。
可任選地,此程序可被反復(fù),以找出僅其權(quán)重一向不同的那些特征。例如,因?yàn)椤皐eather”參數(shù)值不能改變,可決定不改變“wet”參數(shù)值。
此外,可使用對Y2 350的更新代替對Y1 320的更新來更新過濾器。Y2 350和X 310間的差異比Y1 320和X 310間的差異小,因?yàn)樵撃P偷脑S多部分被強(qiáng)制不變。
另一種技術(shù)是僅更新數(shù)據(jù)的一部分,諸如改變較快的部分,或?qū)δP陀休^大影響的部分。例如,IP地址和URL數(shù)據(jù)可能比文本數(shù)據(jù)改變更快(或更慢)。此外,將這些特征獨(dú)立于其他特征來訓(xùn)練可能較簡單(見例如于2004年3月25日提交的美國申請第10/809,163號,題為Training Filters for IP Addressand URL Learning(為IP地址和URL學(xué)習(xí)訓(xùn)練過濾器))。因而,可構(gòu)建一模型,它保持某組特征不變,而允許其他特征改變。
此外,通過選擇性地更新特征的一個(gè)子集(例如,至少一個(gè)獨(dú)立于其他的特征),對該模型的未來更新可更容易地完成。此類模型的一個(gè)例子是決策樹,其中每個(gè)葉節(jié)點(diǎn)包含一獨(dú)立模型,該獨(dú)立模型可與其他葉節(jié)點(diǎn)處的模型相分離地更新。研究發(fā)現(xiàn),這些模型能和當(dāng)前構(gòu)建的模型有同樣數(shù)量的特征,但總體上有更好的性能。
存在其他設(shè)計(jì)先驗(yàn)?zāi)P偷姆椒?,使之具有在模型?gòu)建時(shí)相互之間不允許、或不被允許對權(quán)重進(jìn)行平衡的特征子集,包括通過將各特征類聚成相關(guān)的組群,或通過其他機(jī)制,來任意地劃分特征空間?;蛘撸缭跊Q策樹中,例如可通過將消息類聚成相關(guān)組群來劃分消息(在該情況下,如同在決策樹的情況下,在不同聚類中可有具有不同權(quán)重的重復(fù)特征,但它們可被獨(dú)立更新)。
增量更新也可至少部分地通過分發(fā)客戶機(jī)、服務(wù)器、或用戶接收到的消息的來確定——更新的特征首先集中在那些適用于特定顧客(服務(wù)器或客戶機(jī))所收到的最多的消息的特征。因而,舉例來說,多個(gè)客戶機(jī)可依照它們收到的消息類型,來接收對其過濾器的不同更新。
一旦確定了更新的類型,管理垃圾郵件過濾器的更新可以是具有挑戰(zhàn)性的。消息系統(tǒng)管理員常?;蛴袝r(shí)有興趣知道他們的用戶在使用什么軟件,包括數(shù)據(jù)文件。在某些情形下,管理員甚至可能希望他們所有的用戶運(yùn)行同樣的數(shù)據(jù),或者在他們有機(jī)會在中意的或合意的環(huán)境中測試新數(shù)據(jù)文件之前,他們可能不希望分發(fā)這些新數(shù)據(jù)文件。因而,他們可能不希望用戶直接與更新服務(wù)通信。
例如,在一情景中,在發(fā)送特定文件給用戶前,管理員寧愿先下載這些特定文件,并徹底檢驗(yàn)它們的可操作性、與其他系統(tǒng)文件的沖突,等等……。因而促進(jìn)一種兩階段傳播是合乎需要的,其中數(shù)據(jù)或代碼的更新首先被發(fā)送給管理員,然后傳播給用戶。在某些情形下,管理員可以已經(jīng)信任過濾器供應(yīng)者,并可能更喜歡無須驗(yàn)證的完全自動的查找程序。
應(yīng)當(dāng)理解,此查找或更新服務(wù)可要求代碼,以在電子郵件客戶機(jī)或服務(wù)器上運(yùn)行。并且,查找或更新可以調(diào)度的時(shí)間間隔執(zhí)行,該時(shí)間間隔可由終端用戶或管理員指定?;蛘撸梢栽谀承┦录l(fā)生時(shí)執(zhí)行查找或更新,諸如當(dāng)啟動或打開消息通信程序時(shí)。當(dāng)一更新可用,可通知終端用戶或管理員(例如,更新是可任選的),或者更新可以是自動的??梢越o予終端用戶或管理員這些選項(xiàng)間的選擇。最后,對垃圾郵件過濾器的更新可以即時(shí)發(fā)生并生效,甚至無須重新啟動該消息通信程序。
如所討論的,對垃圾郵件過濾器的更新可以至少是增量的,其中垃圾郵件過濾器最有用或最期望部分被更新,而剩下的部分保持不變,從而將更新和與其相關(guān)聯(lián)的有關(guān)數(shù)據(jù)文件的大小最小化。在大多數(shù)情況下,服務(wù)器負(fù)責(zé)確定進(jìn)行哪些更新、何時(shí)進(jìn)行此類更新、和/或進(jìn)行此類更新的方式。不幸的是,服務(wù)器在作出此類確定時(shí)可能很遲緩,或者此類更新的定時(shí)或內(nèi)容可能與客戶機(jī)或用戶的過濾需求略為不重合。對客戶機(jī)來說,任一情況都可能有問題,尤其是當(dāng)現(xiàn)有垃圾郵件過濾器對特定消息的分類不確定,且客戶機(jī)無法承受更久的延遲來等待服務(wù)器提示的更新時(shí)。
在圖4中,描繪了查找服務(wù)系統(tǒng)400的示意性框圖,該系統(tǒng)允許在垃圾郵件過濾器正被客戶使用時(shí)對其進(jìn)行更新。查找服務(wù)系統(tǒng)400可類似于上述圖1中的更新系統(tǒng)100,尤其是在關(guān)于生成某類更新數(shù)據(jù),以向垃圾郵件過濾器進(jìn)行幾乎實(shí)時(shí)或?qū)崟r(shí)的更新方面。然而,此外,查找服務(wù)系統(tǒng)400可經(jīng)客戶機(jī)或終端用戶的請求,而不是只經(jīng)由服務(wù)器指令,向垃圾郵件過濾器提供更新。
根據(jù)該圖,到來的測試消息可被傳遞到測試消息接收組件410,該組件使用至少一個(gè)垃圾郵件過濾器420以便于將消息分類為垃圾郵件或非垃圾郵件。測試消息可幫助確定在給定當(dāng)前參數(shù)組時(shí),垃圾郵件過濾器420的準(zhǔn)確度。測試消息接收組件410可位于第三方服務(wù)器或客戶機(jī)上。垃圾郵件過濾器420可以是機(jī)器學(xué)習(xí)訓(xùn)練的或是非機(jī)器學(xué)習(xí)訓(xùn)練的。
更新學(xué)習(xí)可以如下執(zhí)行到來的訓(xùn)練消息的至少一部分可經(jīng)由訓(xùn)練消息接收組件(位于過濾器供應(yīng)者上)435被路由到特征分析系統(tǒng)430。該特征分析系統(tǒng)430可基于從訓(xùn)練消息的至少一部分中提取的各特征及其相應(yīng)的權(quán)重,來生成最新近的數(shù)據(jù),并將其存儲在查找數(shù)據(jù)庫440中。
因?yàn)槔]件發(fā)送者不斷改編和/或修改其垃圾郵件,可能有一部分無法由現(xiàn)有垃圾郵件過濾器420分類為垃圾郵件或好郵件的消息??蛻魴C(jī)可標(biāo)記此類消息,并隨即向查找組件450發(fā)送一基于該消息、該消息的散列、和/或該消息的一個(gè)或多個(gè)特征的查詢或請求。
如果來自查找數(shù)據(jù)庫的任何數(shù)據(jù)滿足該請求,那么此類對應(yīng)信息可被發(fā)送或下載,以更新垃圾郵件過濾器420。然后,可對不確定消息和任何新消息應(yīng)用更新了的垃圾郵件過濾器,來幫助該分類過程。
現(xiàn)轉(zhuǎn)到圖5,示出了在線查找系統(tǒng)500的示意圖,該系統(tǒng)便于由客戶機(jī)510使用的基于web的更新服務(wù)。設(shè)想使用用“舊”數(shù)據(jù)訓(xùn)練的現(xiàn)有垃圾郵件過濾器來分類到來的消息515。不幸的是,客戶機(jī)現(xiàn)有的過濾器在確定某些消息是垃圾郵件還是好郵件時(shí)感到困難??蛻魴C(jī)510可采取消息515或某個(gè)從中提取的特征,諸如IP地址520、URL 525、主機(jī)名530或任何其他特征535,并查詢在線查找系統(tǒng)500,而不是隔離消息515或等待服務(wù)器提示更新到來。在線查找系統(tǒng)500可由一個(gè)或多個(gè)查找表540和/或一個(gè)或多個(gè)數(shù)據(jù)庫545組成。查找表540可包括對每個(gè)特征的更新數(shù)據(jù)550——諸如每個(gè)IP地址555。如果客戶機(jī)對消息的IP地址執(zhí)行查詢,那么可在適當(dāng)?shù)牟檎一蚋卤碇胁檎以揑P地址。
類似地,對于屬于IP地址520的任何更新,可以參考或搜索數(shù)據(jù)庫545。數(shù)據(jù)庫545也可按每個(gè)更新的特征排列-諸如每個(gè)IP地址520。為控制表或數(shù)據(jù)庫的大小,分別在查找表和數(shù)據(jù)庫中只能提供具有更新的信息的特征。然而,實(shí)質(zhì)上具有所有特征或參數(shù)、而無論其權(quán)重或值是否改變的查找表和/或數(shù)據(jù)庫也是可用的。不管表和數(shù)據(jù)庫的排列如何,如果找到一更新,它可被直接發(fā)送到客戶機(jī)或由其下載,以更新垃圾郵件過濾器。因而,對垃圾郵件過濾器的更新可以基于客戶機(jī)偏好,且可按需發(fā)生。
如果服務(wù)器或客戶機(jī)上的消息通信系統(tǒng)還沒有收到所有以前的更新,可能需要查找一個(gè)以上系列的特征或更新。該系統(tǒng)可從最后記錄的查找起執(zhí)行查找,然后按照順序應(yīng)用它們??扇芜x地,更新服務(wù)器可將多個(gè)查找文件合并在一起,來提高下載的效率。最后,更新也可通過諸如HTTPS等安全信道發(fā)生。
對較新數(shù)據(jù)的增量查找可被寫入文件或被存儲在磁盤上,隨后在存儲器中組合。此外,增量更新可指明不再需要模型的某個(gè)部分、特征或參數(shù)(例如,權(quán)重為0),因而允許將其刪除,并節(jié)省存儲器或磁盤空間。
現(xiàn)參考圖6,示出了依照本發(fā)明一個(gè)方面的反垃圾郵件查找基于web服務(wù)的示例性體系結(jié)構(gòu)600。體系結(jié)構(gòu)600包含多個(gè)層,舉例來說,諸如數(shù)據(jù)層級層(或后端數(shù)據(jù)庫),它容納特征子集及在訓(xùn)練中生成的相關(guān)聯(lián)的權(quán)重和模型;中間件層,它在數(shù)據(jù)庫和垃圾郵件過濾器間傳遞信息;以及以預(yù)定或自動頻率調(diào)用中間件層,來獲取最新更新的模型并將在線模型與本地存儲的模型文件合并的垃圾郵件過濾器。
更具體地,數(shù)據(jù)層級層容納2個(gè)存儲訓(xùn)練存儲(TrainStore)的副本610(用于標(biāo)準(zhǔn)訓(xùn)練)及更新存儲(UpdateStore)620。這些存儲可以是平面文件或數(shù)據(jù)庫。專用訓(xùn)練存儲610可任選地僅容納受益于頻繁更新的特征子集的特征和權(quán)重。更新存儲620是一新數(shù)據(jù)庫或平面文件組,包括了由來自專用訓(xùn)練存儲610的信息子集所產(chǎn)生的二進(jìn)制形式的模型輸出,以及所部署的產(chǎn)品關(guān)聯(lián)的一些新變量。此信息子集可包括·包含很大程度受益于更頻繁更新的特征的新模型;·這些特征的例子包括URL特征、IP特征及新的特別特征;·新概率模型對于所部署的模型文件的較早版本的的關(guān)系;和/或·用于將新模型傳遞大小最小化的新模型的增量更新。
中間件層630可擔(dān)當(dāng)更新存儲620和垃圾郵件過濾器.dll文件間的接口。它展現(xiàn)了在垃圾郵件過濾器和在線查找服務(wù)間來回傳遞信息的web服務(wù)接口和功能。它可以是SOAP服務(wù)、HTTP服務(wù)、HTTPS服務(wù)或其他因特網(wǎng)服務(wù)。
當(dāng)結(jié)合某些其他垃圾郵件相關(guān)系統(tǒng)和方法時(shí),該反垃圾郵件查找服務(wù)尤其強(qiáng)大。特別地,當(dāng)結(jié)合消息隔離時(shí)它可以格外強(qiáng)大。在消息隔離中,某些消息可被放到一垃圾郵件文件夾或一隔離文件夾,或者暫時(shí)另保存在一邊。在垃圾郵件過濾器更新后它們被重新評分。諸如“報(bào)告垃圾郵件按鈕”等技術(shù)也可為垃圾郵件過濾器更新產(chǎn)生重要數(shù)據(jù),在該技術(shù)中用戶向中央知識庫報(bào)告垃圾郵件消息。此外,在諸如蜜罐等技術(shù)中,發(fā)送到某些決不應(yīng)收到消息的賬號(例如新近創(chuàng)建的未啟用賬號)的數(shù)據(jù)對于垃圾郵件過濾器更新來說是有價(jià)值的消息來源。此外,在反饋循環(huán)中,由用戶投票決定某些消息是好消息還是垃圾郵件。這為更新垃圾郵件過濾器提供了有價(jià)值的數(shù)據(jù)。因?yàn)樵摂?shù)據(jù)是相對無偏見的,它可比報(bào)告垃圾郵件或蜜罐數(shù)據(jù)更有用。
現(xiàn)在將經(jīng)由一系列動作來描述依照本發(fā)明的各種方法,必須理解和明白,本發(fā)明不受各動作次序限制,因?yàn)橐勒毡景l(fā)明,某些動作可按不同順序發(fā)生,和/或與本文示出及描述的其他動作同時(shí)發(fā)生。例如,本領(lǐng)域技術(shù)人員會理解并明白,方法可被替換地表示為諸如在狀態(tài)圖中的一系列相互關(guān)聯(lián)的狀態(tài)或事件。此外,并非所有示出的動作是實(shí)現(xiàn)依照本發(fā)明的方法所必需的。
現(xiàn)參考圖7,示出了示例性垃圾郵件過濾器更新程序700的流程圖,它便于在使用過程中至少對垃圾郵件過濾器進(jìn)行幾乎實(shí)時(shí)的更新。程序700涉及在710諸如通過機(jī)器學(xué)習(xí)技術(shù),用新的或較新近的數(shù)據(jù)來訓(xùn)練位于新過濾器??稍诙鄠€(gè)消息特征及其相關(guān)聯(lián)的權(quán)重上特殊地訓(xùn)練新過濾器。特征的一些例子包括任何IP地址、URL、主機(jī)名或可從消息中提取的任何單詞或文本。
在720,程序700可查找新過濾器和舊過濾器(在舊數(shù)據(jù)上訓(xùn)練的)之間的差異。在730,找到或檢測到的任何差異可被存儲為一個(gè)或多個(gè)單獨(dú)的數(shù)據(jù)文件。
可任選地,數(shù)據(jù)文件可存儲于數(shù)據(jù)庫中,和/或其中包括的內(nèi)容可被編排到一個(gè)或多個(gè)查找表中??山?jīng)由一基于web的查找服務(wù)使這些數(shù)據(jù)文件對客戶機(jī)可用。盡管未在圖中描繪,客戶機(jī)可查詢該查找服務(wù),來確定特定更新是否可用——對用其現(xiàn)有垃圾郵件過濾器無法分類的消息或來自消息的特征。如果更新可用,則客戶機(jī)可選擇下載其希望的更新,來部分地或增量地更新現(xiàn)有垃圾郵件過濾器。
再參考圖7,在740,可用一個(gè)或多個(gè)數(shù)據(jù)文件來更新舊的垃圾郵件過濾器。因而,該舊過濾器用顯示足量改變的數(shù)據(jù)進(jìn)行增量更新,而不是用一全新的過濾器取代舊過濾器。
舉例來說,在實(shí)踐中,可以比較新舊過濾器間的參數(shù)的絕對值??稍O(shè)置一改變閾值。當(dāng)任一參數(shù)的絕對值改變滿足該閾值,那么可將此改變保存到一更新組件或數(shù)據(jù)文件。諸如消息中參數(shù)的頻率之類的其他因素可能影響在特定“改變”是否包括在更新中。更新可作為數(shù)據(jù)文件存儲、可編排到查找表中、和/或可保存到可搜索數(shù)據(jù)庫中。
此外,更新請求可由服務(wù)器和/或個(gè)別客戶機(jī)做出。例如,服務(wù)器管理員可檢查到來的消息及其過濾,并基于各種因素確定需要特定更新,這些因素諸如,觀察到關(guān)于某些消息的越來越多的用戶抱怨,和/或隔離中的消息數(shù)量或相似度的增加。為解決這些范圍的問題,服務(wù)器可至少部分地請求增量過濾器更新。從而這些更新將應(yīng)用于服務(wù)器方,隨即應(yīng)用于個(gè)別客戶機(jī)。
相反,客戶機(jī)可直接請求,甚至訪問增量更新數(shù)據(jù)。掌握特定的可疑消息,或來自可疑消息的特征,客戶機(jī)可經(jīng)由在線查找表或數(shù)據(jù)庫查詢此特定消息或來自該消息的特征是否有與其相對應(yīng)的任何更新。然后相關(guān)的更新(如果有的話)可被下載到該客戶機(jī),并應(yīng)用于該客戶機(jī)的過濾器。服務(wù)器或其垃圾郵件過濾器不受這些更新的影響。因而,至少部分地基于其接收的特定類型的消息,客戶機(jī)能定制或個(gè)人化對其垃圾郵件過濾器的更新的內(nèi)容。此外,向更新或查找系統(tǒng)查詢更新近的數(shù)據(jù)會比在整個(gè)隔離過程中從頭到底地等待要來得快。此外,舊過濾器可部分地被增量更新和/或部分地由查找服務(wù)/系統(tǒng)更新。
垃圾郵件過濾器可訓(xùn)練數(shù)以千計(jì)的參數(shù)——每個(gè)參數(shù)都有一與之相關(guān)聯(lián)的值。對一個(gè)參數(shù)的小量改變可導(dǎo)致所有其他參數(shù)至少小量的改變。因而,某種程度上,在各參數(shù)之間有大量“差異”或改變是可能的。為將改變的數(shù)量及過濾器更新的總大小最小化,可使用圖8中所示的示例性程序800。程序800的結(jié)果是,對于過濾器的更新可集中于新舊數(shù)據(jù)間較顯著且有意義的改變。
如圖中所示,可在810用從新或最近接收到的消息中提取的數(shù)據(jù)來訓(xùn)練第一過濾器(例如過濾器K)。機(jī)器學(xué)習(xí)技術(shù)可用于這一訓(xùn)練。例如,在820,至少部分地基于一次或多次試探,新過濾器K和舊的或現(xiàn)有過濾器(當(dāng)前使用中的)之間的差異可被分離出來。例如,在830,可比較特征權(quán)重,且可確定差異的絕對值。消息中改變的特征或參數(shù)的頻率也可被考慮。也可使用許多其他的試探。此外,可配置一個(gè)或多個(gè)閾值,并將其與差異的絕對值進(jìn)行比較。也可對每個(gè)特征確定閾值,來慮及好的和/或垃圾郵件消息中各個(gè)特征的頻率或發(fā)生率。例如,可為在好或壞消息中都較少出現(xiàn)的特征設(shè)置較低的閾值。
在840,可訓(xùn)練第二過濾器服從以下約束過濾器J和K之間所有小的(或不足夠大到滿足閾值或試探)差異可有如其在過濾器J中所具有的同樣的值。因而,這些特定特征的權(quán)重在該第二新過濾器中可保持不變。在850,可找到舊過濾器J和第二新過濾器Q之間的差異。滿足一個(gè)或多個(gè)閾值或試探的這些差異可存儲在一更新數(shù)據(jù)文件中。因?yàn)榈诙逻^濾器Q中的許多特征被強(qiáng)制有與舊過濾器J中相同的值,在這兩個(gè)過濾器之間較少數(shù)量的改變是顯然的。因而,該過濾器更新較小。隨即在860,舊過濾器J可被更新。
或者,舊過濾器數(shù)據(jù)的一部分可被更新。例如,可以僅檢查并更新IP地址或URL數(shù)據(jù)——獨(dú)立于任何文本相關(guān)特征。一般而言,可按順序應(yīng)用各更新,特別是在當(dāng)服務(wù)器或客戶機(jī)已有一段時(shí)間沒有連到因特網(wǎng),且目前需要多個(gè)更新的情況下。每個(gè)更新可被下載,隨即按順序應(yīng)用。相反,可以分析并合并必需的更新,來減小更新的總體大小。例如,從服務(wù)器最后一次更新以來,一權(quán)重可能已經(jīng)改變了若干次。最后且最近的權(quán)值可被應(yīng)用,其他“中間”值可被忽略,而不是用該權(quán)值的每個(gè)改變來更新過濾器。因而,產(chǎn)生較小或較少的更新。
增量更新的存儲取決于特定服務(wù)器或客戶機(jī)可以是靈活的。例如,更新可被存儲在單獨(dú)的文件總,隨后與一原始(過濾器)文件合并。然而,更新文件可在使用后不久即被丟棄。因此,可維護(hù)一基礎(chǔ)過濾器文件,然后最新近的差異可在中途確定。有時(shí),一些特征最后以0權(quán)值告終。這些特征可從過濾器中刪除以節(jié)省空間。
為了給本發(fā)明的各方面提供附加環(huán)境,圖9和接下來的討論旨在提供關(guān)于其中可實(shí)現(xiàn)本發(fā)明各方面的合適的操作環(huán)境910的簡明、概括的描述。盡管本發(fā)明是在計(jì)算機(jī)可執(zhí)行指令(諸如由一個(gè)或多個(gè)計(jì)算機(jī)或其他設(shè)備執(zhí)行的程序模塊)的一般上下文中描述的,然而本領(lǐng)域技術(shù)人員會意識到,本發(fā)明也可結(jié)合其他程序模塊來實(shí)現(xiàn)和/或被實(shí)現(xiàn)為硬件和軟件的組合。
然而,一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。操作環(huán)境910只是合適操作環(huán)境的一個(gè)例子,并非意圖對本發(fā)明的使用范圍或功能提出任何限制。其他可適用于本發(fā)明的公知的計(jì)算機(jī)系統(tǒng)、環(huán)境和/或配置包括,但不限于,個(gè)人計(jì)算機(jī)、手持或膝上設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、可編程消費(fèi)者電子設(shè)備、網(wǎng)絡(luò)PC、微型計(jì)算機(jī)、大型計(jì)算機(jī)、包括上述系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境,等等。
參考圖9,用于實(shí)現(xiàn)本發(fā)明各方面的示例性環(huán)境910包括計(jì)算機(jī)912。計(jì)算機(jī)912包括處理單元914、系統(tǒng)存儲器916及系統(tǒng)總線918。系統(tǒng)總線918將包括但不限于系統(tǒng)存儲器916的系統(tǒng)組件耦合到處理單元914。處理單元914可以是任何可用的處理器。雙微處理器或其他多處理器體系結(jié)構(gòu)也可用作處理單元914。
系統(tǒng)總線918可以是若干種總線結(jié)構(gòu)中的任意一種,包括存儲器總線或存儲器控制器、外圍總線或外部總線、和/或使用任一各種可用總線體系結(jié)構(gòu)的局部總線,這些體系結(jié)構(gòu)包括但不限于,11位總線、工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)、微通道體系結(jié)構(gòu)(MCA)、擴(kuò)展的ISA(EISA)、智能驅(qū)動器電子設(shè)備(IDE)、VESA局部總線(VLB)、外圍部件互聯(lián)(PCI)、通用串行總線(USB)、高級圖形端口(AGP)、個(gè)人計(jì)算機(jī)存儲卡國際協(xié)會總線(PCMCIA)、及小型計(jì)算機(jī)系統(tǒng)接口(SCSI)。
系統(tǒng)存儲器916包括易失性存儲器920和非易失性存儲器922。包含例如在啟動期間在計(jì)算機(jī)912內(nèi)部各元件間傳送信息的基本例程的基本輸入輸出系統(tǒng)(BIOS)存儲在非易失性存儲器922中。作為示例而非限制,非易失性存儲器922可包括只讀存儲器(ROM)、可編程ROM(PROM)、電可編程ROM(EPROM)、電可擦除ROM(EEPROM)或閃存。易失性存儲器920包括擔(dān)當(dāng)外部高速緩存存儲器的隨機(jī)存取存儲器(RAM)。作為示例而非限制,RAM可有多種形式,諸如同步RAM(SRAM)、動態(tài)RAM(DRAM)、同步DRAM(SDRAM)、雙數(shù)據(jù)率SDRAM(DDR SDRAM)、增強(qiáng)型SDRAM(ESDRAM)、同步鏈路DRAM(SLDRAM)、及直接存儲器總線RAM(DRRAM)。
計(jì)算機(jī)912還包括可移動/不可移動、易失性/非易失性計(jì)算機(jī)存儲介質(zhì)。例如,圖9示出磁盤存儲924。磁盤存儲924包括但不限于,如磁盤驅(qū)動器、軟盤驅(qū)動器、磁帶驅(qū)動器、Jaz驅(qū)動器、Zip驅(qū)動器、LS-100驅(qū)動器、閃存卡或記憶棒之類的設(shè)備。此外,磁盤存儲924可單獨(dú)包括存儲介質(zhì)或與其他存儲介質(zhì)組合,其他存儲介質(zhì)包括但不限于光盤驅(qū)動器,諸如光盤ROM設(shè)備(CD-ROM)、CD可記錄驅(qū)動器(CD-R驅(qū)動器)、CD可重寫驅(qū)動器(CD-RW驅(qū)動器)或數(shù)字多功能盤ROM驅(qū)動器(DVD-ROM)。為方便磁盤存儲設(shè)備924到系統(tǒng)總線918的連接,通常使用可移動或不可移動接口,諸如接口926。
應(yīng)當(dāng)理解,圖9描述了在用戶與在合適的操作環(huán)境910中描述的計(jì)算機(jī)資源間擔(dān)當(dāng)中介的軟件。此類軟件包括操作系統(tǒng)928。可儲存在磁盤存儲924上的操作系統(tǒng)928用于控制及分配計(jì)算機(jī)系統(tǒng)912的資源。系統(tǒng)應(yīng)用程序930利用了操作系統(tǒng)928通過存儲在系統(tǒng)存儲器916中或磁盤存儲924上的程序模塊932及程序數(shù)據(jù)934對資源的管理。應(yīng)當(dāng)理解,本發(fā)明可以用各種操作系統(tǒng)或其組合來實(shí)現(xiàn)。
用戶通過輸入設(shè)備936輸入命令或信息到計(jì)算機(jī)912內(nèi)。輸入設(shè)備936包括,但不限于,諸如鼠標(biāo)、跟蹤球、觸針、觸摸墊等的定位設(shè)備、鍵盤、話筒、操縱桿、游戲墊、圓盤式衛(wèi)星天線、掃描儀、電視調(diào)諧卡、數(shù)碼相機(jī)、數(shù)碼攝像機(jī)、網(wǎng)絡(luò)攝像頭等等。這些及其他設(shè)備經(jīng)由接口端口938,通過系統(tǒng)總線918連到處理單元914。接口端口938包括例如串行端口、并行端口、游戲端口及通用串行總線(USB)。輸出設(shè)備940使用一些和輸入設(shè)備936相同類型的端口。因而,例如USB端口可用于提供到計(jì)算機(jī)912的輸入,及從計(jì)算機(jī)912輸出信息到輸出設(shè)備940。提供輸出適配器942,以示意在其他輸出設(shè)備940中有一些需要專用適配器的輸出設(shè)備,如監(jiān)視器、揚(yáng)聲器及打印機(jī)。作為示例而非限制,輸出適配器942包括,提供輸出設(shè)備940與系統(tǒng)總線918之間一種連接手段的顯卡與聲卡。應(yīng)當(dāng)注意,諸如遠(yuǎn)程計(jì)算機(jī)944等其他設(shè)備和/或設(shè)備系統(tǒng)同時(shí)提供輸入與輸出性能。
計(jì)算機(jī)912可使用到諸如遠(yuǎn)程計(jì)算機(jī)944等一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī)的邏輯連接在聯(lián)網(wǎng)環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)944可以是個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、工作站、基于微處理器的電器、對等設(shè)備或其他普通網(wǎng)絡(luò)節(jié)點(diǎn)等等,且通常包括相對于計(jì)算機(jī)912所描述的許多或全部元件。為簡單起見,僅隨遠(yuǎn)程計(jì)算機(jī)944示出記憶存儲設(shè)備946。遠(yuǎn)程計(jì)算機(jī)944通過網(wǎng)絡(luò)接口948邏輯地連接到計(jì)算機(jī)912,然后經(jīng)由通信連接950物理連接。網(wǎng)絡(luò)接口948包含諸如局域網(wǎng)(LAN)和廣域網(wǎng)(WAN)等通信網(wǎng)絡(luò)。LAN技術(shù)包括光纖分布式數(shù)據(jù)接口(FDDI)、銅纜分布式數(shù)據(jù)接口(CDDI)、以太網(wǎng)/IEEE 1102.3、令牌環(huán)/IEEE 1102.5等等。WAN技術(shù)包括,但不限于,點(diǎn)對點(diǎn)鏈接、如綜合業(yè)務(wù)數(shù)字網(wǎng)及其變體的電路交換網(wǎng)絡(luò)、分組交換網(wǎng)絡(luò)及數(shù)字用戶線(DSL)。
通信連接950指用于將網(wǎng)絡(luò)接口948連到總線918的硬件/軟件。盡管為說明清楚,將通信連接950示于計(jì)算機(jī)912內(nèi)部,但它也可位于計(jì)算機(jī)912外部。僅為示例性目的,連接到網(wǎng)絡(luò)接口948所必需的硬件/軟件包括內(nèi)部和外部技術(shù),諸如包括常規(guī)電話級調(diào)制解調(diào)器、電纜調(diào)制解調(diào)器及DSL調(diào)制解調(diào)器在內(nèi)的調(diào)制解調(diào)器、ISDN適配器及以太網(wǎng)卡。
上面的描述包括本發(fā)明的示例。當(dāng)然,不可能為描述本發(fā)明而描述各組件或方法的每個(gè)可想到的組合,但本領(lǐng)域的普通技術(shù)人員會意識到,本發(fā)明的許多其他組合與變換是可能的。因此,本發(fā)明旨在包括歸入所附權(quán)利要求書的精神與范疇內(nèi)的所有此類改變、修改與變體。此外,在具體實(shí)施方式
或權(quán)利要求書中使用術(shù)語“包括”的意義上,此類術(shù)語意圖如術(shù)語“包含”那樣具有包容性,如同“包含”在用作權(quán)利要求書中的過渡詞時(shí)所解釋的。
權(quán)利要求
1.一種反垃圾郵件更新系統(tǒng),其特征在于,包含一垃圾郵件過濾器,它被訓(xùn)練成在垃圾郵件和好的消息之間進(jìn)行區(qū)分;以及一更新組件,它用更新信息來增量地增加或替換所述垃圾郵件過濾器的至少一部分,以便于防止垃圾郵件,其中,所述更新組件至少部分地通過使用一機(jī)器學(xué)習(xí)組件來構(gòu)建。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述更新組件至少更新所述垃圾郵件過濾器的數(shù)據(jù)部分。
3.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述系統(tǒng)在客戶機(jī)或服務(wù)器的至少一個(gè)上運(yùn)行。
4.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述更新組件是用基于匹配或基于散列的數(shù)據(jù)來訓(xùn)練的。
5.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包含一支付確認(rèn)組件,它在向所述垃圾郵件過濾器提供一個(gè)或多個(gè)更新前,確定客戶機(jī)或服務(wù)器是否已為接收更新付款。
6.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述更新組件通過多個(gè)IP地址向所述垃圾郵件過濾器提供更新信息,以減輕拒絕服務(wù)攻擊。
7.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述更新組件增加或替換所述垃圾郵件過濾器的至少一部分,該部分改變了滿足一閾值的量。
8.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述更新信息包括對應(yīng)于一個(gè)或多個(gè)參數(shù)改變的一個(gè)或多個(gè)增量更新文件。
9.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述垃圾郵件過濾器的至少一部分包含專用于至少一個(gè)特征的數(shù)據(jù)。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述至少一個(gè)特征包含IP地址和URL的至少一個(gè)。
11.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包含包含一組件,它構(gòu)建具有現(xiàn)有垃圾郵件過濾器和新過濾器之間的最少數(shù)量參數(shù)改變的機(jī)器學(xué)習(xí)垃圾郵件過濾器,以便于將增量更新大小最小化。
12.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述更新組件向所述垃圾郵件過濾器順序地應(yīng)用多個(gè)不同的更新。
13.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述更新組件合并多個(gè)更新的至少一個(gè)子集,以提高所述更新信息的下載效率。
14.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述更新組件以一種獨(dú)立方式選擇性地提供特征專用更新,使得至少一個(gè)特征獨(dú)立于至少一個(gè)其他特征來更新。
15.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述垃圾郵件過濾器包含多個(gè)子過濾器,它們被彼此獨(dú)立地訓(xùn)練或更新,且結(jié)果是可分解的。
16.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包含一隔離組件,它延遲消息的至少一個(gè)子集的分類,直到所述垃圾郵件過濾器從所述更新組件接收到所述更新信息。
17.一種反垃圾郵件查詢系統(tǒng),其特征在于,包含一機(jī)器學(xué)習(xí)垃圾郵件過濾器,它被訓(xùn)練成在垃圾郵件和好的消息之間進(jìn)行區(qū)分;以及一查找組件,它在消息到來時(shí)接收對于特征相關(guān)信息的查詢,以便于更新所述垃圾郵件過濾器。
18.如權(quán)利要求17所述的系統(tǒng),其特征在于,所述特征相關(guān)信息包含關(guān)于多個(gè)特征或消息的正或負(fù)數(shù)據(jù)。
19.如權(quán)利要求17所述的系統(tǒng),其特征在于,所述特征相關(guān)信息包含關(guān)于多個(gè)特征的特征得分和名譽(yù)得分,所述多個(gè)特征包括IP地址、URL、主機(jī)名、字符串及單詞的至少一個(gè)。
20.如權(quán)利要求17所述的系統(tǒng),其特征在于,所述垃圾郵件過濾器是特殊地訓(xùn)練的。
21.如權(quán)利要求17所述的系統(tǒng),其特征在于,所述垃圾郵件過濾器是至少部分地被增量更新的。
22.如權(quán)利要求17所述的系統(tǒng),其特征在于,所述垃圾郵件過濾器是至少部分地由所述查找組件更新的。
23.如權(quán)利要求17所述的系統(tǒng),其特征在于,所述查找組件將增量查找查詢寫入文件或?qū)⑵浯鎯υ诖疟P上,并在存儲器中將其組合。
24.如權(quán)利要求17所述的系統(tǒng),其特征在于,所述查找組件包含一后端數(shù)據(jù)庫,它包含一組特征及相關(guān)聯(lián)的權(quán)重,及在訓(xùn)練過程中生成的一個(gè)或多個(gè)模型或過濾器;一中間件層,它在所述數(shù)據(jù)庫和一垃圾郵件過濾器之間傳遞信息;以及所述垃圾郵件過濾器,它以預(yù)定或自動頻率調(diào)用所述中間件層,以獲取最新近的更新模型,并將一在線模型與本地存儲的模型文件合并。
25.如權(quán)利要求17所述的系統(tǒng),其特征在于,所述查詢包含對來自客戶機(jī)或服務(wù)器的至少一個(gè)的所述垃圾郵件過濾器的信息增量更新的請求。
26.如權(quán)利要求17所述的系統(tǒng),其特征在于,還包含一更新的垃圾郵件過濾器,它以至少兩個(gè)階段從服務(wù)供應(yīng)者傳播到終端用戶,其中,所述階段的至少一個(gè)是自動的,使得有一在所述兩階段間進(jìn)行人工干涉的選項(xiàng)。
27.如權(quán)利要求17所述的系統(tǒng),其特征在于,還包含一組件,它將過濾器代碼自動地從所述服務(wù)供應(yīng)者傳播到所述終端用戶。
28.如權(quán)利要求17所述的系統(tǒng),其特征在于,根據(jù)終端用戶或管理員偏好,查詢以指定時(shí)間間隔發(fā)送到所述查找組件。
29.如權(quán)利要求17所述的系統(tǒng),其特征在于,對于所述垃圾郵件過濾器的更新無須重啟一消息通信程序即可起效。
30.一種反垃圾郵件更新服務(wù),其特征在于,包含提供一現(xiàn)有的已訓(xùn)練垃圾郵件過濾器;用機(jī)器學(xué)習(xí)訓(xùn)練一新的垃圾郵件過濾器;確定所述現(xiàn)有過濾器和所述新垃圾郵件過濾器間的差異;以及用所述差異的至少一部分來增量地更新所述現(xiàn)有垃圾郵件過濾器。
31.如權(quán)利要求30所述的更新服務(wù),其特征在于,所述現(xiàn)有垃圾郵件過濾器是用機(jī)器學(xué)習(xí)來訓(xùn)練的。
32.如權(quán)利要求30所述的更新服務(wù),其特征在于,所述現(xiàn)有垃圾郵件過濾器當(dāng)前正由一消息通信程序使用,以將消息分類為垃圾郵件或好的郵件。
33.如權(quán)利要求30所述的更新服務(wù),其特征在于,所述新垃圾郵件過濾器是在較新近的或新的數(shù)據(jù)上訓(xùn)練的。
34.如權(quán)利要求30所述的更新服務(wù),其特征在于,所述差異包含所述現(xiàn)有垃圾郵件過濾器和所述新垃圾郵件過濾器之間的一個(gè)或多個(gè)參數(shù)改變。
35.如權(quán)利要求30所述的更新服務(wù),其特征在于,確定所述差異包括將一參數(shù)改變的絕對值與一閾值或試探進(jìn)行比較,來確定所述改變是否足以保證對所述現(xiàn)有垃圾郵件過濾器的增量更新。
36.如權(quán)利要求30所述的更新服務(wù),其特征在于,所述服務(wù)是基于web的服務(wù)。
37.如權(quán)利要求30所述的更新服務(wù),其特征在于,還包含使用下列操作來構(gòu)建將差異數(shù)量最小化的過濾器用新數(shù)據(jù)對第一新垃圾郵件過濾器進(jìn)行特殊訓(xùn)練;確定所述第一新過濾器和所述現(xiàn)有垃圾郵件過濾器之間滿足一閾值或試探的第一組差異;用所述新數(shù)據(jù)訓(xùn)練第二新垃圾郵件過濾器服從下面約束所述第一新過濾器和所述現(xiàn)有過濾器間不滿足所述閾值或試探的參數(shù)變化具有與它們在所述現(xiàn)有過濾器中所具有的同樣的值;確定所述第二新垃圾郵件過濾器和所述現(xiàn)有垃圾郵件過濾器之間的第二組差異;以及用所述第二組差異的至少一個(gè)子集來更新所述現(xiàn)有垃圾郵件過濾器。
38.如權(quán)利要求30所述的更新服務(wù),其特征在于,還包含至少部分地通過搜索查找表和數(shù)據(jù)庫的至少一個(gè),來請求對所述現(xiàn)有垃圾郵件過濾器的特征專用更新。
39.如權(quán)利要求30所述的更新服務(wù),其特征在于,增量地更新所述現(xiàn)有垃圾郵件過濾器至少部分地基于客戶機(jī)、服務(wù)器或用戶的任何一個(gè)收到的消息的分發(fā)。
40.如權(quán)利要求30所述的更新服務(wù),其特征在于,對于所述現(xiàn)有垃圾郵件過濾器的一或多個(gè)增量更新是特征專用的,使得至少一個(gè)特征被獨(dú)立于另一特征而更新。
41.如權(quán)利要求38所述的更新服務(wù),其特征在于,所述查找表和數(shù)據(jù)庫由對應(yīng)于多個(gè)特征的多個(gè)增量更新組成。
42.一種反垃圾郵件更新系統(tǒng),其特征在于,包含用于提供一現(xiàn)有的已訓(xùn)練垃圾郵件過濾器的裝置;用于使用機(jī)器學(xué)習(xí)來訓(xùn)練一新垃圾郵件過濾器的裝置;用于確定所述現(xiàn)有垃圾郵件過濾器和所述新垃圾郵件過濾器之間的差異的裝置;以及用于使用所述差異的至少一部分來增量地更新所述現(xiàn)有垃圾郵件過濾器的裝置。
43.如權(quán)利要求42所述的更新系統(tǒng),其特征在于,還包含用于至少部分地通過搜索查找表和數(shù)據(jù)庫的至少一個(gè)來請求對于所述現(xiàn)有垃圾郵件過濾器的特征專用更新的裝置。
44.一種被適用于在兩個(gè)或多個(gè)計(jì)算機(jī)進(jìn)程之間發(fā)送,以便于對垃圾郵件過濾器的增量更新的數(shù)據(jù)分組,所述數(shù)據(jù)分組包含與下列各項(xiàng)相關(guān)的信息將一現(xiàn)有垃圾郵件過濾器與一新訓(xùn)練的垃圾郵件過濾器進(jìn)行比較;標(biāo)識所述過濾器之間的多個(gè)差異;以及傳播所述差異的至少一個(gè)子集來更新所述現(xiàn)有垃圾郵件過濾器。
全文摘要
本發(fā)明提供一種便于幾乎實(shí)時(shí)或?qū)崟r(shí)地增量更新垃圾郵件過濾器的獨(dú)特系統(tǒng)與方法。增量更新可部分地通過差異學(xué)習(xí)來生成。差異學(xué)習(xí)涉及基于新數(shù)據(jù)來訓(xùn)練一新垃圾郵件過濾器,然后尋找該新垃圾郵件過濾器和現(xiàn)有垃圾郵件過濾器之間的差異。差異可至少部分地通過比較參數(shù)變化的絕對值(兩個(gè)過濾器間特征的權(quán)重變化)來確定。也可使用諸如參數(shù)頻率等的其他因素。此外,關(guān)于特定特征或消息的可用更新可使用一個(gè)或多個(gè)查找表或數(shù)據(jù)庫來查找。例如,當(dāng)增量和/或特征專用更新可用時(shí),它們可由諸如客戶機(jī)下載。增量更新可被自動提供,或可依照客戶機(jī)或服務(wù)器的偏好根據(jù)請求來提供。
文檔編號H04L12/58GK1716293SQ20051008228
公開日2006年1月4日 申請日期2005年6月29日 優(yōu)先權(quán)日2004年6月29日
發(fā)明者D·M·黑佐爾, E·E·莫菲, G·J·胡爾藤, J·T·古德曼, R·L·朗斯威特 申請人:微軟公司