本發(fā)明涉及計算機(jī)通信領(lǐng)域,尤其涉及一種實現(xiàn)自適應(yīng)消息過濾的即時通訊系統(tǒng)和即時通訊方法。
背景技術(shù):
即時通訊系統(tǒng)(Instant Messaging,簡稱IM)允許用戶進(jìn)行兩點(diǎn)或多點(diǎn)之間的文字、圖片、表情、語音、視頻、文件等多種數(shù)據(jù)內(nèi)容的實時相互傳輸,自上個世紀(jì)90年代成熟的IM系統(tǒng)進(jìn)入商業(yè)化應(yīng)用以來,用戶規(guī)模急劇增長,迅速成為人們最為常用的通訊交流手段之一。近年來,智能手機(jī)終端和移動互聯(lián)網(wǎng)的興起進(jìn)一步推動了即時通訊的發(fā)展,使用戶隨時隨地都可以通過IM系統(tǒng)與他人進(jìn)行聯(lián)系,而且通過建立聯(lián)系人的群組進(jìn)行信息分享,使IM系統(tǒng)具備了社交網(wǎng)絡(luò)的屬性。從而,IM系統(tǒng)日益取代短信和電子郵件等工具,廣泛適用于日常交際、商務(wù)聯(lián)絡(luò)、工作溝通、廣告營銷等各個方面。
雖然即時通訊系統(tǒng)能夠支持文字、圖片、表情、語音、視頻、文件等多種格式和類型的內(nèi)容數(shù)據(jù)的傳輸,但目前仍然主要是以文字消息作為用戶之間傳遞信息的載體。文字消息的優(yōu)勢在于:通訊傳輸開銷很低、意思傳達(dá)比較準(zhǔn)確、閱讀文字獲取信息的時間效率相比語音和視頻等更高、可回溯性強(qiáng)。
然而,隨著即時通訊系統(tǒng)的普及化,由之帶來的信息泛濫的弊端也充分暴露出來。用戶苦于每天都受到海量消息的“轟炸”,其中絕大部分是用戶根本不需要也完全沒有關(guān)注意愿的信息,而用戶真正感興趣和需要的有用消息卻常常被湮沒了,沒有被用戶及時發(fā)現(xiàn)并予以處理和回復(fù),當(dāng)用戶一段時間之后回溯消息記錄時,則更難從海量的無用消息中篩選出個別有用的信息。
在即時通訊系統(tǒng)當(dāng)中,用戶所接收的泛濫的無用消息包括多種情形:一是面向非特定受眾編制和傳播的各種廣告消息,有些甚至是用來傳播邪教、色情、暴力、謠言、詐騙等非法內(nèi)容的消息;二是載有完全相同或基本相同內(nèi)容的消息被持續(xù)性地重復(fù)轉(zhuǎn)發(fā)和接收,例如,記載某些廣為流傳的故事、笑話、名言警句的消息由不同的發(fā)信人和群組反復(fù)傳送給同一用戶,隨著重復(fù)次數(shù)的增加給用戶帶來打擾也不斷加大;三是在正常的聊天交流過程中產(chǎn)生的不包含或極少包含有效信息量的消息,例如圖1所示的即時通訊工具消息記錄,其中記錄的消息是用戶王經(jīng)理和小張的聊天記錄,有20條共328個字符,涉及“A公司合同”以及“度假報名”兩個主題,但通過分析不難發(fā)現(xiàn),其中對于以上主題來說,包含了有效信息量的消息僅是標(biāo)示了下劃線的6條共140個字符,而其余的14條消息共188個字符均為表示打招呼、回應(yīng)反饋、寒暄禮貌等輔助性質(zhì)的用語,相對于以上主題來說,所提供的有效信息量非常有限。然而,即時通訊系統(tǒng)會將以上消息按時間順序原樣保存下來作為聊天記錄的一部分,隨著時間的積累,有效信息會日益湮沒在上下文存在的大量的無用消息之間,難以被查找到;如果小張或者王經(jīng)理在一段時間之后回溯聊天記錄,就會感到從中發(fā)現(xiàn)聊天的主題及與其相關(guān)的有用消息均存在較大困難,需要花費(fèi)大量時間去甄別上下文中的無用消息。另外,日積月累的無用消息還存在過度占用設(shè)備的硬件資源,增大數(shù)據(jù)傳輸、存儲和處理開銷方面的問題,而清空消息記錄又會造成有用消息的一并刪除。
針對以上問題,建立必要的消息過濾機(jī)制成為了即時通訊系統(tǒng)提升效率和改善用戶體驗的重要方面?,F(xiàn)有技術(shù)中一般采用基于消息源的過濾、基于關(guān)鍵字的過濾或以上兩種因素相結(jié)合的過濾。例如,公開號為CN105704016A的發(fā)明專利申請“一種群消息屏蔽處理方法、裝置及終端”記載了接收來自聊天群組的群消息,判斷該群消息的發(fā)送方是否屬于屏蔽對象,如果是,則過濾該群消息不予顯示。公開號為CN104038412A的發(fā)明專利申請“過濾垃圾消息的方法及裝置“記載了判斷發(fā)送消息的用戶是否為預(yù)設(shè)的可篩選用戶,如果是,則繼續(xù)判斷消息中是否包含垃圾消息關(guān)鍵詞,當(dāng)包含時則過濾該消息。公開號為CN101212419A的發(fā)明專利申請“一種在即時通信系統(tǒng)中處理垃圾消息的方法”記載了在服務(wù)器的數(shù)據(jù)庫中建立含匹配關(guān)鍵字的字典;對于字?jǐn)?shù)過少的消息則不執(zhí)行判斷和過濾;對于字?jǐn)?shù)較多的消息則執(zhí)行字典過濾,將與字典中的簡單關(guān)鍵字匹配的垃圾消息直接予以過濾和屏蔽;對于字?jǐn)?shù)足夠多的消息,先進(jìn)行字典過濾,再將字典過濾結(jié)果中不匹配的消息進(jìn)行復(fù)雜組合邏輯過濾從而進(jìn)一步篩查垃圾消息。
然而,現(xiàn)有的消息過濾機(jī)制存在以下幾方面的問題:
第一,基于消息源或者敏感詞庫的過濾機(jī)制精確性不高、靈活性不足,特別是不能滿足具體用戶個人化的信息過濾需求。例如,被屏蔽的消息源要么是用戶人工設(shè)定的,要么是已發(fā)現(xiàn)的違規(guī)賬號,一經(jīng)屏蔽該消息源的所有消息就都被過濾掉了;事實上很多無用消息(包括被大量用戶重復(fù)轉(zhuǎn)發(fā)的消息)來自正常的聯(lián)系人和群組,用戶當(dāng)然不希望把這些正常的聯(lián)系人和群組的全部消息都屏蔽掉,而只是希望過濾掉自己不想看到的其中一部分消息?,F(xiàn)有技術(shù)通過對認(rèn)定屬于垃圾消息的廣告內(nèi)容和非法內(nèi)容統(tǒng)計詞頻,選取其中常用的關(guān)鍵詞作為敏感詞納入敏感詞庫,基于敏感詞庫進(jìn)行消息過濾;但是實際效果往往有失精準(zhǔn),同時忽視了具體用戶自身對不同消息有無關(guān)注的意愿;例如,用戶可能對某一特定類型的廣告信息存在關(guān)注的需求而不希望將所有廣告消息一律過濾掉。
第二,對于正常聊天過程中有用消息和無用消息互為上下文而相互混雜的情況,現(xiàn)有技術(shù)都無法實現(xiàn)有效的過濾,因而不能應(yīng)用于聊天記錄的精簡處理和信息提取。
第三,即時通訊的聊天過程中所產(chǎn)生的一條消息大多內(nèi)容簡要,字?jǐn)?shù)不多,含有的實詞較少,現(xiàn)有技術(shù)中一般基于文本字?jǐn)?shù)結(jié)合關(guān)鍵詞匹配或詞頻統(tǒng)計進(jìn)行是否滿足過濾條件的判斷,可以適用于字?jǐn)?shù)相對較多且關(guān)鍵詞特征比較明顯的垃圾消息的過濾,但即時通訊過程中正常消息的上述特點(diǎn),使得現(xiàn)有技術(shù)的方法不能充分適用。
技術(shù)實現(xiàn)要素:
鑒于上述現(xiàn)有技術(shù)中存在的以上問題,本發(fā)明目的在于提供一種實現(xiàn)自適應(yīng)消息過濾的即時通訊系統(tǒng)和即時通訊方法。本發(fā)明能夠克服即時通訊聊天過程中產(chǎn)生的消息因內(nèi)容簡短和關(guān)鍵詞數(shù)少而給信息識別帶來的困難,能夠使過濾條件自適應(yīng)匹配用戶的關(guān)注興趣,不僅對于垃圾消息和反復(fù)接收的消息實現(xiàn)了良好的過濾效果,而且能夠在正常聊天過程中有用消息和無用消息互為上下文的情形下,實現(xiàn)對承載用戶關(guān)注的有效信息的消息的自適應(yīng)過濾。
本發(fā)明所提供的一種實現(xiàn)自適應(yīng)消息過濾的即時通訊方法,包括以下步驟:
步驟S1,針對即時通訊過程中用戶收發(fā)的消息記錄,進(jìn)行初步的文本化和格式轉(zhuǎn)換;
步驟S2,根據(jù)表征每條消息的時間區(qū)間的指標(biāo),對消息記錄進(jìn)行聚合,生成聚合文本段;
步驟S3,根據(jù)聚合文本段的關(guān)鍵詞,生成語義特征向量,并基于各聚合文本段的語義特征向量的相似性,實現(xiàn)聚合文本段的再劃分處理,形成具有語義特征屬性的再劃分文本段;
步驟S4,根據(jù)用戶對具有不同語義特征屬性的再劃分文本段的興趣響應(yīng)特征,確定過濾條件;
步驟S5,基于過濾條件,對用戶實時收到的消息以及在消息記錄中保存的消息執(zhí)行過濾。
優(yōu)選的是,步驟S2中,對用戶與某個聯(lián)系對象的消息記錄中時間上相鄰的每兩條消息計算消息間隔時長T1,T2,......Tk,......Tn;自適應(yīng)地確定一間隔閾值T,從而將各消息間隔時長T1,T2,......Tk,......Tn按照相對于該間隔閾值T的大小而劃分到第一消息間隔時長集合G1和第二消息間隔時長集合G2;該間隔閾值T的取值使得該第一消息間隔時長集合G1中全部消息間隔時長的均值TG1與第二消息間隔時長集合G2中全部消息間隔時長的均值TG2二者差值絕對值|TG1-TG2|達(dá)到最大化;將每兩條消息的消息間隔時長T1,T2,......Tk,......Tn逐一與所確定的間隔閾值T進(jìn)行比較,當(dāng)Tk≤T時,則將以Tk為間隔的兩條消息劃分至同一個消息組;反之當(dāng)Tk>T時,則將以Tk為間隔的兩條消息劃分至不同的消息組;將每個消息組中的各條消息的文本合并在一起,形成所述聚合文本段。
優(yōu)選的是,步驟S3中,從聚合文本段當(dāng)中提取關(guān)鍵詞,并統(tǒng)計每個關(guān)鍵詞在該聚合文本段中的出現(xiàn)次數(shù);并且將從聚合文本段中提取出來的關(guān)鍵詞的出現(xiàn)次數(shù)累計至該關(guān)鍵詞所從屬于的語義概念的出現(xiàn)次數(shù);根據(jù)每一個語義概念及其出現(xiàn)次數(shù),對該聚合文本段進(jìn)行向量化,生成表征該聚合文本段的語義特征向量VD={w1,w2,...wk,...wn},其中VD表示聚合文本段D的語義特征向量,w1,w2,...wk,...wn表示該向量在每個坐標(biāo)軸上的坐標(biāo)值,也即在每個坐標(biāo)軸相應(yīng)的語義概念上的出現(xiàn)次數(shù)值。
優(yōu)選的是,步驟S3中,對于兩個聚合文本段,以二者各自的語義特征向量之間的夾角余弦值作為相近程度量化指標(biāo);在兩個聚合文本段在消息記錄中的時間間隔不超過預(yù)定時間范圍的前提下,如果二者的相近程度量化指標(biāo)在預(yù)定的相似閾值以上,則將這兩個聚合文本段合并為同一個聚合文本段,并重新統(tǒng)計語義概念的出現(xiàn)次數(shù)以及重新計算合并后的語義特征向量;然后該聚合文本段繼續(xù)參與與其它聚合文本段的再劃分,直至剩余的所有聚合文本段均不能滿足合并的條件,則結(jié)束再劃分的過程,再劃分處理之后的每一個聚合文本段作為最終的再劃分文本段。
優(yōu)選的是,步驟S4中,將再劃分文本段重新對應(yīng)到消息記錄中組成該文本段的各條消息;然后,在組成該再劃分文本段的全部消息當(dāng)中統(tǒng)計用戶的興趣響應(yīng)特征;用戶的興趣響應(yīng)特征采用組成該再劃分文本段的全部消息當(dāng)中該用戶發(fā)送消息條目的占比或者用戶發(fā)送消息文本量的占比來表征。
本申請進(jìn)而提供了一種實現(xiàn)自適應(yīng)消息過濾的即時通訊系統(tǒng),包括:
通訊模塊,用于基于網(wǎng)絡(luò)通訊協(xié)議實現(xiàn)用戶與聯(lián)系對象之間的消息的收發(fā)傳輸;
消息記錄模塊,用于按時間順序逐條保存在用戶與聯(lián)系對象之間收發(fā)的消息,生成消息記錄;
消息記錄處理模塊,針對即時通訊過程中用戶收發(fā)的消息記錄,進(jìn)行初步的文本化和格式轉(zhuǎn)換;
消息記錄聚合模塊,用于根據(jù)表征每條消息的時間區(qū)間的指標(biāo),對消息記錄進(jìn)行聚合,生成聚合文本段;
語義分析與文本段處理模塊,根據(jù)聚合文本段的關(guān)鍵詞,生成語義特征向量,并基于各聚合文本段的語義特征向量的相似性,實現(xiàn)聚合文本段的再劃分處理,形成具有語義特征屬性的再劃分文本段;
用戶興趣判定模塊,用于根據(jù)用戶對具有不同語義特征屬性的再劃分文本段的興趣響應(yīng)特征,確定過濾條件;
過濾模塊,用于基于過濾條件,對用戶實時收到的消息以及在消息記錄中保存的消息執(zhí)行過濾;
顯示模塊,用于針對實時收到的或者在消息記錄中保存的消息,根據(jù)所述過濾模塊的過濾結(jié)果,只對用戶顯示未被過濾的消息。
優(yōu)選的是,消息記錄聚合模塊具體包括:
間隔時長計算子模塊,用于在對用戶與某個聯(lián)系對象的消息記錄中時間上相鄰的每兩條消息計算消息間隔時長T1,T2,......Tk,......Tn;
間隔閾值自適應(yīng)判定子模塊,用于自適應(yīng)地確定一間隔閾值T,從而將各消息間隔時長T1,T2,......Tk,......Tn按照相對于該間隔閾值T的大小而劃分到第一消息間隔時長集合G1和第二消息間隔時長集合G2;該間隔閾值T的取值使得該第一消息間隔時長集合G1中全部消息間隔時長的均值TG1與第二消息間隔時長集合G2中全部消息間隔時長的均值TG2二者差值絕對值|TG1-TG2|達(dá)到最大化;
消息組劃分子模塊,用于將每兩條消息的消息間隔時長T1,T2,......Tk,......Tn逐一與所確定的間隔閾值T進(jìn)行比較,當(dāng)Tk≤T時,則將以Tk為間隔的兩條消息劃分至同一個消息組;反之當(dāng)Tk>T時,則將以Tk為間隔的兩條消息劃分至不同的消息組;
文本聚合子模塊,用于將每個消息組中的各條消息的文本合并在一起,形成所述聚合文本段。
優(yōu)選的是,語義分析與文本段處理模塊具體包括:
關(guān)鍵詞提取統(tǒng)計子模塊,用于從聚合文本段當(dāng)中提取關(guān)鍵詞,并統(tǒng)計每個關(guān)鍵詞在該聚合文本段中的出現(xiàn)次數(shù);
語義特征向量生成子模塊,用于將從聚合文本段中提取出來的關(guān)鍵詞的出現(xiàn)次數(shù)累計至該關(guān)鍵詞所從屬于的語義概念的出現(xiàn)次數(shù);根據(jù)每一個語義概念及其出現(xiàn)次數(shù),對該聚合文本段進(jìn)行向量化,生成表征該聚合文本段的語義特征向量VD={w1,w2,...wk,...wn},其中VD表示聚合文本段D的語義特征向量,w1,w2,...wk,...wn表示該向量在每個坐標(biāo)軸上的坐標(biāo)值,也即在每個坐標(biāo)軸相應(yīng)的語義概念上的出現(xiàn)次數(shù)值。
優(yōu)選的是,語義分析與文本段處理模塊進(jìn)一步包括:
相近量化子模塊,用于對兩個聚合文本段,以二者各自的語義特征向量之間的夾角余弦值作為相近程度量化指標(biāo);
再劃分子模塊,用于在兩個聚合文本段在消息記錄中的時間間隔不超過預(yù)定時間范圍的前提下,如果二者的相近程度量化指標(biāo)在預(yù)定的相似閾值以上,則將這兩個聚合文本段合并為同一個聚合文本段,并重新統(tǒng)計語義概念的出現(xiàn)次數(shù)以及重新計算合并后的語義特征向量;然后該聚合文本段繼續(xù)參與與其它聚合文本段的再劃分,直至剩余的所有聚合文本段均不能滿足合并的條件,則結(jié)束再劃分的過程,再劃分處理之后的每一個聚合文本段作為最終的再劃分文本段。
優(yōu)選的是,用戶興趣判定模塊具體包括:
文本段與消息映射子模塊,用于將再劃分文本段重新對應(yīng)到消息記錄中組成該文本段的各條消息;
用戶興趣統(tǒng)計子模塊,用于在組成該再劃分文本段的全部消息當(dāng)中統(tǒng)計用戶的興趣響應(yīng)特征;用戶的興趣響應(yīng)特征采用組成該再劃分文本段的全部消息當(dāng)中該用戶發(fā)送消息條目的占比或者用戶發(fā)送消息文本量的占比來表征。
可見,本發(fā)明對即時通訊聊天過程中產(chǎn)生的消息,以執(zhí)行多層次、多依據(jù)的聚合為基礎(chǔ),實現(xiàn)了對消息語義特征的準(zhǔn)確提取和對用戶興趣的有效統(tǒng)計判斷;在此基礎(chǔ)上,依據(jù)語義特征屬性和語義特征向量,形成自適應(yīng)性的過濾條件匹;該過濾條件匹配用戶的關(guān)注興趣,不僅對于垃圾消息和反復(fù)接收的消息能夠有效過濾,而且能夠在正常聊天過程中有用消息和無用消息互為上下文的情形下實現(xiàn)良好的過濾效果,避免了單純依靠關(guān)鍵詞匹配和消息源分類進(jìn)行過濾產(chǎn)生的弊端。
說明書附圖
圖1是現(xiàn)有技術(shù)中即時通訊工具的消息記錄示意圖;
圖2是本發(fā)明實現(xiàn)自適應(yīng)消息過濾的即時通訊方法的流程圖;
圖3是表示消息記錄中各條消息的消息間隔時長的示意圖;
圖4是本發(fā)明實現(xiàn)自適應(yīng)消息過濾的即時通訊系統(tǒng)的總體結(jié)構(gòu)示意圖;
圖5是即時通訊系統(tǒng)的消息記錄聚合模塊結(jié)構(gòu)示意圖;
圖6是即時通訊系統(tǒng)的語義分析與文本段處理模塊結(jié)構(gòu)示意圖;
圖7是即時通訊系統(tǒng)的用戶興趣判定模塊結(jié)構(gòu)示意圖。
具體實施方式
下面通過實施例,對本發(fā)明的技術(shù)方案做進(jìn)一步具體的說明。
圖2是本發(fā)明實現(xiàn)自適應(yīng)消息過濾的即時通訊方法的流程圖。
首先,在步驟S1中,針對即時通訊過程中用戶收發(fā)的消息記錄,進(jìn)行初步的文本化和格式轉(zhuǎn)換。消息記錄是即時通訊工具均具備的功能,在消息記錄中保存了用戶從好友、陌生人、群組等單個或多個聯(lián)系對象接收的和向這些聯(lián)系對象發(fā)送的消息,包括每條消息的內(nèi)容數(shù)據(jù)以及每條消息的收發(fā)時間等附加數(shù)據(jù)。消息當(dāng)中可能包括文字、圖片、表情、語音、視頻、文件等多種格式和類型的內(nèi)容數(shù)據(jù),本發(fā)明主要是針對文字類的內(nèi)容數(shù)據(jù)所執(zhí)行的分析方法,因此需要對消息進(jìn)行文本化的處理。具體來說,對于消息含有的表情符號,將與特定文字具有對應(yīng)關(guān)系的表情符號轉(zhuǎn)換為文字,并且從消息當(dāng)中去除不與特定文字具有對應(yīng)關(guān)系的表情符號;例如,笑臉的表情符號可以對應(yīng)于“高興”這一特定文字,點(diǎn)頭的表情符號與“同意”這一特定文字具有對應(yīng)關(guān)系,即時通訊工具可以內(nèi)置映射表來存儲表情符號與特定文字含義之間的對應(yīng)關(guān)系,因而,可以參照該內(nèi)置的映射表將消息中的表情符號轉(zhuǎn)換為相對應(yīng)的文字。對于語音消息,在即時通訊工具支持從語音到文字的識別轉(zhuǎn)換功能的情況下,可以將其轉(zhuǎn)換為文字消息;如果不支持該功能則可以去除該消息。對于含有圖片、視頻、多媒體的消息,可以濾除其中的圖片、視頻、多媒體而保留消息中包含的文字;對于只含圖片、視頻、多媒體的消息則去除該消息。對于含有文件的消息,可以將文件的文件名提取出來作為消息包含的文字。文本化過程還包括對消息中的拼音替換文字、符號替換文字的規(guī)范化文本進(jìn)行恢復(fù),例如,消息中存在以拼音“ni hao”來代替文字”你好”、以數(shù)字0代替字母“o”的情況,則將上述拼音和符號恢復(fù)為被替換的文字。進(jìn)而,對于文本化之后的消息記錄,進(jìn)行格式轉(zhuǎn)換,包括全半角統(tǒng)一、間隔符號濾除、空格和換行符號整理,例如,將消息“代辦身@份@證、畢@業(yè)@證”中故意插入的符號@濾除,將“你好我是小張”當(dāng)中的作為間隔的多個空格去除,以避免這些符號對消息文本量及語義特征的統(tǒng)計分析帶來干擾。
現(xiàn)有技術(shù)中主要依據(jù)是否包含特定關(guān)鍵詞及統(tǒng)計詞頻的方式對文本進(jìn)行定性,但即時通訊正常聊天過程中產(chǎn)生的單條消息一般字?jǐn)?shù)較少,多數(shù)消息本身不含關(guān)鍵詞,因此依據(jù)關(guān)鍵詞無法有效實現(xiàn)對消息的定性;由于關(guān)鍵詞在消息當(dāng)中的分布非常分散,無有效信息量的消息所占比例較大,因此反映有效信息量的關(guān)鍵詞在詞頻統(tǒng)計上并不占優(yōu)勢。還有一個問題在于,非正常的廣告消息、被反復(fù)接收的雷同消息當(dāng)中反而關(guān)鍵詞較為集中,因此如果單純依靠詞頻分布統(tǒng)計的方式,并不能實現(xiàn)提取出包含有效信息量的消息,這也就是現(xiàn)有技術(shù)中普遍采用預(yù)定義的關(guān)鍵詞典而不從用戶的聊天記錄中自適應(yīng)采集關(guān)鍵詞的原因。
針對這一狀況,本申請對經(jīng)過步驟S1處理之后的消息記錄,在步驟S2中,根據(jù)表征每條消息的時間區(qū)間的指標(biāo),對消息記錄進(jìn)行聚合,生成聚合文本段,從而以聚合文本段作為執(zhí)行關(guān)鍵詞自適應(yīng)提取和語義分析的單位。對消息記錄的聚合解決了關(guān)鍵詞分布分散的問題,提高了對消息執(zhí)行自適應(yīng)提取和語義分析的準(zhǔn)確性。聚合文本段的中心目標(biāo)是將用戶與某個聯(lián)系對象的一次即時通訊聊天過程所收發(fā)的各條消息完整聚合至一個聚合文本段之內(nèi)。因為一次聊天過程當(dāng)中的消息有比較大的可能性是圍繞著相同一個或幾個主題展開的,所收發(fā)的消息在內(nèi)容上具備相互關(guān)聯(lián)的概率較高,從而在聚合后的文本段中與主題相關(guān)的關(guān)鍵詞的數(shù)量也會增加。
步驟S2中依據(jù)用戶與某個聯(lián)系對象的消息記錄中各條消息的收發(fā)時間,判斷消息是否分布在一次聊天過程所持續(xù)的時間區(qū)間之內(nèi);具體來說,對該消息記錄中時間上相鄰的每兩條消息計算消息間隔時長,如圖3所示,設(shè)定用戶為A,聯(lián)系對象為B,圖3的時間軸上標(biāo)為A的點(diǎn)表示消息記錄當(dāng)中由用戶A向聯(lián)系對象B發(fā)送的消息,標(biāo)為B的點(diǎn)表示用戶A從聯(lián)系對象B接收的消息,計算相鄰的每兩條消息的消息間隔時長T1,T2,......Tk,......Tn;然后,按如下方法自適應(yīng)地確定一間隔閾值T:當(dāng)Tk≤T時,將Tk歸入第一消息間隔時長集合G1;當(dāng)Tk>T時,將Tk歸入第二消息間隔時長集合G2,并且計算第一消息間隔時長集合G1中的全部消息間隔時長的均值TG1,以及計算第二消息間隔時長集合G2中的全部消息間隔時長的均值TG2,求兩個集合的均值TG1和TG2之間的差值絕對值|TG1-TG2|;當(dāng)間隔閾值T的取值使該差值絕對值|TG1-TG2|達(dá)到最大化時,將該取值作為最終確定的間隔閾值T;進(jìn)而,將每兩條消息的消息間隔時長T1,T2,......Tk,......Tn逐一與所確定的間隔閾值T進(jìn)行比較,當(dāng)Tk≤T時,則認(rèn)定以Tk為間隔的每兩條消息屬于同一次聊天過程所持續(xù)的時間區(qū)間之內(nèi),反之當(dāng)Tk>T時,則認(rèn)為以Tk為間隔的每兩條消息分別處于不同的聊天過程所持續(xù)的時間區(qū)間之內(nèi)。如圖3,按照自適應(yīng)確定的間隔閾值T,由于T8>T而其它消息間隔時長均小于等于T,則認(rèn)為以T1-T7為間隔的消息處于聊天過程C1所持續(xù)的時間區(qū)間之內(nèi),因此將這些消息劃分至消息組C1,而以T9-T10為間隔的消息處于聊天過程C2所持續(xù)的時間區(qū)間之內(nèi),從而將這些消息劃分至消息組C2。
通過以上步驟,將消息記錄中的消息按照所估計的聊天過程持續(xù)時間區(qū)間進(jìn)行了分組。將每個消息組中的各條消息的文本合并在一起,形成所述聚合文本段D;從而,在后續(xù)的處理中,以聚合文本段作為執(zhí)行關(guān)鍵詞自適應(yīng)提取和語義分析的單位。
針對步驟S2形成的每一個聚合文本段,在步驟S3中,從聚合文本段當(dāng)中提取關(guān)鍵詞,并統(tǒng)計每個關(guān)鍵詞在該聚合文本段中的出現(xiàn)次數(shù)。在提取關(guān)鍵詞的過程中,利用預(yù)定義的詞典,排除將常見的無有效信息量的詞語作為關(guān)鍵詞,例如圖1所示的聊天記錄中的“您好”、“呵呵”、“好的”、“明白”、“應(yīng)該”等。盡管排除了無有效信息量的詞語,但一個聚合文本段當(dāng)中能夠提取出來的全部具有有效信息量的關(guān)鍵詞仍然有可能是過剩的,直接用于生成特征向量可能會造成向量空間維數(shù)過多。因此,在字典中,可以基于關(guān)鍵詞相關(guān)性和相似性而預(yù)定義相對于關(guān)鍵詞來說更為上位和數(shù)量更少的語義概念;其中,具有相關(guān)性的關(guān)鍵詞指的是通過對海量文本樣本的統(tǒng)計分析而確定的在同一個文本當(dāng)中相伴出現(xiàn)概率較高的一組關(guān)鍵詞;具有相似性的關(guān)鍵詞指的是彼此構(gòu)成同義詞、近義詞的關(guān)鍵詞。當(dāng)從聚合文本段中提取出來的關(guān)鍵詞從屬于某個語義概念時,則將該關(guān)鍵詞的出現(xiàn)次數(shù)累計至該語義概念的出現(xiàn)次數(shù);例如,從圖1的聊天記錄中提取出來的“合同”、“洽談”、“條款”、“簽字”在詞典中定義為從屬于同一個語義概念,則可以將這些關(guān)鍵詞的出現(xiàn)次數(shù)均累加到該語義概念的出現(xiàn)次數(shù)。
進(jìn)而,步驟S3中根據(jù)從聚合文本段當(dāng)中提取出來的每一個語義概念及其出現(xiàn)次數(shù),對該聚合文本段進(jìn)行向量化,生成表征該聚合文本段的語義特征向量。假設(shè)字典中定義了n個語義概念,將每個語義概念作為一個坐標(biāo)軸,從而形成了n維坐標(biāo)系,從聚合文本段當(dāng)中提取出來的每個語義概念的出現(xiàn)次數(shù)值(聚合文本段當(dāng)中沒有提取出來的語義概念的出現(xiàn)次數(shù)值為0)作為在該語義概念對應(yīng)坐標(biāo)軸上的坐標(biāo)值,從而將聚合文本段D表征為一個n維向量:
VD={w1,w2,...wk,...wn}
其中VD表示聚合文本段D的語義特征向量,w1,w2,...wk,...wn表示該向量在每個坐標(biāo)軸上的坐標(biāo)值(也即在每個坐標(biāo)軸相應(yīng)的語義概念上的出現(xiàn)次數(shù)值)。
步驟S3中,在以所述語義特征向量表征每個聚合文本段的基礎(chǔ)上,基于語義特征向量實現(xiàn)聚合文本段的再劃分處理,形成具有語義特征屬性的再劃分文本段。對于兩個聚合文本段D1和D2,以各自的語義特征向量VD1,VD2之間的夾角余弦值來表征二者的相近程度,如下式所示:
其中sim(D1,D2)表示聚合文本段D1與D2的相近程度量化指標(biāo)。
在相近程度量化指標(biāo)的基礎(chǔ)上,對聚合文本段實現(xiàn)再劃分處理。具體來說,在兩個聚合文本段在消息記錄中的時間間隔不超過預(yù)定時間范圍(例如間隔不超過一周、間隔不超過30天等)的前提下,如果二者的相近程度量化指標(biāo)在預(yù)定的相似閾值以上,則將這兩個聚合文本段合并為同一個聚合文本段,并重新統(tǒng)計語義概念的出現(xiàn)次數(shù)以及重新計算合并后的語義特征向量;然后該聚合文本段繼續(xù)參與與其它聚合文本段的再劃分,直至剩余的所有聚合文本段均不能滿足合并的條件,則結(jié)束再劃分的過程。
對于再劃分處理之后的每一個聚合文本段,作為最終的再劃分文本段,根據(jù)從中提取出來的語義概念及其出現(xiàn)次數(shù),選取出現(xiàn)次數(shù)排名前若干位的語義概念作為該聚合文本段的語義特征屬性。
步驟S4中,根據(jù)用戶對具有不同語義特征屬性的再劃分文本段的興趣響應(yīng)特征,確定過濾條件。
在步驟S4中,首先,將再劃分文本段重新對應(yīng)到消息記錄中組成該文本段的各條消息;然后,在組成該再劃分文本段的全部消息當(dāng)中統(tǒng)計用戶的興趣響應(yīng)特征;用戶的興趣響應(yīng)特征可以采用組成該再劃分文本段的全部消息當(dāng)中該用戶發(fā)送消息條目的占比或者用戶發(fā)送消息文本量的占比來表征;在即時通訊聊天過程中,如果由用戶一側(cè)發(fā)出的消息多,或者用戶一側(cè)發(fā)送消息的文本量大,則可以認(rèn)為該用戶對這些消息相關(guān)的話題(以聚合文本段的語義特征屬性表示)更感興趣,因此才會較多的發(fā)言;相反,如果主要是聯(lián)系對象發(fā)言,則很大可能表明用戶對這些消息相關(guān)話題的興趣不大,甚至是被動接受聯(lián)系對象發(fā)來的消息而沒有或極少回復(fù)。
當(dāng)對于某個再劃分文本段,用戶的興趣響應(yīng)特征高于興趣判定閾值時,則將該再劃分文本段定義為感興趣文本段,將感興趣文本段的語義特征向量和語義特征屬性作為過濾條件。
步驟S5,基于過濾條件對用戶實時收到的消息以及在消息記錄中保存的消息執(zhí)行過濾。
對消息記錄執(zhí)行的過濾過程如下詳細(xì)介紹。利用以上過濾條件,首先進(jìn)行對消息記錄中的其它再劃分文本段的過濾過程;對于其它再劃分文本段,如果與感興趣文本段的相近程度(如前文所述,利用語義特征向量進(jìn)行相近程度量化指標(biāo)的計算)在預(yù)定的過濾閾值以下,則將該再劃分文本段作為過濾對象,從消息記錄中將其對應(yīng)的消息過濾掉。接著,對于保留下來的再劃分文本段,利用感興趣文本段的語義特征屬性,判斷這些再劃分文本段對應(yīng)的每條消息中是否含有作為該語義特征屬性的語義概念之下的關(guān)鍵詞,保留含有作為該語義特征屬性的語義概念之下的關(guān)鍵詞的消息,而將不含有這些關(guān)鍵詞的消息作為過濾對象,從消息記錄中過濾掉。
基于過濾條件對用戶實時收到的消息進(jìn)行過濾的過程中,則可以判斷實時接受到的消息中是否含有作為感興趣文本段的語義特征屬性的語義概念之下的關(guān)鍵詞,如果不含有這些關(guān)鍵詞,就可以將該實時收到的消息作為過濾對象,例如不對用戶進(jìn)行提示等。
如圖4所示,本申請進(jìn)而提供了一種實現(xiàn)自適應(yīng)消息過濾的即時通訊系統(tǒng),包括:
通訊模塊401,用于基于網(wǎng)絡(luò)通訊協(xié)議實現(xiàn)用戶與聯(lián)系對象之間的消息的收發(fā)傳輸;
消息記錄模塊402,用于按時間順序逐條保存在用戶與聯(lián)系對象之間收發(fā)的消息,生成消息記錄;
消息記錄處理模塊403,針對即時通訊過程中用戶收發(fā)的消息記錄,進(jìn)行初步的文本化和格式轉(zhuǎn)換;
消息記錄聚合模塊404,用于根據(jù)表征每條消息的時間區(qū)間的指標(biāo),對消息記錄進(jìn)行聚合,生成聚合文本段;
語義分析與文本段處理模塊405,根據(jù)聚合文本段的關(guān)鍵詞,生成語義特征向量,并基于各聚合文本段的語義特征向量的相似性,實現(xiàn)聚合文本段的再劃分處理,形成具有語義特征屬性的再劃分文本段;
用戶興趣判定模塊406,用于根據(jù)用戶對具有不同語義特征屬性的再劃分文本段的興趣響應(yīng)特征,確定過濾條件;
過濾模塊407,用于基于過濾條件,對用戶實時收到的消息以及在消息記錄中保存的消息執(zhí)行過濾;
顯示模塊408,用于針對實時收到的或者在消息記錄中保存的消息,根據(jù)所述過濾模塊的過濾結(jié)果,只對用戶顯示未被過濾的消息。
其中,消息記錄聚合模塊404如圖5所示,具體包括:間隔時長計算子模塊404A,用于在對用戶與某個聯(lián)系對象的消息記錄中時間上相鄰的每兩條消息計算消息間隔時長T1,T2,......Tk,......Tn;間隔閾值自適應(yīng)判定子模塊404B,用于自適應(yīng)地確定一間隔閾值T,從而將各消息間隔時長T1,T2,......Tk,......Tn按照相對于該間隔閾值T的大小而劃分到第一消息間隔時長集合G1和第二消息間隔時長集合G2;該間隔閾值T的取值使得該第一消息間隔時長集合G1中全部消息間隔時長的均值TG1與第二消息間隔時長集合G2中全部消息間隔時長的均值TG2二者差值絕對值|TG1-TG2|達(dá)到最大化;消息組劃分子模塊404C,用于將每兩條消息的消息間隔時長T1,T2,......Tk,......Tn逐一與所確定的間隔閾值T進(jìn)行比較,當(dāng)Tk≤T時,則將以Tk為間隔的兩條消息劃分至同一個消息組;反之當(dāng)Tk>T時,則將以Tk為間隔的兩條消息劃分至不同的消息組;文本聚合子模塊404D,用于將每個消息組中的各條消息的文本合并在一起,形成所述聚合文本段。
語義分析與文本段處理模塊405如圖6所示,具體包括:關(guān)鍵詞提取統(tǒng)計子模塊405A,用于從聚合文本段當(dāng)中提取關(guān)鍵詞,并統(tǒng)計每個關(guān)鍵詞在該聚合文本段中的出現(xiàn)次數(shù);語義特征向量生成子模塊405B,用于將從聚合文本段中提取出來的關(guān)鍵詞的出現(xiàn)次數(shù)累計至該關(guān)鍵詞所從屬于的語義概念的出現(xiàn)次數(shù);根據(jù)每一個語義概念及其出現(xiàn)次數(shù),對該聚合文本段進(jìn)行向量化,生成表征該聚合文本段的語義特征向量VD={w1,w2,...wk,...wn},其中VD表示聚合文本段D的語義特征向量,w1,w2,...wk,...wn表示該向量在每個坐標(biāo)軸上的坐標(biāo)值,也即在每個坐標(biāo)軸相應(yīng)的語義概念上的出現(xiàn)次數(shù)值;相近量化子模塊405C,用于對兩個聚合文本段,以二者各自的語義特征向量之間的夾角余弦值作為相近程度量化指標(biāo);再劃分子模塊405D,用于在兩個聚合文本段在消息記錄中的時間間隔不超過預(yù)定時間范圍的前提下,如果二者的相近程度量化指標(biāo)在預(yù)定的相似閾值以上,則將這兩個聚合文本段合并為同一個聚合文本段,并重新統(tǒng)計語義概念的出現(xiàn)次數(shù)以及重新計算合并后的語義特征向量;然后該聚合文本段繼續(xù)參與與其它聚合文本段的再劃分,直至剩余的所有聚合文本段均不能滿足合并的條件,則結(jié)束再劃分的過程,再劃分處理之后的每一個聚合文本段作為最終的再劃分文本段。
用戶興趣判定模塊406如圖7所示,具體包括:文本段與消息映射子模塊406A,用于將再劃分文本段重新對應(yīng)到消息記錄中組成該文本段的各條消息;用戶興趣統(tǒng)計子模塊406B,用于在組成該再劃分文本段的全部消息當(dāng)中統(tǒng)計用戶的興趣響應(yīng)特征;用戶的興趣響應(yīng)特征采用組成該再劃分文本段的全部消息當(dāng)中該用戶發(fā)送消息條目的占比或者用戶發(fā)送消息文本量的占比來表征。
可見,本發(fā)明對即時通訊聊天過程中產(chǎn)生的消息,以執(zhí)行多層次、多依據(jù)的聚合為基礎(chǔ),實現(xiàn)了對消息語義特征的準(zhǔn)確提取和對用戶興趣的有效統(tǒng)計判斷;在此基礎(chǔ)上,依據(jù)語義特征屬性和語義特征向量,形成自適應(yīng)性的過濾條件匹;該過濾條件匹配用戶的關(guān)注興趣,不僅對于垃圾消息和反復(fù)接收的消息能夠有效過濾,而且能夠在正常聊天過程中有用消息和無用消息互為上下文的情形下實現(xiàn)良好的過濾效果,避免了單純依靠關(guān)鍵詞匹配和消息源分類進(jìn)行過濾產(chǎn)生的弊端。
以上實施例僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護(hù)范圍應(yīng)由權(quán)利要求限定。