信息检索(49):Learning Passage Impacts for Inverted Indexes

Learning Passage Impacts for Inverted Indexes

  • 摘要
  • 1 引言
  • 2 深度影响框架
  • 3 实验结果
  • 结论


发布时间(2021)


标题:倒排索引对于段落学习的影响

摘要

1)语言模型 + 倒排索引
2)改进影响分数建模和词汇不匹配问题
3)为每个文档 token 生成单值表示,估计其重要性
神经信息检索系统通常使用级联管道,其中第一阶段模型检索候选文档集,然后一个或多个后续阶段使用 BERT 等语境语言模型对该集合重新排序。在本文中,我们提出了 DeepImpact,这是一种新的文档术语加权方案,适用于使用标准倒排索引进行有效检索。与现有方法相比,DeepImpact 改进了影响分数建模并解决了词汇不匹配问题。具体来说,DeepImpact 利用 DocT5Query 丰富文档集合,并使用语境语言模型直接估计文档中标记的语义重要性,为每个文档中的每个标记生成一个单值表示。我们的实验表明,DeepImpact 在有效性指标上明显优于之前的第一阶段检索方法,最高可达 17%。 DocT5Query,当部署在重新排名场景中时,可以达到与最先进方法相同的效果,效率提高 5.1 倍

1 引言

1)term impacts
现代搜索引擎采用复杂的机器学习排名函数来检索与查询最相关的文档。 最近,预训练的语境化语言模型(如 BERT [6])的开发带来了令人印象深刻的搜索效果,但代价是查询处理时间昂贵,这使得它们在生产场景中的部署具有挑战性。Nogueira 和 Cho [18] 以及 MacAvaney 等人 [14] 通过微调预训练的 Transformer 网络来区分相关和不相关的查询-文档对,分别展示了 BERT 在段落和文档重新排名任务中的有效性方面的卓越表现。然而,最近的几项研究 [7, 14] 表明,即使只对前 1000 个结果进行重新排名,这也会产生非常高的计算成本。其他研究 [9, 12, 13] 提出了一些计算成本较低但通常会损失一些检索质量的方法。BERT 的 Transformer 编码器由许多神经层组成,这些神经层执行昂贵的处理来计算查询-文档相关性信号。为了解决这个性能瓶颈,已经提出了不同的解决方案,这些解决方案基于 BERT 生成的查询-文档表示的预计算。EPIC [13] 建议在 BERT 之上构建一个新的排名模型,该模型训练在给定的固定长度向量空间中生成查询和文档表示,长度等于词典的大小。文档表示是预先计算的,而查询表示是在检索时计算的,然后通过计算两个表示之间的相似度来获得排名分数。
PreTTR [12] 和 ColBERT [9] 通过实验表明,BERT 大多数层中的查询-文档交互对最终效果影响不大。这导致他们在索引时预先计算文档表示,这些表示在查询处理时仅用于在最后一层计算查询-文档交互。虽然 PreTTR 仍然依赖于基于 BM25 的第一阶段候选生成,但 ColBERT 研究了预先计算的文档表示在索引中的所有文档中识别相关文档的能力。由于文档表示的空间/时间要求,ColBERT 利用应用于密集表示的近似最近邻 (ANN) 搜索作为第一阶段检索系统,然后是精确重新排序阶段,而使用精确最近邻搜索 [23] 的类似方法可以在单个阶段执行处理
遵循不同的范式,Dai 和 Callan [4] 研究了如何使用 BERT 中的上下文词表示来生成更有效的文档词权重,以进行词袋检索。DeepCT [4](用于段落)和 HDCT [5](用于文档)通过将每个词的 BERT 表示投影为单个词权重来估计每个段落/文档中词的上下文特定重要性。然后,这些词权重被转换为词频类整数值,这些整数值可以存储在倒排索引中,以便与经典检索模型一起使用。我们在本研究中解决的 DeepCT 的一个主要限制是,它是作为每个标记的回归任务进行训练的,其中每个词都需要一个基本事实词权重,并且不允许各个影响分数共同适应识别相关文档的下游目标。
通过将新的整数值作为词频存储在倒排索引中,DeepCT 和 HDCT 用额外的文档级上下文信息丰富了文档的词袋表示,从而更准确地匹配查询。使用不同的方法,Nogueira 和 Lin [19] 提出了 DocT5Query,这是一种文档扩展策略,用额外的术语丰富每个文档,从而能够提高文档相对于与其相关的查询的检索效率。DocT5Query 训练一个序列到序列模型来预测可能与给定文档相关的查询,并在索引之前将这些查询附加到文档中。作为扩展文档的另一种方式,最近的 SparTerm [1] 方法预测词汇表中每个术语的重要性分数,并使用门控机制仅保留其中的稀疏子集,使用它们来学习相关和不相关文档的端到端分数。然而,这只会将 DocT5Query 的 MRR@10 从 0.277 增加到 0.279。
我们提出了 DeepImpact,这是一种更有效的方法,用于学习术语-文档对的相关性分数贡献,这些分数也可以存储在经典的倒排索引中。DeepImpact 改进了影响分数建模,并解决了查询和文档之间的词汇不匹配问题 [25]。DeepImpact 不是像 DeepCT 那样学习独立的术语级分数而不考虑文档中的术语共现,也不是像 DocT5Query 那样依赖于不变的 BM25 评分,而是直接优化查询术语影响的总和,以最大化查询的相关和非相关段落之间的分数差异。 换句话说,虽然 DeepCT 学习现有 IR 模型的词频成分,例如 BM25,但在本文中,我们的目标是在段落中出现的所有查询术语中联合学习最终的术语影响。通过这种方式,与单独训练每个影响相比,我们提出的模型可以学习影响之间更丰富的交互模式。为了解决词汇不匹配问题,DeepImpact 利用 DocT5Query 来丰富每篇文档,其中包含可能出现在与该文档相关的查询中的新术语。使用上下文语言模型,它直接估计文档中标记的语义重要性,为每个文档中的每个标记生成一个单值表示,该表示可以存储在倒排索引中以实现高效检索。我们的实验表明,DeepImpact 在 DocT5Query 的有效性指标上明显优于之前的第一阶段检索方法,最高可达 17%。 在重新排名场景中部署时,它达到了与最先进方法相同的有效性,但速度提高了 5.1 倍
综上所述,本文做出了以下贡献:
• 我们提出了 DeepImpact,这是一种更有效的方案,用于联合学习扩展文档上的术语影响。
• 我们在 MS MARCO 段落排名任务上评估了 DeepImpact。我们发现,与之前的第一阶段检索方法相比,DeepImpact 可以提高段落排名的排名效果,并且与基于 ANN 搜索的复杂系统相比具有竞争力,同时计算成本要低得多
• 我们将 DeepImpact 作为重新排名流程中的第一阶段模型进行评估,并表明该流程与强大的基线方法相匹配或优于强大的基线方法,同时效率很高。

2 深度影响框架

重写 rewrite:添加文档已有术语
注入 inject:添加文档原本没有的术语

文档扩展
在我们的方法中,我们利用 DocT5Query 文档扩展来丰富原始文档集合,使其具有扩展术语。正如 Nogueira 等人 [21] 所指出的,文档扩展可以看作是一种双重方法。通过添加已经是文档一部分的术语,它会重写它们的频率,类似于 DeepCT。此外,它会将原本不属于文档的新术语注入段落中,以解决术语不匹配问题。我们将这两者分别称为重写和注入。表 1 总结了 DocT5Query 应用于 MSMARCO 段落排名集合时的效果,并分离了这两个贡献。虽然单独使用重写比注入实现了更强的 MRR@10,但后者实现了更高的召回率。在这两个指标上,同时使用两者的表现都明显优于其中任何一种。事实上,注入对于捕获额外结果很重要,但需要重写来正确加权注入的术语。然而,重写与 DeepCT 的比较表明,DocT5Query 在确定术语的正确频率和产生的影响分数方面仍然不是最优的。

神经网络架构
图 1 描述了 DeepImpact 的架构。DeepImpact 将原始文档术语(白色)和注入的扩展术语(灰色)输入上下文 LM 编码器,并用 [SEP] 分隔符标记将两者分开。LM 编码器为每个输入标记生成一个嵌入。每个唯一术语的第一次出现都作为影响分数编码器的输入,该编码器是一个具有 ReLU 激活的两层 MLP。这会为文档中的每个唯一术语生成一个单值分数,表示其影响。给定一个查询 𝑞,我们将文档 𝑑 的分数建模为 𝑞 和 𝑑 中术语交集的影响总和。

网络训练
我们使用从官方 MS-MARCO 训练数据集中采样的三元组来训练我们的模型,每个样本由一个查询、一个相关段落和一个假定的不相关段落组成。
我们使用讨论过的 DocT5Query 扩展每个段落。该模型将每个文档转换为分数列表,这些分数对应于与查询匹配的文档术语。然后将这些分数相加,获得累积的查询文档分数。 对于每个三元组,计算相应两个文档的两个分数。通过对文档分数进行成对 softmax 交叉熵损失来优化模型。我们使用 BERT-base 作为上下文 LM。我们将最大序列长度设置为 160 个标记。 使用 Adam 优化器,损失通过整个 DeepImpact 神经模型反向传播,学习率为 3 × 10−6。 我们使用 32 个三元组的批次并进行 100,000 次迭代训练。

影响分数计算
在训练阶段之后,DeepImpact 可以利用学习到的术语加权方案离线预测文档中每个标记的语义重要性。 每个文档都表示为术语-分数对的列表,这些对被转换为倒排索引。然后可以使用高效的查询处理策略搜索索引。我们使用三位数的精度推断分数,并且不执行任何缩放。

量化和查询处理
我们预测了实值的文档术语影响分数,但由于每个帖子存储一个浮点值会大大增加倒排索引的空间需求,因此我们决定以量化形式存储影响。量化影响分数属于 [1, 2 𝑏 − 1] 的范围,其中 𝑏 是用于存储每个值的位数。我们使用线性量化对 𝑏 = 8 进行了实验,没有发现相对于原始分数的精度有任何损失。由于我们以相同的方式量化了索引中的所有分数,因此要在查询处理时计算查询文档分数,我们只需将与查询匹配的文档术语的所有量化分数相加即可

3 实验结果

第一阶段检索实验:
1)BM25 比较
2)DeepCT 比较
3)BM25 + DocT5query 比较
4)DeepImpact(本文)
补充:deepct+doct5query没有比较,因为需要重新训练deepct

在本节中,我们使用标准测试集合和查询日志来分析所提出方法的性能。

硬件
为了评估延迟,我们使用一台机器的单核,该机器具有四个 Intel Xeon Platinum 8268 CPU 和 369 GB RAM,运行 Linux 4.18。要运行 ColBERT,需要 GPU,我们使用了具有 48GB 内存的 NVIDIA RTX8000。

数据集和查询日志
我们在 MSMARCO 段落排名 [17] 数据集上进行了实验。
为了评估查询处理的有效性和效率,我们使用 MSMARCO Dev Queries 1 与现有方法进行了比较,并在 TREC 深度学习段落排名轨道上的 TREC 2019 [3] 和 TREC 2020 [2] 查询上测试了所有方法。

基线
我们进行了两组不同的实验。我们的初步实验旨在比较 DeepImpact 作为第一阶段排序器的性能,处理倒排索引上的查询,但没有复杂的重新排序。在这个实验中,我们将我们提出的 DeepImpact 与未修改集合上的经典 BM25 相关性模型以及处理倒排索引的最新解决方案(即 DeepCT 和 BM25)在使用 DocT5Query 扩展的集合上进行比较。我们不会在使用 DocT5Query 扩展的集合上与 DeepCT 进行比较,因为这将涉及从头开始训练新的 DeepCT 模型来学习如何权衡扩展的文档。
我们的第二组实验在重新排序设置中比较了 DeepImpact。首先,使用 EPIC 和 ColBERT 对 DeepImpact 检索的前 1000 个文档进行重新排序,并与 ColBERT 端到端 (E2E) 进行比较,其中使用 ANN 搜索生成候选。最后,当将 ColBERT 在几个第一阶段截止点应用于不同的候选生成方法时,我们研究了第一阶段召回率和重新排序阶段 MRR@10。

实现
我们使用 Anserini [24] 生成集合的倒排索引。然后,我们使用 CIFF 通用索引文件格式 [10] 导出 Anserini 索引,并使用 MaxScore 查询处理算法 [22] 通过 PISA [16] 对其进行处理。我们使用 Anserini 提供的 BM25 评分方法。对于 DeepCT,我们使用了 Mackenzie 等人提供的源代码和数据2 [15]。对于 DocT5Query,我们使用在线可用的预测查询3,对语料库中的每个段落使用 40 个连接预测,这是 Nogueira 和 Lin [19] 推荐的。我们使用 OpenNIR [11] 中的 EPIC 实现和官方预训练模型4。我们使用 Khattab 和 Zaharia [9] 提供的 ColBERT 实现5,经过 200k 次迭代训练。DeepImpact 的训练和索引任务均用 Python 实现。量化步骤之后,文档直接由 PISA 索引。 所有基线的查询处理效率均使用 PISA 进行测量。查询处理使用 MaxScore 来检索前 1000 个文档。我们的源代码是公开的。6

指标
为了衡量有效性,我们使用每个查询集的官方指标,即 MSMARCO 查询的平均倒数排名 (MRR@10),以及 TREC 查询的标准化折扣累积增益 (NDCG@10) 和平均准确率 (M​​AP),遵循 [8]。我们还报告了第一阶段的召回率和重新排序阶段在不同截止值下的 MRR@10。最后,我们计算每个查询处理策略的平均响应时间 (MRT),以毫秒为单位。我们进行 Bonferroni 校正的成对 t 检验,并报告 𝑝 < 0.05 的显著性。

总体比较
我们的第一个实验旨在展示 DeepImpact 与之前的工作相比在早期阶段取得的有效性改进。结果如表 2 所示,显示了 MS MARCO 上三个查询日志的有效性和效率。我们检索每个查询的前 1000 个文档(不重新排序),并报告 NDCG@10、MRR@10 和 MAP 以及 MRT 的值。
DeepImpact 的表现明显优于所有方法,并且在 MSMARCO Dev Queries 的所有有效性指标上都显著优于其他策略。对于 TREC 2019 和 TREC 2020 查询,DeepImpact 始终优于竞争对手,在某些情况下,NDCG@10 和 MAP 的统计意义显著。后两个查询轨迹的统计意义受到查询数量相对较少的限制
我们还发现 DeepImpact 的平均响应时间超过了其他方法报告的时间。我们将其归因于查询处理策略:BM25 诱导的分数分布(用于 BM25、DeepCT 和 DocT5Query)被 MaxScore 算法更有效地利用,而 DeepImpact 学习了新的分数,MaxScore 无法有效地利用其分布。我们使用未优化的析取查询处理进行了额外的实验,由于篇幅限制,省略了这些实验。这些实验表明 DeepImpact 的速度与其他方法一致。优化 DeepImpact 的查询处理速度是一个有趣的开放问题,有待未来研究。

重排序评估
表 3 显示了使用两个复杂的重新排序器 EPIC 和 ColBERT 对 DeepImpact 生成的前 1000 个候选进行重新排序的效果。作为比较,该表还显示了 ColBERT 在采用 ANN 搜索作为第一阶段检索机制进行端到端使用时获得的性能。在所有查询集上,DeepImpact 后跟 ColBERT 重新排序器获得的有效性值都高于 ColBERT E2E。 此外,DeepImpact + ColBERT 相对于 ColBERT E2E 的加速比为 4.4 × −5.1 倍。

第一阶段截止评估
DeepImpact 能够实现比所有比较方法显著更高的召回率(截止值为 1000 时只有一个例外)。具体来说,表 4 表明,截止值越小,与其他方法的差距越大,这降低了重新排序的成本,因此可以使用更复杂的成对排序模型,例如 DuoBERT [20]。在重新排序中,DeepImpact 在截止值为 10 时优于所有其他方法。此外,它在除 1000 之外的所有截止值上都优于 DeepCT,并且与 DocT5Query 相当。

结论

进一步工作:
1)放宽匹配条件
2)使用更复杂技术改进术语扩展
3)impact score的分布是如何影响查询处理算法的如maxscore
在本文中,我们介绍了 DeepImpact,这是一种新的第一阶段检索方法,它利用传统倒排索引和上下文语言模型的组合来实现高效检索。 通过估计语义重要性,DeepImpact 为文档集合的每个标记生成单值影响分数。我们的结果表明,DeepImpact 的表现优于每个基于倒排索引的基线,在某些情况下甚至可以与更复杂的神经检索方法(如 ColBERT)的有效性相媲美。此外,当使用 ColBERT 而不是近似最近邻对 DeepImpact 检索到的候选词进行重新排序时,我们发现查询处理延迟显著减少,整个流程的有效性略有提高。未来的工作将侧重于进一步增强底层模型。首先,我们想尝试在查询文档术语之间使用更宽松的匹配条件,而不是精确匹配。其次,我们相信我们可以通过更复杂的技术来进一步改进术语扩展。最后,我们计划研究改变影响分数的分布如何影响 MaxScore 等查询处理算法,以及如何解决这个问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/32262.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我理解的文本表示模型

词袋模型与N-grams模型 1 词袋模型 (Bag of Words)1.1 one-hot 取值 (Binary)1.2 Term Frequency 取值 (TF)普通频数 r a w t f raw_{tf} rawtf​频率范数归一化对数频数 1.3 Inverse document frequency (IDF)1.4 TF-IDF scores 取值 N-Gram 最简单的文本建模场景&#xff1a…

HTML页面布局-使用div示例

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body><!--text-align:center 文字水平居中line-height&#xff1a;200px; 文字垂直居中,行高设置跟高…

点云处理中阶 Sample Consensus(一)

目录 一、什么是Sample Consensus (采样一致性) 二、推荐阅读 三、提供的示例 四、注意问题 一、什么是Sample Consensus (采样一致性) PCL(Point Cloud Library)中的 Sample Consensus 是一种用于点云数据的模型拟合方法。它的核心思想是通过迭代的方式,在点云数据…

聚类算法(2)--- ISODATA算法

本篇文章是博主在人工智能等领域学习时&#xff0c;用于个人学习、研究或者欣赏使用&#xff0c;并基于博主对人工智能等领域的一些理解而记录的学习摘录和笔记&#xff0c;若有不当和侵权之处&#xff0c;指出后将会立即改正&#xff0c;还望谅解。文章分类在AI学习笔记&#…

Vue02-第一个Vue程序

第一个Vue程序 1、什么是MVVM MVVM&#xff08;Model-View-ViewModel&#xff09;是一种软件设计模式&#xff0c;由微软WPF&#xff08;用于替代WinForm&#xff0c;以前就是用这个技术开发桌面应用程序的&#xff09;和Silverlight&#xff08;类似于Java Applet&#xff0…

安卓安装linux + .net环境

安装Termux 到下面地址获取apk安装包 https://github.com/termux/termux-app 安装ssh ~ $ pkg install openssl ~ $ pkg install openssh查看用户名 ~ $ whoami ssh u0_a390修改当前用户密码 passwd 启动ssh sshd 安装 proot-distro pkg install proot-distro 列出能装的lin…

新手(初学者)学R语言第一课,从学正确导入数据开始

初看题目好像我在教你怎么导入数据&#xff0c;不不不&#xff0c;我是在教你正确的导入数据&#xff0c;不是说数据导入R就叫正确导入数据了。本章为新手教程&#xff0c;老手可以跳过。 这个内容早就想写了&#xff0c;今天有点空和大家聊一下。为什么R语言对于新手而言不太友…

nginx启动之后任务管理器里面没有nginx进程

原因1&#xff1a;确保你的nginx文件夹里面只包含英文路径&#xff01;绝对不能有中文&#xff01; 原因2&#xff1a; 到conf\nginx.conf里面查看端口和IP地址是否正确设置&#xff0c;ip地址有无正确输入

SpringCloud-nacos基础

SpringCloud-nacos nacos在微服务种有两大作用&#xff1a; 配置中心服务注册中心 配置中心 维度管理 nacos配置中心可以在三个维度进行管理&#xff1a; spring.profiles.active dev/prod/test,通过这个属性可以配置不同环境下的配置文件。 配置的文件名应该为${spring…

【MATLAB】(高数)

参考文章 函数极限 导数与偏导 极值和最值 局部范围的最值 局部范围内的最值&#xff0c;相当于函数的极值 离散数据的最值 多元函数的极值 fminunc [x, fval] fminunc(fun, x0)fun为代求极值的函数&#xff1b;x0为起始点&#xff0c;即从这个点开始寻找极值&#xff0c;…

SpringCloud-OpenFeign基础

OpenFeign OpenFeign简介 OpenFeign是一个基于HTTP协议的RPC&#xff08;远程过程调用&#xff09;组件&#xff0c;用于简化HTTP请求和响应的处理。它通过声明式的方式定义REST API接口&#xff0c;并自动生成实现该接口的客户端代码&#xff0c;从而简化了RESTful服务的调用…

4、MFC:菜单栏、工具栏与状态栏

菜单栏、工具栏与状态栏 1、菜单栏1.1 简介1.2 创建属性设置菜单消息成员函数 1.3 实例 2、工具栏2.1 简介工具栏属性2.2 创建消息CToolBar类的主要成员函数 2.3 实例 3、状态栏3.1 简介3.2 创建CStatusBar类状态栏创建 3.3 实例 1、菜单栏 1.1 简介 菜单在界面设计中是经常使…

渗透测试-若依框架的杀猪交易所系统管理后台

前言 这次是带着摸鱼的情况下简单的写一篇文章&#xff0c;由于我喜欢探究黑灰产业&#xff0c;所以偶尔机遇下找到了一个加密H币的交易所S猪盘&#xff0c;我记得印象是上年的时候就打过这一个同样的站&#xff0c;然后我是通过指纹查找其它的一些站&#xff0c;那个站已经关…

海外短剧系统如何征服观众心

海外短剧系统要征服观众的心&#xff0c;需要综合考虑多个方面。 1、紧凑的剧情设计&#xff1a; 短小精悍&#xff1a;海外短剧通常每集时长不超过半小时&#xff0c;甚至有的仅有几分钟。这种紧凑的剧情设计让观众能够在短时间内迅速沉浸在故事中&#xff0c;无需花费大量时间…

OpenCV一文入门

OpenCV一文入门 官网地址 OpenCV 当前版本 opencv-python 4.9.0.80 python 包地址 https://pypi.org/project/opencv-python/ OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是一个开源计算机视觉和机器学习软件库&#xff0c;由Intel最初开发&#xff0c…

oracle中使用临时表GLOBAL TEMPORARY TABLE

需要在存储过程中返回一个临时结果集&#xff0c;这个结果集又是多个语句通过循环查询出来的&#xff0c;这时候就想到了将结果插入到临时表中&#xff0c;然后返回临时表的数据的思路&#xff0c;于是有了以下操作&#xff1a; 1.创建临时表 -- Create table create global …

STM32驱动-ads1112

汇总一系列AD/DA的驱动程序 ads1112.c #include "ads1112.h" #include "common.h"void AD5726_Init(void) {GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOC, ENABLE );//PORTA、D时钟使能 G…

Oracle报错:ORA-02292: 违反完整约束条件 - 已找到子记录问题解决

目录 一、问题详情 二、原因分析 三、解决方案 一、问题详情 使用Mybatis删除数据的时候&#xff0c;报了如下错误详情&#xff1a; org.springframework.dao.DataIntegrityViolationException: ### Error updating database. Cause: java.sql.SQLException: ORA-02292: …

数学建模 —— 查找数据

目录 百度搜索技巧 完全匹配搜索&#xff1a;查询词的外边加上双引号“ ” 标题必含关键词&#xff1a;查询词前加上intitle: 搜索文档&#xff1a;空格再输入filetype:文件格式 去掉不想要的&#xff1a;查询词后面加空格后加减号与关键字 知网查文献 先看知网的硕博士…

大脑临界状态:探索思维背后的物理机制

在深度思考或创造性灵感的涌现时刻&#xff0c;个体常体验到一种介于混乱与有序之间的特殊心理状态。这种感受实则反映了大脑在认知过程中的临界状态&#xff0c;这是一种涉及复杂物理现象的心理活动表现。近期研究表明&#xff0c;大脑结构中存在着与临界性密切相关的物理特性…