依据消息内容确定通信对象属性的方法及装置的制作方法

文档序号:7629371阅读:205来源:国知局
专利名称:依据消息内容确定通信对象属性的方法及装置的制作方法
技术领域
本发明涉及通信及计算机技术领域,尤其涉及在即时通信中根据消息内容确定通信对象属性的方法及装置。
背景技术
随着计算机网络的迅速发展,各种可以满足不同人员需要的服务能够依附其上,这些服务可以非常明显的提高人们的生活水平,而且这种服务方式也被越来越多的人所接受。
目前典型的如即时通信服务,用户通过即时信息(Instant Message,IM)系统可以进行实时通信。IM系统区别于其它信息系统的是在IM系统中所有的消息都是即时传达于通信的对方。随着服务对象的大量增加,运营商也需要推出个性化的服务,针对不同属性的对象的差异提供不同的服务,如针对男性和女性发放不同的广告内容等;而且对于熟悉的通信对象,即时通信的双方也可能希望知道对方的真实性别。而目前运营商采用登记的方式向用户收集用户信息,尤其是用户的性别信息,在提供服务时仅依靠这些信息做出判断,而这些信息是否真实却无法通过网络信息进行考证,其准确性不高。因此,要提供差异化服务,如何比较准确的判断通信用户属性,尤其是男、女性别成为急等解决的问题。

发明内容
本发明提供一种根据消息内容确定通信对象属性的方法及装置,以解决现有技术仅能够依据登记方式收集通信对象的属性信息而存准确性不高的问题。
本发明提供以下技术方案一种根据消息内容确定通信对象属性的方法,应用于即时通信系统中;所述属性包括具有正负特性的第一属性和第二属性,并且所述对象仅具有其中一种属性;该方法包括如下步骤A、从待确定属性的通信对象所发送的即时消息内容中分解出词语;B、将分解出的各词语分别与词语库中的记录进行匹配,该词语库分别从具有第一属性的对象和具有第二属性的对象所发送的样本消息记录中学习词语形成,并且词语库中的每条记录包含一个词语,以及具有第一属性的对象和具有第二属性的对象分别使用该词语的消息记录个数;C、根据匹配成功的各词语被具有第一属性的对象所使用的样本消息记录的个数和对应的总样本消息记录个数,以及被具有第二属性的对象所使用的样本消息记录个数和对应的总样本消息记录个数,计算出使用各词语的对象具有第一属性或第二属性的概率;D、根据所述概率计算出所述通信对象具有该属性的概率值,将该概率值与对应的阈值进行比较,若大于该阈值,则确定所述通信对象具有该属性,否则确定所述通信对象具有另一属性。
其中所述词语库中的记录按词语的Unicode码顺序排序。
所述词语库包括一个用于索引的哈希表,每个哈希值为数组中一个元素的下标并对应一个Unicode码的内码,所述数组元素保存以该Unicode字符开头的词语在词语库中出现的起始位置,在匹配词语时通过该词语中第一个字的Unicode码快速定位到所述起始位置。
步骤C和步骤D中,利用贝叶斯算法计算所述概率。
所述第一属性为男性属性,所述第二属性为女性属性。
一种依据消息内容确定通信对象属性的方法,应用于即时通信系统中,所述属性包括具有正负特性的第一属性和第二属性,并且所述对象仅具有其中一种属性;该方法包括如下步骤A、从待确定属性的通信对象所发送的即时消息内容中分解出词语;
B、将分解出的各词语分别与词语库中的记录进行匹配,该词语库分别从具有第一属性的对象和具有第二属性的对象所发送的样本消息记录中分解并学习词语形成,并且词语库中的每条记录包含一个词语,以及具有第一属性的对象和具有第二属性的对象分别使用该词语的消息记录个数;C、根据匹配成功的各词语被具有第一属性的对象所使用的样本消息记录的个数和对应的总样本消息记录个数,以及被具有第二属性的对象所使用的样本消息记录个数和对应的总样本消息记录个数,计算出使用各词语的对象具有第一属性和第二属性的概率;D、根据所述概率计算出所述通信对象具有第一属性和第二属性的概率值,若具有第一属性的概率值大于具有第二属性的概率值,则确定所述通信对象具有第一属性,否则,确定所述通信对象具有第二属性。
一种识别通信对象属性的装置,所述属性包括具有正负特性的第一属性和第二属性,并且所述对象仅具有其中一种属性,该装置包括由多条记录组成并且每条记录包含一个词语,以及具有第一属性的对象和具有第二属性的对象分别使用该词语的消息记录个数的词语库;用于从待确定属性的通信对象所发送的即时消息内容中分解出词语的分词模块;用于将分解出的各词语分别与词语库中的记录进行匹配的匹配模块;用于根据匹配成功的各词语被具有第一属性的对象所使用的样本消息记录的个数和对应的总样本消息记录个数,以及被具有第二属性的对象所使用的样本消息记录个数和对应的总样本消息记录个数,计算出使用各词语的对象具有第一属性或/和第二属性概率,以及计算所述通信对象具有第一属性或/和的概率值的计算模块;将计算模块计算出的概率值与对应的阈值进行比较,或将具有第一属性的概率值与具有第二属性的概率值比较判断通信对象属性的判断模块。
所述装置还包括分别从具有第一属性的对象和具有第二属性的对象所发送的样本消息记录中学习词语形成所述词语库的学习模块。
本发明通过对IM通话记录进行分词,并利用贝叶斯判断法来对通信对象的属性,尤其是通信对象的性别做出可能性的判断,有助通信对象较为准确识别对方的身份,也有助于服务系统判别当前账号使用者的性别,利于广告的针对性投放,以及提供针对性的服务。


图1为本发明的装置结构示意图;图2为本发明通过即时消息内容确定通信对象性别的流程图;图3为本发明学习词语并建立贝叶斯词语库的流程图。
具体实施例方式
为了能够清楚的说明本发明的实现,首先对现有的中文分词技术和贝叶斯算法作简要描述。
词是中文中有意义的最小组成成分元素,中文分词就是把中文句中的组成元素分解开。现有的分词算法可分为三大类基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。
1、基于字符串匹配的分词方法这种方法又叫做机械分词方法,它是按照一定的策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。按照扫描方向的不同,串匹配分词方法可以分为正向匹配和逆向匹配;按照不同长度优先匹配的情况,可以分为最大(最长)匹配和最小(最短)匹配;按照是否与词性标注过程相结合,又可以分为单纯分词方法和分词与标注相结合的一体化方法。常用的几种机械分词方法如下(1)正向最大匹配法(由左到右的方向);(2)逆向最大匹配法(由右到左的方向);
(3)最少切分(使每一句中切出的词数最小)。
2、基于理解的分词方法这种分词方法是通过让计算机模拟人对句子的理解,达到识别词的效果。其基本思想就是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。这种分词方法需要使用大量的语言知识和信息。
3、基于统计的分词方法从形式上看,词是稳定的字的组合,因此在上下文中,相邻的字同时出现的次数越多,就越有可能构成一个词。因此字与字相邻共现的频率或概率能够较好的反映成词的可信度。可以对语料中相邻共现的各个字的组合的频度进行统计,计算它们的互现信息。定义两个字的互现信息,计算两个汉字X、Y的相邻共现概率。互现信息体现了汉字之间结合关系的紧密程度,当紧密程度高于某一个阈值时,便可认为此字组可能构成了一个词。这种方法只需对语料中的字组频度进行统计,不需要切分词典,因而又叫做无词典分词法或统计取词方法。实际应用的统计分词系统都要使用一部基本的分词词典(常用词词典)进行串匹配分词,同时使用统计方法识别一些新的词,即将串频统计和串匹配结合起来,既发挥匹配分词切分速度快、效率高的特点,又利用了无词典分词结合上下文识别生词、自动消除歧义的优点。
贝叶斯算法是基于统计学的一种方法,用于分辩样本的正负性。其原理是将已确定的正,负样本集一一分解成对应的一组特征向量,向量的元素为组成成分,通过对正负已确定样本的特征向量统计,会在某些元素成分上产生明显不同,称为显著性特征。则,对一未知样本,可以通过显著性特征来确定其偏向正负中的哪种样本,从而判断样本的正负性。
在即时通信,对于通信对象具有正负特性(或称排他性,即非此即彼的属性)并与通信内容具有关联性的第一属性和第二属性,本发明根据分析消息记录内容来判别发送该消息的通信对象是具有第一属性还是具有第二属性。如通信对象的性别,男性和女性的对话其语言表达是有明显区别的,显著体现于其习惯用词的不同。
以下主要以通信对象属性中的男女性别的判断为例对本发明进行说明。
参阅图1所示的,实现本发明的装置包括分词模块100、学习模块110、词语库120、匹配模块130、计算模块140和判断模块150。
分词模块100,用于从样本消息记录和通信过程中的对象所发送的即时消息内容中分解出有意义的词语。所述样本消息记录包括具有男性对象和女性对象所发送的消息记录,其数量足够多以保证其普遍性。分词方法从可以采用前述分词方法中的一种。
学习模块110,与分词模块100具有逻辑上的连接关系,用于将从样本消息记录中分解出的词语学习到所述词语库120中。学习词语时采用贝叶斯算法。
词语库120,由多条记录组成,其中每条记录包含一个词语,该词语的长度,该词语在样本消息记录中男性对象使用该词语的消息记录个数,以及在样本消息中女性使用该词语的消息记录个数。
匹配模块130,与分词模块100具有逻辑上的连接关系,将从待确定男性特或女性特征的消息记录中分解出的各词语分别与词语库120中的记录进行匹配。
计算模块140,用于根据匹配成功的各词语被男性对象所使用的样本消息记录的个数和对应的总样本消息记录个数,以及被女性对象所使用的样本消息记录个数和对应的总样本消息记录个数,计算出使用各词语的对象为男性或/和女性的概率;以及计算出通信对象为男性或/和女性的概率值。采用贝叶斯算法进行计算。
判断模块150,根据计算出的概率值判断通信对象的性别。判断的方式可以有以下两种方式A、如果计算模块140计算出通信对象为男性和女性的概率值,则可以直接将这个概率值比较,为男性的概率值大于为女性的概率值,则确定通信对象为男性,否则确定通信对象为女性。
B、如果计算模块140仅计算出男性或女性的概率值,则将计算出的概率值与对应的阈值进行比较,以判断通信对象的性别。即如果计算模块140计算出为男性的概率值,则与对应的为男性的阈值进行比较,若大于该阈值,则判断所述通信对象为男性,否则判断所述通信对象为女性。如果计算模块140计算出为女性的概率值,则与对应的为女性的阈值进行比较,若大于该阈值,则判断所述通信对象为女性,否则判断所述通信对象为男性。
参阅图2所示,通过即时消息内容确定通信对象性别的主要过程如下步骤200、采用贝叶斯算法学习收集的大量男性和女性的IM通讯消息记录中的词语,建立贝叶斯词语库。
步骤210、从待确定属性的通信对象发送的即时消息内容中分解出词语。
步骤220、将分解出的各词语分别与贝叶斯词语库中的记录进行匹配,若匹配成功则获取该词语在样本消息记录中男性对象使用该词语的消息记录个数,以及在样本消息中女性使用该词语的消息记录个数,若匹配不成功则放弃匹配该词语。
步骤230、根据匹配成功时获得的各词语被男性对象所使用的样本消息记录的个数和对应的总样本消息记录个数,以及被女性对象所使用的样本消息记录个数和对应的总样本消息记录个数,利用贝叶斯算法计算出使用各词语的对象为男性的概率(也可计算为女性的概率)。
利用贝叶斯算法的计算如下A事件为聊天通话记录为男性特征聊天通话记录,t1,t2...tn代表多个词语,则P(A|ti)表示当通话记录中出现词语ti时,该记录为男性特征通信的概率,P(A|ti)也可简称为词语ti的男性特征通话记录概率。
P(A|ti)=(MaleCount/MaleRecordCount)/((FemaleCount/FemaleRecordCount)+(MaleCount/MaleRecordCount))其中MaleCount为在男性样本消息记录中包含该词语的样本消息记录的数量,FemaleCount为在女性样本消息记录中包含该词语的样本消息记录的数量,MaleRecordCount为男性样本消息记录的总数量,MaleRecordCount为女性样本消息记录的总数量。
对于女性特征通信概率计算与上述同理。
步骤240、根据步骤230计算出的概率,利用贝叶斯算法计算所述通信对象为男性的概率值。
设步骤230计算出t1,t2...tn等词语的男性特征通话概率为P1,P2...Pn,P(A|t1,t2,t3......tn)表示在通话记录中同时出现多个词语t1,t2......tn时,该记录为男性特征通话的概率,则根据贝叶斯公式P(A|t1,t2,t3......tn)=(P1*P2*...Pn)/[P1*P2*...Pn+(1-P1)*(1-P2)*...(1-Pn)]可计算出通信对象为男性的概率值。
对通信对象为女性概率值的计算与此同理。
步骤250、将步骤240计算出的概率值P(A|t1,t2,t3......tn)与对应的阈值M进行比较,若大于该阈值M,则在步骤260确定所述通信对象为男性,否则,在步骤270确定所述通信对象为女性。
对于采用为男性的概率值与为女性的概率值进行比较的处理过程,在上述步骤240和步骤250有所不,即在步骤240分别计算出为男性和为女性的概率值;在步骤250直接比较两个概率值的大小来确定通信对象的性别。
参阅图3所示,学习词语并建立贝叶斯词语库的主要过程如下步骤300、收集大量男女性别的通信对象的IM通信消息记录作为样本消息记录,建立男性样本消息记录库和女性样本消息记录库。
步骤310、对各样本消息记录作分词处理,将样本消息记录分解成元素(向量组),向量组的每一个单元都是一个有意义的词语。
步骤320、利用每个词语在词语库中查找记录,如果该词语不存在,则进行步骤340,如果存在,则进行步骤330。
步骤330、根据该词语是从男性IM通信消息记录中提取还是从女性IM通信消息记录中提取,更新对应的统计量。
步骤340、在相应位置插入一条记录,并且,如果本记录的词语是从男性IM通信消息记录中提取,则该记录中的MaleCount增加1,如果是从女性IM通信消息记录中提取,则该记录中的FemaleCount增加1。
词语库中的词按Unicode码顺序排列。记录中包含的信息为词语长度(WordLength),词语(Word),包含本词语的男性IM通信消息记录的数量MaleCount,包含本词语的女性IM通信消息记录的数量FemaleCount。
为了更快地在词语库中查找到词语,建立一个用于索引的哈希表。哈希表为65536个整数的数组,对应了全部的Unicode字符空间,对于中文来说一个Unicode字符就是一个汉字。哈希表中的每个哈希值对应一个Unicode字符内码,并将其作为数组元素的下标,该数组元素保存以该Unicode字符开头的词语在词语库中的起始位置。当要查找某个词语时,只需要按该词语第一个汉字的Unicode内码定位到哈希表中相应位置的数组元素,并得其中保存的起始位置,然后在词语库中定位到这个位置便可以很快查找到词语的记录。
下面以一具体实例进行说明例如在即时通信过程中,用户A从未知性别的用户B接收到消息记录“西西,为什么这样说呀?”1、分词模块将其分解为四个单语“西西”,“为什么”,“这样”,“说”;2、查找贝叶斯样本库,得到如下结果“西西”男样本出现1次,女样本出现500次;“为什么”男样本出现30次,女样本出现200次;“这样”男样本出现100次,女样本出现90次;
“说”男样本出现150次,女样本出现145次;男样本总数2000个,女样本总数1500个。
3、计算概率(男性概率)“西西”P=1/2000/(1/2000+500/1500)=0.1%;“为什么”P=30/2000/(30/2000+200/1500)=10.1%;“这样”P=100/2000/(100/2000+90/1500)=45.5%;“说”P=150/2000/(150/2000+145/1500)=43.6%4、计算男性贝叶斯概率为0.1*10.1*45.5*43.6/(0.1*10.1*45.5*43.6+(100-0.1)*(100-10.1)*(100-45.5)*(100-43.6))=0.007%。
计算出99.9*89.9*54.5*56.4/说(99.9*89.9*54.5*56.4+0.1*10.1*45.5*43.6)=99.9%5、判断为女性的贝叶斯概率大于为男性的贝叶斯概率,因此,确定该语句出自女性。
如果采用阈值判断,若判断男性的阈值设置为70%,为男性的贝叶斯概率值小于该阈值,因此确定为女性。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种依据消息内容确定通信对象属性的方法,应用于即时通信系统中,所述属性包括具有正负特性的第一属性和第二属性,并且所述对象仅具有其中一种属性;该方法包括如下步骤A、从待确定属性的通信对象所发送的即时消息内容中分解出词语;B、将分解出的各词语分别与词语库中的记录进行匹配,该词语库分别从具有第一属性的对象和具有第二属性的对象所发送的样本消息记录中分解并学习词语形成,并且词语库中的每条记录包含一个词语,以及具有第一属性的对象和具有第二属性的对象分别使用该词语的消息记录个数;C、根据匹配成功的各词语被具有第一属性的对象所使用的样本消息记录的个数和对应的总样本消息记录个数,以及被具有第二属性的对象所使用的样本消息记录个数和对应的总样本消息记录个数,计算出使用各词语的对象具有第一属性或第二属性的概率;D、根据所述概率计算出所述通信对象具有该属性的概率值,将该概率值与对应的阈值进行比较,若大于该阈值,则确定所述通信对象具有该属性,否则确定所述通信对象具有另一属性。
2.如权利要求1所述的方法,其特征在于,所述词语库中的记录按词语的Unicode码顺序排序。
3.如权利要求2所述的方法,其特征在于,所述词语库包括一个用于索引的哈希表,每个哈希值为数组中一个元素的下标并对应一个Unicode码的内码,所述数组元素保存以该Unicode字符开头的词语在词语库中出现的起始位置,在匹配词语时通过该词语中第一个字的Unicode码快速定位到所述起始位置。
4.如权利要求1、2或3所述的方法,其特征在于,对从样本消息记录中分解出的词语进行贝叶斯学习并形成贝叶斯词语库。
5.如权利要求4所述的方法,其特征在于,形成词语库的步骤如下收集预定数量的具有第一属性的通信对象的IM通信消息记录和具有第二属性的通信对象的IM通信消息记录作为样本消息记录;对各样本消息记录作分词处理;利用每个词语在词语库中查找记录,如果该词语不存在,则在词语库中追回记录,并更新记录中对应的消息记录数。
6.如权利要求4所述的方法,其特征在于,步骤C和步骤D中,利用贝叶斯算法计算所述概率。
7.如权利要求4所述的方法,其特征在于,所述第一属性为男性属性,所述第二属性为女性属性。
8.一种依据消息内容确定通信对象属性的方法,应用于即时通信系统中,所述属性包括具有正负特性的第一属性和第二属性,并且所述对象仅具有其中一种属性;该方法包括如下步骤A、从待确定属性的通信对象所发送的即时消息内容中分解出词语;B、将分解出的各词语分别与词语库中的记录进行匹配,该词语库分别从具有第一属性的对象和具有第二属性的对象所发送的样本消息记录中分解并学习词语形成,并且词语库中的每条记录包含一个词语,以及具有第一属性的对象和具有第二属性的对象分别使用该词语的消息记录个数;C、根据匹配成功的各词语被具有第一属性的对象所使用的样本消息记录的个数和对应的总样本消息记录个数,以及被具有第二属性的对象所使用的样本消息记录个数和对应的总样本消息记录个数,计算出使用各词语的对象具有第一属性和第二属性的概率;D、根据所述概率计算出所述通信对象具有第一属性和第二属性的概率值,若具有第一属性的概率值大于具有第二属性的概率值,则确定所述通信对象具有第一属性,否则,确定所述通信对象具有第二属性。
9.如权利要求8所述的方法,其特征在于,所述词语库中的记录按词语的Unicode码顺序排序。
10.如权利要求9所述的方法,其特征在于,所述词语库包括一个用于索引的哈希表,每个哈希值为数组中一个元素的下标并对应一个Unicode码的内码,所述数组元素保存以该Unicode字符开头的词语在词语库中出现的起始位置,在匹配词语时通过该词语中第一个字的Unicode码快速定位到所述起始位置。
11.如权利要求8、9或10所述的方法,其特征在于,对从样本消息记录中分解出的词语进行贝叶斯学习并形成贝叶斯词语库。
12.如权利要求11所述的方法,其特征在于,形成词语库的步骤如下收集预定数量的具有第一属性的通信对象的IM通信消息记录和具有第二属性的通信对象的IM通信消息记录作为样本消息记录;对各样本消息记录作分词处理;利用每个词语在词语库中查找记录,如果该词语不存在,则在词语库中追回记录,并更新记录中对应的消息记录数。
13.如权利要求11所述的方法,其特征在于,步骤C和步骤D中,利用贝叶斯算法计算所述概率。
14.如权利要求11所述的方法,其特征在于,所述第一属性为男性属性,所述第二属性为女性属性。
15.一种识别通信对象属性的装置,所述属性包括具有正负特性的第一属性和第二属性,并且所述对象仅具有其中一种属性,其特征在于,该装置包括由多条记录组成并且每条记录包含一个词语,以及具有第一属性的对象和具有第二属性的对象分别使用该词语的消息记录个数的词语库;用于从待确定属性的通信对象所发送的即时消息内容中分解出词语的分词模块;用于将分解出的各词语分别与词语库中的记录进行匹配的匹配模块;用于根据匹配成功的各词语被具有第一属性的对象所使用的样本消息记录的个数和对应的总样本消息记录个数,以及被具有第二属性的对象所使用的样本消息记录个数和对应的总样本消息记录个数,计算出使用各词语的对象具有第一属性或/和第二属性概率,以及计算所述通信对象具有第一属性或/和的概率值的计算模块;将计算模块计算出的概率值与对应的阈值进行比较,或将具有第一属性的概率值与具有第二属性的概率值比较判断通信对象属性的判断模块。
16.如权利要求15所述的装置,其特征在于,该装置还包括分别从具有第一属性的对象和具有第二属性的对象所发送的样本消息记录中学习词语形成所述词语库的学习模块。
17.如权利要求15所述的装置,其特征在于,所述第一属性为男性属性,所述第二属性为女性属性。
全文摘要
本发明公开了一种依据消息内容确定通信对象属性的方法,所述属性包括具有正负特性的第一属性和第二属性;该方法从待确定属性的通信对象所发送的即时消息内容中分解出词语;将分解出的各词语分别与词语库中的记录进行匹配,并根据匹配成功的各词语被具有第一属性的对象和第具有第二属性的对象所使用的样本消息记录的个数和对应的总样本消息记录个数,计算出使用各词语的对象具有第一属性或第二属性的概率;根据所述概率计算出所述通信对象具有该属性的概率值,将该概率值与对应的阈值进行比较,若大于该阈值,则确定所述通信对象具有该属性,否则确定所述通信对象具有另一属性。本发明还同时公开了一种识别通信对象属性的装置。
文档编号H04L29/00GK1987852SQ20051013241
公开日2007年6月27日 申请日期2005年12月21日 优先权日2005年12月21日
发明者张小龙 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1