大規模コーパスからセマンティックタイプを検出するための学習

データクリーニング、スキーマ マッチング、データディスカバリー、セマンティック サーチ、データビジュアライゼーションなど、多くのデータ前処理や情報検索タスクではリレーショナルテーブルにおけるデータカラムのセマンティックタイプを検出することで利点が得ることができます。 国際学会 VLDB2020 で発表したMegagon Labsの最新論文では、テーブルのコンテキストを取り入れることにより、表形式のカラムタイプを予測の現状を改善する新たな学習済みモデル、 Sato を紹介しました。

データシステムは、文字列 (STRING) 、整数 (INTEGER) 、10進数 (DECIMAL) などのアトミック・データ型を自動検出し、確実な運用とユーザーエクスペリエンスの向上を実現しています。一方、国、人口、緯度などに代表されるセマンティック・データ型は、運用上のきめ細かな情報を提供するものであり、多くのデータタスクのさらなる改善や自動化に役立つものです。

カラムのセマンティック・タイプを理解することにどのような利点があるのか?

Satoモデルの詳細に触れる前に、テーブルのカラム(あるいは他のあらゆるデータソース)のセマンティック・タイプ、実世界でのカテゴリーまたはリファレンスを検出できる能力、がデータクリーニングからセマンティックサーチやデータビジュアライゼーションまで、一見多様なタスクにどのように役立つのかを理解しましょう。変換ルールと検証ルールを通じてデータのエラー、タイポ、不整合などを修正するタスクであるデータクリーニングについて考えてみます。データクリーニングの自動化は、与えられたデータセット内のカラムのセマンティックデータタイプを検出し、適用するべき最も適切なルールを推測することで大きな利点が得ることができます。例えば、上の表の1列目と3列目に国名とその首都が含まれていることが把握できれば、エラーを修正したり、カラムの欠損値を検出し補完する作業が大幅に軽減できます。同様に、表の4列目と5列目に緯度と経度の値が入っていることが分かっていれば、人口のカラムを視覚化するマップを自動的に提案することができます。テーブルのセマンティックを照会することができれば、類似したテーブルを見つけることがはるかに容易になり、データストアにおけるデータ発見のための推奨事項をさらに補強し、生成することができます。

現在のデータ実務と課題

この利点を認識しているGoogle Data StudioPowerBITableauTalendTrifactaなど多くの商用システムは、限られた数ですがセマンティック・タイプを自動的に検出します。既存のシステムは、通常、セマンティック・タイプの検出にマッチングに基づくアプローチを用います。たとえば、正規表現によるマッチングを考えてみましょう。この手法では、事前に定義された文字列を用いてデータの値のパターンを捉え、値がそれに合致するかどうかをチェックします。日付など予測可能で単純な構造のデータタイプの検出には十分な手法です。しかし、正規表現によるマッチングなどのアプローチは汎用性に限界があります。ノイズの多い実世界のデータを処理できるほどロバストではなく、限られた数のセマンティック・タイプにしか対応できず、また、厳密な検証が行われていないデータタイプではパフォーマンスが低下します。

最近、大規模コーパスで学習させた深層学習モデルのSherlockが、上述の課題に対処する上で有望な結果を示しました。VizNetコーパスで学習した多入力のフィードフォワードニューラルネットワークであるSherlockは、カラムのヘッダ情報を前提とすることなく、その値だけで所定のカラムのセマンティックタイプを予測します。Sherlockの予測性能が他の選択肢よりも向上したことで、セマンティック・タイプの検出の精度、ロバスト性、スケールを向上させた大容量モデルの可能性が示されました。ただし、Sherlockはカラムタイプの予測でテーブルコンテキストは考慮しておらず、学習用データセットの例数が少ないタイプでは比較的低い水準の精度に留まっています。

Sato:テーブルコンテキストのモデル化によってセマンティックタイプの検出を改善

Megagon LabsがSatoを開発した主な狙いは、セマンティック・タイプが曖昧であったり、利用可能な例がほとんどないデータカラムに対して、Sherlockの予測性能を高めることにあります。これは、自動化されたタイプの検出を実際により多くのタイプに拡張するために重要です。Satoは、カラムのテーブルコンテキストに予測精度を高める追加の記述力が含まれているとの前提で動作します。

この前提の背後にある直感は単純です。テーブルは単なる無作為のカラムの集合ではなく、特定のインテント(意図)を持って作成されています。テーブル内のカラムのセマンティック・タイプは、そうしたインテントをテーマに沿って表現したものと見なすことができます。そのため、例えば同じテーブル内で特定の意味上のタイプが他のタイプよりも頻繁に共起することが予想できます。Satoの学習データセットで型の共起頻度を概観してみると、この議論を裏付けるものがあります。例えば、(city, state) や (age, weight) のようなペアは、他のペアよりも頻繁に同じテーブルに現れるのです。

いかがでしたか? Learning to Detect Semantic Types from Large Table Corporaのサマリーを日本語でお届けしました。この続きはMegagon Labs 英語ブログでお楽しみください! 

続きを読む (英語)  >>

 

(翻訳:Megagon Labs Tokyo


Share:

Share on facebook
Share on twitter
Share on linkedin
Share on reddit
Share on email

More Blog Posts: