(57)【要約】【課題】表形式データの表種類を精度よく分類することができるようにする。【解決手段】セル符号化部７２が、セルの行列として記述された表形式データについて、表の各セルに対し、該セルに記載されたテキスト情報に含まれるトークンの系列を入力として、セルを連続値ベクトルに符号化する。行符号化部７４が、表形式データについて、表の各行に対し、該行に含まれる各セルの連続値ベクトルを入力として、行を連続値ベクトルに符号化する。列符号化部７６が、表形式データについて、表の各列に対し、該列に含まれる各セルの連続値ベクトルを入力として、列を連続値ベクトルに符号化する。表符号化部７８が、表形式データについて、各行及び各列の連続値ベクトルの系列を入力として、表を連続値ベクトルに符号化する。表種類分類部８０が、表符号化部７８が出力した連続値ベクトルと、分類器とに基づいて、表形式データの表の種類を分類する。【選択図】図３
2018045626.tif 000002
【特許請求の範囲】
【請求項１】
セルの行列として記述された表形式データと表の種類を表す正解ラベルとの組の集合である訓練データ集合に含まれる前記表形式データの各々について、表の各セルに対し、該セルに記載されたテキスト情報に含まれるトークンの系列を入力として、セルを連続値ベクトルに符号化するセル符号化部と、
前記訓練データ集合に含まれる前記表形式データの各々について、表の各行に対し、前記セル符号化部が出力した、該行に含まれる各セルの連続値ベクトルの系列を入力として、行を連続値ベクトルに符号化する行符号化部と、
前記訓練データ集合に含まれる前記表形式データの各々について、表の各列に対し、前記セル符号化部が出力した、該列に含まれる各セルの連続値ベクトルの系列を入力として、列を連続値ベクトルに符号化する列符号化部と、
前記訓練データ集合に含まれる前記表形式データの各々について、前記行符号化部および前記列符号化部が出力した各行及び各列の連続値ベクトルの系列を入力として、表を連続値ベクトルに符号化する表符号化部と、
前記訓練データ集合に含まれる前記表形式データの各々について前記表符号化部が出力した連続値ベクトルと、前記訓練データ集合に含まれる前記正解ラベルとに基づいて、表形式データの表の種類を分類するための分類器を学習する学習部と、
を有することを特徴とする分類器学習装置。
【請求項２】
セルの行列として記述された表形式データについて、表の各セルに対し、該セルに記載されたテキスト情報に含まれるトークンの系列を入力として、セルを連続値ベクトルに符号化するセル符号化部と、
前記表形式データについて、表の各行に対し、前記セル符号化部が出力した、該行に含まれる各セルの連続値ベクトルを入力として、行を連続値ベクトルに符号化する行符号化部と、
前記表形式データについて、表の各列に対し、前記セル符号化部が出力した、該列に含まれる各セルの連続値ベクトルを入力として、列を連続値ベクトルに符号化する列符号化部と、
前記表形式データについて、前記行符号化部および前記列符号化部が出力した各行及び各列の連続値ベクトルの系列を入力として、表を連続値ベクトルに符号化する表符号化部と、
前記表符号化部が出力した連続値ベクトルと、表形式データの表の種類を分類するための予め学習された分類器とに基づいて、前記表形式データの表の種類を分類する表種類分類部と、
を有することを特徴とする表種類分類装置。
【請求項３】
セル符号化部が、セルの行列として記述された表形式データと表の種類を表す正解ラベルとの組の集合である訓練データ集合に含まれる前記表形式データの各々について、表の各セルに対し、該セルに記載されたテキスト情報に含まれるトークンの系列を入力として、セルを連続値ベクトルに符号化し、
行符号化部が、前記訓練データ集合に含まれる前記表形式データの各々について、表の各行に対し、前記セル符号化部が出力した、該行に含まれる各セルの連続値ベクトルの系列を入力として、行を連続値ベクトルに符号化し、
列符号化部が、前記訓練データ集合に含まれる前記表形式データの各々について、表の各列に対し、前記セル符号化部が出力した、該列に含まれる各セルの連続値ベクトルの系列を入力として、列を連続値ベクトルに符号化し、
表符号化部が、前記訓練データ集合に含まれる前記表形式データの各々について、前記行符号化部および前記列符号化部が出力した各行及び各列の連続値ベクトルの系列を入力として、表を連続値ベクトルに符号化し、
学習部が、前記訓練データ集合に含まれる前記表形式データの各々について前記表符号化部が出力した連続値ベクトルと、前記訓練データ集合に含まれる前記正解ラベルとに基づいて、表形式データの表の種類を分類するための分類器を学習する、
分類器学習方法。
【請求項４】
セル符号化部が、セルの行列として記述された表形式データについて、表の各セルに対し、該セルに記載されたテキスト情報に含まれるトークンの系列を入力として、セルを連続値ベクトルに符号化し、
行符号化部が、前記表形式データについて、表の各行に対し、前記セル符号化部が出力した、該行に含まれる各セルの連続値ベクトルを入力として、行を連続値ベクトルに符号化し、
列符号化部が、前記表形式データについて、表の各列に対し、前記セル符号化部が出力した、該列に含まれる各セルの連続値ベクトルを入力として、列を連続値ベクトルに符号化し、
表符号化部が、前記表形式データについて、前記行符号化部および前記列符号化部が出力した各行及び各列の連続値ベクトルの系列を入力として、表を連続値ベクトルに符号化し、
表種類分類部が、前記表符号化部が出力した連続値ベクトルと、表形式データの表の種類を分類するための予め学習された分類器とに基づいて、前記表形式データの表の種類を分類する
表種類分類方法。
【請求項５】
コンピュータを、請求項１に記載の分類器学習装置、又は請求項２に記載の表種類分類装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表形式データの表種類を分類するための分類器学習装置、表種類分類装置、方法、及びプログラムに関するものである。
【背景技術】
【０００２】
コンピュータ技術の発展により、Web上のHTMLで記述された表データや、表計算ソフトウェアなどで作成されたスプレッドシート上の表データは大量に存在するようになった。表データには、縦あるいは横方向のリスト型表、縦あるいは横方向の属性型表、縦あるいは横方向の列挙型表、行列型表、その他のレイアウト用表など幾つかの種類が存在する。この表タイプを正しく理解することができれば、情報検索や質問応答など幅広いサービスに応用可能な知識が獲得できる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Crestan, Eric and Patrick Pantel (2011). “Web-scale Table Census and Classification”. In: Proceedings of the 4th ACM International Conference on Web Search and Data Mining. ACM, pp. 545-554.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
表タイプを分類するための従来手法として、非特許文献１などがこれまで提案されている。
【０００５】
これらの従来手法は、表内のセルに記載されたテキスト情報について、テキストの長さ、テキストのタイプ（数値、日付、金額など）、テキストのパターン（特定の記号を含む）などの素性を利用しているが、セルの中に記載されたテキスト中の単語や文字列の出現順序、行・列内におけるセルの出現順序、行の出現順序、列の出現順序について考慮していない。
【０００６】
例えば、リスト型表は、ヘッダ部に属性、データ部に属性値が並ぶ表である。図６（Ａ）に示す例では、2行目について左から右にセルの系列を見ると、「月額費用」や「1800円」「2000円」というすべて金額に関するテキストが並んでいることが、この表が横方向リスト型であることの特徴になる。また、2〜4列目について、意味的に同様の列が並んでいることは横方向リスト型表の特徴になっている。
【０００７】
行列型表は、行および列のヘッダ部にエンティティ（回線○○、オプションAなど）が記載されるものである。図６（Ｂ）に示す例では、2行目について左から右にセルの系列を見ると、「回線○○」「1800円」というセルの並びになっており、意味的な系列はエンティティ→属性値と続くことから行列型の表の特徴となっている。
【０００８】
従来の技術では、図６（Ａ）、（Ｂ）に示すような同様の構造・テキスト長を持つリスト型と行列型の表については識別することができない。
【０００９】
本発明では、上記事情を鑑みて成されたものであり、入力された表データ全体から、行内のセルの順序、列内の順序表内の行の順序、表内の列の順序を考慮して、表形式データの表種類を精度よく分類することができる分類器学習装置、表種類分類装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明に係る分類器学習装置は、セルの行列として記述された表形式データと表の種類を表す正解ラベルとの組の集合である訓練データ集合に含まれる前記表形式データの各々について、表の各セルに対し、該セルに記載されたテキスト情報に含まれるトークンの系列を入力として、セルを連続値ベクトルに符号化するセル符号化部と、前記訓練データ集合に含まれる前記表形式データの各々について、表の各行に対し、前記セル符号化部が出力した、該行に含まれる各セルの連続値ベクトルの系列を入力として、行を連続値ベクトルに符号化する行符号化部と、前記訓練データ集合に含まれる前記表形式データの各々について、表の各列に対し、前記セル符号化部が出力した、該列に含まれる各セルの連続値ベクトルの系列を入力として、列を連続値ベクトルに符号化する列符号化部と、前記訓練データ集合に含まれる前記表形式データの各々について、前記行符号化部および前記列符号化部が出力した各行及び各列の連続値ベクトルの系列を入力として、表を連続値ベクトルに符号化する表符号化部と、前記訓練データ集合に含まれる前記表形式データの各々について前記表符号化部が出力した連続値ベクトルと、前記訓練データ集合に含まれる前記正解ラベルとに基づいて、表形式データの表の種類を分類するための分類器を学習する学習部と、を含んで構成されている。
【００１１】
本発明に係る分類器学習方法は、セル符号化部が、セルの行列として記述された表形式データと表の種類を表す正解ラベルとの組の集合である訓練データ集合に含まれる前記表形式データの各々について、表の各セルに対し、該セルに記載されたテキスト情報に含まれるトークンの系列を入力として、セルを連続値ベクトルに符号化し、行符号化部が、前記訓練データ集合に含まれる前記表形式データの各々について、表の各行に対し、前記セル符号化部が出力した、該行に含まれる各セルの連続値ベクトルの系列を入力として、行を連続値ベクトルに符号化し、列符号化部が、前記訓練データ集合に含まれる前記表形式データの各々について、表の各列に対し、前記セル符号化部が出力した、該列に含まれる各セルの連続値ベクトルの系列を入力として、列を連続値ベクトルに符号化し、表符号化部が、前記訓練データ集合に含まれる前記表形式データの各々について、前記行符号化部および前記列符号化部が出力した各行及び各列の連続値ベクトルの系列を入力として、表を連続値ベクトルに符号化し、学習部が、前記訓練データ集合に含まれる前記表形式データの各々について前記表符号化部が出力した連続値ベクトルと、前記訓練データ集合に含まれる前記正解ラベルとに基づいて、表形式データの表の種類を分類するための分類器を学習する。
【００１２】
本発明に係る表種類分類装置は、セルの行列として記述された表形式データについて、表の各セルに対し、該セルに記載されたテキスト情報に含まれるトークンの系列を入力として、セルを連続値ベクトルに符号化するセル符号化部と、前記表形式データについて、表の各行に対し、前記セル符号化部が出力した、該行に含まれる各セルの連続値ベクトルを入力として、行を連続値ベクトルに符号化する行符号化部と、前記表形式データについて、表の各列に対し、前記セル符号化部が出力した、該列に含まれる各セルの連続値ベクトルを入力として、列を連続値ベクトルに符号化する列符号化部と、前記表形式データについて、前記行符号化部および前記列符号化部が出力した各行及び各列の連続値ベクトルの系列を入力として、表を連続値ベクトルに符号化する表符号化部と、前記表符号化部が出力した連続値ベクトルと、表形式データの表の種類を分類するための予め学習された分類器とに基づいて、前記表形式データの表の種類を分類する表種類分類部と、を含んで構成されている。
【００１３】
本発明に係る表種類分類方法は、セル符号化部が、セルの行列として記述された表形式データについて、表の各セルに対し、該セルに記載されたテキスト情報に含まれるトークンの系列を入力として、セルを連続値ベクトルに符号化し、行符号化部が、前記表形式データについて、表の各行に対し、前記セル符号化部が出力した、該行に含まれる各セルの連続値ベクトルを入力として、行を連続値ベクトルに符号化し、列符号化部が、前記表形式データについて、表の各列に対し、前記セル符号化部が出力した、該列に含まれる各セルの連続値ベクトルを入力として、列を連続値ベクトルに符号化し、表符号化部が、前記表形式データについて、前記行符号化部および前記列符号化部が出力した各行及び各列の連続値ベクトルの系列を入力として、表を連続値ベクトルに符号化し、表種類分類部が、前記表符号化部が出力した連続値ベクトルと、表形式データの表の種類を分類するための予め学習された分類器とに基づいて、前記表形式データの表の種類を分類する。
【００１４】
また、本発明のプログラムは、コンピュータを、上記の分類器学習装置、又は表種類分類装置を構成する各部として機能させるためのプログラムである。
【発明の効果】
【００１５】
以上説明したように、本発明の分類器学習装置、方法、及びプログラムによれば、セルを連続値ベクトルに符号化し、各セルの連続値ベクトルの系列を入力として、行を連続値ベクトルに符号化し、各セルの連続値ベクトルの系列を入力として、列を連続値ベクトルに符号化し、各行及び各列の連続値ベクトルの系列を入力として、表を連続値ベクトルに符号化し、表形式データの表の種類を分類するための分類器を学習することにより、入力された表データ全体から、行内のセルの順序、列内の順序表内の行の順序、表内の列の順序を考慮して、表形式データの表種類を精度よく分類することができる分類器を学習することができる。
【００１６】
また、本発明の表種類分類装置、方法、及びプログラムによれば、セルを連続値ベクトルに符号化し、各セルの連続値ベクトルの系列を入力として、行を連続値ベクトルに符号化し、各セルの連続値ベクトルの系列を入力として、列を連続値ベクトルに符号化し、各行及び各列の連続値ベクトルの系列を入力として、表を連続値ベクトルに符号化し、表形式データの表の種類を分類することにより、入力された表データ全体から、行内のセルの順序、列内の順序表内の行の順序、表内の列の順序を考慮して、表形式データの表種類を精度よく分類することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態に係る分類器学習装置の機能的構成を示すブロック図である。
【図２】表符号化ベクトルを生成する方法を説明するための図である。
【図３】本発明の実施形態に係る表種類分類装置の機能的構成を示すブロック図である。
【図４】本発明の実施形態に係る分類器学習装置における分類器学習処理ルーチンのフローチャート図である。
【図５】本発明の実施形態に係る表種類分類装置における表種類分類処理ルーチンのフローチャート図である。
【図６】（Ａ）横リスト型の表形式データの一例を示す図、及び（Ｂ）行列型の表形式データの一例を示す図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【００１９】
＜本発明の実施の形態に係る分類器学習装置の構成＞
次に、本発明の実施の形態に係る分類器学習装置の構成について説明する。図１に示すように、本実施の形態に係る分類器学習装置１００は、ＣＰＵと、ＲＡＭと、後述する分類器学習処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。この分類器学習装置１００は、機能的には図１に示すように入力部１０と、演算部２０と、出力部４０とを含んで構成されている。
【００２０】
入力部１０は、表形式データと表種類を表す正解ラベルとの組の集合である訓練データ集合を受け付ける。
【００２１】
表形式データは、行列形式のセルの集合であり、各セルはHTMLを含まないプレーンテキスト情報、あるいは、HTMLタグを含むテキスト情報が与えられる
【００２２】
表種類は、例えば、縦あるいは横方向のリスト型表、縦あるいは横方向の属性型表、縦あるいは横方向の列挙型表、行列型表、その他のレイアウト用表などである。
【００２３】
演算部２０は、図１に示すように、セル符号化部２２、行符号化部２４、列符号化部２６、表符号化部２８、及び学習部３０を備えて構成されている。
【００２４】
セル符号化部２２は、訓練データ集合に含まれる表形式データの各々について、表の各セルについて、当該セルに記載されたテキスト情報に含まれるトークンの系列を入力として、セルを連続値ベクトルに符号化する。
【００２５】
具体的には、セル符号化部２２は、訓練データ集合の表の各々に関して、該表に含まれるすべてのセルci,j（行番号i, 列番号j）について、以下の処理を行い、各セルの符号化ベクトルhi,jを出力する。
【００２６】
まず、セル符号化部２２は、セルci,jに記載のテキスト情報を形態素解析により単語（トークンと呼ぶ）の系列に分割する。たとえば、プレーンテキストとして「月額費用」を受け取った場合「月額」「費用」というトークン系列に分割する。また、HTMLテキストとして「<th><b>月額</b>費用</th>」を受け取った場合、HTMLタグごとに分割し、タグ内のテキストについて形態素解析することで「<th>」「<b>」「月額」「</b>」「費用」「</th>」のように分割する。なお、テキスト情報を文字ごとに分割して1文字をトークンとしてもよい。
【００２７】
次に、セル符号化部２２は、セルci,jに含まれるトークンの系列を連続値の符号化ベクトルhi,jに変換する。
【００２８】
系列データの符号化には、非特許文献２に示すLSTMや、非特許文献３に示すGRUが利用可能である。
【００２９】
［非特許文献2］：S Hochreiter, J Schmidhuber. Long short-term memory. Neural computation 9 (8), 1735-1780, 1997.
【００３０】
［非特許文献3］：K. Cho, B. van Merrienboer, D. Bahdanau, and Y. Bengio. On the properties of neural machine translation: Encoder-decoder approaches. arXiv preprint arXiv:1409.1259, 2014.
【００３１】
GRUを利用する場合、トークン系列の各トークンをx、Nc次元の符号化ベクトルをhとしたとき、トークンxが与えられるたびにhを下記の計算により更新する。
【００３２】
【数１】
2018045626.tif 000003
【００３３】
ここで、σはシグモイド関数、
2018045626.tif 000004
は行列の要素ごとの積を意味する。Ｗe、Ｗr、Ｕr、Ｗz、Ｕz、Ｗ、Ｕはセル間で共通のパラメータ行列である。トークンの種類をK種類、埋め込み次元をEとしたとき、xはK次元の1-of-Kベクトル（トークンに対応する部分のみ1、他は0）となる。ＷeはE×K次元のパラメータ行列となる。その他のＷ.はNc×E次元のパラメータ行列となる。Ｕ.はNc×Nc次元のパラメータ行列となる。hの初期値はNc次元の零ベクトルである。
【００３４】
なお、式(2)のGRUの代わりにLSTMを利用して符号化ベクトルhi,jを出力しても良い。また、トークン系列を逆順にして同様に符号化ベクトルhi,jbを出力し、正順の符号化ベクトルと連結したベクトル[hi,j;hi,jb]をセル符号化部２２の出力としても良い。この場合、符号化ベクトルのサイズは2Ncとなる。
【００３５】
行符号化部２４は、訓練データ集合に含まれる表形式データの各々について、表の各行に対し、セル符号化部２２が出力した、該行に含まれる各セルの連続値ベクトルの系列を入力として、行を連続値ベクトルに符号化する。
【００３６】
具体的には、行符号化部２４は、表に含まれるすべての行（行番号i）について、以下の処理を行い、行内に含まれる各セルの符号化ベクトルhi,jの系列(j=1,2,…)を連続値の符号化ベクトルhiに変換する。例えば、hiをNr次元の零ベクトルとして初期化し、セルの符号化ベクトルhi,jが与えられるたびに上記式(2)のeとしてhi,jを代入することでhiを更新する。Ｗe、Ｗr、Ｕr、Ｗz、Ｕz、Ｗ、Ｕは行間で共通のパラメータ行列とし、Ｗ.はNr×Nc次元のパラメータ行列となる。Ｕ.はNr×Nr次元のパラメータ行列となる。
【００３７】
なお、式(2)のGRUの代わりにLSTMを利用して符号化ベクトルを出力しても良い。また、行内のセルの系列を逆順にして同様に符号化ベクトルhibを出力し、正順の符号化ベクトルと連結したベクトル[hi;hib]を行符号化部２４の出力としても良い。この場合、符号化ベクトルのサイズは2Nrとなる。
【００３８】
列符号化部２６は、訓練データ集合に含まれる表形式データの各々について、表の各列に対し、セル符号化部２２が出力した、該列に含まれるセルの連続値ベクトルの系列を入力として、列を連続値ベクトルに符号化する。
【００３９】
具体的には、列符号化部２６は、表に含まれるすべての列（列番号i）について、以下の処理を行い、列内に含まれる各セルの符号化ベクトルhi,jの系列(i=1,2,…)を連続値の符号化ベクトルhjに変換する。例えば、hjをNo次元の零ベクトルとして初期化し、セルの符号化ベクトルhi,jが与えられるたびに式(2)のe=hi,j、h=hjと代入することでhjを更新する。Ｗe、Ｗr、Ｕr、Ｗz、Ｕz、Ｗ、Ｕは列間で共通のパラメータ行列とし、Ｗ.はNo×Nc次元のパラメータ行列となる。Ｕ.はNo×No次元のパラメータ行列となる。
【００４０】
なお、式(2)のGRUの代わりにLSTMを利用して符号化ベクトルを出力しても良い。また、列内のセルの系列を逆順にして同様に符号化ベクトルhjbを出力し、正順の符号化ベクトルと連結したベクトル[hj;hjb]を列符号化部２６の出力としても良い。この場合、符号化ベクトルのサイズは2Noとなる。
【００４１】
表符号化部２８は、訓練データ集合に含まれる表形式データの各々について、行符号化部２４および列符号化部２６が出力した各行及び各列の連続値ベクトルの系列を入力として、表を連続値ベクトルに符号化する。
【００４２】
具体的には、まず、表符号化部２８は、各行の符号化ベクトルhiの系列(i=1,2,…)を連続値の符号化ベクトルhrowに変換する。例えば、hrowをNo次元の零ベクトルとして初期化し、行の符号化ベクトルhiが与えられるたびに式(2)のe=hi、h= hrowと代入することで更新する。Ｗe、Ｗr、Ｕr、Ｗz、Ｕz、Ｗ、Ｕをパラメータ行列とし、Ｗ.はNt×Nr次元のパラメータ行列となる。Ｕ.はNt×Nt次元のパラメータ行列となる。
【００４３】
なお、式(2)のGRUの代わりにLSTMを利用して符号化ベクトルを出力しても良い。また、行の系列を逆順にして同様に符号化ベクトルhrowbを出力し、正順の符号化ベクトルと連結したベクトル[hrow;hrowb]を出力しても良い。この場合、符号化ベクトルのサイズは2Ntとなる。
【００４４】
そして、表符号化部２８は、各列の符号化ベクトルhjの系列(j=1,2,…)を連続値の符号化ベクトルhcolに変換する。例えば、hcolをNt次元の零ベクトルとして初期化し、列の符号化ベクトルhjが与えられるたびに式(2)のe=hi、h= hcolと代入することで更新する。Ｗe、Ｗr、Ｕr、Ｗz、Ｕz、Ｗ、Ｕをパラメータ行列（連続値の符号化ベクトルhrowへの変換とは別のパラメータとする）とし、Ｗ.はNt×No次元のパラメータ行列となる。Ｕ.はNt×Nt次元のパラメータ行列となる。
【００４５】
なお、式(2)のGRUの代わりにLSTMを利用して符号化ベクトルを出力しても良い。また、行の系列を逆順にして同様に符号化ベクトルhcolbを出力し、正順の符号化ベクトルと連結したベクトル[hcol;hcolb]を出力しても良い。この場合、符号化ベクトルのサイズは2Ntとなる。
【００４６】
表符号化部２８は、上記で出力したベクトルを連結した[hrow;hcol]を表の符号化ベクトルhとして出力する。
【００４７】
学習部３０は、訓練データ集合に含まれる表形式データの各々について表符号化部２８が出力した連続値ベクトルと、訓練データ集合に含まれる正解ラベルとに基づいて、表形式データの表の種類を分類するための分類器を学習する。
【００４８】
具体的には、学習部３０は、訓練データ集合に含まれる表のそれぞれについて、表符号化部２８の出力した表符号化ベクトルh（次元数2Nt）を入力として、以下の式（３）に従って、表種類のクラス分類（クラス数=C）を行う。
【００４９】
【数２】
2018045626.tif 000005
【００５０】
ここで、Wclsは2Nt×Cのサイズのパラメータ行列とし、softmaxはソフトマックス関数、yは次元数Cのベクトルである。なお、本実施例では、C=6とし、横方向リスト型、縦方向リスト型、横方向属性型、縦方向属性型、行列型、その他、の6種類のクラスとする。
【００５１】
そして、学習部３０は、訓練データ集合に含まれる表のそれぞれについて、該表の正解クラスt(t=1,…Cのとき、それぞれ横方向リスト型、縦方向リスト型、横方向属性型、縦方向属性型、行列型、その他を意味する)と、該表に対するクラス分類の出力yとを用いて、式(4)のクロスエントロピー関数により損失Lを計算する。
【００５２】
【数３】
2018045626.tif 000006
【００５３】
そして、学習部３０は、上記式（４）により求めた各表に対する損失Lについて確率的勾配降下法によりセル符号化部２２、行符号化部２４、列符号化部２６、表符号化部２８の行方向、列方向の各パラメータ行列について最適化を行う。なお、本発明は最適化の方法には依存しておらず、他のニューラルネットのパラメータに対する他の最適化法を利用しても良い。
【００５４】
図２に、セル・行・表の符号化ベクトルの例を示す。この例ではセル符号化部２２はセルc3,1に記載の”<td>1000</td>”というHTMLテキストから<td>, 1000, </td>というトークン系列を抽出し、GRUによりセルベクトルh3,1に符号化する。次に、行符号化部２４は各行のセルの並びを行ベクトルに符号化する。この例では、3行目のセルベクトルの系列をGRUにより符号化し、行ベクトルh3を獲得する。そして、表符号化部２８が行の系列をGRUにより符号化し表ベクトルhrowを求める。同様にhcolを列の系列から求め、[hrow; hcol]の連結ベクトルを用いてクラス分類を行う。
【００５５】
＜本発明の実施の形態に係る表種類分類装置の構成＞
次に、本発明の実施の形態に係る表種類分類装置の構成について説明する。図３に示すように、本実施の形態に係る表種類分類装置１５０は、ＣＰＵと、ＲＡＭと、後述する表種類分類処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。この表種類分類装置１５０は、機能的には図３に示すように入力部６０と、演算部７０と、出力部９０とを含んで構成されている。
【００５６】
入力部６０は、分類対象となる表形式データを受け付ける。
【００５７】
演算部７０は、図３に示すように、セル符号化部７２、行符号化部７４、列符号化部７６、表符号化部７８、及び表種類分類部８０を備えて構成されている。
【００５８】
セル符号化部７２は、入力された表形式データについて、セル符号化部２２と同様に、表の各セルに対して、当該セルに記載されたテキスト情報に含まれるトークンの系列を入力として、セルを連続値ベクトルhi,jに符号化する。ここで、連続値の符号化ベクトルhi,jへの変換で用いられるパラメータ行列は、分類器学習装置１００で最適化されたものである。
【００５９】
行符号化部７４は、入力された表形式データについて、行符号化部２４と同様に、表の各行に対し、セル符号化部７２が出力した、該行に含まれるセルの連続値ベクトルの系列を入力として、行を連続値ベクトルhiに符号化する。ここで、各行の符号化ベクトルhiへの変換で用いられるパラメータ行列は、分類器学習装置１００で最適化されたものである。
【００６０】
列符号化部７６は、入力された表形式データについて、列符号化部２６と同様に、表の各列に対し、セル符号化部７２が出力した、該列に含まれるセルの連続値ベクトルの系列を入力として、列を連続値ベクトルhjに符号化する。ここで、各列の符号化ベクトルhjへの変換で用いるパラメータ行列は、分類器学習装置１００で最適化されたものである。
【００６１】
表符号化部７８は、入力された表形式データについて、表符号化部２８と同様に、行符号化部７４および列符号化部７６が出力した各行及び各列の連続値ベクトルの系列を入力として、表を連続値ベクトルｈに符号化する。ここで、連続値の符号化ベクトルhrowへの変換、及び連続値の符号化ベクトルhrowへの変換で用いるパラメータ行列は、分類器学習装置１００で最適化されたものである。
【００６２】
表種類分類部８０は、入力された表形式データについて、学習部３０と同様に、表符号化部７８の出力した表符号化ベクトルh（次元数2Nt）を入力として、上記式（３）に従って、表種類のクラス分類（クラス数=C）を行う。
【００６３】
＜本発明の実施形態に係る分類器学習装置の作用＞
次に、本発明の実施形態に係る分類器学習装置１００の作用について説明する。分類器学習装置１００は、入力部１０によって、訓練データ集合を受け付けると、分類器学習装置１００によって、図４に示す分類器学習処理ルーチンが実行される。
【００６４】
まず、ステップＳ１００で、入力された訓練データ集合に含まれる表形式データの各々について、表の各セルに対し、当該セルに記載されたテキスト情報に含まれるトークンの系列を入力として、セルを連続値ベクトルに符号化する。
【００６５】
ステップＳ１０２では、入力された訓練データ集合に含まれる表形式データの各々について、表の各行に対し、上記ステップＳ１００で得られた、該行に含まれるセルの連続値ベクトルの系列を入力として、行を連続値ベクトルに符号化する。
【００６６】
また、訓練データ集合に含まれる表形式データの各々について、表の各列に対し、上記ステップＳ１００で得られた、該列に含まれるセルの連続値ベクトルの系列を入力として、列を連続値ベクトルに符号化する。
【００６７】
ステップＳ１０４では、訓練データ集合に含まれる表形式データの各々について、上記ステップＳ１０２で得られた各行及び各列の連続値ベクトルの系列を入力として、表を連続値ベクトルに符号化する。
【００６８】
ステップＳ１０６では、訓練データ集合に含まれる表形式データのそれぞれについて、上記ステップＳ１０４で得られた表符号化ベクトルh（次元数2Nt）を入力として、上記式（３）に従って、表種類のクラス分類（クラス数=C）を行う。
【００６９】
そして、ステップＳ１０８では、訓練データ集合に含まれる表のそれぞれについて、該表の正解クラスと、該表に対する上記ステップＳ１０６によるクラス分類の出力yとを用いて、上記式(4)のクロスエントロピー関数により損失Lを計算する。そして、各表に対する損失Lについて確率的勾配降下法によりセル符号化部２２、行符号化部２４、列符号化部２６、表符号化部２８の行方向、列方向の各パラメータ行列について最適化を行い、出力部４０により出力し、分類器学習処理ルーチンを終了する。
【００７０】
＜本発明の実施形態に係る表種類分類装置の作用＞
次に、本発明の実施形態に係る表種類分類装置１５０の作用について説明する。表種類分類装置１５０は、入力部６０によって、表形式データを受け付けると、表種類分類装置１５０によって、図５に示す表種類分類処理ルーチンが実行される。
【００７１】
まず、ステップＳ１５０で、入力された表形式データについて、表の各セルに対し、当該セルに記載されたテキスト情報に含まれるトークンの系列を入力として、セルを連続値ベクトルに符号化する。
【００７２】
ステップＳ１５２では、入力された表形式データについて、表の各行に対し、上記ステップＳ１５０で得られた、該行に含まれるセルの連続値ベクトルの系列を入力として、行を連続値ベクトルに符号化する。
【００７３】
また、入力された表形式データについて、表の各列に対し、上記ステップＳ１５０で得られた、該列に含まれるセルの連続値ベクトルの系列を入力として、列を連続値ベクトルに符号化する。
【００７４】
ステップＳ１５４では、入力された表形式データについて、上記ステップＳ１５２で得られた各行及び各列の連続値ベクトルの系列を入力として、表を連続値ベクトルに符号化する。
【００７５】
ステップＳ１５６では、入力された表形式データについて、上記ステップＳ１５４で得られた表符号化ベクトルh（次元数2Nt）を入力として、上記式（３）に従って、表種類のクラス分類（クラス数=C）を行い、出力部９０により出力し、表種類分類処理ルーチンを終了する。
【００７６】
以上説明したように、本発明の実施の形態に係る表種類分類装置によれば、セルを連続値ベクトルに符号化し、各セルの連続値ベクトルの系列を入力として、行を連続値ベクトルに符号化し、各セルの連続値ベクトルの系列を入力として、列を連続値ベクトルに符号化し、各行及び各列の連続値ベクトルの系列を入力として、表を連続値ベクトルに符号化し、表形式データの表の種類を分類することにより、入力された表データ全体から、行内のセルの順序、列内の順序表内の行の順序、表内の列の順序を考慮して、表形式データの表種類を精度よく分類することができる。
【００７７】
また、本発明の実施の形態に係る分類器学習装置によれば、セルを連続値ベクトルに符号化し、各セルの連続値ベクトルの系列を入力として、行を連続値ベクトルに符号化し、各セルの連続値ベクトルの系列を入力として、列を連続値ベクトルに符号化し、各行及び各列の連続値ベクトルの系列を入力として、表を連続値ベクトルに符号化し、表形式データの表の種類を分類するための分類器を学習することにより、入力された表データ全体から、行内のセルの順序、列内の順序表内の行の順序、表内の列の順序を考慮して、表形式データの表種類を精度よく分類することができる分類器を学習することができる。
【００７８】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【００７９】
例えば、上記の実施の形態では、分類器学習装置と表種類分類装置とを別々に設ける場合を例に説明したが、分類器学習装置と表種類分類装置とを、１つの装置で実現するようにしてもよい。
【００８０】
本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能であるし、ネットワークを介して提供することも可能である。
【産業上の利用可能性】
【００８１】
本発明は、表種類を理解することで精度を向上可能な表形式データからの知識獲得および情報検索などに利用可能である。
【符号の説明】
【００８２】
１０、６０    入力部
２０、７０    演算部
２２、７２    セル符号化部
２４、７４    行符号化部
２６、７６    列符号化部
２８、７８    表符号化部
３０   学習部
４０、９０    出力部
８０   表種類分類部
１００ 分類器学習装置
１５０ 表種類分類装置
【図１】
2018045626.tif 000007
【図２】
2018045626.tif 000008
【図３】
2018045626.tif 000009
【図４】
2018045626.tif 000010
【図５】
2018045626.tif 000011
【図６】
2018045626.tif 000012