Feature interation—— Bridge、Fusion、Filte

文章探讨了多模态推荐系统中特征交互的重要性,包括Bridge方法通过图神经网络强化用户和物品间的关系,Fusion方法利用注意力机制融合多模态信息,以及Filtration方法用于降噪和过滤无关信息。这些方法遵循互补性和一致性准则,提升模型的表现。

Feature interation(特征交互):物品不同模态的表示属于不同的语义空间,并且每个用户对模态也有不同的偏好。因此,多模态推荐系统(MRS)寻求融合和交互多模态特征来生成用户和物品的特征表示。特征交互可以实现各模态不同特征空间到公共空间的非线形转化,交互方法可大致分为:Bridge、Fusion、Filter三类(这三种方法从不同的角度实现交互,它们可以同时应用于同一个模型中)  。

多模态学习研究遵循的两个重要的准则:

互补性准则:一个模态的数据包含了其他模态数据所缺乏的信息。在多模态学习中可以利用多个模态之间的互补信息来增强模型,综合多模态的信息能够更加全面地表述目标对象。

一致性准则:学习过程中最大不同模态之间的一致性。一致性准则的出发点在于认为多模态数据共享某些一致的语义信息(从各个模态中抽取的语义表示共享某些一致性。例如,从苹果的外观描述文本和苹果图像两种模态数据中抽取的语义特征应该有一定的一致性。

Bridge

该方法考虑了多模态信息,着重于捕捉用户和物品之间的相互关系。图神经网络的消息传递机制可以通过用户与项目之间的信息交换增强用户表示,进一步捕获用户对不同模态信息的偏好,具体可通过构建每种模态的user-item,item-item图,然后进行图卷积等操作实现,如图一所示。

图1:多模态消息传递

Fusion:

在多模态推荐场景中,用户和物品的多模态信息的种类和数量都非常庞大。因此,需要对不同的多模态信息进行融合,生成用于推荐任务的特征向量。与bridge相比,融合更关注物品内部的多模态关系,它旨在将各种偏好与模态相结合。注意力机制是目前使用最广泛的特征融合方法,可以根据不同权重和侧重点灵活的融合多模态信息。如图2所示。

图2:多模态特征融合

Filtration:

由于多模态数据不同于用户交互数据,它包含了许多与用户偏好无关的信息即噪声。噪声可以存在于交互图中,也可以存在于多模态特征本身,因此可以将Filtration分别嵌入到Bridge(物品级降噪)和Fusion(特征级降噪)中。例如,MEGCF关注多模态特征提取与用户兴趣建模之间的不匹配问题,该方法首先构建多模态用户-项目图,然后利用评论数据中的情感信息在GCN模块中进行细粒度权重近邻聚合来过滤信息。

图3:无品级降噪

注:本文只对特征交互进行说明,其他细节可以看 Multimodal Recommender Systems: A Survey

### 如何在EA中使用交互关系(Interation Relationship)绘制时序图 在EA(Enterprise Architect)中,交互关系(Interation Relationship)是一种用于连接两个或多个序列图的机制,允许在一个序列图中引用另一个序列图的内容[^4]。这种功能可以提高模型的模块化和可重用性。以下是关于如何在EA中使用交互关系绘制时序图的具体说明: #### 1. 创建主序列图 首先,在EA中创建一个主序列图。这个图将作为包含交互关系的容器。可以通过以下步骤实现: - 在EA的项目浏览器中,右键点击目标包,选择 **"Add Diagram..."**。 - 在弹出的对话框中,选择 **"Sequence Diagram"** 并命名该图。 #### 2. 添加交互参考(Interaction Reference) 在主序列图中添加交互参考以引用其他序列图的内容: - 在工具栏中选择 **"Interaction Occurrence"** 工具(通常表示为符号 <<include>>)。 - 在主序列图中拖动鼠标以放置交互参考,并为其指定名称。 - 右键点击交互参考,选择 **"Properties"** 打开属性窗口。 - 在属性窗口中,设置 **"Referenced Interaction"** 属性为要引用的目标序列图。这可以通过浏览已有的序列图来完成[^4]。 #### 3. 创建目标序列图 目标序列图是被主序列图引用的具体细节部分。确保目标序列图已经创建并包含所需的消息和对象。如果尚未创建,可以按照与主序列图相同的方式进行创建。 #### 4. 配置交互关系 为了使交互关系生效,需要正确配置其参数: - 确保交互参考的 **"Referenced Interaction"** 属性指向正确的序列图。 - 如果需要传递参数或返回值,可以在交互参考的属性中定义这些参数。 - 在目标序列图中,确保所有对象和消息都符合主序列图的上下文要求。 #### 5. 示例代码 以下是一个简单的Python脚本示例,展示如何通过代码生成EA中的交互关系(假设使用EA的API): ```python from win32com.client import Dispatch # 初始化EA应用 ea_app = Dispatch("EA.App") repository = ea_app.Repository # 获取目标包 package = repository.GetPackageByGuid("{PACKAGE_GUID}") # 创建主序列图 diagram = package.Diagrams.AddNew("Main Sequence Diagram", "Sequence") diagram.Update() # 添加交互参考 interaction_reference = diagram.DiagramObjects.AddNew("", "InteractionOccurrence") interaction_reference.Name = "ReferenceToSubDiagram" interaction_reference.Element.Stereotype = "<<include>>" interaction_reference.Element.TaggedValues.AddNew("ReferencedInteraction", "SubDiagramGUID") interaction_reference.Update() ``` #### 6. 注意事项 - 确保目标序列图的结构清晰且独立,以便在主序列图中能够正确引用。 - 如果目标序列图发生变化,可能需要更新主序列图中的交互参考以保持一致性。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值