首页 > 专利 > 杭州电子科技大学 > 一种基于情感倾向分析的社交用户生成方法专利详情

一种基于情感倾向分析的社交用户生成方法   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2020-08-31
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2021-01-01
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2022-04-22
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2040-08-31
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN202010895038.5 申请日 2020-08-31
公开/公告号 CN112084333B 公开/公告日 2022-04-22
授权日 2022-04-22 预估到期日 2040-08-31
申请年 2020年 公开/公告年 2022年
缴费截止日
分类号 G06F16/35G06F40/289G06F40/30G06K9/62G06Q50/00 主分类号 G06F16/35
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 1
权利要求数量 2 非专利引证数量 1
引用专利数量 0 被引证专利数量 0
非专利引证 1、CN 110347897 A,2019.10.18CN 109145301 A,2019.01.04CN 106547875 A,2017.03.29张舒等.基于NWD集成算法的多粒度微博用户兴趣画像构建《.广东工业大学学报》.2020,(第04期),;
引用专利 被引证专利
专利权维持 2 专利申请国编码 CN
专利事件 事务标签 公开、实质审查、授权
申请人信息
申请人 第一申请人
专利权人 杭州电子科技大学 当前专利权人 杭州电子科技大学
发明人 徐向华、胡杰、王然、李平 第一发明人 徐向华
地址 浙江省杭州市下沙高教园区2号大街 邮编 310018
申请人数量 1 发明人数量 4
申请人所在省 浙江省 申请人所在市 浙江省杭州市
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
杭州君度专利代理事务所 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
朱亚冠
摘要
本发明公开了一种基于情感倾向分析的社交用户生成方法。现有用户标签生成方法没有考虑用户对主题的情感倾向。本发明方法首先以微博内容为基础,采用聚类算法构建语义本体,获取用户的微博内容进行情感分类,将带有情感倾向标记的微博信息处理,得到词袋模型,提取词袋模型的词,利用语义本体获取类别信息,统计带有情感标记的类别信息,添加二级标签,得到最终标签,将人口统计信息映射到相应的标签中,构造网络图,根据网络图节点间的边权值大小半监督地生成用户。本发明方法解决了目前社交网络用户不能自动生成用户以及生成的用户标签不准确的问题,能够生成符合某一主题的社交用户,为后续的社会工程研究打下基础。
  • 摘要附图
    一种基于情感倾向分析的社交用户生成方法
  • 说明书附图:图1
    一种基于情感倾向分析的社交用户生成方法
  • 说明书附图:图2
    一种基于情感倾向分析的社交用户生成方法
  • 说明书附图:图3
    一种基于情感倾向分析的社交用户生成方法
  • 说明书附图:图4
    一种基于情感倾向分析的社交用户生成方法
  • 说明书附图:图5
    一种基于情感倾向分析的社交用户生成方法
  • 说明书附图:图6
    一种基于情感倾向分析的社交用户生成方法
  • 说明书附图:图7
    一种基于情感倾向分析的社交用户生成方法
  • 说明书附图:图8
    一种基于情感倾向分析的社交用户生成方法
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2022-04-22 授权
2 2021-01-01 实质审查的生效 IPC(主分类): G06F 16/35 专利申请号: 202010895038.5 申请日: 2020.08.31
3 2020-12-15 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
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).筛选语义本体的子类中不符合或模糊界限的关键词,精炼语义本体。
说明书

技术领域

[0001] 本发明涉及计算机应用与互联网技术领域,特别是涉及一种基于社交网络文本情感倾向分析的用户生成方法。

背景技术

[0002] 二十一世纪互联网技术得到飞速的发展,用户通过社交平台发布信息的方式变得多种多样,可以使用短信、邮件、实时软件以及网页来发布自己编辑的信息,使得社交平台上聚集了大量与个人隐私相关联的数据。通过研究和分析这些数据,可以挖掘出与用户相关的兴趣标签和对应的情感倾向。
[0003] 社交媒体近年来的崛起已经改变了人们的生活方式。人们热衷在社交网络上关注自己的兴趣,分享自己的喜好,评论流行的趋势,这也给数据挖掘技术带来了很大价值,可以被挖掘很多的即时的、潜在的、有价值的知识与模式,这些信息可以被用于网络热点事件发现、网络民意调查、舆情监督、特定市场分析、销售策划等领域。社交用户行为模式近似于社区网站,其蕴含的结构化与半结构化数据中包含了很多可发现的内容。社交用户生成方法是为了抽象地表示特定的一组具有相似行为、属性或特征的消费者,每一个角色为了更接近真实,都有各自详细的描述,包括:用户名,年龄,性别,擅长领域等细节。在社交网络中存在大量的虚假用户和僵尸用户,一些网络黑客利用它们进行社会工程攻击和舆论控制,我们分析了虚假用户的生成以及它们如何进行社交活动,这些对于制定针对性防御计划有重大意义。
[0004] 目前的社交用户生成方法较少,更多的是聚焦于用户标签的生成,并未将用户属性映射至构建好的标签库中,标签独立于用户而存在,没有对其进一步地研究利用。在标签构建方面,传统的方法将用户的推文构建词袋模型,映射到语义本体的类别上,收集标签信息,但是此类方法只能通过关键词数量来判断,并没有考虑用户对主题的情感倾向性。由于消极情绪的存在,会对一些主题爱好产生影响,因此干扰了生成用户的完整性,对后面用户分析形成很大的误导。

发明内容

[0005] 本发明的目的是针对现有技术的不足,提供一种基于情感倾向分析的社交用户生成方法,利用大数据时代获取数据的便利性,通过提取用户基本资料、用户关系数据和用户微博,基于情感倾向分析不同用户群体的行为模式和兴趣爱好并建立用户标签,利用人口统计学分析用户群体的基本特征(年龄,性别,所在地),半监督式地生成社交用户。
[0006] 为实现上述目标,本发明采用如下方案:
[0007] 步骤(1).以微博内容为基础,采用聚类算法构建语义本体;
[0008] 步骤(2).获取用户的微博内容并进行预处理,进行情感分类,得到带有情感倾向标记的微博信息;
[0009] 步骤(3).将带有情感倾向标记的微博信息进一步处理,得到词袋模型;
[0010] 步骤(4).提取词袋模型的词,利用语义本体获取类别信息;
[0011] 步骤(5).采用投票策略统计带有情感标记的类别信息,添加二级标签,得到最终标签;
[0012] 步骤(6).将人口统计信息映射到相应的标签中,构造网络图;
[0013] 步骤(7).根据网络图节点间的边权值大小半监督地生成用户。
[0014] 进一步,步骤(1)具体是:
[0015] (1.1).爬取用户微博T、用户关系R和用户信息U到数据库中;
[0016] (1.2).对用户微博T使用正则表达式过滤特殊字符和字段,以及活跃度低的用户,将英文统一为小写;
[0017] (1.3).使用Word2Vec向量化微博T内容,得到以键值对形式表示的语料库文件;语料库文件中每一个词对应一个向量W=[w1,w2,...,wJ];其中,J是词向量的维数,wj表示第j维分量,j=1,2,...,J;
[0018] (1.4).遍历并提取语料库中的向量,得到I×J的关键词矩阵M,I表示关键词个数;
[0019] (1.5).利用聚类算法聚类关键词矩阵,得到聚类中心和类成员;
[0020] (1.6).采用方差分析判断类中心之间差异显著性,确定簇中心,构建语义本体;
[0021] (1.7).定义语义本体的存储结构,包括两层:第一层类别存储对应本体名称和语义本体列表,其中本体列表存储子类本体名称和对应的子类本体列表;第二层本体存储对应本体列表中存储自身的描述,采用关键词方式表示;
[0022] (1.8).筛选语义本体的子类中不符合或模糊界限的关键词,精炼语义本体。
[0023] 进一步,步骤(2)具体是:
[0024] (2.1).获取用户微博和关系数据,使用正则化匹配去除标点符号;
[0025] (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;
[0026] (2.3).将微博推文属性unbp利用情感分析工具进行情感分析,得到情感分数δ;
[0027] (2.4).在每条微博后加上情感标志位E,E=‑1,0,1,分别表示消极、无感和积极;δ<δ1时E=‑1,δ1≤δ<δ2时E=0,δ≥δ2时E=1;δ1和δ2为两个划分点,δ2>δ1。
[0028] 进一步,步骤(3)具体是:
[0029] (3.1).获取用户数据矩阵DM,包括具有情感标志位的推文属性;
[0030] (3.2).在(2.1)的基础上过滤掉特殊字符,对文本进行统一化大小写处理;
[0031] (3.3).使用中文文本分词工具对微博推文进行分词,得到词袋,标注词性;
[0032] (3.4).依照中英文停用词表过滤词袋中的停用词;
[0033] (3.5).按照词性过滤非动词和非名词,得到词袋模型BM(T)=[bm1,bm2,...,bmK];其中,K为词袋模型中词的个数,bmk表示词袋模型中第k个词,k=1,2,...,K。
[0034] 进一步,步骤(4)具体是:
[0035] (4.1).在语义本体中查找与bm等价的语义本体bo,bm∈BM(T);若查找到,则词bm即为bo;
[0036] (4.2).如果在语义本体bo的语义本体描述中存在词bm,则将词bm替换为语义本体bo的名称;
[0037] (4.3).如果词bm多次出现,则是多义词,结合关键词矩阵M和上下文语境消除歧义性;
[0038] (4.4).将消歧后的词bm按照(4.2)进行替换;
[0039] (4.5).如果没有在语义本体bo中找到词bm,在词袋中删除;
[0040] (4.6).重复执行(4.1)~(4.5),遍历词袋模型,得到子类别集合O(T)=[bo1,bo2,...,boL],其中L是微博中语义本体bo的名称个数,bol表示第l个语义本体,l=1,2,...,L;
[0041] (4.7).将用户数据矩阵DM的微博推文属性unbp替换为子类别集合O(T)和情感标志位E,表示如下:unbp=[O1(T)E1,O2(T)E2,...,OR(T)ER],R为微博个数。
[0042] 进一步,步骤(5)具体是:
[0043] (5.1).对于语义本体bol,如果存在于其父类的语义列表中,将其父类语义名称以键的形式存入标签字典,初始化值为1;如果键已存在,值自增1;
[0044] (5.2).重复执行(5.1),遍历第r个微博子类别集合Or(T),r=1,2,...,R,得到微博标签字典Dictr[Tag];
[0045] (5.3).将微博标签字典的值排序,取排名靠前的标签集合sortTag={Tag1,Tag2,...,TagS};S为自定义标签个数,Tags表示第s个标签本体,s=1,2,...,S;
[0046] (5.4).将sortTag在微博标签字典Dictr[Tag]中的值与对应的情感标志位E相乘,与属于 相同 语义本 体的 值相 加,得 到某一 领域最 终的 情感倾 向权 值[0047] (5.5).将情感倾向权值作为二级标签,与sortTag结合得到用户的标签集合H(h1,h2,...,hS);其中,hs=TagsWeights,s=1,2,...,S;
[0048] (5.6).将数据矩阵DM的属性unbp替换为集合H。
[0049] 进一步,步骤(6)具体是:
[0050] (6.1).根据用户数据矩阵DM的行向量un,将用户的基本资料映射到标签信息上;
[0051] (6.2).对于每一个省、市和地区,构建情感网络图和标签网络图,以不同性别下年龄段和类别为情感网络图和标签网络图的图节点,图节点间的边代表该年龄段和性别属于该类别;
[0052] (6.3).将该省、市和地区对应的人口统计信息映射到微博属性unbp的集合H中;
[0053] 如果情感网络图中对应的图节点间未有边相连,把该用户的标签情感权值Weightem作为边的权值,否则将权值Weightem与边的权值相加,更新为新的权值;
[0054] 如果标签网络图中对应的图节点间未有边相连,把图节点连接,初始化边的权值Weighttag=1,否则边的权值自增1,更新为新的权值;
[0055] (6.4).遍历用户数据矩阵DM,得到最终的基于城市的情感网络图 和标签网络图
[0056] 进一步,步骤(7)具体是:
[0057] (7.1).将标签网络图 利用深度优先遍历,找到权值最大的边以及相应的顶点对Node(node1,node2);
[0058] (7.2).在情感网络图 利用深度优先遍历搜寻连结Node(node1,node2)的边权值,记为Emotion;
[0059] (7.3).将Node中的信息映射到姓名、性别和年龄字典,得到对应的姓名,当作用户名UName;
[0060] (7.4).将顶点对中的信息和用户名结合,顶点对的权值作为情感标志位,生成以地区为标准的虚拟用户:U(UName,Age,Area,Gender,Tag,Emotion);其中,Age表示年龄,Area表示地区,Gender表示性别,Tag表示标签,Emotion表示情感标志位。
[0061] 至此,得到带有情感标志位的用户,完成整个系统的用户生成。
[0062] 本发明方法是从大量的社交用户中分析兴趣爱好相关性大的部分人群的特性,据此生成需要的社交用户。本发明的数据集采用大量微博数据,分析结果更可信。在选择语料库方面,使用了微博推文作为语料库用来建立语义本体。在标签构建方面,传统方法将用户的推文构建词袋模型,映射到语义本体的类别上,收集标签信息,此类方法只能通过关键词数量来判断,并没有考虑用户对主题的情感倾向性。由于消极情绪的存在,会对一些主题爱好产生影响,干扰了生成用户的完整性,对后面用户分析形成很大的误导。本发明方法添加了情感倾向的二级标签,弥补了传统标签分类的不足,结合用户的情感,使产生的用户更具代表性。
[0063] 本发明方法解决了目前社交网络用户不能自动生成用户以及生成的用户标签不准确的问题,能够生成符合某一主题的社交用户,为后续的社会工程研究打下基础。

实施方案

[0072] 下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0073] 如图1所示,基于情感倾向分析的社交用户生成方法,以微博文本为基础,采用聚类算法生成语料库,构建语义本体,将微博推文情感分析,添加情感标志位,利用分词工具建立微博内容的词袋模型,定位词语在语义本体的类别,对词进行消歧处理得到标签,利用图搜索算法生成用户。具体步骤是:
[0074] 步骤(1).以微博内容为基础,采用聚类算法构建语义本体;
[0075] 步骤(2).获取用户的微博内容并进行预处理,进行情感分类,得到带有情感倾向标记的微博信息;
[0076] 步骤(3).将微博信息进一步处理,得到词袋模型;
[0077] 步骤(4).提取词袋模型的词,利用语义本体获取类别信息;
[0078] 步骤(5).采用投票策略统计带有情感标记的类别信息,添加二级标签,得到最终标签;
[0079] 步骤(6).将人口统计信息映射到相应的标签中,构造网络图;
[0080] 步骤(7).根据网络图节点间的边权值大小半监督地生成用户。
[0081] 如图2所示,步骤(1)具体是:
[0082] (1.1).爬取用户微博T、用户关系R和用户信息U到数据库中;
[0083] (1.2).对用户微博T使用正则表达式过滤特殊字符和字段,以及活跃度低的用户,将英文统一为小写;
[0084] 特殊的字符和字段,包括:“@XXX”、“[表情符号]”、超链接;其中“@XXX”表示微博正文或评论中提到某一用户或对用户说的话,以引起该用户注意;“[表情符号]”是指微博中特有的表情,代表发帖人内心的想法,可以是开心,难受,惊恐等;超链接一般指http和https协议下的链接,通过点击链接可以转到第三方页面,如:https://weibo.com/;
[0085] 一些用户注册后很少使用微博,这些数据不具有代表性,不便于分析,将其剔除,这里使用活跃度指标来判断用户数据有效性。活跃度 NT表示用户最近一年内发布、转发和评论微博总数,NMonth表示一年中活跃的月份数,指用户在一年中最早、最晚发布、转发和评论微博的时间间隔;如活跃度Active小于等于设定的阈值σActive,则为活跃度低的用户,根据需要设定σActive=5~50;
[0086] (1.3).使用Word2Vec向量化微博T内容,得到以键值对形式表示的语料库文件;语料库文件中每一个词对应一个向量W=[w1,w2,...,wJ];其中,J是词向量的维数,wj表示第j维分量,j=1,2,...,J;
[0087] (1.4).遍历并提取语料库中的向量,得到I×J的关键词矩阵M,I表示关键词个数;
[0088] (1.5).利用K‑means聚类关键词矩阵M,分类数量按照微博的热门分类初步划定类中心个数列表,得到簇中心和类成员,类成员代表领域内的关键词;
[0089] (1.6).采用方差分析判断类中心之间差异显著性,差异较大的类中心个数为最佳,在此基础上分析各类成员的分布数量,分布均匀的类中心个数为最佳,从两方面确定类中心个数,用于构建语义本体;
[0090] (1.7).定义语义本体的存储结构,包括两层:第一层类别存储对应本体名称和语义本体列表,其中本体列表存储子类本体名称和对应的子类本体列表;第二层本体存储对应本体列表中存储自身的描述,采用关键词方式表示;
[0091] (1.8).筛选语义本体的子类中不符合或模糊界限的关键词,精炼语义本体。
[0092] 如图3所示,步骤(2)具体是:
[0093] (2.1).获取用户微博和关系数据,使用正则化匹配去除标点符号;
[0094] (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;
[0095] (2.3).将微博推文属性unbp利用情感分析工具进行情感分析,得到情感分数δ;
[0096] (2.4).在每条微博后加上情感标志位E,E=‑1,0,1,分别表示消极、无感和积极;δ<δ1时E=‑1,δ1≤δ<δ2时E=0,δ≥δ2时E=1;δ1和δ2为两个划分点,δ2>δ1。
[0097] 如图4所示,步骤(3)具体是:
[0098] (3.1).获取用户数据矩阵DM,包括具有情感标志位的推文属性;
[0099] (3.2).在(2.1)的基础上过滤掉特殊字符,对文本进行统一化大小写处理;
[0100] (3.3).使用中文文本分词工具对微博推文进行分词,得到词袋,词袋内包含若干关键词标注词性,标注词性;
[0101] (3.4).依照中英文停用词表过滤词袋中的停用词;
[0102] (3.5).按照词性过滤非动词和非名词,得到词袋模型BM(T)=[bm1,bm2,...,bmK];其中,K为词袋模型中词的个数,bmk表示词袋模型中第k个词,k=1,2,...,K。
[0103] 如图5所示,步骤(4)具体是:
[0104] (4.1).在语义本体中查找与bm等价的语义本体bo,bm∈BM(T);若查找到,则词bm即为词bo;
[0105] (4.2).如果在语义本体bo的语义本体描述中存在词bm,则将词bm替换为语义本体bo的名称;
[0106] (4.3).如果词bm多次出现,说明该词在不同语境下有不同含义,需要结合关键词矩阵M和上下文语境消除歧义性;word2vec工具生成的词向量与上下文相关,判断歧义性的1 2
标准利用向量空间的余弦相似度: ε表示目标词w和w的上下词
利用关键词矩阵M得到向量大小,最终求得的误差值,如果误差较小说明含义类似,否则替换为相应词bo;
[0107] 则是多义词,结合关键词矩阵M和上下文语境消除歧义性;
[0108] (4.4).将消歧后的词bm按照(4.2)进行替换;
[0109] (4.5).如果没有在语义本体bo中找到词bm,说明语义不明显,不能明确代表兴趣,需在词袋中删除;
[0110] (4.6).重复执行(4.1)~(4.5),遍历词袋模型,得到子类别集合O(T)=[bo1,bo2,...,boL],其中L是微博中语义本体bo的名称个数,bol表示第l个语义本体,l=1,2,...,L;
[0111] (4.7).将用户数据矩阵DM的微博推文属性unbp替换为子类别集合O(T)和情感标志位E,表示如下:unbp=[O1(T)E1,O2(T)E2,...,OR(T)ER],R为微博个数。
[0112] 如图6所示,步骤(5)具体是:
[0113] (5.1).对于语义本体bol,如果存在于其父类的语义列表中,将其父类语义名称以键的形式存入标签字典,初始化值为1;如果键已存在,值自增1;
[0114] (5.2).重复执行(5.1),遍历第r个微博子类别集合Or(T),r=1,2,...,R,得到微博标签字典Dictr[Tag];
[0115] (5.3).将微博标签字典的值排序,取排名靠前的标签集合sortTag={Tag1,Tag2,...,TagS};S为自定义标签个数,Tags表示第s个标签本体,s=1,2,...,S;
[0116] (5.4).将sortTag在微博标签字典Dictr[Tag]中的值与对应的情感标志位E相乘,与属于 相同 语义本 体的 值相 加,得 到某一 领域最 终的 情感倾 向权 值[0117] (5.5).将情感倾向权值作为二级标签,与sortTag结合得到用户的标签集合H(h1,h2,...,hS);其中,hs=TagsWeights,s=1,2,...,S;
[0118] (5.6).将数据矩阵DM的属性unbp替换为集合H。
[0119] 如图7所示,步骤(6)具体是:
[0120] (6.1).根据用户数据矩阵DM的行向量un,将用户的基本资料映射到标签信息上;
[0121] (6.2).对于每一个省、市和地区,构建情感网络图和标签网络图,以不同性别下年龄段和类别为情感网络图和标签网络图的图节点,图节点间的边代表该年龄段和性别属于该类别;年龄段根据先验知识可以分为八组青少儿,少年,青少年,青年,中青年,中年,中老年和老年;
[0122] (6.3).将该省、市和地区对应的人口统计信息映射到微博属性unbp的集合H中;
[0123] 如果情感网络图中对应的图节点间未有边相连,把该用户的标签情感权值Weightem作为边的权值,否则将权值Weightem与边的权值相加,更新为新的权值;
[0124] 如果标签网络图中对应的图节点间未有边相连,把图节点连接,初始化边的权值Weighttag=1,否则边的权值自增1,更新为新的权值;
[0125] (6.4).遍历用户数据矩阵DM,得到最终的基于城市的情感网络图 和标签网络图
[0126] 如图8所示,步骤(7)具体是:
[0127] (7.1).将标签网络图 利用深度优先遍历(DFS),找到权值最大的边以及相应的顶点对Node(node1,node2);
[0128] (7.2).在情感网络图 利用深度优先遍历(DFS)搜寻连结Node(node1,node2)的边权值,记为Emotion;
[0129] (7.3).将Node中的信息映射到姓名、性别和年龄字典,得到对应的姓名,当作用户名UName;
[0130] (7.4).将顶点对中的信息和用户名结合,顶点对的权值作为情感标志位,生成以地区为标准的虚拟用户:U(UName,Age,Area,Gender,Tag,Emotion);其中,Age表示年龄,Area表示地区,Gender表示性别,Tag表示标签,Emotion表示情感标志位。
[0131] 至此,得到带有情感标志位的用户,完成整个系统的用户生成。
[0132] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

附图说明

[0064] 图1本发明方法流程图;
[0065] 图2为图1中以微博内容和聚类算法构建语义本体流程图;
[0066] 图3为图1中微博信息预处理以及情感分类流程图;
[0067] 图4为图1中将微博信息进行消歧过滤得到词袋模型流程图;
[0068] 图5为图1中利用语义本体获取词袋模型中词的类别信息流程图;
[0069] 图6为图1中采用投票策略统计情感标记类别并得到最终标签流程图;
[0070] 图7为图1中构建情感网络图和标签网络图流程图;
[0071] 图8为图1中利用网络图节点间的边权值大小半监督地生成用户流程图。
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号