标签:#语音识别 | #基准设计 | #多语言 | #低资源 | #基准测试
评分:6.4/10 | 创新 1.2/2 | 技术严谨 1/1.5 | 实验充分 1.2/1.5 | 清晰度 0.8/1 | 影响力 0.9/1.5 | 开源 0/1.5 | 可复现 0.3/0.5 | 工程/实践 1/1.5
👥 作者与机构
- Chibuzor Okocha:机构信息未在 arXiv HTML 中可靠披露
- Christan Earl Grant:机构信息未在 arXiv HTML 中可靠披露
📌 核心摘要
本文处理英语主导的英语-约鲁巴语码切换短语音逐字转写,输入平均4.20秒、8.52词且平均2.60次切换,输出需保留ẹ、ọ、ṣ下点与声调变音符号,难点是整体WER被高识别率英语矩阵语言主导而稀释嵌入语切换点失效。首先在AfriCodeSwitch验证集上固定确定性2000条cap2000清单并统一Unicode NFC归一化、大小写折叠与标点剥离,为对齐提供同一输入。其次用最小编辑距离对齐判定每词正确与否并结合语料语言标签划分语言归属与切换入口集合,将上步对齐输出转为掩膜位置集。然后在这些位置集上并行计算整体误差、英语/约鲁巴语特异误差、切换入口与窗口误差及去变音WER,并以1000次utterance级配对自助法检验排序差异,使诊断直接承接掩膜定义。与按语言成员加总的MER和只评嵌入语的PIER不同,本工作把评分锚定到语言游程首词元及其邻域,从而分离矩阵语言准确率与切换保真度。在cap2000共享清单评测设置下,Kimi-Audio-7B-Instruct的SETER错误率为66.8%,低于Parakeet-TDT-0.6B-v2的SETER错误率68.9%。结论适用边界限于单语料零样本转写,尚未验证其他方言、自发对话与训练改进,且原文未披露训练、推理或部署成本。
🔗 开源与复现资源
本次未形成可展示的已核验资源记录,开放状态尚未核实。
可达状态仅表示本次链接检查结果,不代表许可证、本文权重或运行复现已验证。
🧭 深度解读
输入是什么,目标是什么,本文要回答什么?
本文的输入是英语与约鲁巴语混在同一句话里的语音,输出要求是逐字转写文本。目标读者是刚进入语音与音频语言模型方向的研究生,需要先建立一个判断:单语基准上很低的错误率不能直接推广到码切换。作者要回答两个可核对的问题。第一,当前 11 个现代系统在英语到约鲁巴语切换语音上到底能转写到什么程度。第二,总词错率能否解释它们在切换边界的行为。
为此作者固定了一个确定性评估集与共享打分流程。语音来自 AfriCodeSwitch 验证集,文本做统一码规范化,词级语言标签来自语料元数据。评估对象包括 6 个专用语音识别系统与 5 个音频语言模型,全部零样本加贪心解码。必须保留的信息是:主评测用 2000 句共享清单,提示鲁棒性用 1000 句清单,所有系统跑同一份清单与同一归一化对齐流程。
本文的输出不是新模型,而是一组边界定位诊断与可复现的清单加指标实现。中心矛盾是:按总词错率看起来相同的两个系统,在切换进入点可能显著不同。本文后续按学习依赖展开,先讲任务与相关路线,再讲指标全景与组件计算,再讲语料构造与推理调用,最后讲实验条件、结果反证与复现边界。
同类码切换研究原来用什么指标,为什么不够?
同输入同目标的已有工作主要集中在普通话与英语、阿拉伯语与英语码切换,例如 SEAME、ASCEND 与 ArzEn。常用指标是词错率、字错率与混合错误率。混合错误率按语言分别计词但仍在整句上加总。作者引用的关键反例是:在两种单语数据上微调可以让码切换测试集的总词错率变好,同时真正发生切换的词反而变差。这说明以矩阵语言为主的整句加总会稀释少数切换点。
同监督与同运行阶段的另一条线是兴趣点错误率与 DECM 基准,它只评嵌入语词。作者的切换进入词错误率与切换点窗口错误率与它互补:前者按位置是否在边界计分,后者按语言归属计分。本文还同时报告分语言错误率与去变音符号词错率,把边界位置、语言归属与正字法 3 层分开。
音频语言模型这条线包括 Qwen2-Audio、Qwen2.5-Omni、Kimi-Audio 与 Audio Flamingo 系列,以及带大语言模型解码器的 Canary-Qwen 等。它们通常在音频理解与问答上评测,自由生成是优点。但逐字转写要求克制生成,翻译、扩写与提示复述都会被计为错误。非洲语音这条线包括 AfriSpeech 系列与约鲁巴语变音符号恢复工作,但多为单语识别、理解或合成,缺少对码切换加变音符号敏感的并排评测。本文的定位就是补上英语与约鲁巴语的切换感知评测,并把专用识别系统与音频语言模型放在同一清单下比较。
为什么总词错率会掩盖切换失败?
设想一句以英语为主、只嵌入几个约鲁巴语词的话。如果英语部分转对了,即使约鲁巴语嵌入词全错,总词错率仍然可能不高。因为分母是整句词数,分子被多数语言主导。这是一个教学例子,不是论文数值:它说明总词错率天然对稀有切换点不敏感。
约鲁巴语还带来正字法特殊性。词中带下点字符与声调符号,剥离符号后可能改变词身份。初学者容易把问题归为符号没写对,但本文要验证的是更底层的问题:模型是否根本没有产出约鲁巴语内容。如果整词都没有对,符号细节就是 2 阶问题。
因此问题定义需要 3 层。第一层是整句保真度,用词错率与字错率度量。第二层是语言归属正确性,用英语与约鲁巴语分开的错误率度量。第 3 层是边界定位正确性,用切换进入点及其邻域的错误率度量。只有 3 层一起报告,才能判断系统是真的落稳了切换,还是靠英语主体把总分拉高。
评估流水线如何从音频走到边界指标?
沿一个样本走完全程有助于建立依赖关系。输入是一段短语音与参考文本,参考文本每个词带有英语或约鲁巴语标签。系统先产生假设文本。流水线对参考与假设做统一码规范化、转小写与去标点,默认保留变音符号敏感性。然后做最小编辑距离对齐,得到替换、删除与插入计数,并标记每个参考词是否被正确认出。所有分语言与切换感知指标都是在该标记上加不同掩码再平均。
词错率 × 切换进入词错误率: 词错率负责整句所有词的替换加删除加插入除以总词数,反映以英语为主体的整体正确性,切换进入词错误率只负责每个新语言段首词是否被正确认出,反映是否落稳切换点,二者搭配是因为前者会被多数语言稀释而后者把评估窗口收紧到边界,组合后才能同时看到总体可用性与码切换特有失效。
符号与计算目标需要先说清。再谈公式前,约定参考词序列长度为分母,替换删除插入为分子来源,掩码集合决定统计哪些位置。语料级取值为按句平均。下面的公式段由代码注入原文公式,符号以原文为准。
\[\mathrm{ER}(T)=\frac{1}{|T|}\sum_{i\in T}e_{i}.\]上式是掩码错误率的通用定义,目标是对任意位置集合求未正确识别比例。它是后文所有分语言与切换指标的母式。
\[\mathrm{WER}=\frac{S+D+I}{N},\]上式是标准词错率,目标是整句保真度。字符错误率是字符级类比。去变音符号词错率的做法是对参考与假设同时剥离组合声调与下点标记再重算,与原词错率对比可分离变音符号带来的误差。
分语言与切换窗口具体如何切分位置?
分语言切分依据参考标签。英语位置集合与约鲁巴语位置集合互不相交,分别套用掩码错误率即得英语词错误率与约鲁巴语词错误率。它们回答系统在哪种语言上失败。切换进入点定义为语言与前一词不同的首词位置,集合只含进入词本身。窗口错误率先算每个位置到最近进入点的距离,再取距离小于等于半径的位置集合求错误率。半径为零时退化为切换进入词错误率,半径增大则逐渐接近整句。
专用语音识别系统 × 音频语言模型: 专用语音识别系统分工是把声学输入约束为逐字转写,例如换能器与编码器加解码器结构,音频语言模型分工是把语音编码器接到大语言模型并按自然语言指令生成,搭配理由是前者保真度强而后者有多语言文本知识可能更会写约鲁巴语片段,组合比较才能区分识别错误与生成式幻觉、翻译和提示复述。
\[\text{EN-ER}=\mathrm{ER}(L_{\textsc{en}}),\quad\text{YO-ER}=\mathrm{ER}(L_{\textsc{yo}}),\]上式把语言归属视图形式化,输入是参考标签,输出是两种语言各自的错误率。实现上作者用清单标签与对齐结果直接重算做 sanity 检查,报告 top 系统的重算值与报表完全一致,支持约鲁巴语崩溃不是打分假象。
英语词错误率 × 约鲁巴语词错误率: 英语词错误率只统计参考中标注为英语的位置是否被替代或删除,约鲁巴语词错误率只统计标注为约鲁巴语的位置,二者分工是把按语言归属切开的正确性分开记,搭配理由是矩阵语言占多数时会主导总词错率,组合后才能证明瓶颈在嵌入语覆盖而非均匀的声学困难。
\[P=\{\,i\geq 2:\mathrm{lang}(r_{i})\neq\mathrm{lang}(r_{i-1})\,\},\]上式定义切换进入集合,输入是相邻词的语言标签比较,输出是边界进入位置。它度量系统是否落稳每次切换。
\[\text{SPER@}k=\mathrm{ER}(W_{k}),\qquad k\in\{0,1,2,3\}.\]上式定义半径窗口错误率,输入是到最近进入点的距离与半径,输出是边界邻域错误率。作者重点报告半径 1 与半径 3,用于观察误差是否随远离边界而缓慢下降。
除准确率指标外,流水线还有输出质量启发式:空输出、截断、退化重复、长度膨胀与提示泄露。它们不直接评分转写正确性,而是刻画生成式失效模式,为后文区分识别错误与生成错误提供自动依据。
本研究训练了什么,没有训练什么,真实计算是什么?
本研究没有训练或微调任何模型,这一点必须明确。11 个系统全部以已有权重零样本运行,解码为贪心解码。缺项是:原文未报告梯度路径、参数冻结细节与训练超参数,因为根本不存在本研究的训练阶段,不能从模型名称推定其预训练实现。
去变音符号词错率 × 约鲁巴语变音符号: 约鲁巴语变音符号指下点字符与声调符号等会改变词义的正字法标记,去变音符号词错率分工是先剥离这些组合标记再重新算词错率,搭配理由是比较剥离前后差值可以分离正字法细节与整词未识别,组合意义是判断当前应先补约鲁巴语词覆盖还是先做声调恢复。
真实计算分为 3 类。第一类是语料构造计算:从 9966 行元数据中筛出有音频的 8181 行,排除缺音频行,按确定性清单截取 2000 句主评测与 1000 句提示鲁棒性子集,对文本做统一码规范化并从元数据解析切换点、切换方向、语言主导与切换密度。第二类是推理调用计算:在集群上用基于清单的运行器对每个系统喂同一音频清单,音频语言模型用同一主转写指令,另对两个提示敏感模型加测直接指令与反翻译指令。
第 3 类是指标计算:同一归一化与对齐实现算出词错率、字错率、去变音符号词错率、分语言错误率、切换进入与窗口错误率,再加替换删除插入构成与生成病理发生率。不能把无训练等同于确定性求解,贪心解码与固定清单保证的是本评测可重复,不是系统输出在所有环境下不变。
数据、系统与比较条件是否一致?
先核对数据协议是否公平。评估用 AfriCodeSwitch 验证分区,作者审计后给出可用音频 9.54 小时,100 个说话人,2937 个提示,13 个领域。平均每句 4.20 秒与 8.52 词,平均每句 2.60 次切换,最多 9 次。主导分布为英语主导 2799 句、均衡 3336 句、约鲁巴语主导 2046 句。性别分布偏向女性,作者明确记为局限。主结果用同一 2000 句清单,提示实验用 1000 句清单,保证系统间配对可比。
系统覆盖 3 种识别架构与指令式音频模型。专用侧包括 Parakeet-TDT、Qwen3-ASR、Canary-Qwen、Whisper-large-v3 的强制英语与自动语言检测两版、Granite-Speech。音频语言模型侧包括 Kimi-Audio、Audio Flamingo 3 与 2、Qwen2-Audio 与 Qwen2.5-Omni。另有两套原计划系统因环境与访问限制未能运行,留作未来工作,解读时不应假设它们的结果。
指标方向统一为越低越好。词错率超过 100% 表示严重过度生成而非普通替换。统计方法是对共享清单做 1000 次按句自助配对比较,给出差值、置信区间与双侧自助 p 值。聚合对象是按句平均的语料级取值。硬件预算在证据中只提到集群运行器,未给出可复述的耗时与资源量,这是具体缺项,复现时需自行记录。
下表是语料审计统计的原文表选择,用于核对划分与难度来源,表头与数值均保留原文写法。
| Statistic | Value |
|---|---|
| Metadata rows | 9,966 |
| Rows with available audio | 8,181 |
| Rows missing audio | 1,785 |
| Available audio (hours) | 9.54 |
| Speakers / prompts / domains | 100 / 2,937 / 13 |
该表说明评估语音短而切换密,且领域与主导分布多样。短句意味着分母小,单次边界失手对窗口指标影响大。切换密意味着边界诊断有足够样本。性别偏斜提醒按性别的比较效力有限,后文按性别未见大差距的结论需结合该偏斜理解。
总词错率相同为何边界表现显著不同?
要回答的核心比较问题是:在同一 2000 句与同一主提示下,总词错率排序是否等于切换边界排序,公平条件是共享清单、共享归一化对齐与配对统计,指标方向均为越低越好。
下表整理主基准的关键数字与分语言反差,数值与单位来自原文连续句的逐字证据,裸值不擅自追加百分号之外的单位,比较对象保留原文可运行系统。
| 条件 | 指标 | Parakeet-TDT-0.6B-v2 | Kimi-Audio-7B-Instruct | 比较说明 |
|---|---|---|---|---|
| cap2000 主提示 | 词错率 | 66.1% | 66.2% | 总量几乎相同 |
该表的主要收益是揭示总量相同下的结构差异。Parakeet 以 66.1% 拿到最好词错率,Kimi-Audio 以 66.2% 打平,但在去变音符号词错率、英语错误率与全部切换定位指标上赢下其余多列。代价是两者约鲁巴语词错误仍接近全错,说明边界相对优势并未解决嵌入语覆盖。未胜出项是 Canary-Qwen 等词错率更差但切换指标与 Parakeet 无显著差异的系统,提示总量排序不能代理边界排序。
配对统计进一步支持分离判断。下表整理自助比较与跨系统相关性,保留原文差值方向与显著性口径。
| 比较 | 指标 | 差值与区间 | 显著性与相关性 |
|---|---|---|---|
| Kimi 减 Parakeet | 词错率 | +0.13 点,区间跨零 | p=0.76,不显著 |
| Kimi 减 Parakeet | 切换进入与窗口 | 负向约 2 点 | p<0.001,均显著 |
| 跨系统排序 | 英语与约鲁巴语 | 英语相关高,约鲁巴语接近零 | 英语 0.74,约鲁巴语 -0.10 |
该表说明词错率差异不显著而切换进入与窗口差异显著,且词错率排序主要跟随英语正确性,与约鲁巴语几乎无关。反例是 Canary-Qwen 词错率显著差于 Parakeet 但切换指标无差异,再次证明两者是可分离的性能轴。
结构误差的方向不对称需要看像素图。以下导读针对实际收到的第一张原图,该图包含 3 个面板,条件均为 cap2000,对象包括 Parakeet 与 Kimi-Audio 及多个较强系统,时间范围为单句内相对切换点位置与按主导分层。
看图路径: 1. 先看图 a 横轴相对切换点位置与纵轴词错误率,对比进入约鲁巴语与进入英语两条曲线的峰值高度;2. 再看图 b 每组系统内左侧进入约鲁巴语柱与右侧进入英语柱的高度差是否跨系统一致;3. 最后看图 c 从英语主导到均衡再到约鲁巴语主导三点连线的单调上升斜率
论文图 1。原论文 Fig. 1::“Structural error analysis on cap2000.”。
从像素可见,图 a 中进入约鲁巴语的曲线在零点附近陡峭上冲,进入英语的曲线则低得多。图 b 每组系统都呈现左侧进入约鲁巴语高柱接近满格、右侧进入英语约半高的不对称。图 c 三点从英语主导经均衡到约鲁巴语主导单调上升,Kimi-Audio 在每层略低。原文量化为进入约鲁巴语切换词错误 0.95 至 1.00,进入英语仅 0.40 至 0.53,主导分层误差约 0.42 升至 0.65 再至 0.83。这支持边界退化与产出约鲁巴语内容绑定,而非均匀涂抹的总误差。
切换点窗口错误率 × 切换密度: 切换点窗口错误率分工是统计距离最近切换进入点半径 k 内所有词的错误,切换密度分工是描述一句内切换次数多少,搭配理由是窗口半径控制边界邻域大小而密度控制整句难度,组合后可以检验切换越密是否边界保真度下降更快而总词错率下降较慢。
切换密度、领域与提示如何改变难度?
本节按消融与失败条件组织:测切换密度、领域异质性与提示敏感性,与谁比是同一系统在不同分层或不同提示下,条件一致性靠同一清单划分与同一打分实现,指标方向仍为越低越好。
切换密度的效应是单调的。按切换密度分组后,较强系统的平均词错率从低密度 66.9% 经中等 67.9% 升至高密度 71.2%,切换进入错误率上升更陡,从 66.7% 经 70.1% 升至 72.1%。这说明密切换更伤边界保真而非总量。领域的效应跨度约 10 个点,会话与说明类较易,科学与体育及时尚类因稀有借词更难。说话人性别的效应很小,男性平均词错率 68.9% 与女性 68.4% 接近,约鲁巴语错误均为 0.99 附近,但鉴于语料性别偏斜,该比较的效力有限。
提示是生成式模型的主要混杂。下表是原文提示鲁棒性表的直接选择,行列取自证据明示的表头与数据行,用于核对同一模型换提示后的可运行变化。
| Model | Prompt | WER | SETER | Leak |
|---|---|---|---|---|
| Qwen2-Audio-7B | primary | 135.6 | 76.5 | 33.7 |
| Qwen2-Audio-7B | direct | 103.3 | 77.6 | 0.2 |
| Qwen2-Audio-7B | anti-translation | 139.6 | 81.0 | 0.3 |
| Qwen2.5-Omni-7B | primary | 183.0 | 77.6 | 0.7 |
| Qwen2.5-Omni-7B | direct | 125.9 | 75.8 | 1.6 |
| Qwen2.5-Omni-7B | anti-translation | 194.1 | 77.3 | 0.4 |
该表显示 Qwen2-Audio 从主提示换到直接指令后提示泄露从 33.7% 降至 0.2%,词错率从 135.6% 降至 103.3%。Qwen2.5-Omni 也有类似改善,但绝对值仍远高于保真系统。代价是直接提示并未解决切换进入错误,Qwen2-Audio 的切换进入错误甚至略升,说明去泄露不等于会落切换。未评测边界是只对两个提示敏感模型做了多提示,Kimi-Audio 等在主提示下干净的系统未在此表展开。
自动错误分类把识别与生成分开。下表用原文连续句覆盖错误构成与生成病理,区分替换主导与插入主导。
| 条件 | 指标 | 保真系统特征 | 过度生成系统特征 |
|---|---|---|---|
| cap2000 主提示 | 词级错误构成 | 替换占 69 至 73% | 插入占 46% 与 65% |
该表的主要收益是无需人工标注即可分离两类失效:保真系统以替换为主,属于认错词;最差 2 模型以插入为主,属于编造内容。反例是 Audio Flamingo 2 词错率超 100% 但病理以插入为主而非提示泄露,说明过度生成有多种形态。作者提醒自动分类无法区分忠实误转写与流利翻译改写,需语言识别或人工判断,100 句人工细标注正在进行。
以下导读针对实际收到的第二张原图,该图为 13 个领域的平均词错率横条图,条件为 cap2000 并在 6 个较强系统上平均。
看图路径: 1. 先沿纵轴 13 个领域从上到下读横轴平均词错率的排序;2. 再对比最易的综合与教育类与最难的时尚与体育类的横条长度差;3. 最后确认标题说明该均值是在 6 个较强系统上平均而非单系统结果
论文图 2。原论文 Fig. 2::“Mean WER per domain on cap2000, averaged over the six strong systems. Difficulty spans a 10-point range; terminology-dense domains (Fashion, Sports, Science) are hardest.”。
从像素可见,横轴为平均词错率,纵轴领域从综合 63.3% 向上延伸至时尚 73.8%,颜色由浅变深对应难度上升。术语密集的时尚、体育与科学处在最难端,通用、教育与宗教处在最易端。这支持领域难度来自稀有借词与术语,而非单纯切换次数。复现时应按领域分层报告,否则单点总量会掩盖领域偏移。
哪些结论有边界,哪些不能推广?
直接报告的局限包括单语料、单语言对与无训练。评估只在英语与约鲁巴语的 AfriCodeSwitch 验证集上进行,未做训练或微调,结果可能不迁移到其他方言、口音与录音条件。性别偏斜是明确局限,女性行远多于男性行,按性别无大差距的发现支持主要 disparity 在语言轴而非人口轴,但偏斜本身限制按性别主张的强度。
有限解释需要谨慎措辞。切换方向不对称支持矩阵语言先验的解释,即解码易弹回英语而难进入约鲁巴语,但原文未做声学难度与语言平衡的因果分离,因此只能说支持而不能断言因果。去变音符号几乎不改变词错率支持瓶颈在约鲁巴语覆盖而非符号细节,但这是当前弱系统下的排序判断,待验证的是更强系统上符号是否成为主要瓶颈。
未验证的推测包括:大语言模型解码器带来多语言文本知识因而更会写约鲁巴语片段,语言均衡或切换感知解码能针对性改善边界。原文用可能与动机表述,未给出干预实验,故复述时必须保留可能与待验证。相关性不是因果,词错率与英语错误高相关不等于优化英语就能改善切换。未测量延迟、成本与误判率时,不承诺这些量得到改善。
要复现这套切换感知评测,先做什么?
复现的第一步是锁定清单与归一化。按原文用验证分区筛出有音频行,排除缺音频行,截取同一 2000 句主清单与 1000 句提示子集,对文本做统一码规范化、转小写与去标点,默认保留变音符号敏感,另算剥离组合标记的版本。词级语言标签从元数据解析,派生切换点、方向、主导与密度。推理时所有系统跑同一清单,专用系统与音频语言模型用同一主转写指令,贪心解码,另对提示敏感模型加测直接与反翻译指令。
第二步是锁定对齐与聚合。同一最小编辑距离对齐得到替换删除插入,标记每个参考词是否被替代或删除,掩码错误率按集合平均,语料级按句平均。切换进入取语言变化首词,窗口取到最近进入点距离半径内的位置,重点看半径 1 与 3。分语言错误率直接用清单标签重算做一致性检查。生成病理用逐句启发式统计空输出、截断、重复、膨胀与提示泄露。配对比较用共享清单上 1000 次按句自助,给出差值、置信区间与双侧 p 值。
资源状态是正文开源声明的唯一依据。本次未发现来源绑定且完成超文本传输安全协议状态验证的资源,不得声称代码、模型或数据已公开。原文称发布清单、指标实现与评测脚本,但本次未能确认可达,复现前需先核对原文链接当前是否可用,并记录实际运行环境、权重版本与提示文本。训练资源、推理开销与实际延迟需分别记录,总体趋势不等于每组每步都成立。
何时值得用这套方法,记住什么?
当任务涉及低资源嵌入语的码切换转写,且总词错率可能被矩阵语言主导时,值得同时报告分语言错误率与切换进入及窗口错误率。复述方法的关键动作是:同一清单、同一归一化对齐、按参考标签切掩码、按句平均、配对自助检验。记住 Parakeet 与 Kimi-Audio 的对比:总量打平不代表边界打平,Kimi 在边界显著更好但约鲁巴语仍近全错。
实践排序是先补约鲁巴语词汇与声学覆盖、切词与预训练暴露,再做变音符号精修,因为当前剥离符号几乎不动总量。对音频语言模型要约束为逐字转写并控制提示,单提示排名可能低估或高估其转写能力。对领导榜要警惕公平性后果:只看总词错率会让嵌入语使用者的被排除不可见。还需补的验证是切换感知微调、语言均衡解码与转写约束提示的干预实验,以及跨语料与人工细标注的确认。
📎 论文与评分元数据
排名:前50% | 文档类型:数据集与基准 | arXiv 原文
⚖️ 评分明细
评分属于系统判断,不是论文实验结果;八维数值与总分见页首,原始审计记录保留在后端。
评分规则:type-aware-v1
评分模型:muse-spark-1.3-contributor
评分请求协议:openai_responses