#!/usr/bin/env python # coding: utf-8 # # Amazon OpenSearch Service 検索ワークショップ # # ## 概要 # 検索ワークショップは、OpenSearch の基本から最新の検索機能まで、段階的に学習することが可能なコンテンツです。Jupyter Notebook 形式で提供される「ラボ」を実行していくことで、OpenSearch を使用した検索機能の使い方を無理なく身に付けることができます。 # # ワークショップに必要な AWS リソースは AWS CloudFormation を利用して素早く展開することが可能です。環境構築方法については AWS Workshop Studio の [準備作業](https://catalog.us-east-1.prod.workshops.aws/workshops/26c005b2-b387-454a-b201-9b8f37f92f92/ja-JP/01-search-workshops/01-getting-started)セクションを参照してください。 # # ## ラボ一覧 # # ### 基本編 # # | ラボ名 | 概要 | 想定実行時間 | # | --- | --- | --- | # | [OpenSearch の基本概念 - インデックスとドキュメント](./opensearch-basic/index-and-document.ipynb) | インデックス、ドキュメントといった OpenSearch の基本的なコンポーネントの操作方法を確認します。 | 45 分 | # | [OpenSearch の基本的な検索機能](./opensearch-basic/basic-search.ipynb) | OpenSearch が提供する多様な検索機能について、実際に検索クエリを実行しながら確認していきます。 | 60 分 | # # ### 日本語検索編 # # | ラボ名 | 概要 | 想定実行時間 | # | --- | --- | --- | # | [日本語全文検索の実装](./full-text-search/full-text-search-jp.ipynb) | 日本語の全文検索を実装する際の考慮事項と対応方法について解説します。多様な文字種、表記ゆれ、複合語の処理など、日本語特有の課題に対応します。 | 60 分 | # | [Kuromoji ユーザー辞書のカスタマイズによる日本語検索の精度改善](./full-text-search/kuromoji-user-dictionary.ipynb) | Kuromoji の標準辞書のカバー範囲と、ユーザー辞書によるトークン分割の改善を実際に行います。 | 60 分 | # | [Kuromoji completion を使用した日本語向けオートコンプリート機能の実装](./suggestion/kuromoji-completion.ipynb) | 日本語検索プラグイン Kuromoji が提供するオートコンプリート機能を使用して、日本語向けのサジェスタを実装します。 | 30分 | # # ### ベクトル検索編 # # | ラボ名 | 概要 | 想定実行時間 | # | --- | --- | --- | # | [ベクトル検索の実装 (Amazon SageMaker 編)](./vector-search/vector-search-with-sagemaker.ipynb) | Amazon SageMaker 上にデプロイした密ベクトル埋め込みモデルを活用したベクトル検索を実装します。k-NN search の基本的な使い方を学びます。 | 60 分 | # | [ニューラル検索の実装 (Amazon SageMaker 編)](./vector-search/neural-search-with-sagemaker.ipynb) | テキストクエリを内部的にベクトルに変換してベクトル検索を行うニューラル検索を実装します。クライアント側の改修を最小限に抑えつつベクトル検索を導入する方法を学びます。 | 45 分 | # # ### スパース検索編 # # | ラボ名 | 概要 | 想定実行時間 | # | --- | --- | --- | # | [スパース検索の実装 (Amazon SageMaker 編)](./sparse-search/sparse-search-with-sagemaker.ipynb) | スパースエンコーディングモデルと連携したスパース検索を実装します。密ベクトル検索とは異なるアプローチでのあいまい検索の実装方法を学びます。 | 60 分 | # | [ニューラルスパース検索の実装 (Amazon SageMaker 編)](./sparse-search/neural-sparse-search-with-sagemaker.ipynb) | OpenSearch がスパースエンコーディングモデルを呼び出してトークンリストを生成するニューラルスパース検索を実装します。 | 45 分 | # # ### 高度な検索編 # # | ラボ名 | 概要 | 想定実行時間 | # | --- | --- | --- | # | [ハイブリッド検索 (Amazon SageMaker 編)](./hybrid-search/hybrid-search-with-sagemaker.ipynb) | テキスト検索、ベクトル検索、スパース検索を組み合わせたハイブリッド検索を実装します。複数の検索結果をマージし、スコアを平準化してランク付けを行う方法を学びます。 | 30 分 | # | [セマンティックリランキング (Amazon SageMaker 編)](./reranking/semantic-reranking-with-sagemaker.ipynb) | クロスエンコーダーモデルによるセマンティックリランキングを活用した検索の改善効果を確認します。検索結果の並べ替えによる精度向上方法を学びます。 | 45 分 | # # ### クリーンアップ # # | ラボ名 | 概要 | 想定実行時間 | # | --- | --- | --- | # | [環境のクリーンアップ](./clean-up/clean-up.ipynb) | ワークショップで使用したリソースの削除を行います。ワークショップを終了する場合のみ使用してください。 | 5 分 | # # ## 注意事項 # # - 各ラボは基本的に順番に進めることを想定していますが、興味のあるトピックから始めることも可能です。 # - 一部のラボは前提となるラボの完了が必要です。各ラボの「前提事項」セクションを確認してください。 # - 想定実行時間は目安です。実際の所要時間は環境や実行者によって異なります。