(58)【調査した分野】(Int.Cl.,DB名)
前記項目名候補生成部は、前記注目クラスタに分類された項目名のうち、前記注目クラスタのタイプに対応付けて記憶されたマッチングパターンに該当する文字列以外から前記共通の文字列を設定する
ことを特徴とする請求項4に記載の標準項目名設定装置。
前記標準項目名設定部は、前記サブクラスタについての前記複数の項目名候補のうち、前記サブクラスタにおける出現頻度が最も高い項目名候補を前記標準項目名として設定する
ことを特徴とする請求項1乃至5のいずれかに記載の標準項目名設定装置。
【発明を実施するための形態】
【0019】
以下、
図1乃至
図10を参照しながら、本発明の実施の形態(以下、本実施形態)に係る標準項目名設定装置10を備える情報処理システム1について説明する。
なお、以下に説明する実施形態は、本発明の理解を容易にするための一例に過ぎず、本発明を限定するものではない。すなわち、以下に説明するシステムの構成、データ、処理等については、本発明の趣旨を逸脱することなく、変更、改良され得るとともに、本発明にはその等価物が含まれる。
【0020】
[情報処理システム1の構成]
図1に示されるように、情報処理システム1は、標準項目名設定装置10及び帳票処理装置30を備える。標準項目名設定装置10と帳票処理装置30とは、例えば図示しないインターネットやイントラネット等のネットワークを介して通信可能に接続される。
【0021】
帳票処理装置30はスキャナ40に接続される。
スキャナ40は、紙媒体を光学走査することにより画像情報を取り込む装置である。本実施形態では、スキャナ40は、帳票Pをスキャンしたスキャン画像(画像情報)を、帳票処理装置30に出力する。
帳票Pは、帳簿、伝票、申請書等の定型的な書類である。本実施形態では、多種類の帳票Pをスキャナ40により取り込み、帳票処理装置30に出力することとする。
【0022】
帳票処理装置30は、スキャナ40により取り込んだ帳票Pを処理するコンピュータである。具体的には、帳票処理装置30は、帳票Pに対してOCR(光学文字認識)を実行して、帳票Pに記載の文字列を取得する。また、帳票処理装置30は、罫線、文字列の配置に基づいて、帳票Pの表構造を解析する。より具体的には、帳票処理装置30は、帳票Pを構成する項目欄、入力欄、穴埋め入力欄に分けるとともに、項目欄(さらには穴埋め入力欄)に記載された項目名の情報を解析する。
なお、項目欄とは、項目名としての文字列が記載された領域であり、入力欄とは、文字列が記載されず、項目欄に対応する情報を入力する領域である。そして、穴埋め入力欄とは、文字列が記載され、文字列の間に情報を入力する領域である。
【0023】
本実施形態では、帳票処理装置30が解析した複数種類の帳票Pの情報を標準項目名設定装置10に出力する。そして、標準項目名設定装置10が複数種類の帳票Pにおいて対応する項目名を特定し、対応する項目名を標準化した標準項目名を設定する。
【0024】
次に、標準項目名設定装置10の構成について説明する。
図1に示されるように、標準項目名設定装置10は、ハードウェアとしてプロセッサ11、記憶装置12及び通信用インターフェース13を備えるコンピュータである。
【0025】
プロセッサ11は、例えば中央処理装置(Central Processing Unit)を含み構成され、記憶装置12に記憶されるプログラムやデータに基づいて各種の演算処理を実行するとともに、標準項目名設定装置10の各部を制御する。
【0026】
記憶装置12は、例えばメモリ、磁気ディスク装置を含み構成され、各種のプログラムやデータを記憶するほか、プロセッサ11のワークメモリとしても機能する。
【0027】
通信用インターフェースは、ネットワークインターフェースカード(NIC)等の通信インターフェースを有し、通信インターフェースを介してネットワークに接続する。そして、通信用インターフェースは、ネットワークを介して帳票処理装置30等のデバイスと通信する。
【0028】
[標準項目名設定装置10により実行される処理の概要]
ここで、
図2及び
図3を参照しながら、標準項目名設定装置10により実行される処理の概要について説明する。
【0029】
図2には、複数の帳票(第1帳票PA、第2帳票PB、第3帳票PC)における項目名の対応関係を示した。ここで、第1帳票PA、第2帳票PB、第3帳票PCは同一の手続に関する帳票であるが、フォーマットが異なっていることとする。
そのため、第1項目名50A、第2項目名50B、第3項目名50Cは同一の項目として扱うことが望ましいところ、項目名が「氏名」、「おなまえ」、「名前」と異なっており、これらの項目名を標準化することが必要となる。
そこで、本実施形態に係る標準項目名設定装置10では、以下の手順で帳票の項目名を標準化した標準項目名を設定する。なお、以下においては処理の概要について説明し、処理の詳細については追って説明する。
【0030】
図3に示されるように、まず、標準項目名設定装置10は、帳票処理装置30から複数の帳票Pに記載された項目名のリストを含む項目名リスト60を取得する。
【0031】
次に、標準項目名設定装置10は、項目名リスト60に含まれる項目名(項目名I
1〜項目名I
N)のそれぞれの特徴ベクトル(特徴ベクトルV
1〜V
N)を生成する。なお、上記においてN(2以上の整数)は項目名の数を表す。
【0032】
次に、標準項目名設定装置10は、特徴ベクトル(特徴ベクトルV
1〜V
N)をクラスタリングして、複数のクラスタ(クラスタC
1〜C
M)に分類する。ここでは、クラスタ数をM(2以上の整数)とする。
【0033】
次に、標準項目名設定装置10は、複数のクラスタ(クラスタC
1〜C
M)のそれぞれのタイプを決定する。タイプには、例えば「name(名称)」、「date(日付)」、「address(住所)」等の予め複数のタイプが定められており、標準項目名設定装置10は、各クラスタに対応するタイプを決定する。
【0034】
次に、標準項目名設定装置10は、クラスタのタイプに基づく細分化ルールに従い、クラスタに分類された項目名をサブクラスタ(例えばC1a、C1b、C1c)に分類する。
例えば、サブクラスタは、タイプの名詞を修飾する修飾語ごとに生成される。
【0035】
次に、標準項目名設定装置10は、サブクラスタの修飾語が修飾する名詞ごとに、項目名候補を生成する。例えば、サブクラスタの修飾語が「妊婦の」である場合には、サブクラスタに対応する標準項目名は「妊婦の[name]」となる。ここで、サブクラスタの項目名に[name]の候補として、「氏名」、「御名前」、「名前」があるとすると、この中から出現頻度が最も多いもの(例えば「氏名」)が標準項目名として選ばれる。
標準項目名設定装置10は、以上の処理を各クラスタ及び各サブクラスタに対して実行し、標準項目名を設定する。
【0036】
[標準項目名設定装置10に備えられる機能]
以下においては、以上説明した処理を実現するために標準項目名設定装置10に備えられる機能について説明する。
【0037】
図6には、標準項目名設定装置10の機能ブロック図を示した。
図6に示されるように、標準項目名設定装置10は、機能として、学習モデル記憶部20、項目名取得部21、特徴ベクトル生成部22、クラスタリング部23、マッチングパターン記憶部24、タイプ決定部25、項目名候補生成部26、及び標準項目名設定部27を備える。
【0038】
標準項目名設定装置10に備えられる上記の各部の機能は、記憶装置12に記憶されるプログラム(標準項目名設定プログラム)に従ってプロセッサ11が標準項目名設定装置10の各部を動作させることにより実行される。なお、上記のプログラムは、通信用インターフェースによりネットワーク等の通信網を介して標準項目名設定装置10が取得してもよいし、プログラムを記憶した記憶媒体から標準項目名設定装置10が読み込んで取得することとしてもよい。
また、上記の標準項目名設定プログラムに従って、プロセッサ11が動作することにより本発明に係る標準項目名設定方法が実現される。
以下、上記の各部の機能の詳細について説明する。
【0039】
[学習モデル記憶部20の説明]
学習モデル記憶部20は、学習データとしての1以上の帳票に出現する単語を機械学習した学習モデルを記憶する。
【0040】
「学習データ」とは、学習モデルに機械学習を行わせるために用いるデータセットである。換言すれば、「学習データ」とは、学習モデルに機械学習を行わせるために用いるサンプルデータ集合である。
例えば、帳票Pの解析データが「学習データ」の一例に相当する。具体的には、上記の解析データには、帳票Pから光学文字認識により得た項目名と、その項目名を形態素解析により単語に分解したデータが含まれる。
【0041】
「帳票に出現する単語」とは、学習データとしての帳票に記載された単語である。換言すれば、学習データとしての帳票から光学文字認識により得た項目名を構成する単語である。なお、「単語」とは、意味・機能を持つ最小の言語単位である。
【0042】
「機械学習」とは、ある程度の数のサンプルデータ集合を入力して解析を行い、そのデータから有用な規則、ルール、知識表現、判断基準などを抽出し、アルゴリズムを発展させることをいう。
本実施形態では、「機械学習」には教師なし学習の手法を用いることとする。
【0043】
「学習モデル」とは、学習データにより機械学習をする対象となる数学モデルである。例えば、ニューラルネットワークが上記の「学習モデル」の一例に相当する。ニューラルネットワークには、二層のパーセプトロン、三層の階層型ニューラルネットワーク、四層以上の多層ニューラルネットワーク(ディープニューラルネットワーク)を含む。
【0044】
図5には、学習モデルとしてのニューラルネットワーク70の一例を示した。
図5に示されるように、ニューラルネットワーク70は、入力層71、隠れ層72、出力層73を有する。
【0045】
入力層71は、学習データとしての帳票から抽出された単語数を次元(要素数)とする入力ノードである。
隠れ層72は、入力層71と出力層73を中継する、1層又は複数層に構成されたネットワークである。
出力層73は、学習データとしての帳票から抽出された単語数を次元(要素数)とする出力ノードである。
【0046】
そして、学習データを用いた機械学習では、入力層71から隠れ層72への重み行列、及び隠れ層72から出力層73への重み行列を学習する。
【0047】
学習モデル記憶部20は、主に標準項目名設定装置10の記憶装置12により実現される。
具体的には、記憶装置12は、ニューラルネットワーク70を構成する入力層71、隠れ層72、出力層73の構成と、入力層71から隠れ層72への重み行列、及び隠れ層72から出力層73への重み行列のデータを、学習モデルのデータとして記憶する。
なお、機械学習の処理は、標準項目名設定装置10が実行してもよいし、標準項目名設定装置10は、他のコンピュータで実行された機械学習の結果得られた学習モデルのデータを、通信用インターフェース13を介して取得するようにしてもよい。
【0048】
[項目名取得部21の説明]
項目名取得部21は、複数の帳票に記載された複数の項目名を取得する。
【0049】
「複数の帳票」とは、標準項目名を設定する対象とする帳票である。すなわち、形式の異なる複数種類の帳票が上記の「複数の帳票」に相当する。また、上記の「複数の帳票」は、学習データとして用いる帳票と一致していてもよい。
【0050】
「複数の項目名」とは、処理の対象とする「複数の帳票」に記載された項目名である。例えば、処理の対象とする「複数の帳票」に含まれる全項目名が上記の「複数の項目名」に相当する。
【0051】
項目名取得部21は、主に標準項目名設定装置10のプロセッサ11、記憶装置12及び通信用インターフェース13により実現される。
具体的には、プロセッサ11は、通信用インターフェース13を介して帳票処理装置30から処理の対象とする複数の帳票の解析結果を取得する。ここで、複数の帳票の解析結果には、帳票から光学文字認識により得た1以上の項目名の文字列データを含む。
【0052】
[特徴ベクトル生成部22の説明]
特徴ベクトル生成部22は、複数の項目名のそれぞれの特徴ベクトルを生成する。
【0053】
「特徴ベクトル」とは、項目名の特徴をベクトルとして表したものである。例えば、「特徴ベクトル」は、学習データとして用いる帳票に含まれる全単語の数を次元数とするベクトルである。そして、項目名の特徴ベクトルは、項目名を構成する単語のベクトルを合成したベクトルである。
【0054】
具体的には、特徴ベクトル生成部22は、項目名を分解した各単語の学習モデルに基づくベクトルを合成して、項目名の特徴ベクトルを生成する。
なお、学習モデルでは、機械学習の結果、各単語のベクトルの情報を記憶している。具体的には、単語のベクトルの情報は、入力層71から隠れ層72への重み行列に含まれる。そして、特徴ベクトル生成部22は、項目名を構成する各単語のベクトルを学習モデルから取得し、項目名の特徴ベクトルを生成する。
【0055】
ここで、
図6を参照しながら、項目名の特徴ベクトルの生成処理について説明する。
図6の(a)には、項目名の一例(「受給者の変更前の住所」)を示した。これに対し、特徴ベクトル生成部22は、項目名に対して形態素解析を実行し、
図6(b)に示されるように、項目名を単語に分解する。この例では、「受給者の変更前の住所」は、「受給者」、「変更前」、「住所」、及び「の」に分解される。
【0056】
ここで、「受給者」、「変更前」、「住所」、及び「の」のそれぞれの単語ベクトル(v1〜v4)は、学習モデル記憶部20に記憶される学習モデルの重み行列から得られる。
そして、「受給者」、「変更前」、「住所」、及び「の」のそれぞれの単語ベクトル(v1〜v4)を合成することで、「受給者の変更前の住所」の特徴ベクトルが生成される。
【0057】
特徴ベクトル生成部22は、主に標準項目名設定装置10のプロセッサ11及び記憶装置12により実現される。
具体的には、プロセッサ11は、項目名取得部21により取得したそれぞれの項目名について以下のように特徴ベクトルを生成する。まず、プロセッサ11は、項目名に対して形態素解析を実行し、項目名を単語に分解する。次に、プロセッサ11は、学習モデル記憶部20に記憶される学習モデルに基づいて、項目名を構成する単語のベクトルを合成した項目名の特徴ベクトルを生成する。
【0058】
[クラスタリング部23の説明]
クラスタリング部23は、複数の項目名を複数のクラスタのいずれかに分類する。
【0059】
「クラスタ」とは、複数の項目名を振り分ける先の分類である。換言すれば、複数の項目名のうち特徴ベクトルが類似するもの同士をグループ化した場合の各グループに相当する。
【0060】
クラスタリング部23は、複数の項目名のそれぞれの特徴ベクトルの類似度に基づいて、複数の項目名を複数のクラスタに分類する。
【0061】
「特徴ベクトルの類似度」とは、2つの特徴ベクトルの類似性を表す指標である。具体的には、2つの特徴ベクトルのコサイン類似度が上記の「特徴ベクトルの類似度」の一例に相当する。また、ピアソンの相関係数や偏差パターン類似度等も上記の「特徴ベクトルの類似度」の一例に相当する。
【0062】
クラスタリング部23は、主に標準項目名設定装置10のプロセッサ11及び記憶装置12により実現される。
具体的には、プロセッサ11は、特徴ベクトル生成部22により生成した複数の項目名の特徴ベクトルの類似度を計算し、計算した類似度に基づいて、複数の項目名の特徴ベクトルを複数のクラスタに分類する。
なお、クラスタリングには、最短距離法、最長距離法、群平均法、ウォード法等の公知の手法を用いることができる。
【0063】
[マッチングパターン記憶部24の説明]
マッチングパターン記憶部24は、複数のタイプごとに、キーワード、正規表現のうち少なくとも一方を含むマッチングパターンを対応付けて記憶する。
【0064】
「タイプ」とは、クラスタの特性である。換言すれば、「タイプ」とは、クラスタに属する項目名の特徴を示すデータである。より具体的には、1つのクラスタに属する項目名が、複数のタイプのそれぞれに定められたマッチングパターンのうちいずれを満足するかに基づいて、そのクラスタのタイプが決定される。
【0065】
「キーワード」とは、予め指定された文字列である。文字列は、1つの単語からなってもよいし、複数の単語からなってもよい。
「正規表現」とは、文字列の集合を一つの文字列で表現する方法の一つである。具体的には、「正規表現」は、文字とワイルドカード等の条件が定められた記号列との組み合わせにより表される。
【0066】
「マッチングパターン」とは、クラスタのタイプに対応して定められた文字列のマッチング条件である。「マッチングパターン」には、1以上の正規表現と、1以上のキーワードを含むこととしてよい。
【0067】
マッチングパターン記憶部24は、主に標準項目名設定装置10の記憶装置12により実現される。具体的には、標準項目名設定装置10の記憶装置12は、マッチングパターンを格納したマッチングパターンテーブルT1を記憶する。
【0068】
図7には、マッチングパターンテーブルT1の一例を示す。
図7に示されるように、マッチングパターンテーブルT1は、項目タイプ(タイプ)、キーワード、正規表現を関連付けて格納する。例えば、「項目タイプ」には、「name(名前)」、「date(日付)」、「address(住所)」等が含まれることとし、各項目タイプに対してキーワード、正規表現が関連付けられる。
【0069】
具体的には、項目タイプが「name」である場合には、例えばキーワードや正規表現として「氏名」、「ふりがな」、「名称」等を関連付けることとしてよい。
また、項目タイプが「date」である場合には、例えばキーワードや正規表現として「*年*月*日」、「*月*日」等を関連付けることとしてよい。ここで、「*」はワイルドカード(任意の文字列)である。
また、項目タイプが「address」である場合には、例えばキーワードや正規表現として「住所」、「所在地」、「*先」等を関連付けることとしてよい。
【0070】
また、マッチングパターン記憶部24は、項目タイプに対して、正規表現とキーワードのうちいずれか一方を記憶するようにしても構わない。
【0071】
[タイプ決定部25の説明]
タイプ決定部25は、複数のクラスタのうちの注目クラスタに分類された項目名に基づいて、当該注目クラスタのタイプを複数のタイプの中から決定する。
【0072】
「注目クラスタ」とは、複数のクラスタのうちから選択される、処理対象とする1つのクラスタである。換言すれば、「注目クラスタ」は、複数のクラスタのうちから選択される任意のクラスタである。すなわち、複数のクラスタの全てが「注目クラスタ」となり得る。例えば、複数のクラスタの中から注目クラスタを順次選択することで、複数のクラスタの各々を注目クラスタとして処理することが可能である。
【0073】
「複数のタイプ」とは、予め定められた複数のタイプである。具体的には、「name」、「date」、「address」等が上記の「複数のタイプ」に相当する。
【0074】
タイプ決定部25は、注目クラスタに分類された項目名にマッチするマッチングパターンに基づいて、複数のタイプのうちから注目クラスタのタイプを決定する。
【0075】
「項目名にマッチするマッチングパターン」とは、複数のタイプにそれぞれ関連付けられた複数のマッチングパターンのうち、注目クラスタに分類された項目名が満足するマッチングパターンである。
例えば、マッチングパターンがキーワードと正規表現を複数含んでいる場合には、注目クラスタに含まれる所定数の項目名が、上記のマッチングパターンに含まれるキーワードと正規表現のうちいずれかを満足する場合に、注目クラスタに属する項目名が、上記のマッチングパターンを満足しているものと判定される。
【0076】
タイプ決定部25は、主に標準項目名設定装置10のプロセッサ11及び記憶装置12により実現される。
具体的には、プロセッサ11は、複数のクラスタの中から1つのクラスタを注目クラスタとして設定し、以下の処理を実行する。
まず、プロセッサ11は、マッチングパターン記憶部24に記憶されるマッチングパターンテーブルT1に記憶される項目タイプに関連付けられるマッチングパターンのうち、マッチングパターンが注目クラスタに分類された項目名とマッチするものを検索する。そして、プロセッサ11は、上記検索されたマッチングパターンに対応する項目タイプを、注目クラスタの項目タイプとする。
【0077】
[項目名候補生成部26の説明]
項目名候補生成部26は、タイプ決定部により決定したタイプに対応するルールに基づいて、注目クラスタに分類された項目名を共通の文字列を有する項目名からなるサブクラスタに細分化するとともに、当該サブクラスタに属する項目名について前記共通の文字列以外の文字列に基づく複数の項目名候補を生成する。
【0078】
「タイプに対応するルール」とは、タイプに対応付けて定められた注目クラスタの細分化ルールである。例えば、上記の細分化ルールは、マッチングパターンに定められたキーワードや正規表現に該当する文字列以外の文字列(例えば修飾語)ごとに、注目クラスタを細分化するというルールとしてよい。
具体的には、タイプ「name」の注目クラスタに分類された項目名において、「氏名」、「ふりがな」、「名称」といったキーワード以外の文字列として、修飾語「1」(申請者の*)、修飾語「2」(妊婦の*)、修飾語「3」(受給者の変更前の*)という3つの修飾語が抽出されたとする。この場合に、項目名候補生成部26は、注目クラスタを修飾語「1」〜修飾語「3」をそれぞれ含む項目名からなるサブクラスタ「1」〜サブクラスタ「3」に細分化する。
【0079】
「共通の文字列」とは、注目クラスタに分類された項目名において、注目クラスタのタイプを表す文字列以外の文字列であって、複数の項目名において共通する文字列である。
例えば、クラスタに分類された項目名における修飾語が「共通の文字列」に相当する。
【0080】
「サブクラスタ」とは、上記の細分化ルールによって細分化された注目クラスタである。すなわち、注目クラスタを細分化した集合の各々が上記の「サブクラスタ」となる。
【0081】
「サブクラスタに属する項目名」とは、サブクラスタに振り分けられた項目名である。すなわち、集合としてのサブクラスタの要素が上記の「サブクラスタに属する項目名」となる。
【0082】
「共通の文字列以外の文字列」とは、サブクラスタに振り分けられた項目名において、サブクラスタの細分化の際に用いられた文字列(例えば修飾語)以外の文字列である。
例えば、修飾語により修飾される被修飾語が上記の「共通の文字列以外の文字列」に相当する。
【0083】
「項目名候補」とは、サブクラスタに分類された項目名を、第1文字列(共通の文字列)、第2文字列(共通の文字列以外の文字列)として構成した場合における、第1文字列と第2文字列の組み合わせの候補である。すなわち、サブクラスタに分類された項目名の中に、第1文字列が共通し、第2文字列が異なる項目名があるとすると、これらの組み合わせが、上記の「項目名候補」となる。なお、第2文字列のバリエーションを、上記の「項目名候補」としてもよい。
【0084】
項目名候補生成部26は、注目クラスタに分類された項目名のうち、注目クラスタのタイプに対応付けて記憶されたマッチングパターンに該当する文字列以外から共通の文字列を設定する。
【0085】
「注目クラスタのタイプに対応付けて記憶されたマッチングパターンに該当する文字列」とは、注目クラスタのタイプに対応するマッチングパターンが満足する文字列である。すなわち、マッチングパターンが複数のキーワードを含む場合には、それらの複数のキーワードが上記の「注目クラスタのタイプに対応付けて記憶されたマッチングパターンに該当する文字列」に相当する。
【0086】
項目名候補生成部26は、主に標準項目名設定装置10のプロセッサ11及び記憶装置12により実現される。
具体的には、プロセッサ11は、注目クラスタに含まれる項目名を、注目クラスタのタイプに応じたマッチングパターンに該当する文字列以外の修飾語に応じてサブクラスタにグループ化する。すなわち、プロセッサ11は、注目クラスタに含まれる項目名を、修飾語ごとにサブクラスタに分ける。
次に、プロセッサ11は、サブクラスタに分けられた項目名について、サブクラスタに対応する修飾語以外で相違する文字列を抽出し、当該抽出した文字列に基づいて項目名候補を生成する。
【0087】
[標準項目名設定部27の説明]
標準項目名設定部27は、サブクラスタの複数の項目名候補の中から所定の基準に基づいて選択した項目名候補を、サブクラスタに対応する標準項目名として設定する。
【0088】
「所定の基準」とは、サブクラスタの複数の項目名候補の評価基準である。例えば、上記の評価基準は、サブクラスタにおける出現頻度としてよい。すなわち、標準項目名設定部27は、サブクラスタの複数の項目名候補のうち、サブクラスタにおいて最も出現頻度が高い項目名候補を、サブクラスタに対応する標準項目名として設定することとする。
【0089】
「サブクラスタに対応する標準項目名」とは、サブクラスタから導き出された標準項目名である。すなわち、サブクラスタに対応する第1文字列(共通文字列)と、サブクラスタにおいて最も出現頻度が大きい第2文字列とを組み合わせた項目名が、サブクラスタに対応する標準項目名となる。
ここで、標準項目名とは、種類の異なる帳票において意味、用途が対応する項目名について、標準的に用いる項目名である。
【0090】
標準項目名設定部27は、サブクラスタについての複数の項目名候補のうち、サブクラスタにおける出現頻度が最も高い項目名候補を標準項目名として設定する。
【0091】
「出現頻度」とは、サブクラスタに属する項目名のうち、項目名候補の文字列を含む項目名の数である。
【0092】
標準項目名設定部27は、主に標準項目名設定装置10のプロセッサ11、記憶装置12及び通信用インターフェース13により実現される。
具体的には、プロセッサ11は、サブクラスタについて項目名候補生成部26で生成した項目名候補のそれぞれの出現頻度を計数し、出現頻度が最大の項目名候補を、標準項目名として設定する。以下、プロセッサ11による標準項目名設定処理の具体例について、
図8を参照しながら説明する。
【0093】
図8には、プロセッサ11により生成される項目名候補テーブルT2の一例を示した。
図8に示されるように、プロセッサ11は、項目名候補(ここでは項目名候補「1」〜項目名候補「3」とする)のそれぞれの出現頻度を計数する。
そして、プロセッサ11は、出現頻度が最大の項目名候補「1」を標準項目名に設定する。
図8に示す例では、項目名候補「1」について標準項目フラグを真(T)にそれ以外の候補については標準項目フラグを偽(F)に設定する。
なお、プロセッサ11は、項目名候補「3」及び「2」についても、標準項目名を代替する第1候補、第2候補に設定してもよい。
【0094】
また、標準項目名設定装置10は、複数のクラスタのそれぞれについて、タイプ決定部25と、項目名候補生成部26と、標準項目名設定部27による処理を実行して、複数の標準項目名を設定する。
すなわち、標準項目名設定装置10は、複数のクラスタうちから1つを注目クラスタに順次設定して、設定した注目クラスタに基づき標準項目名の設定処理を実行することとする。
【0095】
[標準項目名設定装置10による処理の流れ]
次に、
図9及び
図10を参照しながら、標準項目名設定装置10により実行される処理の流れについて説明する。
【0096】
[項目名のクラスタリング処理]
まず、
図9に示すフロー図を参照しながら、項目名のクラスタリング処理の流れについて説明する。なお、以下においては、標準項目名設定装置10は、項目名I
1〜項目名I
Nを含む項目名リスト60を帳票処理装置30から取得していることとする。なお、Nは項目名の数とする。
【0097】
図9に示されるように、標準項目名設定装置10は、変数iを1に初期化して(S1)、項目名I
iを、形態素解析により単語に分解する(S2)。
そして、標準項目名設定装置10は、項目名I
iを構成する単語のベクトルを合成して、項目名I
iの特徴ベクトルV
iを生成する(S3)。
【0098】
ここで、変数iがNに達していない場合には(S4:No)、標準項目名設定装置10は変数iに1を加算して(S5)、S2に戻る。
【0099】
一方、変数iがNに達している場合には(S4:Yes)、標準項目名設定装置10は、特徴ベクトルV
1〜特徴ベクトルV
Nの類似度を計算する(S6)。
そして、標準項目名設定装置10は計算した類似度に基づいて、特徴ベクトルV
1〜特徴ベクトルV
NをクラスタC
1〜C
Mにクラスタリングする(S7)。ここで、Mはクラスタ数とする。
以上の処理により、項目名I
1〜項目名I
Nを意味のまとまりに基づいて分類することができる。
【0100】
[標準項目名設定処理]
次に、
図10に示すフロー図を参照しながら、標準項目名設定処理の流れについて説明する。以下に説明する処理は、上記説明したクラスタリング処理に続いて行われる処理である。
【0101】
図10に示されるように、標準項目名設定装置10は、変数jと変数lをそれぞれ1に初期化して(S11)、クラスタC
jを注目クラスタに設定する(S12)。
【0102】
次に、標準項目名設定装置10は、注目クラスタであるクラスタC
jの項目タイプを決定する(S13)。このクラスタC
jの項目タイプの決定処理は、タイプ決定部25により実行されるものである。
【0103】
次に、標準項目名設定装置10は、クラスタC
jを項目タイプに応じてサブクラスタC
j1〜C
jLに細分化する(S14)。ここで、Lは、クラスタC
jのサブクラスタの数とする。
【0104】
次に、標準項目名設定装置10は、サブクラスタC
jlに分類される項目名に基づいて、項目名候補を生成する(S15)。そして、標準項目名設定装置10は、項目名候補についての出現頻度を計数し(S16)、出現頻度が最も高い項目名候補を標準項目名に設定する(S17)。
【0105】
ここで、変数lがLに達していない場合には(S18:No)、標準項目名設定装置10は、変数lに1を加算して(S19)、S15に戻る。
【0106】
一方、変数lがLに達している場合には(S18:Yes)、標準項目名設定装置10は、さらに変数jがMに達しているか否かを判定する(S20)。
ここで、変数jがMに達していない場合には(S20:No)、標準項目名設定装置10は、変数jに1を加算して(S21)、S12に戻る。
【0107】
一方、変数jがMに達している場合には(S20:Yes)、標準項目名設定装置10は、以上の処理で設定した標準項目名のデータ(標準項目データ)を出力して(S22)、処理を終了する。
S22において、標準項目名設定装置10は、例えば標準項目名とその代替候補の情報を纏めたデータを上記の標準項目データとして、帳票処理装置30に送信することとしてよい。
【0108】
[まとめ]
標準項目名設定装置10は、複数の帳票に記載された複数の項目名を取得する項目名取得部21と、複数の項目名を複数のクラスタのいずれかに分類するクラスタリング部23と、複数のクラスタのうちの注目クラスタに分類された項目名に基づいて、当該注目クラスタのタイプを複数のタイプの中から決定するタイプ決定部25と、タイプ決定部25により決定したタイプに対応するルールに基づいて、注目クラスタに分類された項目名を共通の文字列を有する項目名からなるサブクラスタに細分化するとともに、当該サブクラスタに属する項目名について共通の文字列以外の文字列(例えば修飾語)に基づく複数の項目名候補を生成する項目名候補生成部26と、サブクラスタの複数の項目名候補の中から所定の基準に基づいて選択した項目名候補を、サブクラスタに対応する標準項目名として設定する標準項目名設定部27と、を備える。
【0109】
標準項目名設定装置10によれば、複数の帳票において対応する項目名に対して1つの標準的な項目名を設定することができる。これにより、対応する複数の項目名を1つの項目名にまとめる労力を軽減できる。
【0110】
標準項目名設定装置10では、複数の項目名のそれぞれの特徴ベクトルを生成する特徴ベクトル生成部22を備え、クラスタリング部23は、複数の項目名のそれぞれの特徴ベクトルの類似度に基づいて、複数の項目名を複数のクラスタに分類する。
こうすることで、帳票に記載の互いに類似する複数の項目名に対して1つの標準的な項目名を設定することができる。これにより、複数の類似する項目名を1つの項目名にまとめる労力を軽減できる。
【0111】
標準項目名設定装置10では、学習データとしての1以上の帳票に出現する単語を機械学習した学習モデルを記憶する学習モデル記憶部20を備え、特徴ベクトル生成部22は、項目名を分解した各単語の学習モデルに基づくベクトルを合成して、項目名の特徴ベクトルを生成する。
こうすることで、類似する項目名をまとめて分類する精度を向上できる。
【0112】
標準項目名設定装置10では、複数のタイプごとに、キーワード、正規表現のうち少なくとも一方を含むマッチングパターンを対応付けて記憶したマッチングパターン記憶部24を備え、タイプ決定部25は、注目クラスタに分類された項目名にマッチするマッチングパターンに基づいて、複数のタイプのうちから注目クラスタのタイプを決定する。
こうすることで、クラスタのタイプの判定精度を向上できる。
【0113】
標準項目名設定装置10では、項目名候補生成部26は、注目クラスタに分類された項目名のうち、注目クラスタのタイプに対応付けて記憶されたマッチングパターンに該当する文字列以外から共通の文字列を設定する。
こうすることで、1つのクラスタを1以上のサブクラスタに分類する基準を簡易に定めることができる。
【0114】
標準項目名設定装置10では、標準項目名設定部27は、サブクラスタについての複数の項目名候補のうち、サブクラスタにおける出現頻度が最も高い項目名候補を標準項目名として設定する。
こうすることで、同一のサブクラスタに分類された項目名のうち、最も良く使用されている表現に基づいて標準項目名を設定できる。
【0115】
標準項目名設定装置10では、複数のクラスタのそれぞれについて、タイプ決定部25と、項目名候補生成部26と、標準項目名設定部27による処理を実行して、複数の標準項目名を設定する。
こうすることで、帳票の多様な項目名について標準項目名を設定できる。これにより、帳票から標準項目名を設定する労力を軽減できる。
【0116】
[その他の実施形態]
本発明は上記の実施形態に限定されるものではない。
標準項目名設定装置10と帳票処理装置30を1つの装置として構成してもよい。
また、標準項目名設定装置10は、1台のコンピュータに限られず、複数台のコンピュータから構成されてもよい。
【0117】
また、タイプに対するキーワードの設定は上記の例に限定されない。例えば、マッチングパターン記憶部24において、タイプに対し、keywordに加えて、keyword_andを定義してもよい。この場合、keyword_andとkeywordの両方に、項目名に含まれるキーワードが存在する場合に、keyword_andとkeywordに対応するタイプがマッチングすると判定される。
【0118】
また、keywordの代わりにkeyword_commonを用いてもよい。これは全手続き共通の情報として、いくつかのキーワードのセットを予め定義しておき、それを手続きごとの定義で参照する機能である。
例えばkeyword_common:childとし、共通定義にchild.keyword:[子ども,子供,こども,児童]とした場合に、keyword_common:childはkeyword:[子ども,子供,こども,児童]と同義となる。
このように、キーワードの指定には各種の方法を用いることができる。