目次
Gemini Enterpriseで、アップロードした文書内の表をCSV形式に変換するためのカスタムスキルを作成しました。スキルには、文書内の表を読み取り、各列の位置を維持したままCSVとして出力するよう指示していました。しかし、生成されたCSVを確認すると、一部の値が本来とは異なる列に配置されていました。スキルの指示や出力形式などを何度も見直しましたが、問題は改善しませんでした。原因はスキルではありませんでした。抽出された時点で、文書の構造がすでに崩れていたのです。
Markdown変換によって表の対応関係が崩れた仕組み
今回の検証では、アップロードしたDOCX内の表が、Markdownに似たテキスト表現としてスキルに渡されていました。
しかし、表内の空白セルの位置が保持されず、完全に省略されていたため、スキルが分析を開始する前の段階で、値が左側の列へずれていました。
| データの段階 | 構造 | 結果 |
| 元の表 | Gamma | AZ |[結合セルの継続]| CY | CY | Field C = CY、Field D = CY |
| 抽出されたMarkdown | | Gamma | AZ | CY | CY | | Field Bに相当する位置が保持されていない |
| 生成されたCSV | Gamma,AZ,CY,CY,空白 | 値が前方の列に配置され、元の列との対応が崩れた |
セルの位置情報が失われた結果, Field CのデータがField Bとして現れたり、Field DのデータがField Cとして現れたりする問題が発生しました。
スキルは、この列ずれしたデータをもとにCSVを生成したため、CSV自体は正常に生成されているように見えるものの、実際には値が誤った列に配置されていました。
問題発生までの流れ
複雑なDOCX表
→ Markdownに似た形式で抽出
→ 表内の空白セルが省略
→ 値が左側へずれる
→ スキルが列ずれしたデータを受け取る
スクリーンショットによる確認
元のDOCX表

抽出されたMarkdown表現

変換後のCSV結果

まとめ
本事象に関して、スキルの修正にかなり時間を費やしましたが、現時点ではまだ改善できていません。問題が、シナリオにスキルが登場するよりも前の段階にあるためです。
今回の学びとして、Gemini Enterpriseのスキルを調整する前に、まず抽出された入力データを確認することが重要と再認識しました。
文書抽出の段階ですでに失われた表構造を、スキル側で確実に修復することはできません。




