[論文レビュー] Lost in Transcription: How Speech-to-Text Errors Derail Code Understanding
論文は、Indic 言語のコード関連クエリを転写する多言語の音声ベースのフレームワークを提案し、LLM で転写を洗練させ、コード理解タスクを評価します。ASR と下流のコードタスク全体で、LLM 指導による改良から顕著な改善を示します。
Code understanding is a foundational capability in software engineering tools and developer workflows. However, most existing systems are designed for English-speaking users interacting via keyboards, which limits accessibility in multilingual and voice-first settings, particularly in regions like India. Voice-based interfaces offer a more inclusive modality, but spoken queries involving code present unique challenges due to the presence of non-standard English usage, domain-specific vocabulary, and custom identifiers such as variable and function names, often combined with code-mixed expressions. In this work, we develop a multilingual speech-driven framework for code understanding that accepts spoken queries in a user native language, transcribes them using Automatic Speech Recognition (ASR), applies code-aware ASR output refinement using Large Language Models (LLMs), and interfaces with code models to perform tasks such as code question answering and code retrieval through benchmarks such as CodeSearchNet, CoRNStack, and CodeQA. Focusing on four widely spoken Indic languages and English, we systematically characterize how transcription errors impact downstream task performance. We also identified key failure modes in ASR for code and demonstrated that LLM-guided refinement significantly improves performance across both transcription and code understanding stages. Our findings underscore the need for code-sensitive adaptations in speech interfaces and offer a practical solution for building robust, multilingual voice-driven programming tools.
研究の動機と目的
- 英語能力が限定的な地域の学習者を支援する包摂的で多言語の音声ベースコード理解を動機づける。
- native language の音声から始まりコード理解出力までのエンドツーエンドパイプラインを開発する。
- 転写エラーが下流のコード理解タスクに与える影響を特徴付け、コード関連音声における ASR の失敗モードを特定する。
- LLM 指導の洗練により転写忠実度と下流コード理解が改善されることを示す。
- 複数言語・データセット・下流タスク全体での包括的評価を提供し、コード意識のある音声インターフェース設計の指針とする。)
- method:[
- 多言語の音声駆動フレームワークで、母語でのクエリを受け付け、ASR で転写し、コード認識の構文を回復するためのプロンプト設計を行い、コードモデルを用いて QA と検索を実施する。
- コード意識の転写改良(誤認識されたコード語を復元し、音韻歪みを訂正し、自然言語とプログラミング言語の使用を分離する)を行うGPT-4o-miniを用いたプロンプトエンジニアリング。
- 英語は Whisper、Indic 言語は indic-conformer を用い、混成言語・コード関連音声をより適切に処理。
- 多言語対応の前処理と翻訳対応の TTS 形式を設計し、自然言語出力と音声フィードバックを複数言語で可能にする。
- CodeSearchNet、CoRNStack、CodeQA を Hindi、Gujarati、Tamil、Bengali、英語で評価(Python、Java、PHP)。
- 下流評価は Recall@k と MRR を用いてコード検索性能を測定し、QA はモデルベース評価を用いる。
実験結果
リサーチクエスチョン
- RQ1RQ1: ASR 転写エラーはコード質問応答や検索等の下流コード理解タスクにどのような影響を与えるか。
- RQ2RQ2: コード関連音声を転写する際に ASR 系が導入する一般的な失敗パターンは何か。
- RQ3RQ3: Indic 言語( Gujarati、Tamil)などの低リソース言語と高リソース言語で、ASR と LLM の性能はどう異なるか。
- RQ4RQ4: 大規模言語モデルはコード関連クエリの ASR 転写をどの程度洗練し、下流タスクの性能を改善できるか。
主な発見
| Lang | Dataset | Model | WER | PER | WFED |
|---|---|---|---|---|---|
| Hindi | CodeSearchNet (CSN) | python-ASR | 44% | 33.4% | 34.5% |
| Hindi | CodeSearchNet (CSN) | python-ASR-R | 30.7% | 15.4% | 7.8% |
| Hindi | CodeSearchNet (CSN) | java-ASR | 44.7% | 24.6% | 19.3% |
| Hindi | CodeSearchNet (CSN) | java-ASR-R | 23.8% | 14.7% | 7.9% |
| Hindi | CodeSearchNet (CSN) | php-ASR | 57.3% | 40.1% | 28.0% |
| Hindi | CodeSearchNet (CSN) | php-ASR-R | 37.7% | 28.3% | 20.0% |
| Hindi | CoRNStack (CSk) | python-ASR | 46.7% | 51.0% | 25.3% |
| Hindi | CoRNStack (CSk) | python-ASR-R | 31.7% | 22.9% | 12.3% |
| Hindi | CoRNStack (CSk) | java-ASR | 48.4% | 41.9% | 37.0% |
| Hindi | CoRNStack (CSk) | java-ASR-R | 39.0% | 37.0% | 26.8% |
| Hindi | CoRNStack (CSk) | php-ASR | 38.8% | 25.8% | 14.9% |
| Hindi | CoRNStack (CSk) | php-ASR-R | 37.7% | 28.3% | 20.0% |
| Hindi | CodeQA (QA) | python-ASR | 61.4% | 57.0% | 34.5% |
| Hindi | CodeQA (QA) | python-ASR-R | 13.5% | 3.6% | 2.1% |
| Hindi | CodeQA (QA) | java-ASR | 46.7% | 51.0% | 25.3% |
| Hindi | CodeQA (QA) | java-ASR-R | 24.2% | 19.6% | 12.2% |
| Hindi | CodeQA (QA) | php-ASR | 38.8% | 25.8% | 14.9% |
| Hindi | CodeQA (QA) | php-ASR-R | 34.5% | 25.3% | 12.6% |
| Gujarati | CodeSearchNet (CSN) | python-ASR | 43% | 33.3% | 16.7% |
| Gujarati | CodeSearchNet (CSN) | python-ASR-R | 38.6% | 21.3% | 11.7% |
| Gujarati | CodeSearchNet (CSN) | java-ASR | 47.6% | 25.0% | 20.1% |
| Gujarati | CodeSearchNet (CSN) | java-ASR-R | 37.7% | 28.4% | 14.2% |
| Gujarati | CodeSearchNet (CSN) | php-ASR | 55.5% | 42.7% | 26.7% |
| Gujarati | CodeSearchNet (CSN) | php-ASR-R | 48.0% | 32.8% | 13.7% |
| Gujarati | CoRNStack (CSk) | python-ASR | 44.6% | 47.2% | 25.2% |
| Gujarati | CoRNStack (CSk) | python-ASR-R | 36.6% | 31.4% | 14.3% |
| Gujarati | CoRNStack (CSk) | java-ASR | 56.8% | 47.0% | 30.6% |
| Gujarati | CoRNStack (CSk) | java-ASR-R | 38.9% | 38.9% | 14.3% |
| Gujarati | CoRNStack (CSk) | php-ASR | 34.5% | 25.3% | 12.6% |
| Gujarati | CoRNStack (CSk) | php-ASR-R | 34.5% | 25.3% | 12.6% |
| Gujarati | CodeQA (QA) | python-ASR | 55.8% | 46.7% | 18.5% |
| Gujarati | CodeQA (QA) | python-ASR-R | 19.4% | 6.8% | 5.3% |
| Gujarati | CodeQA (QA) | java-ASR | 40.8% | 49.0% | 25.9% |
| Gujarati | CodeQA (QA) | java-ASR-R | 31.8% | 24.8% | 13.9% |
| Gujarati | CodeQA (QA) | php-ASR | 34.5% | 25.3% | 12.6% |
| Gujarati | CodeQA (QA) | php-ASR-R | 34.5% | 25.3% | 12.6% |
| Tamil | CodeSearchNet (CSN) | python-ASR | 64.8% | 39.7% | 20.8% |
| Tamil | CodeSearchNet (CSN) | python-ASR-R | 56.6% | 27.2% | 17.0% |
| Tamil | CodeSearchNet (CSN) | java-ASR | 65.6% | 27.4% | 19.3% |
| Tamil | CodeSearchNet (CSN) | java-ASR-R | 52.3% | 25.3% | 14.9% |
| Tamil | CodeSearchNet (CSN) | php-ASR | 73.0% | 42.5% | 26.9% |
| Tamil | CodeSearchNet (CSN) | php-ASR-R | 68.1% | 36.4% | 23.2% |
| Tamil | CoRNStack (CSk) | python-ASR | 47.2% | 50.6% | 23.3% |
| Tamil | CoRNStack (CSk) | python-ASR-R | 52.0% | 45.1% | 22.4% |
| Tamil | CoRNStack (CSk) | java-ASR | 49.5% | 40.5% | 34.1% |
| Tamil | CoRNStack (CSk) | java-ASR-R | 61.8% | 42.3% | 36.6% |
| Tamil | CoRNStack (CSk) | php-ASR | 39.3% | 25.0% | 14.2% |
| Tamil | CoRNStack (CSk) | php-ASR-R | 57.4% | 28.2% | 17.6% |
| Tamil | CodeQA (QA) | python-ASR | 68.4% | 45.5% | 23.3% |
| Tamil | CodeQA (QA) | python-ASR-R | 49.1% | 39.0% | 14.4% |
| Tamil | CodeQA (QA) | java-ASR | 43.8% | 38.1% | 21.2% |
| Tamil | CodeQA (QA) | java-ASR-R | 39.4% | 37.7% | 16.5% |
| Tamil | CodeQA (QA) | php-ASR | 39.3% | 25.0% | 14.2% |
| Tamil | CodeQA (QA) | php-ASR-R | 57.4% | 28.2% | 17.6% |
| Bengali | CodeSearchNet (CSN) | python-ASR | 64.0% | 39.7% | 20.8% |
| Bengali | CodeSearchNet (CSN) | python-ASR-R | 41.9% | 27.1% | 14.4% |
| Bengali | CodeSearchNet (CSN) | java-ASR | 69.0% | 50.7% | 42.8% |
| Bengali | CodeSearchNet (CSN) | java-ASR-R | 47.8% | 37.1% | 27.8% |
| Bengali | CodeSearchNet (CSN) | php-ASR | 61.2% | 34.0% | 20.0% |
| Bengali | CodeSearchNet (CSN) | php-ASR-R | 43.1% | 23.7% | 12.9% |
| Bengali | CoRNStack (CSk) | python-ASR | 54.3% | 53.5% | 22.6% |
| Bengali | CoRNStack (CSk) | python-ASR-R | 42.2% | 41.7% | 19.0% |
| Bengali | CoRNStack (CSk) | java-ASR | 69.0% | 50.7% | 42.8% |
| Bengali | CoRNStack (CSk) | java-ASR-R | 39.4% | 37.7% | 16.5% |
| Bengali | CoRNStack (CSk) | php-ASR | 61.2% | 34.0% | 20.0% |
| Bengali | CoRNStack (CSk) | php-ASR-R | 43.1% | 23.7% | 12.9% |
| Bengali | CodeQA (QA) | python-ASR | 65.4% | 44.6% | 27.6% |
| Bengali | CodeQA (QA) | python-ASR-R | 49.1% | 39.0% | 14.4% |
| Bengali | CodeQA (QA) | java-ASR | 56.6% | 44.0% | 23.0% |
| Bengali | CodeQA (QA) | java-ASR-R | 39.4% | 37.7% | 16.5% |
| Bengali | CodeQA (QA) | php-ASR | 61.2% | 34.0% | 20.0% |
| Bengali | CodeQA (QA) | php-ASR-R | 43.1% | 23.7% | 12.9% |
- 最先端の ASR は多言語・コード混在のクエリで高エラー率を示し、低リソース言語では WER が50%以上になることが多い。
- LLM 指導の転写改良(GPT-4o-mini)は転写忠実度と下流タスク性能を言語・データセットを超えて大幅に改善する。
- 改良からの平均的改良:WER 約21%低減、PER 約29%低減、WFED 約33%低減(評価設定全体)。
- コード意識の改良は下流のコードタスク(QA・検索)を改善し、推論モデルのコード語彙・構造の保存をより正確に可能にする。
- クロスモデルのロバスト性が観察され、GPT-4o-mini を Claude Sonnet 4.5 や Gemini-2.5 Pro に置換しても改良者の性能傾向が一般化され、アプローチの広い適用性を示す。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。