專利名稱:自適應(yīng)垃圾消息過濾系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及識別非期望的信息(例如垃圾郵件)的系統(tǒng)和方法,尤其涉及幫助便于此類識別的自適應(yīng)過濾器。
背景技術(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ā)送——預(yù)期此數(shù)字每兩年增至三倍。個人與實(shí)體(例如公司、政府機(jī)構(gòu)、……)感覺日益不便,并時常不勝垃圾郵件之煩。同樣地,垃圾電子郵件如今或即將成為對于可信計(jì)算的主要威脅。
一種用于阻礙垃圾電子郵件的關(guān)鍵技術(shù)是使用過濾系統(tǒng)/方法。一種已經(jīng)證實(shí)的過濾技術(shù)是基于機(jī)器學(xué)習(xí)方法——機(jī)器學(xué)習(xí)過濾器向傳入消息分配該消息為垃圾郵件的概率。在此方法中,通常從兩類示例消息(例如垃圾和非垃圾郵件消息)中提取特征,并應(yīng)用學(xué)習(xí)過濾器在兩類間進(jìn)行概率區(qū)分。因?yàn)樵S多消息特征涉及內(nèi)容(例如在消息主題和/或正文內(nèi)的單詞和短語),此類過濾器通常被稱作“基于內(nèi)容的過濾器”。
某些垃圾郵件/兜售信息過濾器是自適應(yīng)的,這是重要的,因?yàn)槎嗾Z言的用戶及使用小語種語言的用戶需要能適應(yīng)其特殊需求的過濾器。此外,不是所有用戶都能在什么是或不是垃圾郵件/兜售信息上取得一致。因此,通過使用可隱式地訓(xùn)練的(例如,經(jīng)由觀察用戶行為)過濾器,各過濾器可被動態(tài)地度身定制以滿足用戶的特定消息識別需求。
過濾自適應(yīng)的一種方法是請求用戶將消息標(biāo)記為垃圾郵件和非垃圾郵件。不幸的是,歸因于與此類訓(xùn)練相關(guān)聯(lián)的復(fù)雜性,此類手工密集訓(xùn)練技術(shù)是不受許多用戶歡迎的,更不必說正確地實(shí)現(xiàn)此類訓(xùn)練所需的時間量。另一種自適應(yīng)過濾器訓(xùn)練方法是使用隱式訓(xùn)練提示。例如,如果用戶回復(fù)或轉(zhuǎn)發(fā)郵件,該方法假設(shè)該郵件是非垃圾郵件。然而,僅使用此類消息提示將統(tǒng)計(jì)偏差引入到訓(xùn)練過程中,導(dǎo)致較低相應(yīng)準(zhǔn)確率的過濾器。
又一種方法是將所有用戶的電子郵件用于訓(xùn)練,其中初始標(biāo)簽是由現(xiàn)有過濾器分配的,且用戶有時用顯式提示——例如,選擇諸如“作為垃圾郵件刪除”和“非垃圾郵件”等的選項(xiàng)——覆蓋那些分配(例如“用戶糾正”方法),和/或用隱式提示覆蓋那些分配。盡管此類方法優(yōu)于前面討論的技術(shù),與以下進(jìn)行描述和要求保護(hù)的本發(fā)明相比,它仍是不完善的。
發(fā)明概述為了提供對本發(fā)明的某些方面的基本理解,下文給出本發(fā)明的簡化概述。此概述不是本發(fā)明廣泛綜述。它并不試圖標(biāo)識本發(fā)明的關(guān)鍵/決定性元素,也不試圖描繪本發(fā)明的范疇。它唯一的目的是以簡單的形式提出本發(fā)明的一些概念,作為對稍后給出的更詳盡描述的序言。
本發(fā)明提供一種便于使用最適合識別垃圾郵件/兜售信息的可用過濾器(例如種子過濾器或新過濾器)的系統(tǒng)和方法。本發(fā)明使用一種過濾消息的種子過濾器,它與假肯定率(例如非垃圾郵件被錯誤地分類為垃圾郵件)和假否定率(例如,垃圾郵件被錯誤地分類為非垃圾郵件)相關(guān)聯(lián)。還使用一種新過濾器以過濾消息——該新過濾器是根據(jù)與種子過濾器相關(guān)聯(lián)的假肯定率和假否定率來評估的。使用用于確定種子過濾器的假肯定率和假否定率的數(shù)據(jù)來根據(jù)閾值確定新過濾器的新的假肯定和假否定率。
如果對于新過濾器存在閾值,使得新假肯定率和新假否定率一起被認(rèn)為優(yōu)于種子過濾器的假肯定和假否定率,則使用該新過濾器以代替種子過濾器。新假肯定率和新假否定率是根據(jù)由用戶標(biāo)記為垃圾和非垃圾郵件(例如經(jīng)由使用用戶糾正過程)的消息來確定的。用戶糾正過程包括覆蓋消息的初始分類,初始分類是當(dāng)用戶接收該消息時由種子過濾器自動執(zhí)行的。閾值可以是單閾值,或從多個生成的閾值中選出。如果使用了多個值,則選中的閾值可通過選擇例如符合條件的閾值(例如具有最低假肯定率的閾值,或基于p*效益函數(shù)使用戶的期望效益最大化的閾值)范圍的中點(diǎn)閾值來確定?;蛘撸瑑H當(dāng)在選中閾值處,新過濾器的假肯定和假否定率至少和種子過濾器的假肯定和假否定率一樣好,且其中一個更好時,才選中該閾值。此外,可提供選擇標(biāo)準(zhǔn),從而僅當(dāng)不但在選中閾值處,而且在其它附近的閾值處,新過濾器率都優(yōu)于種子過濾器率時,才選中該新過濾器。
本發(fā)明的另一方面提供便于數(shù)據(jù)過濾的圖形用戶界面。該界面提供同與配置過濾器有關(guān)的配置系統(tǒng)通信的過濾器接口。該界面提供多個用戶可選過濾器級別,包括默認(rèn)、增強(qiáng)、及專有中的至少一個。該界面提供便于實(shí)現(xiàn)本發(fā)明的前述系統(tǒng)和方法的各種工具。
為達(dá)成前述及相關(guān)目的,本文結(jié)合以下描述與附圖描述了本發(fā)明的某些說明性方面。然而,這些方面僅指示了可使用本發(fā)明原理的各種方法中的少數(shù)幾種,本發(fā)明旨在包括所有此類方面及其等效方面。當(dāng)結(jié)合附圖考慮時,本發(fā)明的其它優(yōu)點(diǎn)與新穎的特征將從以下對本發(fā)明的具體描述中變得顯而易見。
附圖簡述
圖1所示是根據(jù)本發(fā)明的過濾器系統(tǒng)的通用框圖。
圖2所示是關(guān)于捕獲率的性能折衷的圖表。
圖3所示是根據(jù)本發(fā)明的方法的流程圖。
圖4A和4B示出根據(jù)本發(fā)明,用于配置自適應(yīng)垃圾郵件過濾系統(tǒng)的示例性用戶界面。
圖5所示是使用本發(fā)明的消息處理體系結(jié)構(gòu)的通用框圖。
圖6示出根據(jù)本發(fā)明的技術(shù),具有便于多用戶登錄和過濾傳入消息的一個或多個客戶計(jì)算機(jī)的系統(tǒng)。
圖7示出根據(jù)本發(fā)明,在消息服務(wù)器上執(zhí)行初始過濾,并在一個或多個客戶上執(zhí)行二次過濾的系統(tǒng)。
圖8所示是用于大規(guī)模實(shí)現(xiàn)的自適應(yīng)過濾系統(tǒng)的框圖。
圖9所示是用于執(zhí)行所揭示的體系結(jié)構(gòu)的計(jì)算機(jī)的框圖。
發(fā)明詳細(xì)描述現(xiàn)參考附圖描述本發(fā)明,圖中始終用相同的參考標(biāo)號指相同的元素。在以下描述中,為解釋起見,闡述了大量具體細(xì)節(jié),以提供對本發(fā)明的徹底理解。然而,顯然可以不用這些具體細(xì)節(jié)來實(shí)施本發(fā)明。在其它例子中,為了便于描述本發(fā)明,以框圖形式示出公知的結(jié)構(gòu)和設(shè)備。
如在本發(fā)明中所用的,術(shù)語“組件”和“系統(tǒng)”指的是計(jì)算機(jī)有關(guān)的實(shí)體,它們或者是硬件、硬件和軟件的組合、軟件、或者執(zhí)行中的軟件。例如,組件可以是,但不限于,運(yùn)行于處理器上的進(jìn)程、處理器、對象、可執(zhí)行碼、執(zhí)行線程、程序和/或計(jì)算機(jī)。作為說明,在服務(wù)器上運(yùn)行的應(yīng)用程序及該服務(wù)器都可以是組件。一個或多個組件可駐留在進(jìn)程和/或執(zhí)行線程內(nèi),且組件可位于一臺計(jì)算機(jī)上和/或分布在兩臺或多臺計(jì)算機(jī)之間。
本發(fā)明可結(jié)合各種與垃圾郵件過濾有關(guān)的推論方案和/或技術(shù)。如本文中所用的,術(shù)語“推論”一般指從一組經(jīng)由事件和/或數(shù)據(jù)捕捉的觀察中推理或推斷系統(tǒng)、環(huán)境、和/或用戶的狀態(tài)的過程。例如,推論可用于識別具體上下文或行為,或可生成狀態(tài)的概率分布。推論可以是概率性的——即,基于對數(shù)據(jù)和事件的考慮計(jì)算感興趣的狀態(tài)的概率分布。推論也可指用于從一組事件和/或數(shù)據(jù)組成高級事件的技術(shù)。此類推論導(dǎo)致從一組所觀察的事件和/或所存儲的事件數(shù)據(jù)中構(gòu)造新事件或行動,無論各事件是否在時間上緊密相關(guān),也無論各事件和數(shù)據(jù)是來自一個還是數(shù)個事件和數(shù)據(jù)源。
應(yīng)當(dāng)理解,盡管貫穿此說明書大量使用術(shù)語消息,此類術(shù)語不限于電子郵件本身,而是可被恰當(dāng)?shù)馗木幰园煞植荚谌魏芜m當(dāng)?shù)耐ㄐ朋w系結(jié)構(gòu)上的任何形式的電子消息。例如,便于兩人或多人之間的會議的會議應(yīng)用程序(例如,交互式聊天程序,以及即時消息通信程序)也可利用本文所揭示的過濾的益處,因?yàn)橛憛挼奈谋究稍谟脩艚粨Q消息時被電子地散布到正常的聊天消息中,和/或作為開始消息、結(jié)束消息或以上所有消息被插入。在此特定應(yīng)用程序中,為了捕捉非期望的內(nèi)容(例如商業(yè)廣告、推銷、或廣告)并將其標(biāo)記為垃圾郵件,可將過濾器配置成自動過濾特定消息內(nèi)容(文本和圖像)。
現(xiàn)參考圖1,示出根據(jù)本發(fā)明的垃圾消息檢測系統(tǒng)100。系統(tǒng)100接收傳入消息流102,可過濾該消息流以便于垃圾消息檢測和移除。消息102被接收到過濾器控制組件104內(nèi),該組件可取決于根據(jù)依照本發(fā)明自適應(yīng)方面確定的過濾標(biāo)準(zhǔn),在第一過濾器106(例如種子過濾器)和第二過濾器108(例如,新過濾器)間路由消息。因此,如果確定第一過濾器106在檢測垃圾消息時足夠有效,將不會使用第二過濾器108,且過濾器控制104將繼續(xù)將消息102路由到第一過濾器106。然而,如果確定第二過濾器108至少和第一過濾器106一樣有效,過濾器控制104可決定將消息102路由到第二過濾器108。用于作出此類確定的標(biāo)準(zhǔn)在下文詳細(xì)描述。最初使用時,過濾器系統(tǒng)100可被配置成預(yù)定的默認(rèn)過濾器設(shè)置,從而消息102將被路由到第一過濾器106以供過濾(例如,常見于當(dāng)?shù)谝贿^濾器106是隨特定產(chǎn)品發(fā)貨的顯式訓(xùn)練的種子過濾器時)。
基于第一過濾器106的設(shè)置,將詢問接收到第一過濾器106中的消息,以找出與垃圾數(shù)據(jù)相關(guān)聯(lián)的垃圾信息。垃圾信息可包括,但不限于以下諸如源IP地址、發(fā)信人名字、發(fā)信人電子郵件地址、發(fā)信人域名、以及標(biāo)識符字段中莫名其妙的字母數(shù)字串等的發(fā)信人信息(來自因發(fā)送垃圾郵件而出名的發(fā)信人);諸如“l(fā)oan(租借)”、“sex(性)”、“rate(估價)”、“l(fā)imited offer(有限出售)”、“buy now(現(xiàn)在購買)”等的常用于垃圾郵件中的消息文本詞語和短語;諸如字體大小、字體顏色、特殊字符使用等的消息文本特征;以及彈出廣告的嵌入鏈接??芍辽俨糠值鼗陬A(yù)定及動態(tài)確定的垃圾郵件標(biāo)準(zhǔn)來確定垃圾數(shù)據(jù)。還詢問消息以找出“好”數(shù)據(jù),諸如“weather(天氣)”和“team(團(tuán)隊(duì))”等通常不出現(xiàn)在垃圾郵件,或來自因只發(fā)送好郵件而出名的發(fā)信人或發(fā)信人IP的電子郵件中的單詞。應(yīng)當(dāng)理解,如果最初產(chǎn)品在不帶種子過濾器的情況下發(fā)貨,沒有任何確定的過濾標(biāo)準(zhǔn),則所有消息未經(jīng)標(biāo)記地通過第一過濾器106進(jìn)入用戶收件箱112(亦指示第一過濾器的輸出)。應(yīng)當(dāng)理解,收件箱112可以僅是駐留在各種位置(例如,服務(wù)器、大容量存儲單元、客戶計(jì)算機(jī)、分布式網(wǎng)絡(luò)……)的數(shù)據(jù)存儲。此外,應(yīng)當(dāng)理解,第一過濾器106和/或第二過濾器108可由多個用戶/組件使用,且收件箱112可被分區(qū)以為各用戶/組件單獨(dú)存儲消息。此外,系統(tǒng)100可使用多個次級過濾器108,從而對于特定任務(wù)使用各次級過濾器中最合適的一個。本發(fā)明的這些方面在下文詳細(xì)討論。
當(dāng)用戶審閱郵箱消息時,某些消息會被確定為垃圾郵件,而其它不會。這是部分地基于由用戶例如通過按某個按鈕,來顯式地標(biāo)記垃圾郵件或非垃圾郵件,以及經(jīng)由通過與特定消息相關(guān)聯(lián)的用戶行動,隱式地標(biāo)記消息??苫诶缫韵掠脩粜袆踊蛳⑻幚恚瑏黼[式地確定消息不是垃圾郵件消息被閱讀且留在收件箱中;消息被閱讀并被轉(zhuǎn)發(fā);消息被閱讀并放在除垃圾文件夾以外的任何文件夾中;消息被回復(fù);或者用戶打開并編輯該消息。其它用戶行動也可被定義成與非垃圾消息相關(guān)聯(lián)??苫诶缫恢軙r間未閱讀消息,或者未閱讀即將消息刪除,來隱式地確定消息是垃圾郵件。從而系統(tǒng)100經(jīng)由用戶糾正組件114監(jiān)視這些用戶行動(或消息處理)。這些用戶行動或消息處理可被預(yù)配置到用戶糾正組件114中,從而當(dāng)用戶起初審閱消息并對其執(zhí)行行動時,系統(tǒng)100可開始為第一過濾器106逐漸形成假肯定率和假否定率數(shù)據(jù)。實(shí)質(zhì)上任何未預(yù)配置到用戶糾正塊114的用戶行動(或消息處理)將自動允許“未知”消息未經(jīng)標(biāo)記地通到過濾器輸出112,直到系統(tǒng)100自適應(yīng)以針對此類消息類型。應(yīng)當(dāng)理解,本文中所用的術(shù)語“用戶”旨在包括一個人、一群人、一個組件以及人和組件的組合。
當(dāng)用戶收件箱112中的消息被當(dāng)作未標(biāo)記的消息接收,但實(shí)際上是垃圾消息時,系統(tǒng)100將此作為假否定數(shù)據(jù)值處理。用戶糾正組件114隨即將此假否定信息反饋給過濾器控制組件104,作為用于確定第一過濾器106效率的數(shù)據(jù)值。另一方面,如果當(dāng)消息實(shí)際不是垃圾消息時第一過濾器106將其標(biāo)記為垃圾郵件,則系統(tǒng)100將此作為假肯定數(shù)據(jù)值處理。用戶糾正組件114隨即將此假肯定信息反饋給過濾器控制104,作為用于確定第一過濾器106的有效性的數(shù)據(jù)點(diǎn)。因而,當(dāng)用戶糾正用戶收件箱112中收到的消息時,就為第一過濾器106逐漸形成了假否定和假肯定數(shù)據(jù)。
系統(tǒng)100判定對第二過濾器108是否存在閾值,從而其假肯定和假否定率低于(例如,在可接受概率內(nèi))第一過濾器106的假肯定和假否定率。假如這樣的話,則系統(tǒng)100選擇可接受的閾值之一。當(dāng)假肯定率一樣好,且假否定率較佳時,或當(dāng)假否定率一樣好,且假肯定率較佳時,系統(tǒng)也可選擇第二過濾器。因而,本發(fā)明可判定對第二過濾器108是否存在閾值(及該閾值應(yīng)為何值),該閾值在可接受概率內(nèi),保證第二過濾器提供關(guān)于垃圾郵件檢測的相等或較佳效用,而不論特定用戶的效用函數(shù)及用戶是否確實(shí)糾正了第一過濾器106的錯誤。
基于由于用戶對假肯定和假否定率的確認(rèn)而對新訓(xùn)練的需求,系統(tǒng)100訓(xùn)練新(或第二)過濾器108。更具體地,系統(tǒng)100使用經(jīng)由用戶糾正方法確定的,以垃圾郵件和非垃圾郵件標(biāo)簽標(biāo)記的數(shù)據(jù)。使用此數(shù)據(jù),為第一(例如,現(xiàn)有或種子)過濾器106確定假肯定(例如,非垃圾消息被錯誤地標(biāo)記為垃圾)率和假否定(例如,垃圾消息被錯誤地標(biāo)記為非垃圾)率。同樣的數(shù)據(jù)用于學(xué)習(xí)(或“訓(xùn)練”)新(例如,第二)過濾器108——該數(shù)據(jù)也用于根據(jù)閾值確定第二過濾器的假肯定和假否定率。因?yàn)樵u估數(shù)據(jù)和用于訓(xùn)練第二過濾器的數(shù)據(jù)是一樣的,較佳地使用如以下詳細(xì)討論的交叉確認(rèn)方法——交叉確認(rèn)對本領(lǐng)域技術(shù)人員是公知的。如果確定第二組數(shù)據(jù)至少和第一組一樣好,則啟用第二過濾器108。控制組件104隨即將所有傳入消息路由到第二過濾器108,直到率比較過程確定應(yīng)將過濾轉(zhuǎn)移回目前有較佳過濾效用的第一過濾器106。
本發(fā)明一個特定方面依賴于兩個前提。第一前提是第一驗(yàn)證(例如,用戶糾正)不包含錯誤(例如,用戶未將非垃圾消息當(dāng)作垃圾刪除)。在此前提下,數(shù)據(jù)標(biāo)簽盡管不總是正確的,但“至少”和由第一過濾器106所分配的標(biāo)簽“一樣正確”。因而,如果根據(jù)此類標(biāo)簽,第二過濾器108具有不低于現(xiàn)有過濾器的效用,則第二過濾器108真正的期望效用不可能劣于第一過濾器106的效用。第二前提是期望較低的假肯定和假否定率。根據(jù)此類前提,如果第二過濾器108的兩個差錯率都不大于第一過濾器106的兩個差錯率,那么對于垃圾郵件檢測,第二過濾器108至少和第一過濾器106一樣好,而不管用戶的特定效用函數(shù)如何。
第二過濾器108可能不總是和第一過濾器一樣有效的原因之一是與第一過濾器106相比,第二過濾器基于較少的數(shù)據(jù)。第一過濾器106可以是具有從其它用戶的數(shù)據(jù)生成的種子數(shù)據(jù)的“種子”過濾器。本質(zhì)上,大多數(shù)(如果不是所有)自適應(yīng)過濾器都帶有種子過濾器發(fā)貨,從而提供給用戶能識別典型垃圾電子郵件消息的過濾器配置,而不會要求用戶配置過濾器——這為缺乏經(jīng)驗(yàn)的計(jì)算機(jī)用戶提供了很好的“脫離困境”的體驗(yàn)。第二過濾器108可能不總是和第一過濾器106一樣有效的另一個原因更為微妙。它取決于兩個事實(shí)過濾器不是完美的,且可能未被校準(zhǔn)。將依次討論這些事實(shí),然后將回到確定第二過濾器108是否較佳的問題上。
現(xiàn)參考圖2,所示是關(guān)于捕獲率(被正確標(biāo)記的垃圾郵件的百分比,等于1減去假否定率)和假肯定率(被標(biāo)記為垃圾郵件的非垃圾郵件的百分比)的性能折衷的圖表。如本文所指出,并應(yīng)為本領(lǐng)域技術(shù)人員所理解的,沒有一個過濾器是完美的。因此在識別與捕獲更多垃圾消息與偶然將非垃圾郵件消息誤標(biāo)記為垃圾郵件之間存在折衷。在稱作接收者-操作者曲線(ROC)200的附圖內(nèi)描繪了此性能折衷(本文也稱準(zhǔn)確率)。該曲線上的每個點(diǎn)對應(yīng)于一不同折衷。用戶通過調(diào)整概率閾值來選擇過濾器的“操作點(diǎn)”,或者該概率閾值可以是預(yù)設(shè)的。當(dāng)消息是垃圾郵件(如過濾器所認(rèn)為的)的概率p超過此閾值,則該消息被標(biāo)記為垃圾郵件。因而,如果用戶決定以準(zhǔn)確率高的方式(例如,與被正確地標(biāo)記的消息相比,假肯定的數(shù)量很低)操作,那么曲線200上的操作點(diǎn)離原點(diǎn)較近。例如,如果用戶選擇ROC200上的操作點(diǎn)A,則假肯定率大約為0.0007,且關(guān)于被正確地標(biāo)記的消息的數(shù)量的對應(yīng)y軸值大約為0.45。用戶將有0.45/0.0007=643的四舍五入的過濾器準(zhǔn)確率,即,大約每643個被正確地標(biāo)記的消息中有1個假肯定消息。另一方面,如果操作點(diǎn)在點(diǎn)B,則計(jì)算出較低準(zhǔn)確率在大約0.72/0.01=72,或者說大約每72個被正確標(biāo)記的消息中有1個假肯定。
不同的用戶將以決策論的語言,對于他們個人的唯一偏好集來不同地作出此類折衷,不同的人對于垃圾消息過濾有不同的效用函數(shù)。例如,一類用戶可能不關(guān)心非垃圾消息的不正確標(biāo)記,并且未能捕獲N個垃圾消息。對于此類中的用戶,可經(jīng)由以下關(guān)系式定義對于垃圾郵件的最優(yōu)概率閾值(p*)p*=N/(N+1)其中,N是消息數(shù)量,且N可在每類用戶間變化。
因而,稱此類中的用戶有“p*效用函數(shù)”。有了這一理解,如果用戶有p*效用函數(shù),且如果第二過濾器被校準(zhǔn),那么可自動選擇最優(yōu)閾值——即,該閾值應(yīng)被設(shè)為p*。另一類用戶可能不希望超過他/她的X%的非垃圾電子郵件被標(biāo)記為垃圾郵件。對于這些用戶,最優(yōu)閾值取決于第二過濾器108分配給消息的概率的分布。
第二個觀點(diǎn)是可能可以被校準(zhǔn),也可能不能被校準(zhǔn)。校準(zhǔn)的過濾器有如下性質(zhì)當(dāng)它以概率p確定一組電子郵件消息是垃圾郵件時,那么那些消息中的p個將會是垃圾郵件。許多機(jī)器學(xué)習(xí)方法生成校準(zhǔn)的過濾器,前提是用戶嚴(yán)謹(jǐn)?shù)丶m正了現(xiàn)有過濾器的錯誤。如果用戶僅僅有時(例如少于80%)糾正錯誤,則過濾器很可能未被校準(zhǔn)——這些過濾器對于不正確的標(biāo)簽是已校準(zhǔn)的,但對于正確的標(biāo)簽則是未校準(zhǔn)的。本發(fā)明另一方面提供判定對第二過濾器108是否存在閾值(及該閾值應(yīng)為何值)的手段,該閾值保證與第一過濾器相比,第二過濾器向用戶提供相等或更好的效用,而不論用戶的效用函數(shù)及用戶是否嚴(yán)謹(jǐn)?shù)丶m正了現(xiàn)有過濾器106的錯誤。
現(xiàn)參考圖3,所示是根據(jù)本發(fā)明一個方面的過程的流程圖。盡管為解釋簡單起見,該方法被示意并描述為一系列動作,然而應(yīng)當(dāng)理解,本發(fā)明不受動作次序的限制,因?yàn)楦鶕?jù)本發(fā)明,某些動作可按不同順序發(fā)生,和/或與本文示出及描述的其它動作同時發(fā)生。例如,本領(lǐng)域技術(shù)人員將理解,方法能被替換地表示成諸如狀態(tài)圖中的一系列相互關(guān)聯(lián)的狀態(tài)或事件。并且,并非所有示出的行為都是實(shí)現(xiàn)根據(jù)本發(fā)明的方法所必須的。
該基本方法依賴于兩個假定。一個假定是用戶的糾正不包含錯誤(一個錯誤的例子是用戶將非垃圾郵件的消息當(dāng)作垃圾郵件刪除)。在此類假定下,數(shù)據(jù)上的標(biāo)簽,盡管不總是正確的,但“至少”和由第一/種子過濾器所分配的標(biāo)簽“一樣正確”。因而,如果根據(jù)這些標(biāo)簽,第二過濾器具有不低于現(xiàn)有過濾器的效用,則第二過濾器真正的期望效用不劣于第一過濾器的效用。第二假設(shè)是所有用戶都更喜歡較低的假肯定和假否定率。在此假設(shè)下,如果第二過濾器的兩個差錯率都不高于第一過濾器的兩個差錯率,那么第二過濾器不劣于第一過濾器,而不管用戶的特定效用函數(shù)如何。
在300,向第一和第二過濾器提供與其接口(例如,改變設(shè)置、及全面控制過濾器的設(shè)置和配置)的手段。在302,第一過濾器被配置成根據(jù)一個或多個過濾器設(shè)置來自動過濾傳入消息。這些設(shè)置可包括由制造商提供的默認(rèn)設(shè)置。一旦收到了經(jīng)過濾的消息(例如,到收件箱中),則在304審閱這些消息,并判定(例如經(jīng)由用戶糾正方法)哪些非垃圾消息被錯誤地標(biāo)記為垃圾郵件(例如,假肯定)及哪些垃圾消息未被標(biāo)記為垃圾郵件(例如假否定)。在304,可通過隱式或顯示地將假否定消息標(biāo)記為垃圾郵件,以及移除假肯定消息的標(biāo)簽使之成為非垃圾郵件,來執(zhí)行用戶糾正功能。此類用戶糾正功能通過確定其假肯定和假否定率數(shù)據(jù),來為第一過濾器提供準(zhǔn)確率。在308,根據(jù)第一過濾器106的用戶糾正數(shù)據(jù)來訓(xùn)練第二過濾器。同樣的數(shù)據(jù)隨即被用于根據(jù)閾值確定第二過濾器的假肯定和假否定率,如310所示。在312,確定閾值。判定對第二過濾器是否存在閾值,從而相關(guān)聯(lián)的假肯定和假否定率低于第一過濾器的假肯定和假否定率(在某一合理概率內(nèi))。即,如在314所示,確定第二過濾器的準(zhǔn)確率(準(zhǔn)確率SF)是否高于第一過濾器的準(zhǔn)確率(準(zhǔn)確率FF)。如果是,則選中該適當(dāng)?shù)拈撝?,并使用第二過濾器來過濾傳入消息,如在316所示。如果否,該過程前進(jìn)至318,在那里保留第一過濾器來執(zhí)行傳入消息的過濾。該過程按需動態(tài)地循環(huán)通過前述各個動作。
準(zhǔn)確率分析過程可在每次用戶糾正功能發(fā)生時發(fā)生,從而可基于閾值確定,在任何時候使用或停用第二過濾器。因?yàn)榈谝贿^濾器的評估數(shù)據(jù)和用于訓(xùn)練第二過濾器的數(shù)據(jù)是相同的,所以使用了交叉確認(rèn)方法。即,對于每個用戶糾正過程,數(shù)據(jù)被分割成k個存儲桶(bucket)(k是整數(shù)),且對于每個存儲桶,使用在另外k-1個存儲桶中的數(shù)據(jù)來訓(xùn)練第二過濾器。隨后對從該k-1個存儲桶中選中的一個存儲桶評估第二過濾器的性能(或準(zhǔn)確率)。另外一種可能性是等待直到分別累積了N1個具有垃圾郵件標(biāo)簽的消息和N2個具有非垃圾郵件標(biāo)簽的消息(例如N1=N2=1000),然后每當(dāng)累積N3個額外垃圾消息及N4個額外非垃圾郵件消息時(例如N3=N4=100)重新運(yùn)行。另一個替換方法是基于日歷時間來調(diào)度該過程。
如果有一個以上使第二過濾器不劣于第一過濾器的閾值,則對于選擇哪些閾值來使用,存在若干替換方法。一個替換方法是在用戶有p*效用函數(shù)的假設(shè)下,選擇使用戶期望效益最大化的閾值。另一個替換方法是選擇具有最低假肯定率的閾值。又一個替換方法是選擇符合條件閾值范圍的中點(diǎn)。
談到所測得的錯誤率的不確定性,令k1和k2分別為第一和第二過濾器的非垃圾郵件(或垃圾郵件)誤標(biāo)錯誤的數(shù)量。簡單的統(tǒng)計(jì)分析指出,如果k1-k2≥(k1+k2)]]>
那么可以假定能夠近似~x%地確定第二過濾器的錯誤率不劣于第一過濾器的錯誤率(例如,當(dāng)f=2,x=97.5;當(dāng)f=0,x=50)。保守地,如果k1或k2等于0,那么應(yīng)在平方根(sqrt)項(xiàng)中使用為1的值。注意,x是保守調(diào)整——當(dāng)x接近100,在使用第二過濾器前,第二過濾器優(yōu)于第一過濾器的確定性應(yīng)較高。此確定性(或不確定性)計(jì)算包括第一和第二過濾器間的之間的誤差是獨(dú)立的假設(shè)。避免此假設(shè)的一個方法是估算公共的誤差數(shù)量,即,在獨(dú)立假設(shè)下應(yīng)有的誤差數(shù)量。如果找到比此數(shù)量多K個的誤差,則在上面計(jì)算中用(k1-k)和(k2-k)取代k1和k2。此外,隨著訓(xùn)練數(shù)據(jù)中的消息數(shù)量增長,第二過濾器比第一過濾器更準(zhǔn)確(在任何閾值)的可能性越來越大。上面的不確定性估算忽略了此類“先驗(yàn)知識”。熟悉貝葉斯概率/統(tǒng)計(jì)的本領(lǐng)域技術(shù)人員將意識到,存在將此先驗(yàn)知識結(jié)合到不確定性估算中的原則性方法。
在該基本方法的一個方面,設(shè)想第一過濾器將垃圾郵件消息標(biāo)記為非垃圾郵件。此外,假設(shè)用戶未糾正此錯誤,因而系統(tǒng)默認(rèn)地確定此消息不是垃圾郵件。具有更準(zhǔn)確的訓(xùn)練數(shù)據(jù)的第二過濾器可將此消息標(biāo)記為垃圾郵件。因而,第一過濾器的假肯定率將被低估,而第二過濾器的假肯定率被高估。此效果被以下事實(shí)放大大多數(shù)垃圾電子郵件過濾器在許多垃圾消息被標(biāo)記為未非垃圾郵件的閾值操作,從而保持假肯定率較低。
有若干種方法可組合使用,來解決該基本方法的此方面。第一種方法是假設(shè)用戶有例如N=20的p*效用函數(shù),并且只要可找到使第二過濾器不劣于第一過濾器的閾值就使用第二過濾器。此處,即使例如第二過濾器的假肯定率大于第一過濾器的假肯定率,也可使用第二過濾器。即,在此方法下,使用第二過濾器的可能性更大。
第二種方法是限制測試組,從而以高度確定性確知被標(biāo)記為非垃圾郵件的消息不是垃圾郵件。例如,測試組僅包括通過用戶選則“非垃圾郵件”按鈕;來標(biāo)記的消息、被閱讀且未被刪除的消息、被轉(zhuǎn)發(fā)的消息、以及用戶回復(fù)的消息。
第三種方法是系統(tǒng)可使用由已校準(zhǔn)的過濾器(例如第一過濾器)生成的概率,來為第二過濾器生成更優(yōu)的假肯定率估算。即,并非簡單地對數(shù)據(jù)中具有非垃圾郵件標(biāo)簽的消息及來自第一過濾器的垃圾郵件標(biāo)簽計(jì)數(shù),而是系統(tǒng)能夠?qū)γ總€此類消息是正常(非垃圾郵件)的概率(根據(jù)已校準(zhǔn)過濾器)求和。此和將小于計(jì)數(shù),且會是在用戶徹底糾正所有消息情況下,對計(jì)數(shù)的更好估算。
在更簡單的第四種方法中,監(jiān)視用戶用“非垃圾郵件”和“垃圾郵件”按鈕來糾正標(biāo)簽的期望次數(shù)。此處,對于已知為已校準(zhǔn)的過濾器(例如第一/種子過濾器)采用期望值。如果實(shí)際的糾正次數(shù)落到指望次數(shù)之下(絕對次數(shù)或百分比),那么系統(tǒng)不訓(xùn)練第二過濾器。
在實(shí)踐中,用戶界面可提供多個閾值,用戶可從中選擇一個。在此情況中,僅當(dāng)新過濾器在用戶選定的閾值處優(yōu)于種子過濾器才使用新過濾器。然而,此外,期望新過濾器在其它閾值設(shè)置處也優(yōu)于種子過濾器,尤其是哪些接近用戶當(dāng)前選擇的那些設(shè)置。以下算法是幫助實(shí)現(xiàn)此方法的一個這樣的方法。輸入例如稱為SliderHalfLife(SHL)的參數(shù),它是有默認(rèn)值0.25的實(shí)數(shù)。對于每個閾值,判定新過濾器是否和第一過濾器一樣好,或優(yōu)于第一過濾器。然后使用當(dāng)前選中的閾值。然而,如果新過濾器在當(dāng)前閾值設(shè)置處優(yōu)于第一/種子過濾器,而且如下描述的TotalWeight值(w)大于或等于0,則進(jìn)行切換。起初,TotalWeight=0。對于每個非當(dāng)前的閾值設(shè)置\\基于其到當(dāng)前設(shè)置的距離,向每一個分配權(quán)重d=abs[(IS-ICS)(IMAX-IMIN)]]]>d=距離IS=設(shè)置的索引ICS=當(dāng)前設(shè)置的索引IMAX=最大設(shè)置的索引IMIN=最小設(shè)置的索引w=.5(d/SHL)如果新過濾器在此設(shè)置表現(xiàn)更好,那么將其權(quán)重加到TotalWeight;否則,從TotalWeight減去其權(quán)重。
注意,此算法僅判定新過濾器是否在每個閾值設(shè)置都較優(yōu)。它并未慮及新過濾器比第一/種子過濾器優(yōu)或劣多少。可用新與舊假否定率、假肯定率、假否定的數(shù)量和/或假肯定的數(shù)量的函數(shù),來修改此算法以慮及進(jìn)步或退步的程度。
現(xiàn)參考圖4a,示出可向用戶呈現(xiàn)用于本文所揭示的自適應(yīng)垃圾郵件過濾器系統(tǒng)及用戶信箱的基本配置的示例性用戶界面400。界面400包括垃圾郵件頁面(或窗口)401,以及菜單欄402,該菜單欄包括,但不限于,以下下拉菜單標(biāo)題File(文件)、Edit(編輯)、View(視圖)、Sign Out(退出)、及Help&Settings(幫助和設(shè)置)。窗口401還包括鏈接欄404,該鏈接欄便于向前和向后導(dǎo)航,以允許用戶導(dǎo)航到其它頁面、工具、以及界面400的功能,包括Home(主頁)、Favorites(收藏夾)、Search(搜索)、Mail&More(郵件和更多)、Messenger(消息通信程序)、Entertainment(娛樂)、Money(財(cái)產(chǎn))、Shopping(購物)、People&Chat(人和聊天)、Learning(學(xué)習(xí))、及Photos(照片)。菜單欄406便于選擇垃圾電子郵件配置窗口401的一個或多個配置窗口。如圖所示,Settings(設(shè)置)子窗口408允許用戶為垃圾電子郵件過濾選擇多個基本配置。第一選項(xiàng)410允許用戶啟用垃圾電子郵件過濾。用戶也可選擇各種電子郵件保護(hù)的等級。例如,第二選項(xiàng)412允許用戶選擇僅捕捉最明顯的垃圾郵件的默認(rèn)(Default)過濾器設(shè)置。第三選項(xiàng)414允許用戶選擇更高級的過濾,從而更多垃圾電子郵件被捕獲并丟棄。第四選項(xiàng)416允許用戶只從可信方(例如在用戶地址簿(Address Book)中及在安全列表(Safe List)上列出的各方)接收電子郵件。Related Settings(相關(guān)設(shè)置)區(qū)域418提供導(dǎo)航到那些列出區(qū)域的手段,那些區(qū)域包括Junk Mail Filter(垃圾郵件過濾器)、Safe List(安全列表)、Mailing List(郵件發(fā)送列表)、以及Block Sender List(阻塞發(fā)件人列表)。
現(xiàn)參考圖4b,示出呈現(xiàn)用戶信箱特征的用戶界面400的用戶信箱窗口420。該信箱窗口420包括菜單欄402,該菜單欄包括,但不限于,以下下拉菜單標(biāo)題File、Edit、View、Sign out、及Help&Setting。信箱窗口420還包括鏈接欄404,該鏈接欄便于向前和向后導(dǎo)航,以允許用戶導(dǎo)航到其它頁面、工具、以及界面400的功能,包括Home、Favorites、Search、Mail&More、Messenger、Entertainment、Money、Shopping、People&Chat、Learning、及Photos。窗口420還包括電子郵件控制工具欄422,該工具欄包括以下用于允許用戶創(chuàng)建新消息的Write Message(寫消息)選項(xiàng);用于刪除消息的Delete(刪除)選項(xiàng);用于將消息標(biāo)記為垃圾郵件的Junk(垃圾郵件)選項(xiàng);用于回復(fù)消息的Reply(回復(fù))選項(xiàng);用于將消息移動到不同文件夾的Put in Folder(放入文件夾)選項(xiàng);以及用于轉(zhuǎn)發(fā)消息的轉(zhuǎn)發(fā)圖標(biāo)。
窗口420還包括文件夾選擇子窗口424,它向用戶提供了選擇顯示Inbox(收件箱)、Trash Can(廢件箱)、及Junk Mail(垃圾郵件)文件夾中的內(nèi)容的選項(xiàng)。用戶還可訪問各文件夾(包括Stored Messages(儲存的消息)、Outbox(發(fā)件箱)、Sent Messages(已發(fā)送消息)、Trash Can(廢件箱)、Drafts(草稿)、Demo(演示)程序、及Old Junk Mail(舊垃圾郵件)文件夾)的內(nèi)容。在Junk Mail(垃圾郵件)和Old Junk Mail(舊垃圾郵件)文件夾的每一個中的消息數(shù)量也被列在相應(yīng)文件夾標(biāo)題旁邊。根據(jù)文件夾選擇子窗口424中的文件夾選擇,在消息列表子窗口426中,呈現(xiàn)了接收到的消息的清單。在消息預(yù)覽子窗口428中,向用戶呈現(xiàn)選中消息的一部分內(nèi)容供預(yù)覽??尚薷拇翱?20以包括在用戶偏好子窗口(未示出)中呈現(xiàn)的用戶偏好信息。偏好子窗口可被包括在所示窗口420右邊的一個部分中,如圖4a所示。這包括,但不限于,天氣信息、股票市場信息、最喜歡的網(wǎng)站鏈接、等等。
所示界面400不局限于所示出的,而是可包括其它可常規(guī)圖形、圖像、指導(dǎo)文本、菜單選項(xiàng)、等等,它們可被實(shí)施以進(jìn)一步幫助用戶選擇過濾器及導(dǎo)航到界面的其它非電子郵件過濾器最高配置所需的頁面。
現(xiàn)參考圖5,所示是使用所揭示的過濾技術(shù)的體系結(jié)構(gòu)的通用框圖。提供網(wǎng)絡(luò)500以便于電子郵件與一個或多個客戶機(jī)502、504和506(也記為客戶機(jī)1、客戶機(jī)2、……、客戶機(jī)N、)之間的通信。網(wǎng)絡(luò)500可以是諸如因特網(wǎng)等全球通信網(wǎng)絡(luò)(GCN)、或WAN(廣域網(wǎng))、LAN(局域網(wǎng))、或任何其它網(wǎng)絡(luò)體系結(jié)構(gòu)。在此特定實(shí)現(xiàn)中,SMTP(簡單郵件傳輸協(xié)議)網(wǎng)關(guān)服務(wù)器508連接到網(wǎng)絡(luò)500,以向LAN510提供SMTP服務(wù)。操作上安置在LAN510上的電子郵件服務(wù)器512連接到網(wǎng)關(guān)508以控制和處理客戶機(jī)502、504和506的傳入及傳出的電子郵件,其中客戶機(jī)502、504和506也安置在LAN510上以至少訪問其上提供的郵件服務(wù)。
客戶機(jī)502包括控制客戶機(jī)進(jìn)程的中央處理單元(CPU)514——應(yīng)當(dāng)理解,CPU514可由多個處理器組成。CPU514執(zhí)行關(guān)于提供在上文描述的一個或多個過濾功能中任何一個的指令。這些指令包括,但不限于已編碼指令,它們至少執(zhí)行上述基本方法的過濾方法、能與其結(jié)合使用的至少任何或所有方法、以及用戶交互選擇,這些方法用于解決處理用戶進(jìn)行用戶糾正、使用假肯定和假否定率數(shù)據(jù)的不確定性的確定、閾值的確定、正確率的計(jì)算的失敗。提供用戶界面518以便于與CPU514和客戶機(jī)操作系統(tǒng)的通信,從而用戶能夠交互以配置過濾器設(shè)置以及訪問電子郵件。
客戶機(jī)502還至少包括可根據(jù)上文所提供的過濾器描述操作的第一過濾器520(類似于第一過濾器106)及第二過濾器522(類似于第二過濾器108)??蛻魴C(jī)502還包括電子郵件收件箱存儲位置(或文件夾)524,該位置用于從第一過濾器520和第二過濾器522中的至少一個接收已過濾的電子郵件-預(yù)期被正確地標(biāo)記的電子郵件的消息??商峁┑诙娮余]件存儲位置(或文件夾)526,該位置用于容納用戶判定為垃圾郵件、并選擇將其存儲在其中的垃圾郵件,盡管這也可以是廢件文件夾。如上所示,取決于是否用第二過濾器取代第一過濾器以提供對傳入電子郵件的相等或更優(yōu)的過濾,收件箱文件夾524可包括由第一過濾器520或第二過濾器522過濾的電子郵件。
一旦用戶從電子郵件服務(wù)器512接收到電子郵件,用戶隨后將細(xì)讀收件箱文件夾524的電子郵件,以閱讀并確定經(jīng)過濾的收件箱電子郵件消息的實(shí)際狀態(tài)。如果垃圾電子郵件通過了第一過濾器520,用戶隨即將執(zhí)行向系統(tǒng)指示該消息實(shí)際上是垃圾電子郵件的顯式或隱式用戶糾正功能。然后基于此用戶糾正數(shù)據(jù),來訓(xùn)練第一和第二過濾器(520和522)。如果確定第二過濾器522有比第一過濾器520更好的準(zhǔn)確率,將使用它以代替第一過濾器520,來提供相等或更優(yōu)的過濾。如在上文所指出的,如果第二過濾器522有和第一過濾器520實(shí)質(zhì)上相等的準(zhǔn)確率,它可被使用或不被使用。過濾器訓(xùn)練可以是用戶根據(jù)若干如上所指出的預(yù)定標(biāo)準(zhǔn)來選擇發(fā)生的。
現(xiàn)參考圖6,示出具有一個或多個客戶計(jì)算機(jī)602的系統(tǒng)600,該客戶計(jì)算機(jī)便于多用戶登錄,并且根據(jù)本發(fā)明的過濾技術(shù)來過濾傳入消息??蛻魴C(jī)602包括多種登錄能力,從而第一過濾器604和第二過濾器606分別為登錄到計(jì)算機(jī)602的每一不同用戶提供消息過濾。因而,提供了用戶界面608,該用戶界面將登錄屏幕呈現(xiàn)為計(jì)算機(jī)操作系統(tǒng)啟動進(jìn)程的部分,或按照所要求的,在用戶能訪問他或她的傳入消息之前使用相關(guān)聯(lián)的用戶概況。因而,當(dāng)?shù)谝挥脩?10(也記為用戶1)選擇訪問消息時,第一用戶610經(jīng)由用戶界面608的登錄屏幕612,通過輸入通常為用戶名和用戶密碼形式的訪問信息,來登錄到客戶計(jì)算機(jī)602。CPU514處理該訪問信息,來允許第一用戶經(jīng)由消息通信應(yīng)用程序(例如,郵件客戶端)僅訪問第一用戶收件箱位置614(也記為用戶1收件箱)和第一用戶垃圾消息郵件位置616(也記為用戶1垃圾消息)。
當(dāng)CPU514接收到用戶登錄訪問信息,CPU514訪問第一用戶偏好信息,以利用第一過濾器604和第二過濾器606,用于隨后過濾可被下載到客戶計(jì)算機(jī)602的傳入消息。允許登錄到該計(jì)算機(jī)的所有用戶(用戶1、用戶2、……、用戶N)的過濾器偏好信息可本地地存儲在過濾器偏好表中。當(dāng)?shù)谝挥脩舻卿浀接?jì)算機(jī)602,或者使用相關(guān)聯(lián)的第一用戶概況時,過濾器偏好信息可由CPU514訪問。因而,處理第一和第二過濾器(604和606)的第一用戶610假否定和假肯定率數(shù)據(jù),以使用第一過濾器604或第二過濾器606來過濾要下載的消息。如根據(jù)所揭示的本發(fā)明在上文所指出的,假否定和假肯定率數(shù)據(jù)是至少從用戶糾正過程中導(dǎo)出的。一旦第一用戶610下載了消息,可根據(jù)被錯誤地標(biāo)記的消息來更新假否定和假肯定率數(shù)據(jù)。在另一個用戶登錄到計(jì)算機(jī)602之前的某個時間點(diǎn),第一用戶的已更新率數(shù)據(jù)隨即被存回過濾器偏好表中以供將來參考。
當(dāng)?shù)诙脩?18登錄,假否定和假肯定率可根據(jù)與其相關(guān)聯(lián)的過濾偏好而改變。在第二用戶618輸入他或她的登錄信息后,CPU514訪問第二用戶過濾器偏好信息,并依此使用第一過濾器604或第二過濾器606。計(jì)算機(jī)操作系統(tǒng)連同計(jì)算機(jī)消息通信應(yīng)用程序,將第二用戶618的消息通信服務(wù)限于只能訪問第二用戶收件箱620(也記為用戶2收件箱)和第二用戶垃圾消息位置622(也記為用戶2垃圾消息)。處理第一和第二過濾器(604和606)的第二用戶假否定和假肯定率數(shù)據(jù),以使用第一過濾器604或第二過濾器606來過濾要下載的第二用戶618的消息。如根據(jù)所揭示的本發(fā)明在上文指出的,假否定和假肯定率數(shù)據(jù)是至少從用戶糾正過程中導(dǎo)出的。一旦第二用戶618下載了消息,可根據(jù)被錯誤地標(biāo)記的消息來更新假否定和假肯定率數(shù)據(jù)。
以類似于第一和第二用戶(610和618)的操作的方式提供第N用戶624(記為用戶N)的操作。當(dāng)使用該消息通信應(yīng)用程序時,和所有其它用戶一樣,第N用戶624被限于僅與第N用戶624相關(guān)聯(lián)的用戶信息,因而只允許其訪問用戶N的收件箱626和用戶N的垃圾消息位置628,再無其它收件箱(614和620)和垃圾消息位置(616和622)。
計(jì)算機(jī)602被恰當(dāng)?shù)嘏渲贸膳cLAN510上其它客戶機(jī)通信,并通過使用客戶機(jī)網(wǎng)絡(luò)接口630來訪問在其上安置的網(wǎng)絡(luò)服務(wù)。因而提供了用于從SMTP(或消息)網(wǎng)關(guān)508接收消息以控制和處理客戶機(jī)(602和632(也記為客戶機(jī)N))以及用于經(jīng)由LAN510傳遞消息到消息服務(wù)器512的任何其它有線或無線設(shè)備的傳入和傳出消息的消息服務(wù)器512。將客戶機(jī)(602和632)部署成可與LAN510進(jìn)行操作上的通信以至少訪問其上提供的消息服務(wù)。SMTP網(wǎng)關(guān)508連接到GCN500,以在GCN500的網(wǎng)絡(luò)設(shè)備與LAN510上的消息實(shí)體間提供兼容的SMTP消息服務(wù)。
應(yīng)當(dāng)理解,如上所述的率-數(shù)據(jù)平均可用于確定使用過濾器(604和606)的最佳平均設(shè)置。類似地,允許登錄到計(jì)算機(jī)602的用戶的最佳率數(shù)據(jù)也可用于為登錄到其上的所有用戶配置過濾器。
現(xiàn)參考圖7,示出系統(tǒng)700,其中在消息服務(wù)器702上執(zhí)行初始過濾,并且在一個或多個客戶機(jī)上執(zhí)行二次過濾。提供GCN500以便于消息(例如電子郵件)與一個或多個客戶機(jī)(704、706和708)(也記為客戶機(jī)1、客戶機(jī)2、……、客戶機(jī)N)之間的通信。SMTP網(wǎng)關(guān)服務(wù)器508連接到GCN500,以在GCN500的網(wǎng)絡(luò)設(shè)備和LAN510的消息實(shí)體間提供兼容的消息服務(wù)。
消息服務(wù)器702操作上安置在LAN510上,且連接到網(wǎng)關(guān)508以控制和處理客戶機(jī)704、706和708,及用于經(jīng)由LAN510傳遞消息到消息服務(wù)器702的任何其它有線或無線設(shè)備的傳入與傳出的消息??蛻魴C(jī)(704、706和708)(例如有線或無線設(shè)備)被安置成可與LAN510在操作上通信以至少訪問其上提供的消息服務(wù)。
根據(jù)本發(fā)明的一個方面,消息服務(wù)器702通過使用第一過濾器710(類似于第一過濾器106)來執(zhí)行初始過濾,客戶機(jī)使用第二過濾器712(類似于第二過濾器108)來執(zhí)行二次過濾。因而,當(dāng)?shù)谝贿^濾器710處理消息以判定它們是垃圾郵件還是非垃圾消息時,傳入消息從網(wǎng)關(guān)508接收到消息服務(wù)器702的傳入消息緩沖區(qū)714中臨時存儲。緩沖區(qū)714可以是簡單的FIFO(先進(jìn)先出)體系結(jié)構(gòu),從而基于先來先服務(wù)來處理所有消息。然而應(yīng)當(dāng)理解,消息服務(wù)器702可根據(jù)標(biāo)記的優(yōu)先級來過濾處理被緩沖的消息。因而,緩沖區(qū)714被恰當(dāng)?shù)嘏渲贸商峁┫?yōu)先級排序,從而由發(fā)送者以較高優(yōu)先級標(biāo)記的消息先于以較低優(yōu)先級標(biāo)記的其它消息從緩沖區(qū)714轉(zhuǎn)發(fā)。優(yōu)先級標(biāo)記可基于與發(fā)件人優(yōu)先級標(biāo)簽不相關(guān)的其它標(biāo)準(zhǔn),包括但不限于消息的大小、消息發(fā)送的日期、消息是否有附件、附件的大小、消息已在緩沖區(qū)714中多久,等等。
為了逐漸形成第一過濾器710的假肯定和假否定率數(shù)據(jù),管理員可采樣第一過濾器710的輸出,以確定多少正常消息被誤標(biāo)為垃圾郵件,及多少垃圾消息被誤標(biāo)為正常。如根據(jù)本發(fā)明一個方面在上文指出的,第一過濾器710的這個率數(shù)據(jù)隨即被用作確定第二過濾器712的新假肯定和假否定率數(shù)據(jù)的基礎(chǔ)。
在任一情況下。一旦第一過濾器710過濾了消息,就基于客戶機(jī)目的地IP地址,將其從服務(wù)器702通過服務(wù)器網(wǎng)絡(luò)接口716越過網(wǎng)絡(luò)510路由到適當(dāng)?shù)目蛻魴C(jī)(例如,第一客戶機(jī)704)。第一客戶機(jī)704包括控制所有客戶機(jī)進(jìn)程的CPU514。CPU514與消息服務(wù)器702通信以獲取第一過濾器710的假肯定和假否定率數(shù)據(jù),并進(jìn)行與第二過濾器712的假肯定和假否定率數(shù)據(jù)的比較,以確定何時應(yīng)使用第二過濾器712。如果比較的結(jié)果是使得第二過濾器的率數(shù)據(jù)目前劣于第一過濾器710的率數(shù)據(jù),則使用第二過濾器712,且CPU514與消息服務(wù)器702通信以允許目的地為第一客戶機(jī)704的消息不被過濾地通過服務(wù)器702。
當(dāng)?shù)谝豢蛻魴C(jī)704的用戶審閱所接收的消息并執(zhí)行用戶糾正時,第二過濾器712的新假肯定和假否定率數(shù)據(jù)被更新了。如果新的率數(shù)據(jù)變得劣于第一率數(shù)據(jù),則第一過濾器710隨即將被重新使用,以向第一客戶機(jī)704提供過濾。為了對該特定客戶機(jī)704確定何時在第一和第二過濾器(710和712)間來回切換過濾,CPU514繼續(xù)進(jìn)行率數(shù)據(jù)的比較。
CPU514執(zhí)行可根據(jù)用于提供本文所描述的一種或多種過濾功能中的任何一種的指令來操作的算法。該算法包括,但不限于已編碼指令,該指令至少執(zhí)行上述基本方法的過濾方法、能與其結(jié)合使用至少任何或所有方法、以及用戶交互選擇,這些方法用于處理用戶進(jìn)行用戶糾正、使用假肯定和假否定率數(shù)據(jù)的不確定性確定、閾值確定、正確率的計(jì)算的失敗。提供用戶界面518,以便于與CPU514和客戶機(jī)操作系統(tǒng)的通信,從而用戶可交互,以配置過濾器設(shè)置以及訪問消息。
客戶機(jī)502還至少包括可根據(jù)在上文所提供的過濾器描述操作的第二過濾器712??蛻魴C(jī)502還包括消息收件箱存儲位置(或文件夾)524,該位置用于從第一過濾器710和第二過濾器712中的至少一個接收已過濾的消息-預(yù)期被正確地標(biāo)記的消息??商峁┑诙⒋鎯ξ恢?或文件夾)526,該位置用于容納用戶判定為垃圾郵件、并選擇將其存儲在其中的垃圾郵件,盡管這也可以是廢件文件夾。如上所示,取決于是否用第二過濾器712取代第一過濾器710以提供對到傳入消息的相等或更優(yōu)的過濾,收件箱文件夾524可包括由第一過濾器710或第二過濾器712過濾的消息。
如在上文中所指出的,一旦用戶從消息服務(wù)器702下載了消息,用戶隨后將細(xì)讀收件箱文件夾524的消息,以閱讀并確定經(jīng)過濾收件箱消息的實(shí)際狀態(tài)。如果垃圾消息通過了第一過濾器710,用戶隨即將執(zhí)行向系統(tǒng)指示該消息實(shí)際上是垃圾電子郵件的顯式或隱式的用戶糾正功能。然后基于此用戶糾正數(shù)據(jù),來訓(xùn)練第一和第二過濾器(710和712)。如果判定第二過濾器712有比第一過濾器710更好的準(zhǔn)確率,將使用它以代替第一過濾器710,來提供相等或更優(yōu)的過濾。如果第二過濾器712有和第一過濾器710實(shí)質(zhì)上相等的準(zhǔn)確率,它可被使用或不被使用。過濾器訓(xùn)練可以是用戶根據(jù)如上文指出的若干預(yù)定標(biāo)準(zhǔn)來選擇發(fā)生的。
應(yīng)當(dāng)理解,因?yàn)槠渌蛻魴C(jī)(706和708)使用消息服務(wù)器702來過濾消息,因此各個客戶(706和708)的新的率數(shù)據(jù)會影響第一過濾器710的過濾操作。因而各個過濾器(706和708)也和消息服務(wù)器702通信,以根據(jù)那些客戶機(jī)(706和708)的第二過濾器的相應(yīng)新的率數(shù)據(jù)來啟用或禁用第一過濾器710。消息服務(wù)器702可包括涉及各個客戶機(jī)過濾器要求的客戶機(jī)偏好的過濾器偏好表。因而,向每個被緩沖的消息詢問目的地IP地址,并根據(jù)存儲在該過濾器表中的與該目的地地址相關(guān)聯(lián)的過濾器偏好來處理它們。因而,盡管根據(jù)第一客戶機(jī)704的率數(shù)據(jù)的比較結(jié)果,可能要求目的地為第一客戶機(jī)704的廣播垃圾消息由第一客戶機(jī)704的第二過濾器712來處理,但是根據(jù)該處所獲的率數(shù)據(jù)比較結(jié)果,可能也要求目的地為第二客戶機(jī)706的同樣的垃圾消息由消息服務(wù)器702的第一過濾器710來處理。
還應(yīng)當(dāng)理解,個別客戶機(jī)(704、706和708)的個別新率數(shù)據(jù)可由服務(wù)器702同時接收和處理,以確定其平均值。此平均值隨后可用于判定是單獨(dú)地還是成組地來回切換使用各客戶機(jī)的第一過濾器710或第二過濾器712?;蛘?,各客戶機(jī)(704、706和708)的最佳新率數(shù)據(jù)可由服務(wù)器702確定,并用于單獨(dú)地或成組地在第一過濾器710和客戶機(jī)過濾器712間來回切換。
現(xiàn)參考圖8,示出使用本發(fā)明的過濾方面的大規(guī)模過濾系統(tǒng)800的替換實(shí)施例。在由系統(tǒng)范圍郵件系統(tǒng)(例如,因特網(wǎng)服務(wù)供應(yīng)商)大規(guī)模執(zhí)行消息過濾的更健壯的實(shí)施例中,可使用多重過濾系統(tǒng)來過濾大量的傳入消息。大量傳入消息802被接收并定址到許多不同的用戶目的地。消息802經(jīng)由例如SMTP網(wǎng)關(guān)進(jìn)入供應(yīng)商的系統(tǒng),隨后被發(fā)送到系統(tǒng)消息路由組件806,以路由到各個過濾器系統(tǒng)808、810和812(也分別記為過濾器系統(tǒng)1、過濾器系統(tǒng)2、……、過濾器系統(tǒng)N)。
每個過濾器系統(tǒng)(808、810和812)包括路由控制組件、第一過濾器、第二過濾器及輸出緩沖區(qū)。因而,過濾器系統(tǒng)808包括用于在第一系統(tǒng)過濾器816和第二系統(tǒng)過濾器818間路由消息的路由控制組件814。第一和第二過濾器(816和818)的輸出被連到用于在消息被發(fā)送到用戶收件箱路由組件822之前暫時存儲消息的輸出緩沖區(qū)820。用戶收件箱路由組件822向每個從過濾器系統(tǒng)808的輸出緩沖區(qū)820收到的消息詢問用戶目的地地址,并將消息路由到多個用戶收件箱824(也記為收件箱1、收件箱2、……、收件箱N)中適當(dāng)?shù)挠脩羰占洹?br>
系統(tǒng)消息路由組件806包括負(fù)載平衡性能,以根據(jù)過濾器系統(tǒng)(808、810和812)可用的帶寬,在過濾器系統(tǒng)(808、810和812)間路由消息,以容納消息處理。因而,如果第一過濾器系統(tǒng)808的傳入消息隊(duì)列(未示出,但為路由組件814的一部分)被備份,且無法容納系統(tǒng)800所需的吞吐量,則該隊(duì)列的狀態(tài)信息從路由控制組件814反饋給系統(tǒng)路由組件806,使得傳入消息802隨后被路由到其它過濾器系統(tǒng)(810和812),直到系統(tǒng)814的傳入隊(duì)列能接收更多消息。剩余過濾器系統(tǒng)(810和812)中的每一個包括此傳入隊(duì)列反饋能力,從而系統(tǒng)路由組件806能處理所有可用過濾器系統(tǒng)-過濾器系統(tǒng)1、過濾器系統(tǒng)2、……、過濾器系統(tǒng)N間的消息負(fù)載處理。
現(xiàn)在將詳細(xì)描述第一系統(tǒng)過濾器808的自適應(yīng)過濾器能力。在此特定系統(tǒng)實(shí)現(xiàn)中,系統(tǒng)管理員將被分派通過提供關(guān)于過濾器準(zhǔn)確率的反饋以提供經(jīng)標(biāo)記/未標(biāo)記消息,來為系統(tǒng)800確定什么組成了垃圾郵件的任務(wù)。即,為了為相應(yīng)系統(tǒng)(808、810和812)的每一個生成FN和FP信息,管理員執(zhí)行用戶糾正。由于大量傳入消息,這可根據(jù)統(tǒng)計(jì)采樣方法來執(zhí)行,該采樣方法數(shù)學(xué)地提供了所取的樣本反映由相應(yīng)過濾器系統(tǒng)(808、810和812)在判斷什么是垃圾消息和非垃圾消息時執(zhí)行的過濾的準(zhǔn)確性的高度可能性。
此外,管理員可經(jīng)由系統(tǒng)控制組件826,從緩沖區(qū)820中取消息的一個樣本,并驗(yàn)證標(biāo)記在該樣本上的消息的準(zhǔn)確性。系統(tǒng)控制組件826可以是與過濾器系統(tǒng)(808、810和812)互聯(lián)以對其進(jìn)行監(jiān)視和控制的硬件和/或軟件處理系統(tǒng)。任何被錯誤地標(biāo)記的消息將用于建立第一過濾器816的假否定(FN)和假肯定(FP)率數(shù)據(jù)。此FN/FP率數(shù)據(jù)隨后被用于第二過濾器818。如果第一過濾器816的率數(shù)據(jù)落在某閾值之下,可啟用第二過濾器818以提供至少和第一過濾器816一樣好的過濾。當(dāng)管理員再次執(zhí)行從緩沖區(qū)820采樣的用戶糾正,如果第二過濾器818的FN/FP數(shù)據(jù)劣于第一過濾器816的FN/FP,路由控制組件814將處理此第二過濾器818的FN/FP數(shù)據(jù),并確定消息路由應(yīng)被切換回第一過濾器816。
系統(tǒng)控制組件826連接到系統(tǒng)消息路由組件806以在之間交換數(shù)據(jù),并提供管理員對其的管理。系統(tǒng)控制組件826還連接到剩余系統(tǒng)-過濾器系統(tǒng)1、過濾器系統(tǒng)2、……、過濾器系統(tǒng)N的輸出緩沖區(qū),以提供那些系統(tǒng)的采樣能力。管理員還可經(jīng)由系統(tǒng)控制組件826來訪問用戶收件箱路由組件822,來檢查其操作。如在上文關(guān)于圖1所述,過濾器的準(zhǔn)確性可被擴(kuò)展到多個過濾系統(tǒng)的準(zhǔn)確性。第一系統(tǒng)808的FN/FP率數(shù)據(jù)隨即可用于訓(xùn)練第二系統(tǒng)810和第三系統(tǒng)812的過濾器,以進(jìn)一步增強(qiáng)整個系統(tǒng)800的過濾能力。類似地,可根據(jù)特定系統(tǒng)的FN/FP數(shù)據(jù)來執(zhí)行負(fù)載控制。即,如果第一系統(tǒng)808的總FN/FP數(shù)據(jù)劣于第二系統(tǒng)810的FN/FP數(shù)據(jù),則可向第二系統(tǒng)810路由比第一系統(tǒng)808更多的消息。
應(yīng)當(dāng)理解,過濾器系統(tǒng)(808、810和812)可以是單獨(dú)的過濾器算法,其每一個運(yùn)行在專用計(jì)算機(jī)、或計(jì)算機(jī)的組合上?;蛘?,在存在硬件能力時,各算法可在單個計(jì)算機(jī)上一同運(yùn)行,從而所有的過濾在單個健壯機(jī)器上執(zhí)行。
現(xiàn)參考圖9,所示是用于執(zhí)行所揭示的體系結(jié)構(gòu)的計(jì)算機(jī)的框圖。為了向本發(fā)明的各個方面提供額外的環(huán)境,圖9和以下討論旨在提供其中可實(shí)現(xiàn)本發(fā)明的各方面的合適的計(jì)算環(huán)境900的簡要的概述。盡管上文中在可在一個或多個計(jì)算機(jī)上運(yùn)行的計(jì)算機(jī)可執(zhí)行指令的通用環(huán)境中描述本發(fā)明,然而本領(lǐng)域技術(shù)人員將意識到,本發(fā)明也可結(jié)合其它程序模塊實(shí)現(xiàn)和/或作為硬件與軟件的組合來實(shí)現(xiàn)。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、組件、數(shù)據(jù)結(jié)構(gòu)、等等。此外,本領(lǐng)域技術(shù)人員將理解,本發(fā)明的方法可用其它計(jì)算機(jī)系統(tǒng)配置來實(shí)施,包括單處理器或多處理器計(jì)算機(jī)系統(tǒng)、微型計(jì)算機(jī)、大型計(jì)算機(jī)、以及個人計(jì)算機(jī)、手持計(jì)算設(shè)備、基于微處理器或可編程的消費(fèi)者電子設(shè)備、等等,其每一個都可操作上耦合到一個或多個相關(guān)聯(lián)的設(shè)備。本發(fā)明所示出的方面也可在分布式計(jì)算環(huán)境中實(shí)施,其中特定任務(wù)由通過通信網(wǎng)絡(luò)連接的遠(yuǎn)程處理設(shè)備實(shí)施。在分布式計(jì)算環(huán)境中,程序模塊可位于本地及遠(yuǎn)程記憶存儲設(shè)備中。
再次參考圖9,用于實(shí)現(xiàn)本發(fā)明各個方面的示例性環(huán)境900包括計(jì)算機(jī)902,計(jì)算機(jī)902包括處理單元904、系統(tǒng)存儲器906和系統(tǒng)總線908。系統(tǒng)總線908將包括,但不限于系統(tǒng)存儲器906的系統(tǒng)組件耦合到處理單元904。處理單元904可以是各種市場上可購買的處理器中的任何一種。雙微處理器及其它多處理器體系結(jié)構(gòu)也可用作處理單元904。
系統(tǒng)總線908可以是若干種總線結(jié)構(gòu)中的任何一種,包括存儲器總線或存儲器控制器、外圍總線、以及使用多種市場上可購買的總線體系結(jié)構(gòu)中的任一種的局部總線。系統(tǒng)存儲器包括只讀存儲器(ROM)910和隨機(jī)存取存儲器(RAM)912。包含諸如在啟動時幫助在個人計(jì)算機(jī)902內(nèi)部各元件間傳遞信息的基本例程的基本輸入/輸出系統(tǒng)(BIOS)儲存在ROM910中。
計(jì)算機(jī)902還可包括硬盤驅(qū)動器914、磁盤驅(qū)動器916(例如,讀或?qū)懣梢苿哟疟P918)、及光盤驅(qū)動器920(讀CD ROM盤922或者讀或?qū)懫渌饨橘|(zhì))。硬盤驅(qū)動器914、磁盤驅(qū)動器916和光盤驅(qū)動器920可分別由硬盤驅(qū)動接口924、磁盤驅(qū)動接口926及光盤驅(qū)動接口928連到系統(tǒng)總線908。這些驅(qū)動器及其相關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)提供數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)、計(jì)算機(jī)可執(zhí)行指令等的非易失性存儲。對于計(jì)算機(jī)902,各驅(qū)動器和介質(zhì)容納合適的數(shù)字格式的廣播編程的存儲。盡管上文對計(jì)算機(jī)可讀介質(zhì)的描述指硬盤、可移動磁盤和CD,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,諸如zip驅(qū)動器、磁帶盒、閃存卡、數(shù)字視頻盤、盒式磁帶等的其它類型的計(jì)算機(jī)可讀介質(zhì)也可用于該示例性操作環(huán)境中,并且任何此類介質(zhì)可包含用于執(zhí)行本發(fā)明各方法的計(jì)算機(jī)可執(zhí)行指令。
許多程序模塊可存儲在這些驅(qū)動器和RAM912中,包括操作系統(tǒng)930、一個或多個應(yīng)用程序932、其它程序模塊934及程序數(shù)據(jù)936。應(yīng)當(dāng)理解,本發(fā)明可用各種市場上可購買的操作系統(tǒng)或其組合來實(shí)現(xiàn)。
用戶可通過鍵盤938和諸如鼠標(biāo)940等定位設(shè)備來將命令和信息輸入到計(jì)算機(jī)902中。其它輸入設(shè)備(未示出)可包括話筒、IR遙控器、操縱桿、游戲墊、圓盤式衛(wèi)星天線、掃描儀、等等。這些及其它輸入設(shè)備常通過耦合到系統(tǒng)總線908的串行端口接口942連接到處理單元904,但也可由諸如并行端口、游戲端口、通用串行總線(USB)、IR接口等的其它接口連接。監(jiān)視器944或其它類型的顯示設(shè)備也經(jīng)由諸如視頻適配器946等的接口連到系統(tǒng)總線908。除了監(jiān)視器944之外,計(jì)算機(jī)通常包括諸如揚(yáng)聲器、打印機(jī)等的其它外圍輸出設(shè)備(未示出)。
計(jì)算機(jī)902可用到諸如遠(yuǎn)程計(jì)算機(jī)948等的一個或多個遠(yuǎn)程計(jì)算機(jī)的邏輯連接在聯(lián)網(wǎng)環(huán)境中運(yùn)行。遠(yuǎn)程計(jì)算機(jī)948可以是工作站、服務(wù)器計(jì)算機(jī)、路由器、個人計(jì)算機(jī)、便攜式計(jì)算機(jī)、基于微處理器的娛樂設(shè)備、對等設(shè)備或其它普通網(wǎng)絡(luò)節(jié)點(diǎn),且通常包括相對于個人計(jì)算機(jī)902所描述的許多或全部元件,盡管出于簡明的目的,只示出了記憶存儲設(shè)備950。所描繪的邏輯連接包括局域網(wǎng)(LAN)952及廣域網(wǎng)(WAN)954。諸如此類的網(wǎng)絡(luò)環(huán)境常見于辦公室、企業(yè)范圍計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)及因特網(wǎng)。
當(dāng)用于LAN網(wǎng)絡(luò)環(huán)境中時,計(jì)算機(jī)902通過網(wǎng)絡(luò)接口或適配器956連到局域網(wǎng)952。當(dāng)用于WAN網(wǎng)絡(luò)環(huán)境中時,計(jì)算機(jī)902通常包括調(diào)制解調(diào)器958,或被連到LAN上的通信服務(wù)器,或有用于通過諸如因特網(wǎng)等廣域網(wǎng)954建立通信的其它裝置。調(diào)制解調(diào)器958可以是內(nèi)置或外置的,它通過串行端口接口942連到系統(tǒng)總線908。在聯(lián)網(wǎng)環(huán)境中,相對于個人計(jì)算機(jī)902所描述的程序模塊或其部分可儲存在遠(yuǎn)程記憶存儲設(shè)備950中。應(yīng)當(dāng)理解,示出的網(wǎng)絡(luò)連接是示例性的,也可使用在計(jì)算機(jī)間建立通信鏈路的其它裝置。
根據(jù)本發(fā)明的一個方面,過濾器體系結(jié)構(gòu)自適應(yīng)到使用該過濾的系統(tǒng)的特定用戶所期望的過濾程度。然而,應(yīng)當(dāng)理解,此“自適應(yīng)”方面可以從本地用戶系統(tǒng)環(huán)境向后擴(kuò)展到該系統(tǒng)銷售商的制造過程,其中可選擇用于特定用戶類的過濾程度以在該廠生產(chǎn)銷售的系統(tǒng)中實(shí)現(xiàn)。例如,如果購買者決定第一批購買的系統(tǒng)要提供給不應(yīng)需要訪問任何垃圾郵件的用戶,則對于這批系統(tǒng),在廠的默認(rèn)設(shè)置可設(shè)置為高,而給第二類用戶的第二批系統(tǒng)可被配置成較低設(shè)置,以允許審閱更多垃圾郵件。在任一情形中,可以本地啟用本發(fā)明的自適應(yīng)特性,以允許任何用戶類的個別用戶然后調(diào)整過濾的程度,或者如果被禁用,可根本防止變更默認(rèn)設(shè)置。還應(yīng)當(dāng)理解,行使可比較訪問權(quán)限以配置用所揭示的過濾器體系結(jié)構(gòu)適當(dāng)?shù)嘏渲玫囊粋€或多個系統(tǒng)的網(wǎng)絡(luò)管理員也可在本地實(shí)現(xiàn)這一類配置。
上文所描述的包括本發(fā)明的各個示例。當(dāng)然,不可能為描述本發(fā)明的目的而描述組件或方法的每個可想到的組合,但本領(lǐng)域的普通技術(shù)人員會意識到,本發(fā)明的許多其它組合與變換是可能的。因此,本發(fā)明旨在包括落入所附權(quán)利要求書的范疇內(nèi)的所有此類改變、修改與變體。并且,在詳細(xì)描述或權(quán)利要求書中使用術(shù)語“包括”的意義上,此類術(shù)語意圖如術(shù)語“包含”那樣為包含性的,如“包含”在權(quán)利要求書中用作過渡詞所解釋的。
權(quán)利要求
1.一種數(shù)據(jù)過濾系統(tǒng),其特征在于,包含用于過濾消息的第一過濾器,所述第一過濾器有與其相關(guān)聯(lián)的假肯定率和假否定率;以及用于過濾消息的第二過濾器,所述第二過濾器根據(jù)所述第一過濾器的假肯定率和假否定率進(jìn)行評估,使用用于確定所述第一過濾器的假肯定率和假否定率的數(shù)據(jù)來根據(jù)閾值確定與所述第二過濾器相關(guān)聯(lián)的新假肯定率和新假否定率,其中,如果對第二過濾器存在閾值,使得所述新假肯定率和新假否定率被一同認(rèn)為優(yōu)于所述第一過濾器的假肯定和假否定率,則使用所述第二過濾器以取代所述第一過濾器。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述假肯定率和假否定率是根據(jù)經(jīng)由用戶糾正過程的使用被標(biāo)記為垃圾和非垃圾的消息來確定的。
3.如權(quán)利要求2所述的系統(tǒng),其特征在于,所述用戶糾正過程包括覆蓋消息的初始分類,所述初始分類是由所述第一過濾器在一收到該消息時就自動執(zhí)行的。
4.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述假肯定率和假否定率是從各消息中的至少一個的內(nèi)容中導(dǎo)出的。
5.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述假肯定率和假否定率是從其它用戶的電子郵件消息中導(dǎo)出的。
6.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述第二過濾器是當(dāng)所述新假肯定率劣于所述第一過濾器的假肯定率時使用的。
7.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述假肯定率和假否定率是在預(yù)定數(shù)量的垃圾和非垃圾消息被標(biāo)記,以及預(yù)定時間已發(fā)生兩者的至少一種之后確定的。
8.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述閾值是從多個所生成的閾值中選出的,所述各閾值是通過選擇符合條件的閾值的平均閾值、具有最低假肯定率的閾值、及使基于p*效用函數(shù)的用戶期望效益最大化的閾值中的至少一個來確定的。
9.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述閾值是從多個閾值中選出的,僅當(dāng)在該閾值處,所述新假肯定率和新假否定率優(yōu)于所述第一過濾器的假肯定率和假否定率時,使用所述第二過濾器。
10.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包含多個次級過濾器,所述多個次級過濾器組成了所述第二過濾器,如果對于至少一個次級過濾器存在閾值,使得所述新假否定率和假肯定率被一同認(rèn)為優(yōu)于所述第一過濾器的假肯定和假否定率,則所述系統(tǒng)使用所述至少一個次級過濾器以取代所述第一過濾器。
11.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述次級過濾器包含M個過濾器(M是整數(shù)),所述系統(tǒng)為一特定消息選擇過濾器M1以取代所述第一過濾器,為另一消息選擇過濾器M2以取代所述第一過濾器。
12.一種計(jì)算機(jī)可讀介質(zhì),其上存儲有實(shí)現(xiàn)權(quán)利要求1所述的系統(tǒng)的計(jì)算機(jī)可執(zhí)行組件。
13.一種包含權(quán)利要求1所述的系統(tǒng)的計(jì)算機(jī)。
14.一種包含權(quán)利要求1所述的系統(tǒng)的網(wǎng)絡(luò)。
15.一種包含權(quán)利要求1所述的系統(tǒng)的便攜式計(jì)算設(shè)備。
16.如權(quán)利要求15所述的設(shè)備,其特征在于,它是下列中的一個個人數(shù)字助理、電話機(jī)或膝上計(jì)算機(jī)。
17.一種數(shù)據(jù)過濾器,其特征在于,包含用于過濾消息的第一過濾器,所述第一過濾器具有與其相關(guān)聯(lián)的第一準(zhǔn)確性數(shù)據(jù);以及用于過濾消息的第二過濾器,所述第二過濾器具有與其相關(guān)聯(lián)的第二準(zhǔn)確性數(shù)據(jù),所述第二過濾器用所述第一準(zhǔn)確性數(shù)據(jù)來評估,使用用于確定所述第一準(zhǔn)確性數(shù)據(jù)的數(shù)據(jù)來根據(jù)閾值確定所述第二準(zhǔn)確性數(shù)據(jù),其中,如果對所述第二過濾器存在閾值,使得所述第二準(zhǔn)確性數(shù)據(jù)被認(rèn)為優(yōu)于所述第一準(zhǔn)確性數(shù)據(jù),則使用所述第二過濾器。
18.如權(quán)利要求17所述的過濾器,其特征在于,以結(jié)合所述第一過濾器,和取代所述第一過濾器中至少一種形式來使用所述第二過濾器。
19.如權(quán)利要求17所述的過濾器,其特征在于,當(dāng)所述第二準(zhǔn)確率至少和所述第一準(zhǔn)確率相同時,使用所述第二過濾器。
20.如權(quán)利要求17所述的過濾器,其特征在于,所述第一準(zhǔn)確性數(shù)據(jù)和所述第二準(zhǔn)確性數(shù)據(jù)中至少一項(xiàng)包含一假肯定率和一假否定率。
21.如權(quán)利要求17所述的過濾器,其特征在于,所述第一準(zhǔn)確性數(shù)據(jù)和所述第二準(zhǔn)確性數(shù)據(jù)是基于消息文本和消息內(nèi)容中的至少一個來確定的。
22.如權(quán)利要求17所述的過濾器,其特征在于,所述第一過濾器是從處理其它用戶電子郵件數(shù)據(jù)中導(dǎo)出的種子過濾器。
23.如權(quán)利要求17所述的過濾器,其特征在于,所述第一準(zhǔn)確性數(shù)據(jù)是根據(jù)一用戶糾正過程來確定的,在該過程中用戶審閱數(shù)據(jù),所述數(shù)據(jù)是消息,并將該消息標(biāo)記為垃圾消息和非垃圾消息中的一項(xiàng)。
24.如權(quán)利要求23所述的過濾器,其特征在于,所述用戶糾正過程包括覆蓋消息的初始分類,所述初始分類是在該消息被接收時由所述第一過濾器自動執(zhí)行的。
25.如權(quán)利要求17所述的過濾器,其特征在于,當(dāng)基于p*效用函數(shù),用于使用所述第二過濾器的閾值至少和所述第一過濾器一樣有效時,使用所述第二過濾器,其中N至少是20。
26.如權(quán)利要求17所述的過濾器,其特征在于,所述第一準(zhǔn)確性數(shù)據(jù)是根據(jù)已知具有正確的高度確定性的一組預(yù)定數(shù)據(jù)來確定的。
27.如權(quán)利要求26所述的過濾器,其特征在于,所述一組預(yù)定的數(shù)據(jù)包括由用戶標(biāo)記為非垃圾消息的消息、由用戶閱讀并刪除的消息、由用戶轉(zhuǎn)發(fā)的消息、及由用戶回復(fù)的消息中至少一個。
28.如權(quán)利要求17所述的過濾器,其特征在于,所述第一準(zhǔn)確性數(shù)據(jù)是由從已校準(zhǔn)過濾器接收的概率值來確定的,所述概率值用于估算所述第一準(zhǔn)確性數(shù)據(jù)的假肯定率。
29.如權(quán)利要求17所述的過濾器,其特征在于,所述第一準(zhǔn)確性數(shù)據(jù)用于生成期望值。
30.如權(quán)利要求29所述的過濾器,其特征在于,僅當(dāng)用戶糾正的實(shí)際次數(shù)至少和期望值一樣時,使用所述第二過濾器。
31.如權(quán)利要求17所述的過濾器,其特征在于,所述閾值是從多個閾值中選出的,僅當(dāng)在該閾值處,所述第二準(zhǔn)確性數(shù)據(jù)優(yōu)于所述第一準(zhǔn)確性數(shù)據(jù)時,使用所述新過濾器。
32.一種便于數(shù)據(jù)過濾的方法,其特征在于,包含確定與種子過濾器相關(guān)聯(lián)的假肯定率和假否定率;使用與所述種子過濾器相關(guān)聯(lián)的種子數(shù)據(jù)來訓(xùn)練新過濾器,所述種子數(shù)據(jù)用于根據(jù)閾值來確定所述新過濾器的新假肯定率和新假否定率;以及如果對所述新過濾器存在閾值,使得所述新假肯定和假否定率被一同認(rèn)為優(yōu)于所述種子過濾器的假肯定和假否定率,則使用所述新過濾器以取代所述種子過濾器。
33.如權(quán)利要求32所述的方法,其特征在于,基于經(jīng)由用戶糾正過程的使用將消息標(biāo)記為垃圾和非垃圾,來部分地生成所述種子數(shù)據(jù)。
34.如權(quán)利要求32所述的方法,其特征在于,所述用戶糾正過程包括覆蓋消息的初始分類,所述初始分類是由接收該消息的種子過濾器自動執(zhí)行的。
35.如權(quán)利要求32所述的方法,其特征在于,還包含從電子郵件消息的內(nèi)容中導(dǎo)出所述種子數(shù)據(jù)。
36.如權(quán)利要求32所述的方法,其特征在于,還包含從其它用戶的電子郵件消息中導(dǎo)出所述種子數(shù)據(jù)。
37.如權(quán)利要求32所述的方法,其特征在于,還包含當(dāng)所述新假肯定率劣于所述種子過濾器的假肯定率時,使用所述新過濾器。
38.如權(quán)利要求32所述的方法,其特征在于,還包含在預(yù)定數(shù)量的垃圾和非垃圾消息被標(biāo)記,及預(yù)定時間已發(fā)生兩者中的至少一個之后,確定所述假肯定率和假否定率。
39.如權(quán)利要求32所述的方法,其特征在于,如果在當(dāng)前閾值設(shè)置,所述新假肯定和新假否定率被一同認(rèn)為優(yōu)于所述種子過濾器的假肯定和假否定率,且一加權(quán)值至少為0時,使用所述新過濾器。
40.如權(quán)利要求39所述的方法,其特征在于,當(dāng)所述新過濾器在當(dāng)前閾值設(shè)置的性能優(yōu)于在非當(dāng)前閾值設(shè)置的性能時,增加所述加權(quán)值,其中,非當(dāng)前閾值設(shè)置是不同于當(dāng)前閾值的閾值,并且當(dāng)所述新過濾器的性能在當(dāng)前閾值設(shè)置劣于在非當(dāng)前閾值設(shè)置時,減少加權(quán)值。
41.一種過濾數(shù)據(jù)的方法,其特征在于,包含至少接收第一過濾器和第二過濾器;確定所述第一過濾器的第一準(zhǔn)確性數(shù)據(jù);用所述第一準(zhǔn)確性數(shù)據(jù)訓(xùn)練所述第二過濾器;根據(jù)閾值確定所述第二過濾器的第二準(zhǔn)確性數(shù)據(jù);以及當(dāng)達(dá)到預(yù)定閾值時使用所述第二過濾器。
42.如權(quán)利要求41所述的方法,其特征在于,以結(jié)合所述第一過濾器,以及取代所述第一過濾器中的至少一種形式來使用所述第二過濾器。
43.如權(quán)利要求41所述的方法,其特征在于,當(dāng)所述第二準(zhǔn)確率至少和所述第一準(zhǔn)確率相同時,使用所述第二過濾器。
44.如權(quán)利要求41所述的方法,其特征在于,所述第一準(zhǔn)確性數(shù)據(jù)和所述第二準(zhǔn)確性數(shù)據(jù)中的至少一項(xiàng)包含一假肯定率和一假否定率。
45.如權(quán)利要求41所述的方法,其特征在于,所述第一準(zhǔn)確性數(shù)據(jù)和所述第二準(zhǔn)確性數(shù)據(jù)是基于電子郵件文本和電子郵件內(nèi)容中的至少一個來確定的。
46.如權(quán)利要求41所述的方法,其特征在于,所述第一過濾器是從處理其它用戶電子郵件數(shù)據(jù)中導(dǎo)出的種子過濾器。
47.如權(quán)利要求41所述的方法,其特征在于,所述第一準(zhǔn)確性數(shù)據(jù)是根據(jù)用戶糾正過程來確定的,在該過程中用戶審閱數(shù)據(jù),所述數(shù)據(jù)是消息,并將該消息標(biāo)記為垃圾消息和非垃圾消息中的一項(xiàng)。
48.如權(quán)利要求47所述的方法,其特征在于,所述用戶糾正過程包括覆蓋消息的初始分類,所述初始分類是在該電子郵件消息被接收時由所述第一過濾器自動執(zhí)行的。
49.如權(quán)利要求41所述的方法,其特征在于,還包含,當(dāng)基于p*效用函數(shù)用于生成所述第二過濾器的閾值至少和所述第一過濾器一樣有效時,使用所述第二過濾器,其中N至少是20。
50.如權(quán)利要求41所述的方法,其特征在于,所述第一準(zhǔn)確性數(shù)據(jù)是根據(jù)已知具有正確的高度確定性的一組預(yù)定數(shù)據(jù)來確定的。
51.如權(quán)利要求50所述的方法,其特征在于,所述一組預(yù)定數(shù)據(jù)包括由用戶標(biāo)記為非垃圾消息的消息、由用戶閱讀并刪除的消息、由用戶轉(zhuǎn)發(fā)的消息、及由用戶回復(fù)的消息中至少一個。
52.如權(quán)利要求41所述的方法,其特征在于,所述第一準(zhǔn)確性數(shù)據(jù)是由從已校準(zhǔn)過濾器接收的概率值來確定的,所述概率值用于估算所述第一準(zhǔn)確性數(shù)據(jù)的假肯定率。
53.如權(quán)利要求41所述的方法,其特征在于,還包含基于所述第一準(zhǔn)確性數(shù)據(jù)生成期望值。
54.如權(quán)利要求55所述的方法,其特征在于,僅當(dāng)用戶糾正的實(shí)際次數(shù)至少和期望值一樣時,使用所述第二過濾器。
55.一種便于數(shù)據(jù)過濾的圖形用戶界面,其特征在于,包含適用于與配置系統(tǒng)通信以配置過濾器的過濾器界面;所述過濾器界面的至少一個輸入,用于接收用于配置所述過濾器的過濾器配置信息;以及所述過濾器界面的至少一個輸出,用于將所述過濾器配置信息提交給所述配置系統(tǒng)用于生成。
56.如權(quán)利要求55所述的界面,其特征在于,可用于提交所述過濾器配置信息用于處理,以生成更新的消息過濾器。
57.如權(quán)利要求55所述的界面,其特征在于,可用于提供多個用戶可選擇過濾器級別,包括默認(rèn)、增強(qiáng)和專有中的至少一項(xiàng)。
58.如權(quán)利要求55所述的界面,其特征在于,還包含便于將消息標(biāo)記為垃圾的用戶信箱界面。
59.如權(quán)利要求58所述的界面,其特征在于,所述用戶信箱界面便于訪問垃圾郵件文件夾和舊垃圾郵件文件夾中的至少一個。
60.一種具有用于配置消息過濾器的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),其特征在于,包含用于過濾消息的第一過濾器,所述第一過濾器有與其相關(guān)聯(lián)的假肯定率和假否定率;以及用于過濾消息的第二過濾器,所述第二過濾器根據(jù)所述第一過濾器的假肯定率和假否定率進(jìn)行評估,使用用于確定所述第一過濾器的假肯定率和假否定率的數(shù)據(jù)來根據(jù)閾值確定所述第二過濾器的新假肯定率和新假否定率,其中,如果對第二過濾器存在閾值,使得所述新假肯定率和新假否定率被一同認(rèn)為優(yōu)于所述第一過濾器的假肯定和假否定率,那么使用所述第二過濾器以取代所述第一過濾器。
61.如權(quán)利要求60所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述假肯定率和假否定率是根據(jù)用戶糾正過程來確定的,在該過程中,用戶審閱數(shù)據(jù),所述數(shù)據(jù)是電子郵件消息,并將該電子郵件消息標(biāo)記為垃圾消息和非垃圾消息中的一個。
62.如權(quán)利要求60所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,當(dāng)所述第二準(zhǔn)確率至少和所述第一準(zhǔn)確率一樣時,使用所述第二過濾器。
63.一種數(shù)據(jù)過濾系統(tǒng),其特征在于,包含用于接收消息的裝置;用于過濾消息的第一裝置,所述用于過濾的第一裝置有與其相關(guān)聯(lián)的假肯定率和假否定率;以及用于過濾消息的新裝置,所述用于過濾的新裝置是根據(jù)所述用于過濾的第一裝置的假肯定率和假否定率來訓(xùn)練的,使用用于確定所述第一過濾器的假肯定率和假否定率的數(shù)據(jù)來根據(jù)閾值確定與所述新過濾裝置相關(guān)聯(lián)的新假肯定率和新假否定率,其中,如果對所述新過濾裝置存在閾值,使得所述新假肯定率和新假否定率被一同認(rèn)為優(yōu)于所述第一過濾裝置的假肯定和假否定率,則使用所述新過濾裝置。
全文摘要
本發(fā)明涉及一種用于過濾消息的系統(tǒng)——該系統(tǒng)包括一種子過濾器,它具有與其相關(guān)聯(lián)的假肯定率和假否定率。還提供用于過濾消息的新過濾器,該新過濾器是根據(jù)種子過濾器的假肯定率和假否定率來評估的,使用用于確定種子過濾器假肯定率和假否定率的數(shù)據(jù),來根據(jù)閾值確定新過濾器的新假肯定率和新假否定率。如果對該新過濾器存在閾值,使得新假肯定率和新假否定率被一同認(rèn)為優(yōu)于種子過濾器的假肯定和假否定率,則使用該新過濾器。
文檔編號H04L12/58GK1742266SQ200380109194
公開日2006年3月1日 申請日期2003年12月31日 優(yōu)先權(quán)日2003年2月25日
發(fā)明者R·L·朗特瓦特, J·T·古德曼, D·E·黑克爾曼, J·C·普拉特, C·M·卡迪厄 申請人:微軟公司