1.一种基于情感倾向分析的社交用户生成方法,其特征在于,该方法具体是:步骤(1).以微博内容为基础,采用聚类算法构建语义本体;
步骤(2).获取用户的微博内容并进行预处理,进行情感分类,得到带有情感倾向标记的微博信息;具体是:
(2.1).获取用户微博和关系数据,使用正则化匹配去除标点符号;
(2.2).构建N×P的用户数据矩阵DM,N为用户的数量,P为用户的属性个数,数据矩阵DM的行向量是un=(unb1,unb2,...,unbP),数据矩阵DM的列向量是bp=(u1bp,u2bp,...,unbP),unbp表示第n行第p个微博推文属性,n=1,2,...,N,p=1,2,...,P;
(2.3).将微博推文属性unbp利用情感分析工具进行情感分析,得到情感分数δ;
(2.4).在每条微博后加上情感标志位E,E=‑1,0,1,分别表示消极、无感和积极;δ<δ1时E=‑1,δ1≤δ<δ2时E=0,δ≥δ2时E=1;δ1和δ2为两个划分点,δ2>δ1;
步骤(3).将带有情感倾向标记的微博信息进一步处理,得到词袋模型;具体是:(3.1).获取用户数据矩阵DM,包括具有情感标志位的推文属性;
(3.2).在(2.1)的基础上过滤掉特殊字符,对文本进行统一化大小写处理;
(3.3).使用中文文本分词工具对微博推文进行分词,得到词袋,标注词性;
(3.4).依照中英文停用词表过滤词袋中的停用词;
(3.5).按照词性过滤非动词和非名词,得到词袋模型BM(T)=[bm1,bm2,...,bmK];其中,K为词袋模型中词的个数,bmk表示词袋模型中第k个词,k=1,2,...,K;
步骤(4).提取词袋模型的词,利用语义本体获取类别信息;具体是:(4.1).在语义本体中查找与bm等价的语义本体bo,bm∈BM(T);若查找到,则词bm即为bo;
(4.2).如果在语义本体bo的语义本体描述中存在词bm,则将词bm替换为语义本体bo的名称;
(4.3).如果词bm多次出现,则是多义词,结合关键词矩阵M和上下文语境消除歧义性;
(4.4).将消歧后的词bm按照(4.2)进行替换;
(4.5).如果没有在语义本体bo中找到词bm,在词袋中删除;
(4.6).重复执行(4.1)~(4.5),遍历词袋模型,得到子类别集合O(T)=[bo1,bo2,...,boL],其中L是微博中语义本体bo的名称个数,bol表示第l个语义本体,l=1,2,...,L;
(4.7).将用户数据矩阵DM的微博推文属性unbp替换为子类别集合O(T)和情感标志位E,表示如下:unbp=[O1(T)E1,O2(T)E2,...,OR(T)ER],R为微博个数;
步骤(5).采用投票策略统计带有情感标记的类别信息,添加二级标签,得到最终标签;
具体是:
(5.1).对于语义本体bol,如果存在于其父类的语义列表中,将其父类语义名称以键的形式存入标签字典,初始化值为1;如果键已存在,值自增1;
(5.2).重复执行(5.1),遍历第r个微博子类别集合Or(T),r=1,2,...,R,得到微博标签字典Dictr[Tag];
(5.3).将微博标签字典的值排序,取排名靠前的标签集合sortTag={Tag1,Tag2,...,TagS};S为自定义标签个数,Tags表示第s个标签本体,s=1,2,...,S;
(5.4).将sortTag在微博标签字典Dictr[Tag]中的值与对应的情感标志位E相乘,与属于相同语义本体的值相加,得到某一领域最终的情感倾向权值(5.5).将情感倾向权值作为二级标签,与sortTag结合得到用户的标签集合H(h1,h2,...,hS);其中,hs=TagsWeights,s=1,2,...,S;
(5.6).将数据矩阵DM的属性unbp替换为集合H;
步骤(6).将人口统计信息映射到相应的标签中,构造网络图;具体是:(6.1).根据用户数据矩阵DM的行向量un,将用户的基本资料映射到标签信息上;
(6.2).对于每一个省、市和地区,构建情感网络图和标签网络图,以不同性别下年龄段和类别为情感网络图和标签网络图的图节点,图节点间的边代表该年龄段和性别属于该类别;
(6.3).将该省、市和地区对应的人口统计信息映射到微博属性unbp的集合H中;
如果情感网络图中对应的图节点间未有边相连,把该用户的标签情感权值Weightem作为边的权值,否则将权值Weightem与边的权值相加,更新为新的权值;
如果标签网络图中对应的图节点间未有边相连,把图节点连接,初始化边的权值Weighttag=1,否则边的权值自增1,更新为新的权值;
(6.4).遍历用户数据矩阵DM,得到最终的基于城市的情感网络图 和标签网络图步骤(7).根据网络图节点间的边权值大小生成用户;具体是:(7.1).将标签网络图 利用深度优先遍历,找到权值最大的边以及相应的顶点对Node(node1,node2);
(7.2).在情感网络图 利用深度优先遍历搜寻连结Node(node1,node2)的边权值,记为Emotion;
(7.3).将Node中的信息映射到姓名、性别和年龄字典,得到对应的姓名,当作用户名UName;
(7.4).将顶点对中的信息和用户名结合,顶点对的权值作为情感标志位,生成以地区为标准的虚拟用户:U(UName,Age,Area,Gender,Tag,Emotion);其中,Age表示年龄,Area表示地区,Gender表示性别,Tag表示标签,Emotion表示情感标志位。
2.如权利要求1所述的一种基于情感倾向分析的社交用户生成方法,其特征在于,步骤(1)具体是:
(1.1).爬取用户微博T、用户关系R和用户信息U到数据库中;
(1.2).对用户微博T使用正则表达式过滤特殊字符和字段,以及活跃度低的用户,将英文统一为小写;
(1.3).使用Word2Vec向量化微博T内容,得到以键值对形式表示的语料库文件;语料库文件中每一个词对应一个向量W=[w1,w2,...,wJ];其中,J是词向量的维数,wj表示第j维分量,j=1,2,...,J;
(1.4).遍历并提取语料库中的向量,得到I×J的关键词矩阵M,I表示关键词个数;
(1.5).利用聚类算法聚类关键词矩阵,得到聚类中心和类成员;
(1.6).采用方差分析判断类中心之间差异显著性,确定簇中心,构建语义本体;
(1.7).定义语义本体的存储结构,包括两层:第一层类别存储对应本体名称和语义本体列表,其中本体列表存储子类本体名称和对应的子类本体列表;第二层本体存储对应本体列表中存储自身的描述,采用关键词方式表示;
(1.8).筛选语义本体的子类中不符合或模糊界限的关键词,精炼语义本体。