【论文笔记】基于多分类器和对抗语料判别器的多语料库语音情感识别

本文介绍了一种通过多任务学习和对抗学习策略来解决语音情感识别中语料库差异问题的方法。研究者提出使用共享编码器、多个分类器与语料库判别器,旨在消除跨语料库的情感定义差异,减少信息损失,并在小规模语料如EmoDB和CREMA-D上展示了改进效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Reconciliation of Multiple Corpora for Speech Emotion Recognition by Multiple Classifiers with an Adversarial Corpus Discriminator

INTERSPEECH 2020 - Fairy Devices, Japan

关键词: 语音情感、多任务学习、对抗学习、多语料库


摘要

概述: 利用多任务学习和对抗学习压缩语料库特有因素以更好利用语料库,本篇文章研究的是训练数据的生成问题,也是一个新的思路
情感计算中主要的问题就是语料库的评价指标不一致,之前大多数研究的做法都是抛弃或者合并一些情感,但是会造成数据损失,再者语料库本身的许多特质也造成不能充分利用整个语料库。本文提出一个共享情感编码器,多个分类器和对抗语料库判别器,采用多任务学习和对抗学习训练。


简介

  • SER中使用很多神经网络模型
  • 虽然标签一样,但是跨语料库的情感表达是不一样的,不同语料库之间的情感定义也是不同的,我们需要消除他们之间的差异而不受单个语料库自身因素(语言、录音环境等)的限制
  • 之前的相关研究有的丢弃非共同标签的数据,或者合并为公共标签;或者用对抗学习合并域,这些方法改变了情感表达的边界或者抛弃了一些类别,导致大量的信息损失;直接使用多分类器,每个分类器对应一个语料库,但是没有消除语料库本身因素的影响

方法

模型结构

模型结构
语料库之间共享一个编码器,输入的语音特征被映射到嵌入空间,无论数据来自哪个数据库。每个语料库都对应一个分类器,这是为了保证不丢弃或者合并语料库中的情绪。除此之外还有一个对语料库标签的判别器。
只用多分类器,就无法消除语料库自身因素的影响,不同语料库的数据在特征空间的距离较远;只用对抗学习,只有但分类器的话,分类结果只有积极和消极两个,情感的内部信息就会丢失,所以将两者进行结合。

对抗学习

总损失函数的定义:
L = L e m o + L c o r \mathcal{L}=\mathcal{L}_{emo}+\mathcal{L}_{cor} L

### 模态命名实体识别 模态命名实体识别(Multi-modal Named Entity Recognition, MM-NER)旨在利用来自不同模式的数据来提高命名实体识别的效果。传统方法主要依赖于文本数据,而MM-NER则结合图像、音频等种形式的信息。通过融合这些异构信息源,可以更准确地捕捉到实体特征[^1]。 对于实现这一目标的技术手段而言,在处理过程中通常会涉及到跨模态表示学习算法的应用。例如,可以通过构建联合嵌入空间使得不同类型输入能够在同一向量场内表达相似语义概念;也可以采用注意力机制让模型自动聚焦于最具判别力的部分。 ```python import torch.nn as nn class MultiModalNER(nn.Module): def __init__(self): super(MultiModalNER, self).__init__() # Define layers for processing text and other modalities def forward(self, inputs_text, inputs_image=None): pass # Implement the logic to integrate multiple modality features here ``` ### 模态关系抽取 模态关系抽取(Multi-modal Relation Extraction, MM-RE)是指从种类型的媒体资料中提取出事物之间的关联信息。这不仅限于文字描述中的逻辑联系,还包括视觉场景里物体间的位置关系等非结构化线索。借助深度神经网络架构如图卷积网络或胶囊网络能够有效建模复杂交互模式并从中挖掘潜在规律。 具体来说,为了更好地理解图片内容及其所蕴含的关系,研究者们提出了基于区域提议的方法论框架——先定位感兴趣的目标对象再进一步分析它们之间可能存在的作用方式。此外还有些工作探索了如何将自然语言指令映射成对应的操作序列从而指导计算机完成特定任务。 ```python from transformers import BertModel class MultiModalRelationExtractor(BertModel): def __init__(self, config): super().__init__(config) # Add additional components specific to multi-modal relation extraction def extract_relations(self, input_ids, attention_mask, visual_features): outputs = self(input_ids=input_ids, attention_mask=attention_mask) last_hidden_state = outputs.last_hidden_state # Process `visual_features` alongside textual representations... return extracted_relationships ``` ### 方面级情感分析 方面级情感分析(Aspect-Level Sentiment Analysis, ALSA)专注于针对产品评论或其他意见表达材料里的各个维度分别给出正面与否的态度倾向评估。不同于全局层面的情感分类,ALSA关注的是细粒度上的偏好差异,比如顾客对餐厅食物质量满意但对其服务态度不满等情况。近年来随着预训练语言模型的发展,越来越的研究尝试引入外部知识库辅助判断,或是设计专门面向领域特性的微调策略以提升性能表现。 实践中常用的做法是在BERT之类的基础之上增加额外层用于编码aspect terms,并且允许其参数在整个优化流程期间得到更新调整。这样做的好处是可以充分利用大规模无标注语料所带来的优势同时又不失灵活性去适应新出现的任务需求变化趋势。 ```python class AspectLevelSentimentAnalyzer(nn.Module): def __init__(self, bert_model_name='bert-base-cased'): super(AspectLevelSentimentAnalyzer, self).__init__() self.bert = AutoModel.from_pretrained(bert_model_name) def analyze_sentiments(self, sentences_with_aspects): encoded_inputs = tokenizer(sentences_with_aspects, padding=True, truncation=True, return_tensors="pt") output = self.bert(**encoded_inputs)[0] # Further process BERT embeddings with respect to aspects... return sentiment_scores_per_aspect ``` ### 模态反讽识别 模态反讽识别(Multi-modal Irony Detection, MMDI)是一项具有挑战性的工作,因为它涉及到了解人类交流背后深层次的文化背景社会心理因素。当人们说某句话时表面上看似积极实际上却表达了相反含义的现象被称为讽刺言辞。MMDI试图通过对语音语气、面部表情乃至肢体动作等一系列信号进行综合考量进而区分正常陈述与隐含嘲弄意味的话语片段。由于缺乏足够的公开可用资源作为支撑,目前该方向仍处于起步阶段但是已经取得了一些初步成果。 一种可行方案是建立一个通道感知系统,其中每个子模块负责接收某一类感官刺激并将之转化为可供计算的形式;之后再由顶层控制器协调各部分输出最终做出决策。值得注意的是,考虑到个体间的巨大变异性以及文化习俗的影响程度不一,任何解决方案都应当具备良好的泛化能力自适应特性以便应对各种实际情况的发生可能性。 ```python def detect_ironic_statements(audio_signal, video_frames): audio_feature_extractor = AudioFeatureExtractor() vision_based_analyzer = VisionBasedIronyDetector() acoustic_cues = audio_feature_extractor.extract_features(audio_signal) facial_expressions_and_gestures = [vision_based_analyzer.analyze_frame(frame) for frame in video_frames] combined_representation = fuse_multimodal_data(acoustic_cues, facial_expressions_and_gestures) prediction = classify(combined_representation) return "ironic" if prediction >= threshold else "literal" ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值