本发明涉及计算机通信领域,尤其涉及一种实现自适应消息过滤的即时通讯系统和即时通讯方法。
背景技术:
即时通讯系统(Instant Messaging,简称IM)允许用户进行两点或多点之间的文字、图片、表情、语音、视频、文件等多种数据内容的实时相互传输,自上个世纪90年代成熟的IM系统进入商业化应用以来,用户规模急剧增长,迅速成为人们最为常用的通讯交流手段之一。近年来,智能手机终端和移动互联网的兴起进一步推动了即时通讯的发展,使用户随时随地都可以通过IM系统与他人进行联系,而且通过建立联系人的群组进行信息分享,使IM系统具备了社交网络的属性。从而,IM系统日益取代短信和电子邮件等工具,广泛适用于日常交际、商务联络、工作沟通、广告营销等各个方面。
虽然即时通讯系统能够支持文字、图片、表情、语音、视频、文件等多种格式和类型的内容数据的传输,但目前仍然主要是以文字消息作为用户之间传递信息的载体。文字消息的优势在于:通讯传输开销很低、意思传达比较准确、阅读文字获取信息的时间效率相比语音和视频等更高、可回溯性强。
然而,随着即时通讯系统的普及化,由之带来的信息泛滥的弊端也充分暴露出来。用户苦于每天都受到海量消息的“轰炸”,其中绝大部分是用户根本不需要也完全没有关注意愿的信息,而用户真正感兴趣和需要的有用消息却常常被湮没了,没有被用户及时发现并予以处理和回复,当用户一段时间之后回溯消息记录时,则更难从海量的无用消息中筛选出个别有用的信息。
在即时通讯系统当中,用户所接收的泛滥的无用消息包括多种情形:一是面向非特定受众编制和传播的各种广告消息,有些甚至是用来传播邪教、色情、暴力、谣言、诈骗等非法内容的消息;二是载有完全相同或基本相同内容的消息被持续性地重复转发和接收,例如,记载某些广为流传的故事、笑话、名言警句的消息由不同的发信人和群组反复传送给同一用户,随着重复次数的增加给用户带来打扰也不断加大;三是在正常的聊天交流过程中产生的不包含或极少包含有效信息量的消息,例如图1所示的即时通讯工具消息记录,其中记录的消息是用户王经理和小张的聊天记录,有20条共328个字符,涉及“A公司合同”以及“度假报名”两个主题,但通过分析不难发现,其中对于以上主题来说,包含了有效信息量的消息仅是标示了下划线的6条共140个字符,而其余的14条消息共188个字符均为表示打招呼、回应反馈、寒暄礼貌等辅助性质的用语,相对于以上主题来说,所提供的有效信息量非常有限。然而,即时通讯系统会将以上消息按时间顺序原样保存下来作为聊天记录的一部分,随着时间的积累,有效信息会日益湮没在上下文存在的大量的无用消息之间,难以被查找到;如果小张或者王经理在一段时间之后回溯聊天记录,就会感到从中发现聊天的主题及与其相关的有用消息均存在较大困难,需要花费大量时间去甄别上下文中的无用消息。另外,日积月累的无用消息还存在过度占用设备的硬件资源,增大数据传输、存储和处理开销方面的问题,而清空消息记录又会造成有用消息的一并删除。
针对以上问题,建立必要的消息过滤机制成为了即时通讯系统提升效率和改善用户体验的重要方面。现有技术中一般采用基于消息源的过滤、基于关键字的过滤或以上两种因素相结合的过滤。例如,公开号为CN105704016A的发明专利申请“一种群消息屏蔽处理方法、装置及终端”记载了接收来自聊天群组的群消息,判断该群消息的发送方是否属于屏蔽对象,如果是,则过滤该群消息不予显示。公开号为CN104038412A的发明专利申请“过滤垃圾消息的方法及装置“记载了判断发送消息的用户是否为预设的可筛选用户,如果是,则继续判断消息中是否包含垃圾消息关键词,当包含时则过滤该消息。公开号为CN101212419A的发明专利申请“一种在即时通信系统中处理垃圾消息的方法”记载了在服务器的数据库中建立含匹配关键字的字典;对于字数过少的消息则不执行判断和过滤;对于字数较多的消息则执行字典过滤,将与字典中的简单关键字匹配的垃圾消息直接予以过滤和屏蔽;对于字数足够多的消息,先进行字典过滤,再将字典过滤结果中不匹配的消息进行复杂组合逻辑过滤从而进一步筛查垃圾消息。
然而,现有的消息过滤机制存在以下几方面的问题:
第一,基于消息源或者敏感词库的过滤机制精确性不高、灵活性不足,特别是不能满足具体用户个人化的信息过滤需求。例如,被屏蔽的消息源要么是用户人工设定的,要么是已发现的违规账号,一经屏蔽该消息源的所有消息就都被过滤掉了;事实上很多无用消息(包括被大量用户重复转发的消息)来自正常的联系人和群组,用户当然不希望把这些正常的联系人和群组的全部消息都屏蔽掉,而只是希望过滤掉自己不想看到的其中一部分消息。现有技术通过对认定属于垃圾消息的广告内容和非法内容统计词频,选取其中常用的关键词作为敏感词纳入敏感词库,基于敏感词库进行消息过滤;但是实际效果往往有失精准,同时忽视了具体用户自身对不同消息有无关注的意愿;例如,用户可能对某一特定类型的广告信息存在关注的需求而不希望将所有广告消息一律过滤掉。
第二,对于正常聊天过程中有用消息和无用消息互为上下文而相互混杂的情况,现有技术都无法实现有效的过滤,因而不能应用于聊天记录的精简处理和信息提取。
第三,即时通讯的聊天过程中所产生的一条消息大多内容简要,字数不多,含有的实词较少,现有技术中一般基于文本字数结合关键词匹配或词频统计进行是否满足过滤条件的判断,可以适用于字数相对较多且关键词特征比较明显的垃圾消息的过滤,但即时通讯过程中正常消息的上述特点,使得现有技术的方法不能充分适用。
技术实现要素:
鉴于上述现有技术中存在的以上问题,本发明目的在于提供一种实现自适应消息过滤的即时通讯系统和即时通讯方法。本发明能够克服即时通讯聊天过程中产生的消息因内容简短和关键词数少而给信息识别带来的困难,能够使过滤条件自适应匹配用户的关注兴趣,不仅对于垃圾消息和反复接收的消息实现了良好的过滤效果,而且能够在正常聊天过程中有用消息和无用消息互为上下文的情形下,实现对承载用户关注的有效信息的消息的自适应过滤。
本发明所提供的一种实现自适应消息过滤的即时通讯方法,包括以下步骤:
步骤S1,针对即时通讯过程中用户收发的消息记录,进行初步的文本化和格式转换;
步骤S2,根据表征每条消息的时间区间的指标,对消息记录进行聚合,生成聚合文本段;
步骤S3,根据聚合文本段的关键词,生成语义特征向量,并基于各聚合文本段的语义特征向量的相似性,实现聚合文本段的再划分处理,形成具有语义特征属性的再划分文本段;
步骤S4,根据用户对具有不同语义特征属性的再划分文本段的兴趣响应特征,确定过滤条件;
步骤S5,基于过滤条件,对用户实时收到的消息以及在消息记录中保存的消息执行过滤。
优选的是,步骤S2中,对用户与某个联系对象的消息记录中时间上相邻的每两条消息计算消息间隔时长T1,T2,......Tk,......Tn;自适应地确定一间隔阈值T,从而将各消息间隔时长T1,T2,......Tk,......Tn按照相对于该间隔阈值T的大小而划分到第一消息间隔时长集合G1和第二消息间隔时长集合G2;该间隔阈值T的取值使得该第一消息间隔时长集合G1中全部消息间隔时长的均值TG1与第二消息间隔时长集合G2中全部消息间隔时长的均值TG2二者差值绝对值|TG1-TG2|达到最大化;将每两条消息的消息间隔时长T1,T2,......Tk,......Tn逐一与所确定的间隔阈值T进行比较,当Tk≤T时,则将以Tk为间隔的两条消息划分至同一个消息组;反之当Tk>T时,则将以Tk为间隔的两条消息划分至不同的消息组;将每个消息组中的各条消息的文本合并在一起,形成所述聚合文本段。
优选的是,步骤S3中,从聚合文本段当中提取关键词,并统计每个关键词在该聚合文本段中的出现次数;并且将从聚合文本段中提取出来的关键词的出现次数累计至该关键词所从属于的语义概念的出现次数;根据每一个语义概念及其出现次数,对该聚合文本段进行向量化,生成表征该聚合文本段的语义特征向量VD={w1,w2,...wk,...wn},其中VD表示聚合文本段D的语义特征向量,w1,w2,...wk,...wn表示该向量在每个坐标轴上的坐标值,也即在每个坐标轴相应的语义概念上的出现次数值。
优选的是,步骤S3中,对于两个聚合文本段,以二者各自的语义特征向量之间的夹角余弦值作为相近程度量化指标;在两个聚合文本段在消息记录中的时间间隔不超过预定时间范围的前提下,如果二者的相近程度量化指标在预定的相似阈值以上,则将这两个聚合文本段合并为同一个聚合文本段,并重新统计语义概念的出现次数以及重新计算合并后的语义特征向量;然后该聚合文本段继续参与与其它聚合文本段的再划分,直至剩余的所有聚合文本段均不能满足合并的条件,则结束再划分的过程,再划分处理之后的每一个聚合文本段作为最终的再划分文本段。
优选的是,步骤S4中,将再划分文本段重新对应到消息记录中组成该文本段的各条消息;然后,在组成该再划分文本段的全部消息当中统计用户的兴趣响应特征;用户的兴趣响应特征采用组成该再划分文本段的全部消息当中该用户发送消息条目的占比或者用户发送消息文本量的占比来表征。
本申请进而提供了一种实现自适应消息过滤的即时通讯系统,包括:
通讯模块,用于基于网络通讯协议实现用户与联系对象之间的消息的收发传输;
消息记录模块,用于按时间顺序逐条保存在用户与联系对象之间收发的消息,生成消息记录;
消息记录处理模块,针对即时通讯过程中用户收发的消息记录,进行初步的文本化和格式转换;
消息记录聚合模块,用于根据表征每条消息的时间区间的指标,对消息记录进行聚合,生成聚合文本段;
语义分析与文本段处理模块,根据聚合文本段的关键词,生成语义特征向量,并基于各聚合文本段的语义特征向量的相似性,实现聚合文本段的再划分处理,形成具有语义特征属性的再划分文本段;
用户兴趣判定模块,用于根据用户对具有不同语义特征属性的再划分文本段的兴趣响应特征,确定过滤条件;
过滤模块,用于基于过滤条件,对用户实时收到的消息以及在消息记录中保存的消息执行过滤;
显示模块,用于针对实时收到的或者在消息记录中保存的消息,根据所述过滤模块的过滤结果,只对用户显示未被过滤的消息。
优选的是,消息记录聚合模块具体包括:
间隔时长计算子模块,用于在对用户与某个联系对象的消息记录中时间上相邻的每两条消息计算消息间隔时长T1,T2,......Tk,......Tn;
间隔阈值自适应判定子模块,用于自适应地确定一间隔阈值T,从而将各消息间隔时长T1,T2,......Tk,......Tn按照相对于该间隔阈值T的大小而划分到第一消息间隔时长集合G1和第二消息间隔时长集合G2;该间隔阈值T的取值使得该第一消息间隔时长集合G1中全部消息间隔时长的均值TG1与第二消息间隔时长集合G2中全部消息间隔时长的均值TG2二者差值绝对值|TG1-TG2|达到最大化;
消息组划分子模块,用于将每两条消息的消息间隔时长T1,T2,......Tk,......Tn逐一与所确定的间隔阈值T进行比较,当Tk≤T时,则将以Tk为间隔的两条消息划分至同一个消息组;反之当Tk>T时,则将以Tk为间隔的两条消息划分至不同的消息组;
文本聚合子模块,用于将每个消息组中的各条消息的文本合并在一起,形成所述聚合文本段。
优选的是,语义分析与文本段处理模块具体包括:
关键词提取统计子模块,用于从聚合文本段当中提取关键词,并统计每个关键词在该聚合文本段中的出现次数;
语义特征向量生成子模块,用于将从聚合文本段中提取出来的关键词的出现次数累计至该关键词所从属于的语义概念的出现次数;根据每一个语义概念及其出现次数,对该聚合文本段进行向量化,生成表征该聚合文本段的语义特征向量VD={w1,w2,...wk,...wn},其中VD表示聚合文本段D的语义特征向量,w1,w2,...wk,...wn表示该向量在每个坐标轴上的坐标值,也即在每个坐标轴相应的语义概念上的出现次数值。
优选的是,语义分析与文本段处理模块进一步包括:
相近量化子模块,用于对两个聚合文本段,以二者各自的语义特征向量之间的夹角余弦值作为相近程度量化指标;
再划分子模块,用于在两个聚合文本段在消息记录中的时间间隔不超过预定时间范围的前提下,如果二者的相近程度量化指标在预定的相似阈值以上,则将这两个聚合文本段合并为同一个聚合文本段,并重新统计语义概念的出现次数以及重新计算合并后的语义特征向量;然后该聚合文本段继续参与与其它聚合文本段的再划分,直至剩余的所有聚合文本段均不能满足合并的条件,则结束再划分的过程,再划分处理之后的每一个聚合文本段作为最终的再划分文本段。
优选的是,用户兴趣判定模块具体包括:
文本段与消息映射子模块,用于将再划分文本段重新对应到消息记录中组成该文本段的各条消息;
用户兴趣统计子模块,用于在组成该再划分文本段的全部消息当中统计用户的兴趣响应特征;用户的兴趣响应特征采用组成该再划分文本段的全部消息当中该用户发送消息条目的占比或者用户发送消息文本量的占比来表征。
可见,本发明对即时通讯聊天过程中产生的消息,以执行多层次、多依据的聚合为基础,实现了对消息语义特征的准确提取和对用户兴趣的有效统计判断;在此基础上,依据语义特征属性和语义特征向量,形成自适应性的过滤条件匹;该过滤条件匹配用户的关注兴趣,不仅对于垃圾消息和反复接收的消息能够有效过滤,而且能够在正常聊天过程中有用消息和无用消息互为上下文的情形下实现良好的过滤效果,避免了单纯依靠关键词匹配和消息源分类进行过滤产生的弊端。
说明书附图
图1是现有技术中即时通讯工具的消息记录示意图;
图2是本发明实现自适应消息过滤的即时通讯方法的流程图;
图3是表示消息记录中各条消息的消息间隔时长的示意图;
图4是本发明实现自适应消息过滤的即时通讯系统的总体结构示意图;
图5是即时通讯系统的消息记录聚合模块结构示意图;
图6是即时通讯系统的语义分析与文本段处理模块结构示意图;
图7是即时通讯系统的用户兴趣判定模块结构示意图。
具体实施方式
下面通过实施例,对本发明的技术方案做进一步具体的说明。
图2是本发明实现自适应消息过滤的即时通讯方法的流程图。
首先,在步骤S1中,针对即时通讯过程中用户收发的消息记录,进行初步的文本化和格式转换。消息记录是即时通讯工具均具备的功能,在消息记录中保存了用户从好友、陌生人、群组等单个或多个联系对象接收的和向这些联系对象发送的消息,包括每条消息的内容数据以及每条消息的收发时间等附加数据。消息当中可能包括文字、图片、表情、语音、视频、文件等多种格式和类型的内容数据,本发明主要是针对文字类的内容数据所执行的分析方法,因此需要对消息进行文本化的处理。具体来说,对于消息含有的表情符号,将与特定文字具有对应关系的表情符号转换为文字,并且从消息当中去除不与特定文字具有对应关系的表情符号;例如,笑脸的表情符号可以对应于“高兴”这一特定文字,点头的表情符号与“同意”这一特定文字具有对应关系,即时通讯工具可以内置映射表来存储表情符号与特定文字含义之间的对应关系,因而,可以参照该内置的映射表将消息中的表情符号转换为相对应的文字。对于语音消息,在即时通讯工具支持从语音到文字的识别转换功能的情况下,可以将其转换为文字消息;如果不支持该功能则可以去除该消息。对于含有图片、视频、多媒体的消息,可以滤除其中的图片、视频、多媒体而保留消息中包含的文字;对于只含图片、视频、多媒体的消息则去除该消息。对于含有文件的消息,可以将文件的文件名提取出来作为消息包含的文字。文本化过程还包括对消息中的拼音替换文字、符号替换文字的规范化文本进行恢复,例如,消息中存在以拼音“ni hao”来代替文字”你好”、以数字0代替字母“o”的情况,则将上述拼音和符号恢复为被替换的文字。进而,对于文本化之后的消息记录,进行格式转换,包括全半角统一、间隔符号滤除、空格和换行符号整理,例如,将消息“代办身@份@证、毕@业@证”中故意插入的符号@滤除,将“你好我是小张”当中的作为间隔的多个空格去除,以避免这些符号对消息文本量及语义特征的统计分析带来干扰。
现有技术中主要依据是否包含特定关键词及统计词频的方式对文本进行定性,但即时通讯正常聊天过程中产生的单条消息一般字数较少,多数消息本身不含关键词,因此依据关键词无法有效实现对消息的定性;由于关键词在消息当中的分布非常分散,无有效信息量的消息所占比例较大,因此反映有效信息量的关键词在词频统计上并不占优势。还有一个问题在于,非正常的广告消息、被反复接收的雷同消息当中反而关键词较为集中,因此如果单纯依靠词频分布统计的方式,并不能实现提取出包含有效信息量的消息,这也就是现有技术中普遍采用预定义的关键词典而不从用户的聊天记录中自适应采集关键词的原因。
针对这一状况,本申请对经过步骤S1处理之后的消息记录,在步骤S2中,根据表征每条消息的时间区间的指标,对消息记录进行聚合,生成聚合文本段,从而以聚合文本段作为执行关键词自适应提取和语义分析的单位。对消息记录的聚合解决了关键词分布分散的问题,提高了对消息执行自适应提取和语义分析的准确性。聚合文本段的中心目标是将用户与某个联系对象的一次即时通讯聊天过程所收发的各条消息完整聚合至一个聚合文本段之内。因为一次聊天过程当中的消息有比较大的可能性是围绕着相同一个或几个主题展开的,所收发的消息在内容上具备相互关联的概率较高,从而在聚合后的文本段中与主题相关的关键词的数量也会增加。
步骤S2中依据用户与某个联系对象的消息记录中各条消息的收发时间,判断消息是否分布在一次聊天过程所持续的时间区间之内;具体来说,对该消息记录中时间上相邻的每两条消息计算消息间隔时长,如图3所示,设定用户为A,联系对象为B,图3的时间轴上标为A的点表示消息记录当中由用户A向联系对象B发送的消息,标为B的点表示用户A从联系对象B接收的消息,计算相邻的每两条消息的消息间隔时长T1,T2,......Tk,......Tn;然后,按如下方法自适应地确定一间隔阈值T:当Tk≤T时,将Tk归入第一消息间隔时长集合G1;当Tk>T时,将Tk归入第二消息间隔时长集合G2,并且计算第一消息间隔时长集合G1中的全部消息间隔时长的均值TG1,以及计算第二消息间隔时长集合G2中的全部消息间隔时长的均值TG2,求两个集合的均值TG1和TG2之间的差值绝对值|TG1-TG2|;当间隔阈值T的取值使该差值绝对值|TG1-TG2|达到最大化时,将该取值作为最终确定的间隔阈值T;进而,将每两条消息的消息间隔时长T1,T2,......Tk,......Tn逐一与所确定的间隔阈值T进行比较,当Tk≤T时,则认定以Tk为间隔的每两条消息属于同一次聊天过程所持续的时间区间之内,反之当Tk>T时,则认为以Tk为间隔的每两条消息分别处于不同的聊天过程所持续的时间区间之内。如图3,按照自适应确定的间隔阈值T,由于T8>T而其它消息间隔时长均小于等于T,则认为以T1-T7为间隔的消息处于聊天过程C1所持续的时间区间之内,因此将这些消息划分至消息组C1,而以T9-T10为间隔的消息处于聊天过程C2所持续的时间区间之内,从而将这些消息划分至消息组C2。
通过以上步骤,将消息记录中的消息按照所估计的聊天过程持续时间区间进行了分组。将每个消息组中的各条消息的文本合并在一起,形成所述聚合文本段D;从而,在后续的处理中,以聚合文本段作为执行关键词自适应提取和语义分析的单位。
针对步骤S2形成的每一个聚合文本段,在步骤S3中,从聚合文本段当中提取关键词,并统计每个关键词在该聚合文本段中的出现次数。在提取关键词的过程中,利用预定义的词典,排除将常见的无有效信息量的词语作为关键词,例如图1所示的聊天记录中的“您好”、“呵呵”、“好的”、“明白”、“应该”等。尽管排除了无有效信息量的词语,但一个聚合文本段当中能够提取出来的全部具有有效信息量的关键词仍然有可能是过剩的,直接用于生成特征向量可能会造成向量空间维数过多。因此,在字典中,可以基于关键词相关性和相似性而预定义相对于关键词来说更为上位和数量更少的语义概念;其中,具有相关性的关键词指的是通过对海量文本样本的统计分析而确定的在同一个文本当中相伴出现概率较高的一组关键词;具有相似性的关键词指的是彼此构成同义词、近义词的关键词。当从聚合文本段中提取出来的关键词从属于某个语义概念时,则将该关键词的出现次数累计至该语义概念的出现次数;例如,从图1的聊天记录中提取出来的“合同”、“洽谈”、“条款”、“签字”在词典中定义为从属于同一个语义概念,则可以将这些关键词的出现次数均累加到该语义概念的出现次数。
进而,步骤S3中根据从聚合文本段当中提取出来的每一个语义概念及其出现次数,对该聚合文本段进行向量化,生成表征该聚合文本段的语义特征向量。假设字典中定义了n个语义概念,将每个语义概念作为一个坐标轴,从而形成了n维坐标系,从聚合文本段当中提取出来的每个语义概念的出现次数值(聚合文本段当中没有提取出来的语义概念的出现次数值为0)作为在该语义概念对应坐标轴上的坐标值,从而将聚合文本段D表征为一个n维向量:
VD={w1,w2,...wk,...wn}
其中VD表示聚合文本段D的语义特征向量,w1,w2,...wk,...wn表示该向量在每个坐标轴上的坐标值(也即在每个坐标轴相应的语义概念上的出现次数值)。
步骤S3中,在以所述语义特征向量表征每个聚合文本段的基础上,基于语义特征向量实现聚合文本段的再划分处理,形成具有语义特征属性的再划分文本段。对于两个聚合文本段D1和D2,以各自的语义特征向量VD1,VD2之间的夹角余弦值来表征二者的相近程度,如下式所示:
其中sim(D1,D2)表示聚合文本段D1与D2的相近程度量化指标。
在相近程度量化指标的基础上,对聚合文本段实现再划分处理。具体来说,在两个聚合文本段在消息记录中的时间间隔不超过预定时间范围(例如间隔不超过一周、间隔不超过30天等)的前提下,如果二者的相近程度量化指标在预定的相似阈值以上,则将这两个聚合文本段合并为同一个聚合文本段,并重新统计语义概念的出现次数以及重新计算合并后的语义特征向量;然后该聚合文本段继续参与与其它聚合文本段的再划分,直至剩余的所有聚合文本段均不能满足合并的条件,则结束再划分的过程。
对于再划分处理之后的每一个聚合文本段,作为最终的再划分文本段,根据从中提取出来的语义概念及其出现次数,选取出现次数排名前若干位的语义概念作为该聚合文本段的语义特征属性。
步骤S4中,根据用户对具有不同语义特征属性的再划分文本段的兴趣响应特征,确定过滤条件。
在步骤S4中,首先,将再划分文本段重新对应到消息记录中组成该文本段的各条消息;然后,在组成该再划分文本段的全部消息当中统计用户的兴趣响应特征;用户的兴趣响应特征可以采用组成该再划分文本段的全部消息当中该用户发送消息条目的占比或者用户发送消息文本量的占比来表征;在即时通讯聊天过程中,如果由用户一侧发出的消息多,或者用户一侧发送消息的文本量大,则可以认为该用户对这些消息相关的话题(以聚合文本段的语义特征属性表示)更感兴趣,因此才会较多的发言;相反,如果主要是联系对象发言,则很大可能表明用户对这些消息相关话题的兴趣不大,甚至是被动接受联系对象发来的消息而没有或极少回复。
当对于某个再划分文本段,用户的兴趣响应特征高于兴趣判定阈值时,则将该再划分文本段定义为感兴趣文本段,将感兴趣文本段的语义特征向量和语义特征属性作为过滤条件。
步骤S5,基于过滤条件对用户实时收到的消息以及在消息记录中保存的消息执行过滤。
对消息记录执行的过滤过程如下详细介绍。利用以上过滤条件,首先进行对消息记录中的其它再划分文本段的过滤过程;对于其它再划分文本段,如果与感兴趣文本段的相近程度(如前文所述,利用语义特征向量进行相近程度量化指标的计算)在预定的过滤阈值以下,则将该再划分文本段作为过滤对象,从消息记录中将其对应的消息过滤掉。接着,对于保留下来的再划分文本段,利用感兴趣文本段的语义特征属性,判断这些再划分文本段对应的每条消息中是否含有作为该语义特征属性的语义概念之下的关键词,保留含有作为该语义特征属性的语义概念之下的关键词的消息,而将不含有这些关键词的消息作为过滤对象,从消息记录中过滤掉。
基于过滤条件对用户实时收到的消息进行过滤的过程中,则可以判断实时接受到的消息中是否含有作为感兴趣文本段的语义特征属性的语义概念之下的关键词,如果不含有这些关键词,就可以将该实时收到的消息作为过滤对象,例如不对用户进行提示等。
如图4所示,本申请进而提供了一种实现自适应消息过滤的即时通讯系统,包括:
通讯模块401,用于基于网络通讯协议实现用户与联系对象之间的消息的收发传输;
消息记录模块402,用于按时间顺序逐条保存在用户与联系对象之间收发的消息,生成消息记录;
消息记录处理模块403,针对即时通讯过程中用户收发的消息记录,进行初步的文本化和格式转换;
消息记录聚合模块404,用于根据表征每条消息的时间区间的指标,对消息记录进行聚合,生成聚合文本段;
语义分析与文本段处理模块405,根据聚合文本段的关键词,生成语义特征向量,并基于各聚合文本段的语义特征向量的相似性,实现聚合文本段的再划分处理,形成具有语义特征属性的再划分文本段;
用户兴趣判定模块406,用于根据用户对具有不同语义特征属性的再划分文本段的兴趣响应特征,确定过滤条件;
过滤模块407,用于基于过滤条件,对用户实时收到的消息以及在消息记录中保存的消息执行过滤;
显示模块408,用于针对实时收到的或者在消息记录中保存的消息,根据所述过滤模块的过滤结果,只对用户显示未被过滤的消息。
其中,消息记录聚合模块404如图5所示,具体包括:间隔时长计算子模块404A,用于在对用户与某个联系对象的消息记录中时间上相邻的每两条消息计算消息间隔时长T1,T2,......Tk,......Tn;间隔阈值自适应判定子模块404B,用于自适应地确定一间隔阈值T,从而将各消息间隔时长T1,T2,......Tk,......Tn按照相对于该间隔阈值T的大小而划分到第一消息间隔时长集合G1和第二消息间隔时长集合G2;该间隔阈值T的取值使得该第一消息间隔时长集合G1中全部消息间隔时长的均值TG1与第二消息间隔时长集合G2中全部消息间隔时长的均值TG2二者差值绝对值|TG1-TG2|达到最大化;消息组划分子模块404C,用于将每两条消息的消息间隔时长T1,T2,......Tk,......Tn逐一与所确定的间隔阈值T进行比较,当Tk≤T时,则将以Tk为间隔的两条消息划分至同一个消息组;反之当Tk>T时,则将以Tk为间隔的两条消息划分至不同的消息组;文本聚合子模块404D,用于将每个消息组中的各条消息的文本合并在一起,形成所述聚合文本段。
语义分析与文本段处理模块405如图6所示,具体包括:关键词提取统计子模块405A,用于从聚合文本段当中提取关键词,并统计每个关键词在该聚合文本段中的出现次数;语义特征向量生成子模块405B,用于将从聚合文本段中提取出来的关键词的出现次数累计至该关键词所从属于的语义概念的出现次数;根据每一个语义概念及其出现次数,对该聚合文本段进行向量化,生成表征该聚合文本段的语义特征向量VD={w1,w2,...wk,...wn},其中VD表示聚合文本段D的语义特征向量,w1,w2,...wk,...wn表示该向量在每个坐标轴上的坐标值,也即在每个坐标轴相应的语义概念上的出现次数值;相近量化子模块405C,用于对两个聚合文本段,以二者各自的语义特征向量之间的夹角余弦值作为相近程度量化指标;再划分子模块405D,用于在两个聚合文本段在消息记录中的时间间隔不超过预定时间范围的前提下,如果二者的相近程度量化指标在预定的相似阈值以上,则将这两个聚合文本段合并为同一个聚合文本段,并重新统计语义概念的出现次数以及重新计算合并后的语义特征向量;然后该聚合文本段继续参与与其它聚合文本段的再划分,直至剩余的所有聚合文本段均不能满足合并的条件,则结束再划分的过程,再划分处理之后的每一个聚合文本段作为最终的再划分文本段。
用户兴趣判定模块406如图7所示,具体包括:文本段与消息映射子模块406A,用于将再划分文本段重新对应到消息记录中组成该文本段的各条消息;用户兴趣统计子模块406B,用于在组成该再划分文本段的全部消息当中统计用户的兴趣响应特征;用户的兴趣响应特征采用组成该再划分文本段的全部消息当中该用户发送消息条目的占比或者用户发送消息文本量的占比来表征。
可见,本发明对即时通讯聊天过程中产生的消息,以执行多层次、多依据的聚合为基础,实现了对消息语义特征的准确提取和对用户兴趣的有效统计判断;在此基础上,依据语义特征属性和语义特征向量,形成自适应性的过滤条件匹;该过滤条件匹配用户的关注兴趣,不仅对于垃圾消息和反复接收的消息能够有效过滤,而且能够在正常聊天过程中有用消息和无用消息互为上下文的情形下实现良好的过滤效果,避免了单纯依靠关键词匹配和消息源分类进行过滤产生的弊端。
以上实施例仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。