(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023184034
(43)【公開日】2023-12-28
(54)【発明の名称】データ利用支援システム、及びデータ利用支援方法
(51)【国際特許分類】
G06F 16/483 20190101AFI20231221BHJP
G06F 16/28 20190101ALI20231221BHJP
G06F 16/17 20190101ALI20231221BHJP
【FI】
G06F16/483
G06F16/28
G06F16/17 100
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022097929
(22)【出願日】2022-06-17
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000176
【氏名又は名称】弁理士法人一色国際特許事務所
(72)【発明者】
【氏名】藤原 雄介
(72)【発明者】
【氏名】澤田 悠希
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA01
5B175EA03
5B175FB02
5B175HB03
5B175LA01
(57)【要約】
【課題】データを利用する際の整形の煩雑さを軽減し、データの効率的な利用を支援する。
【解決手段】データ利用支援システムは、表形式で情報が記述されたデータである表形式データを記憶し、表形式データの行を順に選択し、選択した各行について、当該行と当該行の後続行との間の類似度を求め、求めた類似度に基づき、表形式データにおいてデータ項目名が記述される行であるデータ項目行を推定し、推定したデータ項目行に基づき、表形式データを利用するソフトウェアが読み込むことが可能な形式のデータに当該表形式データを整形したデータである整形後データを生成する。
【選択図】
図7
【特許請求の範囲】
【請求項1】
データの利用を支援するシステムであって、
情報処理装置を用いて構成され、
表形式で情報が記述されたデータである表形式データを記憶し、
前記表形式データの行を順に選択し、選択した各行について、当該行と当該行の後続行との間の類似度を求め、求めた類似度に基づき、前記表形式データにおいてデータ項目名が記述される行であるデータ項目行を推定し、
推定した前記データ項目行に基づき、前記表形式データを利用するソフトウェアが読み込むことが可能な形式のデータに当該表形式データを整形したデータである整形後データを生成する、
データ利用支援システム。
【請求項2】
請求項1に記載のデータ利用支援システムであって、
前記類似度に基づき、前記表形式データにおいてデータ項目に対応するデータが記述される行であるデータ行を推定し、
推定した前記データ行に基づき、前記表形式データを利用するソフトウェアが読み込むことが可能な形式のデータに当該表形式データを整形したデータである整形後データを生成する、
データ利用支援システム。
【請求項3】
請求項2に記載のデータ利用支援システムであって、
前記類似度に基づき、前記表形式データにおいて前記データ項目行でも前記データ行でもない行であるその他の行を推定し、
推定した前記その他の行を削除することにより、前記表形式データを前記表形式データを利用するソフトウェアが読み込むことが可能な形式のデータに整形したデータである整形後データを生成する、
データ利用支援システム。
【請求項4】
請求項1乃至3のいずれか一項に記載のデータ利用支援システムであって、
前記類似度は、選択した行と当該行の後続行の夫々の同じ列に記述されている情報の類似性に基づく類似度である格納値類似度、及び、選択した行と当該行の後続行の列数の類似性に基づく類似度である列数類似度のうちの少なくともいずれかである、
データ利用支援システム。
【請求項5】
請求項3に記載のデータ利用支援システムであって、
前記類似度は、選択した行と当該行の後続行の夫々の同じ列に記述されている情報の類似性に基づく類似度である格納値類似度、及び、選択した行と当該行の後続行の列数の類似性に基づく類似度である列数類似度のうちの少なくともいずれかであり、
予め設定された閾値と比較することにより前記格納値類似度の高低を判定し、
予め設定された閾値と比較することにより前記列数類似度の高低を判定し、
前記格納値類似度の高低の判定結果と前記列数類似度の前記高低の判定結果に基づき、前記表形式データにおける、前記データ項目行、前記データ行、及び前記その他の行の少なくともいずれかを推定する、
データ利用支援システム。
【請求項6】
請求項3に記載のデータ利用支援システムであって、
表形式データの行と当該行の後続行とに基づき算出される類似度に基づく情報を説明変数とし、当該行が前記データ項目行、前記データ行、及び前記その他の行のうちのいずれであるかを示す情報を目的変数とする学習データにより学習した機械学習モデルを生成し
、
表形式データの行の記述を前記機械学習モデルに入力することにより前記推定を行う、
データ利用支援システム。
【請求項7】
請求項6に記載のデータ利用支援システムであって、
前記類似度を、前記表形式データの行の記述と当該行の後続行の記述との間の、正規化編集距離及び形態素のコサイン類似度のうちの少なくともいずれかに基づき求める、
データ利用支援システム。
【請求項8】
請求項3に記載のデータ利用支援システムであって、
前記表形式データの各行が、前記データ項目行、前記データ行、及び前記その他の行のいずれの種類であるかを推定した結果を提示するユーザインタフェースを有する、
データ利用支援システム。
【請求項9】
請求項3に記載のデータ利用支援システムであって、
前記データ項目行と推定した行のデータ項目名を編集するためのユーザインタフェースを有する、
データ利用支援システム。
【請求項10】
請求項3に記載のデータ利用支援システムであって、
前記表形式データについて前記データ項目行となる行を推定できなかった場合に、前記表形式データに前記データ項目行を設定するためのユーザインタフェースを有する、
データ利用支援システム。
【請求項11】
請求項3に記載のデータ利用支援システムであって、
前記表形式データについて前記データ項目行となる行が複数推定された場合に、前記表形式データにおける前記データ項目行が単数となるように編集するためのユーザインタフェースを有する、
データ利用支援システム。
【請求項12】
請求項1に記載のデータ利用支援システムであって、
前記データ項目行として過去に分類された一つ以上の行の記述である分類履歴を記憶し、
前記表形式データの行の記述と前記分類履歴の記述との間の類似度を求め、前記類似度が予め設定した閾値以上である場合に、当該行を前記データ項目行と推定する、
データ利用支援システム。
【請求項13】
請求項1に記載のデータ利用支援システムであって、
前記表形式データについて転置処理を行い、前記転置処理を行った後の前記表形式データを対象として前記データ項目行の前記推定を行う、
データ利用支援システム。
【請求項14】
データの利用を支援する方法であって、
情報処理装置が、
表形式で情報が記述されたデータである表形式データを記憶するステップ、
前記表形式データの行を順に選択し、選択した各行について、当該行と当該行の後続行との間の類似度を求め、求めた類似度に基づき、前記表形式データにおいてデータ項目名が記述される行であるデータ項目行を推定するステップ、及び、
推定した前記データ項目行に基づき、前記表形式データを利用するソフトウェアが読み込むことが可能な形式のデータに当該表形式データを整形したデータである整形後データ
を生成するステップ、
を実行する、データ利用支援方法。
【請求項15】
請求項14に記載のデータ利用支援方法であって、
前記類似度は、選択した行と当該行の後続行の夫々の同じ列に記述されている情報の類似性に基づく類似度である格納値類似度、及び、選択した行と当該行の後続行の列数の類似性に基づく類似度である列数類似度のうちの少なくともいずれかである、
データ利用支援方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ利用支援システム、及びデータ利用支援方法に関する。
【背景技術】
【0002】
近年、企業や官公庁等の組織においては、オープンデータなどの様々なデータの利活用が進められている。しかしこうしたデータは必ずしも取り込み先のシステムが読み込み可能な様式になっていないことも多く、その場合、システムが読み込めるようにデータの内容を整形(調整)する必要がある。
【0003】
データを利用する際の整形の煩雑さを軽減するための仕組みとして、例えば、特許文献1には、データの読み出しが可能なテーブルデータの様式に対する要求を緩和し、様々な様式のテーブルデータに柔軟に対応してデータの読み出しを可能にすることを目的として構成されたデータ読出装置について記載されている。データ読出装置は、データ処理を行う処理ツールが処理対象とするデータの種類に対して処理ツールに与えられている入力項目名を取得し、テーブルデータのうち同一属性を有しているデータ群であって属性毎に直線状に並べられているデータ群についての並びの方向を示す情報を取得し、入力項目名を示す文字列データが配置されているセルを探索し、探索により発見された上記セルを起点とし、取得した情報で示されている上記並びの方向に並べられている各セルに配置されているデータを読み出す。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載のデータ読出装置は、テーブルデータについて処理を行う処理ツールの入力項目名を取得し、取得した入力項目名とテーブルデータのヘッダ項目名との対応関係を示すマッピングテーブルを作成し、マッピングテーブルを利用してテーブルデータからデータを読み出している。このため、対象とする処理ツールについて、ユーザは事前に入力項目名を取得するとともにマッピングテーブルを設定しておく必要がある。また、入力項目名の取得やマッピングテーブルの設定は処理ツール毎に行う必要があり、同文献に記載の仕組みは十分な汎用性を有するものではない。
【0006】
本発明は、このような背景に基づきなされたものであり、データを利用する際の整形の煩雑さを軽減し、データの効率的な利用を支援することが可能な、データ利用支援システム、及びデータ利用支援方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記の目的を達成するための本発明の一つは、データの利用を支援するシステム(データ利用支援システム)であって、情報処理装置を用いて構成され、表形式で情報が記述されたデータである表形式データを記憶し、前記表形式データの行を順に選択し、選択した各行について、当該行と当該行の後続行との間の類似度を求め、求めた類似度に基づき、前記表形式データにおいてデータ項目名が記述される行であるデータ項目行を推定し、推定した前記データ項目行に基づき、前記表形式データを利用するソフトウェアが読み込むことが可能な形式のデータに当該表形式データを整形したデータである整形後データを生成する。
【0008】
その他、本願が開示する課題、及びその解決方法は、発明を実施するための形態の欄、及び図面により明らかにされる。
【発明の効果】
【0009】
本発明によれば、データを利用する際の整形の煩雑さを軽減し、データの効率的な利用を支援することができる。
【図面の簡単な説明】
【0010】
【
図1】第1実施形態のデータ利用支援システムの概略的な構成を示す図である。
【
図3A】対象行の種類が「その他の行」と推定される例を示す図である。
【
図3B】対象行の種類が「データ項目行」と推定される例を示す図である。
【
図3C】対象行の種類が「データ行」と推定される例を示す図である。
【
図4】行の種類の推定方法の他の例を説明する図である。
【
図5A】推定結果提示画面の一例(データ項目が単数推定された場合)である。
【
図5B】推定結果提示画面の一例(データ項目行が推定されなかった場合)である。
【
図5C】推定結果提示画面の一例(データ項目行が複数推定された場合)である。
【
図7】データ利用支援システムの各装置が備える主な機能を示す図である。
【
図8】第1実施形態のデータ登録処理を説明するシーケンス図である。
【
図9】行毎種類推定処理を説明するフローチャートである。
【
図10】データ利用処理を説明するシーケンス図である。
【
図11】データ利用支援システムの構成に用いる情報処理装置の一例である。
【
図12】第2実施形態のデータ利用支援システムの概略的な構成を示す図である。
【
図13】第2実施形態のデータ登録処理を説明するシーケンス図である。
【
図14】第2実施形態の行毎種類推定処理を説明するフローチャートである。
【発明を実施するための形態】
【0011】
以下、図面を適宜参照しつつ本発明の実施形態について説明する。以下の記載及び図面は、本発明を説明するための例示であり、説明の明確化のため、適宜、省略及び簡略化がなされている。本発明は、他の種々の形態でも実施することが可能である。とくに限定しない限り、各構成要素は単数でも複数でも構わない。
【0012】
以下の説明において、同一の又は類似する構成に同一の符号を付して重複した説明を省略することがある。また、以下の説明において、符号の前に付した「S」の文字は処理ステップの意味である。
【0013】
以下の説明において、表の形式で情報が記述されたデータ(行と列を指定して特定される文字情報(文字、文字列、数字、数字列等)の記述欄(以下、「セル」と称する。)の集合からなるデータ)のことを「表形式データ」と称する。
【0014】
[第1実施形態]
図1に、第1実施形態として説明する情報処理システム(以下、「データ利用支援システム1」と称する。)の概略的な構成を示している。同図に示すように、データ利用支援システム1は、データ利用支援装置100、データ登録装置2、及びデータ利用装置3の各装置を含む。これらの装置は、いずれも情報処理装置(コンピュータ)を用いて構成されている。データ登録装置2及びデータ利用装置3は、いずれもデータ利用支援装置10
0と通信ネットワーク5を介して双方向通信が可能な状態で接続されている。通信ネットワーク5は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、イ
ンターネット、公衆用通信網、専用線等である。尚、データ利用支援装置100、データ登録装置2、及びデータ利用装置3は、これらのうちの少なくとも2つ以上が共通の情報処理装置により実現されていてもよい。
【0015】
データ利用支援システム1の利用主体は必ずしも限定されないが、例えば、企業や官公庁等の組織における、オープンデータなどの第三者により提供されるデータを用いて各種の分析業務を行う部門において利用される。また、データ利用支援装置100の各種の機能は、例えば、インターネット上のサービスとして(例えば、SaaS(Software as a Service)として)提供してもよい。
【0016】
データ利用支援装置100は、データ登録装置2を介して登録される表形式データ(以下、「登録データ21」と称する。)を、登録データ21を利用するユーザが使用する表計算ソフトウェア等のソフトウェア(以下、「利用ソフト」と称する。)が、データ項目の名称(以下、「データ項目名」と称する。)が格納される行(以下、「データ項目行」と称する。)を特定して読み込むことが可能なデータ(以下、「整形後データ31」と称する。)に整形して蓄積管理する。また、データ利用支援装置100は、データ利用装置3から送られてくる提供要求に応じて、上記提供要求で指定される整形後データ31をユーザに提供する。尚、整形後データ31は、例えば、利用ソフトが独自に採用する形式やCSV(Comma Separated Value)形式で記述されたデータである。
【0017】
登録データ21は、上記のデータ項目行と、データ項目の値が格納される一つ以上の行(以下、「データ行」と称する。)とを含む。また、登録データ21は、「データ項目行」でも「データ行」でもない行(例えば、人による可読性の向上等を目的とした記述が格納されている行。以下、「その他の行」と称する。)を含んでいることもある。
【0018】
尚、登録データ21は、一つ以上のデータ項目が列方向に列挙されている場合だけでなく、一つ以上のデータ項目が行方向に列挙されていることもあるが、後者の場合、行と列を入れ替える処理(転置処理)を行うことで、前者のタイプに容易に変換して取り扱うことができる。そのため、以下では、登録データ21が、前者のタイプである場合を例として説明することとし、後者のタイプである場合については説明を省略する。
【0019】
データ利用支援装置100は、登録データ21について各行の種類(「データ項目行」、「データ行」、「その他の行」)を推定し、推定した各行の種類に基づき登録データ21を整形することにより整形後データ31を生成する。データ利用支援装置100は、例えば、登録データ21の行を先頭行(最上位の行)から順次選択し、選択した各行について、選択中の行(以下、「対象行」と称する。)と対象行の後続行との間の類似度を求め、求めた類似度を予め設定した推定基準と対照することにより上記の推定を行う。上記の類似度は、例えば、対象行と対象行の後続行の夫々の同じ列に記述されている情報の類似性に基づく類似度(以下、「格納値類似度」と称する。)や、対象行と対象行の後続行の列数の類似性に基づく類似度(以下、「列数類似度」と称する。)である。上記の「格納値類似度」は、例えば、対象行と対象行の後続行の夫々の同じ列のセルに格納されている文字や文字列の類似性、上記セルに格納されている単語の品詞や型(文字、数値)の類似性に基づき求める。
【0020】
図2に推定基準の一例を示す。例示する推定基準111は、「格納値類似度」が低く、かつ、「列数類似度」が低い場合は対象行を「その他の行」と、また、「格納値類似度」が低く、かつ、「列数類似度」が高い場合は対象行を「データ項目行」と、また、「格納値類似度」が高く、かつ、「列数類似度」が高い場合は対象行を「データ行」と、夫々推
定するものである。尚、類似度の高低の判定は、求めた類似度を予め設定した閾値と比較(類似度が閾値以上か閾値未満か)することにより行う。そのため、登録データ21の態様に応じて閾値を調節することで対象行の種類の推定精度を向上させることが可能である。
【0021】
図3A~
図3Cに、推定基準111に基づき登録データ21の対象行の種類を推定した例を示す。尚、
図3Aは、例示する登録データ21の1行目が対象行として選択されている場合である。また
図3Bは、例示する登録データ21の3行目が対象行として選択されている場合である。また
図3Cは、例示する登録データ21の4行目が対象行として選択されている場合である。
【0022】
例えば、
図3Aでは、対象行(1行目)のA列のセルの値「表題:」と各後続行の「公
開日:」、「調査年」、「2019年度」等との間の類似度が低く、対象行のB列のセルの値
「地域別所得」と各後続行の「2022年2月9日」、「地域」、「北海道 札幌市」等との間
の類似度が低く、対象行のC列のセルの値「 」と各後続行の「 」、「所得(千円)」、「123456789」等との間の類似度が低くなっている。また、対象行の列数は「2」であ
るが、各後続行の列数は「3」であり、両者の間の類似度は低い。そのため、この例の場合、データ利用支援装置100は、「格納値類似度」が低く、かつ、「列数類似度」が低いことを理由として、対象行の種類を「その他の行」と推定する。
【0023】
また例えば、
図3Bでは、対象行(3行目)のA列のセルの値「調査年」と各後続行の「2019年度」、「2019年度」等と間の類似度が低く、対象行のB列のセルの値「地域」と各後続行の「北海道 札幌市」、「北海道 函館市」等との間の類似度が低く、対象行のC列のセルの値「所得(千円)」と各後続行の「1234567890」、「222555888」等との間の
類似度が低くなっている。また、対象行の列数は「3」であり、各後続行の列数も「3」であるため両者の類似度は高い。そのため、この例の場合、データ利用支援装置100は、「格納値類似度」が低く、かつ、「列数類似度」が高いことを理由として、対象行の種類を「データ項目行」と推定する。
【0024】
また例えば、
図3Cでは、対象行(4行目)のA列目のセルの値「2019年度」と各後続行の「2019年度」、「2019年度」等との間の類似度が高く、対象行のB列のセルの値「北海道 札幌市」と各後続行の「北海道 札幌市」、「北海道 函館市」等との間の類似度が
高く、対象行のC列のセルの値「1234567890」と各後続行の「1234567890」、「222555888」等との間の類似度が高くなっている。また、対象行の列数は「3」であり、各後続行
の列数も「3」であるため両者の類似度は高い。そのため、この例の場合、データ利用支援装置100は、「格納値類似度」が高く、かつ、「列数類似度」が高いことを理由として、対象行の種類を「データ行」と推定する。
【0025】
尚、以上に示した「格納値類似度」及び「列数類似度」を用いた行の種類の推定方法は一例に過ぎず、この方法以外の方法でデータ利用支援装置100が行の種類を推定するようにしてもよい。例えば、データ利用支援装置100が、表形式データ(例えば、過去に種類の推定を行った登録データ21)の行と当該行の後続行とに基づき算出される類似度に基づく情報を説明変数とし、当該行の種類を示す情報を目的変数とする学習データにより学習した機械学習モデルを生成し、登録データ21の各行の記述を上記の機械学習モデルに入力することにより上記の推定を行ってもよい。機械学習モデルを用いた場合、モデルの学習が繰り返されることによる行の種類の推定精度の向上が期待できる。
【0026】
以下に機械学習モデルを用いて行の種類の推定を行う仕組みの具体例を示す。本例では、データ利用支援装置100が、正規化編集距離(標準化されたレーベンシュタイン距離(normalized Levenshtein distance))、形態素解析、及び機械学習を組み合わせた、次
に示す手順(併せて
図4を参照)により登録データ21の各行の種類を推定する。
<手順>
1.各列について、対象行と後続する各行との間の格納値類似度の最高値を求める。類似度は以下の方法で求める。
1-1.正規化編集距離(文字列として似ていれば高類似度)
1-2.形態素のコサイン類似度(含有する品詞が似ていれば高類似度)
2.各列について、上記の最高値の平均を求める。
3.「データ項目行」の列数と「データ行」の列数の差の平均を求める。
4.過去のデータに基づく学習データ(上記の3つの値を説明変数とし、推定結果を目的変数とする学習データ)を生成し、生成した学習データにより学習した機械学習モデルを生成し、生成した機械学習モデルを用いて各行の種類を推定する。
【0027】
データ利用支援装置100は、以上のようにして行の種類(「その他の行」、「データ項目行」、「データ行」)を推定した結果を、ユーザインタフェースを介してユーザ(例えば、登録データ21を登録したユーザ)に提示し、ユーザに確認もしくは修正を促す。
【0028】
図5A~
図5Cに、上記の確認及び修正に際してデータ利用支援装置100が表示する画面(以下、「推定結果提示画面500」と称する。)の例を示す。
【0029】
図5Aは、登録データ21について「データ項目行」が一つだけ(単数)推定された場合にデータ利用支援装置100が表示する推定結果提示画面500の一例である。例示する推定結果提示画面500は、登録データ表示欄511、推定結果表示欄512、推定結果修正欄513、メッセージ表示欄514、及びデータ登録ボタン515を有する。
【0030】
登録データ表示欄511には、登録データ21の内容が表示される。この例は、データ利用支援装置100が、登録データ21の3行目を「データ項目行」として推定した場合である。ユーザは、登録データ表示欄511における当該行の各列のデータ項目名を編集することができる。
【0031】
推定結果表示欄512には、各行の種類の推定結果が表示される。推定結果修正欄513はプルダウンメニュー形式になっており、データ利用支援装置100の推定結果が誤っている場合、ユーザは、プルダウンメニューから種類(「その他の行」、「データ項目行」、「データ行」)を選択することにより各行の種類を修正することができる。
【0032】
メッセージ表示欄514には、推定結果に関するメッセージが表示される。ユーザがデータ登録ボタン515を操作すると、データ利用支援装置100は、当該画面に設定された内容に基づき整形後データ31を生成して記憶する。
【0033】
図5Bは、登録データ21について「データ項目行」が一つも見つからなかった場合にデータ利用支援装置100が表示する推定結果提示画面500の一例である。尚、画面の構成は
図5Aと同様である。
【0034】
この例では、「データ項目行」が一つも見つからなかったため、データ利用支援装置100は、登録データ表示欄511にデータ項目名の入力欄を表示し、メッセージ表示欄514にてデータ項目名を設定するようユーザに促している。尚、この画面では、「データ行」の各列に対応するデータ項目名を全て入力しない限り、ユーザがデータ登録ボタン515を操作することができない。
【0035】
図5Cは、登録データ21について「データ項目行」が複数(この例では2つ)推定された場合にデータ利用支援装置100が表示する推定結果提示画面500の一例である。
尚、画面の構成は
図5Aと同様である。
【0036】
この例では、「データ項目行」が複数推定されたため、データ利用支援装置100は、「データ項目行」が単数になるように推定結果修正欄513を設定するようユーザに促している。尚、この画面では、「データ項目行」が単数になるように修正しない限り、ユーザがデータ登録ボタン515を操作することができない。
【0037】
図6に、以上のようにして各行の種類を推定した結果(ユーザが推定結果提示画面500により確認もしくは編集した結果)に基づきデータ利用支援装置100が生成する整形後データ31の一例を示す。例示する整形後データ31は、登録データ21から「その他の行」(もしくは「その他の行」の記述)を削除した内容になっている。
【0038】
図7は、データ利用支援システム1を構成する各装置が備える主な機能を示す図である。以下、同図とともに各装置の機能について説明する。
【0039】
同図に示すように、データ利用支援装置100は、記憶部110、データ登録部120、及びデータ提供部130の各機能を備える。
【0040】
このうち記憶部110は、登録データ21、整形後データ31、及び推定基準111を記憶する。
【0041】
同図に示すように、データ登録部120は、登録データ受信部121、行間類似度算出部122、行毎種類推定部123、推定結果提示部124、修正結果受信部125、及び整形後データ生成部126の各機能を有する。
【0042】
このうち登録データ受信部121は、データ登録装置2から送られてくる登録データ21を受信する。
【0043】
行間類似度算出部122は、登録データ21の各行について前述した類似度を求める。
【0044】
行毎種類推定部123は、求めた類似度に基づき登録データ21の各行の種類を推定する。
【0045】
推定結果提示部124は、各行の種類の推定結果をデータ登録装置2を介してユーザに提示(例えば、データ登録装置2が
図5A~
図5Cに例示した画面を表示)する。
【0046】
修正結果受信部125は、データ登録装置2から、上記推定結果をユーザが修正した内容を受信する。
【0047】
整形後データ生成部126は、上記推定結果(ユーザが推定結果を修正した場合は修正後の推定結果)に基づき整形後データ31を生成する。
【0048】
同図に示すように、データ提供部130は、データ要求受信部131及びデータ送信部132を有する。
【0049】
このうちデータ提供部130は、データ利用装置3からの整形後データ31の提供要求を受信する。
【0050】
データ送信部132は、提供要求に応じて、提供要求に指定されている整形後データ31をデータ利用装置3に送信する。
【0051】
同図に示すように、データ登録装置2は、登録データ受付部211、登録データ送信部212、及び推定結果編集部213の各機能を備える。
【0052】
このうち登録データ受付部211は、ユーザから登録データ21の入力を受け付ける。
【0053】
登録データ送信部212は、受け付けた登録データ21をデータ利用支援装置100に送信する。
【0054】
推定結果編集部213は、データ利用支援装置100から送られてくる各行の種類の推定結果をユーザに提示する。また、推定結果編集部213は、ユーザから推定結果に対する修正を受け付け(例えば、
図5A~
図5Cに例示した画面を表示してユーザから修正を受け付け)、受け付けた修正の内容を修正結果としてデータ利用支援装置100に送信する。
【0055】
同図に示すように、データ利用装置3は、データ提供要求送信部311、整形後データ受信部312、及びデータ利用部313の各機能を備える。
【0056】
このうちデータ提供要求送信部311は、整形後データ31の提供要求をデータ利用支援装置100に送信する。
【0057】
整形後データ受信部312は、データ利用支援装置100から送られてくる整形後データ31を受信して記憶する。
【0058】
データ利用部313は、例えば、表計算ソフトウェアにより実現される機能であり、整形後データ31を利用する各種の処理を行う。
【0059】
図8は、ユーザ(データ提供者等)がデータ登録装置2を介して登録データ21をデータ利用支援装置100に登録する際にデータ利用支援システム1において行われる処理の一例(以下、「データ登録処理S800」と称する。)を説明するシーケンス図である。以下、同図とともにデータ登録処理S800について説明する。
【0060】
まず、ユーザが、登録データ21をデータ登録装置2に入力(アップロード)する(S811)。
【0061】
データ登録装置2は、登録データ21が入力されると、入力された登録データ21をデータ利用支援装置100に送信する(S812)。
【0062】
データ利用支援装置100は、送られてきた登録データ21を受信して記憶する(S813)。そして、データ利用支援装置100は、登録データ21について前述した類似度を求めて推定基準111と対照することにより各行の種類を推定し(S814)、推定結果をデータ登録装置2に送信する(S815)。
【0063】
データ登録装置2は、推定結果を受信するとその内容を表示し、ユーザに確認又は修正を促し(S816)、確認の結果又は修正結果を受け付け(S817)、受け付けた結果をデータ利用支援装置100に送信する(S818)。
【0064】
データ利用支援装置100は、確認の結果又は修正結果を受信すると、整形後データ31を生成して記憶する(S819)。
【0065】
図9は、
図8のデータ登録処理S800のS814においてデータ登録部120が行う処理(以下、「行毎種類推定処理S814」と称する。)の詳細を説明するフローチャートである。以下、同図とともに行毎種類推定処理S814について説明する。
【0066】
同図に示すS911s~S911eの処理は、データ登録部120が、登録データ21の先頭行から順に1行ずつ対象行を選択して繰り返し行われるループ処理である。
【0067】
まず、S912では、データ登録部120が、対象行と後続行を対照して類似度を求める(S912)。
【0068】
S913では、データ登録部120が、求めた類似度を推定基準111と対照して対象行の種類を推定する。
【0069】
上記のループ処理S911s~S911eが終了すると、データ登録部120は、登録データ21の各行の種類の推定結果を出力する(S914)。
【0070】
図10は、ユーザ(データ利用者等)がデータ利用装置3を介して整形後データ31を取得し利用する際にデータ利用支援システム1において行われる処理の一例(以下、「データ利用処理S1000」と称する。)を説明するシーケンス図である。以下、同図とともにデータ利用処理S1000について説明する。
【0071】
まず、ユーザが、データ利用装置3に利用しようとする整形後データ31を特定する情報を入力する(S1011)。
【0072】
データ利用装置3は、上記入力を受け付けると、指定された整形後データ31の提供要求をデータ利用支援装置100に送信する(S1012)。
【0073】
データ利用支援装置100は、上記提供要求を受信すると、指定された整形後データ31を検索し(S1013)、データ利用装置3に送信する(S1014)。
【0074】
データ利用装置3は、整形後データ31を受信すると、受信した整形後データ1015を出力する(もしくは、データ利用部313に引き渡す)(S1015)。
【0075】
以上に説明したように、第1実施形態のデータ利用支援システム1においては、データ利用支援装置100が、登録データ21の各行の種類を自動的に推定し、推定した結果に基づき整形後データ31を生成するので、ユーザは、「その他の行」と推定されるような記述を含むデータを煩雑な整形作業を行うことなく効率よくデータを利用することができる。また、各行の種類の推定結果について修正する必要がある場合は、データ利用支援システム1が提供するユーザインタフェースを利用して効率よくデータを修正することができる。このように、第1実施形態のデータ利用支援システム1によれば、多様な様式で記述されたデータを利用する際の整形の煩雑さを軽減し、データの効率的な利用を支援することができる。
【0076】
<情報処理装置の例>
図11に、以上に説明したデータ利用支援システム1(データ利用支援装置100、データ登録装置2、データ利用装置3)の構成に用いる情報処理装置の一例を示す。
【0077】
例示する情報処理装置10は、プロセッサ11、主記憶装置12(メモリ)、補助記憶装置13(外部記憶装置)、入力装置14、出力装置15、及び通信装置16を備える。これらはバスや通信ケーブル等を介して通信可能に接続されている。情報処理装置10の
例として、パーソナルコンピュータ、サーバ装置、スマートフォン、タブレット、オフィスコンピュータ、汎用機(メインフレーム)等がある。
【0078】
情報処理装置10は、その全部又は一部が、例えば、クラウドシステムによって提供される仮想サーバのように、仮想化技術やプロセス空間分離技術等を用いて提供される仮想的な情報処理資源を用いて実現されるものであってもよい。また、情報処理装置10によって提供される機能の全部又は一部は、例えば、クラウドシステムがAPI(Application Programming Interface)等を介して提供するサービスによって実現してもよい。また
、情報処理装置10によって提供される機能の全部又は一部は、例えば、SaaS(Software as a Service)、PaaS(Platform as a Service)、IaaS(Infrastructure
as a Service)等を利用して実現されるものであってもよい。
【0079】
プロセッサ11は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field Programmable
Gate Array)、ASIC(Application Specific Integrated Circuit)、AI(Artificial Intelligence)チップ等を用いて構成されている。
【0080】
主記憶装置12は、プロセッサ11がプログラムを実行する際に利用する装置であり、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、不揮発性メモリ(NVRAM(Non Volatile RAM))等である。データ利用支援システム1の各構成において実現される各種の機能は、夫々のプロセッサ11が、補助記憶装置13に格納(記憶)されているプログラムやデータを主記憶装置12に読み出して実行することにより実現される。
【0081】
補助記憶装置13は、プログラムやデータを記憶する装置であり、例えば、SSD(Solid State Drive)、ハードディスクドライブ、光学式記憶装置(CD(Compact Disc)
、DVD(Digital Versatile Disc)等)、ストレージシステム、ICカード、SDカードや光学式記録媒体等の非一時的な記録媒体の読取/書込装置、クラウドサーバの非一時的な記憶領域等で構成することができる。補助記憶装置13には、記録媒体の読取装置や通信装置16を介して、非一時的な記録媒体や非一時的な記憶装置を備えた他の情報処理装置からプログラムやデータを読み込むことができる。補助記憶装置13に格納(記憶)されているプログラムやデータは主記憶装置12に随時読み込まれる。
【0082】
入力装置14は、外部からの情報の入力を受け付けるインタフェースであり、例えば、キーボード、マウス、タッチパネル、カードリーダ、ペン入力方式のタブレット、音声入力装置等である。
【0083】
出力装置15は、処理経過や処理結果等の各種情報を外部に出力するインタフェースである。出力装置15は、例えば、上記の各種情報を可視化する表示装置(液晶モニタ、LCD(Liquid Crystal Display)、グラフィックカード等)、上記の各種情報を音声化する装置(音声出力装置(スピーカ等))、上記の各種情報を文字化する装置(印字装置等)である。尚、例えば、情報処理装置10が通信装置16を介して他の装置との間で情報の入力や出力を行う構成としてもよい。
【0084】
入力装置14と出力装置15は、ユーザとの間での対話処理(情報の受け付け、情報の提供等)を実現するユーザインタフェースを構成する。
【0085】
通信装置16は、他の装置との間の通信を実現する装置である。通信装置16は、通信ネットワーク5を介して他の装置との間の通信を実現する、有線方式又は無線方式の通信インタフェースであり、例えば、NIC(Network Interface Card)、無線通信モジュー
ル、USBモジュール等である。
【0086】
情報処理装置10には、例えば、オペレーティングシステム、ファイルシステム、DBMS(DataBase Management System)(リレーショナルデータベース、NoSQL等)、KVS(Key-Value Store)等が導入されていてもよい。
【0087】
[第2実施形態]
第1実施形態のデータ利用支援システム1では、データ利用支援装置100が、登録データ21の各行の後続行との間の類似性に着目して行の種類の推定を行ったが、第2実施形態のデータ利用支援装置100は、更に、過去に登録データ21について「データ項目行」として分類した行の記述(ユーザが推定結果を確認もしくは修正した結果。以下、「分類結果」と称する。)を用いて行の種類の推定を行う。尚、第2実施形態のデータ利用支援システム1の基本的な構成は第1実施形態と同様であるので、以下では第1実施形態との相違点を中心として説明する。
【0088】
図12は、第2実施形態のデータ利用支援システム1の概略的な構成を示す図である。同図に示すように、第2実施形態のデータ利用支援システム1は、データ利用支援装置100の記憶部110が、分類結果を分類履歴112として更に記憶する点、データ登録部120が更に分類履歴112を用いて行の種類の推定を行う点で第1実施形態と異なる。
【0089】
図13は、第2実施形態のデータ登録処理S800を説明するシーケンス図である。第2実施形態のデータ登録処理S800は、第1実施形態のデータ登録処理S800と類似するが、S814においてデータ登録部120が分類履歴112を用いて更に行の種類の推定を行う点、及び、S820においてデータ登録部120が、「データ項目行」として分類した行の記述を分類履歴112に追記する点で第1実施形態のデータ登録処理S800と異なる。
【0090】
図14は、
図12のデータ登録処理S800のS814において、第2実施形態のデータ登録部120が行う処理(以下、「行毎種類推定処理S814」と称する。)の詳細を説明するフローチャートである。以下、同図とともに第2実施形態の行毎種類推定処理S814について説明する。
【0091】
同図に示すS1411s~S1411eの処理は、データ登録部120が、登録データ21の先頭行から順に1行ずつ対象行を選択して繰り返し行われるループ処理である。
【0092】
まず、S1412では、データ登録部120が、対象行と後続行を対照して類似度(以下、「第1類似度」と称する。)を求める。
【0093】
続いて、データ登録部120が、第1類似度を推定基準111と対照して対象行の種類を推定する(S1413)。
【0094】
続いて、データ登録部120が、S1413における推定結果が「データ項目行」であるか否かを判定する(S1414)。推定結果が「データ項目行」であれば(S1414:YES)、現在の対象行の処理を終了して次の対象行の処理に移る。尚、後続行がない場合はループを抜ける。一方、推定結果が「データ項目行」でなければ(S1414:NO)、処理はS1415に進む。
【0095】
S1415では、データ登録部120が、対象行と分類履歴112を対照して類似度(以下、「第2類似度」と称する。)を求める。
【0096】
図15に分類履歴112の一例を示す。データ登録部120は、対象行の記述と分類履歴112の「データ項目行」と推定した行の記述との類似度を第2類似度として求める。尚、データ登録部120は、第2類似度を、例えば、各行のセルに格納されている文字情報(文字、文字列、数字、数字列等)の類似性や、各行のセルに格納されている単語の品詞や型(文字、数値)の類似性等に基づき求める。
【0097】
図14に戻り、S1416では、データ登録部120は、第2類似度が予め設定した閾値以上であるか否かを判定する。第2類似度が上記閾値以上でなければ(S1416:NO)、現在の対象行の処理を終了して次の対象行の処理に移る。尚、後続行がない場合はループを抜ける。一方、第2類似度が上記閾値以上であれば(S1416:YES)、データ登録部120は対象行を「データ項目行」と推定する。
【0098】
上記のループ処理S1411s~S1411eが終了すると、データ登録部120は、登録データ21の各行の種類の推定結果を出力する(S1418)。
【0099】
このように、第2実施形態では、データ利用支援装置100が、過去に行った行の種類の推定結果である分類履歴112を用いて行の推定を行う。このため、例えば、「データ項目行」とすべき行でありながら第1実施形態の方法ではデータ項目行と推定できなかった行を「データ項目行」と推定することができ、行の種類の推定精度を高めることができる。
【0100】
以上、実施形態について説明したが、本発明は上記の実施形態に限定されるものではなく、様々な変形例が含まれ、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることや、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加、削除、置換をすることが可能である。
【符号の説明】
【0101】
1 データ利用支援システム、2 データ登録装置、211 登録データ受付部、212
登録データ送信部、213 推定結果編集部、3 データ利用装置、311 データ提供要求送信部、312 整形後データ受信部、313 データ利用部、21 登録データ、31 整形後データ、100 データ利用支援装置、110 記憶部、111 推定基準、112 分類履歴、120 データ登録部、121 登録データ受信部、122 行間類似度算出部、123 行毎種類推定部、124 推定結果提示部、125 修正結果受信部、126 整形後データ生成部、130 データ提供部、131 データ要求受信部、132 データ送信部、500 推定結果提示画面、S800 データ登録処理、S814 行毎種類推定処理