王 浩,许小可
(大连民族大学信息与通信工程学院,辽宁 大连 116600)
近几年来,随着社交网络的迅猛发展,越来越多的用户通过微博、微信等社交软件进行信息交流。社交网络涵盖以用户社交为核心的所有网络服务形式,互联网是一个能够让用户相互交流、相互参与的互动平台[1]。截止到2020年,全球社交网络用户规模达到32.3亿人,在互联网用户的比例达到80.7%,用户平均每天在社交网络和即时通讯应用上花费2小时24分钟。因此,社交网络数据引起了大量研究者的研究兴趣[2]。
在社交网络的数据挖掘中,用户性别识别是受到关注的研究方向之一。研究用户属性,准确进行用户性别识别可以更好地进行智能营销、个性化预测及虚假信息识别等研究[3-4]。用户性别信息在个性化服务,定向广告,推荐系统等方面具有巨大的价值。但是,用户性别是一种个人隐私信息,部分用户不愿意公开自己的真实性别,在注册性别信息时故意使用假信息或者不填写。在无法通过直接手段获得用户真实性别的情况下,通过特征工程结合机器学习方法对用户的性别进行识别就很有必要。性别识别的主流方法是分析用户文本中体现出的语言特征,如习惯使用的词语类别,使用词语的频次统计以及文本中隐含的情感特征等[5-8]。目前,宋巍等[1]根据用户兴趣偏好和文本词特征对微博用户性别识别准确率为84%,刘宝芹等[9]利用微博情感特征和文本词特征对用户性别进行识别的准确率为82.8%,用户性别识别准确率还有待提升。
主流的性别识别方法主要是基于单个用户的文本内容,忽略了用户使用的表情符号以及多用户之间的交互信息。目前表情符号已经成为各种社交媒体中必不可少的元素,与传统的文字相比,表情符号更加生动形象,可以更加直观地表现出高兴、悲伤、愤怒等情感[10-12]。研究表明,男性用户和女性用户在社交媒体中使用表情符号的喜好上存在差异,且不同性别用户往往使用不同情感种类的表情符号[13]。此外,社交网络最大的特点是多用户之间可以进行交互,多用户之间的交互信息可以用来识别用户性别。例如,某条微博的评论中使用了“美女”,“漂亮”等词语,可以判断出发布微博的用户为女性用户。因此,基于用户文本特征,融合表情符号和交互特征能否提升用户性别识别准确性是有价值的研究问题。
目前,关于社交网络用户的性别识别工作主要是在脸书、推特、博客等平台上进行研究。大多数性别识别研究工作是借助用户信息以及用户发表的博客文本。例如,Mukherjee等[14]根据不同性别用户的博客文本在写作风格上的差异,对用户的性别进行识别;Mcgee等[15]从用户发表的博客文本中,挖掘出用户的情感信息,利用情感特征对用户进行性别识别。其他的研究者通过用户的用户名等个人信息识别用户的性别。例如,Burger等[16]利用Twitter的用户账户名、用户全名以及用户个人描述三项资料来识别用户的性别。由于微博等社交网络媒体的迅速发展,国内研究者开始将目光转向中文微博用户的性别识别。宋巍等[1]根据用户兴趣偏好对微博用户性别进行识别。刘宝芹等[9]针对两性用户中文微博文本情绪上的差异,提取情绪词特征和情绪相关的语言风格特征识别用户性别。王晶晶等[17]分别利用用户名特征和文本特征对用户性别进行识别,然后将用户名和文本特征进行融合识别用户的性别。
表情符号的研究大多是关于表情符号在用户交流中的作用以及表情符号的情感倾向性分析,Mcshane等[18]研究表情符号对用户的影响力,发现表情符号的出现会增加用户对话题的参与度;Kelly等[19]研究表情符号如何影响朋友之间的人际关系。此外,Butterworth等[13]关注不同性别的用户在表情符号使用习惯上的不同;Prada[20]也通过实验证明,女性使用表情符号的频率更高,对表情符号的使用态度也更积极。
本文的创新和主要贡献包括两个方面: 1)提出了利用表情符号特征识别用户性别的新思路,并融合文本和表情符号特征对用户性别进行识别。实验表明利用表情符号特征进行用户性别识别是一种有效的方法,且融合表情符号特征后用户性别识别的性能得到提升。2)提取交互信息中的文本和表情符号作为交互特征识别用户性别,并在单个用户特征基础上融合交互特征识别用户性别。实验结果表明融合交互特征提高了用户性别识别的精度。
本实验使用新浪微博微热点大数据研究院提供的单个用户微博数据集和用户交互数据集。单个用户微博数据集的用户多为明星用户以及粉丝量多的大V用户,如黄渤、何炅等,微博内容大多是对生活的分享,用户交互数据集中的用户基本是粉丝较少的普通用户,且微博内容多是某些话题的讨论。单个用户微博数据集共有226.3万条微博数据。为了保证实验的准确性,去除原始数据中的重复微博内容以及使用表情数量较少的用户,最终选取男性用户和女性用户各550个,每个用户的微博数量为1 000条,单个用户数据中包含用户姓名、认证类型、用户性别、微博内容等属性。用户交互数据集共有174.7万条数据,过滤后选取19 000个男性用户和19 000个女性用户,用户交互数据包括原创微博用户名、用户认证类型、原创微博用户性别、微博转发评论内容以及评论用户的性别等。新浪微博将用户分为“普通用户”、“橙V用户”、“蓝V用户”、“达人用户”和“金V用户”,“普通用户”是指没有经过认证的个人用户和企业用户。为保证实验结果的可靠性,本实验数据中使用的所有微博用户数据都是经过新浪微博官方认证的个人用户数据。
2.1.1 基于文本特征的用户性别识别
目前通过文本识别用户性别的主流方法有两种,一种是通过文本中词语的使用频率来识别用户性别,另一种挖掘文本中的情感信息进行用户性别识别,本文通过文本识别用户性别也使用了这两种常用方法。
分析用户的微博文本,发现文本中有高性别区分性的词语可以用来识别用户性别,例如“兄弟”、“女朋友”、“足球”等词语往往来自于男性用户,“丈夫”、“姐妹”、“高跟鞋”等词语更可能被女性用户使用。因此,本文计算微博文本中每个词的使用频次作为特征识别用户性别。
不同性别用户在微博中表达的情感存在着差异,女性用户使用情绪词的数量以及表达正向情绪的频率都高于男性用户,且女性比男性表达某种情感更加强烈[14]。因此,本文使用大连理工大学的情感词汇本体库和情感词典统计用户微博文本中使用的情感词种类个数以及乐、好、哀、怒、惧、恶、惊七类情感每类情感词的个数作为特征,并把七类情感词分为积极情感和负面情感两大类,按照文献[15]提到的公式计算微博文本的情感词多样性。
TTR=V/N
(1)
(2)
(3)
其中,V和N分别代表一个用户微博文本中出现的情绪词种类个数和情绪词总个数,x.Aggvalue表示某类情感词相对频率,xWords表示文本中某类情感词的个数,aWords表示微博文本单词总长度,PosToAllRatio代表文本中积极情绪与所有情绪的比率,pos.Aggvalue和neg.Aggvalue由公式(2)给出。
本文采用的单个用户的性别识别文本特征如表1所示。其中,文本词特征指的是利用信息增益的特征选择方法计算文本中每个一元词的IG值,IG值反映了一个特征对整个分类的重要程度,词特征IG值越大表示这个词特征越重要[21],本文选取IG值最高的前1 000个一元词作为文本词特征。
表1 单个用户文本特征Tab 1 Single user text features
2.1.2 基于表情符号特征的用户性别识别
与文本相同,本文通过表情符号识别用户使用了两种方法,一种是微博中表情符号的使用频率来识别用户性别,另一种是利用表情符号的情感特征识别用户性别。
表2 使用频率前十的表情符号Tab.2 The top 10 most frequently used emojis
计算数据中不同性别用户中使用频率前十的表情符号,如表2所示,可以发现女性用户和男性用户在使用表情符号的喜好上有所不同,男性用户更喜欢使用和等表情符号,女性用户喜欢在微博中使用和等表情符号。因此,通过不同性别用户使用表情符号的差异可以识别用户性别,本文计算每个表情符号的使用频率作为特征识别用户性别。
从用户微博所表达的情感方面考虑,表情符号能生动形象地表达用户的情绪,用户在表达自己积极的情绪时,往往使用和等表示积极意义的表情符号。目前学界普遍将表情符号情绪划分为正面(高兴、喜爱、惊讶)、负面(悲伤、愤怒、恐惧、厌恶)、中性和其他情绪,如表3所示。本文统计了单个用户数据中不同性别用户每类情感的表情符号使用数量,如表4所示,可以看出女性用户比男性用户使用积极表情符号数量多,男性用户使用消极、中性和其他三类表情符号的数量比女性用户多。图1表明男性用户使用的表情符号中积极表情占58.5%,消极表情、中性表情和其他表情分别占了26.2%,8.6%和6.7%,而女性用户使用积极表情占比达到81.1%,远远超过其他三类表情的使用率。因此,本文计算每个用户微博中使用的表情符号种类个数以及积极、消极、中性、其他四类表情每类表情符号的个数作为特征。根据文本情感词丰富性的计算公式,计算TTR.Emoji,x.EmojiAggvalue来表示表情符号情感丰富性,计算公式如式(4),(5)所示。
(4)
(5)
其中,VEmoji和NEmoji分别代表一个用户微博中出现的表情符号种类个数和表情符号总个数,xEmojis表示微博中某类表情符号的个数,aWEMojis表示微博中使用的表情符号总个数,x.EmojiAggvalue表示某类表情符号的相对频率。
表3 表情分类[22]Tab.3 Emoji classification[22]
表4 不同性别用户表情符号使用情况Tab.4 Emoji usage among users of different genders
图1 不同性别用户表情使用数量比例Fig.1 The proportion of emojis used by different genders
本文采用的单个用户的表情符号特征如表5所示。其中,表情词特征指的是利用信息增益的特征选择方法计算微博中每个表情符号的IG值,选取IG值最高的前100个表情符号作为表情词特征。
表5 单个用户表情符号特征Tab.5 Single user emoji features
由于用户在社交网络中不是单个存在的,交互是社交最本质的核心。因此,微博提供了转发、评论和@等机制让用户之间进行交流沟通。多个用户在交互时会产生交互文本,这些交互文本会提供一些重要信息来识别用户的性别。例如,一名女性用户说:“周末快乐,准备出去看电影了”,一名男性用户评论:“一起去呀,美女”。仅通过单个用户微博并不容易判断发博用户的性别,而通过评论中的“美女”则可以判断出发博用户性别为女性。因此,本文将提取交互文本的词特征对用户性别进行识别。
多用户的交互文本形成了简短的对话,F-measure特征已经被证实可以应用于区分两性在上下文表达中的差异[16]。因此,在交互中对男性用户和女性用户具有较好的区分度,本文将F-measure特征加入交互特征空间。该特征可以根据式(6)来获得:
F-measure=0.5*[(freq.noun+freq.adj+freq.prep+freq.art)-
(fre.pron+fre.verb+freq.adv+freq.int)+100]
(6)
其中,freq.noun,freq.adj,freq.prep,freq.art,freq.pron,freq.verb,freq.adv,freq.int分别表示文本中名词、形容词、介词、冠词、代词、动词、副词和感叹词的频率。
表情符号是用户交互中常用的符号,对于人际交流有重要的作用。研究表明,用户与不同性别的用户交互中使用的表情符号存在差异[23]。例如,男性用户在交互时经常使用和等表情符号,而女性用户在交互时更喜欢使用和等表情符号。此外,评论用户的性别也是帮助我们识别用户性别的重要信息,为了更好地挖掘不同性别用户交互中表情符号使用的差异,提高用户性别识别的性能,本文将提取用户交互信息中的表情符号和评论用户的性别进行组合作为特征来识别用户性别。表6给出了提取表情符号和性别进行组合作为特征的例子。
本文采用的多用户之间的交互特征如表7所示。交互文本特征指的是利用信息增益的特征选择方法计算交互文本中每个一元词的IG值,选取IG值最高的前1 000个一元词作为交互文本特征,表情符号+性别特征指的是利用信息增益的特征选择方法计算每个表情符号与性别组合的IG值,选取IG值最高的前100个组合作为表情符号+性别特征。
表6 表情符号和性别组合特征样例Tab.6 Examples of emoticons and gender combination features
表7 多用户交互特征Tab.7 Multiple users interaction features
本实验使用XGBoost算法对中文微博用户进行性别识别,XGBoost在传统的GBDT基础上加以改进,具有可容错、可移植、性能好等优点。采用Jieba分词工具对文本进行分词处理,并根据停用词典去除文本中的停用词,使用正则表达式对微博中的表情符号进行提取。从筛选后的数据中,选取数据的80%为训练数据集,20%为测试数据集,然后基于XGboost算法训练模型,通过训练的模型在测试集识别用户性别。实验结果的评测指标选用准确率、精准率、召回率、F-score。
3.2.1 基于单个用户文本和表情符号特征的性别识别结果分析
表8中给出了使用文本特征和表情符号特征识别用户性别的结果,可以看出文本词特征的用户性别识别准确率为81.0%,而文本情感特征的性别识别准确率为77.1%,比文本词特征低了3.9个百分点,一方面因为情感特征的维数比较少,情感词典无法包含所有的情感词。另一方面中文有其自己的特殊性,不同情感词在不同的中文语境里有不同的含义,进而影响了用户性别识别的准确率。文本的情感特征+词特征的准确率达到82.1%,比只使用文本词特征提高了1.1个百分点。
表情符号情感特征+词特征的准确率达到了79.7%,仅比使用文本特征低了2.4个百分点,说明根据表情符号特征识别用户性别是一种有效的方法。在融合表情符号特征后,用户性别识别准确率达到了85.5%,比只使用文本特征提升了3.4个百分点,精确率上升了3个百分点,召回率和F-score分别上升了3.3和3.4个百分点,这说明表情符号特征对用户性别识别性能是有较大帮助的。
3.2.2 基于多用户交互信息的性别识别结果分析
表9中给出了通过交互特征识别用户性别的结果,可以看出利用交互文本特征识别用户性别的准确率为65.9%,交互表情符号特征的性别识别准确率为69.5%,交互文本特征+交互情感特征识别用户性别的准确率为74.5%,用户性别识别效果比单独使用交互文本特征或者交互情感特征好,再次证明融合表情符号特征能提高用户性别识别的准确性。在单个用户特征的基础上,融合交互特征后用户性别识别的各项评价指标都有提高,准确率提高了4.2个百分点,说明融合多用户的交互特征能有效提升用户性别识别的准确性。
表8 单个用户数据融合文本和表情符号特征的用户性别识别效果Tab.8 The gender recognition effect of combined with text and emoji features in single user data
表9 交互数据融合交互特征的用户性别识别效果Tab.9 The gender recognition effect of combined with interactive features in interactive data
3.2.3 文本和表情符号特征分析
为了进一步探究文本和表情符号特征在用户性别识别中的具体作用,本文通过T-SNE特征降维方法将文本词特征和表情词特征分别降到3维,将文本情感特征和表情情感特征分别降到2维,然后对各类别特征进行特征相关性分析和特征重要性分析,结果如图2所示。
图2a为各类别特征相关性分析结果,可以发现文本词特征text_freq2和表情符号词特征emoji_freq1之间具有一定的相关性,主要由于某些文本词常和固定表情符号连用。表情符号词特征emoji_freq2和表情符号情感特征emoji_emotion1之间也有一定的相关性,是因为用户通常使用表情符号来表达自己的某种情感。总的来说,文本特征和表情符号特征之间相关性较小,说明这些特征之间几乎是相互独立的。
图2b为各类别特征的重要性分数排序结果,横坐标为特征的重要性分数,可以发现文本词特征得分最多,对用户性别识别影响力最大,主要是由于文本词特征维度较大,对用户性别识别的效果最好。表情符号词特征和表情符号情感特征影响力相对较小,主要是由于表情符号个数较少,导致不同性别用户使用某些表情符号的差异较小。此外,文本情感特征的影响力最小,主要是因为某些词语在不同语境中表达不同的情感,导致与情感词典中标注的情感不同,从而降低用户性别识别的效果。
图2 特征相关性和重要性分析Fig.2 Feature correlation and importance analysis
本文针对提升社交网络的用户性别识别准确性进行研究。首先,提出利用表情符号识别用户性别,并融合文本和表情符号特征对用户性别进行识别。其次,提取交互信息中的文本和表情符号特征作为交互特征,在单个用户特征基础上融合交互特征识别用户性别。实验结果表明: 1)表情符号特征对用户性别识别有比较好的效果,准确率达到79.7%;2)融合表情符号和交互特征能提高用户性别识别性能,准确率提升了6.8%,性能优于单独使用文本特征,说明表情符号和交互特征对用户性别识别是有效的。
在社交网络中还有其他信息对用户性别识别有帮助,例如用户名、用户兴趣标签以及用户关注网络等。在下一步工作中,将考虑基于更多用户信息进行社交网络用户性别识别,提高识别的准确性和鲁棒性。