传知代码-机器情绪及抑郁症算法(四)!(论文复现)

代码以及视频讲解

本文所涉及所有资源均在传知代码平台可获取

计算机来理解你的情绪:情感计算的发展

近年来,多模态情感分析(MSA)受到越来越多的关注,多模态情感分析是一个综合了视觉、听觉等语言和非语言信息的重要研究课题。多模态机器学习涉及从多个模态的数据中学习。这是一个具有挑战性但又至关重要的研究领域,在机器人领域具有现实应用、对话系统、智能辅导系统和医疗诊断。许多多模态建模任务的核心在于从多模态中学习丰富的表示。例如,分析多媒体内容需要学习跨语言、视觉和声模态的多模态表示。虽然多模态的存在提供了额外的有价值的信息,但是当从多模态数据学习时,存在两个关键挑战需要解决:

  1. 模型必须学习复杂的模态内和跨模态相互作用以进行预测;
  2. 训练模型必须对测试期间意外丢失或有噪声的模态具有鲁棒性。

在这里插入图片描述

同时,繁重的工作量、紧迫的期限、不切实际的目标、延长的工作时间、工作不安全感和人际冲突等因素,导致了员工之间的紧张关系。超出一定限度的压力会对员工的工作效率、士气和积极性产生负面影响,同时还会引发各种生理和心理问题。长期的压力可能导致失眠、抑郁和心脏病。最新研究表明,长期的压力和癌症之间存在正相关。国际劳工组织在2019年宣布,“压力,过长的工作时间和疾病,导致每年近280万工人死亡,另外3.74亿人因工作受伤或生病”。

早期诊断和治疗对于减少压力对员工健康的长期影响和改善工作环境至关重要。检测抑郁症的常规方法通常由生理学家通过问卷访谈进行。但这种方法是定性的、耗时的且缺乏私密性,无法保证员工提供真实的答案,很多时候无法达到初步筛选的目的。相比之下,HRV(心率变异性)、ECG(心电图)、GSR(皮肤电反应)、血压、肌电图和EEG(脑电图)等方法是客观的,但同样缺乏私密性,而且由于这些测试能够推断私人健康信息,员工可能会对其产生抵触情绪。

因此,近年来,基于视频、音频和文本的抑郁症监测成为研究热点。基于视频的研究跟踪嘴唇、头部、心率、眨眼频率、凝视分布、瞳孔大小以及眼睛在面部各区域的运动。基于语音的方法则提取功率电平、LPCC、MPCC、倒谱系数等特征,并使用机器学习算法进行分类以检测情绪变化。基于文本的方法从文本中提取句法和语言特征,并使用机器学习分类器来检测抑郁症状。这些新方法为员工心理健康监测提供了更高效、更私密的解决方案。

在这里插入图片描述

我致力于对情感计算领域的经典模型进行分析、解读和总结,此外,由于现如今大多数的情感计算数据集都是基于英文语言开发的,我们计划在之后的整个系列文章中将中文数据集(SIMS, SIMSv2)应用在模型中,以开发适用于国人的情感计算分析模型,并应用在情感疾病(如抑郁症、自闭症)检测任务,为医学心理学等领域提供帮助,在未来,我也计划加入更多小众数据集,以便检测更隐匿的情感,如嫉妒、嘲讽等,使得AI可以更好的服务于社会。

【注】 我们文章中所用到的数据集,都经过重新特征提取形成新的数据集特征文件(.pkl),另外该抑郁症数据集因为涉及患者隐私,需要向数据集原创者申请,申请和下载链接都放在了我们附件中的 readme文件中,感兴趣的小伙伴可以进行下载,谢谢支持!

一、概述

这篇文章,我开始介绍第四篇情感计算经典论文模型,他是ICRL 2019的一篇多模态情感计算的论文 “LEARNING FACTORIZED MULTIMODAL REPRESENTATIONS”,其中提出的模型是MFM

此外,原创部分为加入了抑郁症数据集以实现抑郁症检测任务,以及在SIMS数据集和SIMV2数据集上进行实验。

二、论文地址

LEARNING FACTORIZED MULTIMODAL REPRESENTATIONS

三、研究背景

多模态情感分析和抑郁症检测是一个热门的研究领域,它利用多模态信号对用户生成的视频进行情感理解和抑郁症程度判断。此外,由于存在多个异构信息源,多模态表征的学习是一个非常复杂的研究问题。虽然多模态的存在提供了额外的有价值的信息,但在从多模态数据学习时,五个核心挑战:对齐、翻译、表征、融合和共同学习。其中,表征学习处于基础性地位。

四、主要贡献

  • 提出了用于多模态表征学习的多模态分解模型(MFM);
  • MFM将多模态表示分解为两组独立因子:多模态区分因子和特定于模态的生成因子;
  • 特定于模态的生成因子使我们能够基于因子化变量生成数据,解释缺失的模态,并对多模态学习中涉及的交互有更深入的理解。

五、模型结构和代码

1. 总体框架
如下图所示,MFM的功能可以分为两个主要阶段:Generative Network 和 Inference Network;通过两个模块组合生成整体MFM结构;多模态因子分解模型(MFM)是一种潜变量模型(a),对多模态判别因子和模态特定生成因子具有条件独立性假设。根据这些假设,提出了一个因子分解的联合分布的多峰数据。由于对这种分解分布的精确后验推理可能很难处理,我们提出了一种基于最小化多模态数据上的联合分布Wasserstein距离的近似推理算法。最后,推导出MFM目标通过近似的联合分布Wasserstein距离通过广义平均场假设。
在这里插入图片描述

2. 因式分解多模态表示
为了将多模态表示分解为多模态判别因子和特定模态生成因子,MFM假设一个贝叶斯网络结构,如上图 a 所示。在该图模型中,因子 F y F_y Fy F a { 1 : M } F_{a\{1:M\}} Fa{1:M} 由具有先验 P Z P_Z PZ 的相互独立的潜变量 Z = [ Z y , Z a { 1 : M } ] Z = [Z_y, Z_{a\{1:M\}}] Z=[Zy,Za{1:M}] 生成。具体地,$Z_y% 生成多模态判别因子 F y F_y Fy,并且 Z a { 1 : M } Z_{a\{1:M\}} Za{1:M} 生成模态特定生成因子 F a { 1 : M } F_{a\{1:M\}} Fa{1:M}。通过构造, F y F_y Fy 有助于生成 Y ^ \hat{Y} Y^,而 { F y , F a i } \{F_y, F_{ai}\} {Fy,Fai} 共同有助于生成 X ^ i \hat{X}_i X^i。因此,联合分布 P ( X ^ 1 : M , Y ^ ) P(\hat{X}_{1:M}, \hat{Y}) P(X^1:M,Y^) 可以分解;

由于对 Z Z Z 的积分,方程1中的精确后验推断在解析上可能是不可行的。因此,我们求助于使用近似推断分布 Q ( Z ∣ X 1 : M , Y ) Q(Z|X_{1:M}, Y) Q(ZX1:M,Y),其详细内容见以下小节。结果,MFM 可以被视为一种自编码结构,包含编码器(推断模块)和解码器(生成模块)(上图(c))。 Q ( . ∣ . ) Q(.| .) Q(.∣.) 的编码器模块使我们能够轻松地从近似后验中抽样 Z Z Z。解码器模块根据方程1和图(a)所给出的 P ( X ^ 1 : M , Y ^ ∣ Z ) P(\hat{X}_{1:M}, \hat{Y}|Z) P(X^1:M,Y^Z) 的因子分解进行参数化。
P ( X ^ 1 : M , Y ^ ) = ∫ F , Z P ( X ^ 1 : M , Y ^ ∣ F ) P ( F ∣ Z ) P ( Z ) d F d Z P(\hat{X}_{1:M}, \hat{Y}) = \int_F, Z \; P(\hat{X}_{1:M}, \hat{Y} \mid F) \, P(F \mid Z) \, P(Z) \, dF \, dZ P(X^1:M,Y^)=F,ZP(X^1:M,Y^F)P(FZ)P(Z)dFdZ

= ∫ F y , F a 1 : M Z y , Z a 1 : M ( P ( Y ^ ∣ F y ) ∏ i = 1 M P ( X ^ i ∣ F a i , F y ) ) ( P ( F y ∣ Z y ) ∏ i = 1 M P ( F a i ∣ Z a i ) ) ( P ( Z y ) ∏ i = 1 M P ( Z a i ) ) d F d Z = \int_{F_y, F_{a{1:M}}}^{Z_y, Z_{a{1:M}}} \left(P(\hat{Y} \mid F_y) \prod_{i=1}^{M} P(\hat{X}_i \mid F_{a_i}, F_y)\right) \left(P(F_y \mid Z_y) \prod_{i=1}^{M} P(F_{a_i} \mid Z_{a_i})\right) \left(P(Z_y) \prod_{i=1}^{M} P(Z_{a_i})\right) \, dF \, dZ =Fy,Fa1:MZy,Za1:M(P(Y^Fy)i=1MP(X^iFai,Fy))(P(FyZy)i=1MP(FaiZai))(P(Zy)i=1MP(Zai))dFdZ

3. 多模数据联合分布Wasserstein距离的最小化
在自编码结构中,常用的近似推断方法有变分自编码器(VAEs)和Wasserstein自编码器(WAEs)。前者优化证据下界目标(ELBO),后者则推导出Wasserstein距离的原始形式的近似。我们选择后者,因为它同时在潜在因子的解缠和样本生成质量上优于其对应方法。然而,WAEs设计用于单模态数据,并没有考虑生成多模态数据的潜在变量上的分解分布。因此,我们提出了一个变体,以处理多模态数据上的分解联合分布。

如Kingma & Welling(2013)所建议的那样,我们在编码器和解码器中采用了非线性映射的设计(即神经网络架构)(上图(c))。对于编码器 Q ( Z ∣ X 1 : M , Y ) Q(Z|X_{1:M}, Y) Q(ZX1:M,Y),我们学习了一个确定性映射 Q e n c : X 1 : M , Y → Z Q_{enc} : X_{1:M}, Y \to Z Qenc:X1:M,YZ。对于解码器,我们将潜在变量的生成过程定义为 G y : Z y → F y G_y : Z_y \to F_y Gy:ZyFy G a 1 : M : Z a 1 : M → F a 1 : M G_{a_{1:M}} : Z_{a_{1:M}} \to F_{a_{1:M}} Ga1:M:Za1:MFa1:M D : F y → Y ^ D : F_y \to \hat{Y} D:FyY^,和 F 1 : M : F y , F a 1 : M → X ^ 1 : M F_{1:M} : F_y, F_{a_{1:M}} \to \hat{X}_{1:M} F1:M:Fy,Fa1:MX^1:M,其中 G y , G a 1 : M , D G_y, G_{a_{1:M}}, D Gy,Ga1:M,D F 1 : M F_{1:M} F1:M 是由神经网络参数化的确定性函数。

W c ( P X 1 : M , Y , P X ^ 1 : M , Y ^ ) W_c(P_{X_{1:M}, Y}, P_{\hat{X}_{1:M}, \hat{Y}}) Wc(PX1:M,Y,PX^1:M,Y^) 表示在成本函数 c X i c_{X_i} cXi c Y c_Y cY 下的多模态数据上的联合分布Wasserstein距离。我们选择平方成本 c ( a , b ) = ∥ a − b ∥ 2 2 c(a, b) = \|a - b\|^2_2 c(a,b)=ab22,从而使我们能够最小化2-Wasserstein距离。成本函数不仅可以定义在静态数据上,还可以定义在时间序列数据上,例如文本、音频和视频。例如,给定时间序列数据 X = [ X 1 , X 2 , ⋯ , X T ] X = [X_1, X_2, \cdots, X_T] X=[X1,X2,,XT] X ^ = [ X ^ 1 , X ^ 2 , ⋯ , X ^ T ] \hat{X} = [\hat{X}_1, \hat{X}_2, \cdots, \hat{X}_T] X^=[X^1,X^2,,X^T],我们定义 c ( X , X ^ ) = ∑ t = 1 T ∥ X t − X ^ t ∥ 2 2 c(X, \hat{X}) = \sum_{t=1}^T \|X_t - \hat{X}_t\|^2_2 c(X,X^)=t=1TXtX^t22
在这里插入图片描述

4. 缺失模式的替代推理
多模态学习的一个关键挑战是处理缺失的模态。一个优秀的多模态模型应该能够在给定观测模态的情况下推断缺失的模态,并且仅基于观测模态进行预测。为了实现这一目标,MFM的推断过程可以通过使用代理推断网络来轻松地适应,代理推断网络在给定观测模态的情况下重建缺失模态。形式上,设 Φ \Phi Φ 表示代理推断网络。在给定观测模态 X 2 : M X_{2:M} X2:M的情况下,生成缺失模态 X ^ 1 \hat{X}_1 X^1 的过程可以公式化如下:
Φ ∗ = arg ⁡ min ⁡ Φ E P X 2 : M , X ^ 1 ( − log ⁡ P Φ ( X ^ 1 ∣ X 2 : M ) ) \Phi^* = \arg\min_{\Phi} \mathbb{E}_{P_{X_{2:M}, \hat{X}_1}} \left( -\log P_{\Phi}(\hat{X}_1 \mid X_{2:M}) \right) Φ=argΦminEPX2:M,X^1(logPΦ(X^1X2:M))

与第上一节类似,我们在 Q Φ ( ⋅ ∣ ⋅ ) Q_{\Phi}(\cdot \mid \cdot) QΦ() 中使用确定性映射, Q Φ ( Z y ∣ ⋅ ) Q_{\Phi}(Z_y \mid \cdot) QΦ(Zy) 也用于预测 P Φ ( Y ^ ∣ X 2 : M ) P_{\Phi}(\hat{Y} \mid X_{2:M}) PΦ(Y^X2:M) ,即:

P Φ ( Y ^ ∣ X 2 : M ) : = ∫ P ( Y ^ ∣ Z y ) Q Φ ( Z y ∣ X 2 : M ) d Z y . P_{\Phi}(\hat{Y} \mid X_{2:M}) := \int P(\hat{Y} \mid Z_y) Q_{\Phi}(Z_y \mid X_{2:M}) \, dZ_y. PΦ(Y^X2:M):=P(Y^Zy)QΦ(ZyX2:M)dZy.
上述公式表明,在存在缺失模态的情况下,我们只需要推断潜在的编码,而不是整个模态。

六、数据集介绍

1. CMU-MOSI: CMU-MOSI数据集是MSA研究中流行的基准数据集。该数据集是YouTube独白的集合,演讲者在其中表达他们对电影等主题的看法。MOSI共有93个视频,跨越89个远距离扬声器,包含2198个主观话语视频片段。这些话语被手动注释为[-3,3]之间的连续意见评分,其中-3/+3表示强烈的消极/积极情绪。

2. CMU-MOSEI: CMU-MOSEI数据集是对MOSI的改进,具有更多的话语数量,样本,扬声器和主题的更大多样性。该数据集包含23453个带注释的视频片段(话语),来自5000个视频,1000个不同的扬声器和250个不同的主题

3. AVEC2019: AVEC2019 DDS数据集是从患者临床访谈的视听记录中获得的。访谈由虚拟代理进行,以排除人为干扰。与上述两个数据集不同的是,AVEC2019中的每种模态都提供了几种不同的特征。例如,声学模态包括MFCC、eGeMaps以及由VGG和DenseNet提取的深度特征。在之前的研究中,发现MFCC和AU姿势分别是声学和视觉模态中两个最具鉴别力的特征。因此,为了简单和高效的目的,我们只使用MFCC和AU姿势特征来检测抑郁症。数据集用区间[0,24]内的PHQ-8评分进行注释,PHQ-8评分越大,抑郁倾向越严重。该基准数据集中有163个训练样本、56个验证样本和56个测试样本。

4. SIMS/SIMSV2: CH-SIMS数据集[35]是一个中文多模态情感分析数据集,为每种模态提供了详细的标注。该数据集包括2281个精选视频片段,这些片段来自各种电影、电视剧和综艺节目,每个样本都被赋予了情感分数,范围从-1(极度负面)到1(极度正面)

七、性能展示

  • 在情感计算任务中,可以看到 MFM 模型性能超越其他模型,证明了其有效性;
    在这里插入图片描述

  • 抑郁症检测任务,以下是 MFM 模型在抑郁症数据集AVEC2019中的表现:

ModelCCCMAE
Baseline0.1116.37
EF0.34
Bert-CNN & Gated-CNN0.4036.11
Multi-scale Temporal Dilated CNN0.4304.39
MFM0.4324.35

八、复现过程

下载附件并准备好数据集并调试代码后,进行下面的步骤,附件已经调通并修改,可直接正常运行;

1. 下载多模态情感分析集成包

pip install MMSA

2. 进行训练

$ python -m MMSA -d mosi/dosei/avec -m mmim -s 1111 -s 1112

九、运行过程

  1. 训练过程
    在这里插入图片描述

  2. 最终结果
    在这里插入图片描述

总结

1. 适用场景

  • 社交媒体情感分析: MFM模型适用于分析社交媒体平台上用户的多模态数据,包括文本、图像和音频,从而深入理解用户的情感倾向、态度和情绪变化。例如,可以用于监测社交媒体上的舆情、分析用户对特定事件或产品的反应等。

  • 情感驱动的内容推荐: 在内容推荐系统中,MFM模型可以根据用户的多模态数据,如观看历史、社交互动、文字评论等,推荐符合用户情感和兴趣的个性化内容,提升用户体验和内容吸引力。

  • 智能健康监测: MFM模型在智能健康监测领域具有潜力,可以通过分析用户的语音情绪、面部表情和文字记录来监测心理健康状态,包括抑郁倾向和情绪波动,为个体提供早期干预和支持。

  • 教育和人机交互: 在教育领域,MFM模型可以用于情感教育和个性化学习支持。通过分析学生的情感表达和反馈,提供定制化的学习体验和情感指导,增强教育效果和学习动机。

2. 项目特点

  • 多模态融合: MFM模型能够有效整合文本、图像和音频等多种数据源,充分利用不同模态之间的关联性和信息丰富度,提升情感分析的全面性和准确性。

  • 情感感知和表达建模: 通过先进的深度学习技术,MFM模型能够深入学习和模拟情感感知与表达过程,实现对复杂情感信息的准确捕捉和高效表示。

  • 自适应学习和个性化: MFM模型具备自适应学习能力,可以根据具体任务和用户需求调整情感建模策略,实现个性化的情感分析和反馈。

  • 跨领域应用能力: 由于其多模态分析的通用性和灵活性,MFM模型不仅适用于社交媒体分析和智能健康监测,还能应用于广告推荐、产品评价和人机交互等多个领域。

综上所述,MFM模型在多模态情感分析和智能应用领域展现出广泛的适用性和高效的技术特点,为实际应用场景提供了强大的分析和决策支持能力

源码下载

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

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

相关文章

Parsec问题解决方案

Parsec目前就是被墙了,有解决方案但治标不治本,如果想稳定串流建议是更换稳定的串流软件,以下是一些解决方案 方案一:在%appdata%/Parsec/config.txt中,添加代理 app_proxy_address 127.0.0.1 app_proxy_scheme http…

Qt篇——Qt在msvc编译下提示“C2001:常量中有换行符“的错误

在pro文件中添加以下配置即可: msvc{QMAKE_CFLAGS /utf-8QMAKE_CXXFLAGS /utf-8 }

双指针(7)_单调性_三数之和

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 双指针(7)_单调性_三数之和 收录于专栏【经典算法练习】 本专栏旨在分享学习C的一点学习笔记,欢迎大家在评论区交流讨论💌 目录 1. 题目…

Redis 常用命令总结

文章目录 目录 文章目录 1 . 前置内容 1.1 基本全局命令 KEYS EXISTS ​编辑 DEL EXPIRE TTL TYPE 1.2 数据结构和内部编码 2. String类型 SET GET MGET MSET SETNX INCR INCRBY DECR DECYBY INCRBYFLOAT 命令小结 内部编码 3 . Hash 哈希类型 HSET …

gpt4最新保姆级教程

如何使用 WildCard 服务注册 Claude3 随着 Claude3 的震撼发布,最强 AI 模型的桂冠已不再由 GPT-4 独揽。Claude3 推出了三个备受瞩目的模型:Claude 3 Haiku、Claude 3 Sonnet 以及 Claude 3 Opus,每个模型都展现了卓越的性能与特色。其中&a…

数据结构基本知识

一、什么是数据结构 1.1、组织存储数据 ---------》内存(存储) 1.2、研究目的 如何存储数据(变量,数组....)程序数据结构算法 1.3、常见保存数据的方法 数组:保存自己的数据指针:是间接访问已经存在的…

【Vue】pnpm创建Vue3+Vite项目

初始化项目 (1)cmd切换到指定工作目录,运行pnpm create vue命令,输入项目名称后按需安装组件 (2)使用vs code打开所创建的项目目录,Ctrl~快捷键打开终端,输入pnpm install下载项目…

[概率论] 随机变量的分布函数 (一)

文章目录 1.随机变量的分布函数2.离散型随机变量的分布函数3.连续性随机变量的分布函数 1.随机变量的分布函数 设X XX是一个随机变量,x xx是任意实数,则函数 几何表示 性质(一个函数是分布函数的充要条件) 2.离散型随机变量的分布…

数据结构-图-存储-邻接矩阵-邻接表

数据结构-图-存储 邻接矩阵 存储如下图1,图2 图1 对应邻接矩阵 图2 #include<bits/stdc.h> #define MAXN 1005 using namespace std; int n; int v[MAXN][MAXN]; int main(){cin>>n;for(int i1;i<n;i){for(int j1;j<n;j){cin>>v[i][j];}}for(int…

深度解析Unix系统的基本概念及优缺点和原理

介绍 Unix系统是一种多用户、多任务、分时操作系统&#xff0c;起源于20世纪70年代初&#xff0c;由贝尔实验室开发。它具有强大的命令行接口和层次结构的文件系统&#xff0c;支持多种处理器架构&#xff0c;广泛应用于工程应用和科学计算等领域。 基本概念 一、Unix系统的起…

数学建模强化宝典(13)M-K检验法

前言 M-K检验法&#xff0c;全称为Mann-Kendall检验法&#xff0c;是一种非参数的假设检验方法&#xff0c;广泛应用于时间序列数据的趋势性变化检验&#xff0c;特别是气候序列中的趋势分析和突变点检测。以下是对M-K检验法的详细介绍&#xff1a; 一、定义与背景 M-K检验法由…

嵌入式初学-C语言-数据结构--四

栈 1. 基本概念 栈是一种逻辑结构&#xff0c;是特殊的线性表。特殊在&#xff1a; 只能在固定的一端操作 只要满足上述条件&#xff0c;那么这种特殊的线性表就会呈现一种“后进先出”的逻辑&#xff0c;这种逻辑就被称为栈。栈 在生活中到处可见&#xff0c;比如堆叠的盘子…

Kubernetes部署(haproxy+keepalived)高可用环境和办公网络打通

HAProxy Keepalived 部署高可用性入口&#xff1a; 部署两台或多台节点运行 HAProxy 作为负载均衡器。使用 Keepalived 实现 VIP&#xff08;虚拟 IP&#xff09;&#xff0c;为 HAProxy 提供高可用性。Keepalived 会监控 HAProxy 的状态&#xff0c;如果主节点失效&#xff0…

Spring AOP,通知使用,spring事务管理,spring_web搭建

spring AOP AOP概述 AOP面向切面编程是对面向对象编程的延续&#xff08;AOP &#xff08;Aspect Orient Programming&#xff09;,直译过来就是 面向切面编程,AOP 是一种编程思想&#xff0c;是面向对象编程&#xff08;OOP&#xff09;的一种补充。&#xff09; 面向切面编…

【C++二分查找】1482. 制作 m 束花所需的最少天数

本文涉及的基础知识点 C二分查找 LeetCode1482. 制作 m 束花所需的最少天数 给你一个整数数组 bloomDay&#xff0c;以及两个整数 m 和 k 。 现需要制作 m 束花。制作花束时&#xff0c;需要使用花园中 相邻的 k 朵花 。 花园中有 n 朵花&#xff0c;第 i 朵花会在 bloomDay…

南京网站设计手机用的网站

近年来&#xff0c;随着移动互联网的快速发展&#xff0c;越来越多的用户通过手机浏览网页&#xff0c;这使得网站设计逐渐向移动端倾斜。在南京&#xff0c;网站设计特别注重适配手机端&#xff0c;这不仅是用户体验的提升&#xff0c;也是市场竞争的需要。一个响应式的网站能…

vue3 v-bind=“$attrs“ 的一些理解,透传 Attributes相关说明及事例说明

1、可能小伙伴们经常会在自己的项目中看到v-bind"$attrs"&#xff0c;这个一般是在自定义组件中看到。 比如&#xff1a; <template><BasicModalv-bind"$attrs"register"registerModal":title"getTitle"ok"handleSubm…

Python进程间网络远程通讯方式:socket、pipe、RPC详解!

背景 最近在进行开发工作的时候&#xff0c;遇到了一个场景&#xff1a; pc程序需要和安卓设备进行通讯和接口调用。 此时就需要进行远程调用方法。然而大学时代有关于远程过程调用的知识都还给了老师……所以在此进行一个复习&#xff0c;并进行实战演练&#xff01; 网络…

UE驻网失败问题(三)

这个问题是lab问题&#xff0c;现象如下&#xff1a; 期望UE注册在SA网络下&#xff0c;咋一看没有5G MIB/SIB1打印&#xff0c;好像是没搜到5G小区&#xff0c;而实际上并不是这样。 在查看搜网过程时会发现如下log打印&#xff1a; [I nr5g_rrc_acq.c 3544] RRC ACQ: Band 41…

一个全面、先进、公平且模块化的开源RAG框架

两个关键问题限制了 RAG 的发展&#xff1a; 新型 RAG 算法之间缺乏全面和公平的比较。 像 LlamaIndex 和 LangChain 这样的开源工具使用了高级抽象&#xff0c;这导致了透明度的缺失&#xff0c;并限制了开****发新算法和评估指标的能力。 RAGLAB&#xff1a;是一个模块化的…