垃圾短信過濾方法及引擎的制作方法
【專利摘要】本發明提供了一種垃圾短信過濾方法和垃圾短信過濾引擎。所述方法可以包括:通過短信內容分類器確定短信的類別;根據用戶個性化信息配置表,判斷所述短信的類別是否屬于用戶感興趣或反感的類別;以及根據判斷結果過濾所述短信。根據本發明的實施例,實現了一種基于短信內容的個性化短信過濾系統,提高了垃圾短信過濾的準確率。
【專利說明】垃圾短信過濾方法及引擎
【技術領域】
[0001]本發明涉及移動通信領域,更具體地,涉及垃圾短信的過濾方法和設備。
【背景技術】
[0002]近些年,隨著移動電話的普及率越來越高,以及短信的成本越來越低,利用短信來實現營銷、甚至實施詐騙的行為越來越多。用戶不希望接收到的或與用戶無關的大量的短信被稱為垃圾短信。根據統計,約有35%的移動電話用戶不同程度地受到過垃圾短信的騷擾。每個用戶平均每月收到的垃圾短信約為8條。按照2013年3月底中國移動電話用戶總數已達11.46億的統計來保守估計,我國移動電話用戶平均每天收到的垃圾短信總量將超過三億條。垃圾短信已經成為一個嚴重的社會問題。
[0003]為了避免垃圾短信的騷擾,智能移動電話的用戶通常選擇安裝垃圾短信過濾引擎來避免騷擾。然而,現有的短信過濾技術在用戶個性化方面存在很大欠缺。眾所周知,同一條短信或者某一類短信對于一些用戶而言可能是垃圾短信,而對于另外一些用戶而言卻可能屬于寶貴的信息。例如,房地產廣告短信可能對于絕大部分用戶都屬于垃圾信息,但是對于剛好有購房等相關需求的用戶而言卻是有用的信息。又如,一些教育培訓、投資理財等廣告推廣類信息是否屬于垃圾短信也取決于用戶當時的興趣需求。然而,目前針對用戶個性化的技術解決方案主要停留在短信發送號碼層面,即通過用戶設置自定義黑白名單對特定號碼進行硬性判斷。這種基于發送方號碼的黑白名單的方案雖然能起到一定效果,但是不能從“用戶在特定時間段對特定內容類別的信息感興趣”這一角度解決問題,因而也就無法完成基于短信內容的用戶個性化垃圾短信過濾。
[0004]因此,需要一種更有效的考慮用戶個性化需求的短信過濾機制。
【發明內容】
[0005]為了實現該目的,本發明提供了一種改進的垃圾短信過濾方法和垃圾短信過濾引擎,其不僅考慮短信發送方號碼,還考慮用戶對短信內容的個性化需求。
[0006]為了解決現有短信過濾機制欠缺用戶個性化考慮的問題,本發明提出:通過引入基于統計的文本分類系統對短信進行內容分類,通過用戶的主動配置或使用過程中的反饋信息來捕捉用戶興趣點和/或反感點,從而在現有短信過濾系統的基礎上輔以個性化的短信分類判定,給出更加符合用戶需求的最終結果。
[0007]根據本發明的一個方面,提供了一種垃圾短信過濾方法。該方法可以包括:通過短信內容分類器確定短信的類別;根據用戶個性化信息配置表,判斷所述短信的類別是否屬于用戶感興趣或反感的類別;以及根據判斷結果過濾所述短信。
[0008]在本發明的一些實施例中,所述短信內容分類器可以是基于支持向量機SVM模型。在本發明的另一些實施例中,所述短信內容分類器可以是基于樸素貝葉斯模型。根據本發明的實施例,所述短信內容分類器是通過基于眾多樣本的訓練而獲得的。
[0009]在本發明的一些實施例中,所述用戶個性化信息配置表可以是由用戶主動配置的。在本發明的另一些實施例中,所述用戶個性化信息配置表可以根據用戶反饋來自動配置。在本發明的一些優選實施例中,可以既通過用戶主動配置用戶個性化信息配置表,而且通過收集用戶反饋來自動更新用戶個性化信息配置表,從而不斷地完善用戶個性化信息配置表。
[0010]在一些實施例中,根據本發明實施例的短信過濾方法主要針對安卓系統的移動電話。
[0011]在本發明的一些實施例中,過濾所述短信不僅依據短信的類別是否屬于用戶感興趣或反感的類別的判斷結果,還依據所述短信的發送方號碼。
[0012]根據本發明的第二方面,提供了一種垃圾短信過濾引擎。該垃圾短信過濾引擎可以包括:短信內容分類器,配置用于確定短信的類別;用戶個性化信息收集單元,配置用于收集用戶個性化信息以維護用戶個性化信息配置表;判斷單元,配置用于根據用戶個性化信息配置表,判斷所述短信的類別是否屬于用戶感興趣或反感的類別;以及過濾單元,配置用于根據判斷結果過濾所述短信。
[0013]在一些優選實施例中,根據本發明的垃圾短信過濾引擎針對安卓系統的移動電話。
[0014]在一些實施例中,根據本發明的垃圾短信過濾引擎作為客戶端安裝在移動電話上。
[0015]在另一些實施例中,根據本發明的垃圾短信過濾弓I擎安裝在服務器上。
[0016]根據本發明的第三方面,提供了一種移動電話,其包括根據本發明實施例的垃圾短信過濾引擎。
[0017]根據本發明的第四方面,提供了一種服務器,其與移動電話可通信地耦合,并且包括根據本發明實施例的垃圾短信過濾弓I擎。
[0018]本發明的垃圾短信過濾方案相當于在現有的垃圾短信過濾系統上,添加了一個基于統計的文本內容分類器,根據用戶個性化的設定或反饋,對輸入短信得出綜合判斷作為最終過濾結果。從而,與現有短信過濾機制相比,本發明的短信過濾機制在用戶個性化方面提供了更優的性能。
【專利附圖】
【附圖說明】
[0019]通過下面結合【專利附圖】
【附圖說明】本發明的優選實施例,將使本發明的上述及其它目的、特征和優點更加清楚,其中:
[0020]圖1示意性地示出了在其中可以使用本發明實施例的移動通信系統100的應用場景的不意圖;
[0021]圖2示意性地示出了根據本發明實施例的垃圾短信過濾方法的流程圖;
[0022]圖3示意性地示出了根據本發明實施例的獲得基于SVM模型的短信內容分類器的方法的流程圖;以及
[0023]圖4示意性示出了根據本發明實施例的垃圾短信過濾引擎的框圖。
[0024]在本發明的所有附圖中,相同或相似的結構均以相同或相似的附圖標記進行標識。【具體實施方式】
[0025]現在將參考附圖來詳細描述本發明,附圖中示出了本發明的說明性實施例,以使得本領域技術人員能夠實現本發明。應該注意:以下附圖和示例不意味著將本發明的范圍限制為單一實施例,相反通過互換和組合不同實施例的一些或全部所述或所示元素形成其他實施例也是可能的。此外,在可以使用已知組件來部分或完全實現本發明的特定元素的情況下,將僅描述這些已知組件中為了理解本發明所必需的那部分組件,且將省略對這些已知組件中其他部分的詳細描述,以使得本發明更突出。除非本文中另行指出,否則本領域技術人員應該理解:盡管本發明的一些實施例描述為用軟件實形式現,但是本發明不受限于此,而是也可以用硬件、軟件和硬件的組合來實現,且反之亦然。除非本文中另行明確聲明,否則在本說明書中,不應將示出了單一組件的實施例視為是限制性的,而是本發明意在包含包括多個相同組件在內的其他實施例,且反之亦然。此外,本發明包含本文中作為示意所引用的已知組件的當前和將來開發的等價物。
[0026]如前所述,同一條短信或者某一類短信對于一些用戶而言可能是垃圾短信,而對于另外一些用戶而言卻可能屬于寶貴的信息。因此,由短信過濾機制的服務提供商設置基于短信發送方號碼的黑白名單的過濾機制不能滿足不同用戶的個性化需求。另一方面,在現實生活中營銷/推廣類的短信數量眾多,而且會不斷出現新的營銷短信發送方,因此由用戶個人針對每個短信發送方號碼設置黑白名單將是繁瑣的,甚至是不現實的。
[0027]此外,越來越多的營銷短信發送方可能使用從中國移動、聯通、電信等運營商處購買的提供短信批量發送服務的商用短信號碼(例如,以區號如021、075開頭的號碼,或者以106開頭的號碼)來發送短信。因此,依據現有的發送方號碼的黑白名單的機制,容易漏報使用這些商用短信號碼作為發送方的短信中的垃圾短信。如果用戶將這些商用短信號碼都設置為黑名單,則又可能將用戶希望接收的真實的商家的推薦活動短信誤報為垃圾短信。
[0028]因此,為了提高垃圾短信過濾效率,減少漏報和誤報,本發明提出在垃圾短信過濾機制中除了考慮其他因素之外還考慮用戶對短信內容的個性化需求。
[0029]圖1是示出了根據本發明的移動通信系統100的應用場景的示意圖。如圖1所示,移動通信系統100可以包括移動電話120和服務器110。作為示例,在圖中示出了四個移動電話120-1、120-2、120-3和120-4。但是應該理解,系統100可以包括更多或更少的移動電話。移動電話120通過通信網絡130與服務器110相連。通信網絡130的示例可以包括但不限于:互聯網、移動通信網絡。
[0030]服務器110通常是由提供垃圾短信過濾引擎的應用廠商維護和管理的。應用產商可以通過服務器110采集用戶舉報的短信以生成短信樣本集,并且對短信樣本集進行處理,以改進垃圾短信過濾引擎的過濾效果,減少誤報和漏報。盡管圖中僅示出一個服務器110,但是應該理解可以存在兩個或更多的服務器110。還應該理解,服務器110可以是單獨的物理實體,也可以分布在兩個或更多個物理實體上。
[0031]移動電話120可以是能夠發送和接收短信的任意移動電話。移動電話120上可以安裝根據本發明實施例的垃圾短信過濾引擎。在本發明中短信不僅可以包括SMS消息,也可以包括彩信。當用戶發現垃圾短信過濾引擎漏報或誤報了短信時,可以使用其移動電話120向應用廠商進行舉報。應該理解,本發明并不局限于所涉及的各個移動電話的具體通信協議,可以包括但不限于2G、3G、4G、5G無線通信技術,WCDMA, CDMA2000、TD-SCDMA無線技術等。不同的移動電話可以采用相同的通信協議,也可以采用不同的通信協議。本發明也不局限于移動電話的具體操作系統,可以包括但不限于Android、iOS、Windows Mobile、Symbian、Windows Phone、Blackberry OS等。不同的移動電話可以采用相同的操作系統,也可以采用不同的操作系統。應該注意,本發明的短信過濾方案特別適合于Android系統的移動電話。
[0032]服務器110和移動電話120可以通過各種無線通信協議進行通信,包括2G、3G、4G、5G 網絡,WCDMA、CDMA2000、TD-SCDMA 系統、無線局域網(WLAN),等等。
[0033]下面參考圖2和圖3對本發明的垃圾短信過濾機制進行描述。
[0034]圖2示意性地示出了根據本發明實施例的垃圾短信過濾方法200的流程圖。當接收到某個短信時,垃圾短信過濾引擎將執行方法200以判斷該短信(該短信也被稱為待評測短?目)是否是垃圾短/[目。
[0035]在步驟S210中,通過短信內容分類器確定短信的類別。[0036]短信內容分類器指的是機器學習領域中基于統計的分類模型,比如常見的樸素貝葉斯或支持向量機(Support Vector Machine,簡稱SVM)分類器。下文主要以文本分類領域常用且具有良好分類性能的SVM為例進行說明。下文中也將這種基于SVM模型的短信內容分類器簡稱為SVM分類器。SVM的原理主要是在高維空間中找出分類間隔最大的決策超平面。
[0037]SVM分類器的實現大體可以分為訓練和判別兩部分。在訓練之前,需要首先建立短信分類體系。完備的分類體系將是進行準確分類的前提。該短信分類體系可以根據大量短信樣本統計得到。例如,根據對眾多短信樣本的統計可以將短信分為房地產、教育培訓、投資理財、旅游出行等十余個常見類別。
[0038]下面,具體參考圖3說明根據本發明實施例的SVM短信內容分類器的訓練過程。
[0039]在步驟S310中,收集各個類別的短信樣本。各個短信樣本被賦予類別標簽。比如房地產類設為1,教育培訓設為2,等等。應該理解,可以以各種已知的或將來開發的其他方式來設置類別標簽。
[0040]在步驟S320中,對短信樣本逐一進行分詞處理。作為示例,一條房地產類別的短信內容如下:“房價新聞!軍博步行十分鐘,長安街南酒店式精裝小私邸,三條地鐵零距離。全款80萬!低于普宅價格!內部認購驚人優惠僅7天!垂詢:58936688”。該短信經過分詞處理后變為“房價新聞軍博步行十分鐘長安街南酒店式精裝小私邸三條地鐵零距離全款80萬低于普宅價格內部認購驚人優惠僅7天垂詢58936688”。
[0041]在步驟S330中,對短信樣本進行特征選取。短信樣本經過分詞后,得到的所有特征詞(keyword)就構成了特征向量空間。考慮到由于全部特征詞構成的空間維度過高,為了簡化計算復雜度可以僅選取那些對于分類的重要性高的部分維度。例如,該特征選取可以通過下述常用方法來實現:術語頻率(Term Frequency,簡稱“TF”)、術語頻率-逆文本頻率(Term Frequency -1nverse Document Frequency,簡稱 “TF-1DF”)、信息增益(Information Gain,簡稱“IG”)等方法。優選地,對于短信這種短文本,可以選取最簡單的TF方法。在TF方法中,選取TF值排名在前N(例如,在實驗中選取N= 1000)的詞語作為最終特征向量。
[0042]在步驟S340中,形成SVM模型。在步驟S330中完成了特征選取之后,原始的短信文本就可以轉化為特征向量空間中的一個個樣本點。所有的樣本點輸入后經過SVM模型計算即可找出分類決策面,從而完成模型的訓練,得到SVM模型主體。
[0043]可選地,為了獲取更好的分類效果,可以在可選步驟S350中對模型參數C(松弛變量)和gamma(徑向基函數核所含參數)進行優化。例如,可以采用交叉驗證(crossvalidation)經過多次訓練,選出具有最好分類準確率的C和ga_a。
[0044]經過上述步驟,可以完成SVM模型的訓練,于是方法300結束。
[0045]這種訓練好的SVM模型可以作為根據本發明實施例的垃圾短信過濾引擎使用的短信內容分類器。例如,在步驟S210中,在接收到短信時,可以將該待評測短信輸入SVM模型,經過計算得到該短信的分類判別結果。實驗證明,在實際系統評測中,根據訓練好的SVM模型對短信進行分類,分類準確率可以達到98%以上。
[0046]關于SVM模型的更多內容可以參考Joachims T.的論文“Text categorizationwith support vector machines: learning with many relevant features,,, Proceedingsof10th European Conference on Machine Learning(ECML-98),Chemnitz, DE, 1998:137-142。在此,通過引用將其全部內容并入本文。
[0047]在步驟S220中,根據用戶個性化信息配置表,判斷待評測短信的類別是否屬于用戶感興趣或反感的類別。
[0048]如上文提到的,不同用戶在不同時間段對不同類別信息的感興趣程度或者反感程度是不一樣的。如何能夠最大程度地準確捕捉到這些用戶個性化要素,是關系到短信過濾系統的最終性能的關鍵。本發明提出,使用用戶個性化信息配置表來跟蹤用戶的興趣點或反感點。根據本發明的實施例,例如可以通過下述兩種方式來捕捉用戶的興趣點或反感點。
[0049](I)讓用戶主動進行配置
[0050]在應用層面上,可以允許用戶自行配置用戶個性化信息配置表,直接選擇感興趣的或者反感的短信類別。
[0051](2)在使用過程中提示用戶反饋
[0052]由于大部分用戶可能不習慣或者不愿意進行主動配置,則還可以在使用過程中收集反饋信息,例如收集關于漏報或誤報的信息。例如,對于某個用戶未配置類別的短信,短信過濾引擎可能將其判定為垃圾短信放入垃圾箱,而用戶有將其從垃圾箱還原出的操作;或者短信過濾引擎將該某個短信判定為正常短信未加攔截,而用戶有將其拖入垃圾箱的操作。在發現上述任一情況下,系統可以發出提示信息,以便提示用戶是否將該類短信配置為興趣點或者反感點。通過收集這種反饋信息,可以不斷完善用戶個性化信息配置表。
[0053]應該理解,上述兩種方法可以單獨使用也可以結合使用。而且,根據本發明的短信過濾系統還可以配置默認的用戶個性化信息配置表。
[0054]在步驟S230中,可以根據步驟S220中的判斷結果來過濾短信。在一個實施例中,當判斷結果表明短信的類別是用戶個性化信息配置表中配置的用戶的感興趣類別時(第一判別結果),可以將該短信判別為正常短信不加攔截。當判斷結果表明短信的類別是用戶個性化信息配置表中配置的用戶的反感類別時(第二判別結果),可以將該短信判別為垃圾短信,從而將該短信放入垃圾箱。當判斷結果表明短信的類別既不屬于用戶個性化信息配置表中配置的用戶的感興趣類別也不屬于用戶的反感類別時(第三判別結果),可以根據默認規則對該短信進行過濾,例如可以將這類短信視為正常短信不加攔截。[0055]優選地,本發明的短信過濾引擎不僅考慮短信的類別是否屬于用戶感興趣或反感的類別,還考慮其他過濾標準,如短信的發送方號碼。例如,在存在基于發送方號碼的黑白名單的情況下,可以將上述屬于第三判別結果的短信進行進一步的過濾,甚至也可以將屬于第一判決結果的短信也進行進一步的過濾。
[0056]由于基于發送方號碼的黑白名單的過濾方法是已知的,在此不再贅述。
[0057]圖4示意性示出了根據本發明實施例的垃圾短信過濾引擎400的框圖。與現有的垃圾短信過濾引擎類似,根據本發明的垃圾短信過濾引擎可以作為客戶端安裝在移動電話上,也可以安裝在服務器上。
[0058]如圖所示,垃圾短信過濾引擎400可以包括短信內容分類器410、
[0059]用戶個性化信息收集單元420、判斷單元430以及過濾單元440。
[0060]短信內容分類器410可以配置用于確定待評測短信的類別。如上所述,短信內容分類器410可以基于支持向量機SVM模型,或者可以基于樸素貝葉斯模型。根據本發明的實施例,短信內容分類器410是基于眾多樣本而訓練得到的。
[0061]用戶個性化信息收集單元420可以配置用于維護用戶個性化信息配置表。該用戶個性化信息配置表可以是由用戶主動配置的。此外,該用戶個性化信息配置表可以根據用戶反饋來自動配置。在本發明的一些優選實施例中,可以既通過用戶主動配置用戶個性化信息配置表,而且通過收集用戶反饋來自動更新用戶個性化信息配置表,從而不斷地完善用戶個性化信息配置表。可選地,用戶個性化信息收集單元420還可以配置默認的用戶個性化信息配置表。
[0062]判斷單元430可以配置用于根據用戶個性化信息配置表,判斷待評測短信的類別是否屬于用戶感興趣或反感的類別。判斷結果可以包括:
[0063]屬于用戶個性化信息配置表中配置的用戶的感興趣類別(第一判別結果);屬于用戶個性化信息配置表中配置的用戶的反感類別(第二判別結果);以及,既不屬于用戶的感興趣類別也不屬于用戶的反感類別時(第三判別結果)。
[0064]過濾單元440可以配置用于根據上述判斷結果過濾所述短信。例如,當出現第一判別結果時,將短信判別為正常短信不加攔截。當出現第二判別結果時,將該短信判別為垃圾短信,從而將該短信放入垃圾箱。當出現第三判別結果時,根據默認規則對該短信進行過濾,例如可以將該短信視為正常短信不加攔截。優選地,本發明的短信過濾引擎400不僅考慮短信的類別是否屬于用戶感興趣或反感的類別,還考慮其他過濾標準,如短信的發送方號碼。例如,在存在基于發送方號碼的黑白名單的情況下,過濾單元440可以將上述第三判別結果的短信(甚至屬于第一判決結果的短信)進行進一步的過濾。
[0065]短信內容分類器410、用戶個性化信息收集單元420和判斷單元430以及過濾單元440可以分別實現在上述步驟S210、220和230完成的操作,在此不再贅述。
[0066]可選地,根據本發明實施例的垃圾短信過濾引擎還可以包括其他單元,如接收單元、存儲單元等等。該接收單元可以配置用于接收待過濾(或測評)的短信、用戶反饋信息等等。該存儲單元可以配置用于存儲接收的短信、用戶反饋信息、用戶個性化信息配置表和/或其他過濾標準、以及垃圾短信過濾過程中使用的或生成的其他數據。
[0067]上文已經結合優選實施例對本發明進行了描述。本領域技術人員可以理解,上面示出的方法和設備僅是示例性的。本發明的方法并不局限于上面示出的步驟和順序。本發明的垃圾短信過濾引擎可以包括比示出的部件更多或更少的部件。本領域技術人員根據所示實施例的教導可以進行許多變化和修改。
[0068]本發明的設備及其部件可以由諸如超大規模集成電路或門陣列、諸如邏輯芯片、晶體管等的半導體、或者諸如現場可編程門陣列、可編程邏輯設備等的可編程硬件設備的硬件電路實現,也可以用由各種類型的處理器執行的軟件實現,也可以由上述硬件電路和軟件的結合實現。
[0069]本發明可以實現諸多優點。本發明的技術方案在現有垃圾短信過濾系統的基礎上,引入了機器學習領域的文本分類器,通過對短信分類以及與用戶個性化信息配置的比較匹配,實現了一種基于短信內容的個性化短信過濾系統,從而進一步提高了垃圾短信過濾的準確率。
[0070]本領域技術人員應該理解,盡管通過具體實施例描述了本發明,但是本發明的范圍不限于這些具體實施例。本發明的范圍由所附權利要求及其任何等同含義限定。
【權利要求】
1.一種垃圾短信過濾方法,包括: 通過短信內容分類器確定短信的類別; 根據用戶個性化信息配置表,判斷所述短信的類別是否屬于用戶感興趣或反感的類別;以及 根據判斷結果過濾所述短信。
2.根據權利要求1所述的方法,其中所述短信內容分類器基于支持向量機SVM模型。
3.根據權利要求1所述的方法,其中所述用戶個性化信息配置表是由用戶主動配置的。
4.根據權利要求1或3所述的方法,其中所述用戶個性化信息配置表根據用戶反饋來自動更新。
5.根據權利要求1一 3中任一項所述的方法,其用于安卓系統的移動電話。
6.一種垃圾短信過濾引擎,包括: 短信內容分類器,配置用于確定短信的類別; 用戶個性化信息收集單元,配置用于維護用戶個性化信息配置表; 判斷單元,配置用于根據用戶個性化信息配置表,判斷所述短信的類別是否屬于用戶感興趣或反感的類別;以及 過濾單元,配置用于根據判斷結果過濾所述短信。
7.根據權利要求6所述的引擎,其中所述短信內容分類器基于支持向量機SVM模型。
8.根據權利要求6所述的引擎,其中所述用戶個性化信息配置表是由用戶主動配置的。
9.根據權利要求6或8所述的引擎,其中所述用戶個性化信息配置表還根據用戶反饋來自動更新。
10.一種移動電話,其包括根據權利要求6-9中任一項所述的引擎。
【文檔編號】H04W12/12GK103957516SQ201410200231
【公開日】2014年7月30日 申請日期:2014年5月13日 優先權日:2014年5月13日
【發明者】孟憲巍 申請人:北京網秦天下科技有限公司