【论文解读 ICMR 2020 | KMGCN】Fake News Detection via Knowledge-driven Multimodal GCN

论文题目:Fake News Detection via Knowledge-driven Multimodal Graph Convolutional Networks

论文来源:ICMR 2020

论文链接:https://doi.org/10.1145/3372278.3390713

关键词:假新闻检测;多模态;知识;图卷积



1 摘要

大多数现有的假新闻检测方法忽视了帖子文本内容的背景知识,这些知识有助于假新闻的检测。

为了解决这一问题,本文提出了知识驱动的多模态图卷积网络(KMGCN),通过联合建模文本信息、知识概念和视觉信息,得到语义表示,以用于假新闻的检测任务。

作者没有将文本内容看成单词序列,而是将其转换成图,以实现对非连续短语的建模,从而更好地获得语义信息。

此外,作者不仅将视觉信息转化成图中的节点,而且从现实世界的知识图谱中检测外部知识作为图中的节点,提供补充的语义信息,提高模型假新闻检测的性能。

作者设计了一个图卷积网络(GCN)抽取这些图中的语义表示。在两个公开数据集上进行了实验,对本文方法进行了验证。


2 引言

(1)现有方法的缺点

1)无法捕获非连续的、长程的语义关系

大多数现有的基于深度学习的方法仅捕获了滑动窗口内的局部语义特征(word-level syntactics),以用于假新闻检测,忽视了帖子的结构信息。例如,有些帖子可能有很多单词,理解它们的语义需要建模非连续的短语(non-consecutive phrases)和长程单词依赖(long-range word dependency)。

因此,如何在特征表示中捕获到单词间非连续的、长程的语义关系,对假新闻的检测越来越重要。

2)忽视背景知识

假新闻检测和其他分类任务(例如 文本分类)有着很大的不同,因为在大多数情况下,假新闻检测模型需要检测来自各个领域的假新闻,而该模型可能从未见过这些领域的假新闻。

然而,现有的深度学习的方法通常侧重于从帖子文本内容中推断出线索,很少考虑视觉信息和帖子的背景知识,但人们在判断一个事件的可信度时,也会使用到这些信息。

例如,当判断图 1中帖子的可信度时,人们通常首先观察图片,然后再阅读文本内容,并且意识到Michael Bloomberg是美国两大党之一民主党的政客,他支持对Donald Trump的弹劾,然后读者再最终给出判断。

这意味着,社交媒体帖子携带有大量隐含的知识层面的关联和多模态的信息,这些信息有助于我们对帖子是否是假新闻进行判断。

因此,如何得到帖子文本内容的背景知识,并对文本信息、知识概念和视觉信息进行融合,是检测假新闻的关键。


(2)作者提出

为了解决上述问题,作者提出了知识驱动的多模态图卷积网络(KMGCN)用于假新闻检测。该模型将帖子建模成图结构的数据,并使用一个统一的深层模型,结合了文本信息、知识概念以及视觉信息。

1)为了捕获到长程的语义特征,以用于学习到更好的内容表示,作者将每个帖子内容建模成了一个图;

2)为了充分利用背景知识和多模态的信息,作者使用目标检测技术从视觉内容中抽取出目标作为视觉词,并通过知识蒸馏得到知识概念,并将两者建模到图中,以提供补充的语义信息。

因此,KMGCN可以有效地利用帖子的隐层语义级别的特征,以学习到鲁棒的假新闻检测模型。

作者在公开的Twitter和Weibo两个benchmark数据集上进行了实验,超越了一些SOTA方法。


(3)本文贡献

1)本文提出一个端到端的知识驱动的多模态图卷积网络,通过将文本信息、知识概念和视觉信息联合建模到一个统一的深层模型中,实现对语义层次表示的建模,以用于假新闻检测。

2)将多模态的帖子内容建模成图,并提出了多模态图卷积网络,捕获非连续的和长程的语义关联。此外,还使用了知识蒸馏以提供补充的知识概念,该信息在新出现的帖子上有较好的泛化性能。

3)在两个真实世界数据集上对本文的方法进行了评估,结果表明本文的KMGCN方法超越了baseline方法。


3 方法

本节介绍本文提出的知识驱动的多模态图卷积网络(KMGCN)。

3.1 问题定义

假新闻检测任务可视为二分类问题,目的是将社交媒体中的声明分类为假新闻或真新闻。

假新闻检测可分为两种:1)post-level,识别单一的帖子是否是假新闻;2)event-level,对构成事件的一组帖子进行假新闻检测。

本文模型的目标是在post-level上识别一个帖子是否为假新闻。给定一组有多媒体内容的帖子 D = { p 1 , . . . , p N } D={\{p_1, ..., p_N}\} D={p1,...,pN},其中 p i p_i pi是一个由一组单词和对应的视觉信息组成的帖子, N N N表示帖子的数量。

我们需要学习一个模型 f : → Y f: \rightarrow \mathcal{Y} f:Y,对帖子 p i p_i pi进行分类。其中 Y = { 0 , 1 } \mathcal{Y}={\{0, 1}\} Y={0,1},是声明的ground-turth标签(0表示真新闻,1表示假新闻)。


3.2 整体框架

图 2展示了KMGCN的框架,主要由以下几部分组成:

(1)知识蒸馏(Knowledge Distillation)

从知识图谱中提取出的背景知识可以对短文本的语义表示进行补充。此外,从实体中抽取出的概念信息可以为增强假新闻检测的性能提供额外的证据。

这一模块的目标是从知识图谱中检索到相关知识。

(2)多模态内容的图构建(Graph Construction of Multimodal Content)

基于单词对的point-wise mutual information(PMI)得分,将输入帖子的多模态内容建模成图。为每个多媒体帖子构建一个图。

作者还使用目标检测技术从视觉内容中抽取出目标作为视觉单词,并且通过知识蒸馏得到知识概念,将这些信息都建模到图中。

(3)知识驱动的多模态图卷积网络(KMGCN)

基于构建的图,使用多模态图卷积网络为每个帖子得到语义级别的特征。作者使用2层的GCN和全局平均池化来聚合每个图的节点,并得到每个帖子的表示向量。

最终,将每个帖子的多模态表示输入到二分类器中,计算真假新闻的预测概率。


3.3 知识蒸馏

给定一个帖子文本,我们希望找到和其相关的概念集合 C C C。知识蒸馏过程由4步组成。

给定帖子的短文本内容,许多实体链接方法,例如Rel-Norm[1]、Link Detector[2]、EDEL[3]可以用于将文本中的实体提及 M M M连接到他们所指代的知识图谱中的实体 T T T上。

然后,对于每个识别出的实体 t ∈ T t\in T tT,我们从现有的知识图谱中得到其概念信息,例如知识图谱YAGO[4]和Probase[5]。

本文使用的是isA关系。例如给定短文本“Michael Bloomberg, who ranked fourth in support from Democrat-leaning voters in the latest Reuters/lpsos poll, backed the impeachment vote against President Donald Trump, saying the lawmakers did their ‘constitutional duty’ ”,通过实体链接得到实体集合 T = { M i c h a e l B l o o m b e r g , D e m o c r a t , D o n a l d T r u m p } T={\{Michael Bloomberg, Democrat, DonaldTrump }\} T={MichaelBloomberg,Democrat,DonaldTrump}。然后概念化 T T T中的实体,根据知识图谱得到其概念集 C M i c h a e l B l o o m b e r g = ( A m e r i c a n p o l i t i c i a n , b u s i n e s s m a n , a u t h o r , B l o o m b e r g L . P . , N e w Y o r k C i t y ) , C D e m o c r a t = ( d e m o c r a c y , P a r t y ) , C D o n a l d T r u m p = ( A m e r i c a n p r e s i d e n t , r e p u b l i c a n , A m e r i c a n p o l i t i c i a n ) C_{Michael Bloomberg}=(American politician, businessman, author, Bloomberg L.P., New York City ), C_{Democrat}=(democracy, Party), C_{Donald Trump} = (American president, republican, American politician) CMichaelBloomberg=(Americanpolitician,businessman,author,BloombergL.P.,NewYorkCity),CDemocrat=(democracy,Party),CDonaldTrump=(Americanpresident,republican,Americanpolitician)

给定一个帖子 p i p_i pi,我们可以从知识图谱中进行知识蒸馏,为帖子中的每个实体得到一组概念。对于每个概念集 C t = ( c 1 , . . . , c i , . . . , c m ) C_t = (c_1, ..., c_i, ..., c_m) Ct=(c1,...,ci,...,cm),其中 t t t是原始实体, c i c_i ci是该实体 t t t的第 i i i个概念, m m m是集合大小。我们的目的是为每个帖子生成概念知识。


3.4 多模态内容的图构建

将每个帖子的多模态内容信息建模成一个无向图。

给定一个帖子,单词视为图中的节点,单词间的关系视为图中的边。执行point-wise mutual information(PMI)[6, 7]来计算边的权重,可以保留全局的单词共现信息。

具体来说,我们在所有的帖子内容上使用固定大小的窗口来收集单词共现的统计信息。然后按照如下的公式计算单词对的PMI分值:

其中, ∣ W ( w i ) ∣ |W(w_i)| W(wi)是包含了单词 w i w_i wi的滑动窗口数; ∣ W ( w i , w j ) ∣ |W(w_i, w_j)| W(wi,wj)是包含了单词 w i w_i wi w j w_j wj的滑动窗口数; ∣ W ∣ |W| W是滑动窗口总数。

注意,这些统计特性是基于全局语料的,而不是基于某一个帖子的内容。PMI分值可以反映单词间的关联,正的PMI分值表示高度的语义关联。因此,我们仅保留PMI为正值的单词对对应的边,忽略那些PMI分值为负的关联:

处了文本内容之外,还通过抽取出图像中的语义目标并视为视觉单词,对视觉内容进行了利用。对于每个帖子,我们获取了一些图片,使用预训练的YOLOv3检测器在每个图像上检测出一些语义目标。这些检测出来的目标的标签,例如“person”、“gun”将被视为在帖子中出现的单词,并将这些单词添加到每个帖子的本文内容中。

除了本文内容和视觉内容,我们还从知识图谱中,为帖子中的每个实体得到了一组知识概念。和视觉单词一样,将知识概念添加到每个帖子的文本内容中。最终,基于PMI,为每个帖子构建了一个包含文本单词、视觉单词和知识概念的图。

此过程之后,针对每个帖子都得到了一个邻接矩阵 A A A


3.5 知识驱动的多模态图卷积网络(KMGCN)

GCN将无向图作为输入,并基于图中节点的邻居信息,为每个节点生成一个嵌入向量。

考虑一个无向图 G = ( V , E ) G=(V, E) G=(V,E),其中 V V V是节点集合, E E E是边集合。假定每个节点都有一个自连接,例如 ( v , v ) ∈ E (v, v)\in \mathbb{E} (v,v)E

使用 n = ∣ V ∣ n=|V| n=V表示节点数,每个节点都和一个 d d d维的特征向量相关联,使用特征矩阵 X ∈ R n × l 0 X\in \mathbb{R}^{n\times l^{0}} XRn×l0表示所有节点的特征,其中第 i i i行对应第 i i i个节点的特征向量。

邻接矩阵 A ∈ R n × n A\in \mathbb{R}^{n\times n} ARn×n表示边集合 E E E,其中 A i j A_{ij} Aij为第 i i i个节点和第 j j j个节点间边的权重。度矩阵 D D D是对称阵, D i j = ∑ j A i j D_{ij} = \sum_j A_{ij} Dij=jAij

基于邻接矩阵 A A A和度矩阵 D D D,每个GCN层输入特征矩阵 Z ( j ) ∈ R n × l ( j ) Z^{(j)}\in \mathbb{R}^{n\times l^{(j)}} Z(j)Rn×l(j)(第一层输入的特征矩阵为 X X X),输出一个高阶的特征矩阵 Z ( j + 1 ) ∈ R n × l ( j + 1 ) Z^{(j+1)}\in \mathbb{R}^{n\times l^{(j+1)}} Z(j+1)Rn×l(j+1),过程如下所示:

其中 W ∈ R l ( j ) × l ( j + 1 ) W\in \mathbb{R}^{l^{(j)}\times l^{(j+1)}} WRl(j)×l(j+1)是权重矩阵; I I I是单位矩阵; σ \sigma σ是激活函数,例如ReLU σ ( x ) = m a x ( 0 , x ) \sigma(x) = max(0, x) σ(x)=max(0,x)。邻接矩阵 A A A在构建完多模态内容的图后已经得到;使用单词的Word2Vec表示,得到每个帖子的特征矩阵 X X X

在两层GCN之后,使用全局平均池化聚合每个图的节点信息,并为帖子得到表示向量 O O O。最终将每个帖子 p i p_i pi的表示 O i O_i Oi输入到二分类器 F \mathcal{F} F中,得到预测结果 r i r_i ri

使用交叉熵作为分类损失:

其中 N N N是帖子的数量, y i y_i yi是第 i i i个帖子的ground-truth标签。


4 实验

4.1 实验设置

(1)数据集

1)PHEME[8]

PHEME数据集是基于5个breaking news进行收集的,并且新闻包含一组claims。

2)WEIBO[9]

WEIBO数据集是基于发布在 www.weibo.com 上的声明(claims)进行收集的,其中每个声明包含文本、图像URL、回复等。

两个数据集都有大量的文章和带标签的图像。表 1展示了两个数据集的数据特性:


(2)执行细节

将数据按照7:3分成训练集和测试集。

在知识蒸馏过程中,通过使用现有的实体链接方法[10],为每个帖子的文本内容得到一组实体集合 T T T。对于实体的概念化,我们在Probase[5]和YAGO[4]中检索实体,并仅考虑isA关系。

在参数设置上,将滑动窗口的大小设为20,单词的维度设为100,执行两层的GCN。

卷积网络在第一层和第二层的输出维度分别为64和32,学习率是0.001。

为了更好地抽取出视觉内容中的目标,作者在两个真实世界的社交媒体数据集上标注了图像中80种不同类别的目标。

实验的评价指标有accuracy, precision, recall, F-measure。


4.2 Baselines

  • SVM-TS[11]:提出了线性SVM分类器,使用了时间序列结构来建模社交上下文特征的变化;
  • GRU[9]:使用一个多层的GRU网络将microblog建模成变长的时间序列,有助于谣言的早期检测;
  • CNN[12]:使用卷积网络,将相关的帖子建模成定长的序列,以学习谣言的表示;
  • TextGCN[13]:使用GCN对文档进行分类。将整个语料建模成异质图,结合GNN以学习单词和文档的嵌入;
  • EANN[14]:post-level的假新闻检测模型,目的是通过拼接帖子的文本特征和视觉特征,预测帖子是否是虚假的。并且使用了对抗机制从帖子的表示中去除掉event-specific的特征。

4.3 性能分析

(1)定量评估

表 2展示了本文的KMGCN方法和所有的baselines方法的实验对比结果。

表 2中可以看出:

1)SVM-TS在所有方法中表现最差,这是因为人工设计的特征不足以用来识别假新闻;

2)CNN是有监督的算法并捕获到了不同单词间的局部特征。它仅优于SVM-TS方法,这可能是因为CNN护士了单词间的长程语义关联,仅仅使用局部特征不足以判断帖子的真假;

3)EANN比CNN表现得好。这是因为EANN使用了TextCNN来抽取出文本特征,并使用VGG-19抽取出视觉特征,提供了补充信息,以用于提高假新闻检测的性能;

4)TextGCN也是一个有监督的算法,在WEIBO数据集上比其他的baselines表现得都好,且在PHEME数据集上也有较好的性能。这表明了使用CGN可以在图结构上有效捕获到单词共现信息以及文档-单词的关联信息;

5)GRU在两个数据集上的性能显著优于CNN,特别是在PHEME数据集上。这是因为RNN可以隐式地处理帖子变长的序列,然而CNN需要更多的数据来进行决策;

6)本文提出的KMGCN方法和其他所有baselines相比,取得了最佳的性能。KMGCN的优越性可以分为两部分:

  • KMGCN使用了视觉信息和知识概念来增强帖子文本的语义信息;
  • 多模态图卷积网络可以更好地捕获非连续的短语和单词依赖,以得到富含语义的表示。

(2)消融实验

在PHEME和WEIBO两个数据集上进行了KMGCN变形间的比较,如表 3表 4所示。KMGCN的变形如下:

  • KMGCN-NoKD:建模帖子时,去除了知识蒸馏;
  • KMGCN-NoVisual:建模帖子时,去除了视觉信息;
  • KMGCN-NoKDVisual:建模帖子时,去除了知识蒸馏和视觉信息。

表 3表 4中,可以看出:

1)将KMGCN-NoKDVisual和在两个数据集上分别取得最佳性能的baseline方法相比,即和WEIBO数据集上的TextGCN相比,和PHEME数据集上的GRU相比,可以看出,该方法均优于这些baselines,只在PHEME数据集上的Recall度量上欠佳。这表明了将图结构作为输入,可以有效地捕获到特征表示中词与词之间的长程(long-range)语义关联,以用于假新闻检测。

2)将KMGCN和KMGCN-NoVisual相比,可以发现将视觉信息去除后会导致模型性能的下降,但差别并不大。

3)将KMGCN和KMGCN-NoKD进行对比,可以看出有知识信息的模型表现得更好。这表明了知识信息的引入为假新闻检测提供了关键的补充信息。


(3)定性评估

图 3是两个KMGCN检测出的假新闻。

通过上图中的两个例子,可以直观地看出多模态信息和背景知识用于假新闻检测的重要性。

图 3a中,文本内容是正常的,并且不能提供证据来判断新闻是假的,当和结合图像来看时就能发现这个新闻是有问题的。视觉检测器检测出了一些语义目标,例如“people”,“airplane”,“clouds”,这些单词可以添加到文本内容中,以为假新闻检测提供补充信息。

图 3b中,图像看起来是正常的,但是相应的文本描述看起来是不可能的。本文的模型利用知识蒸馏获得了关于“judge”,“FBI”,“Congress”和“Obama”的知识概念作为背景知识,并且添加到文本内容中,以用于检测新闻的真假。

基于这些结果,可以看出本文的模型有效利用了帖子多模态的信息以及知识概念,以用于假新闻的检测。


5 总结

本文提出了一个知识驱动的多模态图卷积网络(KMGCN),利用了多模态的内容信息和额外的知识层面的连接信息,以用于假新闻的检测。

为了利用多模态的信息,我们将多模态的内容建模成图,包括帖子的文本、视觉信息,来捕获非连续的语义特征,并使用了外部的知识信息。

特别地,我们从知识图谱中进行了知识蒸馏,得到了概念集合,以用于补充短文本的语义表示。

在两个公开数据集上进行了实验,本文的模型超越了SOTA的baselines方法。

未来工作:使用更有效的方式抽取出视觉信息,以帮助模型识别假新闻。


优点

(1)引入了知识图谱中的知识信息;

(2)将文本信息、知识信息和视觉信息建模成图,可以捕获非连续的、长程的语义关系;

(3)使用了目标检测技术,利用到了图像中的语义信息。


参考文献

[1] Phong Le and Ivan Titov. 2018. Improving Entity Linking by Modeling Latent Relations between Mentions. In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 1595–1604.

[2] David Milne and Ian H Witten. 2008. Learning to link with wikipedia. In Proceedings of the 17th ACM conference on Information and knowledge management. ACM, 509–518.

[3] Nikolaos Kolitsas, Octavian-Eugen Ganea, and Thomas Hofmann. 2018. End-to-End Neural Entity Linking. CoNLL 2018 (2018), 519.

[4] Fabian M Suchanek, Gjergji Kasneci, and Gerhard Weikum. 2008. Yago: A large ontology from wikipedia and wordnet. Web Semantics: Science, Services and Agents on the World Wide Web 6, 3 (2008), 203–217.

[5] Wentao Wu, Hongsong Li, Haixun Wang, and Kenny Q Zhu. 2012. Probase: A probabilistic taxonomy for text understanding. In Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data. ACM, 481–492.

[6] Kenneth Ward Church and Patrick Hanks. 1990. Word association norms, mutual information, and lexicography. Computational linguistics 16, 1 (1990), 22–29.

[7] Jun Hu, Shengsheng Qian, Quan Fang, and Changsheng Xu. 2019. Hierarchical Graph Semantic Pooling Network for Multi-modal Community Question Answer Matching. In Proceedings of the 27th ACM International Conference on Multimedia. ACM, 1157–1165.

[8] Arkaitz Zubiaga, Maria Liakata, and Rob Procter. 2017. Exploiting context for rumour detection in social media. In International Conference on Social Informatics. Springer, 109–123.

[9] Jing Ma, Wei Gao, Prasenjit Mitra, Sejeong Kwon, Bernard J Jansen, Kam-Fai Wong, and Meeyoung Cha. 2016. Detecting rumors from microblogs with recurrent neural networks… In Ijcai. 3818–3824.

[10] Lihan Chen, Jiaqing Liang, Chenhao Xie, and Yanghua Xiao. 2018. Short text entity linking with fine-grained topics. In Proceedings of the 27th ACM International Conference on Information and Knowledge Management. ACM, 457–466.

[11] Jing Ma, Wei Gao, Zhongyu Wei, Yueming Lu, and Kam-Fai Wong. 2015. Detect rumors using time series of social context information on microblogging websites. In Proceedings of the 24th ACM International on Conference on Information and Knowledge Management. ACM, 1751–1754.

[12] Feng Yu, Qiang Liu, Shu Wu, Liang Wang, and Tieniu Tan. 2017. A convolutional approach for misinformation identification. In Proceedings of the 26th International Joint Conference on Artificial Intelligence. AAAI Press, 3901–3907.

[13] Liang Yao, Chengsheng Mao, and Yuan Luo. 2019. Graph convolutional networks for text classification. In Proceedings of the AAAI Conference on Artificial Intelligence, Vol. 33. 7370–7377.

[14] Yaqing Wang, Fenglong Ma, Zhiwei Jin, Ye Yuan, Guangxu Xun, Kishlay Jha, Lu Su, and Jing Gao. 2018. Eann: Event adversarial neural networks for multi-modal fake news detection. In Proceedings of the 24th acm sigkdd international conference on knowledge discovery & data mining. ACM, 849–857.

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
以下是瑞萨RH850F1KM-S1微控制器的输入捕获PWM例程,用于计算周期和占空比: ```c #include "rh850f1km.h" volatile uint32_t capture_value = 0; volatile uint32_t period = 0; volatile uint32_t duty_cycle = 0; void input_capture_init() { // 选择输入捕获功能的引脚 // 例如,选择P0_0作为输入捕获引脚 MPC.P00PFS.BYTE = 0x09; // PFS0_9: INPFCAP0 // 配置输入捕获模式 ICU.ICCR[0].BIT.ICCS = 0x01; // 使用捕获计数器CH0 ICU.ICMR[0].BIT.ICPSEL = 0x01; // 选择输入捕获模式1 (上升沿触发) // 配置输入捕获时钟源 ICU.ICOCR[0].BIT.ICODIV = 0x00; // 不分频 ICU.ICOCR[0].BIT.ICOSEL = 0x00; // 选择内部高精度时钟源 // 启用输入捕获中断 ICU.IER[1].BIT.IEN_ICIE0 = 1; // CH0 捕获中断使能 // 清除输入捕获中断标志 ICU.IR[1].BIT.IR_ICIF0 = 0; // CH0 捕获中断标志 // 使能输入捕获功能 ICU.ICCR[0].BIT.ICEN = 1; // CH0 捕获功能使能 } // 输入捕获中断处理函数 void input_capture_isr() { capture_value = ICU.ICCPW[0].WORD; // 获取捕获计数器的值 period = capture_value * 2; // 计算周期(以捕获计数器的计数值为基准) duty_cycle = capture_value * 100 / period; // 计算占空比(以捕获计数器的计数值和周期为基准) // 在这里处理输入捕获事件 } int main() { input_capture_init(); while(1) { // 主循环中进行其他操作 } return 0; } ``` 以上代码是一个输入捕获PWM的例程,它使用RH850F1KM-S1的输入捕获功能来测量PWM信号的周期和占空比。在输入捕获中断处理函数中,通过获取捕获计数器的值,可以计算出周期和占空比。 请注意,以上代码只是一个示例,实际使用时需要根据具体的硬件和需求进行适当的配置和调整。确保查阅RH850F1KM-S1的技术手册和参考资料以获取更详细的信息和指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值