Skip to content

guide

日本語AI検索の精度を上げる5つのポイント

2025年2月5日 · PC AI

社内向けにRAGを導入してみたものの、「思ったほど答えの精度が出ない」という声をよく聞きます。

その多くは、日本語特有の事情に起因しています。英語のRAGをそのまま日本語に持ってきたとき、精度が下がるポイントはほぼ決まっています。今回は、実務で効く5つの改善点を紹介します。

1. チャンク分割を文単位ではなく意味単位にする

RAGでは、長い文書を「チャンク」と呼ばれる小さな単位に分割して検索します。ここの分け方が一番効きます。

英語のチュートリアルだと「200トークンごとに分割」のような指示をよく見ます。これを日本語にそのまま使うと、文の途中で切れたり、文脈が分断されたりして精度が落ちます。

日本語の文書では、次の方針が有効です。

  • 見出し単位で区切る:H2、H3など、もともとある章立てを尊重する
  • 段落単位で再分割する:見出し配下の段落を、意味のまとまりとして扱う
  • 重要な用語の前後を残す:用語の定義部分が分割で切れないよう、前後にオーバーラップを持たせる

特にFAQやマニュアル系の文書では、質問と回答がペアで含まれるようにチャンクを切るだけで、検索ヒット率が大きく上がります。

2. 多言語対応の埋め込みモデルを選ぶ

検索の裏側では、文章を「埋め込み(embedding)」と呼ばれる数値ベクトルに変換しています。このモデルが日本語に対応していないと、そもそも意味を捉えきれません。

OpenAIのtext-embedding-3-large、Cohereのembed-multilingual-v3、ローカル運用ならmultilingual-e5-largeあたりが、日本語でも実用的な精度を出します。

英語専用の埋め込みモデル(text-embedding-ada-002の旧版など)を使い続けていると、ここで大きく損をしている可能性があります。

3. キーワード検索を併用する(ハイブリッド検索)

埋め込みベースの検索(ベクトル検索)は、意味の近い文章を探すのは得意ですが、固有名詞や型番の完全一致は苦手です。

たとえば「ABC-123型のマニュアルを見せて」という質問に対して、ベクトル検索だけだと「ABC-122型」のマニュアルが上位に来てしまうことがあります。

これを補うのが、従来のキーワード検索(BM25など)との併用です。両方の結果をスコア合成することで、意味も型番も両立した検索ができます。

4. リランキングを入れる

検索で上位に出たものを、もう一段階「リランカー」と呼ばれるモデルで並べ替えると、精度が一気に上がります。

最初の検索(ベクトル+キーワード)は速度重視で広く取り、上位20件くらいをリランカーが質問への答えやすさで並べ直す。これで、回答に使うコンテキストの質が大きく改善します。

CohereのRerank、BAAI/bge-reranker-v2-m3など、日本語に対応したリランカーも増えています。

5. 評価セットで継続的に測る

ここまでの工夫は、何が効いたか測れないと意味がありません

おすすめは、業務でよく聞かれる質問を30〜100問ほど選んで「想定回答」とセットにした評価セットを作ることです。

設定を変えるたびに、この評価セットを通して、ヒット率や正答率がどう変化したかを見る。これだけで、感覚に頼らない改善ができます。

評価セットは社内の実際の質問から作ると、精度向上が業務の改善に直結します。

まとめ

日本語のRAGで精度を上げるには、英語のテンプレートを日本語に翻訳しただけでは足りません。チャンクの切り方、埋め込みモデル、キーワード検索の併用、リランキング、評価。この5つを順に検討するだけで、現場で使えるレベルまで持っていけることがほとんどです。

PC AIの Saachi は、これらの工夫を標準で組み込んだ日本語RAGです。利用者は精度のためのチューニングを意識する必要がありません。

導入のご相談はお問い合わせからどうぞ。