ローカルLLM翻訳の質を高める:専門用語集と辞書DBの活用法
きっかけ
ローカルLLMを用いた英日翻訳ツールの構築に取り組む中で、これまではモデル選定や各種パラメータのチューニング、さらにはMTP(Multi-Token Prediction)の導入による出力速度の改善など、主に「速度と基盤環境」の最適化を進めてきました。
しかし、速度面が実用水準に達したことで、次の課題として**「訳質のさらなる向上」**、特に長文を翻訳する際の専門用語のブレや、LLMが勝手に訳語を創作してしまう現象への対策が必要だと強く感じるようになりました。
学んだこと
- 用語集による「ブレ」と「ハルシネーション」の抑制 専門分野の対訳用語集をプロンプト等で明示的に与えることで、文脈による訳語の揺らぎや、存在しない訳語の創作を防ぎ、長文でも一貫した翻訳結果が得られる。
- 用語集自体の作成フローの最適化 用語集の作成自体にLLMを利用する場合も出力のブレが発生するが、元となる専門分野の辞典をあらかじめデータベース化しておくことで、用語集作成自体のスピードと信頼性を大幅に高められる。
自分なりの理解
LLMは文脈に応じた柔軟な言い回しが得意な反面、「常にこの単語はこの訳語で統一する」という固いルール付けを自律的に維持することが難しいようです。これが長文翻訳における用語の不統一や、もっともらしい造語の混入につながります。
これを防ぐための「用語集」ですが、手作業で作るにはコストがかかりすぎ、LLMに丸投げすると今度は用語集自体の精度が不安定になります。
つまり、**「専門辞書のデータベース化(静的な信頼性)」×「LLM(動的な抽出・整形)」**という役割分担が重要です。確かなソース(DB)を用意した上でLLMに抽出・整形を任せることで、迅速かつ精度の高い用語集が整い、結果として翻訳ツール全体の品質が底上げされるのだと理解しました。
実践へのつなげ方
- 翻訳パイプラインの標準化: 原文テキストから該当分野を判定し、関連する用語集を自動的にコンテキストへ挿入する仕組みを翻訳フローに組み込む。
- 専門辞書のデータ資産化: 業務や学習で頻出する技術分野・専門分野の対訳辞書を、SQLiteやVector DBなどに構造化データとして整備・蓄積しておく。
次に試すこと
原文から専門用語を確実に拾い上げるため、形態素解析や文字列探索アルゴリズム(Aho-Corasick法など)を用いた辞書マッチング処理を実装し、ベクトル検索(RAG)とどちらが翻訳向きか比較を検討します。