第11章:从这里到哪里去

在过去的 10 章中,您学习了大量新工具来帮助您调查社交网络。您已经了解了社交媒体生态系统,并建立了可用于收集数据和分析数据的坚实技术基础。在最后一章中,您将了解一些可以帮助您加深知识、增强编码能力并成为更好的数据科学家的资源。

编码风格

与散文一样,每个人都有自己的代码编写风格。例如,在本书中,我们编写了旨在传达概念并帮助您浏览 Python 和我们需要的库的代码。这意味着我们的代码虽然实用,但也很冗长:我们将分析分解为步骤并详细说明每个步骤,例如使用变量在不同时间点存储数据帧或创建新列来过滤我们的数据。这种代码很棒,因为它可以帮助您(和其他合作者)了解流程的每个阶段。但是,当您开始编写更长、更复杂的脚本或 Jupyter 笔记本时,您可能希望使用比您在此处看到的更紧凑的语法。

同样,随着您继续进行更复杂的分析并开始使用越来越多的库,您将必须学习如何阅读各种编码风格。当我们在第 5 章重写我们的维基百科抓取脚本时,我们简要地谈到了编写可重用代码的想法。但是编写干净、智能和有效的代码还有很多。编码是一个更具协作性的过程,而不是你所相信的孤立的、反社会的编码者的媒体表现。例如,库作者可以从数百(有时是数千)其他使用其库并遇到问题的编码员的反馈中受益。编码人员总是使用他人的工作来增强他们自己的程序——使用别人的代码的第一步是能够理解它!

为此,以下是一些关于使用 Python 和 Pandas 编写干净代码以及在 Jupyter Notebook 中生成可重现数据分析的有用资源。虽然绝不是一份全面的指南,但它们是一个很好的起点:

我们在本书中使用的库和工具已经在 Python 用户中经受住了时间的考验,但是新的库一直在涌现,并且可能比现有库在某些方面做得更好。开源编程语言的本质是随着用户的需求而发展。在您继续您的旅程时,寻找由您所在行业的人维护的博客和论坛,以随时了解 Python 的最新趋势。作为即时学习 Python 的人,我可以亲自证明寻找有关 Python 和特定库(如 pandas)的资源的价值。

统计分析

在本书中,我们使用了统计分析领域的一些基本概念。但是,诸如均值和中值分析以及聚合和重新采样原始社交数据之类的概念仅代表您可以在社交网络上可用的数据集上运行的各种统计分析的一小部分。

以下是一些可帮助您培养统计分析技能的资源:

其他类型的分析

最后,还有一些更高级的分析,特别适用于社交网络数据,在过去几年中产生了一些出色的研究。

一个例子是自然语言处理 (NLP),这是将文本转换为数据以供分析的过程。许多 NLP 方法可通过 Python 库获得,包括自然语言工具包或 NLTK (https://www.nltk.org/) 和 spaCy (https: //spacy.io/)。这些库允许我们将文本分解成更小的部分——比如单词、词干、句子或短语——以供进一步分析。例如,您可以计算给定数据集中特定单词的出现次数,并研究它们与其他关键短语的关系,以了解人们如何在社交网络上讨论特定主题,在特定社区内和每个新闻事件周围的语音演变。哪些词与特定的新闻现象有关?这个词汇在不同群体之间有何不同?每个社区是否使用不同的语言来讨论同一件事?越来越多的团体在网上形成——基于身份类别、共同的政治和其他文化因素——最终形成了共同的词汇、节奏和意识形态。 NLP 可以帮助我们更好地理解这些群体的成员如何走到一起,并用自己的语言形成一个新的信息世界。

另一个爆炸性领域是机器学习,这是人工智能的一个子部分,已部署在从谷歌搜索栏的自动完成文本到保险估算的所有领域。在研究中,机器学习也可以成为对社交网络进行“分类”的强大工具。简而言之,机器学习的工作原理是将一堆数据输入程序并让它从这些数据中找到模式。例如,如果我们将第 10 章中关于 Twitter 上虚假代理的一些数据提供给机器学习算法,然后我们可以向它提供新数据,看看它是否可以根据第一个数据集中的模式将这些帐户分类为虚假代理.虽然这不是检测虚假政治演员的万无一失的方法,但它可能有助于缩小更大范围的推文和 Twitter 帐户的范围,以进行进一步审查。

以下是一些关于 NLP 和机器学习的建议资源:

  • 使用 Python 进行自然语言处理,Steven Bird、Ewan Klein 和 Edward Loper 为 NLP 编写的精彩在线入门书,清楚地为学习者解释了一些最重要的概念,同时还教授技术技能 https://www.nltk.org/book/
  • “spaCy 101:你需要知道的一切”,一个有用的介绍性教程 spaCy,一个允许语言分析的 Python 库 https://spacy.io/usage/spacy-101
  • “使用 scikit-learn 介绍机器学习”,它为刚开始使用机器学习的人提供了有关 scikit-learn 库的有用教程 https://scikit-learn.org/stable/tutorial/basic /tutorial.html

结论

在 10 章的课程中,你能学到的东西就这么多。与任何技能一样,我们都有成长和磨练技能的空间,使它们适应我们工作的特定领域。我在本书中的目的是为您提供一个坚实的基础,在此基础上建立对社会的未来分析媒体生态系统。最重要的是,我希望我已经激发了您询问社交媒体世界和更好地了解在线人类行为所需的好奇心。我们只能在短时间内观察到社交媒体的影响。希望这本书能够让您了解它在未来几年的影响。