2
1

ai_extract関数によるテキストデータの構造化

Posted at

こちらでウォークスルーしている際に気になった関数の一つがai_extract関数でした。

テキストデータそのままですと、検索するくらいしか使い道がなかったのですが、この関数を使うことで色々な観点から構造化データを作り出すことができます。

早速トライしてみます。使うデータは自分のQiita記事です。

select * from `takaakiyayoi_catalog`.`qiita_2023`.`taka_qiita_2023` limit 100;

Screenshot 2024-03-02 at 15.52.26.png

こちらのbody列にai_extractを適用します。ai_extractの結果はSTRUCT型なので要素を取り出して列にしています。CTE(Common Table Expression)を使ってます。

CREATE OR REPLACE TABLE takaakiyayoi_catalog.qiita_2023.taka_qiita_llm AS 

WITH extracted_data AS (
  SELECT
    title,
    body,
    ai_extract(body, array("製品名", "機能名", "ジャンル")) AS extracted
  FROM
    qiita_2023.taka_qiita_2023
  LIMIT
    10
)

SELECT
  title,
  body,
  extracted.`製品名` AS product,
  extracted.`機能名` AS feature,
  extracted.`ジャンル` AS genre
FROM
  extracted_data;

テーブルを確認します。

SELECT
  title,
  product,
  feature,
  genre
FROM
  takaakiyayoi_catalog.qiita_2023.taka_qiita_llm;

Screenshot 2024-03-02 at 16.00.13.png

これまでは、テーブルを設計する際にどのようなメタデータを管理するか(ある意味構造化)を考えるのが普通でしたが、LLMを活用することでとりあえずテキストを登録しておいて、後からメタデータを抽出して構造化することができるようになりました。興味深い。

はじめてのDatabricks

はじめてのDatabricks

Databricks無料トライアル

Databricks無料トライアル

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1