1.一种微博用户位置的推测方法,所述的微博用户位置是指微博用户长期所在的省或市一级的地理位置;该方法包括:位置特征词汇学习过程和微博用户位置推测过程两个部分;所述的位置特征词汇是指代表省或市一级的地理位置显著特征或特色的词汇,其特征在于:所述的位置特征词汇学习过程包括:
首先,采集那些已经填写具体所在位置信息的用户微博语料;
其次,对采集的微博语料进行分词并且提取文本中的名词;
最后,利用基于特征提取方法从名词中提取位置特征词汇并计算其中每个位置特征词汇相应的权值,根据权值从大到小选择词汇,每个位置选取若干个位置特征词汇;
所述的微博用户位置推测过程包括:
步骤1.获取待推测用户发布的微博和其互粉好友位置信息作为输入;
步骤2.利用地理词汇对用户发布的微博和互粉好友位置信息分别进行地理词汇提取得到用户微博地理词汇集和其互粉好友地理词汇集;所述的地理词汇包括位置特征词汇和地名字典;
步骤3.计算用户微博地理词汇集中地理词汇代表位置相应的权值,并得到用户微博位置集,该位置集包含位置词汇及其权值的二元组集合;
步骤4.计算用户互粉好友理词汇集中地理词汇代表位置相应的权值,并得到互粉好友位置集;
步骤5.对用户微博位置集和互粉好友位置集中位置词汇权值进行加权相加,将权值最高的位置词汇作为用户的推测位置输出。
2.根据权利要求1所述的一种微博用户位置的推测方法,其特征在于:所述的采集那些已经填写具体所在位置信息的用户微博语料中:所述填写具体所在位置信息的用户是指所在地条目中填写了具体的地区信息的用户;
所述的微博语料是指用户发布的原创微博文本和用户转发微博时做出的评论,不包括用户转发的原始微博;所采集到的微博语料指已经填写具体位置信息的每一位用户最近发布的微博。
3.根据权利要求1所述的一种微博用户位置的推测方法,其特征在于:所述的对采集的微博语料进行分词并且提取文本中的名词中:对微博语料进行分词是指对微博语料中的文本信息进行分词,不包括图标、英文或数字;该分词是进行带词性标注的分词。
4.根据权利要求1所述的一种微博用户位置的推测方法,其特征在于:所述的利用基于特征提取方法从名词中提取位置特征词汇并计算其中每个位置特征词汇相应的权值具体是:A.词频归一化计算
根据用户资料中已经填写的所在地信息g,把同一个省或市的用户所发的微博文本信息作为一个语料库;词条n 的词频等于词条n 在语料中出现的次数除以语料库中所有词条出现次数的总和;然后对词频归一化进行归一化处理:词条n的归一化词频tfg,n=Ng(n)/Ng,这里Ng(n)表示词条n 在此语料库中出现的次数,Ng表示此语料库中所有词条出现次数的总和;
B.基于相同位置的正向词频计算
根据用户资料已经填写的所在地信息g,把同一个省或市的用户所发的微博文本信息作为一个语料库;其中每个用户所发的微博文本作为一个文件;词条n基于相同位置的正向词频=该语料库中提到词条n的用户数/该语料库中的总用户数,即dfg,n= Ug(n)/|Ug|,其中Ug(n)是包含词条n的文件个数,即提到词条n的用户个数,|Ug| 所在地信息为g 的用户个数;
C.基于不同位置的逆向词频计算
根据用户资料所在地信息g,把同一个省或市的用户所发的微博文本信息作为一个语料库;统计包含词条n 的语料库个数NLg(n),即提到词条n的位置个数;统计语料库个数|G|,即为位置总个数;那么词条n 的基于不同位置的逆向词频idfg,n=log[|G|/(1+NLg(n))];
D.计算词汇权值,提取位置特征词汇集
词条TFDFIDF 值=词频×基于相同位置的正向词频×基于不同位置的逆向词频,即 ;这里所述的提取位置特征词汇集就是根据每个位置的词汇权值从大到小选取的位置特征词汇组成的集合,每个位置至少选取5个位置特征词汇;
提取地理词汇的权值计算公式:
这里G 是地名词典词汇集,L 是位置特征词汇集,Lg={ l | l 是一个位置特征词汇, 同时l代表位置 g}; 是一个参数,参数取值要保证所选取的位置特征词汇的平均权值大于2.0;位置特征词汇TFDFIDF 权值tfdfidfg,n 乘以 取对数得到位置特征词汇权值weightg(n)。
5.根据权利要求1所述的一种微博用户位置的推测方法,其特征在于:步骤1中所述的获取待推测用户发布的微博是指用户发布的原创微博和用户转发微博时做出的评论,不包括用户转发的原始微博;用户发布的微博选取的是用户最近发布的微博,取1000条以内;
所述的互粉好友指既是待推测用户的粉丝也是待推测用户的关注对象;所述的获取待推测用户的互粉好友位置信息指获取用户互粉好友资料中所在地项目填写的位置信息。
6.根据权利要求1所述的一种微博用户位置的推测方法,其特征在于:步骤2中所述的地名词典指中华人民共和国行政区域划分地名词典,省份级别地名词典中的位置词汇包括省份、直辖市、自治区和特别行政区;城市级别地名词典中的位置词汇包括地级市、直辖市和特别行政区;所述的微博用户地理词汇集指从用户发布的微博中提取得到的地理词汇集;所述的互粉好友地理词汇集指从用户互粉好友位置信息中提取得到的地理词汇集。
7.根据权利要求1所述的一种微博用户位置的推测方法,其特征在于:步骤3中计算用户微博地理词汇集中地理词汇的权值,具体如下:①按频率从大到小从用户微博地理词汇集中选取一个地理词汇geo ;
②计算地理词汇geo总权值,地理词汇geo总权值=地理位置集中地理词汇geo出现次数×根据地理词汇权值计算公式得到地理词汇geo 权值;
③判断地理词汇geo所属的位置,如果该地理词汇属于地名词典词汇则该地理词汇本身就是位置词汇,如果该地理词汇不属于地名词典而属于位置特征词汇,则根据位置特征词汇对应原则找到相应的位置词汇;
④把该地理词汇的总权值加到所属位置权值中,这里位置权值即为该位置包含的所有地理词汇的总权值之和;
⑤判断该地理词汇是否地理词汇集中的最后一个地理词汇,如果是最后一个地理词汇则执行第 步,否则执行第 步;
⑥用户微博位置集及其相应权值作为输出。
8.根据权利要求1所述的一种微博用户位置的推测方法,其特征在于:步骤4中计算用户互粉好友地理词汇集中地理词汇词的权值,具体如下:①按频率大小从用户互粉好友地理词汇集中选取一个地理词汇geo ;
②计算地理词汇geo 总权值,地理词汇geo总权值=地理词汇geo 出现次数*地理词汇geo 权值;
③判断地理词汇geo所属的位置,如果该地理词汇属于地名词典词汇则该地理词汇本身就是位置词汇,如果该地理词汇不属于地名词典而属于位置特征词汇,则根据位置特征词汇对应原则找到相应的位置词汇;
④把该地理词汇的总权值加到所属位置权值中,位置权值即为该位置包含的所有地理词汇的总权值之和;
⑤判断该地理词汇是否地理词汇集中的最后一个地理词汇,如果是最后一个地理词汇则执行第 步,否则执行第 步;
⑥用户互粉好友位置集及其相应权值作为输出。
9.根据权利要求1所述的一种微博用户位置的推测方法,其特征在于:步骤(5)对用户微博位置集和互粉好友位置集中位置词汇权值进行加权相加,将权值最高的位置词汇作为用户的推测位置输出,具体如下:
5-1.用户互粉好友位置集和用户微博位置集输入;
5-2.获取用户互粉好友位置集和用户微博位置集并集;
5-3.设置初始值变量MAX为0,MAXLocation为空;
5-4.从并集中根据权值从大到小选取位置词汇;
5-5.如果位置词汇在用户互粉好友位置集中存在该位置词汇,那么执行第5-6步,否则执行第5-7步;
5-6.查找用户互粉好友位置集中该位置词汇的权值,执行第5-8步;
5-7.设置该位置词汇在互粉好友位置集中的权值为零;
5-8.如果位置词汇在用户微博位置集中存在该位置词汇,则执行第5-9步,否则执行第5-10步;
5-9.查找用户微博位置集中该位置词汇的权值,执行第5-11步;
5-10.设置该位置词汇在微博位置集中的权值为零;
5-11.将用户互粉好友位置集中位该置词汇权值和用户微博位置集中该位置词汇权值加权相加,得到该位置词汇及其相加后总的权值;
5-12.如果该位置词汇的总权值大于MAX,则执行第5-13步,否则执行第5-14步;
5-13.把该位置词汇总权值存入MAX,把该位置词汇存入MAXLocation;
5-14.判断该位置词汇是否为最后一个位置词汇,如果是,则执行第5-15步,否则执行第5-14步;
5-15.MAXLocation中所存的位置词汇作为该用户的推测位置输出。