Aqua Voiceの辞書候補(過去30日分・5プロジェクトのセッションログより)

開発claude-code-tools完了

Aqua Voiceの辞書候補(過去30日分・5プロジェクトのセッションログより)

Aqua Voice(音声入力アプリ)でよく起きる誤変換を、Claude Codeとのやりとり(=ほぼ全て音声入力)の過去30日分のログから探し出し、辞書登録の候補にまとめた。

背景

Aqua Voice自体の音声認識ログ(history.json)は直近100件のみ保持で、過去1ヶ月分は既に消えていた。代わりにClaude Codeのセッションログ(音声入力がテキスト化されて残っている)を使い、「表記ゆれ」「自己訂正」「不自然なカタカナ変換」から誤変換パターンを推定した。

分析対象: 2026-06-23〜2026-07-23、過去30日でセッションログ10件以上ある5プロジェクトのユーザー発話2672件(約2288万字)。内訳はmdx-playground 1918件・eurekapu-nuxt4 468件・family-trips 144件・book-knowledge-base 109件・accounting-system-lab 33件。自己訂正フレーズ(「じゃなくて」「そうじゃない」等)を含む109件を目視でレビューし、見つかった誤変換パターンをコーパス全体で頻度確認した。単発出現(1回のみ)のものは除外している。

Dictionary候補(採用時は既存の["Codex"]に追加、既存分は保持)

正しい表記誤変換・カタカナ表記の実例頻度根拠(実発話からの引用)
TursoTasso, TASO, TaaS, Tarso, TarsoDB23回「これTassoDBの中に入ってる」「TASO DBをデモに入れた方が良さそうだな」「TaaSに保存されてる」「TarsoDBに入ってるやつを探すんじゃなくて」
eurekapu-nuxt4エウリカープ-ナクストフォー, EveryCup-hyphen-nextFour11回「一方でエウリカープ-ナクストフォーのプロジェクトは」「EveryCup-hyphen-nextFourのところで私が作ってるような」
eurekapu(単体)エウレカープ, エウリカープ, エウレカプ6回「私のエウレカープナクストフォー」等。正しい英字表記eurekapuは1136回と大半は成功しているが、単体でも稀に誤変換が起きるため合わせて登録
mdx-playgroundMDX-プレイグラウンド24回「MDX-プレイグラウンドはおそらく多分そっちのパターンでやってるはずなんで」「MDX-プレイグラウンドの私のレポジトリ見てもらったら」
SKハイニックスハイニクス(長音欠落)31回中6回が誤表記「SKハイニクスがADR上場するのに備えて」(正しい「ハイニックス」と混在)
Koyfinコイフィン12回「コイフィンなんですけど、拡張機能を作ってるんですけど」
1Passwordワンパスワード22回「一応あのワンパスワードに今インポートはできたんで」
Sonnet 5ソネット5, Sonnett510回「調査をソネット5でサブエージェントに任せて」
Cloudflareクラウドフレア, クライトフレア7回「これデプロイしといてください、クライトフレアにね」(完全な誤変換)。カナ自体は正しい「クラウドフレア」も英字統一の対象

CustomInstructions追記候補(2種類)

A. 「表記の整え」ルールを原則ベースに書き換え

個別の単語をリストに追加し続ける方式は将来の新しい固有名詞に対応できないため、既存の一文を「よく出るカタカナ表記の技術用語」という限定列挙型から、「海外企業・サービス・製品名」という原則ベースの表現に書き換える。

既存:

よく出るカタカナ表記の技術用語は、一般的な英字表記に揃える(例:ChatGPT、Claude、GitHub、Cursor、Slack、Notion、Google Drive、API、LLM、Mac、Windows、iPhone)。

書き換え案:

海外企業・サービス・製品名はカタカナのままにせず、正式な英字表記(大文字小文字を区別したスペル通り)に揃える(例:ChatGPT、Claude Code、GitHub、Cursor、Slack、Notion、Google Drive、Turso、Cloudflare、Koyfin、1Password、Codex、API、LLM、Mac、Windows、iPhone)。自分のプロジェクト名(mdx-playground、eurekapu-nuxt4等)も同様に正式表記に揃える。

「クロードコード」(Claude Codeのカナ表記)も対象に含めた。既存ルールは「Claude」のみが例示されており、複合語の「Claude Code」は対象外だった可能性がある。

B. 会計・経済学用語の同音異義語混同への注意書き(新規セクション)

accounting-system-labのログで、会計・経済学分野特有の同音異義語混同を発見した。Dictionary登録では解決しない問題(両方とも実在する単語のため)で、文脈判断のルールとして追加する。

会計・経済学用語の同音異義語に注意する。文脈から適切な方を選ぶ。「原価」と「減価」(減価償却・原価計算等、文脈で判断)、「機会費用」(economic opportunity cost)と「機械費用」を混同しない。

根拠: 「機会費用」の誤変換「機械費用」が2回(「埋没原価と機械費用、埋没費用と」等、経済学的意思決定の文脈)。「減価償却」の誤変換「原価償却」が1回。

Replacements候補

該当なし(0件)。「決まったフレーズ→定型出力」に該当するパターン(繰り返し使うURL・コマンド等)は今回の分析範囲では見つからなかった。

プロジェクト名をフルパスに展開するReplacementsも検討したが、不採用とした。Aqua Voiceのreplacementsは「決まった短いフレーズ→長い定型出力」向けの機能(URLやメール文面等)であり、プロジェクト名のような固有名詞は「その単語自体を正確に音声認識させる」ことが目的のためdictionaryで解決するのが適切。フルパスへの展開は不要なコンテキストが増えるだけで、パス解決はClaude Code側が文脈で行うべき仕事。

書籍専門用語(Turso DB内の蔵書データ)からの辞書候補抽出も検討したが、日常会話・音声入力で使う頻度が低いため見送った。

見送った候補(単発出現・確度不足のため)

  • 「章立て」→「小立て」(1回)
  • 「宅建」→「卓拳」(1回)
  • 「エイリアス」→「エリア数」(1回)
  • 「象限」→「省元」(1回)
  • 「Hono」→「炎」(1回、「Workersにエンドポイントを増やすか、炎を使うってやつ」)
  • 「max-width」→「MaxWiz」(2回、CSS文脈限定で影響範囲が狭い)
  • 「セーフドライブ」(1回、文脈不明瞭)
  • 「ロードコード」(実態は「クロードコード」の部分一致ノイズと判明。単独の誤変換としての確証はなし)

実施結果

第1弾: settings.json直接編集 → 失敗

Aqua Voiceの設定ファイル(%APPDATA%\Aqua Voice\settings.json)を直接書き換え、アプリ再起動まで実施したが、実際の画面には反映されていなかった。原因はAqua Voiceがクラウド同期型アプリで、アプリ起動時にサーバー側の設定でローカルファイルが上書きされるため。直接ファイル編集という手段自体がこのアプリでは機能しないと判明した。

第2弾: GUI操作で手動反映 → 成功

Codexアプリのcomputer use機能でAqua VoiceのGUIを直接操作し、Dictionary・CustomInstructionsを反映。以後、実際に音声入力してテストしながら段階的に改善した。

Dictionary(最終11件): Codex, Turso, eurekapu-nuxt4, eurekapu, mdx-playground, SKハイニックス, Koyfin, 1Password, Sonnet 5, Cloudflare, 減価償却費

CustomInstructionsの主な変更点(テストで発覚した問題ごとに追記・調整):

  1. 「表記の整え」を原則ベースに書き換え(海外サービス名は正式英字表記に揃える)
  2. 「会計・経済学用語の同音異義語」セクション新設
  3. 固有名詞の誤変換パターンをリスト化(codex・eurekapu-nuxt4・Sonnet 5・Claude Codeの具体例)
  4. 文頭の固有名詞が英語の文頭大文字化ルールでMdx-playgroundのように変わってしまう問題への対応

テスト結果と学び

対象結果
Turso, Cloudflare, Koyfin, SKハイニックス, 1Password初回から安定して成功
eurekapu-nuxt4, Sonnet 5, Claude Code, mdx-playground(文頭大文字化)customInstructions改善を経て安定
codex → Claude Codeへの誤変換新規ルール追加で解決
減価償却費 → 原価償却費/原価消却費customInstructionsのルール追加だけでは4回連続失敗。Dictionaryに「減価償却費」を完全な形で追加登録したところ成功

一番の学びは最後の1件。最初は「減価償却」という語幹だけをDictionaryに登録していたが失敗し続け、実際に発話される完全な形「減価償却費」まで登録して初めて成功した。Dictionaryは語幹だけでなく、活用形・複合語を含めた完全な単語単位で登録する方が効果的、というのが今回一番の収穫だった。

会計用語の同音異義語(原価/減価等)はテキストのみを見る後処理LLMでは検出が難しく、かつ「原価」の方が日常語として出現頻度が高いために音声認識モデルに統計的バイアスがあると見られ、Aqua Voice側の設定だけでは完全には解決しきらない。customInstructionsのルールは残しつつ、Claude Code側が音声入力されたテキストを読む際にも文脈から判断してカバーする運用にしている。

#Aqua Voice #音声入力#辞書#誤変換