ある企業が数千ページに及ぶ社内技術文書を対象に「意味的検索(セマンティック検索)」システムを構築したいと考えています。キーワードが完全一致しなくても、質問の意味に近い文書箇所を返すためのシステムの核心技術として最も適切なものはどれですか?
セマンティック検索は、埋め込みモデル(Embedding Model)でテキストを意味を捉えた密ベクトルに変換し、Amazon OpenSearch Service等のベクトルデータベースに格納することで実現します。「意味的に近い」テキスト同士はベクトル空間でも近い位置に配置されるため、キーワードが一致しない場合でも類似した文書を返せます。 選択肢AのLLMファインチューニング(Fine-tuning)はモデルの動作特性や回答スタイルを調整するための手法です。技術文書の内容をパラメータに反映できますが、文書の追加・更新のたびに再学習が必要となり、大量文書への意味的検索の実装手段としては適していません。 選択肢Bの埋め込みモデルを使ったベクトル検索は、テキストの意味を高次元ベクトルで表現し、コサイン類似度等でキーワードが一致しない文書も意味的に類似した箇所を返せます。Amazon Titan Text EmbeddingsとAmazon OpenSearch Serviceを組み合わせることでセマンティック検索を効率的に実現できます。 選択肢CのAmazon Comprehendはキーフレーズ抽出には有用なNLPサービスですが、文書と質問の共通フレーズを照合する手法は表面的なキーワード一致に過ぎず、言い回しが異なる場合の意味的類似性には対応できません。 選択肢DのAmazon Translateは機械翻訳サービスです。文書を多言語に翻訳してキーワード全文検索を行っても、検索は文字列一致に留まり、セマンティック検索の代替にはなりません。