NL2SQL が SQL 文を生成した後、クエリ結果を表示できます。より直感的な可視化のために、結果を縦棒グラフ、円グラフ、または折れ線グラフとして表示できます。PolarDB の NL2Chart 機能は、SQL クエリ結果を動的レポートに変換し、より効率的なデータの理解と分析を支援します。
概要
NL2Chart のコアフローは 2 つのステージで構成されます。まず、NL2SQL 技術を使用して自然言語のクエリを SQL 文に変換します。次に、解析された SQL 文を使用して、視覚的な分析レポートを生成します。
たとえば、NL2SQL での文が次のようになっているとします。
/*polar4ai*/SELECT * FROM PREDICT (MODEL _polar4ai_nl2sql, select 'merchant type statistics') WITH (basic_index_name='schema_index',pattern_index_name='pattern_index');生成される SQL 文は次のとおりです。
SELECT merchtype AS merchant_type,COUNT(*) AS product_count FROM hkrt_merchant_info GROUP BY merchtype;その後、NL2Chart 機能を使用できます。
構文
/*polar4ai*/SELECT * FROM PREDICT (MODEL _polar4ai_nl2chart, <SQL_statement>) WITH (usr_query = <usr_query>, result_type = <result_type>);パラメーター
パラメーター
説明
例
usr_query
ユーザーの質問。チャートを生成するための要件を指定します。
'2023年の四半期売上統計'
result_type
返される結果のタイプを指定します。現在、
'IMAGE'のみがサポートされています。'IMAGE'SQL_statement
データを取得するために NL2SQL モジュールによって生成された SQL クエリ文。
SELECT quarter, sales FROM sales_data WHERE year = 2023例:SQL クエリ結果のチャートへの変換
/*polar4ai*/SELECT * FROM PREDICT (MODEL _polar4ai_nl2chart, SELECT merchtype AS merchant_type, COUNT(*) AS merchant_count FROM hkrt_merchant_info GROUP BY merchtype) WITH (usr_query = 'merchant type statistics', result_type='IMAGE');次の結果が返されます。
http://db4ai-xxx-.aliyuncs.com/pc-xxx/OSSAccessKeyId=xxx&Expires=1716130199&Signature=KvPFzxxx説明返されるリンクは PNG イメージの URL です。この URL には権限の制限がなく、有効期間は 90 分のみです。正確な有効期限を確認するには、URL の `Expires` フィールドをご参照ください。

チャートタイプの選択とオーバーライド
モデルは、ユーザーのクエリとデータに対する理解に基づいて、適切なチャートタイプを選択します。ユーザーのクエリを使用して、モデルがチャートを作成するようにガイドできます。
次の表に、クエリタイプとチャートタイプのマッピングを示します。
質問タイプ | チャートタイプ | ユーザーの質問例 | 説明 |
カウント統計 | 縦棒グラフ | "各都市の売上をカウントする" | 数量、合計金額、頻度など、異なるカテゴリ間の数値比較を示します。 |
傾向の変化 | 折れ線グラフ | "過去 1 年間のユーザー増加傾向を表示する" | データが時間や順序付けられたカテゴリにわたってどのように変化するかを示します。連続性を強調します。 |
割合の分布 | 円グラフ | "各製品ラインの売上比率を表示する" | 全体に対する部分の割合を示します。これには、明確な合計を持つカテゴリカルデータが必要です。 |
モデルに特定のチャートタイプを強制的に使用させるには、値の末尾にコマンドを追加して usr_query パラメーターを変更します。
-- 出力 SQL を nl2chart に入力して折れ線グラフを描画
/*polar4ai*/SELECT * FROM PREDICT (MODEL _polar4ai_nl2chart,
SELECT merchtype AS merchant_type, COUNT(*) AS merchant_count FROM hkrt_merchant_info GROUP BY merchtype
) WITH (usr_query = 'merchant type statistics, draw a line chart', result_type='IMAGE');
-- 出力 SQL を nl2chart に入力して円グラフを描画
/*polar4ai*/SELECT * FROM PREDICT (MODEL _polar4ai_nl2chart,
SELECT merchtype AS merchant_type, COUNT(*) AS merchant_count FROM hkrt_merchant_info GROUP BY merchtype
) WITH (usr_query = 'merchant type statistics, draw a pie chart', result_type='IMAGE');
使用に関する推奨事項
NL2Chart と NL2SQL 機能を併用することで、自然言語のクエリからチャートを自動的に生成できます。
データがチャートタイプと互換性があることを確認してください。たとえば、円グラフには割合データが必要であり、折れ線グラフには順序付けられた時系列データが必要です。
チャートタイプの自動マッチング:システムは、クエリ内の「カウント」、「傾向」、「割合」などのキーワードに基づいて、適切なチャートタイプを推奨します。
チャートタイプの手動指定:デフォルトの推奨が要件を満たさない場合は、
usr_queryパラメーターを変更してチャートタイプを明示的に指定できます。
これらの推奨事項に従うことで、必要な統計チャートを効率的に生成できます。