アーカイブ / LLM
表記が異なる値を照合し、複数の表を統合するFuzzy Full Disjunction
Fuzzy Full Disjunction
概要
- 対応列の値を照合して代表値にそろえた後、Full Disjunctionで複数の表を統合する。
- Auto-Joinの31組では、Mistralによる値照合の適合率0.81、再現率0.86、F1スコア0.82を著者らが報告した。
- 列内の値がすでに整合していることが手法の条件であり、実務導入には誤結合と結合漏れの確認が要る。
補足:編集した模式図で仕組みを確認する
VISUAL EXPLAINER
図でつかむ、Fuzzy Full Disjunctionの仕組み
- 01対応列のある複数表
- 02値を数値化
- 03列間で値を照合
- 04代表値に統一
- 05統合表
原論文の説明をもとにした模式図です。処理の細部は省略しています。
研究の背景
複数の表に散らばる情報を分析に使うには、同じ対象の行をまとめる必要がある。Full Disjunctionは、結合相手のない行も残しつつ、対応する行の情報をまとめる表結合の方法である。
既存の方法は、結合に使う値が完全に等しいことを前提とする。そのため、都市名の誤記、国名の略号、大文字と小文字の違いがあると、同じ対象の情報が別々の行に残りうる。
手法
入力は、対応する列が決まった複数の表である。各セルの値をMistral-7B-Instructで「埋め込み」という数値の並びに変え、値同士のコサイン距離を計算する。二つの列の値について、対応する組の距離の合計が小さくなる一対一の組合せを求め、距離がしきい値を超える組は除く。
対応が見つかった値には、対応列全体で最も出現頻度が高い表記を代表値として選ぶ。例えば「Berlinn」を「Berlin」にそろえる。結合した列を次の列と照合する処理を繰り返し、最後に各表の値を代表値へ置き換える。その後、値が等しい行をFull Disjunctionで統合する。
新規性
著者らの提案は、対応する列の値をあいまいに照合し、表記を統一してからFull Disjunctionを適用する点にある。等しい値だけを結合する従来の処理を、略号や誤記を含む表にも広げる。
値の照合は二つの列から始め、結合した列を次の列と順に照合する。著者らは、複数の表にまたがる値を対応付けるこの手順を、提案手法の構成要素として示している。
従来手法との違い
比較対象のALITEは、対応する列を見つけた後、値が等しい行をFull Disjunctionで統合する。「Berlinn」と「Berlin」は異なる値なので、そのままでは別の行に残る。提案法は先に値を対応付け、表記をそろえてから同じ結合処理を行う。
提案法も、どの列同士が対応するかは決まっている状態から値の照合を始める。列の対応付け自体を改善したという主張ではない。また、あいまいな値を結び付ける分、異なる対象を誤って同一視しないか確認が要る。
実験結果
著者らはAuto-Joinの31組、17分野の表で値照合を評価した。対応列には一列当たり平均約150個の値があり、報告したしきい値は0.7である。Mistralの適合率は0.81、再現率は0.86、F1スコアは0.82。比較したモデルでは再現率とF1が最高で、適合率はLlama3と同率だった。
ALITEのデータを用いた統合後のエンティティ照合では、著者らは提案法の適合率・再現率・F1を86%・85%・85%、通常の方法を79%・83%・81%と報告した。IMDB由来の5千~3万行を使った実行時間比較では、両手法の線がほぼ重なったと述べる。確認できた本文の範囲では、秒数は読み取れない。
応用の可能性
編集上の応用案 · 論文が実証した用途とは区別しています。
編集上の応用案。複数部署の取引先一覧を統合する。入力は取引先名と国名を含む元表、および担当者が確認した対応列で、出力は同じ取引先の情報をまとめた表とする。略称と正式名の対応候補を確認してから統合する流れを想定する。
元表は部署ごとに用意し、追加学習用データは設けず、同一・別を判定した値の組と行の正解ラベルを検証用に作る。入力は表なのでセンサーは使わない。列内の表記統一と業務固有の名称に対するしきい値調整が必要かを確かめる。
応用先の候補からNauhに相談できます。
導入時の検証
導入時の検証案 · 対象データでの再評価が必要です。
導入時の検証案。対象業務の元表を少数集め、担当者が対応列を指定し、列内の表記を確認する。追加学習用データは設けず、値の組に「同一」「別」、行の組に「統合すべき」「別」の正解ラベルを付ける。センサー入力は使わず、業務固有の名称で照合しきい値を調整する。
値が完全に等しい場合だけ結合する方法を基準に、同じ表で比較する。値照合の適合率・再現率・F1、統合後の誤結合と結合漏れ、実行時間を測る。しきい値を変えた結果と誤結合の例を担当者が確認し、適用範囲を決める。
限界と課題
著者らが置く条件は、同じ列の中では同じ意味の値がすでに同じ表記になっていることだ。列をまたぐ値の照合を対象としている。著者らは今後の課題として、列の値をより適切に表すためのモデル調整を挙げる。
編集上の検証事項は、列内にも表記揺れがある場合や、似た名称の別対象がある場合の誤結合である。対応列の指定と距離のしきい値を変えた影響も確認したい。実行時間の比較には等値結合用のIMDBデータを使っており、実務の表での時間は別途測る必要がある。
出典
元のタイトル・要旨を確認する(英語)
Fuzzy Integration of Data Lake Tables
Data integration is an important step in any data science pipeline where the objective is to unify the information available in different datasets for comprehensive analysis. Full Disjunction, which is an associative extension of the outer join operator, has been shown to be an effective operator for integrating datasets. It fully preserves and combines the available information. Existing Full Disjunction algorithms only consider the equi-join scenario where only tuples having the same value on joining columns are integrated. This, however, does not realistically represent an open data scenario, where datasets come from diverse sources with inconsistent values (e.g., synonyms, abbreviations, etc.) and with limited metadata. So, joining just on equal values severely limits the ability of Full Disjunction to fully combine datasets. Thus, in this work, we propose an extension of Full Disjunction to also account for "fuzzy" matches among tuples. We present a novel data-driven approach to enable the joining of approximate or fuzzy matches within Full Disjunction. Experimentally, we show that fuzzy Full Disjunction does not add significant time overhead over a state-of-the-art Full Disjunction implementation and also that it enhances the integration effectiveness.
論文本体の取得範囲に基づく解説。AIが作成した未校閲の記事です。性能の数値は著者の評価条件に依存します。応用例と検証計画は編集上の提案です。解説更新:2026-10-01




