Simple Science

最先端の科学をわかりやすく解説

# コンピューターサイエンス# 機械学習

LLMを活用して効率的なタブularデータのアノテーションを行う

この論文は、最小限の人間の手間で表形式データに注釈を付けるためのLLMを使った方法を紹介してるよ。

― 2 分で読む


LLMがデータアノテーショLLMがデータアノテーションプロセスを変えるのデータに注釈を付ける。大規模言語モデルを使って、効率的に表形式
目次

テーブルデータは日常生活やオンラインに溢れてるけど、このデータにラベル付けするのはいつもたくさんの人手が必要で、機械学習のタスクにスケールしづらいんだ。この論文では、テーブルデータを理解してラベル付けするために大きな言語モデル(LLM)を使う新しい方法を紹介してる。

この方法を使えば、大量のテーブルデータに素早く簡単にラベルを付けられるんだ。特定のニーズに応じてラベル付けの仕方をカスタマイズできて、SQLクエリの作成やテーブル内の入力-ターゲット列の特定みたいな例を示してる。私たちは、LLMによって注釈が付けられた32,119のデータベースを含む「AnnotatedTables」というデータセットを共有してる。このデータには、405,616の有効なSQLプログラムが含まれていて、テーブルデータに関連する中で最大のSQLデータセットで、クエリのテストが可能だよ。

私たちの方法とデータセットがどれだけ役立つかを示すために、2つのフォローアップ研究を行った。

  1. LLMがSQLプログラムを、以前に学習したことのない別のプログラミング言語であるRelに変換できるかどうかを見たんだ。実行フィードバックに基づいてプロンプトを調整することで、ほんの数例で decentな翻訳ができることがわかったよ。

  2. LLMによって特定されてラベル付けされた2,720のテーブルで、ニューラルネットワークモデルのTabPFNがどれだけうまく機能するかを評価した。全体として、TabPFNはベースライン法と似たパフォーマンスを示したけど、結果はテーブルごとに大きく異なることがあったので、状況によってはどちらのモデルも役立つかもね。

私たちの研究は、LLMが大量の多様なテーブルデータのラベル付けプロセスを効率化するのにどれだけ効果的かを強調してる。

テーブルデータは、金融、医療、マーケティングなどの分野で使われる非常に一般的なデータ形式なんだ。テーブル形式は構造化データをリレーショナルデータベースに整理するのを可能にする。機械学習モデルはこれらのデータベースのSQLクエリを理解し生成することができ、LLMはこの分野で重要な方法になっている。最近の研究では、LLMが大量のオープンソースSQLコードで学習してるおかげで、うまく構築されたプロンプトを使うとSQLの生成が得意だってわかってるよ。

でも、SQLコードだけではすべてのテーブル機械学習の課題には不十分なんだ。たとえば、テキストをSQLに変換するモデルのテストをする時、成功率を測るにはテーブルデータとSQLコードの両方が必要なんだよ。SQLコードかテーブルデータのどちらかがたくさんあっても、両方を同時に集めるのは結構難しいんだよね。

この問題が、私たちが「テーブルデータセット注釈問題」と呼ぶものにつながるんだ。過去の人気データセット、例えばWikiSQLやSpiderは、ラベル付けの方法が限られているから、オンラインで利用できる膨大なテーブルデータやSQLコードを活かせていないんだよ。WikiSQLはWikipediaからテーブルデータを集めてるけど、実際のテーブルデータの複雑さを捉えられてない。SQLプログラムはAmazon Mechanical Turkというサービスを通じて手動で注釈され、WikiSQLでは各SQLプログラムが1つのテーブルだけをクエリしているんだ。

一方、Spiderは複数のテーブルにまたがる複雑なクエリを含んでるけど、それでも注釈は少数の大学生に頼ってる。人間による注釈は高くついて時間がかかるから、これらのデータセットを拡張するのは難しいんだ。

最近の研究では、LLMが指示からSQLコードを生成できることが示されて、LLMが他のタイプのデータにラベル付けできて、高価な人間のラベル付けの代わりになるかもしれないと考えるようになった。LLMが複数のタスクをこなす能力からインスパイアされて、テーブルデータセットの注釈問題に取り組む可能性が見えてきたんだ。

この論文では、LLMの注釈で埋め尽くされた大規模なテーブルデータセット「AnnotatedTables」を紹介するよ。時間がかかる人間の注釈のボトルネックを避けるために、LLMを使ってテーブルデータを解釈し、合成ラベルを生成するんだ。私たちのデータセットには、実際のアプリケーションで見られる多様なテーブルデータが含まれていて、他のデータソースにも十分に一般的なんだ。

プロンプトの設計を工夫することで、前例なしでLLMにSQLコードを生成させることができて、このアプローチは人間の手間をかけずに包括的なデータセットを迅速かつコスト効率よく構築する方法として証明されてる。LLMによって生成されたSQLコードの質を確保するために、テーブルデータ上でクエリを実行して、その生成されたSQLクエリの結果を確認することで検証してる。

AnnotatedTablesは、対応するテーブルデータに関連する実行可能なSQLコードの最大のコレクションになったよ。LLMが提供できる注釈はSQLプログラムだけじゃない。一部のテーブル列は予測の入力として機能するかもしれなくて、LLMを使ってこれらの入力-ターゲットの関係を特定することができるから、テーブル分類に利用できるんだ。

私たちの研究は、LLMがテーブルデータセットを作成するプロセスを簡素化し自動化できることを示してる。データセットの有用性と質を検証するために、さらに2つの研究を行った。まず、LLMが例を通じて新しいプログラミング言語を学ぶ能力を調べた。次に、さまざまな実データを使って最近の分類モデルであるTabPFNの評価を拡大した。この2つの研究は、LLM注釈が私たちのデータセットを特定の研究目標に適応させる方法を強調してる。

要約すると、私たちの研究の主な貢献は以下の通り:

  • 大規模な現実のテーブルデータを理解し注釈するためにLLMを使用した方法を提示して、従来の人間の注釈の課題に効果的に取り組んでる。
  • 現在、実行可能なテーブルデータを持つ最大のSQLデータセットであるAnnotatedTablesというクロスドメインデータセットを導入してる。
  • LLMが生成した注釈の質を網羅的に評価し、フォローアップ研究を通じてAnnotatedTablesの研究可能性を示してる。
  • SQLをRelプログラムに適切な精度で翻訳するためにLLMに教えるIncremental Prompt Engineeringという技術を紹介してる。この技術では、LLMが以前に学習していなかった言語に対しても有効だよ。
  • LLMによって注釈付けされた入力-ターゲット列を利用して、さまざまなテーブル分類タスクにおけるTabPFNのパフォーマンスを評価してる。

関連研究セクションでは、データベースシステムと深層学習の交差点について話してる。言語モデルは自然言語の説明からSQLクエリを生成するように訓練できる。さらに、ニューラルネットワークはクエリによって返される行数を推定し、最適化を実装するのにも使用できる。他のデータベース関連の深層学習アプリケーションには、クエリ応答や異常検出もあるよ。

これらすべての分野は、AnnotatedTablesのような大規模なマルチドメインデータセットから恩恵を受けることができる。LLMの注釈は、大型トレーニングデータセットを取得するために活用でき、テキストからSQL生成や基数推定といったタスクには不可欠なんだ。私たちのデータセットはクエリを実行するサポートがあるから、精度を検証するために必要だよ。

現在、ほとんどの一般的なSQLデータセットは人間の注釈に依存してるけど、私たちのアプローチはLLMによって注釈付けされたテーブルデータセットを初めて作成したものなんだ。この革新によって、ウェブ上にあるものと同じかそれを超える量の注釈を生成できるようになった。既存のSQLデータセットには英語の説明が含まれていることが多いけど、私たちはその質を評価したり確認したりしないよ。SQLプログラムは実行によって検証できるけど、英語の説明はできないからね。

LLMはテキストフィールドにおけるデータ注釈にも以前に適用されてて、人間の注釈者よりもよくできることが多いんだ。危険な発言を検出したり、必要な注釈として自然言語の説明を提供したりすることもできるよ。さらに、LLMは自然言語生成の評価に使用されて、人間の評価と密接に関連しているんだ。

私たちのデータセットを構築するにあたって、公共のテーブルデータを集めることから始めた。私たちの目標は、オンラインで利用可能な無注釈データの豊かさを利用することだよ。実際のデータサイエンスのアプリケーションから、キュレーションされたテーブルに焦点を当てることにしたんだ。Kaggle、データサイエンスプラットフォームが私たちの基準に非常によく合っていることがわかった。Kaggleは、データ愛好者やプロフェッショナルのコミュニティによって群衆調達されたテーブルをホストしてる。ユーザーはさまざまな実世界のトピックに関するデータセットを共有し、分析できるんだ。

ユーザーからの評価や洞察は、使いやすく信頼できるデータのキュレーションに貢献してる。個別のKaggleデータセットは以前の研究で調べられたことがあるけど、私たちのアプローチはそれらをまとめて調べることによって、質の高い大規模で多様なデータコレクションを明らかにしたんだ。Kaggleの公共APIを使って、10メガバイトから1ギガバイトのデータセットを検索し、データ収集と処理を早くすることができたよ。また、すべてのデータセットが最低限の使いやすさの評価を満たしていることを確認して、低品質のデータセットをフィルタリングした。合計で、70,000のKaggleデータセットを収集して、さらなる処理を行ったんだ。

LLMでデータに注釈を付けるために使った方法は柔軟で自動化されていて、Kaggleデータセット以外の他のソースにも適用できる可能性があるよ。

LLMがテーブルデータを解釈するのを助けるために、プロンプトの一部として各データベースにテキストの説明を作成した。完璧なテーブルをプロンプトに入れると、LLMの入力制限を超える可能性があるので、基本的なスキーマと例行を含む短い説明を選んだんだ。スキーマはテーブルの構造を説明し、テーブル名、列名、各列のデータ型をリストアップする。

スキーマを抽出するために、Kaggleデータセット内のCSVファイルにテーブルデータが格納されていることを発見した。CSVファイルにはテーブル名が含まれていないから、その目的でファイル名に頼った。CSVファイルのヘッダ行は列名を提供してくれる。初期の検査で、列名とファイル名が通常は明確で説明的で、LLMがテーブルの情報を簡単に解釈できることがわかったよ。

既存のデータ分析ソフトウェアpandasを使って、テーブルを読み込んで列のデータ型を導き出した。このスキーマ抽出方法は効果的で実用的だった。一部のKaggleデータセットには複数のテーブルが含まれているかもしれないから、複数のスキーマを作成する必要があるんだ。これらのスキーマをまとめることで、データベースの構造を概説できるんだ。つまり、何個のテーブルがあるか、どの列にどのデータ型が含まれているか、JOINキーとして機能する列があるかどうかを示してる。

テーブルの例行も重要で、LLMがSQLクエリを効果的に構築するのを助けるために、WHERE文などのフィルタリングに使えるんだ。例えば、SELECT * FROM CUSTOMERS WHERE COUNTRY='MEXICO'というクエリでは、テーブル名と列名はスキーマから導き出され、値'MEXICO'はテーブルの行に見つかることになる。だから、LLMがSQLでWHERE文を正確に作成できるように、スキーマに加えて例行を提供してる。

例行には、各テーブルの最初の行を選んで、それをLLMに対してテキスト形式に変換した。私たちのスキーマと例行の説明はほとんどのテーブルデータ形式に使えるくらい幅広いよ。

ゼロショット学習を通じて、LLMに私たちの収集したテーブルをクエリするSQLコードを生成させたんだ、これが注釈の一つのタイプだよ。現在、OpenAIのChatGPTはさまざまなタスクに対して非常に効率の良いLLMの一つだから、それを注釈付けのためのLLMとして選んだんだ。

各データベースのためにSQLを生成する際には、指示、データベーススキーマ、各テーブルの例行を含むプロンプトを作成するんだ。指示では、LLMに「このデータベースにアクセスするために典型的なユーザーが書くかもしれないSQLクエリを生成する」ように求めている。また、複数のテーブルがある場合は特に、データセットの価値を向上させるために、より複雑なクエリを求めるんだ。

テーブルデータのあるすべてのKaggleデータセットに対して、LLMに15のSQLプログラム注釈と自然言語の説明を生成するように促した。

生成されたSQLプログラムの中には、不正確なものもあるかもしれないから、これらの注釈の質を確認するための仕組みを整えた。AnnotatedTablesはテーブルデータにアクセスできるから、SQLプログラムを実行して検証したよ。もしSQLプログラムが実行されて非空の結果を返したら、有効とみなす。空の結果を返すプログラムは、そのようにマークされる。SQLからRelへの翻訳に関するフォローアップ研究で正確な比較を行うために、空の結果を返すSQLクエリは使わないようにしてる。

私たちは、LLMによって生成された英語の説明を検証していないことを研究で認識したよ。すべての中間データアーティファクトはAnnotatedTablesの一部として公開されている。

注釈の質を調べた結果、LLMが人間の意図を反映するSQLプログラムを効果的に作成できることがわかった。LLMが生成したSQLプログラムの有効率は82.25%で、全体的に良い質を示しているよ。LLMは、さまざまなSQLコンポーネントを含む複雑なクエリを作成できたんだ。

JOINを除くほぼすべてのSQLコンポーネントカテゴリーで、有効なクエリの割合が50%を超えた。ただ、JOINクエリは49.47%の有効率にとどまり、複数のテーブルを結合する際の理解やプログラミングスキルの向上が必要かもしれない。

特定の単純なSQLステートメント、例えばSELECT * FROM tableが頻繁に現れ、これは有効なSQLプログラムの大部分(48.4%)を占めた。このようなステートメントは有効だけど、学習のためにはもっと複雑なクエリの方が情報が豊かだよ。

私たちのプロンプトでは、LLMに「比較的高い複雑さを持つSQLプログラムを生成するように」と指示したけど、ある程度の成功はあったよ。ただ、複雑で正確なクエリを作成するという相矛盾する目標があるため、LLMが正確さを維持するために単純なクエリを生成することがあるかもしれない。

示されたように、不正なSQL注釈はさまざまな理由で発生することがある。時には、存在しないテーブル名を作成したり、プレースホルダーテキストを残したり、CSVファイル中の列名が数値の場合もあって、それはSQLクエリでは無効なんだ。また、いくつかの正しいSQLプログラムが空の結果を返すこともあるけど、実行精度を測るためには無効とラベル付けされる。

私たちはAnnotatedTablesを使って、LLMが新しいプログラミング言語Relを学ぶ能力を研究したよ。

オープンソースのRelコードの例が限られているので、自然な解決策として少数ショットのインコンテキスト学習に頼ったんだ。ICLは研究されてきたけど、異なるプログラミング言語間の翻訳はユニークな研究的挑戦なんだ。

AnnotatedTablesのすべてのSQLプログラムは実行できるから、翻訳の精度を効果的に評価することができるよ。SQLプログラムは典型的なデータベースの使用を模倣していて、これらのクエリを翻訳することで、次の研究に価値があるRelプログラムの大規模なデータセットを作成することができるんだ。

新しいプログラミング言語を学ぶ際、十分なトレーニングデータを得るのは難しいことがある。私たちの結果は、インコンテキストの例が増えるにつれて翻訳の精度が着実に向上し、45の翻訳例で約40%の精度に達することを示してる。

SQLからRelへの翻訳タスクを定義するために、特定のテーブルで動作する実行可能なSQLプログラムから始める。私たちの目標は、SQLプログラムをRelプログラムに翻訳できるモデルを開発することで、両方が同じテーブルで実行されたときに同じクエリ結果を得られるようにすることだよ。

実行精度は、翻訳されたSQLとRelプログラムが同じ非空の結果を生成する頻度を測るんだ。ただ、SQLとRelプログラムを直接比較するのは、言語の違いから難しいこともある。

翻訳能力を向上させるために、Incremental Prompt Engineering(IPE)という技術を導入したよ。これを使って、実行フィードバックを利用して学習した翻訳例を洗練させていったんだ。最初にいくつかのSQLからRelへの翻訳例を用意して、言語モデルに見たことのないSQLプログラムを翻訳させて、各ステップの実行精度を計算した。

フィードバックによって、LLMが翻訳に失敗するところを特定できて、その例を次のトレーニングラウンドに追加することで、徐々に例の数を増やしながら、満足のいく翻訳精度に到達するんだ。

IPEプロセスを通じて、より多くの例を追加するほど翻訳精度が向上することを観察した。一度30例を超えると、さらなる例を追加しても効果は減少し、40%の精度のあたりで収束することが分かったよ。

TabPFNの評価では、AnnotatedTablesを使って、多くの多様なデータセットでの分類性能をテストしたんだ。TabPFNは、合成データを用いてベイズ事前から訓練された新しいタイプのニューラルネットワークだよ。

一度訓練されると、すべてのデータを一度に処理して、単一のフォワードパスで予測を行うんだ。小規模なベンチマークでの優れた結果を考えると、TabPFNが実世界のテーブルデータの複雑さに対してどのように機能するかが気になったんだ。

TabPFNは標準的な手法やいくつかの先進的なAutoMLフレームワークと比較されて、さまざまなデータセットを使ってその耐性を評価するよ。2,720の分類問題への評価を拡大することで、以前のベンチマークを大きく超えていくんだ。

実験の設定では、TabPFNの元の著者が使用したパラメータを維持し、AutoGluonを1分または5分の時間予算で訓練して、各テーブルごとに一度だけデータを分割して時間を節約した。

Kaggleデータセット内の適切な入力およびターゲット列を特定するために、LLMの注釈を利用してる。このプロセスにより、入力列が数値で、ターゲットがカテゴリカルであることが確保されて、効果的な分類が可能になるんだ。

私たちの結果では、TabPFNはテストした2,720の分類問題全体で堅実なパフォーマンスを示していて、AutoGluonと比較しても重要な結果が出てる。これにより、LLMが入力-ターゲット列を正確に特定し、効果的な分類タスクに必要なテーブルの構造を提供できることが示されたよ。

最後に、AnnotatedTablesを使ってながら、LLMが機械学習データセットを作成する方法に革命をもたらす可能性を強調したんだ。データセットの注釈プロセスを自動化できる能力はコストを削減し、研究者が特定のプロジェクトに必要なカスタマイズされたデータを得るのを簡単にすることで、新しいデータサイエンスの道を開くことができるんだ。

オリジナルソース

タイトル: AnnotatedTables: A Large Tabular Dataset with Language Model Annotations

概要: Tabular data is ubiquitous in real-world applications and abundant on the web, yet its annotation has traditionally required human labor, posing a significant scalability bottleneck for tabular machine learning. Our methodology can successfully annotate a large amount of tabular data and can be flexibly steered to generate various types of annotations based on specific research objectives, as we demonstrate with SQL annotation and input-target column annotation as examples. As a result, we release AnnotatedTables, a collection of 32,119 databases with LLM-generated annotations. The dataset includes 405,616 valid SQL programs, making it the largest SQL dataset with associated tabular data that supports query execution. To further demonstrate the value of our methodology and dataset, we perform two follow-up research studies. 1) We investigate whether LLMs can translate SQL programs to Rel programs, a database language previously unknown to LLMs, while obtaining the same execution results. Using our Incremental Prompt Engineering methods based on execution feedback, we show that LLMs can produce adequate translations with few-shot learning. 2) We evaluate the performance of TabPFN, a recent neural tabular classifier trained on Bayesian priors, on 2,720 tables with input-target columns identified and annotated by LLMs. On average, TabPFN performs on par with the baseline AutoML method, though the relative performance can vary significantly from one data table to another, making both models viable for practical applications depending on the situation. Our findings underscore the potential of LLMs in automating the annotation of large volumes of diverse tabular data.

著者: Yaojie Hu, Ilias Fountalis, Jin Tian, Nikolaos Vasiloglou

最終更新: 2024-06-24 00:00:00

言語: English

ソースURL: https://arxiv.org/abs/2406.16349

ソースPDF: https://arxiv.org/pdf/2406.16349

ライセンス: https://creativecommons.org/licenses/by/4.0/

変更点: この要約はAIの助けを借りて作成されており、不正確な場合があります。正確な情報については、ここにリンクされている元のソース文書を参照してください。

オープンアクセスの相互運用性を利用させていただいた arxiv に感謝します。

著者たちからもっと読む

類似の記事