(57)【要約】【課題】構造化されていない表データを自動で構造化する。【解決手段】構造化された表データと、構造化された表データから構築された、表データの各行及び各列が同一の測度の観測値又は同一の次元の観測値のいずれを含むかを識別するための次元・測度モデルと、を保持する記憶部と、次元・測度モデルに基づいて、入力された構造化されていない表データの各行及び各列が同一の測度の観測値又は同一の次元の観測値のいずれを含むかを識別する次元・測度識別部と、構造化された表データに基づいて、同一の測度の観測値を含むと判定された行及び列の測度の識別情報を同定する測度同定部と、構造化された表データに基づいて、同一の次元の観測値を含むと判定された行及び列の次元名の識別情報を同定する次元名同定部と、構造化された表データに基づいて、同一の次元の観測値を含むと判定された行及び列の次元値の識別情報を特定する次元値同定部と、を有する。【選択図】図１
2019032704.tif 000002
【特許請求の範囲】
【請求項１】
表データ構造化システムであって、
訓練データである構造化された表データと、前記構造化された表データから構築された、表データの各行及び各列が同一の測度の観測値又は同一の次元の観測値のいずれを含むかを識別するための次元・測度モデルと、を保持する記憶部と、
前記次元・測度モデルに基づいて、入力された構造化されていない表データの各行及び各列が同一の測度の観測値又は同一の次元の観測値のいずれを含むかを識別する次元・測度識別部と、
前記構造化された表データに基づいて、前記同一の測度の観測値を含むと判定された行及び列の測度の識別情報を同定する測度同定部と、
前記構造化された表データに基づいて、前記同一の次元の観測値を含むと判定された行及び列の次元名の識別情報を同定する次元名同定部と、
前記構造化された表データに基づいて、前記同一の次元の観測値を含むと判定された行及び列の次元値の識別情報を特定する次元値同定部と、を有することを特徴とする表データ構造化システム。
【請求項２】
請求項１に記載の表データ構造化システムであって、
前記次元・測度識別部は、
前記構造化されていない表データのうち、前記観測値を含まない表頭行及び表側列の各セルに含まれる文字列の意味を示す意味情報、前記各表頭行及び表側列の前記表データにおける配置を示す構文情報、及び、前記各表頭行及び表側列のセルに含まれる文字列と前記構造化されていない表データに付随するテキスト情報との関連を示す関連テキスト情報を含む特徴情報を生成し、
前記特徴情報を前記次元・測度モデルに適用することによって、前記各表頭行及び表側列が測度のラベルを含む行及び列であるか次元値のラベルを含む行及び列であるかを判定し、
前記測度のラベルを含むと判定した表頭行のセルに対応する観測値の列、及び、前記測度のラベルを含むと判定した表側列のセルに対応する観測値の行を、それぞれ、同一の測度の観測値を含む列及び行と識別し、前記次元値のラベルを含むと判定した表頭行のセルに対応する観測値の列、及び、前記次元値のラベルを含むと判定した表側列のセルに対応する観測値の行を、それぞれ、同一の次元の観測値を含む列及び行と識別することを特徴とする表データ構造化システム。
【請求項３】
請求項２に記載の表データ構造化システムであって、
前記意味情報は、前記各セルに含まれる文字列全体、前記各セルに含まれる文字列を構成する各形態素、及び、前記各セルに含まれる文字列を構成する形態素のうち末尾の形態素、の少なくともいずれかを含むことを特徴とする表データ構造化システム。
【請求項４】
請求項２に記載の表データ構造化システムであって、
前記構造化された表データに基づいて前記次元・測度モデルを生成する次元・測度学習部をさらに有し、
前記構造化された表データは、前記観測値を含まない表頭行及び表側列の各セルに含まれる文字列と、前記文字列が測度のラベルであるか次元値のラベルであるかを示す情報と、前記測度及び前記次元値の識別情報と、を対応付ける情報を含み、
前記次元・測度学習部は、
前記構造化された表データのうち、前記観測値を含まない表頭行及び表側列に関する前記意味情報、前記構文情報及び前記関連テキスト情報を含む前記特徴情報を生成し、
前記特徴情報が入力されると前記表頭行及び表側列が測度のラベルを含む行及び列であるか次元値のラベルを含む行及び列であるかを識別し、その結果を出力する識別器を、前記構造化された表データと、前記構造化された表データから生成した前記特徴情報と、に基づいて、前記次元・測度モデルとして生成することを特徴とする表データ構造化システム。
【請求項５】
請求項４に記載の表データ構造化システムであって、
前記構造化された表データは、前記次元値の識別情報と前記次元名の識別情報とを対応付ける情報をさらに含み、
前記測度同定部は、前記構造化された表データに含まれるラベルの文字列と、前記同一の測度の観測値を含むと判定された行及び列に対応する表側列及び表頭行のセルの文字列と、の類似性に基づいて、前記同一の測度の観測値を含むと判定された行及び列の測度の識別情報を同定し、
前記次元名同定部は、前記構造化された表データに含まれるラベルの文字列と、前記同一の次元の観測値を含むと判定された行及び列に対応する表側列及び表頭行のセルの文字列と、の類似性に基づいて、前記同一の次元の観測値を含むと判定された行及び列の次元名の識別情報を同定し、
前記次元値同定部は、前記構造化された表データに含まれるラベルの文字列と、前記同一の次元の観測値を含むと判定された行及び列に対応する表側列及び表頭行のセルの文字列と、の類似性に基づいて、前記同一の次元の観測値を含むと判定された行及び列の次元値の識別情報を同定することを特徴とする表データ構造化システム。
【請求項６】
請求項５に記載の表データ構造化システムであって、
前記構造化された表データは、各観測値と、前記各観測値の測度の識別情報と、前記各観測値の次元値の識別情報と、を対応付ける情報をさらに含み、
前記測度同定部が前記同一の測度の観測値を含むと判定された行及び列の測度の識別情報を同定し、前記次元名同定部が前記同一の次元の観測値を含むと判定された行及び列の次元名の識別情報を同定した後に、前記次元値同定部が、前記同一の次元の観測値を含むと判定された行及び列の観測値と、前記構造化された表データに含まれる観測値のうち、前記同一の次元の観測値を含むと判定された行及び列の観測値として同定された測度と同一の測度の観測値と、の類似性に基づいて、前記同一の次元の観測値を含むと判定された行及び列の次元値の識別情報を同定することを特徴とする表データ構造化システム。
【請求項７】
請求項５に記載の表データ構造化システムであって、
画像情報を出力する出力部をさらに有し、
前記次元・測度モデルとして生成された前記識別器は、前記特徴情報が入力されると、前記各セルに含まれる文字列が測度のラベルであると識別した結果の確信度と、次元値のラベルであると識別した結果の確信度と、を出力し、
前記測度同定部、前記次元名同定部及び前記次元値同定部は、それぞれ、複数の同定された識別情報と、前記類似性に基づく前記同定された識別情報の確信度と、を出力し、
前記出力部は、
前記各セルに含まれる文字列が測度のラベルであると識別した結果及び前記各セルに含まれる文字列が測度のラベルであると識別した結果を、前記確信度が高い順に表示し、前記測度同定部、前記次元名同定部及び前記次元値同定部のそれぞれが同定した複数の識別情報を前記確信度が高い順に表示する画面を出力することを特徴とする表データ構造化システム。
【請求項８】
計算機システムが実行する表データ構造化方法であって、
前記計算機システムは、プロセッサと、記憶部と、を有し、
前記記憶部は、訓練データである構造化された表データと、前記構造化された表データから構築された、表データの各行及び各列が同一の測度の観測値又は同一の次元の観測値のいずれを含むかを識別するための次元・測度モデルと、を保持し、
前記表データ構造化方法は、
前記プロセッサが、前記次元・測度モデルに基づいて、入力された構造化されていない表データの各行及び各列が同一の測度の観測値又は同一の次元の観測値のいずれを含むかを識別する第１手順と、
前記プロセッサが、前記構造化された表データに基づいて、前記同一の測度の観測値を含むと判定された行及び列の測度の識別情報を同定する第２手順と、
前記プロセッサが、前記構造化された表データに基づいて、前記同一の次元の観測値を含むと判定された行及び列の次元名の識別情報を同定する第３手順と、
前記プロセッサが、前記構造化された表データに基づいて、前記同一の次元の観測値を含むと判定された行及び列の次元値の識別情報を特定する第４手順と、を含むことを特徴とする表データ構造化方法。
【請求項９】
請求項８に記載の表データ構造化方法であって、
前記第１手順において、前記プロセッサは、
前記構造化されていない表データのうち、前記観測値を含まない表頭行及び表側列の各セルに含まれる文字列の意味を示す意味情報、前記各表頭行及び表側列の前記表データにおける配置を示す構文情報、及び、前記各表頭行及び表側列のセルに含まれる文字列と前記構造化されていない表データに付随するテキスト情報との関連を示す関連テキスト情報を含む特徴情報を生成し、
前記特徴情報を前記次元・測度モデルに適用することによって、前記各表頭行及び表側列が測度のラベルを含む行及び列であるか次元値のラベルを含む行及び列であるかを判定し、
前記測度のラベルを含むと判定した表頭行のセルに対応する観測値の列、及び、前記測度のラベルを含むと判定した表側列のセルに対応する観測値の行を、それぞれ、同一の測度の観測値を含む列及び行と識別し、前記次元値のラベルを含むと判定した表頭行のセルに対応する観測値の列、及び、前記次元値のラベルを含むと判定した表側列のセルに対応する観測値の行を、それぞれ、同一の次元の観測値を含む列及び行と識別することを特徴とする表データ構造化方法。
【請求項１０】
請求項９に記載の表データ構造化方法であって、
前記意味情報は、前記各セルに含まれる文字列全体、前記各セルに含まれる文字列を構成する各形態素、及び、前記各セルに含まれる文字列を構成する形態素のうち末尾の形態素、の少なくともいずれかを含むことを特徴とする表データ構造化方法。
【請求項１１】
請求項９に記載の表データ構造化方法であって、
前記構造化された表データは、前記観測値を含まない表頭行及び表側列の各セルに含まれる文字列と、前記文字列が測度のラベルであるか次元値のラベルであるかを示す情報と、前記測度及び前記次元値の識別情報と、を対応付ける情報を含み、
前記表データ構造化方法は、
前記プロセッサが、前記構造化された表データのうち、前記観測値を含まない表頭行及び表側列に関する前記意味情報、前記構文情報及び前記関連テキスト情報を含む前記特徴情報を生成する第４手順と、
前記プロセッサが、前記特徴情報が入力されると前記表頭行及び表側列が測度のラベルを含む行及び列であるか次元値のラベルを含む行及び列であるかを識別し、その結果を出力する識別器を、前記構造化された表データと、前記構造化された表データから生成した前記特徴情報と、に基づいて、前記次元・測度モデルとして生成する第５手順と、をさらに含むことを特徴とする表データ構造化方法。
【請求項１２】
請求項１１に記載の表データ構造化方法であって、
前記構造化された表データは、前記次元値の識別情報と前記次元名の識別情報とを対応付ける情報をさらに含み、
前記第２手順において、前記プロセッサは、前記構造化された表データに含まれるラベルの文字列と、前記同一の測度の観測値を含むと判定された行及び列に対応する表側列及び表頭行のセルの文字列と、の類似性に基づいて、前記同一の測度の観測値を含むと判定された行及び列の測度の識別情報を同定し、
前記第３手順において、前記プロセッサは、前記構造化された表データに含まれるラベルの文字列と、前記同一の次元の観測値を含むと判定された行及び列に対応する表側列及び表頭行のセルの文字列と、の類似性に基づいて、前記同一の次元の観測値を含むと判定された行及び列の次元名の識別情報を同定し、
前記第４手順において、前記プロセッサは、前記構造化された表データに含まれるラベルの文字列と、前記同一の次元の観測値を含むと判定された行及び列に対応する表側列及び表頭行のセルの文字列と、の類似性に基づいて、前記同一の次元の観測値を含むと判定された行及び列の次元値の識別情報を同定することを特徴とする表データ構造化方法。
【請求項１３】
請求項１２に記載の表データ構造化方法であって、
前記構造化された表データは、各観測値と、前記各観測値の測度の識別情報と、前記各観測値の次元値の識別情報と、を対応付ける情報をさらに含み、
前記第２手順及び前記第３手順が実行された後に、前記第４手順において、前記プロセッサが、前記同一の次元の観測値を含むと判定された行及び列の観測値と、前記構造化された表データに含まれる観測値のうち、前記同一の次元の観測値を含むと判定された行及び列の観測値として同定された測度と同一の測度の観測値と、の類似性に基づいて、前記同一の次元の観測値を含むと判定された行及び列の次元値の識別情報を同定することを特徴とする表データ構造化方法。
【請求項１４】
請求項１２に記載の表データ構造化方法であって、
前記計算機システムは、画像情報を出力する出力部をさらに有し、
前記第１手順において、前記次元・測度モデルとして生成された前記識別器は、前記特徴情報が入力されると、前記各セルに含まれる文字列が測度のラベルであると識別した結果の確信度と、次元値のラベルであると識別した結果の確信度と、を出力し、
前記第２手順から前記第４手順のそれぞれにおいて、前記プロセッサは、複数の同定された識別情報と、前記類似性に基づく前記同定された識別情報の確信度と、を出力し、
前記表データ構造化方法は、
前記第１手順において前記各セルに含まれる文字列が測度のラベルであると識別された結果及び前記各セルに含まれる文字列が測度のラベルであると識別された結果を、前記確信度が高い順に表示し、前記第２手順から前記第４手順のそれぞれにおいて同定された複数の識別情報を前記確信度が高い順に表示する画面を、前記出力部が出力する第６手順をさらに含むことを特徴とする表データ構造化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表データ構造化システムおよび表データ構造化方法に関する。
【背景技術】
【０００２】
表形式のデータを機械処理するための技術として、例えば特開２０１５−０２８７３６号公報（特許文献１）及び”Ｓｅｍａｎｔｉｃ  Ｌａｂｅｌｉｎｇ：  Ａ  ｄｏｍａｉｎ−ｉｎｄｅｐｅｎｄｅｎｔ  ａｐｐｒｏａｃｈ”（非特許文献１）が開示されている。
【０００３】
特許文献１には、人間のための表形式の利点を保ったまま計算機による処理が可能なＰＤＦ形式のデータを形成するために、「本発明は、オリジナルの表の列見出し部を構成する各行の下に１行ずつ挿入し、挿入行の各セルに対応するＩＤを記入すると共に、行見出し部を構成する各列の右に１列ずつ挿入し、挿入列の各セルに対応するＩＤを記入する第１の処理部と、前記列見出し部とデータ部の間に１行挿入すると共に、行見出し部とデータ部の間に１列挿入し、挿入した１行及び１列の各セルが次元の値であれば次元のＩＤを記入し、測度であれば何も記入せず、すべての列見出し又は行見出しが次元の値であれば挿入行及び列の交点セルに測度のＩＤを更に記入する第２の処理部と、作成されたテンプレート表のデータ部の各セルに対応する次元とその値及び測度を同定し、ＲＤＦ形式のデータを生成する第３の処理部とを有する」と記載されている。
【０００４】
非特許文献１では、訓練データを用いて観測値から測度のＩＤを、次元値の文字列から次元名のＩＤを同定する方法が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−０２８７３６号公報
【非特許文献】
【０００６】
【非特許文献１】Ｐｈａｍ，  Ｍ．他，”Ｓｅｍａｎｔｉｃ  Ｌａｂｅｌｉｎｇ：  Ａ  ｄｏｍａｉｎ−ｉｎｄｅｐｅｎｄｅｎｔ  ａｐｐｒｏａｃｈ”，  ＩＳＷＣ  ２０１６  −  １５ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｅｍａｎｔｉｃ  Ｗｅｂ  Ｃｏｎｆｅｒｅｎｃｅ，  ２０１６
【発明の概要】
【発明が解決しようとする課題】
【０００７】
近年、様々な組織で統計データを公開するようになったが、そのほとんどは、人間が見やすい表形式になっており、機械処理を行うためには情報が不足している。
【０００８】
例えば、図２は、各都道府県の年別の人口および平均所得をあらわす表である。セル２０１の値は、「人口」の値である。ただし、「都道府県が北海道」で、かつ、「年が平成２７年」の「人口」である。ここで、例えばセル２０４の値である「人口」を測度と呼ぶ。一方、例えばセル２０２の値から読み取られる「都道府県が北海道」、及び、例えばセル２０３の値から読み取られる「年が平成２７年」を次元と呼ぶ。測度は、表中の観測値（例えばセル２０１の値）が何を観測したものであるかを表している。一方、次元は、観測値が得られた条件を表す。次元は、更に細かく、次元名と次元値とからなる。「都道府県が北海道」の場合、「都道府県」が次元名、「北海道」が次元値である。観測値を集計したり加工したりするには、測度及び次元に関する情報が必要になる。
【０００９】
図２の表には、「人口」「北海道」「平成２７年」という文字列が記載されているが、それぞれが、測度なのか、次元名なのか、次元値なのかは指定されていない。また、次元名である「都道府県」及び「年」は表中に記載されていない。これらの対応情報及び欠損情報は、人間であれば表から容易に推測できるため、人間が閲覧するための表データには明記されない。
【００１０】
更に、測度、次元名及び次元値は、様々な表記で記載されることがある。例えば、「人口」は「総人口」と書かれる場合もあるし、「平成２７年」は「２０１５」と書かれる場合もある。これらも、人間であれば同一であると容易に判断できるが、機械処理を行うためには、明確に表記を統一しておくか、又は一意のＩＤに対応付けておく必要がある。
【００１１】
図３は、図２に示した各都道府県の年別の人口および平均所得をあらわす表に、次元及び測度に関する情報を追加した表である。本発明の目的は、図２の表を図３の表に自動で変換することである。図３の形式は、特許文献１で提案された形式と同じである。ここで、観測値（図中の「・・・」）より上の行（図２の例では行２０５）のことを表頭、観測値より左の列（図２の例では列２０６）のことを表側と呼ぶ。表頭の各行（表頭行）、表側の各列（表側列）には、測度および次元がまとまって記載される。変換後の図３では、表頭行又は表側列が測度に関する行である場合は、対応するセル（例えばセル３０１）を空白とする。一方、次元に関する行である場合には、対応するセル（例えばセル３０２）に次元名のＩＤを記載する。その上で、各測度に対応するセル（例えばセル３０３）には、測度のＩＤを、次元値に対応するセル（例えばセル３０４）には、次元値のＩＤを記載する。以上によって、図２の表を機械処理するために必要な情報が図３の表に埋め込まれる。特許文献１では、図２を機械処理する際に必要となる情報が図３のような形式で表現できることを示しているが、図２を図３に自動変換する手法については開示していない。
【００１２】
非特許文献１では、訓練データを用いて観測値から測度のＩＤを、次元値の文字列から次元名のＩＤを同定する方法を提案しているが、測度、次元名及び次元値の判別は行っていない。また、次元名のＩＤも同定しない。
【００１３】
上記のとおり、本発明の目的は、図２のような表を、図３のような表に自動変換することである。具体的には、表頭行、表側列の各ラベルに対し、測度ＩＤ、もしくは次元名ＩＤ、次元値ＩＤを自動で付与することである。
【課題を解決するための手段】
【００１４】
上記の課題を解決するために、本発明は、表データ構造化システムであって、訓練データである構造化された表データと、前記構造化された表データから構築された、表データの各行及び各列が同一の測度の観測値又は同一の次元の観測値のいずれを含むかを識別するための次元・測度モデルと、を保持する記憶部と、前記次元・測度モデルに基づいて、入力された構造化されていない表データの各行及び各列が同一の測度の観測値又は同一の次元の観測値のいずれを含むかを識別する次元・測度識別部と、前記構造化された表データに基づいて、前記同一の測度の観測値を含むと判定された行及び列の測度の識別情報を同定する測度同定部と、前記構造化された表データに基づいて、前記同一の次元の観測値を含むと判定された行及び列の次元名の識別情報を同定する次元名同定部と、前記構造化された表データに基づいて、前記同一の次元の観測値を含むと判定された行及び列の次元値の識別情報を特定する次元値同定部と、を有することを特徴とする。
【発明の効果】
【００１５】
本発明の一形態によれば、表データの各セルの値の測度、次元名及び次元値を識別するＩＤを自動で決定することができる。上記した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施例における表データ構造化システムの構成例を示すブロック図である。
【図２】各都道府県の年別の人口および平均所得をあらわす表である。
【図３】各都道府県の年別の人口および平均所得をあらわす表に、次元及び測度に関する情報を追加した表である。
【図４】本発明の実施例の構造化部が実行する処理を示すフローチャートである。
【図５】本発明の実施例の次元／測度識別部が実行する次元／測度識別処理の概略を示す説明図である。
【図６】本発明の実施例の表データ構造化システムにおいて構築される意味情報に関する特徴ベクトルの第１の例を示す説明図である。
【図７】本発明の実施例の表データ構造化システムにおいて構築される意味情報に関する特徴ベクトルの第２の例を示す説明図である。
【図８】本発明の実施例の表データ構造化システムにおいて構築される意味情報に関する特徴ベクトルの第３の例を示す説明図である。
【図９】本発明の実施例の表データ構造化システムにおいて構築される構文情報に関する特徴ベクトルの例を示す説明図である。
【図１０】本発明の実施例の表データ構造化システムにおいて構築される関連テキスト情報に関する特徴ベクトルの例を示す説明図である。
【図１１】本発明の実施例の表データ構造化システムにおいて構築される全体の特徴ベクトルの例を示す説明図である。
【図１２】本発明の実施例の次元／測度学習部が実行する処理を示すフローチャートである。
【図１３】本発明の実施例の次元／測度識別部が実行する処理を示すフローチャートである。
【図１４】本発明の実施例の次元／測度学習部及び次元／測度識別部の双方が実行する特徴ベクトル構築処理を示すフローチャートである。
【図１５】本発明の実施例の構造化部がある測度行に関して実行する測度同定処理の概略を示す説明図である。
【図１６】本発明の実施例の表ＤＢに登録されるデータ例を示す説明図である。
【図１７】本発明の実施例の表ＤＢに登録されるデータ例を示す説明図である。
【図１８】本発明の実施例の測度同定部が測度ＩＤを同定するのに必要な情報を検索するためのクエリ例を示す説明図である。
【図１９】本発明の実施例の次元名同定部が次元とわかっている表側列から次元名ＩＤを同定する処理の概略を示す説明図である。
【図２０】本発明の実施例の次元名同定部が次元名ＩＤを同定するのに必要な情報を検索するためのクエリ例を示す説明図である。
【図２１】本発明の実施例の次元値同定部が次元値ＩＤを同定する処理の概略を示す説明図である。
【図２２】本発明の実施例の次元値同定部が次元値ＩＤを同定するために必要な情報を取得するためのクエリ例を示す説明図である。
【図２３】本発明の実施例の構造化部が、次元か測度かの識別の際に出力する画面インターフェースの例の説明図である。
【図２４】本発明の実施例の構造化部が、測度ＩＤを同定する際に出力する画面インターフェースの例の説明図である。
【発明を実施するための形態】
【００１７】
図１は、本発明の実施例における表データ構造化システムの構成例を示すブロック図である。
【００１８】
本実施例の表データ構造化システムは、学習部１０１と構造化部１０２とから構成される。
【００１９】
学習部１０１では、すでに構造化されている構造化表データ１０３を訓練データとして用いて、次元／測度学習部１０４が、次元／測度モデル１０６を学習する。また、データ変換部１０５が、構造化表データ１０３を変換して、表ＤＢ１０７に格納する。構造化表データ１０３、次元／測度モデル１０６及び表ＤＢ１０７は、公知のデータベース技術で構築される。次元／測度学習部１０４及びデータ変換部１０５は、記憶装置１１０上に保存されているプログラムであり、適宜、メモリ１０９に移動し、プロセッサ１０８が実行する。すなわち、本実施例において次元／測度学習部１０４及びデータ変換部１０５が実行する処理は、実際にはプロセッサ１０８によって実行される。データの入出力は、入出力インターフェース１１１が実行する。
【００２０】
構造化部１０２は、表データ１１６を構造化し、構造化表データ１１７とする。その際に、構造化部１０２は、学習部１０１で構築した、次元／測度モデル１０６、および、表ＤＢ１０７を用いる。構造化部１０２は、次元／測度識別部１１２、測度同定部１１３、次元名同定部１１４及び次元値同定部１１５から構成される。それぞれは、記憶装置１２０上に保存されているプログラムで、適宜、メモリ１１９に移動し、プロセッサ１１８が実行する。すなわち、本実施例において次元／測度識別部１１２、測度同定部１１３、次元名同定部１１４及び次元値同定部１１５が実行する処理は、実際にはプロセッサ１１８によって実行される。データの入出力は、入出力インターフェース１２１が実行する。
【００２１】
構造化表データ１０３は、記憶装置１１０に格納される。表データ１１６及び構造化表データ１１７は、記憶装置１２０に格納される。次元／測度モデル１０６及び表ＤＢ１０７は、例えば、それぞれ次元／測度学習部１０４及びデータ変換部１０５によって作成されて記憶装置１１０に格納され、その後、記憶装置１２０にコピーされ、構造化部１０２の各部によって参照されてもよい。あるいは、学習部１０１と構造化部１０２とがネットワーク（図示省略）等を介して接続されている場合には、次元／測度モデル１０６及び表ＤＢ１０７が記憶装置１１０に格納され、構造化部１０２の各部が必要に応じてネットワークを介して次元／測度モデル１０６及び表ＤＢ１０７を参照してもよい。
【００２２】
なお、学習部１０１と構造化部１０２で、プロセッサ、メモリ、記憶装置、入出力インターフェースを共有する構成も可能である。
【００２３】
図４は、本発明の実施例の構造化部１０２が実行する処理を示すフローチャートである。
【００２４】
構造化部１０２には構造化前の表データ１１６が入力される（ステップ４０１）。図２がそのデータ例である。まずは、次元／測度識別部１１２が、各表頭行及び各表側列に対して、それぞれが次元に関する行／列なのか測度に関する行／列なのかを識別する（ステップ４０２〜４０４）。なお、表データ１１６からの表頭行及び表側列の抽出は、ユーザが手動で行ってもよいし、構造化部１０２が任意の方法で自動で行ってもよい。例えば、ユーザが表の中の観測値が記載されたセルの範囲の境界を指定し、その範囲の上側及び左側の、観測値を含まない行及び列を、それぞれ表頭行及び表側列として抽出してもよい。あるいは、観測値が記載されたセルの範囲の境界を構造化部１０２が自動で特定してもよい。
【００２５】
その後、測度に関する行／列に対しては、測度同定部１１３が測度のＩＤを同定する（ステップ４０５〜４０７）。次元に関する行／列に対しては、まず、次元名同定部１１４が次元名のＩＤを同定する（ステップ４０８〜４１０）。次に、次元値同定部１１５が各次元のセルに対して次元値のＩＤを同定する（ステップ４１１〜４１３）。最終的に、測度同定部１１３及び次元値同定部１１５によって、構造化された表データが出力される（ステップ４１４）。図３が出力されたデータ例である。
【００２６】
以降では、構造化部１０２を構成する、次元／測度識別部１１２（ステップ４０３）、測度同定部１１３（ステップ４０６）、次元名同定部１１４（ステップ４０９）、及び次元値同定部１１５（ステップ４１２）の詳細を順に説明する。その際に、必要な箇所で、学習部１０１を構成する、次元／測度学習部１０４及びデータ変換部１０５の詳細を説明する。
【００２７】
図５は、本発明の実施例の次元／測度識別部１１２が実行する次元／測度識別処理の概略を示す説明図である。
【００２８】
本発明の特徴は、表を構造化する際に、まず、次元と測度を識別する点にある。後に述べるように、次元と測度では、識別のために使う情報及び処理内容が異なる。
【００２９】
ここでの識別対象は、表頭行５０１及び表側列５０２、５０３である。これらの行および列が、次元に関する行／列なのか、測度に関する行／列なのかを識別する。図示した例の場合は、表頭行５０１は測度に関する行であり、表側列５０２および５０３は次元に関する列である。
【００３０】
ここで、測度に関する行／列とは、測度を示すラベルが記載されたセルを含む行／列を意味する。また、次元に関する行／列とは、次元値を示すラベルが記載されたセルを含む行を意味する。このため、例えば、ある表頭行が測度に関する行であると識別することは、その行のラベルが記載されたセルを含む列が、同一の測度の観測値を含む列であると識別することを意味する。図２の例では、正しく識別が行われた場合、「人口」「平均所得」等のラベルが記載されたセルを含む表頭行２０５が測度に関する行であると識別される。このことは、「人口」のセルを含む列が同一の測度（すなわち人口）の観測値を含む列であり、「平均所得」のセルを含む列も別の同一の測度（すなわち平均所得）の観測値を含む列であると識別されることを意味する。次元についても同様であり、図２の例では、表側列２０６が次元に関する列であると識別される。このことは、表側列２０６のラベルが記載されたセルに対応する各行が同一の次元値の（例えば北海道の平成２７年の）観測値を含む行であると識別されることを意味する。また、図２には、一つの列に同一の測度の観測値が含まれ、一つの行に同一の次元値の観測値が含まれる例を示したが、逆に、一つの列に同一の次元値の観測値が含まれ、一つの行に同一の測度の観測値が含まれる表もあり得る。そのような表の場合にも上記と同様の方法で識別が行われる。
【００３１】
次元か測度かを識別するために、３種類の情報を使う。第１は、セル内の文字列に関する情報でこれを意味情報と呼ぶ。表頭行５０１の場合は、「人口」「平均所得」という文字列は、この行が測度であることを強く特徴付ける情報である。ただし、「人口」「平均所得」が訓練データに含まれていた場合に限る。
【００３２】
第２は、セル内の文字列に関わらない情報で、これを構文情報と呼ぶ。構文情報は、例えば、対象となる行／列の表内での位置などの情報である。表頭の１行目は測度が入りやすいため、位置情報のみで次元／測度の識別が容易になる場合もある。位置の他に、文字列が数値なのか、アルファベットなのか、といった文字種情報も有効である。
【００３３】
第３は、関連テキスト情報である。例えば、図表のタイトルが「都道府県別の人口」であった場合、「ＡのＢ」のＢに相当する「人口」は測度になりやすいという特徴がある。よって、セル内の文字列のタイトル中での位置は、次元／測度を識別するために重要な情報となる。
【００３４】
本実施例では、上記の３種類の情報をベクトル化する。このベクトルのことを特徴ベクトルと呼ぶ。特徴ベクトルは、次元／測度学習部１０４および次元／測度識別部１１２で使用される。
【００３５】
意味情報に関する特徴ベクトルには、３つのバリエーションがある。
【００３６】
図６から図８は、本発明の実施例の表データ構造化システムにおいて構築される意味情報に関する特徴ベクトルの例を示す説明図である。
【００３７】
３つのバリエーションの１つめは、文字列全体をベクトルの要素とする方法である。例として、図５の表頭行５０１から文字列全体をベクトルの要素として含むように構築した意味情報特徴ベクトル６００を図６に示す。ベクトルの要素は、訓練データ（すなわち構造化表データ１０３）の表頭行／表側列に現れる全ての文字列である。ベクトルの値は、対応する文字列が対象の行／列に含まれていれば１、含まれていない場合は０となる。
【００３８】
図６の例では、訓練データの表頭行／表側列に現れる全ての文字列、例えば、「人口」、「平均所得」、「北海道」、「青森」、及びその他の種々の文字列に対応する値を要素として含むベクトルが生成される。これらの文字列のうち、表頭行５０１には「人口」と「平均所得」が含まれるため、それらに対応する要素の値が「１」となり、他の文字列に対応する値が「０」となる。
【００３９】
図６には表頭行５０１から構築した意味情報特徴ベクトルの例を示しているが、入力された構造化前の表データがさらに他の表頭行を含む場合にはそれについても同様の意味情報特徴ベクトルが生成される。また、構造化前の表データの各表側列（例えば図２の列２０６）についても同様の意味情報特徴ベクトルが生成される。後述する他の特徴ベクトルも同様である。
【００４０】
２つめは、文字列全体ではなく形態素をベクトルの要素とする方法である。例として、図５の表頭行５０１から形態素をベクトルの要素として含むように構築した意味情報特徴ベクトル７００を図７に示す。「平均所得」が「平均」と「所得」に分かれているため、「所得平均」「平均の所得」などとも符合するようになる。この方法では、訓練データの表頭行／表側列に現れるすべての形態素をベクトルの要素とする。形態素解析には、公知の技術を使う。
【００４１】
図７の例では、訓練データの表頭行／表側列に現れる全ての形態素、例えば、「人口」、「平均」、「所得」、「北海道」、「青森」、及びその他の種々の形態素に対応する値を要素として含むベクトルが生成される。これらの文字列のうち、表頭行５０１には「人口」、「平均」及び「所得」が含まれるため、それらに対応する要素の値が「１」となり、他の文字列に対応する値が「０」となる。仮に、表頭行に「平均所得」ではなく「所得平均」又は「所得の平均」が含まれていても、「平均」及び「所得」に対応する要素の値が「１」となるため、構築される意味情報特徴ベクトルは同一となる。
【００４２】
３つめは、文字列の最終形態素のみをベクトルの要素とする方法である。例として、図５の表頭行５０１から文字列の最終形態素のみをベクトルの要素として含むように構築した意味情報特徴ベクトル８００を図８に示す。「平均所得」は、「平均」と「所得」のうち最後の形態素である「所得」のみになる。日本語の場合は、末尾の形態素が重要な意味を持つことが多い。例えば訓練データに「合計所得」が測度として存在した場合、最終形態素のみで符合することで、「平均所得」も測度と判定できる。２つめの方法のように形態素を全て使うと、「所得」では一致するものの、「平均」と「合計」で不一致が生じるため、「平均所得」が測度と判定されにくくなる。この方法では、訓練データの表頭行／表側列に現れるすべての最終形態素をベクトルの要素とする。形態素解析には、公知の技術を使う。
【００４３】
本実施例では、以上の３つのバリエーションからいずれかを選んで意味情報に関する特徴ベクトルとする。または、３種類の特徴ベクトルを構築し、それぞれから得られた結果を組み合わせて最終的な結果としてもよい。組み合わせ方としては、例えば多数決が考えられる。
【００４４】
図９は、本発明の実施例の表データ構造化システムにおいて構築される構文情報に関する特徴ベクトルの例を示す説明図である。
【００４５】
構文情報に関する特徴ベクトルは、表頭行／表側列の構文上の特徴、例えば表における位置等の情報を含む。具体的には、構文情報に関する特徴ベクトルは、例えば、その特徴ベクトルを構築する対象の表頭行又は表側列に含まれる文字種、その対象が表頭行又は表側列のいずれであるか、その表頭行又は表側列の先頭からの距離、及び、その表頭行又は表側列の観測値からの距離を示す値を要素として含む。
【００４６】
文字種は、数値を含まない、数値のみ、数値と数値以外を含む、の３種類とする。行／列の位置に関しては、まず、対象が行なのか列なのかを指定し、先頭（行の場合は１行目、列の場合は１列目）からの行／列数、観測値からの行／列数を指定する。先頭からの行／列数は、行の場合は、１行目から１行、２行とカウントする。列の場合は、１列目から１列、２列とカウントする。観測値からの行／列数は、行の場合は、観測値の最上行から上方向に、１行、２行とカウントする。列の場合は、観測値の最左列から左方向に、１列、２列とカウントする。
【００４７】
図９には、例として、図５の表頭行５０１から構築した構文情報に関する特徴ベクトル９００を示す。この例では、表頭行５０１は数値を含まないため、文字種に対応する要素の値は「１」となる。仮に表頭行５０１が数値のみを含む場合は当該要素の値は「２」、数値と数値以外を含む場合は「３」となる。表頭行５０１は行であるため、対象が行なのか列なのかを示す要素の値は「１」となる。仮に対象が表側列であれば当該要素の値は「２」となる。表頭行５０１は表の先頭の行であるため、先頭からの行／列数を示す要素の値は「１」となる。表頭行５０１の次の行が観測値を含むため、観測値からの行／列数を示す要素の値は「１」となる。
【００４８】
なお、図９に示す構文情報に関する特徴ベクトル９００は一例であり、構文情報に関する特徴ベクトル上記以外の要素を含む構文情報に関する特徴ベクトルが生成されてもよいし、上記以外の方法で各要素の値が決められてもよい。例えば文字種に対応する要素は、数値を含むか否かのみを示す要素の値を設定してもよいし、より詳細に文字種を分類して、それぞれに対応する要素の値を設定してもよい。
【００４９】
図１０は、本発明の実施例の表データ構造化システムにおいて構築される関連テキスト情報に関する特徴ベクトルの例を示す説明図である。
【００５０】
本実施例では、関連テキストとして表のタイトル文字列を用いる。ベクトル化する対象行または対象列のセル内の文字列がタイトルに現れる場合、当該文字列の当該タイトルにおける位置を示す先頭からの文字数及び末尾からの文字数をベクトルの要素とする。先頭からの文字数は１から始まり、マッチした文字列の先頭文字の位置を使う。すなわち、マッチした文字列がタイトルの先頭に位置する場合には先頭からの文字数は１となる。末尾からの文字列も１から始まり、マッチした文字列の末尾文字の位置を使う。すなわち、マッチした文字列がタイトルの末尾に位置する場合には末尾からの文字数は１となる。複数のセルの文字列がタイトルに現れる場合は、それぞれの文字列について先頭からの文字数及び末尾からの文字数を計数し、共に最小値を採用する。いずれのセルの文字列もタイトルに現れない場合は、先頭からの文字数、末尾からの文字数共に０とする。
【００５１】
図１０に例として示す関連テキスト情報に関する特徴ベクトル１０００は、ベクトル化する対象行または対象列に含まれる少なくとも一つの文字列がタイトルに含まれ、それらのうち最初に現れる文字列の先頭の文字がタイトルの先頭から５番目の文字に相当し、最後に現れる文字列の末尾の文字がタイトルの末尾から１番目の文字（すなわち末尾の文字）に相当することを示している。
【００５２】
なお、上記の表のタイトルは関連テキストの一例であり、タイトルに限らず、例えば表の説明文又は注釈文など、表に付随する種々のテキストを関連テキストとして利用し、そのようなテキストと表頭行及び表側列のセル内の文字列との関連を示す情報を関連テキスト情報として抽出することができる。
【００５３】
表データ構造化システムは、上記の３種類の特徴ベクトルを結合して全体の特徴ベクトルを構築する。
【００５４】
図１１は、本発明の実施例の表データ構造化システムにおいて構築される全体の特徴ベクトルの例を示す説明図である。
【００５５】
表データ構造化システムは、例えば、表頭行５０１について、図６〜図８に示す意味情報特徴ベクトル６００〜８００のいずれか（又はそれらを組み合わせて構築した意味情報特徴ベクトル）、図９に示す構文情報特徴ベクトル９００及び図１０に示す関連テキスト情報特徴ベクトル１０００を図１１に示すように結合することによって、表頭行５０１に関する全体の特徴ベクトル１１００を構築する。このようにして構築された特徴ベクトルは、次元／測度学習部１０４、および、次元／測度識別部１１２で用いられる。
【００５６】
図１２は、本発明の実施例の次元／測度学習部１０４が実行する処理を示すフローチャートである。
【００５７】
次元／測度学習部１０４では、すでに構造化されている表データ１０３を参照して（ステップ１２０１）、表頭行及び表側列を抽出し、それぞれに対し特徴ベクトルを構築する（ステップ１２０２〜１２０４）。次に、次元／測度学習部１０４は、各特徴ベクトルに対し、それぞれの表頭行及び表側列の内容が次元か測度かがすでに判っているため、これらを教師データとして機械学習を実行する（ステップ１２０５）。機械学習の結果、次元／測度モデル１０６が得られる（ステップ１２０６）。次元／測度モデル１０６とは、特徴ベクトルを次元又は測度に識別するような識別器である。
【００５８】
言い換えると、次元／測度モデル１０６は、ある表頭行又は表側列から構築された特徴ベクトルが入力されると、当該表頭行又は表側列が測度に関する行又は列であるか、次元に関する行又は列であるかを識別してその結果を出力する識別器である。このとき、識別器は、識別の結果の確からしさを示す確信度を併せて出力してもよい。このようにして学習された識別器に、構造化されていない表データ１１６の表頭行及び表側列から構築した特徴ベクトルを入力することによって、構造化されていない表データ１１６の表頭行及び表側列が測度に関する行及び列であるのか、次元に関する行及び列であるのか、すなわち、観測値を含む各行及び各列が同一の測度の観測値を含む行及び列であるのか、同一の次元の観測値を含む行及び列であるのかが識別される。
【００５９】
次元／測度モデル１０６は、公知の機械学習の手法で作成される。例えば、ＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）を使ってもよい。
【００６０】
図１３は、本発明の実施例の次元／測度識別部１１２が実行する処理を示すフローチャートである。
【００６１】
次元／測度識別部１１２では、構造化されていない表データ１１６及び次元／測度学習部１０４で学習した次元／測度モデル１０６が入力されると（ステップ１３０１）、表データ１１６の表頭行及び表側列を次元又は測度に識別する。その際、まず、次元／測度識別部１１２は、入力されたそれぞれの表頭行及び表側列から特徴ベクトルを構築する（ステップ１３０２）。次に、次元／測度識別部１１２は、次元／測度学習部１０４で学習した次元／測度モデル１０６を用いて、入力された表頭行及び表側列次元か測度かを識別する（ステップ１３０３）。ここでも、公知の機械学習の手法を用いる。そして、次元／測度識別部１１２は、識別の結果を出力する（ステップ１３０４）。
【００６２】
図１４は、本発明の実施例の次元／測度学習部１０４及び次元／測度識別部１１２の双方が実行する特徴ベクトル構築処理を示すフローチャートである。
【００６３】
具体的には、図１４は、次元／測度学習部１０４がステップ１２０３において、次元／測度識別部１１２がステップ１３０２において、それぞれ実行する処理を示す。表頭行／表側列が入力されると（ステップ１４０１）、次元／測度学習部１０４及び次元／測度識別部１１２は、上記で説明した方法によって、意味情報特徴ベクトル、構文情報特徴ベクトル、及び関連テキスト情報特徴ベクトルを順に構築する（ステップ１４０２、１４０３、１４０４）。最後に、次元／測度学習部１０４及び次元／測度識別部１１２は、これらを結合して（ステップ１４０５）特徴ベクトルを構築する（ステップ１４０６）。
【００６４】
ここまでの処理は、構造化部１０２の処理（図４）のステップ４０２〜４０４に相当し、表頭行／表側列が、次元なのか測度なのかが判別される。次に、構造化部１０２は、ステップ４０５〜４０７において、測度行／列だけを集めて、各要素（測度）のＩＤを同定する。
【００６５】
図１５は、本発明の実施例の構造化部１０２がある測度行１５０１に関して実行する測度同定処理の概略を示す説明図である。
【００６６】
この測度行１５０１には、「人口」及び「平均所得」というラベルがあり、構造化部１０２の測度同定部１１３は、それぞれに対して、［ｐｏｐｕｌａｔｉｏｎ］及び［ａｖｅ＿ｉｎｃｏｍｅ］という測度ＩＤを同定する。
【００６７】
具体的には、測度同定部１１３は、例えば、非特許文献１と同様に、すでに構造化されている表データ１０３から一番近いＩＤを探す。その際に、二種類の情報を使う。まずはラベル文字列１５０２の類似性である。測度同定部１１３は、既に構造化されている表データ１０３のラベル文字列と、対象のラベル文字列とを比較して両者間の距離を計算する。距離としては、例えば、公知の編集距離を用いることができる。
【００６８】
二番目の情報は、それぞれのラベルに対応する観測値集合１５０３の類似性である。上記の例では同定対象が表頭行のラベルであるため、観測値集合１５０３はそれぞれのラベルを含む列の観測値の集合である。観測値集合１５０３の平均値や分散を調べると、それがどのような測度なのかを推定することができる。例えば、人口には人口特有の分布が、身長には身長特有の分布がある。測度同定部１１３は、既に構造化されている表から、各測度の観測値集合を取得し、それらの平均と分散と、同定対象の観測値集合の平均と分散とを比較し、類似性を計算する。類似性の計算方法は、例えば非特許文献１の方法を使用してもよい。
【００６９】
測度同定部１１３は、これら二種類の情報を組み合わせて、既に構造化されている表から、一番類似する測度ＩＤを検索する。組み合わせの方法も、例えば非特許文献１の方法を使うことができる。
【００７０】
本実施例では、データ変換部１０５によって、既に構造化されている表データ１０３から、上記処理で必要な情報が容易に取得しやすいデータベース（表ＤＢ１０７）が構築される。
【００７１】
図１６及び図１７は、本発明の実施例の表ＤＢ１０７に登録されるデータ例を示す説明図である。
【００７２】
これは、ＲＤＦ（Ｒｅｓｏｕｒｃｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｆｒａｍｅｗｏｒｋ）と呼ばれる形式である。図１６は観測値に関する情報である。観測値のセル毎に「主語」「述語」「目的語」の三つ組で情報を登録する。図１７は、測度、次元名、次元値に関する情報である。構造化された表をこのような形式に変換する方法については、特許文献１で開示されている。
【００７３】
例えば、仮に、図２に示す表が訓練データとして構造化表データ１０３に含まれているとすると、その表の観測値の領域の一番上の行（０行目）の一番左の列（０列目）のセルが「セル＿０＿０」と登録され、そのセルの観測値「・・・」は、測度「人口」（測度ＩＤ：［ｐｏｐｕｌａｔｉｏｎ］）、次元名「都道府県」（次元名ＩＤ：＜ｐｒｅｆ＞）の次元値「北海道」（次元値ＩＤ：＃ｈｏｋｋａｉｄｏ）、及び、次元名「年」（次元名ＩＤ：＜ｙｅａｒ＞）の次元値「平成２７」（次元値ＩＤ：＃２０１５）に対応することが図１６の形式で登録される。また、ラベル文字列「人口」が測度のラベルであり、その測度ＩＤが［ｐｏｐｕｌａｔｉｏｎ］であること、及び、ラベル文字列「北海道」が次元値のラベルであり、その次元値ＩＤが＃ｈｏｋｋａｉｄｏであることが図１７の形式で登録される。なお、図２の例では「北海道」等の次元値の次元名は都道府県であるが、それを示すラベルは表の中に含まれないため、＜ｐｒｅｆ＞が次元名ＩＤであることを示す情報が図１７の形式で登録され、それに対応するラベル文字列は登録されていない。
【００７４】
なお、図１６及び図１７には訓練データである表ＤＢ１０７の形式を示したが、構造化部１０２が入力された表データ１１６から訓練データに基づいて生成した構造化表データ１１７も上記と同様の形式で登録されてもよい。例えば、図２に示す表が構造化前の表データ１１６として入力された場合、次元／測度の識別、測度の同定、次元名／次元値の同定が行われ、最終的に、図１６に示すデータが生成されて、構造化表データ１１７として登録される。
【００７５】
図１８は、本発明の実施例の測度同定部１１３が測度ＩＤを同定するのに必要な情報を検索するためのクエリ例を示す説明図である。
【００７６】
これらはＳＰＡＲＱＬというＲＤＦデータ検索用クエリの形式である。これらのクエリによって、測度同定部１１３は、全測度、各測度のラベル文字列、及び各測度の観測値集合が取得できるため、対象のラベル文字列１５０２及び観測値集合１５０３と類似する測度を同定することができる。
【００７７】
次に、次元名ＩＤと次元値ＩＤを同定する処理を説明する。まずは、構造化部１０２の次元名同定部１１４が、各次元行／列に対し、次元名ＩＤを同定する（図４の４０８〜４１０）。
【００７８】
図１９は、本発明の実施例の次元名同定部１１４が次元とわかっている表側列１９０１から次元名ＩＤを同定する処理の概略を示す説明図である。
【００７９】
ここでは、次元名同定部１１４は、次元名のラベル文字列間の類似性と、次元値のラベル文字列集合間の類似性を使い、表ＤＢ１０７から一番近い次元名ＩＤを検索する。ラベル文字列間の類似性は編集距離を使う。次元名のラベル文字列とは、例えば「北海道」「青森」といった次元値に対応する次元名を示す「都道府県」のようなラベル文字列であり、構造化されていない表データ１１６にそのような文字列を含むセルがある場合にはその文字列と表ＤＢ１０７に含まれる次元名のラベル文字列との類似性が使われてもよい。しかし、図１９の例では、次元名に相当するセルがないため、次元名同定部１１４は、次元名のラベル文字列間の類似性を使わずに、次元値のラベル文字列の集合の間の類似性に基づいて、その次元値に対応する次元名のＩＤを同定する。
【００８０】
図１９の例では、ラベル文字列「北海道」を含む表側列、及び、ラベル文字列「平成２７」を含む表側列が、次元に関する列であると識別される。一つの列が一つの次元名に対応すると考えられることから、次元名同定部１１４は、一つの列に含まれる次元値のラベル文字列の集合と、表ＤＢ１０７に含まれる一つの次元名に対応する次元値のラベル文字列の集合との間の類似性に基づいて、例えばラベル文字列の類似性が最も高い次元値に対応する次元名ＩＤを、その列の次元値に対応する次元名のＩＤとして同定する。なお、図１６及び図１７に示すように、表ＤＢ１０７は、次元値ＩＤと次元名ＩＤとを対応付ける情報を含んでいる。例えば、図１９の表側列１９０１の次元値のラベル文字列集合は｛北海道、青森｝である。ラベル文字列集合間の類似性には既存の手法（例えば、ベクトルの余弦）を用いる。
【００８１】
図２０は、本発明の実施例の次元名同定部１１４が次元名ＩＤを同定するのに必要な情報を検索するためのクエリ例を示す説明図である。
【００８２】
これらのクエリによって、次元名同定部１１４は、全次元名、各次元名のラベル文字列、及び各次元名の次元値集合が取得できる。このため、対象の列１９０１の次元値のラベル文字列と類似するラベル文字列に対応する次元名ＩＤを表ＤＢ１０７から検索して、それを対象の列１９０１の次元名ＩＤとして同定することができる。図１９の例では、列１９０１の次元名ＩＤとして都道府県を識別するする＜ｐｒｅｆ＞が同定され、セル１９０２に記載される。
【００８３】
図１９の例では、「平成２７年」等のラベル文字列を含む表側列についても同様に次元名ＩＤ＜ｙｅａｒ＞が同定される。
【００８４】
ここまでの処理によって、測度ＩＤ及び次元名ＩＤが同定されるため、次に、構造化部１０２の次元値同定部１１５が、これらの情報を使い、次元に関する行／列の各セルから次元値ＩＤを同定する（図４の４１１〜４１３）。
【００８５】
図２１は、本発明の実施例の次元値同定部１１５が次元値ＩＤを同定する処理の概略を示す説明図である。
【００８６】
ここでは、次元名ＩＤ（２１０２）が決まっているため、次元値ＩＤは、この次元名ＩＤが取り得る次元値ＩＤ集合から検索すればよい。検索の際は、ラベル文字列の情報（２１０１）を使う。また、既に観測値ＩＤも同定されているため、表内の観測値集合（２１０４と２１０６）の情報も使う。つまり、次元値同定部１１５は、表ＤＢ１０７から、ラベル文字列が類似していて、かつ、対応する観測値集合も類似している（例えば、観測値集合の平均及び分散といった統計的指標が類似している）ような次元値を検索する。本処理の特徴は、前段階で既に判明している、次元名ＩＤと測度ＩＤとを使って次元値ＩＤを同定する点にある。
【００８７】
図２２は、本発明の実施例の次元値同定部１１５が次元値ＩＤを同定するために必要な情報を取得するためのクエリ例を示す説明図である。
【００８８】
これらのクエリによって、次元値同定部１１５は、各次元名の次元値、各次元値のラベル文字列、及び、各次元名、各次元値及び各測度の観測値が取得集合できる。
【００８９】
以上によって、表データの構造化が可能になる。本実施例では、全ての処理を自動化する形態を説明したが、識別精度及び同定精度は１００％ではないために、その都度、ユーザの確認を求めることも可能である。
【００９０】
図２３は、本発明の実施例の構造化部１０２が、次元か測度かの識別の際に出力する画面インターフェースの例の説明図である。
【００９１】
本実施例の構造化部１０２は、まず次元か測度かを識別し、次に測度名を同定し、次に次元名を同定し、最後に次元値を同定する。ユーザへの確認作業もこの順番で行う。図２３は、「平成２７」「平成２８」等の列が次元か測度かを判別しようとしているときに入出力Ｉ／Ｆ１２１が出力する画面インターフェースの例である。今決めるべきセル２３０１は太枠でハイライトされる。
【００９２】
ユーザがこのセル上で所定の入力（例えばマウスクリック）をすると、次元／測度識別部１１２による識別の結果がポップアップウィンドウ２３０２に現れる。ポップアップウィンドウ内では、確信度が高い結果ほど上位にリストされる。例の場合、次元を表す「＜＞」が１位にリストされている。２位の空白「  」は測度を表す記号である。これは、次元／測度識別部１１２が次元／測度モデル１０６に基づいて、識別対象の列が次元又は測度のいずれであるかを識別した結果、次元であるとの識別結果の確信度が最も高く、測度であるとの識別結果の確信度が２番目に高かったことを示している。
【００９３】
ユーザはポップアップウィンドウから適切な結果を選ぶことができる。上記の例ではユーザが識別対象の列を次元と識別して「＜＞」を選択することができる。
【００９４】
このようにして、順に判別および同定を行っていく。
【００９５】
図２４は、本発明の実施例の構造化部１０２が、測度ＩＤを同定する際に出力する画面インターフェースの例の説明図である。
【００９６】
具体的には、図２４は、セル２４０１の内容、つまり「平均所得」という測度のＩＤを同定する際の画面である。ここでもポップアップウィンドウ２４０２には、測度同定部の結果が確信度順にリストされる。図２４の例は、測度同定部１１３が表ＤＢ１０７に基づいて、同定対象である測度のラベル文字列「平均所得」の測度ＩＤを同定した結果、［ａｒｅａ］であるとの同定結果の確信度が最も高く、［ａｖｅ＿ｉｎｃｏｍｅ］であるとの同定結果の確信度が２番目に高かったことを示している。この例の場合、ユーザは、平均所得に対応する２位の［ａｖｅ＿ｉｎｃｏｍｅ］が正しい結果であると判断して、それを選択することができる。
【００９７】
なお、上記の確信度は、例えば、測度同定部１１３、次元名同定部１１４及び次元値同定部がそれぞれ測度ＩＤ、次元名ＩＤ及び次元値ＩＤを同定するときに計算した類似性の高さを示す指標であってもよい。
【００９８】
以上のように、本発明の実施例の表データ構造化システムは、構造化されていない表データに含まれる観測値の測度、次元名及び次元値の各ＩＤを段階的に同定する。まずは、表データ構造化システムは、表頭行／表側列が次元に関する行／列なのか、測度に関する行／列なのかを識別する。具体的には、既に構造化されている表から、識別のためのモデルを学習して、学習したモデルを用いて識別を行う。
【００９９】
このとき、表データ構造化システムは、表頭行／表側列の文字列の意味情報、構文情報及び関連テキスト情報の少なくともいずれかを含む特徴情報に基づいて識別を行うモデルを構築する意味情報として、文字列全体、文字列を構成する各形態素、及び、文字列の最終形態素の少なくともいずれかを使用してもよい。これによって、精度のよい識別を行うことができる。
【０１００】
次に、表データ構造化システムは、測度に関する行／列の場合は、行／列の各要素に対して、ラベルと観測値集合を用いて測度ＩＤを同定する。具体的には、既に構造化されている表の中から、ラベルと観測値集合が最も類似する測度ＩＤを検索する。次元に関する行／列の場合は、表データ構造化システムは、行／列のラベル集合を用いて次元名ＩＤを同定する。具体的には、既に構造化されている表の中から、次元値のラベル集合が最も類似する次元名ＩＤを検索する。最後に、表データ構造化システムは、次元に関する行／列の各要素に対して、ラベルと観測値集合を用いて次元値ＩＤを同定する。具体的には、既に構造化されている表の中から、ラベルと観測値集合が最も類似する次元名ＩＤを同定する。これによって、表データの各セルの観測値の測度、次元名及び次元値を識別するＩＤを自動で決定することができる。
【０１０１】
上記の測度、次元名及び次元値のＩＤを同定する順序は、必ずしも上記のとおりでなくてもよく、いずれの順序でも自動で各ＩＤを同定することができる。ただし、上記の順序で各ＩＤを段階的に同定すると、最後に次元値ＩＤの同定を行う時点で、これからＩＤを決定しようとする次元値に対応する観測値の測度が既に判明しているため、観測値集合の類似性を次元値ＩＤの同定に利用することができる。これによって、ＩＤ同定の精度が向上する。なお、そのためには次元値ＩＤの同定を行う時点で測度ＩＤ及び次元名ＩＤが同定されていればよいため、測度ＩＤの同定と次元名ＩＤの同定はいずれが先に行われてもよい。
【０１０２】
さらに、表データ構造化システムは、表頭行／表側列が次元に関する行／列なのか、測度に関する行／列なのかの識別結果、及び、各ＩＤの同定結果を、その確信度と合わせて複数表示し、ユーザにそれらのいずれかを選択させてもよい。これによって、次元／測度の識別及び各ＩＤの同定の精度が完全でない場合にも、ユーザの判断で精度を向上させることができる。
【０１０３】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明のより良い理解のために詳細に説明したのであり、必ずしも説明の全ての構成を備えるものに限定されものではない。
【０１０４】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によってハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによってソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、不揮発性半導体メモリ、ハードディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶デバイス、または、ＩＣカード、ＳＤカード、ＤＶＤ等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【０１０５】
また、制御線及び情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線及び情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１０６】
１０１  学習部
１０２  構造化部
１０３、１１７  構造化表データ
１０４  次元／測度学習部
１０５  データ変換部
１０６  次元／測度モデル
１０７  表ＤＢ
１０８、１１８  プロセッサ
１０９、１１９  メモリ
１１０、１２０  記憶装置
１１１、１２１  入出力Ｉ／Ｆ
１１２  次元／測度識別部
１１３  測度同定部
１１４  次元名同定部
１１５  次元値同定部
１１６  表データ
【図１】
2019032704.tif 000003
【図２】
2019032704.tif 000004
【図３】
2019032704.tif 000005
【図４】
2019032704.tif 000006
【図５】
2019032704.tif 000007
【図６】
2019032704.tif 000008
【図７】
2019032704.tif 000009
【図８】
2019032704.tif 000010
【図９】
2019032704.tif 000011
【図１０】
2019032704.tif 000012
【図１１】
2019032704.tif 000013
【図１２】
2019032704.tif 000014
【図１３】
2019032704.tif 000015
【図１４】
2019032704.tif 000016
【図１５】
2019032704.tif 000017
【図１６】
2019032704.tif 000018
【図１７】
2019032704.tif 000019
【図１８】
2019032704.tif 000020
【図１９】
2019032704.tif 000021
【図２０】
2019032704.tif 000022
【図２１】
2019032704.tif 000023
【図２２】
2019032704.tif 000024
【図２３】
2019032704.tif 000025
【図２４】
2019032704.tif 000026