grasys blog

問題はスキルではなかった:Gemini Enterpriseにおける表抽出のデバッグ

Gemini Enterpriseで、アップロードした文書内の表をCSV形式に変換するためのカスタムスキルを作成しました。スキルには、文書内の表を読み取り、各列の位置を維持したままCSVとして出力するよう指示していました。しかし、生成されたCSVを確認すると、一部の値が本来とは異なる列に配置されていました。スキルの指示や出力形式などを何度も見直しましたが、問題は改善しませんでした。原因はスキルではありませんでした。抽出された時点で、文書の構造がすでに崩れていたのです。

Markdown変換によって表の対応関係が崩れた仕組み

今回の検証では、アップロードしたDOCX内の表が、Markdownに似たテキスト表現としてスキルに渡されていました。
しかし、表内の空白セルの位置が保持されず、完全に省略されていたため、スキルが分析を開始する前の段階で、値が左側の列へずれていました。

データの段階構造結果
元の表Gamma | AZ |[結合セルの継続]| CY | CYField C = CY、Field D = CY
抽出されたMarkdown| Gamma | AZ | CY | CY |Field Bに相当する位置が保持されていない
生成されたCSVGamma,AZ,CY,CY,空白値が前方の列に配置され、元の列との対応が崩れた

セルの位置情報が失われた結果, Field CのデータがField Bとして現れたり、Field DのデータがField Cとして現れたりする問題が発生しました。

スキルは、この列ずれしたデータをもとにCSVを生成したため、CSV自体は正常に生成されているように見えるものの、実際には値が誤った列に配置されていました。

問題発生までの流れ

複雑なDOCX表
→ Markdownに似た形式で抽出
→ 表内の空白セルが省略
→ 値が左側へずれる
→ スキルが列ずれしたデータを受け取る

スクリーンショットによる確認

元のDOCX表

抽出されたMarkdown表現

変換後のCSV結果

まとめ

本事象に関して、スキルの修正にかなり時間を費やしましたが、現時点ではまだ改善できていません。問題が、シナリオにスキルが登場するよりも前の段階にあるためです。

今回の学びとして、Gemini Enterpriseのスキルを調整する前に、まず抽出された入力データを確認することが重要と再認識しました。
文書抽出の段階ですでに失われた表構造を、スキル側で確実に修復することはできません。


採用情報
お問い合わせ