CN116561441A - 一种基于自注意力神经网络的社交网络用户认知状态刻画方法 - Google Patents
一种基于自注意力神经网络的社交网络用户认知状态刻画方法 Download PDFInfo
- Publication number
- CN116561441A CN116561441A CN202310199714.9A CN202310199714A CN116561441A CN 116561441 A CN116561441 A CN 116561441A CN 202310199714 A CN202310199714 A CN 202310199714A CN 116561441 A CN116561441 A CN 116561441A
- Authority
- CN
- China
- Prior art keywords
- user
- attention
- word
- microblog
- self
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000006998 cognitive state Effects 0.000 title claims abstract description 49
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 31
- 230000008451 emotion Effects 0.000 claims abstract description 51
- 230000019771 cognition Effects 0.000 claims abstract description 18
- 238000005516 engineering process Methods 0.000 claims abstract description 15
- 230000006399 behavior Effects 0.000 claims abstract description 11
- 238000003062 neural network model Methods 0.000 claims abstract description 6
- 238000012216 screening Methods 0.000 claims abstract description 6
- 238000004140 cleaning Methods 0.000 claims abstract description 4
- 230000000007 visual effect Effects 0.000 claims abstract description 4
- 239000013598 vector Substances 0.000 claims description 47
- 239000011159 matrix material Substances 0.000 claims description 38
- 230000011218 segmentation Effects 0.000 claims description 37
- 238000010276 construction Methods 0.000 claims description 18
- 238000012549 training Methods 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 12
- 238000009826 distribution Methods 0.000 claims description 8
- 238000012512 characterization method Methods 0.000 claims description 7
- 238000010606 normalization Methods 0.000 claims description 5
- 230000004913 activation Effects 0.000 claims description 4
- 235000014510 cooky Nutrition 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 230000001149 cognitive effect Effects 0.000 claims description 3
- 230000002045 lasting effect Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 2
- 230000009849 deactivation Effects 0.000 claims description 2
- 238000002474 experimental method Methods 0.000 claims description 2
- 238000002372 labelling Methods 0.000 claims description 2
- 238000013135 deep learning Methods 0.000 abstract description 4
- 238000007418 data mining Methods 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000013480 data collection Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000002996 emotional effect Effects 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000007794 visualization technique Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Machine Translation (AREA)
Abstract
一种基于自注意力神经网络的社交媒体用户认知状态刻画方法属于用户认知在大数据、数据挖掘、深度学习等领域。本发明首先利用特定的爬虫技术获得热点事件的微博数据,根据用户筛选规则得到用户id。然后下载用户id微博主页页面地址对应的网页文件html,通过xpath对html进行解析及清洗。其次使用自注意力神经网络提取文本数据特征,进一步,利用前馈神经网络模型得到场景和情感标签。根据情绪的ABC理论,由场景和情感标签估计用户的认知状态,将同一用户不同行为对应的认知状态进行累加得到其个体认知状态。最后,根据认知状态的不同维度相似度进行用户群体划分,并通过可视化的方法多维度展示用户认知状态。
Description
技术领域
本发明基于社交网络数据以及自注意力神经网络模型,研究了一种用户认知状态刻画方法。首先利用网络爬虫技术进行社交媒体网络用户数据的获取;然后通过自注意力神经网络(transformer)根据数据集提取深层的语义特征;其次使用前馈神经网络将提取到的深层语义特征根据划分好的类别进行分类;最后,使用训练好的神经网络模型在社交媒体网络数据上,根据情绪的ABC理论刻画用户认知状态。本发明属于计算机自然语言处理领域,具体涉及网络爬虫,深度学习等技术
背景技术
用户认知状态刻画作为一种精准描绘用户行为,有助于了解用户的需求与用户的偏好,提升个性化服务,在各个领域中得到了广泛的应用。用户认知状态是计算机世界中数字化的用户形象和标签化的用户全貌。其通过对现实用户的人口属性、行为习惯、社交网络、人格特性、心理认知、兴趣爱好、情绪变化等数据进行处理、分析,抽象提炼信息标签组合。而且,按照情绪的ABC理论,个体认知状态是影响其情感的重要因素之一,同样的事件,不同的人可能会产生不同的情感,主要原因是其认知状态不同,因此,情感是用户认知状态的显式表达,认知状态是情感产生的原因之一。根据用户对大量事件的情感表达,可以估计产生相应情感背后共性的认知状态。近年来,互联网技术的迅速发展以及各类社交网络平台的兴起,从根本上改变了人们以往的信息交流、通信、休闲娱乐等方式,社交网络逐渐成为信息共享、经验交流以及社会舆论的主要载体。在大数据时代,围绕“以用户为中心”开展的个性化服务具有巨大的潜力,用户认知状态作为一种能够快速、精准分析用户行为模式、表现用户特征的技术,成为社会媒体计算领域的研究热点,引起业界、学术界的广泛关注。
用户认知状态的构建方法可以分为三类:1)基于主题的用户认知构建方法,其基本思想是文档是多个主题的集合,例如经典的LDA模型,三层贝叶斯概率模型,包含词,主题,文档三层结构;2)基于用户行为和兴趣的用认知构建方法,其是利用用户在网络平台上的行为日志。通过数学建模分析用户行为,建立用户兴趣和消费档案,或者利用决策树、贝叶斯网络对用户的消费习惯及兴趣爱好进行建模;3)基于人格特性与用户情绪的用户认知构建方法结合了用户的个人特性及情感信息。研究发现社交网络平台具备外向型人格的用户网络行为数量较多,将用户情绪引入到用户认知状态的构建中,可以分析并预测用户的行为。
如今海量的交互数据,增大了社交网络用户认知状态刻画技术实现的难度。同时社交论坛、网站(微博、微信、论坛等)都是以用户为中心的社交网络平台,均拥有大量的品质用户。用户在这些社交平台上可以分享内容、发表观点、表达情绪喜好。因此,本发明拟以社交网络平台作为数据来源,进行采集清洗与分析,并与深度学习技术相结合,对海量的用户数据进行深入挖掘,并根据情绪的ABC理论,针对不同的场景事件进行分类,并根据不同场景事件分析用户的情绪,以此构建用户的认知状态。
发明内容
本发明与已有的用户认知状态刻画方法不同,提出了大数据处理与深度学习技术相结合的方法。同时根据情绪的ABC理论,用户对某一事件的情感是其认知状态和场景共同作用的结果,同一个场景,不同的人之所以产生不同的情感,原因是其认知状态不同。因此本发明认为用户对场景产生的情感是其认知状态的显式表达,以此刻画用户的认知状态。首先利用网络爬虫技术进行大规模的用户数据收集,提出了社交网络数据采集方法:根据关键词(热点事件)进行微博数据的采集,模拟浏览器的工作原理,向目标网站的服务器发送请求,根据服务器返回的内容对数据进行抽取,得到想要的文本内容。并根据采集到的微博内容选择需要的微博用户,通过微博用户独有的用户id抓取历史微博并且进行清洗,如附图一所示,然后进行神经网络的训练,使用的是自注意力神经网络,不同于CNN于RNN,自注意力机制更加类似人脑信息处理的方式,在繁琐的数据中筛选出自己感兴趣的东西,忽略不太相关的信息。在神经网络中,添加自注意力机制,可以提高神经网络的效率,只选择一些关键的信息输入进行处理,并且在文本数据的开头添加特殊token,代表整体句子的特征,主要目的是根据预设的应用场景标签,完成分类任务,根据制定好的场景类别以及对应的态度进行分类。最后将收集到的用户数据与训练好的模型相结合,针对每个用户对待不同事件的态度,刻画用户认知状态。
整体流程如附图2所示
综上所述,本方法主要过程可以分为以下三个步骤:基于社交媒体网络用户数据的获取、神经网络训练,用户认知状态的刻画。
(1)基于社交媒体网络用户数据的获取
本发明研究的对象为社交媒体网络用户,为了快速且大量获得用户的数据,构建了微博数据采集引擎,包含热点话题采集以及用户微博内容采集。使用爬虫技术模拟浏览器的工作原理,构造相应的请求头向目标服务器提出申请,得到返回的文件后进行json文件解析,获得微博内容、微博作者及其id。根据微博数量、粉丝数筛选合适的用户id进行用户数据的采集,使用正则表达式对数据清洗,最终将用户信息持久化存储。
(2)神经网络训练
神经网络的训练目的是进行用户特征的提取,使用制定好的场景主题以及情绪类别训练神经网络模型。神经网络使用的是自注意力结构中的transformer模型并且根据任务需要添加了前馈神经网络模块。此模型目的是为了解决长序列以及序列信息到序列表征映射的复杂性问题,相比于它之前的构架如RNN,transformers有着良好的并行计算性能和更强大的信息编码能力,在模型的输入前添加特殊的token代表整体句子的表示。由于其携带了整个句子的总体信息,所以将特殊token的语义特征连接前馈神经网络模块,使模型获得更好的分类能力。利用中文维基百科相关预料进行模型的预训练,使模型泛化能力更强,然后使用waimai_10k以及Thucnews数据集进行模型的微调,更贴合分类任务需求并且提高准确度。整体结构图如附图3所示
(3)用户认知状态的刻画
本发明用户认知状态刻画的方法是基于预定场景标签下的不同态度分析。根据社交媒体网络用户数据与神经网络的训练,模型可以准确的将用户文本内容映射到场景标签下的语义空间中,计算场景标签对应维度的特征向量与文本内容的特征向量的相似度。这样就得到了用户文本内容与场景标签的对应关系,同时模型也可以将文本内容进行不同态度的划分。预定场景标签与态度相结合,得到对应的坐标值,随后进行极坐标的转化,利用可视化的方法,实现多维度用户认知状态的灵活展示与服务。
本发明与现有技术相比,具有以下明显的优势和有益效果:
1)提出了一种基于自注意力神经网络的社交媒体用户认知状态刻画方法,首先搭载了微博数据采集引擎,传统的数据获取方法成本偏高且花费时间很长,此发明可以快速、大量的获取社交媒体网络用户数据,方便模型更好的建立用户认知状态。2)使用自注意力神经网络(transformer)与前馈神经网络相结合,解决了社交媒体网络用户文本数据这种序列信息表征能力不强的问题,此发明可以更好的关注文本数据的总体特征,并且准确的映射到预定的场景空间中,也能够根据不同的场景输出情感极性,利于用户认知状态的构建。3)利用可视化的方法,将预定场景标签与态度相结合,综合考虑用户基本信息,实现多维度用户认知状态的展示。
附图说明
图1是数据获取的流程图。
图2是基于社交媒体网络的用户画像构建方法流程图。
图3是自注意力与前馈神经网络架构图。
具体实施方式
根据上述描述,以下是一个具体的实施流程,但本专利所保护的范围并不限于该实施流程。
步骤1:基于社交媒体网络用户数据的获取
步骤1.1中文热点话题数据获取
根据中文热点话题进行编码,得到微博热点话题搜索的URL:'https://m.weibo.cn/api/container/getIndex',然后根据热点话题构造相应的请求头headers以及params,简化URL的长度。调用request.get(url,headers,params)构造一个向服务器请求资源的url对象,得到服务器返回的response对象。解析response中的json文件,得到微博内容content、微博作者及其user_id。根据微博数量、粉丝数筛选合适的用户id进行用户数据的采集,使用正则表达式re.compile(r'<[^>]+>')对数据清洗提取微博内容,通过字段:页码,微博id,微博作者,作者id,发布时间,微博内容,转发数,评论数,点赞数,最终将用户信息持久化存储。
步骤1.2用户微博数据的获取
用户数据微博的获取首先需要模拟登录,具体的方法是自己登录微博账号,通过浏览器的开发者选项获得账号的cookies,在请求头中添加cookies数值,解决了数据获取中需要每次登录的问题。通过URL:’https://weibo.cn/用户id’进行用户数据的抓取,其中用户id是由步骤1.1获得的user_id组成的列表形式。下载微博主页页面地址对应的网页文件html,通过xpath对html进行解析,主要是利用xpath的语法找到数据所在的节点位置,通过读取节点属性的值或者节点的文本内容来获得数据。利用xpath语法编写筛选规则,根据浏览器开发者选项提供的信息快速找到节点,然后调用节点属性方法或者context方法获得用户数据。将用户数据以csv与txt格式永久存储,其中用户数据包括用户信息以及微博信息,存储的用户信息字段如下:用户id,昵称,性别,生日,所在地,学习经历,工作经历,微博数,关注数,粉丝数:用户的粉丝数,共11项数据。微博信息字段如下:微博id,微博内容,头条文章url,原始图片url,微博发布位置:位置微博中的发布位置,微博发布时间,点赞数,转发数,评论数。用户信息的存储是为了识别类型相似的用户,微博信息的存储是为了刻画用户场景以及情感的认知状态。
步骤2:神经网络模型的构建与训练
步骤2.1:数据预处理
根据任务的需求和模型的输入要求,需要对文本数据进行预处理,包括了分词、去停用词、去除标点符号以及某些文本中特定的格式标记、数字合并等。分词主要是指借助词典和使用专门的分词技术对中文文本进行拆分处理,模型的数据来自Thucnews和waimai_10k数据集,将数据集Thucnews与waimai_10k中的文本转化为具有独立意义的词语。使用包含文字、特殊字符的词典进行中文分词,将文本内容划分为一个个汉字,并且在第一个汉字的起始加上[CLS]token以便后续总体信息的表征。将得到的文本分词与transformer中的wordembeddings矩阵We∈R21128*768相匹配,获得每个分词的文本向量也称为分词的embedding,大小为Vn∈Rseq_len*768。其中We∈R21128*768表示为矩阵的大小是21128*768,此发明的后续的矩阵以此方式表达,不再赘述,seq_len为文本长度。
步骤2.2基于自注意力神经网络(transformer)的构建
步骤2.2.1模型的输入
本发明的思想来自Transformer中的编码器结构,是由输入的分词embedding,位置position embedding,自注意力机制构成的多头自注意力模块以及残差连接组成。
模型的输入除了步骤2.1得到的分词的Embedding,还需要使用位置Embedding表示单词出现在句子中的位置。因为Transformer不采用RNN的结构,而是使用全局信息,不能利用单词的顺序信息,而这部分信息对于NLP来说非常重要。所以Transformer中使用位置Embedding保存单词在序列中的相对或绝对位置。位置Embedding用PE表示,PE的维度与分词Embedding是一样的。公式计算如下:
PE(pos,2i)=sin(pos/100002i/dmodel)
PE(pos,2i+1)=cos(pos/100002i/dmodel)
其中,pos表示单词在句子中的位置,dmodel表示PE的维度(与分词Embedding一样),2i表示偶数的维度,2i+1表示奇数维度(即2i≤d,2i+1≤d),PE∈R1*768。根据得到每个分词向量tokenembedding与position embedding相加得到模型的输入X∈Rseq_len*768。
步骤2.2.2自注意力模块的构建
网络中首先利用self-attention模块计算文本分词与句子中其他分词的注意力大小,目的是通过计算单词间的互相影响,来解决长距离依赖问题,公式为:
Aoutput:
其中Q,K,V为Query矩阵,Key矩阵,Value矩阵。首先如步骤2.1将输入的sequence转换的词向量embedding V1…Vn,每个词向量embedding Vn与WQ,WK,WV∈R768*768线性变化矩阵得到Q,K,V矩阵∈Rseq_len*768。WQ,WK,WV属于可学习矩阵。将矩阵Q与KT相乘得到分词对句子中每个词的注意力权重,与相除缩小点积范围,/>的大小为768,目的是防止输入softmax的值过大导致偏导数趋近于0,使用softmax为了保证注意力权重的非负性,同时增加非线性。注意力权重矩阵与矩阵V相乘,用每个分词的权重对句子中字的特征进行加权求和,得到输出向量Aoutput大小为768维度,考虑了整个句子序列,也代表分词与句子中其他字的语义关系。
步骤2.2.3多头自注意力模块的构建
进一步地,因为单头自注意力只能在一个语义维度上进行映射,所以使用多头自注意力有助于句子的分词在多个语义空间的表达。每个单头自注意力模块的输出Aoutput会拼接在一起,形成一个多头的注意力Multi-Head Attention。多头自注意力模块是由8个步骤2.2.2中的Self-Attention组合形成的,首先将输入词向量X分别传递到8个不同的Self-Attention中,不同的Self-attention的输入大小96维,其中词向量第一个96维的embedding输入到第一个Self-Attention中,第二个96维输入到第二个Self-Attention中,以此类推到8个Self-Attention,共768维(符合输入词向量的维度大小)
公式为:
MultiHead(Q,K,V)=Concat(head1,…,headi)Wo
MultiHead(Q,K,V)表示多头自注意力的输出,head1…headi为8个自注意力模块计算得到8个输出矩阵Z,将它们concat一起后与Wo矩阵相乘得到输出Z1∈Rseq_len*768表示句子中每个分词的特征向量。将输出的矩阵Z1与原始输入进行残差连接(Add操作)为梯度反向传播创捷一条直接通路,防止梯度消失,残差连接具体是指将模型的原始输入即分词embedding构成的矩阵与多头自注意力输出的矩阵Z1相加,然后进行LayerNorm层归一化操作,具体做法为将每个分词的embedding进行归一化操作,保证每个序列中词语转成的含义向量在同一规模上,公式如下:
LayerNorm(X+MultiHead(X))
其中LayerNorm表示层归一化,+表示残差连接,X表示分词得到的词向量Vn,得到最终的输出Z∈Rseq_len*768
步骤2.3前馈神经网络模块的构建
通过步骤2.2得到每个分词相应的特征向量,为了刻画用户认知状态,需要将特征向量映射到预设好的场景标签下以及相应的情感极性标签。所以本发明设计了两个独立的前馈神经网络模块:scene_FFN,sentiment-FFN。针对不同的数据调用不同的FFN模块:公式为:
scene_FFN(x)=max(0,x*W1+b1)*W2+b2
scentiment_FFN(x)=max(0,x*W3+b3)*W4+b4
W1,W2,W3,W4为隐藏层,b1,b2,b3,b4为偏置层,进行两次全连接网络的运算,在scene_FFN与scentiment_FFn中使用了relu激活函数,就是公式中的max操作。前馈神经网络模块的输入是多头注意力输出Z中的第0维向量,因为模型一开始的输入中添加了特殊的[cls]标记,目的是提取文本序列的总体特征,将[cls]特征向量∈R1*768通过隐藏层W与偏置层b以及Relu激活函数得到预设场景与情感的语义空间特征向量。其中W1,W3∈R768*10,W2∈R10*10,W4∈R10*2。scene_FFN得到的是10维特征向量,分别对应:体育,娱乐,家居,房产,教育,时尚,时政,社会,科技,财经。sentiment-FFN得到2维特征向量,对应情感:积极,消极。
通过上面描述的Multi-Head Attention,,Add&Norm以及FFN模块就可以构造出一个Encoder block,Encoder block接收输入矩阵大小为(seq_len*768),并输出一个矩阵大小为(seq_len*768)。通过多个Encoder block叠加就可以组成Encoder。第一个Encoderblock的输入为句子单词的表示向量矩阵,后续Encoder block的输入是前一个Encoderblock的输出,最后一个Encoder block输出的矩阵就是编码信息矩阵。
步骤2.4模型参数的设定
对于整体网络,训练批处理参数的大小为64。学习率最初设置为5-5,在100个批次后衰减到5-6。训练总批次设置为1000。同时一共使用了12层Encoder block。在训练时使用的是softmax与交叉熵来计算损失。通过softmax函数得到对应的类别与交叉熵损失函数结合分阶段训练整体模型。Softmax公式为:
得到每一类的概率,其中yi表示第i类模型输出的数值,再使用CrossEntropy交叉熵损失函数使模型不断逼近真实的类别,交叉熵损失函数公式为:
Loss=-∑qi log pi
qi为真实标签,pi为Softmax后的结果。使用Softmax与交叉熵损失相结合能够更快的收敛模型,同时也符合本发明数据分类的目标。模型的整体结构如附图3所示
步骤3:用户认知状态的刻画
利用ABC理论,将社交媒体网络的用户认知状态刻画转换为依托预设的场景针对用户情绪标签化的过程。由场景和情感标签估计用户的认知状态,对此整理用户发布的微博文本内容并进行分词。使用“文档—主题”的多项分布θ和“主题—词语”的多项分布Φ带有的狄利克雷先验分布超参数α=0.1和β=0.02。通过实验发现k=10的时候,主题分布结果比较理想。通过计算公式,概括总结与该主题相关程度高的词汇得到该主题的主要内容,公式为:
表示某个词语在某个主题下的相关度,/>使某个词语在某个主题下出现的概率,p(w)是某个词语出现的总概率。通过调节超参数λ,最终得到10个关键场景词为:体育,娱乐,家居,房产,教育,时尚,时政,社会,科技,财经。构建的用户认知模型可分为用户场景认知状态,用户情感认知状态。通过步骤二中模型的训练,可以根据步骤一获得微博信息数据输出对应的场景词及情感,建立用户场景认知以及用户情感认知。将同一用户不同场景行为对应的情感认知状态进行累加得到其个体认知状态,这样就完成了个体认知状态的刻画。同时,根据步骤一获取的用户数据,以及每个用户场景与用户情感的特征向量,计算空间多维向量的相似度,划分用户群体类型,公式为:
表示用户ux的场景,情感特征向量。共计算两组特征的相似度。当计算用户场景相似度时,将参数n设为10,表示的是用户对于10种主题场景下,他们认知状态的相似性;当计算情感相似度时,将参数设为2,表示的是用户根据不同场景的情感认知的相似性。通过可视化的方法,将基本信息相似的用户划分为一类,并展示出此类用户对不同场景的情感态度,得到对应的坐标值,随后进行极坐标的转化,实现多维度用户认知状态的灵活展示与服务。/>
Claims (1)
1.一种基于自注意力神经网络的社交网络用户认知状态刻画方法,其特征在于:
步骤1:基于社交媒体网络用户数据的获取
步骤1.1中文热点话题数据获取
根据中文热点话题进行编码,得到微博热点话题搜索的URL:'https://m.weibo.cn/api/container/getIndex',然后根据热点话题构造相应的请求头headers以及params,简化URL的长度;调用request.get(url,headers,params)构造一个向服务器请求资源的url对象,得到服务器返回的response对象;解析response中的json文件,得到微博内容content、微博作者及其user_id;根据微博数量、粉丝数筛选合适的用户id进行用户数据的采集,使用正则表达式re.compile(r'<[^>]+>')对数据清洗提取微博内容,通过字段:页码,微博id,微博作者,作者id,发布时间,微博内容,转发数,评论数,点赞数,最终将用户信息持久化存储;
步骤1.2用户微博数据的获取
用户数据微博的获取首先需要模拟登录,具体的方法是自己登录微博账号,通过浏览器的开发者选项获得账号的cookies,在请求头中添加cookies数值,解决了数据获取中需要每次登录的问题;通过URL:’https://weibo.cn/用户id’进行用户数据的抓取,其中用户id是由步骤1.1获得的user_id组成的列表形式;下载微博主页页面地址对应的网页文件html,通过xpath对html进行解析,主要是利用xpath的语法找到数据所在的节点位置,通过读取节点属性的值或者节点的文本内容来获得数据;利用xpath语法编写筛选规则,根据浏览器开发者选项提供的信息快速找到节点,然后调用节点属性方法或者context方法获得用户数据;将用户数据以csv与txt格式永久存储,其中用户数据包括用户信息以及微博信息,存储的用户信息字段如下:用户id,昵称,性别,生日,所在地,学习经历,工作经历,微博数,关注数,粉丝数:用户的粉丝数,共11项数据;
微博信息字段如下:微博id,微博内容,头条文章url,原始图片url,微博发布位置:位置微博中的发布位置,微博发布时间,点赞数,转发数,评论数;用户信息的存储是为了识别类型相似的用户,微博信息的存储是为了刻画用户场景以及情感的认知状态;
步骤2:神经网络模型的构建与训练
步骤2.1:数据预处理
对文本数据进行预处理,包括了分词、去停用词、去除标点符号以及某些文本中特定的格式标记、数字合并;分词主要是指借助词典和使用专门的分词技术对中文文本进行拆分处理,模型的数据来自Thucnews和waimai_10k数据集,将数据集Thucnews与waimai_10k中的文本转化为具有独立意义的词语;使用包含文字、字符的词典进行中文分词,将文本内容划分为一个个汉字,并且在第一个汉字的起始加上[CLS]token以便后续总体信息的表征;将得到的文本分词与transformer中的word embeddings矩阵We∈R21128*768相匹配,获得每个分词的文本向量也称为分词的embedding,大小为Vn∈Rseq_len*768;其中We∈R21128*768表示为矩阵的大小是21128*768,seq_len为文本长度;
步骤2.2基于自注意力神经网络transformer的构建
步骤2.2.1模型的输入
基于自注意力神经网络transformer的构建是由输入的分词embedding,位置positionembedding,自注意力机制构成的多头自注意力模块以及残差连接组成;
模型的输入除了步骤2.1得到的分词的Embedding,还需要使用位置Embedding表示单词出现在句子中的位置;位置Embedding用PE表示,PE的维度与分词Embedding是一样的;公式计算如下:
PE(pos,2i)=sin(pos/100002i/dmodel)
PE(pos,2i+1)=cos(pos/100002i/dmodel)
其中,pos表示单词在句子中的位置,dmodel表示PE的维度,2i表示偶数的维度,2i+1表示奇数维度,即2i≤d,2i+1≤d;PE∈R1*768;根据得到每个分词向量tokenembedding与position embedding相加得到模型的输入X∈Rseq_len*768;
步骤2.2.2自注意力模块的构建
网络中首先利用self-attention模块计算文本分词与句子中其他分词的注意力大小,公式为:
Aoutput:
其中Q,K,V为Query矩阵,Key矩阵,Value矩阵;首先如步骤2.1将输入的sequence转换的词向量embedding V1…Vn,每个词向量embedding Vn与WQ,WK,WV∈R768*768线性变化矩阵得到Q,K,V矩阵∈Rseq_len*768;WQ,WK,WV属于可学习矩阵;将矩阵Q与KT相乘得到分词对句子中每个词的注意力权重,与相除缩小点积范围,/>的大小为768,使用softmax保证注意力权重的非负性,同时增加非线性;注意力权重矩阵与矩阵V相乘,用每个分词的权重对句子中字的特征进行加权求和,得到输出向量Aoutput大小为768维度,考虑了整个句子序列,也代表分词与句子中其他字的语义关系;
步骤2.2.3多头自注意力模块的构建
使用多头自注意力进行句子的分词在多个语义空间的表达;每个单头自注意力模块的输出Aoutput会拼接在一起,形成一个多头的注意力Multi-Head Attention;多头自注意力模块是由8个步骤2.2.2中的Self-Attention组合形成,首先将输入词向量X分别传递到8个不同的Self-Attention中,不同的Self-attention的输入大小96维,其中词向量第一个96维的embedding输入到第一个Self-Attention中,第二个96维输入到第二个Self-Attention中,以此类推到8个Self-Attention,共768维;
公式为:
MultiHead(Q,K,V)=Concat(head1,…,headi)Wo
MultiHead(Q,K,V)表示多头自注意力的输出,head1…headi为8个自注意力模块计算得到8个输出矩阵Z,将它们concat一起后与Wo矩阵相乘得到输出Z1∈Rseq_len*768表示句子中每个分词的特征向量;将输出的矩阵Z1与原始输入进行残差连接,残差连接具体是指将模型的原始输入即分词embedding构成的矩阵与多头自注意力输出的矩阵Z1相加,然后进行LayerNorm层归一化操作,具体做法为将每个分词的embedding进行归一化操作,保证每个序列中词语转成的含义向量在同一规模上,公式如下:
LayerNorm(X+MultiHead(X))
其中LayerNorm表示层归一化,+表示残差连接,X表示分词得到的词向量Vn,得到最终的输出Z∈Rseq_len*768
步骤2.3前馈神经网络模块的构建
通过步骤2.2得到每个分词相应的特征向量,为了刻画用户认知状态,需要将特征向量映射到预设好的场景标签下以及相应的情感极性标签;于是设计了两个独立的前馈神经网络模块:scene_FFN,sentiment-FFN;针对不同的数据调用不同的FFN模块:公式为:
scene_FFN(x)=max(0,x*W1+b1)*V2+b2
scentiment_FFN(x)=max(0,x*W3+b3)*W4+b4
W1,W2,W3,W4为隐藏层,b1,b2,b3,b4为偏置层,进行两次全连接网络的运算,在scene_FFN与scentiment_FFN中使用了relu激活函数,就是公式中的max操作;前馈神经网络模块的输入是多头注意力输出Z中的第0维向量,因为模型一开始的输入中添加了[cls]标记,目的是提取文本序列的总体特征,将[cls]特征向量∈R1*768通过隐藏层W与偏置层b以及Relu激活函数得到预设场景与情感的语义空间特征向量;其中W1,W3∈R768*10,W2∈R10*10,W4∈R10*2;scene_FFN得到的是10维特征向量,分别对应:体育,娱乐,家居,房产,教育,时尚,时政,社会,科技,财经;sentiment-FFN得到2维特征向量,对应情感:积极,消极;
通过上面描述的Multi-Head Attention,Add&Norm以及FFN模块就可以构造出一个Encoder block,Encoder block接收输入矩阵大小为(seq_len*768),并输出一个矩阵大小为(seq_len*768);通过多个Encoder block叠加就可以组成Encoder;第一个Encoderblock的输入为句子单词的表示向量矩阵,后续Encoder block的输入是前一个Encoderblock的输出,最后一个Encoder block输出的矩阵就是编码信息矩阵;
步骤2.4模型参数的设定
对于整体网络,训练批处理参数的大小为64;学习率最初设置为5-5,在100个批次后衰减到5-6;训练总批次设置为1000;同时一共使用了12层Encoder block;在训练时使用的是softmax与交叉熵来计算损失;通过softmax函数得到对应的类别与交叉熵损失函数结合分阶段训练整体模型;Softmax公式为:
得到每一类的概率,其中yi表示第i类模型输出的数值,再使用CrossEntropy交叉熵损失函数使模型不断逼近真实的类别,交叉熵损失函数公式为:
Loss=-∑qi log pi
qi为真实标签,pi为Softmax后的结果;
步骤3:用户认知状态的刻画
利用ABC理论,将社交媒体网络的用户认知状态刻画转换为依托预设的场景针对用户情绪标签化的过程;由场景和情感标签估计用户的认知状态,对此整理用户发布的微博文本内容并进行分词;使用“文档—主题”的多项分布θ和“主题—词语”的多项分布Φ带有的狄利克雷先验分布超参数α=0.1和β=0.02;通过实验发现k=10的时候,主题分布结果比较理想;通过计算公式,概括总结与该主题相关程度高的词汇得到该主题的主要内容,公式为:
表示某个词语在某个主题下的相关度,/>使某个词语在某个主题下出现的概率,p(w)是某个词语出现的总概率;最终得到10个关键场景词为:体育,娱乐,家居,房产,教育,时尚,时政,社会,科技,财经;构建的用户认知模型分为用户场景认知状态,用户情感认知状态;通过步骤2中模型的训练,根据步骤1获得微博信息数据输出对应的场景词及情感,建立用户场景认知以及用户情感认知;将同一用户不同场景行为对应的情感认知状态进行累加得到其个体认知状态,这样就完成了个体认知状态的刻画;同时,根据步骤一获取的用户数据,以及每个用户场景与用户情感的特征向量,计算空间多维向量的相似度,划分用户群体类型,公式为:
表示用户ux的场景,情感特征向量;共计算两组特征的相似度;当计算用户场景相似度时,将参数n设为10,表示的是用户对于10种主题场景下,他们认知状态的相似性;当计算情感相似度时,将参数设为2,表示的是用户根据不同场景的情感认知的相似性;通过可视化的方法,将用户分类,并展示出此类用户对不同场景的情感态度,得到对应的坐标值,随后进行极坐标的转化,实现多维度用户认知状态的展示与服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310199714.9A CN116561441A (zh) | 2023-03-05 | 2023-03-05 | 一种基于自注意力神经网络的社交网络用户认知状态刻画方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310199714.9A CN116561441A (zh) | 2023-03-05 | 2023-03-05 | 一种基于自注意力神经网络的社交网络用户认知状态刻画方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116561441A true CN116561441A (zh) | 2023-08-08 |
Family
ID=87488625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310199714.9A Pending CN116561441A (zh) | 2023-03-05 | 2023-03-05 | 一种基于自注意力神经网络的社交网络用户认知状态刻画方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116561441A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117527444A (zh) * | 2023-12-29 | 2024-02-06 | 中智关爱通(南京)信息科技有限公司 | 用于训练检测登录数据风险值的模型的方法、设备和介质 |
-
2023
- 2023-03-05 CN CN202310199714.9A patent/CN116561441A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117527444A (zh) * | 2023-12-29 | 2024-02-06 | 中智关爱通(南京)信息科技有限公司 | 用于训练检测登录数据风险值的模型的方法、设备和介质 |
CN117527444B (zh) * | 2023-12-29 | 2024-03-26 | 中智关爱通(南京)信息科技有限公司 | 用于训练检测登录数据风险值的模型的方法、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sharma et al. | Sentimental analysis of twitter data with respect to general elections in India | |
Chen et al. | Predicting microblog sentiments via weakly supervised multimodal deep learning | |
Kaur et al. | Comparative analysis on cross-modal information retrieval: A review | |
CN111950273B (zh) | 基于情感信息抽取分析的网络舆情突发事件自动识别方法 | |
Zhang et al. | Cross-domain recommendation with semantic correlation in tagging systems | |
Li et al. | Image sentiment prediction based on textual descriptions with adjective noun pairs | |
Chen et al. | Zero-shot text classification via knowledge graph embedding for social media data | |
Ortis et al. | An Overview on Image Sentiment Analysis: Methods, Datasets and Current Challenges. | |
WO2018112696A1 (zh) | 一种内容推荐方法及内容推荐系统 | |
Cai et al. | Intelligent question answering in restricted domains using deep learning and question pair matching | |
CN111797898A (zh) | 一种基于深度语义匹配的在线评论自动回复方法 | |
Biradar et al. | Machine learning tool for exploring sentiment analysis on twitter data | |
CN114238573A (zh) | 基于文本对抗样例的信息推送方法及装置 | |
Liao et al. | Coronavirus pandemic analysis through tripartite graph clustering in online social networks | |
Thakkar et al. | Improving the performance of sentiment analysis using enhanced preprocessing technique and Artificial Neural Network | |
CN111626050A (zh) | 基于表情词典与情感常识的微博情感分析方法 | |
Yu et al. | BCMF: A bidirectional cross-modal fusion model for fake news detection | |
Song et al. | Text sentiment analysis based on convolutional neural network and bidirectional LSTM model | |
Ayoobkhan et al. | Web page recommendation system by integrating ontology and stemming algorithm | |
Chen et al. | Lexicon based Chinese language sentiment analysis method | |
Samat et al. | The comparison of pooling functions in convolutional neural network for sentiment analysis task | |
CN116561441A (zh) | 一种基于自注意力神经网络的社交网络用户认知状态刻画方法 | |
Kaur et al. | Sentiment analysis based on deep learning approaches | |
Kumar et al. | Comparison of various ml and dl models for emotion recognition using twitter | |
CN113741759B (zh) | 评论信息的展示方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |