Knowledge bases for Amazon Bedrock の Use foundation model for parsing を試す

ナレッジベースの新機能「Use foundation model for parsing」を使用して、PDFドキュメントがどうパースされるのかを確認していきます。

結論、とても良いです。

# 使用するドキュメント

IPAのデジタルスキル標準のPDFを使用します。

https://www.ipa.go.jp/jinzai/skill-standard/dss/about_dss-p.html

# ナレッジベースの設定

チャンキング設定でCustomを選択すると、Parsing strategyの選択が可能になります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3573242/85d993b3-4d8d-51c5-2acd-c07c1bb723ed.png)

どうやらLLMを使ってパースするようなので、Claude3 Sonnetを選択します。

Instruction（プロンプト）が書いてあるので内容を確認します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3573242/8aa2c3c1-85f2-437c-2dd7-8007b624345e.png)

```
Transcribe the text content from an image page and output in Markdown syntax (not code blocks). Follow these steps:

1. Examine the provided page carefully.

2. Identify all elements present in the page, including headers, body text, footnotes, tables, visulizations, captions, and page numbers, etc.

3. Use markdown syntax to format your output:
    - Headings: # for main, ## for sections, ### for subsections, etc.
    - Lists: * or - for bulleted, 1. 2. 3. for numbered
    - Do not repeat yourself

4. If the element is a visulization
    - Provide a detailed description in natural language
    - Do not transcribe text in the visualization after providing the description

5. If the element is a table
    - Create a markdown table, ensuring every row has the same number of columns
    - Maintain cell alignment as closely as possible
    - Do not split a table into multiple tables
    - If a merged cell spans multiple rows or columns, place the text in the top-left cell and output ' ' for other
    - Use | for column separators, |-|-| for header row separators
    - If a cell has multiple items, list them in separate rows
    - If the table contains sub-headers, separate the sub-headers from the headers in another row

6. If the element is a paragraph
    - Transcribe each text element precisely as it appears

7. If the element is a header, footer, footnote, page number
    - Transcribe each text element precisely as it appears

Output Example:

A bar chart showing annual sales figures, with the y-axis labeled "Sales ($Million)" and the x-axis labeled "Year". The chart has bars for 2018 ($12M), 2019 ($18M), 2020 ($8M), and 2021 ($22M).
Figure 3: This chart shows annual sales in millions. The year 2020 was significantly down due to the COVID-19 pandemic.

# Annual Report

## Financial Highlights

* Revenue: $40M
* Profit: $12M
* EPS: $1.25


| | Year Ended December 31, | |
| | 2021 | 2022 |
|-|-|-|
| Cash provided by (used in): | | |
| Operating activities | $ 46,327 | $ 46,752 |
| Investing activities | (58,154) | (37,601) |
| Financing activities | 6,291 | 9,718 |

Here is the image.
```
Markdownに変換するプロンプトが記載されています。
つまり、PDFファイルを一度LLMでMarkdownに変換した後にベクトル化するようです。

チャンキング戦略についてはHierarchicalチャンキングを選んでみます。
トークンサイズも少し大きくしてみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3573242/9128e900-f334-49d9-f298-aeefb38c5390.png)

Titan Text Embeddings v2でSyncしていきます。

# ログの確認（パース編）

順番に処理されるわけでは無いようなので、検索しながら該当する箇所を貼り付けていきます。

### 表紙
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3573242/518f215c-9777-8c63-a6f1-4246068543e2.png)

```JSON
        "inputBodyJson": {
            "anthropic_version": "bedrock-2023-05-31",
            "messages": [
                {
                    "role": "user",
                    "content": [
                        {
                            "type": "text",
                            "text": "Transcribe the text content from an image page and output in Markdown syntax (not code blocks). Follow these steps:\n\n1. Examine the provided page carefully.\n\n2. Identify all elements present in the page, including headers, body text, footnotes, tables, visulizations, captions, and page numbers, etc.\n\n3. Use markdown syntax to format your output:\n    - Headings: # for main, ## for sections, ### for subsections, etc.\n    - Lists: * or - for bulleted, 1. 2. 3. for numbered\n    - Do not repeat yourself\n\n4. If the element is a visulization\n    - Provide a detailed description in natural language\n    - Do not transcribe text in the visualization after providing the description\n\n5. If the element is a table\n    - Create a markdown table, ensuring every row has the same number of columns\n    - Maintain cell alignment as closely as possible\n    - Do not split a table into multiple tables\n    - If a merged cell spans multiple rows or columns, place the text in the top-left cell and output ' ' for other\n    - Use | for column separators, |-|-| for header row separators\n    - If a cell has multiple items, list them in separate rows\n    - If the table contains sub-headers, separate the sub-headers from the headers in another row\n\n6. If the element is a paragraph\n    - Transcribe each text element precisely as it appears\n\n7. If the element is a header, footer, footnote, page number\n    - Transcribe each text element precisely as it appears\n\nOutput Example:\n\nA bar chart showing annual sales figures, with the y-axis labeled \"Sales ($Million)\" and the x-axis labeled \"Year\". The chart has bars for 2018 ($12M), 2019 ($18M), 2020 ($8M), and 2021 ($22M).\nFigure 3: This chart shows annual sales in millions. The year 2020 was significantly down due to the COVID-19 pandemic.\n\n# Annual Report\n\n## Financial Highlights\n\n* Revenue: $40M\n* Profit: $12M\n* EPS: $1.25\n\n\n| | Year Ended December 31, | |\n| | 2021 | 2022 |\n|-|-|-|\n| Cash provided by (used in): | | |\n| Operating activities | $ 46,327 | $ 46,752 |\n| Investing activities | (58,154) | (37,601) |\n| Financing activities | 6,291 | 9,718 |\n\nHere is the image.\n"
                        },
                        {
                            "type": "image",
                            "source": {
                                "type": "base64",
                                "media_type": "image/png",
                                "data": xxx
                            }
                        },
                        {
                            "type": "text",
                            "text": "\nBased on the image provided, try to format the context into markdown format.\n<context>\nAll Rights Reserved Copyright© IPA 2024 0\n\nデジタルスキル標準ver.1.２\n\n2024年7月\n\n\n</div>\n</context>\n"
                        }
                    ]
                }
            ],
            "max_tokens": 2048,
            "temperature": 0,
            "top_p": 1,
            "stop_sequences": [
                "\nObservation"
            ],
            "top_k": 50
        },
        "inputTokenCount": 1961
    },
    "output": {
        "outputContentType": "application/json",
        "outputBodyJson": {
            "id": "msg_bdrk_013rabrzRouvJKDESQ5F3uBi",
            "type": "message",
            "role": "assistant",
            "model": "claude-3-sonnet-20240229",
            "content": [
                {
                    "type": "text",
                    "text": "# デジタルスキル標準 ver.1.2\n\n2024年7月\n\nIPA 独立行政法人情報処理推進機構\n\n経済産業省\n\nAll Rights Reserved Copyright© IPA 2024 0"
                }
            ],
            "stop_reason": "end_turn",
            "stop_sequence": null,
            "usage": {
                "input_tokens": 1961,
                "output_tokens": 62
            }
        },
        "outputTokenCount": 62
```
もう面白いですね。1ページ目のみが出力されており、先ほどのプロンプトと1ページ目の画像とPDFの本文テキストが渡され、以下のMarkdown出力を得ています。（改行のみ補正しています）

<details><summary>出力Markdown</summary>

# デジタルスキル標準 ver.1.2
2024年7月
IPA 独立行政法人情報処理推進機構
経済産業省
All Rights Reserved Copyright© IPA 2024 0

</details>

### 目次ページ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3573242/ec24265b-f5d1-2476-934f-f9f9d74dec86.png)

```JSON
            "content": [
                {
                    "type": "text",
                    "text": "# 目次\n\nI. デジタルスキル標準の概要\n* デジタルスキル標準策定の背景、ねらい\n* デジタルスキル標準 改訂の考え方\n* デジタルスキル標準の構成\n* デジタルスキル標準で対象とする人材\n* デジタルスキル標準の汎用性\n* デジタルスキル標準の活用イメージ\n\nII. DXリテラシー標準\n1. DXリテラシー標準策定のねらい、策定方針\n2. DXリテラシー標準の構成\n3. スキル・学習項目\n    a. 概要\n    b. 詳細\n4. DXリテラシー標準の活用イメージ\n\nIII. DX推進スキル標準\n1. DX推進スキル標準策定のねらい、策定方針\n2. DX推進スキル標準の構成\n3. 人材類型・ロール\n    (類型定義、各ロールの担う責任・業務、各ロールの必要スキル)\n    a. ビジネスアーキテクト\n    b. デザイナー\n    c. データサイエンティスト\n    d. ソフトウェアエンジニア\n    e. サイバーセキュリティ\n4. 共通スキルリスト解説\n5. DX推進スキル標準の活用イメージ\n\nAll Rights Reserved Copyright© IPA 2024 1"
                }
            ],
```

<details><summary>出力Markdown</summary>

# 目次
I. デジタルスキル標準の概要
* デジタルスキル標準策定の背景、ねらい
* デジタルスキル標準 改訂の考え方
* デジタルスキル標準の構成
* デジタルスキル標準で対象とする人材
* デジタルスキル標準の汎用性
* デジタルスキル標準の活用イメージ

II. DXリテラシー標準
1. DXリテラシー標準策定のねらい、策定方針
2. DXリテラシー標準の構成
3. スキル・学習項目
    a. 概要
    b. 詳細
4. DXリテラシー標準の活用イメージ

III. DX推進スキル標準
1. DX推進スキル標準策定のねらい、策定方針
2. DX推進スキル標準の構成
3. 人材類型・ロール
    (類型定義、各ロールの担う責任・業務、各ロールの必要スキル)
    a. ビジネスアーキテクト
    b. デザイナー
    c. データサイエンティスト
    d. ソフトウェアエンジニア
    e. サイバーセキュリティ
4. 共通スキルリスト解説
5. DX推進スキル標準の活用イメージ
All Rights Reserved Copyright© IPA 2024 1

</details>

### 3ページ目（箇条書きのページ）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3573242/b28943fa-c30b-8ee5-6f39-e01c41dc81eb.png)

```JSON
            "content": [
                {
                    "type": "text",
                    "text": "# デジタルスキル標準策定の背景・ねらい\n\n## 日本企業におけるDX推進の重要性の高まり\n\n* データ活用やデジタル技術の進化により、我が国や諸外国において、データ・デジタル技術を活用した産業構造の変化が起きつつある。このような変化の中で企業が競争上の優位性を確立するためには、常に変化する社会や顧客の課題を捉え、デジタルトランスフォーメーション（DX脚注）を実現することが重要。\n* 一方で、多くの日本企業は、DXの取組みにおくれをとっていると考えられる。その大きな要因のひとつとして、DXの素養や専門性を持った人材が不足していることが挙げられる。\n\n## DX推進における人材の重要性\n\n* 企業がDXを実現するには、企業全体として変革への受容性を高める必要がある。そのためには、経営層を含め企業に所属する一人一人がDXの素養を持っている状態、すなわちDXに理解・関心を持ち自分事ととしてとらえている状態を実現する必要がある。また、変革への受容性を高めたうえで、実際に企業がDX戦略を推進するには、関連する専門性をもった人材が活躍することが重要である。\n* このため、全員がDX推進を自分事ととらえ、企業全体として変革への受容性を高めるために、全てのビジネスパーソンにDXに関するリテラシーを身につける必要がある。また、DXを具体的に推進するために、専門性を持った人材の確保・育成が必要である。\n\n## デジタルスキル標準の策定\n\n* 上記のようなDX推進における人材の重要性を踏まえ、個人の学習や企業の人材確保・育成の指針であるデジタルスキル標準を策定する。\n* デジタルスキル標準は、ビジネスパーソン全体がDXに関する基礎的な知識やスキル・マインドを身につけるための指針である「DXリテラシー標準」及び企業がDXを推進する専門性を持った人材を確保・育成するための指針である「DX推進スキル標準」の2種類で構成されている。\n    - DXリテラシー標準：全てのビジネスパーソンが身につけるべきスキルの標準\n    - DX推進スキル標準：DXを推進する人材類型の役割や習得すべきスキルの標準\n* デジタルスキル標準で扱う知識やスキルは、共通的な指標として転用がしやすく、かつ内容理解において特定の産業や職種に関する知識を問わないことを狙い、可能な限り汎用性を持たせた表現としている。そのため、個々の組織・企業への適用にあたっては、各組織・企業の属する産業や自らの事業の方向性に合わせた具体化が求められることに留意する必要がある。\n\n脚注: DXの定義：企業がビジネス環境の激しい変化に対応し、データとデジタル技術を活用して、顧客や社会のニーズを基に、製品やサービス、ビジネスモデルを変革するとともに、業務そのものや、組織、プロセス、企業文化・風土を変革し、競争上の優位性を確立すること（経済産業省「デジタルガバナンス・コード2.0」（2022年9月改訂））\n\n# 第Ⅰ部 デジタルスキル標準の概要"
                }
            ],
```

<details><summary>出力Markdown</summary>

# デジタルスキル標準策定の背景・ねらい
## 日本企業におけるDX推進の重要性の高まり
* データ活用やデジタル技術の進化により、我が国や諸外国において、データ・デジタル技術を活用した産業構造の変化が起きつつある。このような変化の中で企業が競争上の優位性を確立するためには、常に変化する社会や顧客の課題を捉え、デジタルトランスフォーメーション（DX脚注）を実現することが重要。
* 一方で、多くの日本企業は、DXの取組みにおくれをとっていると考えられる。その大きな要因のひとつとして、DXの素養や専門性を持った人材が不足していることが挙げられる。

## DX推進における人材の重要性
* 企業がDXを実現するには、企業全体として変革への受容性を高める必要がある。そのためには、経営層を含め企業に所属する一人一人がDXの素養を持っている状態、すなわちDXに理解・関心を持ち自分事ととしてとらえている状態を実現する必要がある。また、変革への受容性を高めたうえで、実際に企業がDX戦略を推進するには、関連する専門性をもった人材が活躍することが重要である。
* このため、全員がDX推進を自分事ととらえ、企業全体として変革への受容性を高めるために、全てのビジネスパーソンにDXに関するリテラシーを身につける必要がある。また、DXを具体的に推進するために、専門性を持った人材の確保・育成が必要である。

## デジタルスキル標準の策定
* 上記のようなDX推進における人材の重要性を踏まえ、個人の学習や企業の人材確保・育成の指針であるデジタルスキル標準を策定する。
* デジタルスキル標準は、ビジネスパーソン全体がDXに関する基礎的な知識やスキル・マインドを身につけるための指針である「DXリテラシー標準」及び企業がDXを推進する専門性を持った人材を確保・育成するための指針である「DX推進スキル標準」の2種類で構成されている。
    - DXリテラシー標準：全てのビジネスパーソンが身につけるべきスキルの標準
    - DX推進スキル標準：DXを推進する人材類型の役割や習得すべきスキルの標準
* デジタルスキル標準で扱う知識やスキルは、共通的な指標として転用がしやすく、かつ内容理解において特定の産業や職種に関する知識を問わないことを狙い、可能な限り汎用性を持たせた表現としている。そのため、個々の組織・企業への適用にあたっては、各組織・企業の属する産業や自らの事業の方向性に合わせた具体化が求められることに留意する必要がある。

脚注: DXの定義：企業がビジネス環境の激しい変化に対応し、データとデジタル技術を活用して、顧客や社会のニーズを基に、製品やサービス、ビジネスモデルを変革するとともに、業務そのものや、組織、プロセス、企業文化・風土を変革し、競争上の優位性を確立すること（経済産業省「デジタルガバナンス・コード2.0」（2022年9月改訂））

# 第Ⅰ部 デジタルスキル標準の概要

</details>

3ページ目のあとに2ページ目が来てますが、まあ些末な話で、他は美しいです。

### 8ページ目（絵的な表現の多いページ）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3573242/58c952bc-8014-5177-9e8f-6e1931fd4cfa.png)

```
            "content": [
                {
                    "type": "text",
                    "text": "# デジタルスキル標準の汎用性\n\n## デジタルスキル標準で扱う知識やスキルは、共通的な指標として転用がしやすく、かつ内容理解において特定の産業や職種に関する知識を問わないことを狙い、可能な限り汎用性を持たせた表現としている。\n\n## そのため、個々の組織・企業への適用にあたっては、各組織・企業の属する産業や自らの事業の方向性に合わせることが求められる。\n\nデジタルスキル標準\n|  |  |\n|-|-|\n| DXリテラシー標準 | あらゆるビジネスパーソンに求められる知識・スキル <br> • 産業にかかわらず共通 <br> • 職種、部署にかかわらず共通 |\n| DX推進スキル標準 | DX推進における特定の役割を担う人材に求められる知識・スキル <br> • 産業にかかわらず共通 <br> • DXを推進する人材類型ごとに定義 |\n\n| | |\n|-|-|\n|汎用性 | 各組織・企業の属する産業や自らの事業の方向性に合わせることが必要 |\n|固有性 | 特定の状況に対応する人材に求められる知識・スキル <br> • 特定の状況（産業別、組織・企業別、職種別・・・）ごとに定義 |\n\nAll Rights Reserved Copyright© IPA 2024 8"
                }
            ],
```

<details><summary>出力Markdown</summary>

# デジタルスキル標準の汎用性

## デジタルスキル標準で扱う知識やスキルは、共通的な指標として転用がしやすく、かつ内容理解において特定の産業や職種に関する知識を問わないことを狙い、可能な限り汎用性を持たせた表現としている。

## そのため、個々の組織・企業への適用にあたっては、各組織・企業の属する産業や自らの事業の方向性に合わせることが求められる。

デジタルスキル標準
|  |  |
|-|-|
| DXリテラシー標準 | あらゆるビジネスパーソンに求められる知識・スキル <br> • 産業にかかわらず共通 <br> • 職種、部署にかかわらず共通 |
| DX推進スキル標準 | DX推進における特定の役割を担う人材に求められる知識・スキル <br> • 産業にかかわらず共通 <br> • DXを推進する人材類型ごとに定義 |

| | |
|-|-|
|汎用性 | 各組織・企業の属する産業や自らの事業の方向性に合わせることが必要 |
|固有性 | 特定の状況に対応する人材に求められる知識・スキル <br> • 特定の状況（産業別、組織・企業別、職種別・・・）ごとに定義 |

All Rights Reserved Copyright© IPA 2024 8

</details>

なんか「汎用性」の部分だけ適当キメてますが、他は表形式ですらない絵的な表現を元にがんばって再現しています。すごい

### 72ページ（表）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3573242/4f65e76c-6ae0-9445-e6b7-0ad154edf146.png)

```JSON
            "content": [
                {
                    "type": "text",
                    "text": "# ロール一覧\n\n## 人材類型をさらに詳細に区分し、以下のとおりロールを設定している。\n\n| 人材類型 | ロール | DX推進において担う責任 |\n|-|-|-|\n| ビジネスアーキテクト | ビジネスアーキテクト<br>（新規事業開発） | 新しい事業、製品・サービスの目的を見出し、新しく定義した目的の実現方法を策定したうえで、関係者をコーディネートし関係者間の協働関係の構築をリードしながら、目的実現に向けたプロセスの一貫した推進を通じて、目的を実現する |\n|  | ビジネスアーキテクト<br>（既存事業の高度化） | 既存の事業、製品・サービスの目的を見直し、再定義した目的の実現方法を策定したうえで、関係者をコーディネートし関係者間の協働関係の構築をリードしながら、目的実現に向けたプロセスの一貫した推進を通じて、目的を実現する |\n|  | ビジネスアーキテクト<br>（社内業務の高度化・効率化） | 社内業務の課題解決の目的を定義し、その目的の実現方法を策定したうえで、関係者をコーディネートし関係者間の協働関係の構築をリードしながら、目的実現に向けたプロセスの一貫した推進を通じて、目的を実現する |\n| デザイナー | サービスデザイナー | 社会、顧客・ユーザー、製品・サービス提供における社内外関係者の課題や行動から顧客価値を定義し製品・サービスの方針（コンセプト）を策定するとともに、それを継続的に実現するための仕組みのデザインを行う |\n|  | UX/UIデザイナー | バリュープロポジション脚注に基づき製品・サービスの顧客・ユーザー体験を設計し、製品・サービスの情報設計や、機能、情報の配置、外観、動的要素のデザインを行う |\n|  | グラフィックデザイナー | ブランドのイメージを具現化し、ブランドとして統一感のあるデジタルグラフィック、マーケティング媒体等のデザインを行う |\n| データサイエンティスト | データビジネスストラテジスト | 事業戦略に沿ったデータの活用戦略を考えるとともに、戦略の具体化や実現を主導し、顧客価値を拡大する業務変革やビジネス創出を実現する |\n|  | データサイエンスプロフェッショナル | データの処理や解析を通じて、顧客価値を拡大する業務の変革やビジネスの創出につながる有意義な知見を導出する |\n|  | データエンジニア | 効果的なデータ分析環境の設計・実装・運用を通じて、顧客価値を拡大する業務変革やビジネス創出を実現する |\n| ソフトウェアエンジニア | フロントエンドエンジニア | デジタル技術を活用したサービスを提供するためのソフトウェアの機能のうち、主にインターフェース（クライアントサイド）の機能の実現に主たる責任を持つ |\n|  | バックエンドエンジニア | デジタル技術を活用したサービスを提供するためのソフトウェアの機能のうち、主にサーバサイドの機能の実現に主たる責任を持つ |\n|  | クラウドエンジニア/SRE | デジタル技術を活用したサービスを提供するためのソフトウェアの開発・運用環境の最適化と信頼性の向上に責任を持つ |\n|  | フィジカルコンピューティングエンジニア | デジタル技術を活用したサービスを提供するためのソフトウェアの実現において、現実世界（物理領域）のデジタル化を担い、デバイスを含めたソフトウェア機能の実現に責任を持つ |\n| サイバーセキュリティ | サイバーセキュリティマネージャー | 顧客価値を拡大するビジネスの企画立案に際して、デジタル活用に伴うサイバーセキュリティリスクを検討・評価するとともに、その影響を抑制するための対策の管理・統制の主導を通じて、顧客価値の高いビジネスへの信頼感向上に貢献する |\n|  | サイバーセキュリティエンジニア | 事業実施に伴うデジタル活用関連のサイバーセキュリティリスクを抑制するための対策の導入・保守・運用を通じて、顧客価値の高いビジネスの安定的な提供に貢献する |\n\n脚注 バリュープロポジション：顧客が求める価値を把握した上で、ビジネスのケイパビリティを踏まえて決定される、企業が製品・サービスを購入する顧客に提供する利益や、顧客がその製品・サービスを買うべき理由"
                }
            ],
```

<details><summary>出力Markdown</summary>

# ロール一覧

## 人材類型をさらに詳細に区分し、以下のとおりロールを設定している。

| 人材類型 | ロール | DX推進において担う責任 |
|-|-|-|
| ビジネスアーキテクト | ビジネスアーキテクト<br>（新規事業開発） | 新しい事業、製品・サービスの目的を見出し、新しく定義した目的の実現方法を策定したうえで、関係者をコーディネートし関係者間の協働関係の構築をリードしながら、目的実現に向けたプロセスの一貫した推進を通じて、目的を実現する |
|  | ビジネスアーキテクト<br>（既存事業の高度化） | 既存の事業、製品・サービスの目的を見直し、再定義した目的の実現方法を策定したうえで、関係者をコーディネートし関係者間の協働関係の構築をリードしながら、目的実現に向けたプロセスの一貫した推進を通じて、目的を実現する |
|  | ビジネスアーキテクト<br>（社内業務の高度化・効率化） | 社内業務の課題解決の目的を定義し、その目的の実現方法を策定したうえで、関係者をコーディネートし関係者間の協働関係の構築をリードしながら、目的実現に向けたプロセスの一貫した推進を通じて、目的を実現する |
| デザイナー | サービスデザイナー | 社会、顧客・ユーザー、製品・サービス提供における社内外関係者の課題や行動から顧客価値を定義し製品・サービスの方針（コンセプト）を策定するとともに、それを継続的に実現するための仕組みのデザインを行う |
|  | UX/UIデザイナー | バリュープロポジション脚注に基づき製品・サービスの顧客・ユーザー体験を設計し、製品・サービスの情報設計や、機能、情報の配置、外観、動的要素のデザインを行う |
|  | グラフィックデザイナー | ブランドのイメージを具現化し、ブランドとして統一感のあるデジタルグラフィック、マーケティング媒体等のデザインを行う |
| データサイエンティスト | データビジネスストラテジスト | 事業戦略に沿ったデータの活用戦略を考えるとともに、戦略の具体化や実現を主導し、顧客価値を拡大する業務変革やビジネス創出を実現する |
|  | データサイエンスプロフェッショナル | データの処理や解析を通じて、顧客価値を拡大する業務の変革やビジネスの創出につながる有意義な知見を導出する |
|  | データエンジニア | 効果的なデータ分析環境の設計・実装・運用を通じて、顧客価値を拡大する業務変革やビジネス創出を実現する |
| ソフトウェアエンジニア | フロントエンドエンジニア | デジタル技術を活用したサービスを提供するためのソフトウェアの機能のうち、主にインターフェース（クライアントサイド）の機能の実現に主たる責任を持つ |
|  | バックエンドエンジニア | デジタル技術を活用したサービスを提供するためのソフトウェアの機能のうち、主にサーバサイドの機能の実現に主たる責任を持つ |
|  | クラウドエンジニア/SRE | デジタル技術を活用したサービスを提供するためのソフトウェアの開発・運用環境の最適化と信頼性の向上に責任を持つ |
|  | フィジカルコンピューティングエンジニア | デジタル技術を活用したサービスを提供するためのソフトウェアの実現において、現実世界（物理領域）のデジタル化を担い、デバイスを含めたソフトウェア機能の実現に責任を持つ |
| サイバーセキュリティ | サイバーセキュリティマネージャー | 顧客価値を拡大するビジネスの企画立案に際して、デジタル活用に伴うサイバーセキュリティリスクを検討・評価するとともに、その影響を抑制するための対策の管理・統制の主導を通じて、顧客価値の高いビジネスへの信頼感向上に貢献する |\n|  | サイバーセキュリティエンジニア | 事業実施に伴うデジタル活用関連のサイバーセキュリティリスクを抑制するための対策の導入・保守・運用を通じて、顧客価値の高いビジネスの安定的な提供に貢献する |

脚注 バリュープロポジション：顧客が求める価値を把握した上で、ビジネスのケイパビリティを踏まえて決定される、企業が製品・サービスを購入する顧客に提供する利益や、顧客がその製品・サービスを買うべき理由

</details>

これもいいですね。

# ログの確認（ベクトル化編）

パースで生成されたMarkdownをInputにベクトル化が行われます。

```JSON
    "input": {
        "inputContentType": "application/json",
        "inputBodyJson": {
            "inputText": "# デジタルスキル標準 ver.1.2 2024年7月 IPA 独立行政法人情報処理推進機構 経済産業省 All Rights Reserved Copyright© IPA 2024 0",
            "dimensions": 1024
        },
        "inputTokenCount": 70
    },
```

以下省略しますが、ページ分割→パース→チャンク分割→ベクトル化がされているので、ページ単位で記述が完結しているドキュメントであれば綺麗にベクトル化できそうです。

ナレッジベースは日本語文書に対しては若干挙動不審なところがあるのですが、ページ単位で処理される事で、ページ内の文字数が多過ぎなければ良い感じにやってくれそうです。

ページを跨っている文章に対してどう振る舞うかは今回確認できていません。

# OpenSearch格納内容の確認

OpenSearchダッシュボードのDevToolsから確認します。
```JSON
GET _search
{
  "_source": [
    "AMAZON_BEDROCK_METADATA",
    "AMAZON_BEDROCK_TEXT_CHUNK"
  ],
  "query": {
    "match": {
      "AMAZON_BEDROCK_TEXT_CHUNK": "人材類型をさらに詳細に区分し、以下のとおりロールを設定している"
    }
  }
}
```
```JSON
          "AMAZON_BEDROCK_METADATA": """{"source":"s3://***/000106872.pdf","parentText":"# ロール一覧\n## 人材類型をさらに詳細に区分し、以下のとおりロールを設定している。\n| 人材類型 | ロール | DX推進において担う責任 |\n|-|-|-|\n| ビジネスアーキテクト | ビジネスアーキテクト<br>（新規事業開発） | 新しい事業、製品・サービスの目的を見出し、新しく定義した目的の実現方法を策定したうえで、関係者をコーディネートし関係者間の協働関係の構築をリードしながら、目的実現に向けたプロセスの一貫した推進を通じて、目的を実現する |\n| | ビジネスアーキテクト<br>（既存事業の高度化） | 既存の事業、製品・サービスの目的を見直し、再定義した目的の実現方法を策定したうえで、関係者をコーディネートし関係者間の協働関係の構築をリードしながら、目的実現に向けたプロセスの一貫した推進を通じて、目的を実現する |\n| | ビジネスアーキテクト<br>（社内業務の高度化・効率化） | 社内業務の課題解決の目的を定義し、その目的の実現方法を策定したうえで、関係者をコーディネートし関係者間の協働関係の構築をリードしながら、目的実現に向けたプロセスの一貫した推進を通じて、目的を実現する |\n| デザイナー | サービスデザイナー | 社会、顧客・ユーザー、製品・サービス提供における社内外関係者の課題や行動から顧客価値を定義し製品・サービスの方針（コンセプト）を策定するとともに、それを継続的に実現するための仕組みのデザインを行う |\n| | UX/UIデザイナー | バリュープロポジション脚注に基づき製品・サービスの顧客・ユーザー体験を設計し、製品・サービスの情報設計や、機能、情報の配置、外観、動的要素のデザインを行う |\n| | グラフィックデザイナー | ブランドのイメージを具現化し、ブランドとして統一感のあるデジタルグラフィック、マーケティング媒体等のデザインを行う |\n| データサイエンティスト | データビジネスストラテジスト | 事業戦略に沿ったデータの活用戦略を考えるとともに、戦略の具体化や実現を主導し、顧客価値を拡大する業務変革やビジネス創出を実現する |\n| | データサイエンスプロフェッショナル | データの処理や解析を通じて、顧客価値を拡大する業務の変革やビジネスの創出につながる有意義な知見を導出する |\n| | データエンジニア | 効果的なデータ分析環境の設計・実装・運用を通じて、顧客価値を拡大する業務変革やビジネス創出を実現する |\n| ソフトウェアエンジニア | フロントエンドエンジニア | デジタル技術を活用したサービスを提供するためのソフトウェアの機能のうち、主にインターフェース（クライアントサイド）の機能の実現に主たる責任を持つ |\n| | バックエンドエンジニア | デジタル技術を活用したサービスを提供するためのソフトウェアの機能のうち、主にサーバサイドの機能の実現に主たる責任を持つ |\n| | クラウドエンジニア/SRE | デジタル技術を活用したサービスを提供するためのソフトウェアの開発・運用環境の最適化と信頼性の向上に責任を持つ |\n| | フィジカルコンピューティングエンジニア | デジタル技術を活用したサービスを提供するためのソフトウェアの実現において、現実世界（物理領域）のデジタル化を担い、デバイスを含めたソフトウェア機能の実現に責任を持つ |\n| サイバーセキュリティ | サイバーセキュリティマネージャー | 顧客価値を拡大するビジネスの企画立案に際して、デジタル活用に伴うサイバーセキュリティリスクを検討・評価するとともに、その影響を抑制するための対策の管理・統制の主導を通じて、顧客価値の高いビジネスへの信頼感向上に貢献する |\n| | サイバーセキュリティエンジニア | 事業実施に伴うデジタル活用関連のサイバーセキュリティリスクを抑制するための対策の導入・保守・運用を通じて、顧客価値の高いビジネスの安定的な提供に貢献する |\n脚注 バリュープロポジション：顧客が求める価値を把握した上で、ビジネスのケイパビリティを踏まえて決定される、企業が製品・サービスを購入する顧客に提供する利益や、顧客がその製品・サービスを買うべき理由\n"}""",
          "AMAZON_BEDROCK_TEXT_CHUNK": "# ロール一覧 ## 人材類型をさらに詳細に区分し、以下のとおりロールを設定している。"
```
```JSON
GET _search
{
  "_source": [
    "AMAZON_BEDROCK_METADATA",
    "AMAZON_BEDROCK_TEXT_CHUNK"
  ],
  "query": {
    "match": {
      "AMAZON_BEDROCK_TEXT_CHUNK": "新しい事業、製品・サービスの目的を見出し、新しく定義した目的の実現方法を策定したうえで、関係者をコーディネートし関係者間の協働関係の構築をリードしながら、目的実現に向けたプロセスの一貫した推進を通じて、目的を実現する"
    }
  }
}
```
```JSON
          "AMAZON_BEDROCK_METADATA": """{"source":"s3://***/000106872.pdf","parentText":"# ロール一覧\n## 人材類型をさらに詳細に区分し、以下のとおりロールを設定している。\n| 人材類型 | ロール | DX推進において担う責任 |\n|-|-|-|\n| ビジネスアーキテクト | ビジネスアーキテクト<br>（新規事業開発） | 新しい事業、製品・サービスの目的を見出し、新しく定義した目的の実現方法を策定したうえで、関係者をコーディネートし関係者間の協働関係の構築をリードしながら、目的実現に向けたプロセスの一貫した推進を通じて、目的を実現する |\n| | ビジネスアーキテクト<br>（既存事業の高度化） | 既存の事業、製品・サービスの目的を見直し、再定義した目的の実現方法を策定したうえで、関係者をコーディネートし関係者間の協働関係の構築をリードしながら、目的実現に向けたプロセスの一貫した推進を通じて、目的を実現する |\n| | ビジネスアーキテクト<br>（社内業務の高度化・効率化） | 社内業務の課題解決の目的を定義し、その目的の実現方法を策定したうえで、関係者をコーディネートし関係者間の協働関係の構築をリードしながら、目的実現に向けたプロセスの一貫した推進を通じて、目的を実現する |\n| デザイナー | サービスデザイナー | 社会、顧客・ユーザー、製品・サービス提供における社内外関係者の課題や行動から顧客価値を定義し製品・サービスの方針（コンセプト）を策定するとともに、それを継続的に実現するための仕組みのデザインを行う |\n| | UX/UIデザイナー | バリュープロポジション脚注に基づき製品・サービスの顧客・ユーザー体験を設計し、製品・サービスの情報設計や、機能、情報の配置、外観、動的要素のデザインを行う |\n| | グラフィックデザイナー | ブランドのイメージを具現化し、ブランドとして統一感のあるデジタルグラフィック、マーケティング媒体等のデザインを行う |\n| データサイエンティスト | データビジネスストラテジスト | 事業戦略に沿ったデータの活用戦略を考えるとともに、戦略の具体化や実現を主導し、顧客価値を拡大する業務変革やビジネス創出を実現する |\n| | データサイエンスプロフェッショナル | データの処理や解析を通じて、顧客価値を拡大する業務の変革やビジネスの創出につながる有意義な知見を導出する |\n| | データエンジニア | 効果的なデータ分析環境の設計・実装・運用を通じて、顧客価値を拡大する業務変革やビジネス創出を実現する |\n| ソフトウェアエンジニア | フロントエンドエンジニア | デジタル技術を活用したサービスを提供するためのソフトウェアの機能のうち、主にインターフェース（クライアントサイド）の機能の実現に主たる責任を持つ |\n| | バックエンドエンジニア | デジタル技術を活用したサービスを提供するためのソフトウェアの機能のうち、主にサーバサイドの機能の実現に主たる責任を持つ |\n| | クラウドエンジニア/SRE | デジタル技術を活用したサービスを提供するためのソフトウェアの開発・運用環境の最適化と信頼性の向上に責任を持つ |\n| | フィジカルコンピューティングエンジニア | デジタル技術を活用したサービスを提供するためのソフトウェアの実現において、現実世界（物理領域）のデジタル化を担い、デバイスを含めたソフトウェア機能の実現に責任を持つ |\n| サイバーセキュリティ | サイバーセキュリティマネージャー | 顧客価値を拡大するビジネスの企画立案に際して、デジタル活用に伴うサイバーセキュリティリスクを検討・評価するとともに、その影響を抑制するための対策の管理・統制の主導を通じて、顧客価値の高いビジネスへの信頼感向上に貢献する |\n| | サイバーセキュリティエンジニア | 事業実施に伴うデジタル活用関連のサイバーセキュリティリスクを抑制するための対策の導入・保守・運用を通じて、顧客価値の高いビジネスの安定的な提供に貢献する |\n脚注 バリュープロポジション：顧客が求める価値を把握した上で、ビジネスのケイパビリティを踏まえて決定される、企業が製品・サービスを購入する顧客に提供する利益や、顧客がその製品・サービスを買うべき理由\n"}""",
          "AMAZON_BEDROCK_TEXT_CHUNK": """# ロール一覧
## 人材類型をさらに詳細に区分し、以下のとおりロールを設定している。
人材類型 ロール DX推進において担う責任
ビジネスアーキテクト ビジネスアーキテクト<br>（新規事業開発） 新しい事業、製品・サービスの目的を見出し、新しく定義した目的の実現方法を策定したうえで、関係者をコーディネートし関係者間の協働関係の構築をリードしながら、目的実現に向けたプロセスの一貫した推進を通じて、目的を実現する ビジネスアーキテクト<br>（既存事業の高度化） 既存の事業、製品・サービスの目的を見直し、再定義した目的の実現方法を策定したうえで、関係者をコーディネートし関係者間の協働関係の構築をリードしながら、目的実現に向けたプロセスの一貫した推進を通じて、目的を実現する ビジネスアーキテクト<br>（社内業務の高度化・効率化） 社内業務の課題解決の目的を定義し、その目的の実現方法を策定したうえで、関係者をコーディネートし関係者間の協働関係の構築をリードしながら、目的実現に向けたプロセスの一貫した推進を通じて、目的を実現する デザイナー サービスデザイナー 社会、顧客・ユーザー、製品・サービス提供における社内外関係者の課題や行動から顧客価値を定義し製品・サービスの方針（コンセプト）を策定するとともに、それを継続的に実現するための仕組みのデザインを行う UX/UIデザイナー バリュープロポジション脚注に基づき製品・サービスの顧客・ユーザー体験を設計し、製品・サービスの情報設計や、機能、情報の配置、外観、動的要素のデザインを行う グラフィックデザイナー ブランドのイメージを具現化し、ブランドとして統一感のあるデジタルグラフィック、マーケティング媒体等のデザインを行う データサイエンティスト データビジネスストラテジスト 事業戦略に沿ったデータの活用戦略を考えるとともに、戦略の具体化や実現を主導し、顧客価値を拡大する業務変革やビジネス創出を実現する データサイエンスプロフェッショナル データの処理や解析を通じて、顧客価値を拡大する業務の変革やビジネスの創出につながる有意義な知見を導出する データエンジニア 効果的なデータ分析環境の設計・実装・運用を通じて、顧客価値を拡大する業務変革やビジネス創出を実現する ソフトウェアエンジニア フロントエンドエンジニア デジタル技術を活用したサービスを提供するためのソフトウェアの機能のうち、主にインターフェース（クライアントサイド）の機能の実現に主たる責任を持つ バックエンドエンジニア デジタル技術を活用したサービスを提供するためのソフトウェアの機能のうち、主にサーバサイドの機能の実現に主たる責任を持つ クラウドエンジニア/SRE デジタル技術を活用したサービスを提供するためのソフトウェアの開発・運用環境の最適化と信頼性の向上に責任を持つ フィジカルコンピューティングエンジニア デジタル技術を活用したサービスを提供するためのソフトウェアの実現において、現実世界（物理領域）のデジタル化を担い、デバイスを含めたソフトウェア機能の実現に責任を持つ サイバーセキュリティ サイバーセキュリティマネージャー 顧客価値を拡大するビジネスの企画立案に際して、デジタル活用に伴うサイバーセキュリティリスクを検討・評価するとともに、その影響を抑制するための対策の管理・統制の主導を通じて、顧客価値の高いビジネスへの信頼感向上に貢献する サイバーセキュリティエンジニア 事業実施に伴うデジタル活用関連のサイバーセキュリティリスクを抑制するための対策の導入・保守・運用を通じて、顧客価値の高いビジネスの安定的な提供に貢献する"""
```

ちょっと分かりにくいのですが、ページ単位で「"AMAZON_BEDROCK_METADATA"の"parentText"」に格納され、"AMAZON_BEDROCK_TEXT_CHUNK"はページの内容が分割されたものが格納されています。

# まとめ

日本語の扱いに注意が必要なナレッジベースと、ちょっとどうしていいか分からなかったPDFファイルの組み合わせでしたが、Use foundation model for parsing （ついでにHierarchicalチャンキング）を使う事で、もうこれで良いんじゃないのってクオリティで処理されました。

良い感じで処理してくれたのが、ページが分割されているPDFに起因しているのか、Use foundation model for parsingに起因しているのか、IPAのPDFが綺麗だったからなのか、細かく分解して確認はしていませんが、独自の前処理をめちゃくちゃがんばって作り込む前に試す価値は十二分にありそうです。

# おまけ：OpenSearchのクエリの参考

以下のページにめちゃくちゃお世話になっています。

https://qiita.com/kieaiaarh/items/5ea4e8a188bd9814000d