当前位置: 首页 > 编程日记 > 正文

分析6千万条GitHub帖子,发现你的工作状态与表情符号强相关


作者 | 凌霄

出品 | AI科技大本营(ID:rgznai100)

新冠疫情使得远程办公的人数大幅度增加,然而,当越来越多的人远程工作时,人们的情绪和心理健康状态也难以通过日常面对面的交流来观察,雇主们也就无法获得员工的工作满意度和心理健康状态。

众所周知,工作中的个人的情绪状态是反映工作动机,态度的关键信号,也与你的工作绩效紧密相关,例如,饱满的激情可以增加创造力,过度的激情则会导致倦怠,进而导致低生产力,甚至于中止工作。在线下的工作场合中,我们可以从面对面的交流中观察彼此的情绪状态。

GitHub最近的一份报告指出,开发人员在疫情期间的工作时间更长,不免引发了对开发人员的工作态度是否倦怠产生了担忧。因此,如何追踪远程办公人员的情绪状态和心理健康是研究工作中的一大挑战。

远程办公时,许多的在线平台被利用起来进行沟通和协作,虽然有一部分工作中的交流是实时和面对面的(如视频会议),但更多的是通过文本进行传达(如电子邮件、即时消息、论坛讨论)。人们也同样会在这些文本中表达情感,来自密歇根大学、马里兰大学和北京大学的研究人员通过监控文本表情的表达来跟踪人们的精神状态。研究人员发现了在线交流中文本表情与员工的工作状态高度相关,为监控员工的情绪状态提供了一种新的方法,可以帮助公司预测远程办公员工的工作行为模式,甚至于评估员工的离职风险。

在线文本表情能真实反映远程办公人员的工作状态吗?

这个问题其实并不容易回答,它需要分析在线工作平台上活动和交流的纵向数据集,而这些数据集在大多数领域要么不存在,要么不公开。该分析还依赖于识别在线交流中清晰的情感信号。虽然人们可以使用NLP技术从文本中提取情感,但文本表达的模糊性使得人们很难将情感与工作内容区分开。文本也无法捕捉到非语言信号,例如面部表情和手势,而这些真是人们在面对面表达情感时经常使用的。

研究人员选择GitHub作为测试平台。Github是一款在线软件开发协同平台,拥有数百万开发者用户。通过GHArchive收集的多年事件日志数据集,研究人员能够追踪开发人员的多种类型的工作活动,例如push、comment、issue等,其中包括GitHub提供的20多种事件类型。他们重点分析了这些情境下表情符号的使用情况。表情符号不仅是情感的载体,而且还代表了丰富的非语言线索,能感知用户的情绪状态和心理健康。

仅2018年一年,研究人员就获得了62,852,221篇帖子,探讨了第一个研究问题,即开发人员在GitHub上的交流中使用表情符号的广泛程度,特别是开发人员是否经常在不同的工作活动和不同的编程语言中使用表情符号。有趣的是,他们发现这些帖子中有3-14%包含表情符号,而表情符号的变化取决于开发人员参与交流的类型和他们使用的编程语言。

上图中统计了在Github各个板块上表情的使用情况。除了表中的这些显著差异之外,研究人员还观察到Github上使用的许多表情符号明显与情绪相关,比如面部表情和手势,特别是在评论中回应其他开发人员时,开发者会直接使用表情符号来工作和表达情绪。

表情和你使用的编程语言也是有关系的!

上图展示了编程语言之间的差异,编程语言中,如JavaScript、HTML、TypeScript和CSS,都是表情发帖比例较高的语言。PowerShell是一个例外,可能是因为PowerShell的开发人员较少,且较少使用表情包。不同编程语言中表情符号使用的差异,主要是由于特定开发者社区的不同规范和程序员自身不同个性所导致的。

为了评估表情的使用与所选变量,例如活动时间,活动种类等的联合相关性,该研究以开发者的表情发帖数量和表情发帖比例作为结果变量,进行了一系列线性回归(OLS)。研究控制了开发者的“人口统计学”变量,因为这些变量可能会混淆表情符号使用和工作状态之间的相关性。除了开发者的主要编程语言,研究人员还可以控制开发者们在GitHub上的使用年限。回归的结果表明表情符号的使用高度反映了开发者的工作状态,而不是仅仅由于开发者社区规范所导致的差异。

平均工作时间越长或者post板块应用多的人,使用emoji表情相比其他开发者越多,同时使用emoji表情的比例也越高,相比之下,使用working days的开发者使用emoji表情的比例较低。使用emoji表情的比例越高,说明开发者整体发言或者发帖数量也会减少。活动水平或工作量的增加可能与工作热情或压力有关,而减少则可能反映出工作倦怠。使用push板块的开发者使用更少的表情符号,而在issues,pull requests,comments板块有更多活动的开发者也会使用更多的表情。获取更多评论的开发者也会使用更多的表情,因为在评论区,开发者更倾向于使用标签表达对合作者的赞赏和鼓励。

表情的数量和比例反映了开发者的工作状态,进一步的,研究人员通过表情符号的使用捕捉与工作相关的开发者特征,并用来预测工作结果。研究人员研究了使用表情符号作为一个因素来观察与员工情绪状态和心理健康相关的结果,如激情、抑郁和倦怠,但是这些结果很难在规模上精确衡量。因此,该项研究中选择了一个相关且容易衡量的事件作为预测目标,即在未来一年,开发者是否会在GitHub上不进行任何活动,即退出平台的使用。


研究人员在更细的粒度上描述开发者使用表情符号的情况,用于研究表情符号是否可以帮助预测开发者的退出。研究提取了2018年的表情符号使用特征,并使用它们来预测2018年活跃的开发者是否会在2019年退出GitHub上的工作活动,主要定义为零工作日或每日工作小时数。由于表情符号的使用与活动水平高度相关,并且两者都与编程语言相关,研究人员在预测任务中对这些额外的因素进行了控制。

研究结果表明,如果开发者在他们的post中使用表情符号,他们就不太可能中途退出开发平台,而且当他们撰写更多,但是数量合理的表情符号的post时,退出平台使用的风险会进一步降低。然而,当开发者的post中含有表情符号的比例很高时,相关度会出现不同的变化,因为这些用户可能对表情符号很着迷,表现出了一种潜在的痴迷的激情。

如上图所示,表情符号使用的多样性,主要体现在表情符号的数量和表情符号的熵,都会对开发者中途退出开发平台产生负向影响。表情符号熵越大,开发者退出开发平台的风险越低。表情符号的多样化使用可能表明用户处于良好的情绪状态,并且沉迷或疲劳的风险较低。通过表情符号表达的情绪也显示出与用户中途退出具有很有趣的关系,积极情绪、消极情绪、悲伤和焦虑的情绪得分大多呈负相关,而愤怒的情绪得分则呈正相关。这表明,使用表情符号表达这些情绪,即使是消极的情绪,都能降低开发者退出开发平台的风险。不过,出去研究结果中的这些异常值,研究结果中整体显示的开发者的情绪状态和心理健康与退出开发平台之间呈正相关关系。

总体来说,这项研究表明,开发者使用表情符号,本质上是表达情感的符号,可能是他们在GitHub上投入工作的一个线索,因为使用表情符号的人不太可能退出这个平台。这一发现有助于开发基于表情符号的预测远程工作者工作满意度的工具,或检测愤怒、焦虑和抑郁迹象的系统,可以用于直接对那些正在努力跟上工作进度的员工提供及时的帮助。此外,研究人员认为他们的工作可以激励公司设计提高远程办公人员的幸福感和工作满意度的策略,例如鼓励他们使用表情符号表达积极和消极的情绪。

研究人员说,在他们正在进行的研究中,正在寻找表情符号使用与工作相关结果之间的因果关系,我们正在研究是否可以将表情符号用作一种工具,以帮助提高远程办公人员的办公表现,甚至于在他们想要退出时,及时的挽留。

参考文献:

1.Xuan Lu, Wei Ai, Zhenpeng Chen, Yanbin Cao, Xuanzhe Liu, and Qiaozhu Mei. 2021. Emojis Predict Dropouts of Remote Workers: An Empirical Study of Emoji Usage on GitHub. In Proceedings of ACM Conference (Conference’17). ACM, New York, NY, USA, 11 pages. https://doi.org/10.1145/nnnnnnn.nnnnnnn

2.https://techxplore.com/news/2021-03-patterns-emojis-dropout-remote-workers.html

更多精彩推荐
☞Python 玩出花儿,把罗小黑养在自己桌面☞315 曝光人脸识别摄像头,进店瞬间偷走你的“脸”,自动分析心情☞玩转3D全息图像!AI即刻生成☞在 5G 速度上,iPhone 12 只是个弟弟

相关文章:

软件定义网络 对我们有多重要?

软件定义网络(简称SDN)属于网络流量控制的下一个步骤。Tech Pro Research发布的调查报告正是以此为中心,旨在为我们展示企业如何使用SDN方案。 过去几年以来,以更为高效方式管理环境的需求正快速普及,这也使得网络领域的更高灵活性与控制手段…

SQL Server数据库六种数据移动方法

1. 通过工具DTS的设计器进行导入或导出DTS的设计器功能强大,支持多任务,也是可视化界面,容易操作,但知道的人一般不多,如果只是进行SQL Server数据库中部分表的移动,用这种方法最好,当然&#x…

[企业化NET]Window Server 2008 R2[3]-SVN 服务端 和 客户端 基本使用

1. 服务器基本安装即问题解决记录 √ 2. SVN环境搭建和客户端使用 2.1 服务端 和 客户端 安装 √ 2.2 项目建立与基本使用 √ 2.3 基本冲突解决,并版,tags 3. 数据库安装 4. 邮件服务器搭建 5. JIRA环境搭建和使用 6. CC.NET项目持续发布工具…

又一个Jupyter神器,操作Excel自动生成Python代码

来源 | Python数据科学(ID: PyDataScience)不得不说,Jupyter对于表的处理真的是越来越方便了,很多库可以直接实现可视化操作,无需写代码。但是这还不够,最近看到一个神器叫Mito,它真的是做到了无…

CIR:2020年全球数据中心应用AOC市场达$42亿

未来十年,QSFP和CXP将占有源光缆销售收入的大部分。到2020年,QSFP和QSFP28销售收入将分别达到7.27亿美元和7.41亿美元。 根据CIR(CommunicationsIndustryResearchers)的最新报告(《2015有源光缆市场:数据中心和高性能计算市场》),…

Visual C#创建资源文件

资源文件顾名思义就是存放资源的文件。资源文件在程序设计中有着自身独特的优势,他独立于源程序,这样资源文件就可以被多个程序使用。同时在程序设计的时候,有时出于安全或者其他方面因素的考虑,把重要东西存放在资源文件中&#…

给IIS添加CA证书以支持https

一、在IIS中生成Certificate Signing Request (CSR) 个人理解:生成CSR就是生成“私钥/公钥对”之后从中提取出公钥。 1. 打开IIS Manager,在根节点中选择Server Certificates(服务器证书),点击右侧的Create Certificat…

MathWorks的AI之路:面向工业场景,打通开发到部署的全链路

作者 | 阿司匹林 AI正在快速发展,并在更多的领域落地。对于MATLAB和Simulink的开发商MathWorks来说,把握AI的机会,显得尤为重要。 不少人对MATLAB等的印象依然停留在学校期间学习的高级线性代数解题器的阶段。然而,MATLAB在几年前…

《Android应用开发攻略》——1.3 从命令行创建 “Hello, World”应用程序

1.3 从命令行创建 “Hello, World”应用程序 Ian Darwin1.3.1 问题你想在不使用Eclipse ADT插件的情况下创建新的Android项目。1.3.2 解决方案使用Android开发工具包(Android Development Kit,ADK)中的android工具,利用creat proj…

将Excel文件数据库导入SQL Server

将Excel文件数据库导入SQL Server的三种方案//方案一: 通过OleDB方式获取Excel文件的数据,然后通过DataSet中转到SQL Server openFileDialog new OpenFileDialog();openFileDialog.Filter "Excel files(*.xls)|*.xls"; if(openFileDialog.…

Android----PopupWindow

Android的对话框有两种:PopupWindow和AlertDialog。它们的不同点在于:  AlertDialog的位置固定,而PopupWindow的位置可以随意  AlertDialog是非阻塞线程的,而PopupWindow是阻塞线程的 PopupWindow的位置按照有无偏移分&#x…

GitLab 在中国成立公司极狐,GitHub 还会远吗?

作者 | 宋慧 责编 | 苏宓出品 | CSDN(ID:CSDNnews)开源的种子已在中国落地开花。今天,中国的开源圈再次迎来一大盛事:全球第二大开源代码托管和项目管理平台 GitLab与红杉宽带等基金正式宣布成立中国合资公司极狐信…

消除危害 让BYOD策略更安全的几个秘诀

自带设备办公(BYOD)已经不是什么新鲜的事情,在近些年,随着移动设备的发展,员工利用自带设备办公已经成为一件非常平常的事情。 但是由于出于安全问题的考虑,一些企业禁止员工通过自带设备连接到公司网络中进行办公。他们不允许个人…

图神经网络如何对知识图谱建模? | 赠书

几乎所有早期的知识图谱嵌入的经典方法都是在对每个三元组打分,在实体和关系的表示中并没有完全考虑到整幅图的结构。早期,图神经网络的方法在知识图谱嵌入中并没有被重视,主要由于:早期的图神经网络更多是具有同种类型节点和边的…

浅析ado.net获取数据库元数据信息

写这个文章源于早先对ADO.Net获取数据库元数据上的认识,去年我在阅读ADO.Net Core Reference的时候曾经注意过DataSet的FillSchema的这个方法。这方面,在我之前的随笔中提到过Typed DataSet,而FillSchem与WriteXmlSchema的结合使用可以获得数…

账户密码策略修改

由于是虚拟测试环境所以AD 和 Exchange安装在同一台虚拟机上,所以修改账户密码策略已达到降低密码是设置的复杂度。 1.打开 --开始--管理工具--组策略管理 2.选择--Default Domain Policy 右键编辑 3.选择计算机设置--策略--安全设置--账户策略--密码策略 4.调整--密…

什么是新IP的四层网络技术

新IP技术共有四层:物理底层、网络服务、控制服务和编排。通过这四个层级实现网络虚拟化和软件定义网络,下面就来详细说一说什么是新IP的四层网络技术。 物理底层 新IP技术依然是一种基于硬件的技术,脱离不了物理底层,所有的虚拟软…

按拼音模糊匹配查询条件的生成类

转载了好几个地方,很难确定最早的出处。将源码贴出来先。1usingSystem; 2usingSystem.Text; 3usingSystem.IO; 45namespacets6{ 7 class test 8 { 9 private static string[] startChars {"啊", "芭", "擦","搭…

Java架构技术文档:并发编程+设计模式+常用框架+JVM+精选视频

本篇文章是我们整理的一份架构师的成长路线,包括了并发编程、设计模式、常用框架、中间件、微服务与分布式、常用工具、JVM、MySQL、数据结构与算法,还有架构师精选视频、架构师成长路线高清大图。又是新的一年,每一年都会有人在成为架构师的…

linux tune2fs简解(每日一令之五)

1:命令简介Linux下的文件检测命令,且可以自行定义自检周期2:用法[rootuyhd000225 ~]# tune2fs --help tune2fs 1.39 (29-May-2006) tune2fs:无效选项 -- - Usage: tune2fs [-c max_mounts_count] [-e errors_behavior] [-g group][-i interva…

物联网技术正颠覆传统医疗行业

如果你或你的爱人最近正在接受治疗,你可能会觉察到一些很酷的新设备可以辅助诊断和治疗。然而,你可能没有意识到,一部分这些设备已连接到互联网,成为物联网生态系统的一个重要组成部分。 到底如何连接核磁共振成像仪、CT扫描仪或实…

数组的进一步使用

数组是数据结构中最基本的结构形式,它是一种顺序式的结构,存储的是同一类型的数据。每个数组元素都拥有下标(index)和元素值(value),下标方便存取数据,而元素值就是被存储的数据。 数…

百度香港二次上市,12 岁开发者、AI 机器人同台敲响“芯片代码锣”

整理 | AI科技大本营(ID:rgznai100)今日,继 2005 年百度在纳斯达克上市后,百度在香港的第二次上市。上市首日开盘价254港元每股,截至发稿,为 252 港元每股,总市值约为 7129 亿港元。现场“敲锣人…

Linux启动流程(二)

//...根据grub内核映像所在路径,读取内核映像,并进行解压缩操作。并调用start_kernel()函数来启动一系列的初始化函数并初始化各种设备,完成Linux核心环境的建立1.start_kernel(init/main.c)中调用一系列初始化函数:(1) 在屏幕上打印出当前的内核版本信息…

写代码可能是成为软件工程师最容易的部分

当然,写代码是超级重要的,但是我认为它只是整个过程中的一小部分,且不一定是最难学的。 学习如何写代码要花些时间,但是只要有足够的训练(每天写代码,坚持数年),你就能真正擅长它。 …

不是“重复”造轮子,百度飞桨框架2.0如何俘获人心

2016 年,百度 PaddlePaddle 打响了国产深度学习框架开源的第一枪。 2019 年 4 月,在 Wave Summit 深度学习开发者峰会上,首次发布了PaddlePaddle 的中文名“飞桨”,开始强调自己更适合中国开发者,以及更加专注于深度学…

基于Sql Server 2008的分布式数据库的实践(一)

原文 基于Sql Server 2008的分布式数据库的实践(一) 配置Sql Server 2008(Win7) 1.打开SQL server2012,使用windows身份登录 2.登录后,右键选择“属性”。左侧选择“安全性”,选中右侧的“SQL S…

HttpHand和HttpModule的详细解释,包括Asp.Net对Http请求的处理流程。

了解当用户对一个.aspx页面提出请求时,后台的Web服务器的动作流程。当对这个流程了解后,我们就会明白HttpHandler和HttpModule的作用了。 首先,来了解一下IIS系统。它是一个程序,负责对网站的内容进行管理,以及对客户的…

WebGL初探

目前,我们有很多方案可以快速的接触到 WebGL 并绘制复杂的图形,但最后发现我们忽视了很多细节性的东西。当然,这对初学 WebGL 是有必要的,它能迅速提起我们对 WebGL 的学习兴趣。当学习到更加深入的阶段时,我们更想了解…

Linux下用C语言最基本的程序开发与调试

1.建一个目录2.写代码,建一个hello.c文件代码:view plaincopy to clipboardprint?#include "stdio.h" main() { printf("Hello Linux.\n") } #include "stdio.h" main() { printf("Hello Linux.\n")…