お問い合わせ

エンベディング

英語表記
Embedding
読み
えんべでぃんぐ
別名
埋め込み/埋め込み表現

単語や文章、画像などのデータを、意味の近さを計算できる数値の並び(ベクトル)に変換したもの。

解説

エンベディングは、文章などのデータを、AIが計算に使える数値の並びに変換したものです。変換後の数値の並びをベクトルと呼び、ベクトル同士の距離で意味の近さを表します。そのため、言葉が一致していなくても、意味が近いかどうかを機械的に判定できます。変換の対象は文章に限らず、単語、画像、音声なども含まれます。カスタマーサポートでは、FAQ検索や社内文書検索、RAG(検索拡張生成)の土台になる技術です。

仕組み

エンベディングを使った検索は、主に次の流れで動きます。

  1. 埋め込みモデルが、FAQ記事などの文書をあらかじめベクトルに変換し、保存しておく
  2. 顧客が質問を入力すると、質問文も同じモデルでベクトルに変換する
  3. 質問のベクトルと各文書のベクトルの近さを計算し、近い順に文書を並べる

近さの計算には、コサイン類似度がよく使われます。たとえば、OpenAIは、自社の埋め込みモデルの解説で、コサイン類似度を使って文書を検索する例を示しています。

実務での使われ方

エンベディングを使うと、表記が違っても同じ疑問として結びつけられます。たとえば、キーワード一致の検索では、顧客が「退会したい」と入力しても、記事の見出しが「解約方法」だと検索にかかりません。一方で、エンベディングを使うと、「退会」と「解約」は数値の上で近い位置に置かれるため、同じ疑問として記事を提示できます。したがって、同義語辞書を人手で増やし続けなくても、ある程度の言い換えに対応できます。

さらに、エンベディングは検索のほか、問い合わせの分類や、似た問い合わせのグループ分けにも使われます。

注意点

意味が近いという判定が、常に正しいとは限りません。近さの判定は数値上の類似度に基づくため、無関係な記事が上位に混ざることもあります。たとえば、「支払方法の変更」と「支払期限の確認」のように、話題は近くても用件が異なる質問を取り違える場合があります。そのため、検索結果の妥当性を定期的に点検し、必要に応じて検索結果を並べ替える処理(リランキング)を追加します。

また、型番やエラーコードのように完全一致が必要な語は、キーワード検索のほうが得意です。