Cross-lingual Functional Vectors for Emotion Detection in Large Language Models
Jieying Xue, Phuong Minh Nguyen, Minh Le Nguyen, Shogo Okada
EMNLP 2026
cs.CL, cs.LG
2026-08-30
JAIST把function vector做到多语言多标签情绪识别:源语言抽的方向能零样本操控目标语言,扰动提示下英语Macro-F1从0.6升到50.2,中文从0升到42.7。
Function vector(FV)是Todd等人提出的一种激活干预:从in-context示例里抽出任务方向,加回残差流,零样本也能把模型往该任务上推。原论文主要验证在抽取、分类这类边界清楚的英语任务上,情绪分析和同义词这类更糊的语义任务上效果有限。多语言、多标签、还要跨语言迁移,几乎没人测过。
JAIST这篇拿SemEval-2025 Task 11的多标签情绪识别当压力测试,问两件事:FV能不能做需要语境消歧的语义分类;从一个语言抽出来的方向,能不能在另一个语言上、不给目标语言示例的情况下把任务行为找回来。结论是能,而且跨语言有时比同语言还好。
抽取沿用Todd的因果中介:用一条简单抽取任务ConceptVObject5找出搬运任务信息的注意力头,按平均间接效应(AIE)排top-k。这些头跨任务共用。真正的情绪FV,是在该语言的干净5-shot情绪提示上,把这些头在最后一个token的平均激活加起来。注入时把这个向量加到残差流,干预层也按AIE选,通常跨多层,而不是只打一层。原论文单层干预在情感分析上不够用,这里把头分散到多层是刻意的。
评测用英、德、中、西、俄五种类型差得开的语言,标签是joy、sadness、fear、anger、surprise、disgust,可多选。模型是Qwen3-8B和Llama-3.1-8B-Instruct,每组五次随机种子。零样本只看贪心解码的第一个生成token;少样本最多生成10个token。
两个零样本设定把「会不会做题」和「方向里有没有任务」拆开。干净提示把任务说明和候选情绪写清楚;扰动提示在候选里掺进颜色、国家这类干扰标签,模型如果只是在读指令,会输出yellow、The man这种跑题词。FV在推理时注入,不额外塞示例。
干净零样本上,Qwen3-8B无FV的Macro-F1是英语36.4、德语16.9、中文18.4、西语41.4、俄语52.5。注入英语抽的20头FV后变成53.7、44.1、44.2、62.4、72.1。德语从16.9到44.1,这一跳最大。换源语言,数字在同一量级,西语源在英语上到54.4,甚至略高于英语源的53.7。
扰动设定把「方向里到底有没有任务」逼出来:
| FV源语言 | 英语 | 德语 | 中文 | 西语 | 俄语 |
| 无FV | 0.6 | 0.5 | 0.0 | 8.0 | 1.8 |
| 英语 | 48.6 | 38.2 | 41.4 | 51.8 | 58.9 |
| 西语 | 50.2 | 37.8 | 42.2 | 54.0 | 60.3 |
| 俄语 | 49.4 | 39.2 | 42.7 | 53.9 | 64.6 |
无FV时接近乱猜,注入后回到可用区间。个案里,无FV把fear句子标成yellow,有FV标回fear。Llama上方向一致,干净零样本中文从12.7升到三十出头,扰动无FV也明显高于Qwen的崩盘值,但注入后仍有二十到三十个点的提升。
少样本本身已经强很多(英语66.6),再加FV是补丁不是替代:英语同源大约+1.0,西语示例迁到俄语时,FV把73.9推到78.4。PAI、JNLP那些用Qwen 32B集成的SemEval成绩仍在80+ ,8B加干预到不了那个位置。Qwen3-8B上不同语言抽的FV余弦相似度0.94到0.96,Llama是0.85到0.93,方向高度重合。头数大约到6个就开始平台,再加头收益很小,这个平台在跨语言对里也稳。
对要做多语言分类、又不想每次推理都拼一堆示例的人,FV是一条便宜的干预:离线用源语言5-shot抽一个向量,推理时加到残差流,上下文长度不涨。跨语言能用,意味着这东西更像任务方向,不太像某一种语言的词面统计。头和层一旦在某个模型上标定,换源语言不必重搜,这点对工程有用。
它替代不了少样本,更替代不了微调大模型。适合的场景是零样本被扰动、目标语言示例稀缺、还想保持8B级延迟的时候。
作者写了三点。多标签之间的共现关系没有建模,FV有没有把「anger常跟disgust一起」这种结构编进去,不知道。任务停在分类,机器翻译这类长生成会不会被全程干预带偏,没有测;作者担心over-steering会把隐空间搅坏。生成质量不在评测范围内。
另外几处实验自己也漏着。零样本只评第一个token,多标签本该输出一串标签,这个协议偏乐观。头的选择来自一个简单英语抽取任务,再复用到情绪和多语言,为什么能迁,没有因果解释,只有AIE排序和余弦相似度。少样本表格里并非格格都涨,德语源迁到英语还从61.6掉到60.2,「一致提升」说得偏满。和32B集成的差距被一笔带过成「小模型也好」,量级其实差一截。