1. 语义网络的基本概念、理论和方法

1.1 基本概念

基本知识

  • “语义角色”(semantic role/semantische Rolle,或称主题关系,thematic relations)的概念是美国语言学家Charles J. Fillmore于1968年提出的。 https://zhuanlan.zhihu.com/p/42401502
  • 语义网络分析(Semantic Network Analysis)是社会网络分析技术在文本分析中的一种运用。语义网络分析背后的假设是在文本中频繁共现的词语或概念之间暗含着某种联系,而这些联系可以通过一些统计指标(如共现频率)来进行测量。这一方法有助于社会科学研究者通过词语之间的联系,识别出文本内包含的话题(Topic)或框架(Frame)。
  • 语义网络(semantic network)是一种知识结构,它描述了概念之间的相互关系,并说明了概念之间的相互联系
  • 语义网络是一个有向或无向图,由代表概念的顶点(nodes)和代表概念间语义关系的边(edges)组成,映射或连接语义场(semantic field)。语义场(semantic field)是现代语义学中非常重要的理论,由德国语言学家特雷尔(J.Trier)在20世纪三十年代提出。它指的是归属于一个共同概念之下的、意思上紧密相联并相互制约的一组词的聚合体,也称为义场、词汇场或词场。在一个语义场中,每个词都有共同的概念特征,这些特征使得它们在意义上相互关联并相互制约。语义场可以通过不同的词之间的对比,根据它们词义的共同特点或关系划分出来。例如,“胳膊”、“胸”、“腹”、“脚”、“头”、“腿”等词都属于“人体器官”这个语义场。另一个例子是关于“人的长相”的语义场,包括“美丽”、“丑陋”、“秀气”、“清秀”、“俊”、“英俊”等词。这些词都在描述人的外貌特征,因此它们属于同一个语义场。总之,语义场是一种将词汇按照其意义进行分类和组织的方式,它有助于我们理解和分析语言中的词汇和语义关系。
  • 语义网络分析的基础是识别文本中的词语联系。以中文文本为例,由于中文词语之间不存在自然间隔,所以在进行分析前,我们需要将句子切分成单个词语的组合,并将词语作为网络中的节点(node)。
  • 其中,某些不具有实质性含义的停用词(stopword)需要清理(比如“而且”),而某些具有同样含义的词语则需要统一(如“真的”和“真实”)。然后,我们需要找出词语之间的关联,比如两个字在句子中是相邻的就是联系的一种方式。词语之间的关联可以作为网络中的边(edge)。

  • https://mp.weixin.qq.com/s/WITFYQY5IWyV67RIlJw0nQ
  • https://dshizuka.github.io/networkanalysis/04_measuring.html

语义网络的类型

  • Co-occurrence network
    • Topic centered co-occurrence knowledge graph analysis。主题为中心的共现网络分析是基于特定主题或领域的数据进行分析。这种方法首先需要确定感兴趣的主题,然后从数据集中提取与该主题相关的内容进行分析。由于主题词与每个搜索都有共现关系,所以主题词应该在可视化的时候居于网络中心(see Ruiz & Barnett,2015 for example)。
    • 对整个数据集进行共现网络分析则是基于整个数据集,不局限于特定主题或领域,属于探索性分析。

节点(nodes)

  1. 使用什么样的语言特征来作为节点量化特征?
    • 显示特征
    • 隐形特征——word embeddings
  2. 使用哪些词汇作为节点?
    • 先验方法,事先选取感兴趣的关键词,例如多人独立根据任务要求选取,再合并去重
    • 后验方法,通过概率选取高频词等基于数据驱动的方法
  3. 使用多少个词汇作为节点?
    • 节点多,则网络密集(dense);节点少,则网络稀疏
    • 研究表明,相比稀疏网络,密集网络中相关结果更好;https://www.nature.com/articles/srep08665

边:语义相似性和语义距离

  • 从信息论的角度来看,相似性被定义为两个文本片段之间的共同点。
  • Wang, J., & Dong, Y. (2020). Measurement of text similarity: a survey. Information, 11(9), 421.
  • 语义相关性包括两个术语之间的任何关系,而语义相似性仅包括“是”关系。 例如,“car”与“bus”类似,但也与“road”、“driving”相关。

相似的程度

  • 语义相似度是有程度大小之分的。
  • 粒度是指数据仓库的数据单位中保存数据的细化或综合程度的级别。细化程度越高,粒度级就越小;相反,细化程度越低,粒度级就越大。在数据仓库环境中,粒度是一个重要的设计问题,他影响到数据仓库的数据量和系统能回答的查询类型,粒度越小,细节程度越高,能回答查询就越多,但是存储的东西也就越多。
  • Demo
    • 相似句:肺部发炎是什么原因引起的-肺部发炎是什么引起的
    • 不相似句:肺部发炎是什么原因引起的-肺部炎症有什么症状
  • 什么叫做相似,什么叫做不相似,依赖于场景和任务的具体要求是什么。以Demo来看:
    • 如果是判断大粒度意图的话(是否是医疗问句)那就是相似句
    • 如果是小粒度(症状意图、病因意图)那这两句就不相似。

相关理论

  • 有什么理论来可以解释语义的相似性?
  • 有什么理论支持语义网络的构建?
  • 语义网络分析的优势和劣势都是什么?

语义相似度计算方法

  1. 余弦相似度(Cosine similarity) (Landauer et al., 1998)
  2. 欧式距离(Euclidean Distance)
  3. 曼哈顿距离(Manhattan Distance)
  4. 明可夫斯基距离(Minkowski distance)
  • 韩程程, 李磊, 刘婷婷, 高明. 语义文本相似度计算方法[J]. 华东师范大学学报(自然科学版), 2020, (5): 95-112. doi: 10.3969/j.issn.1000-5641.202091011

1.2 语义网络分析方法的局限

  1. 最重要的是,对于密集连接的大规模网络来说,验证可能很困难(Diesner 2012)。更具体地说,在从文本数据中挖掘网络结构之前必须确定的文本预处理、节点识别和链接构建技术可能会对结果网络的结构产生强烈影响;不同的方法可能会产生不同的结果(Carley 1993)。这表明语义网络分析技术应谨慎选择,并与研究问题和目标密切相关。
  2. 许多语义网络基于共现的单词之间的无向联系。然而,Corman等人(2013)认为,方向链接将比非方向链接提供更准确的意义描述。这个问题需要在未来的研究中得到更彻底的解决。

1.3 GPT 答疑

  • 现在我要用一些词汇的word embeddings来构建语义网络。我计算了这些词汇word embeddings之间的余弦相似度(cosine similarity)。我现在不确定,这个语义网络中,节点之间 边是否应该对应余弦相似度。或者我需要先把用1减去余弦相似度获得余弦距离,用余弦距离来做反应语义网络的边。请你根据语义网络的前人研究,分析一下我应该用余弦相似度还是余弦距离作为语义网络的边,边的长短应该怎么解释,给出具体的依据和参考文献。
    • 在构建语义网络时,可以使用余弦相似度或余弦距离作为节点之间边的权重,具体取决于你希望边表示的含义。
    • 如果你希望边表示两个词汇的语义接近程度,那么可以使用余弦相似度。余弦相似度的值范围为-1到1,其中1表示完全相同,0表示无关,-1表示完全相反。这种方式下,边的长度可以解释为语义的差异程度:长度越短,语义越相似;长度越长,语义越不同。
    • 另一方面,如果你希望边表示两个词汇的语义距离,那么可以使用1减去余弦相似度得到的余弦距离。这样,边的长度就直接对应了语义的距离:长度越短,距离越近,即语义越相似;长度越长,距离越远,即语义越不同。
  • 以下是一些相关参考文献: * Kenett, Y. N., Levi, E., Anaki, D., & Faust, M. (2017). The semantic distance task: Quantifying semantic distance with semantic network path length. Journal of Experimental Psychology: Learning, Memory, and Cognition, 43(9), 1470–1489. https://doi.org/10.1037/xlm0000391 * Hashemikamangar, S. S., Bakouie, F., & Gharibzadeh, S. (2020, November). Children Semantic Network Growth: A Graph Theory Analysis. In 2020 27th National and 5th International Iranian Conference on Biomedical Engineering (ICBME) (pp. 318-321). IEEE. * Nematzadeh, A., Fazly, A., & Stevenson, S. (2014, October). A cognitive model of semantic network learning. In Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP) (pp. 244-254). * Harrington, B. (2010, August). A semantic network approach to measuring relatedness. In Coling 2010: Posters (pp. 356-364).

  • 为什么1减去余弦相似度可以得到余弦距离?为什么余弦距离可以反映语义距离
    • 余弦相似度是衡量两个向量方向相似度的一种方法,其值的范围在-1到1之间。当两个向量完全重合时,余弦相似度为1;当两个向量垂直时,余弦相似度为0;当两个向量方向完全相反时,余弦相似度为-1。因此,余弦相似度越接近1,表示两个向量(在这里即词汇的word embeddings)越相似。
    • 然而,在很多情况下,我们更关心的是两个向量之间的“距离”或者说“差异”,而非它们的相似度。这时候,我们可以通过计算“1减去余弦相似度”来得到一个新的指标,也就是所谓的“余弦距离”。这样做的好处是,当两个向量完全重合(即完全相似)时,余弦距离为0;当两个向量完全不相关时,余弦距离为1。换句话说,“余弦距离”能够很好地反映出两个向量之间的差异程度。
    • 在语义分析中,每个词汇都可以通过word embeddings转化为一个高维空间中的点(或者说向量)。因此,我们可以通过计算不同词汇之间word embeddings的“余弦距离”,来衡量这些词汇在语义上的“差异”或者说“距离”。
  • 参考文献:
    • Singh, P., & Sawhney, R. (2018). Semantic similarity in WordNet and Word2Vec for cyberbullying detection. 2018 International Conference on Advances in Computing, Communications and Informatics (ICACCI). IEEE.
    • Mikolov, T., Sutskever, I., Chen, K., Corrado, G. S., & Dean, J. (2013). Distributed representations of words and phrases and their compositionality. In Advances in neural information processing systems (pp. 3111-3119).

2. 语义网络分析的软件

2.0 数据收集或产生

  • 利用爬虫或其他软件在线搜集原有数据:https://github.com/BlueBrain/Search
  • 利用实验任务自己产生新的数据。例如,语义流畅性回答任务是一种评估参与者在给定语义类别下产生词语的能力的任务。通常,参与者被要求在一定时间内尽可能多地列举出与特定语义类别相关的词语。这个任务可以用来评估参与者的词汇知识、语义关联和思维灵活性。 * 例如,假设研究者要评估参与者的动物类别的语义流畅性。在任务开始时,参与者可能会听到研究者宣布了语义类别“动物”。然后,参与者被要求在规定的时间内列举尽可能多的与动物相关的词语。 * 参与者可能会回答:狗、猫、鸟、鱼、兔子、老虎、蛇、狮子、大象等。 * 在完成任务后,研究者将收集到的参与者回答进行预处理和分析,以构建语义网络,评估回答之间的关联性和语义联系。这样的任务可以用于研究词语生成的语义特征、概念之间的关系以及参与者在特定领域的语义知识水平。

2.1 构建软件

  1. AutoMap软件程序(shim 2015): http://www.casos.cs.edu/projects/automap/ 。在数据收集中,最好使用记事本程序将文本数据保存为.txt文件。AutoMap AutoMap程序支持.txt文件,并提供了多种功能,例如清理文本、生成概念列表、设置窗口大小和构建共现矩阵。
    • 第一步,是根据前一阶段清理的数据生成概念列表。
    • 第二步是列出连接的单词(connected words)。在这项研究中,单词之间的联系被定义为单词在一个句子中的共出现,句子是一组用于传递意义的单词。具体来说,假设一个句子中来回定位的两个词有关系(2-窗口大小,窗口大小的含义将在后面的部分详细讨论)。
    • 窗口大小:根据模拟结果,一般来说,“小尺寸的窗口可能会导致关键信息的丢失,而大尺寸的窗口可能会引入噪声”(参见 Wang 等人,2015 年,第 356 页),并且“窗口越短,表示的句法越多;窗口越长,关系的语义就越强“(Jurafsky & Martin,2017 年,第 5 页)。如果一个人的目标是从句法的角度分析文本数据,那么较短的大小可能是合适的,而如果研究目标是以更语义的方式仔细检查文本结构,则较长的大小将是合适的。
  2. ConText. ConText通过识别共现关系,可以把文本转换为有意义的概念组,从而从文本中抽取语义网络。
    • Diesner, J. (2014). ConText: Software for the integrated analysis of text data and network data. Social and semantic networks in communication research.
    • 输入文本,剔除stop Words
    • 分析剩余词汇的频率,对高频词的共现关系进行下一步的情感分析
    • 基于词典的词汇情感分析(word sentiment analysis): 分析表达观点是积极、消极还是中性。例如“healthy”被识别为positive。
    • 而且可以通过构建表达关系来标记情感的否定表达。例如“no healthy”被识别为negative。
    • 然后以核心词为主题,提取其他高频词汇与其共现的概率。
    • 两类节点:核心词(prominent word)与联结词(connected words). 联结(connectedness)的定义:例如相邻不超过5分单词(Ruiz & Barnett, 2015),或者在一个句子之内。
    • 构建出语义网络。并且可以绘制出每个节点的情绪色彩(积极、消极还是中性)。

Shim, J., Park, C., & Wilding, M. (2015). Identifying policy frames through semantic network analysis: an examination of nuclear energy policy across six countries. Policy Sciences, 48, 51-83. Ruiz, J. B., & Barnett, G. A. (2015). Exploring the presentation of HPV information online: A semantic network analysis of websites. Vaccine, 33(29), 3354-3359.

  1. 如何使用 R 包“cooccur”和“visNetwork”创建共现网络 https://medium.com/analytics-vidhya/how-to-create-co-occurrence-networks-with-the-r-packages-cooccur-and-visnetwork-f6e1ceb1c523

  2. Christensen等人在2023年开发了一套完整的用于语义网络分析的R包。Christensen, A. P., & Kenett, Y. N. (2023). Semantic network analysis (SemNA): A tutorial on preprocessing, estimating, and analyzing semantic networks. Psychological Methods, 28(4), 860–879. https://doi.org/10.1037/met0000463

    • SemNetDictionaries 和 SemNetCleaner 促进了一种高效、可重现和透明的语言数据预处理方法。
    • SemNeT 提供了通过点击式图形用户界面估计和统计比较语义网络的方法和度量。

2.2 可视化软件

Wordij

  • 我们可以使用Wordij自带的可视化(Visij)功能来进行语义网的可视化。
  • 如果追求进一步的聚类分析(Cluster Analysis)与更加美观的可视化效果,则可以将Wordij的输出结果进一步地输入到Gepihi软件(https://gephi.org/)中,利用Gephi来实现语义网络的可视化。具体方法为:
    • 将Wordji中生成的Net文件
    • 将net文件导入Gephi中,并利用Gephi的模块化功能实现节点的聚类,或利用度筛选功能实现节点筛选等。

Gephi

Gephi软件程序:https://gephi.org/

visNetwork

  • 创建交互式网络可视化的最佳库
  • https://methods.sagepub.com/video/module-1-setting-up-the-toolkit-visnetwork

语义网络的文献

* Borsboom, D., Deserno, M. K., Rhemtulla, M., Epskamp, S., Fried, E. I., McNally, R. J., Robinaugh, D. J., Perugini, M., Dalege, J., Costantini, G., Isvoranu, A.-M., Wysocki, A. C., van Borkulo, C. D., van Bork, R., & Waldorp, L. J. (2021). Network analysis of multivariate data in psychological science. Nature Reviews Methods Primers, 1(1), Article 1. https://doi.org/10.1038/s43586-021-00055-w
* Borsboom, D., Rhemtulla, M., Cramer, A. O., van der Maas, H. L., Scheffer, M., & Dolan, C. V. (2016). Kinds versus continua: A review of psychometric approaches to uncover the structure of psychiatric constructs. Psychological medicine, 46(8), 1567-1579.
* Boschloo, L., van Borkulo, C. D., Borsboom, D., & Schoevers, R. A. (2016). A prospective study on how symptoms in a network predict the onset of depression. Psychotherapy and psychosomatics, 85(3), 183-184.
* Borsboom, D., Robinaugh, D. J., Group, T. P., Rhemtulla, M., & Cramer, A. O. (2018). Robustness and replicability of psychopathology networks. World Psychiatry, 17(2), 143.
* Van Borkulo, C. D., van Bork, R., Boschloo, L., Kossakowski, J. J., Tio, P., Schoevers, R. A., Borsboom, D., & Waldorp, L. J. (2022). Comparing network structures on three aspects: A permutation test. Psychological Methods. DOI: 10.1037/met0000476
* Johal, S. K., & Rhemtulla, M. (2021). Comparing estimation methods for psychometric networks with ordinal data. Psychological Methods, No Pagination Specified-No Pagination Specified. https://doi.org/10.1037/met0000449 (序列数据的网络分析-例如通过李克特量表采集的问卷数据都是序列数据)

* van Borkulo, C. D., van Bork, R., Boschloo, L., Kossakowski, J. J., Tio, P., Schoevers, R. A., Borsboom, D., & Waldorp, L. J. (2022). Comparing network structures on three aspects: A permutation test. Psychological Methods, No Pagination Specified-No Pagination Specified. https://doi.org/10.1037/met0000476

* Quinn, K., & M. Powers, R. (2016). Revisiting the concept of ‘sharing’for digital spaces: An analysis of reader comments to online news. Information, Communication & Society, 19(4), 442-460. 2016年,Quinn和Powers在一篇关于网络分享概念的研究中使用了该方法。为了探究数字化时代下人们如何理解“分享”这一概念,两位研究者下载了纽约时报网站中关于“分享”的文章与这些文章的在线评论文本,并在清理文本后对数据展开了语义网络分析(见图1)。图中每一个点对应了一个词语,词语之间的连线就代表这两个词曾经一起出现。

* Chen, Z., Su, C. C., & Chen, A. (2019). Top-down or bottom-up? A network agenda-setting study of Chinese nationalism on social media. Journal of Broadcasting & Electronic Media, 63(3), 512-533.
* 郑雯, 桂勇, & 黄荣贵. (2019). 论争与演进: 作为一种网络社会思潮的改革开放——以 2013-2018 年 2.75 亿条微博为分析样本. 新闻记者, 1.

2. 语义网络的应用研究

2.1 语义网络在创造力中的应用

  • 创造力
  • 经典研究范式: Benedek, M., Kenett, Y. N., Umdasch, K., Anaki, D., Faust, M., & Neubauer, A. C. (2017). How semantic memory structure and intelligence contribute to creative thought: A network science approach. Thinking & Reasoning, 23(2), 158-183.
  • Kenett, Y. N., Levy, O., Kenett, D. Y., Stanley, H. E., Faust, M., & Havlin, S. (2018). Flexibility of thought in high creative individuals represented by percolation analysis. Proceedings of the National Academy of Sciences, 115(5), 867–872. https://doi.org/10.1073/pnas.1717362115
  • 何李. (2022). 语义网络的中枢概念对创造性思维的影响及其认知神经机制 [博士, 西南大学]. https://doi.org/10.27684/d.cnki.gxndx.2022.000016

2.2 语义网络在政策分析中的应用

  • 政策(policy)通常被理解为一种社会建构。通过政策框架分析(policy frame analysis),可以最好地考察政策的社会建构。“政策框架”一词是指政策行为者对世界的看法影响其解决问题的方法的方式。了解政策行为者为同一公共问题得出不同解决方案的原因是一项复杂的任务。
  • 其他政策分析研究方法的局限性: 1. 定性框架研究基于定量方法未能照顾的情境方法,但研究人员的直觉和解释受到主观性的强烈干扰。 2. 已有的定量方法。尽管定量框架研究试图根据统计分析阐明政策框架,以提供客观可识别的框架(Cappella & Jamieson,1997;Entman,1993 年;Semetko & Valkenburg,2000 年;Triandafyllidou & Fotiou, 1998),他们忽略了论点的上下文和潜在含义。
  • 为了弥补两种截然不同的框架分析方法的不足,前人研究提出了语义网络分析,其中定量和定性方法可以结合起来(Shim et al., 2015)。语义网络分析不仅仅是一种通过网络分析来计算词频的方法。它不仅可以从文本组成的网络结构中提取潜在的意义和框架,还可以通过对突出词及其关系的考察,使我们理解文本中的各种隐藏含义(Paranyushkin,2011; van Atteveldt,2008)。
  • 语义网络分析的关键假设是,文本被表示为单词网络及其之间的关系,并且文本中体现的语言和知识可以被建模(Hunter,2014)。
  • 在政策框架分析方面,由于文本的概念是由语义网络中的词语及其链接组成的,因此我们假设可以根据词语的连接方式以及是否构成概念来找到政策参与者的框架。综上所述,通过语义网络分析,可以系统地研究政策参与者的话语,最终有助于从定量和定性的角度确定他们的政策框架。

其他方向

  • 发展 Karr, J. E., Rodriguez, J. E., Goh, P. K., Martel, M. M., & Rast, P. (2022). The unity and diversity of executive functions: A network approach to life span development. Developmental Psychology, 58(4), 751–767. https://doi.org/10.1037/dev0001313

2.3 代表Paper1

  • Miani, A., Hills, T., & Bangerter, A. (2022). Interconnectedness and (in) coherence as a signature of conspiracy worldviews. Science Advances, 8(43), eabq3668.

研究思路

  • 作者的核心思路在于,如何把阴谋论文本网络化,网络的节点和连接应该对应什么概念,如何量化和计算?
  • 理解该文章思路的关键在于搞清楚,作者如何利用种子点和主题词的共现(the co-occurrences of seeds and LDA topics)来进行语义网络的构建。
  • 语义网络
    • 节点(nodes): seeds vs. topics
    • 边(edges):the co-occurrences of seeds and LDA topics。
    • 数据格式:行(rows)是文件/报告(documents) * 列是seeds or topics。例如,有100篇报道,每篇报道有10-20个主题。
    • 关键的操作,如何从topics相关矩阵,转换得到co-occurrences矩阵。
  • topics和seeds的向量化。此处应当了解,类似于word embeddings的概念,每个topic或seed在数据中都应该进行了向量化。然后,不同的topics之间就可以进行perason相关计算。 例如吴孟达和周星驰之间的相关,就应该高于梦露和周星驰之间的相关。
  • 背景知识:在LDA主题模型中,每个主题都是一个概率分布,表示该主题下单词出现的概率。这个概率分布可以看作是一个向量,其中每个元素表示该单词在该主题下的概率。例如,假设有一个主题关于体育,它的关键词分布可能是:“篮球:0.2,足球:0.1,棒球:0.05,跑步:0.03,运动:0.02”等。 同样地,种子词也可以表示成向量形式。例如,假设有3个种子词:“健康”、“锻炼”和“饮食”,它们可以表示为一个3维向量:“健康:[0.5, 0.3, 0.2], 锻炼:[0.2, 0.3, 0.5], 饮食:[0.1, 0.2, 0.7]”。这种向量的表示方式有助于在主题模型中进行数学运算和统计推理。通过向量运算,可以计算单词之间的相似性、主题之间的相关性等。
  • 为了解释如何从between-topic correlation matrix转换到co-occurrence matrices,我们可以考虑以下步骤。
    1. 首先,假设我们已经得到了一个between-topic correlation matrix,其中每个元素表示一对主题之间的相关性。
    2. 然后,我们可以将这个matrix扩展到包含所有主题对的相关性。在这个扩展matrix中,每行表示一个主题与其他所有主题的相关性。
    3. 接下来,我们可以将这个扩展matrix转换为co-occurrence matrices。具体来说,我们可以为每个文档创建一个co-occurrence matrix,其中每个元素表示一对关键词在该文档中的共现频率。
    4. 最后,我们可以使用这些co-occurrence matrices来构建共现网络,其中每个节点表示一个关键词,每条边表示一对关键词之间的共现关系。 以下是一个简单的例子来说明这个过程:

假设我们有一个包含三个主题A、B和C的between-topic correlation matrix:

| A | B | C |
|---|---|---|
| 0.8 | 0.2 | 0.1 |
| 0.2 | 0.8 | 0.3 |
| 0.1 | 0.3 | 0.8 |

然后,我们将这个matrix扩展到包含所有主题对的相关性:

| A | B | C | AB | AC | BC | ABC |
|---|---|---|----|----|----|-----|
| A | 0.8 | 0.2 | 0.8 | 0.2 | 0.2 | 0.8 |
| B | 0.2 | 0.8 | 0.2 | 0.8 | 0.3 | 0.3 |
| C | 0.1 | 0.3 | 0.1 | 0.3 | 0.3 | 0.1 |

接下来,我们为每个文档创建一个co-occurrence matrix:

假设我们有一个文档d,其中包含了主题A、B和C的关键词,并且这些关键词在文档中以以下顺序出现:A -> B -> C -> A -> B -> C -> A。

那么,对应的co-occurrence matrix如下:

| A | B | C | AB | AC | BC | ABC |
|---|---|---|----|----|----|-----|
| 1 | 1 | 1 | 1 | 1 | 1 | 1 | A -> B -> C -> A -> B -> C -> A

最后,我们可以使用这些co-occurrence matrices来构建共现网络。在这个例子中,我们只有一个co-occurrence matrix,所以我们可以直接使用该matrix构建一个包含三个节点的共现网络。

研究方法探讨

  • 作者使用R包topicmodels来进行主题提取。以下是一个简单的例子,说明如何使用该包进行主题提取:
# 安装和加载topicmodels包
install.packages("topicmodels")
library(topicmodels)

# 加载LOCO语料库
data("loco")

# 对语料库进行预处理
preproc <- function(words) {
  words <- tolower(words)
  words <- tm_map(words, content_transformer(removePunctuation))
  words <- tm_map(words, content_transformer(removeNumbers))
  words <- tm_map(words, content_transformer(removeWords), stopwords("smart"))
  words <- tm_map(words, content_transformer(stripWhitespace))
  return(words)
}
loco <- preproc(loco)

# 创建语料库矩阵
matrix <- TermDocumentMatrix(loco)

# 使用LDA算法进行主题提取
lda_model <- LDA(matrix, k = 5) # 这里选择5个主题

# 输出主题信息
print(lda_model)

# 输出每个主题中概率较高的单词
topics <- topics(lda_model)

在上述代码中,首先加载了topicmodels包,然后加载了LOCO语料库。接下来,定义了一个预处理函数preproc,用于对语料库中的文本进行预处理,包括转换为小写、去除标点符号、去除数字、去除停用词和去除空白。然后,对LOCO语料库进行预处理。 接下来,创建了一个语料库矩阵,然后使用LDA()函数进行主题提取。在LDA()函数中,指定了矩阵和主题数量(k值)。然后,通过打印模型信息可以查看主题信息。 最后,使用topics()函数提取每个主题中概率较高的单词,这将给出每个主题的主题分布。

  • 在该文中,Seeds和LDA topics有和区别和联系,请举例说明 在文中,Seeds和LDA topics是两个不同的概念。Seeds是指作者在LOCO语料库中选取的一组关键词,用于初始化LDA模型的主题分布。而LDA topics则是通过运行LDA模型后从语料库中提取出来的主题。 Seeds是一组具有代表性的单词,它们在LOCO语料库中出现频率较高,可以代表该语料库中的重要信息。作者选取了35个Seeds,并将其分为五组,每组七个单词。Seeds的作用是提供主题分布的初始值,以加速LDA模型的收敛。 LDA是一种基于概率的主题模型,它通过对文本中的词频和词序进行分析,推断出文本的主题。在运行LDA模型后,从LOCO语料库中提取出了五个主题。这些主题涵盖了不同的领域和话题,例如第一主题涉及医疗、保健和疾病,第二主题涉及社会、文化和媒体,第三主题涉及政治、法律和权力,第四主题涉及经济、商业和市场,第五主题涉及环境、生态和自然。 虽然Seeds只是用于初始化LDA模型的主题分布,但Seeds的选择对于主题的提取具有一定的影响。例如,如果Seeds的选取不具有代表性或过于局限于某一领域,可能会导致主题分布的不均衡或偏差。因此,Seeds的选择应该考虑到语料库的多样性和代表性。 总之,Seeds和LDA topics是不同的概念,但Seeds的选择对于LDA模型的运行和主题提取具有一定的指导作用。
  • 根你的回答我,我感觉作者应该先确定seeds,在根据seeds确定topics。但是实际上,作者先进行了topic extraction,再进行了seeds extraction。在topic extraction的过程中,似乎并没有用到seeds? 你是对的,作者在文章中的步骤是先进行了主题提取(topic extraction),然后再进行了种子词提取(seeds extraction)。在这个过程中,确实没有直接使用Seeds来提取Topics。 实际上,Seeds主要用于初始化LDA模型的主题分布,这对模型的结果会有一定影响。但并不是说必须要先确定Seeds,再提取Topics。你也可以直接对整个语料库运行LDA模型,而不需要事先确定Seeds。 作者可能选择先进行主题提取,然后再提取种子词,是为了确保提取的Topics能尽可能地反映语料库的真实主题,而不是被Seeds所引导。因为Seeds虽然可以提供初始的主题分布,但如果Seeds的选择不够准确,可能会影响到最终的主题提取结果。 总的来说,虽然Seeds和Topics有联系,但它们是两个不同的步骤,而且它们的提取顺序并不是固定的,可以根据实际需求进行调整。
  • 我感觉作者是将seeds与topics视为两种并行的关系,前者是基于先验概率的关键词,后者是基于后验概率的关键词。作者后面同时进行了基于seeds和基于topics的网络构建,这可能是为了避免方法偏倚,尽可能保证所构建的语义网络反映了实际的文本情况。
  • 通过LDA主题提取,构建共现网络——co-occurrences of LDA topics是什么意思,请举例说明 “Co-occurrences of LDA topics”指的是LDA主题的共现。LDA(Latent Dirichlet Allocation)是一种主题模型,用于从大量文本中提取主题。在LDA中,每个主题都由一组概率分布的关键词构成。当一个文档涵盖了多个主题时,这些主题的关键词可能会在该文档中同时出现,这就形成了主题的共现。 举例来说,假设我们有一个关于电影的语料库,我们使用LDA从中提取了三个主题,分别是”科幻”、”动作”和”喜剧”。在某个文档中,如果同时出现了”星球大战”、”詹姆斯·邦德”和”周星驰”这三个关键词,那么我们就可以说这三个主题(”科幻”、”动作”和”喜剧”)在该文档中发生了共现。 Co-occurrences of LDA topics可以帮助我们理解不同主题之间的联系和相互影响。通过分析主题共现的情况,我们可以发现某些主题之间可能存在的关联或者排斥关系,这对于理解文本的整体结构和语义内涵具有重要的意义。

  • 作者具体如何使用igraph构建共现网络,举例说明 作者具体使用igraph构建共现网络的方法如下:
  1. 安装和加载igraph包:首先,安装igraph包,然后加载igraph包。
install.packages("igraph")
library(igraph)
  1. 构建共现关系矩阵:使用上一步中的共现关系矩阵构建igraph对象。
cooccurrence_matrix <- matrix(cooccurrences, nrow = length(seeds), ncol = length(seeds))
ig_graph <- graph_from_adjacency_matrix(cooccurrence_matrix, mode = "undirected", weighted = TRUE)

这里,cooccurrences是关键词的共现频率矩阵,seeds是种子词列表。graph_from_adjacency_matrix()函数根据共现矩阵创建一个无向图,其中每个节点对应一个种子词,每个边对应两个种子词之间的共现关系。mode = "undirected"表示创建无向图,weighted = TRUE表示边的权重是基于共现频率的。

  1. 可视化共现网络:使用igraph的函数对共现网络进行可视化。
plot(ig_graph, vertex.size=10, vertex.label.cex=0.8)

这里,plot()函数用于绘制图形,vertex.size=10表示节点的大小为10,vertex.label.cex=0.8表示节点标签的字体大小为0.8倍。

举例来说,假设我们有一个关于电影的语料库,我们使用LDA从中提取了三个主题,分别是”科幻”、”动作”和”喜剧”。假设种子词列表为seeds = c("星球大战", "詹姆斯·邦德", "周星驰"),关键词的共现频率矩阵为:

cooccurrences = array(c(30, 20, 10, 15, 25, 10, 5, 5, 5, 5), dim = c(3, 4))

那么,我们可以按照上述步骤构建一个igraph对象,并使用plot()函数对其进行可视化。结果将显示一个包含三个节点的无向图,节点对应于种子词”星球大战”、”詹姆斯·邦德”和”周星驰”,边对应于这些种子词之间的共现关系。边的权重将根据共现频率进行赋值。

2.3 代表Paper2 大脑中语义网络的构建

  • 最近,Huth等人(2012;2016)开发了一种方法,通过使用自然语言处理技术对功能磁共振成像(fMRI)大脑活动进行建模,可以定量评估大脑中单个单词的语义表示(即,大脑单词嵌入,word embeddings in the brain)。该方法启发我们通过评估大脑词嵌入之间的相似性来表征人脑中的语义网络(Schematic Network),并使用网络分析分析其结构特征。
  • Matsuto等人(2023)使用上述方法,发现精神分裂症个体的语义网络相比正常个体,不具有小世界属性,呈现出模块化的特征,即结构更加混乱。
  • Huth AG, Nishimoto S, Vu AT, Gallant JL. A continuous semantic space describes the representation of thousands of object and action categories across the human brain. Neuron. 2012;76(6):1210–1224.
  • Huth AG, De Heer WA, Griffiths TL, Theunissen FE, Gallant JL. Natural speech reveals the semantic maps that tile human cerebral cortex. Nature. 2016;532(7600):453–458.
  • Matsumoto, Y., Nishida, S., Hayashi, R., Son, S., Murakami, A., Yoshikawa, N., Ito, H., Oishi, N., Masuda, N., Murai, T., Friston, K., Nishimoto, S., & Takahashi, H. (2023). Disorganization of Semantic Brain Networks in Schizophrenia Revealed by fMRI.Schizophrenia bulletin, 49(2), 498–506. https://doi.org/10.1093/schbul/sbac157
  • 国内报道:https://mp.weixin.qq.com/s/etKNlDcQvxhWCttglNrVcA

研究思路

  • 整体的思路如下:
    1. 将语言任务中的高频词,通过word2vec向量化,得到感兴趣语料的向量矩阵;
    2. fMRI多体素模式分析:将电影场景引起的神经活动的多体素模式建模为场景向量矩阵和模型权重的矩阵乘积
    3. 利用体素编码模型的权重对每位受试者的大脑词嵌入进行量化。首先,选取预测准确率最高的前 7000 个体素来创建权重矩阵。然后,将电影场景描述中出现频率最高的 11132 个单词中的前 1000 个单词在 word2vec 向量空间中的原始单词向量乘以模型权重,得到每个单词在大脑中的向量表示。

2. 传统词频分析和进阶版本(DDR)

背景知识:道德基础理论(Moral Foundations Theory,MFT)

  • MFT的核心是试图解释不同人的道德一致性的整体性。具体来说,MFT试图阐明政治保守派和自由派道德之间的差异(Graham et al., 2011)。这些差异是通过衡量个人对五个道德基础的认可来建立的。
    • 前两个基础:伤害/关怀和公平/互惠——代表了对以个人为中心的社会正义和平等的关注。这两个基础可以概念化为个性化基础。
    • 后三个基础:群体内/忠诚,权威/尊重和纯洁/神圣 - 代表了从群体层面对是非的看法,可以被认为是具有约束力的基础(Haidt&Graham,2007)。
    • 研究(如下所述)表明,政治自由主义者倾向于支持这两个个性化的基础,而保守派则倾向于支持所有五个基础,而对约束性基础的认可更大(Graham,Haidt,&Nosek,2009)。
  • Graham等人(2009)开发了道德基础词典(Moral Foundations Dictionary,MFD),以确定语音和文本中对五个基础的认可。MFD 由每个基础大约 50 个单词组成,以举例说明其含义。例如,诸如“虐待”(abuse)和“保护”之类的词表示对伤害/关怀基础的认可。Graham et al. (2009) 然后通过分析自由派和保守派教会布道的语音内容来验证 MFD 词典列表。他们发现自由派的长对话(sermons)支持个人化的基础,而保守派的长对话(sermons)支持所有五个道德基础。

其他常见的情绪词典

在心理语言学研究中,一些常用的包括情绪词的词典可用于词频分析,包括:

  1. LIWC词典(Linguistic Inquiry and Word Count)
    • 这是一部包含近6,400个英语词的词典,这些词被划分到不同的心理语言类别中,包括正面和负面情绪词。该词典广泛用于文本分析研究。
    • Pennebaker, J. W., Francis, M. E., & Booth, R. J. (2001). Linguistic inquiry and word count: LIWC 2001. Mahway: Lawrence Erlbaum Associates, 71(2001), 2001.
    • LIWC-22 带有 100 多个内置词典,旨在捕捉人们的社会和心理状态。每本词典都由一个单词列表、词干、表情符号和其他特定的语言结构组成,这些结构已被确定以反映感兴趣的心理类别。 例如,“认知过程”词典包括 1,000 多个条目,这些条目反映了一个人何时以一般和更具体的方式积极处理信息。“隶属关系”词典包括 350 多个条目,反映了一个人与他人联系的需要,包括“社区”和“在一起”等词。 https://www.liwc.app/
    • LIWC 读取给定的文本,并将文本中的每个单词与字典单词列表进行比较,并计算文本中与每个字典类别匹配的总单词百分比。例如,LIWC 使用内置的 LIWC-22 词典分析包含 1,000 个单词的单个语音,它可能会发现其中 50 个单词与积极情绪相关,10 个单词与隶属关系相关。LIWC 会将这些数字转换为百分比:5.0% 的积极情绪和 1.0% 的隶属关系。
    • 请注意,许多 LIWC-22 类别都是按层次结构组织的。根据定义,所有愤怒词都被归类为负面情绪词(大类),而负面情绪词又被归类为情绪词。另请注意,同一个词可能被归类在多个词典中。例如,“庆祝”这个词在积极情绪和成就词典中都有。以上介绍来自:https://www.liwc.app/help/howitworks
    • LIWC(LIWC2007;Pennebaker 等人,2007 年)软件程序使研究人员能够分解每个参与者写作的文本文件样本中的特定单词使用类别,并获得属于 80 个语言类别中每个类别的单词百分比。这些类别包括标准语言类别(代词、否定、同意、冠词、介词和数字)、心理过程(关于情感或情感过程的词语、认知过程、感觉和知觉过程以及社会过程)、相对论(关于时间、空间和运动的词语)、个人关注(关于职业、休闲活动、金钱和财务问题、形而上学问题、身体状态和功能的词语),以及为在以前的研究中使用的其他杂项类别(例如,脏话和不流利)。
  2. ANEW词典(Affective Norms for English Words) 这部词典包含近3,000个英语词,并给出每个词的情感评价分值,包括威胁度、愉悦度、唤醒度等维度。这可以用来分析文本中的情绪倾向。

  3. SentiWordNet 这是一个按词义给英语词赋予正面和负面情感分值的词典。它覆盖了大约15万个词义,可用于分析文本中的情感极性。

  4. VADER情感词典 这是专门针对社交媒体文本设计的一个情感分析词典,包含大约9,000个词和词组。它考虑到了社交媒体语言的特点。

  5. 《跨语言词典数据库》(Database of Cross-Linguistic Colexifications)
    • 该数据库为计算机辅助的全球跨语言“共词化”模式的收集、计算和探索提供了一个框架。共词化(colexification)是指同一个词表达两个或更多可比较的概念20,21的情况,例如俄语(用词dérevo)或纳瓦特尔语(用词kw awi-t)中木材和树木“共词化”的常见情况。通过收集多种语言中的共词化现象,并通过反复出现的模式,研究人员可以识别跨语言的多义性,而无需凭直觉决定这些词汇相同之处的原因,这些模式可能反映了人类感知和认知的普遍方面。具体而言,该数据库可以用于研究跨语言模式,特别是涉及非相关语言的模式,还用于在与语义取向的词汇类型学及其与语义类型学不严格相关的领域进行新的研究(Roque et al., 2018)。
    • CLICS数据库的第二个版本(CLICS2)于2018年发布,修订并大幅增加了跨语言数据的数量。这些改进得益于对跨语言数据格式(CLDF)倡议的数据聚合策略加强,该倡议提供了促进语言数据的标准、工具和最佳实践示例,使其具备可发现性、可获取性、可互操作性和可重复性。通过采用这些原则,并根据CLDF倡议推荐的规范对独立发布的跨语言数据集进行编码,成功将语言数量从不到300个增加到2000多个,同时将研究概念数量从1200增加到近3000。
    • 跨语言数据格式(Cross-Linguistic Data Formats,CLDF)是一个倡议,旨在提供一套标准化的数据格式和工具,以促进跨语言比较研究中的数据交换和共享。CLDF的目标是使研究人员能够以一致的方式组织、描述和存储语言学数据,包括词汇、语法、音系和语义等方面的数据。
    • 为了增加该数据集的工作流程的透明度、灵活性和可重复性,Rzymski等人开发了指南和软件工具,将CITCS改造为了CLDF格式(可以称之为CLICS3)。CLICS3版本将语言数量从 1220 增加到 3156,将概念数量从 2487 增加到 2906。
    • List, J.-M., Mayer, T., Terhalle, A. & Urban, M. CLICS database of crosslinguistic colexifications. Zenodo, https://doi.org/10.5281/ zenodo.1194088 (2014).
    • List¹, J.-M., Greenhill¹^2, S. J., Anderson¹, C., Mayer^3, T., Tresoldi¹, T., & Forkel¹, R. (2018). CLICS^2 An Improved Database of Cross-Linguistic Colexifications. Linguistic Typology, 22(2). https://doi.org/10.1515/lingty-2018-0010
    • Roque, L. S., Kendrick, K. H., Norcliffe, E., & Majid, A. (2018). Universal meaning extensions of perception verbs are grounded in interaction. Cognitive Linguistics, 29(3), 371–406. https://doi.org/10.1515/cog-2017-0034
    • Rzymski, C., T. Tresoldi, S. Greenhill, M. Wu, N. Schweikhard, M. Koptjevskaja-Tamm, V. Gast, T. Bodt, A. Hantgan, G. Kaiping, S. Chang, Y. Lai, N. Morozova, H. Arjava, N. Hübler, E. Koile, S. Pepper, M. Proos, B. Epps, I. Blanco, C. Hundt, S. Monakhov, K. Pianykh, S. Ramesh, R. Gray, R. Forkel, and J.-M. List. The Database of Cross-Linguistic Colexifications, reproducible analysis of cross-linguistic polysemies. Sci Data 7, 13 (2020). https://doi.org/10.1038/s41597-019-0341-x
    • 数据库下载: https://zenodo.org/records/3687530
    • 数据库网络访问:https://clics.clld.org/
    • 数据库的安装:
      • 使用conda创建一个新的虚拟环境(https://blog.csdn.net/weixin_42567789/article/details/125393765): conda create -n clics anaconda conda activate clics 使用结束后退出该虚拟环境 conda deactivate clics
      • 编程环境设置:
        1. 第一,设置utf-8编码。 set PYTHONUTF8=1
        2. 第二,设置git代理。git config –global https.proxy 127.0.0.1:7897 设置为全局代理。https://stackoverflow.com/questions/49345357/fatal-unable-to-access-https-github-com-xxx-openssl-ssl-connect-ssl-error
      • 安装 ipykernel,并进行相关操作;将虚拟环境添加到jupyter中;查看jupyter是否已添加虚拟环境: pip install --user ipykernel python -m ipykernel install --user --name=环境名 jupyter kernelspec list
      • pip install “pyclics>=3.0”
      • curl -O https://raw.githubusercontent.com/clics/clics3/master/datasets.txt pip install -r datasets.txt
      • 目前该库的代码,只开发到生成SQL数据库。
      • 这个库最后的数据全部加载到 SQLite 数据库中,因此,想要使用该库,必须学会如何使用SQL查询命令从中提取感兴趣的数据。

传统词频分析

  • 词频分析可以将定性数据(例如新闻文章)转化为可衡量的结果。通过词频分析,我们可以量化不同来源的政治语言(political language ),从而可以检验不同主题的心理学问题。
  • 搜集文本(collections),清洗文本(clean),获得词汇。
  • 同时对搜集到的文本数据、以及词典中的词汇进行词干提取(stemming)。每个概念或单词都有多种形式,例如走路、走路和走路。 词干提取指从收集的文本数据中去除无用的词缀,以便能够将具有相似含义的单词组合起来进行分析。例如使用了 Snowball 词干分析器下的英语选项进行词干提取。
  • 然后将每篇文章中使用的单词与字典中的单词进行比较,并从更大的集合(大类)中只选择那些单词。例如,”equal”(平等)被纳入 “fairness”(公平)的总词汇中,而 “another”、”the “和 “over “等其他词汇则被忽略。这样,我们就可以获得每个类型中(如“公平”),数据文本中该类词汇的频数。使用频数除以原始文本总字数,即获得其词频。
  • 数据可视化。

分布式词典表征(distributed dictionary representations,DDR)

  • 研究目的:评估民主党人和共和党人在多大程度上使用了与道德基础理论提出的领域(伤害、公平、忠诚、权威和纯洁)相关的语言,以及这些语言如何随着政治权力的变化而变化。
  • Wang等人(2021)的方法,基于词频分析技术,结合分布式词典表征技术,即将数据文本中的单词以及词典中的单词都转换为词嵌入,计算两者之间的余弦相似性(-1到1);用余弦相似性来表示。而不是直接计算词频。问题,文本词汇与词典词汇之间的相似性达到多大,可以认为存在归属关系?
  • Garten 等人 (2018) 开发了 ddr Python 模块来计算数据文本(如推特推文)和特定简短词典(如代表每个道德基础的积极和消极方面(“美德”和“恶习”)的MFD)之间的语义相似性。
  • 例如,包含“car”的文本可能被认为与由“automobile”、“auto”和“vehicle”组成的字典高度相似。这意味着词典可以很短,但仍然很好地涵盖了一个概念;文本可以很短,但仍被认为类似于字典。这消除了字数统计方法的两个主要缺点(由于词典范围较小或文本较短而漏保;由于词典范围太长或匹配问题而误报,如“happ*” matches “happy” and “happiness” but also “happened” and “happenstance”)。在将自动化方法与人类编码人员进行比较的验证研究中,这种方法比字数统计准确得多(Garten 等人,2018 年)。
  • Wang等人(2021)的自变量是党派(自由 vs. 共和),因变量是每条推文的10个相似性值。对与每条推文,5个道德基础*积极和效价=10个相似值。
  • 将自变量设置为1个虚拟变量(1 = 民主党,0 = 共和党)。分别针对10个指标建立了10个回归模型。结果发现:在每一个基础和方面,民主党人都比共和党人更多地使用道德语言,所有 ps < 0.001(见图 1)。

基于词典分析方法的局限

  • 基于字典的情感分析的一个局限性是它不能正确地管理情感的否定。
  • 例如,“我不快乐”这句话实际上表达了一种消极的情绪,但基于词典的词汇识别方法可能会匹配积极的词“快乐”而忽略“不”。
  • 有一些先进的技术可以处理否定,包括: 1. 依存文法分析:利用依存关系识别否定词和情感词之间的连接,判断情感是否被否定。 2. 情感传播:根据否定词使附近词的情感值反转,实现否定的“传播”。 3. 注意力机制:利用注意力模型来识别否定词,将其注意力权重融合到表示中。 4. 递归神经网络:利用RNN、LSTM等递归结构更好地模式化否定语义的作用范围。 5. 转换器(Transformer):利用自注意力机制来模型化否定情感的上下文依赖。
  • 上述方法可以捕获否定词对周边词语的影响,通过计算情感反转或注意力融合,来实现正确的否定处理。选择具体方法还需要考虑数据集和性能要求等条件。

总体来说,依存分析和基于注意力或递归的神经网络方法 CURRENTLY 是更加流行和高效的否定处理技术。

参考文献

  • 传统词频分析教程:https://methods.sagepub.com/dataset/word-frequency-analyse-political-language-moral
  • Graham, J., Nosek, B. A., Haidt, J., Iyer, R., Koleva, S., & Ditto, P. H. (2011). Mapping the moral domain. Journal of Personality and Social Psychology, 101(2), 366–385. https://doi.org/10.1037/a0021847
  • Graham, J., Haidt, J., & Nosek, B. A. (2009). Liberals and conservatives rely on different sets of moral foundations. Journal of Personality and Social Psychology, 96(5), 1029–1046. https://doi.org/10.1037/a0015141
  • Wang, S. Y. N., & Inbar, Y. (2021). Moral-language use by US political elites. Psychological Science, 32(1), 14-26.
  • Garten J., Hoover J., Johnson K. M., Boghrati R., Iskiwitch C., Dehghani M. (2018). Dictionaries and distributions: Combining expert knowledge and large scale textual data content analysis. Behavior Research Methods, 50, 344–361.
  • Padfield, W. E., & Buchanan, E. M. (2020). Moral foundations of US political news organizations.

3. 情感分析(Sentiment Analysis)

Sentiment = a feeling or an opinion, especially one based on emotions

情感分析简介

  • 文本情感分析(Sentiment Analysis)是指利用自然语言处理和文本挖掘技术,对带有情感色彩的主观性文本进行分析、处理和抽取的过程。目前,文本情感分析研究涵盖了包括自然语言处理、文本挖掘、信息检索、信息抽取、机器学习和本体学等多个领域,得到了许多学者以及研究机构的关注,近几年持续成为自然语言处理和文本挖掘领域研究的热点问题之一。来自:https://zhuanlan.zhihu.com/p/343353336
  • 目前的文本情感分析主要对象就行词汇,再具体一点就是词频。
  • 从人的主观认知来讲,情感分析任务就是回答一个如下的问题“什么人?在什么时间?对什么东西?哪一个属性?表达了怎样的情感?”因此情感分析的一个形式化表达可以如下:(entity,aspect,opinion,holder,time)。比如以下文本“我觉得2.0T的XX汽车动力非常澎湃。”其中将其转换为形式化元组即为(XX汽车,动力,正面情感,我,/)。需要注意的是当前的大部分研究中一般都不考虑情感分析五要素中的观点持有者和时间。

情感分析的应用方向

情感分析可以应用于以下方向: 1. 主题比较(Topic comparison;Clarke & Braun,2014):人们对一组主题中的哪个主题最积极/最消极?例如,哪种音乐类型吸引了最正面或负面的推文?哪些政党吸引的正面或负面评论最多? 2. 群体比较(Group comparison):哪一组人发布了关于给定主题的正面/负面文章最多和/或正面/负面反应的类型是否存在差异?例如,在Twitter上对 #MeToo 运动的反应是否存在性别差异,性别在积极和消极反应的性质上是否存在差异? 2. 特征分析(aspects):事物的哪些特征最能吸引积极/消极/任何情绪?例如,新加坡豪华酒店游客在WhatsApp消息中最常见的投诉是什么? 3. 影响(influence):关键事件发生后,情绪发生了怎样的变化?例如,在艾伦·库尔迪(Alan Kurdi)死亡的图片流传后,YouTube新闻视频中关于难民的平均情绪发生了怎样的变化?通常不可能通过文本分析来证明因果关系,但如果给定日期有明显的变化,则可以推测因果关系。 4. 随时间的变化(Changes over time):主题或用户组的平均情绪如何随时间变化?例如,对于宣布(例如,在他们的简历中)被诊断出患有自闭症谱系障碍的学龄青少年来说,在一年中在 Twitter 上表达的平均情绪有何变化——也许学年开始特别紧张? 5. 风格(style):在给定的语境中,情感是如何表达的?例如,在亲人去世后,失去亲人的家人如何在Facebook上表达情感——用公式化的悲伤和悲伤表达,用快乐的回忆,或者其他什么?这些反应是否存在性别差异?

情感分析的方法

情感分析软件

  • 情感分析软件可以执行多种与情感相关的任务之一。本节主要讨论文本分析,不过也可以对图像和视频进行情感处理(如检测微笑)。如上所述,情感分析软件往往会模糊观点和情感之间的界限,因此 “我喜欢这只手表 “和 “我很高兴 “都可能被视为积极情感的表达。除基于方面的情感分析外,可以对整个文本(如博文、推特)、文本中的每个句子/段落或文本中表达情感的每个表达进行评分。
  • 以下是情感分析的主要类型:
    1. 二元情感检测(Binary sentiment detection):每篇文本都被归类为正面或负面。
    2. 三元情感检测(Trinary sentiment detection):每篇文本主要分为正面、负面或中性。
    3. 情感强度检测(Sentiment strength detection):对每个文本所表达的情感强度给出一个数字分数,可以是单量表(如非常负面-100 到非常正面+100),也可以是双量表(如两个数字:正面 1 到 5,负面-1 到-5)。
    4. 情绪强度检测(Emotion strength detection):对预先确定的一系列情绪(如幸福、快乐、悲伤、愤怒、恐惧;也许还有惊讶、惊奇和其他情绪)中的每一种情绪在文本中的存在程度进行评分(如 1-100)。
    5. 基于方面的情感检测(Aspect-based sentiment detection):上述任何一种方法,与情感目标检测相结合(例如,”我的狗喜欢挖洞。->关于挖洞的正面情感)。
  • 尽管有上述列表,学术界的情感分析研究似乎都集中在三元情感检测,即报告正面、负面和中性文本的比例,或情感强度检测,即报告一组文本的平均正面、负面或总体情感。
  • 目前研究的一个热点是对社交媒体上的抑郁信息进行情感分析(Babu & Kanaga, 2022; Wang et al., 2020)。

情感分析软件的缺陷

  • 从计算的角度来看,情感分析程序可以分为两类:
    • 不透明的(opaque ,报告分数而不解释分数是如何派生的)
    • 透明的(transparent ,解释每个分数的派生)。
  • 他们还可以使用两种广泛的方法:(抽象的)人工智能(AI)和基于语言规则(即,使用从语言工作原理的知识中得出的规则)。
  • 通常,人工智能情感分析软件是不透明的,基于语言规则的算法是完全或部分透明的。
  • 社会科学研究目的的一个关键因素是透明度,因为透明算法的结果可以检查表面效度(face validity),也更容易检查算法偏差(algorithmic bias)。
  • 在心理测量学中,face validity 属于内容效度的一种,反映测试在表面上对被测试构念的代表性。但它依赖于主观判断,不是一种严格统计意义上的效度。例如,假设一项研究发现美国人通过他们的推文发现一年中最快乐的日子,发现它们是圣诞节和感恩节。对结果的检查可能会发现,结果完全是由于公式化的信息“圣诞快乐”和“感恩节快乐”,但如果删除这些信息,那么结果表明人们在那些日子里往往比平时更不快乐。这表明算法中对圣诞节和感恩节的定义是有效的。
  • 因此,模糊算法所得到的情感分析结果(如人工智能),难以检查其表面效度是否OK。人工智能算法的模式不直接表达情绪,而是间接地与之相关联,然后将这些模式应用于其他没有相同关联的上下文。举一个极端的例子,假设一个情感分析 AI 算法是在 2015 年至 2020 年的一系列美国推文上训练的。它可能会了解到“新闻”一词具有负面含义,因为“新闻”(news)经常用于“假新闻”(‘fake news’)一词或以其他贬低美国媒体的评论中。如果这个程序随后应用于来自英国的一般推文,它可能会报告说,在英国,新闻媒体的讨论往往是负面的,因为它认为“新闻”这个词是负面的。同样,在 COVID-19 大流行期间引发争议的词汇,如面罩(mask)、疏远(distancing)和疫苗(vaccine),可能会被人工智能算法学习为与情绪有关,从而在随后的几年中对它们做出不恰当的判断。

  • 没有完美的软件和方法。无论使用何种类型和来源的情感分析软件,重要的是进行表面效度检查,检查从结果中得出的结论是否反映了真实的信息趋势,而不是由于算法本身所造成的伪影。

使用 Sentistrength 进行情感分析

  • SentiStrength 可以估计短文本中积极和消极情绪的强度,并且适用于非正式语言。它对英语的简短社交网络文本(不适用于中文)具有人类水平的准确性,但政治文本除外。SentiStrength 报告了两种情绪强度:
    • -1(非消极)至 -5(极消极)
    • 1(非积极)至 5(极积极)
  • SentiStrength 的 Windows 版本可以从 http://sentistrength.wlv.ac.uk 免费下载,Java 版本(在其他操作系统上运行)可通过作者的电子邮件请求获得。
  • 基本方法:下载任一版本的 SentiStrength 后,必须将其分类的文本组织成可以阅读的格式。对于 SentiStrength,此格式可以是每行一个文本的纯文本文件,也可以是文本位于文件一列中的纯文本制表符分隔文件。然后,SentiStrength 可以在文件中每行的末尾附加正面和负面情绪强度分数,并选择性地附加每个分数的解释。
  • 情绪分析结果的报告方法,取决于分数的性质:
    1. 对于二进制和三位一体输出,这将是积极、消极和中性的文本的比例。
    2. 对于强度分数,这将是集合中每个文本的平均分数。这些分数可以通过将结果文件读取到电子表格中并使用电子表格公式或使用 Python 或其他程序来计算。
  • SentiStrength 还可以嵌入在自由文本分析框架 Mozdeh (https://mozdeh.wlv.ac.uk) 中。
    • Mozdeh收集推文或 YouTube 评论,并可以从其他来源导入文本。
    • 收集文本后,用户可以指定文本的子集(例如,按作者性别:男性、女性、非二元、未知、国家/地区、关键字搜索或日期),Mozdeh 将报告该集合中每个文本的情绪分数,以及该平均值的总体平均值和 95% 置信限。
    • 例如,Mozdeh可以轻松地将一系列推文的平均女性情绪与男性的平均情绪进行比较。

实战案例

  • https://methods.sagepub.com/dataset/dictionary-based-sentiment-analysis-in-econnews-2016-python
  • 该数据集旨在教授文本分析中基于词典的情感分析。该数据集是 2016 年经济新闻文章之声(Economic News Article Tone )数据集的一个子集,示例研究了新闻文章中有关美国经济的情感随时间的变化。

参考文献

Liu, B. (2012). Sentiment analysis and opinion mining. Morgan & Claypool Publishers.

Serrano-Guerrero, J., Olivas, J. A., Romero, F. P., & Herrera-Viedma, E. (2015). Sentiment analysis: A review and comparative analysis of web services. Information Sciences, 311, 18–38.

Thelwall, M. (2017). Sentiment analysis for big and small data. In N.Fielding, R.Lee, & G.Blank (Eds.), The SAGE Handbook of online research methods (pp. 344–360, 2nd Ed.). Sage.

Thelwall, M. (2021). Word association thematic analysis: A social media text exploration strategy. Morgan & Claypool. https://doi.org/10.2200/S01071ED1V01Y202012ICR072

Clarke, V., & Braun, V. (2014). Thematic analysis. In In Encyclopedia of critical psychology (pp. 1947–1952). Springer. Given, L. M. (Ed.). (2008). The Sage encyclopedia of qualitative research methods. Sage publications. 10.4135/9781412963909 Hofstede, G. (2011). Dimensionalizing cultures: The Hofstede model in context. Online Readings in Psychology and Culture, 2(1), 2307–0919. 10.9707/2307-0919.1014 Neuendorf, K. A. (2017). The content analysis guidebook. 10.4135/9781071802878 Thelwall, M, Buckley, K, & Paltoglou, G. (2012). Sentiment strength detection for the social web. Journal of the American Society for Information Science and Technology, 63(1), 163–173. 10.1002/asi.21662 Ting-Toomey, S. (2017). Conflict face-negotiation theory: Tracking its evolutionary journey. In Conflict management and intercultural communication (pp. 123–143). Routledge.