(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024157784
(43)【公開日】2024-11-08
(54)【発明の名称】情報処理システム、情報処理方法及びプログラム
(51)【国際特許分類】
G06F 40/279 20200101AFI20241031BHJP
【FI】
G06F40/279
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2023072361
(22)【出願日】2023-04-26
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(71)【出願人】
【識別番号】301063496
【氏名又は名称】東芝デジタルソリューションズ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】馮 思萌
(72)【発明者】
【氏名】伊部 早紀
(57)【要約】
【課題】文字認識の結果から得られた言語特徴の品質を向上させる。
【解決手段】実施形態の情報処理システムは、入力部とトークン変換部と推定部と補助トークン列生成部と結合トークン列生成部と特徴ベクトル変換部とを備える。入力部は、入力テキストと位置情報との入力を受け付ける。トークン変換部は、入力テキストを、トークンの分割単位が定められた語彙辞書に基づきトークン列群に変換する。推定部は、位置情報に基づき、トークン列群の構造を示す構造化情報を推定する。補助トークン列生成部は、トークン列群に含まれるターゲットトークン列毎に、構造化情報に基づき補助トークン列を生成する。結合トークン列生成部は、ターゲットトークン列と補助トークン列とを結合することによって、結合トークン列を生成する。特徴ベクトル変換部は、ニューラルネットワークを用いて、結合トークン列をターゲットトークン列の文脈情報を表す特徴ベクトルに変換する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
画像に含まれる少なくとも1つの文を含む入力テキストと、前記文の位置情報との入力を受け付ける入力部と、
前記入力テキストを、トークンの分割単位が定められた語彙辞書に基づき、トークン列群に変換するトークン変換部と、
前記位置情報に基づき、前記トークン列群の構造を示す構造化情報を推定する推定部と、
前記トークン列群に含まれるターゲットトークン列毎に、前記構造化情報に基づき、前記ターゲットトークン列の文脈情報を推定する補助トークン列を生成する補助トークン列生成部と、
前記ターゲットトークン列と前記補助トークン列とを結合することによって、結合トークン列を生成する結合トークン列生成部と、
少なくとも1つのニューラルネットワークレイヤーを含むニューラルネットワークを用いて、前記結合トークン列を、前記ターゲットトークン列の文脈情報を表す特徴ベクトルに変換する特徴ベクトル変換部と、
を備える情報処理システム。
【請求項2】
前記画像は、文書構造を有する複数の文を含み、
前記ターゲットトークン列は、前記文書構造を有する複数の文の一部であり、
前記補助トークン列生成部は、所定の変換規則によって前記ターゲットトークン列の文書構造を、前記文書構造を識別するラベルトークンに変換し、前記ラベルトークンを含む補助トークン列を生成する、
請求項1に記載の情報処理システム。
【請求項3】
前記補助トークン列生成部は、前記ターゲットトークン列を、少なくとも1つのバリュー情報として生成し、前記補助トークン列を、前記少なくとも1つのバリュー情報を説明するキーとして生成する、
請求項1又は2に記載の情報処理システム。
【請求項4】
前記補助トークン列生成部は、前記補助トークン列を、少なくとも1つのバリュー情報として生成し、前記ターゲットトークン列を、前記少なくとも1つのバリュー情報を説明するキーとして生成する、
請求項1又は2に記載の情報処理システム。
【請求項5】
前記ターゲットトークン列は、表に含まれる少なくとも1つのセル内のデータの全部または一部であり、
前記補助トークン列生成部は、前記表に付与された少なくとも1つの見出しの全部または一部を含む補助トークン列を生成する、
請求項1又は2に記載の情報処理システム。
【請求項6】
前記ターゲットトークン列は、表に付与された少なくとも1つの見出しの全部または一部の全部または一部であり、
前記補助トークン列生成部は、前記表に含まれる少なくとも1つのセル内のデータの全部または一部を含む補助トークン列を生成する、
請求項1又は2に記載の情報処理システム。
【請求項7】
前記ターゲットトークン列は、1文の一部であり、
前記補助トークン列生成部は、前記ターゲットトークン列と同じ文に属する全部または一部のトークン列を含む補助トークン列を生成する、
請求項1又は2に記載の情報処理システム。
【請求項8】
前記ターゲットトークン列は、図又は表を引用する文の全部または一部であり、
前記補助トークン列生成部は、前記図又は表に付与されたタイトルの全部または一部を含む補助トークン列を生成する、
請求項1又は2に記載の情報処理システム。
【請求項9】
前記ターゲットトークン列は、図又は表に付与されたタイトルの全部または一部であり、
前記補助トークン列生成部は、前記図又は表を引用する文の全部または一部を含む補助トークン列を生成する、
請求項1又は2に記載の情報処理システム。
【請求項10】
前記ターゲットトークン列は、帳票または章節のタイトルの全部または一部であり、
前記補助トークン列生成部は、前記帳票または章節に対応するデータの全部または一部を含む補助トークン列を生成する、
請求項1又は2に記載の情報処理システム。
【請求項11】
前記ターゲットトークン列は、帳票または章節に対応するデータの全部または一部であり、
前記補助トークン列生成部は、前記帳票または章節のタイトルの全部または一部を含む補助トークン列を生成する、
請求項1又は2に記載の情報処理システム。
【請求項12】
情報処理システムが、画像に含まれる少なくとも1つの文を含む入力テキストと、前記文の位置情報との入力を受け付けるステップと、
前記情報処理システムが、前記入力テキストを、トークンの分割単位が定められた語彙辞書に基づき、トークン列群に変換するトークンステップと、
前記情報処理システムが、前記位置情報に基づき、前記トークン列群の構造を示す構造化情報を推定するステップと、
前記情報処理システムが、前記トークン列群に含まれるターゲットトークン列毎に、前記構造化情報に基づき、前記ターゲットトークン列の文脈情報を推定する補助トークン列を生成するステップと、
前記情報処理システムが、前記ターゲットトークン列と前記補助トークン列とを結合することによって、結合トークン列を生成するステップと、
前記情報処理システムが、少なくとも1つのニューラルネットワークレイヤーを含むニューラルネットワークを用いて、前記結合トークン列を、前記ターゲットトークン列の文脈情報を表す特徴ベクトルに変換するステップと、
を含む情報処理方法。
【請求項13】
コンピュータを、
画像に含まれる少なくとも1つの文を含む入力テキストと、前記文の位置情報との入力を受け付ける入力部と、
前記入力テキストを、トークンの分割単位が定められた語彙辞書に基づき、トークン列群に変換するトークン変換部と、
前記位置情報に基づき、前記トークン列群の構造を示す構造化情報を推定する推定部と、
前記トークン列群に含まれるターゲットトークン列毎に、前記構造化情報に基づき、前記ターゲットトークン列の文脈情報を推定する補助トークン列を生成する補助トークン列生成部と、
前記ターゲットトークン列と前記補助トークン列とを結合することによって、結合トークン列を生成する結合トークン列生成部と、
少なくとも1つのニューラルネットワークレイヤーを含むニューラルネットワークを用いて、前記結合トークン列を、前記ターゲットトークン列の文脈情報を表す特徴ベクトルに変換する特徴ベクトル変換部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は情報処理システム、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
文を含む画像(例えば、帳票画像)に対して、読み取る項目の位置を事前に定義せずに、文字認識の結果から得られた言語特徴に基づいて、自動的に指定項目を抽出する技術が従来から知られている。
【先行技術文献】
【特許文献】
【0003】
【非特許文献】
【0004】
【非特許文献1】Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova, BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding,[online],[令和4年4月10日検索],インターネット〈URL:https://arxiv.org/pdf/1810.04805.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来の技術では、文字認識の結果から得られた言語特徴の品質が低下する問題があった。例えば、読み順が自明でない複数の文、または、文脈が連続しない複数の文が、画像に含まれている場合、文字認識の結果から得られた言語特徴の品質が低下する問題があった。
【課題を解決するための手段】
【0006】
実施形態の情報処理システムは、入力部とトークン変換部と推定部と補助トークン列生成部と結合トークン列生成部と特徴ベクトル変換部とを備える。入力部は、画像に含まれる少なくとも1つの文を含む入力テキストと、前記文の位置情報との入力を受け付ける。トークン変換部は、前記入力テキストを、トークンの分割単位が定められた語彙辞書に基づき、トークン列群に変換する。推定部は、前記位置情報に基づき、前記トークン列群の構造を示す構造化情報を推定する。補助トークン列生成部は、前記トークン列群に含まれるターゲットトークン列毎に、前記構造化情報に基づき、前記ターゲットトークン列の文脈情報を推定する補助トークン列を生成する。結合トークン列生成部は、前記ターゲットトークン列と前記補助トークン列とを結合することによって、結合トークン列を生成する。特徴ベクトル変換部は、少なくとも1つのニューラルネットワークレイヤーを含むニューラルネットワークを用いて、前記結合トークン列を、前記ターゲットトークン列の文脈情報を表す特徴ベクトルに変換する。
【図面の簡単な説明】
【0007】
【
図1】
図1は、実施形態の情報処理システムによる指定項目の抽出例を示す図である。
【
図2】
図2は、実施形態の情報処理システムの構成の例を示す図である。
【
図3】
図3は、実施形態の情報処理システムによって処理される画像の例を示す図である。
【
図4】
図4は、実施形態の補助トークン列生成部で使用されるニューラルネットワーク言語モデルの例を示す図である。
【
図5】
図5は、実施形態の特徴ベクトル変換部及び分類部の処理例を示す図である。
【
図6】
図6は、実施形態の言語特徴の抽出例を説明するための図である。
【
図7】
図7は、実施形態の情報処理方法の例を示すフローチャートである。
【
図8】
図8は、実施形態の言語特徴の抽出例を説明するための図である。
【
図9】
図9は、実施形態の情報処理システムのハードウェア構成の例を示す図である。
【発明を実施するための形態】
【0008】
以下に添付図面を参照して、情報処理システム、情報処理方法及びプログラムの実施形態を詳細に説明する。
【0009】
実施形態の情報処理システムは、読み取る項目の位置を事前に定義せずに、文字認識結果から自動的に指定項目を抽出する。
【0010】
図1は、実施形態の情報処理システムによる指定項目の抽出例を示す図である。
図1の例は、帳票を示す文書の画像から、請求書番号の記号列と、会社名とが抽出される場合を示す。
【0011】
実施形態の情報処理システムは、項目判定を各単語(トークン)のクラス分類問題として定義し、DNN(Deep Neural Network)言語モデルを用いて抽出された言語特徴を、分類器を用いて分類することによって指定項目を抽出する。DNN言語モデルには、例えばBERT(Bidirectional Encoder Representations from Transformers)が用いられる。分類器は、例えばLSTM(Long short-term memory)が用いられる。
【0012】
[機能構成の例]
図2は、実施形態の情報処理システム10の構成の例を示す図である。実施形態の情報処理システム10は、入力部1、トークン変換部2、推定部3、補助トークン列生成部4、結合トークン列生成部5、特徴ベクトル変換部6及び分類部7を備える。
【0013】
また、実施形態の情報処理システム10は、入力テキスト記憶部101、位置情報記憶部102、トークン列群記憶部103、構造化情報記憶部104、補助トークン列記憶部105及び結合トークン列記憶部106を備える。
【0014】
入力テキスト記憶部101、位置情報記憶部102、トークン列群記憶部103、構造化情報記憶部104、補助トークン列記憶部105及び結合トークン列記憶部106は、例えば、情報処理システム10に備えられた少なくとも1つの記憶装置により実現される。
【0015】
入力テキスト記憶部101は、画像に含まれる少なくとも1つの文を含む入力テキストを記憶する。位置情報記憶部102は、画像に含まれる少なくとも1つの文の位置情報(例えば座標情報)を記憶する。
【0016】
入力部1は、画像に含まれる少なくとも1つの文を含む入力テキストと、当該文の位置情報(例えば座標情報)との入力を受け付ける。入力テキストに含まれる文は、例えば文字列、数字及び記号等である。
【0017】
図3は、実施形態の情報処理システム10によって処理される画像の例を示す図である。
図3の例は、画像の17箇所に文が含まれている場合を示す。この場合は、入力部1は、17個の文を含む入力テキストと、当該17個の文の位置情報との入力を受け付ける。
【0018】
なお、入力部1が、画像を受け付け、画像に含まれる入力テキストと位置情報とを特定する機能を更に有していてもよい。
【0019】
図2に戻り、トークン変換部2は、各文をトークン単位に分割する。例えば、「トークン変換部」は、「トークン,変換,部」のように、トークン列に分割される。トークン変換部2は、各文から変換された各トークン列を、トークン列群記憶部103に記憶する。
【0020】
推定部3は、トークン変換部2によって得られた各トークン列を、それぞれ処理対象のターゲットトークン列とする。推定部3は、1つのターゲットトークン列に対して、位置情報を用いて、ペアとなるトークン列の候補を示す構造化情報を推定する。例えば、推定部3は、学習またはルールベース手法で、画像に含まれる文を複数のブロックに分割する。例えば、
図3の例では、画像に含まれる文は、1~3、4~5及び6~17のように、3つのブロックに分割される。推定部3は、各ブロック内でトークン列のペアを作る。
【0021】
なお、推定部3は、画像全体を1つのブロックとし、ターゲットトークン列と、当該ターゲットトークン列以外のすべてのトークン列と、でペアを作ってもよい。
【0022】
推定部3は、推定された構造化情報を構造化情報記憶部104に記憶する。
【0023】
補助トークン列生成部4は、トークン列群に含まれるターゲットトークン列毎に、構造化情報に基づき、ターゲットトークン列の文脈情報を推定する補助トークン列を生成する。具体的には、補助トークン列生成部4は、ターゲットトークン列と意味的な繋がりがあるトークン列を、補助トークン列として抽出する。具体的には、推定部3により作成された各ペアに対して、2つのトークン列に意味的繋がりがあるか否かを判定するニューラルネットワーク言語モデルを構築(またはファインチューニング)する。
【0024】
判定に使用されるニューラルネットワーク言語モデルは、例えばWord2vec、CNN及びBERTなどである。判定に使用されるニューラルネットワーク言語モデルは、後述の特徴ベクトル変換部6で使用される言語モデルと同じモデルでも良いし、特徴ベクトル変換部6で使用される言語モデルと異なるモデルでも良い。特徴ベクトル変換部6で使用される言語モデル同じモデルの場合、補助トークン列の生成、結合トークン列の生成、及び、特徴ベクトルの生成が同時に行われてもよい(
図4参照)。
【0025】
図4は、実施形態の補助トークン列生成部4で使用されるニューラルネットワーク言語モデルの例を示す図である。[CLS]は、補助トークン列の開始を示すトークンである。tok1~tokAは、補助トークン列の候補を示す。[SEP]は、補助トークン列の末尾を示すトークンである。Tok1~TokAは、ターゲットトークン列を示す。また、attは、アテンションネットワーク層を示す。
【0026】
図4の例では、[CLS]に対応する出力が補助トークン列を示し、補助トークン列生成部4の出力に利用される。また、Tok1~TokAに対応する出力が特徴ベクトルを示し、後述の特徴ベクトル変換部6の出力に利用される。
【0027】
図2に戻り、補助トークン列生成部4は、生成された補助トークン列を補助トークン列記憶部105に記憶する。
【0028】
結合トークン列生成部5は、ターゲットトークン列と補助トークン列とを結合することによって、結合トークン列を生成する。ターゲットトークン列と意味的な繋がりがあると判定された補助トークン列が、結合トークン列生成部5によって、当該ターゲットトークン列と結合される。
【0029】
結合トークン列生成部5は、ターゲットトークン列と意味的な繋がりがあると判定された補助トークン列が複数ある場合、所定の方法で複数の補助トークン列から1つの補助トークン列を選択し、当該ターゲットトークン列に結合する。例えば、結合トークン列生成部5は、上述の
図4のニューラルネットワーク言語モデルにおける補助トークン列生成部4の出力が最も高い補助トークン列(最も意味的な繋がりが深い補助トークン列)を選択し、当該ターゲットトークン列に結合する。
【0030】
また例えば、結合トークン列生成部5は、ターゲットトークン列と意味的な繋がりがあると判定された補助トークン列が複数ある場合、当該複数の補助トークン列を当該ターゲットトークン列に結合してもよい。
【0031】
結合トークン列生成部5は、補助トークン列とターゲットトークン列との間に、区切りトークンを入れてもよい。また、結合トークン列生成部5は、複数の補助トークン列がターゲットトークン列に結合される場合、複数の補助トークン列の間に区切りトークンを入れてもよい。
【0032】
結合トークン列生成部5は、生成された結合トークン列を結合トークン列記憶部106に記憶する。
【0033】
特徴ベクトル変換部6は、結合トークン列生成部5により結合された各結合トークン列を、ニューラルネットワーク言語モデルを用いて、特徴ベクトルに変換する。ニューラルネットワーク言語モデルには、例えば外部データでトークン列から特徴ベクトルへの変換規則が学習されたモデル(例えば、Word2vec、CNN及びBERTなど)が用いられる。
【0034】
上述の
図4のニューラルネットワーク言語モデルの例では、結合トークン列のうち、ターゲットトークン列の特徴ベクトル部分を出力、または、結合トークン列のうちターゲットトークン列の特徴ベクトル部分を出力するようにファインチューニングされる。
【0035】
分類部7は、特徴ベクトル変換部6により変換された特徴ベクトルが示す言語特徴から、LSTMを用いて言語特徴のクラス分類を行う。各クラスは、例えば請求書番号や会社名などを示す。分類部7による分類結果から、画像に含まれる請求書番号や会社名の特定がされる(上述の
図1参照)。
【0036】
図5は、実施形態の特徴ベクトル変換部6及び分類部7の処理例を示す図である。結合トークン列[T
A1,T
A2,…,T
An][A1,A2,…,An]、結合トークン列[T
B1,T
B2,…,T
Bn][B1,B2,…,Bn]、及び、結合トークン列[T
c1,T
c2,…,T
cn][C1,C2,…,Cn]は、画像内の3つの異なる位置に記載された文から生成された結合トークン列である。
【0037】
[TA1,TA2,…,TAn]は、ターゲットトークン列[A1,A2,…,An]の補助トークン列を示す。[TB1,TB2,…,TBn]は、ターゲットトークン列[B1,B2,…,Bn]の補助トークン列を示す。[Tc1,Tc2,…,Tcn]は、ターゲットトークン列[C1,C2,…,Cn]の補助トークン列を示す。
【0038】
特徴ベクトル変換部6は、結合トークン列[TA1,TA2,…,TAn][A1,A2,…,An]のうち、ターゲットトークン列[A1,A2,…,An]の言語特徴を示す特徴ベクトルを出力する。同様に、特徴ベクトル変換部6は、結合トークン列[TB1,TB2,…,TBn][B1,B2,…,Bn]のうち、ターゲットトークン列[B1,B2,…,Bn]の言語特徴を示す特徴ベクトルを出力する。同様に、特徴ベクトル変換部6は、結合トークン列[Tc1,Tc2,…,Tcn][C1,C2,…,Cn]のうち、ターゲットトークン列[C1,C2,…,Cn]の言語特徴を示す特徴ベクトルを出力する。
【0039】
分類部7は、ターゲットトークン列[A1,A2,…,An]、[B1,B2,…,Bn]及び[C1,C2,…,Cn]の言語特徴から、LSTMを用いて言語特徴のクラス分類を行う。
図5の分類部7では特徴ベクトル変換部6が出力した各ターゲットトークン列の言語特徴を結合してから分類部7に入力しているが、結合せずにそれぞれの言語特徴を用いて分類を行っても良い。
【0040】
図6は、実施形態の言語特徴の抽出例を説明するための図である。
図6の例は、帳票に含まれる文(数字や記号なども含む)の言語特徴を抽出する場合を示す。記事、論文または小説等の通常の文章であれば、文章を連続して特徴抽出器(例えばBERTなど)に入力して特徴を取得すれば良いが、帳票は通常の文章と比べ以下の問題点がある。
(1)読み順が自明でない
(2)文脈が連続しない
【0041】
例えば、読み順を間違えた文、文脈上関係のない文が、一緒に特徴抽出器に入力されると言語特徴の品質が低下する。例えば、文201(
図6の例では、数値)に関連があるのは、隣接の数値ではなく、文202及び203である。
【0042】
実施形態の情報処理システム10によれば、ターゲットトークン列と補助トークン列とを結合させた結合トークン列を用いることによって、
図6に示すよう帳票から言語特徴を抽出する場合であっても、言語特徴の抽出精度の低下を防ぐことができる。
【0043】
図7は、実施形態の情報処理方法の例を示すフローチャートである。
図6の帳票から言語特徴が抽出される場合を例にして説明する。
【0044】
はじめに、入力部1が、帳票に含まれる複数の文を含む入力テキストと、当該複数の文の位置情報の入力を受け付ける(ステップS1)。
【0045】
次に、トークン変換部2が、入力テキストを、トークンの分割単位が定められた語彙辞書に基づき、トークン列群に変換する(ステップS2)。例えば、文202は、予め定められた語彙辞書に基づき、トークン[“今月”,“の”,“単価”]に変換される。
【0046】
次に、推定部3が、複数の文の位置情報に基づき、トークン列群の構造を示す構造化情報を推定する(ステップS3)。
図6の例では、例えば文201が、帳票に含まれる表の1つのセル内の文であることを示す構造化情報が推定される。また例えば、文202及び203が、帳票に含まれる表の項目を説明する文であることを示す構造化情報が推定される。
【0047】
次に、補助トークン列生成部4が、ステップS2で変換されたトークン列群に含まれるターゲットトークン列毎に、ステップS3で推定された構造化情報に基づき、ターゲットトークン列の文脈情報を推定する補助トークン列を生成する(ステップS4)。
【0048】
次に、結合トークン列生成部5が、ターゲットトークン列と、ステップS4で生成された補助トークン列とを結合することによって、結合トークン列を生成する(ステップS5)。
【0049】
次に、特徴ベクトル変換部6が、少なくとも1つのニューラルネットワークレイヤーを含むニューラルネットワークを用いて、ステップS5で生成された結合トークン列を、ターゲットトークン列の文脈情報を表す特徴ベクトルに変換する(ステップS6)。
【0050】
図8は、実施形態の言語特徴の抽出例を説明するための図である。
図8の例は、
図6の帳票から文201の言語特徴が抽出される場合を示す。[“みかん”,“今月の単価”,[T],“200”]は、結合トークン列を示す。[“200”]は、ターゲットトークン列を示す。文201の例では、ターゲットトークン列に含まれるトークンは1つとなる。[“みかん”,“今月の単価”]は、ターゲットトークン列の補助トークン列を示し、
図6の文202及び203に対応する。[T]は、区切りトークンを示す。
【0051】
図8に示すように、ターゲットトークン列の言語特徴を求める際、文脈の補完になる補助トークン列を添えられることで、
図6に示すよう帳票から言語特徴を抽出する場合であっても、言語特徴の抽出精度の低下を防ぐことができる。
【0052】
なお、補助トークン列は必ずしも帳票内の実際のトークン列である必要はなく、実際のトークン列から所定のルールで変換されたメタデータが、補助トークン列に含まれていてもよい(後述の実施形態の変形例1を参照)。
【0053】
図7に戻り、分類部7が、ステップS6で変換された特徴ベクトルが示す言語特徴から、LSTMを用いて、文201言語特徴のクラス分類を行う(ステップS7)。
図6の文201の例では、例えば、みかんの今月の単価の数値情報であることを示すクラス(文脈情報)に分類される。
【0054】
以上、説明したように、実施形態の情報処理システム10では、入力部1が、画像に含まれる少なくとも1つの文を含む入力テキストと、当該文の位置情報との入力を受け付ける。トークン変換部2が、入力テキストを、トークンの分割単位が定められた語彙辞書に基づき、トークン列群に変換する。推定部3が、位置情報に基づき、トークン列群の構造を示す構造化情報を推定する。補助トークン列生成部4が、トークン列群に含まれるターゲットトークン列毎に、構造化情報に基づき、ターゲットトークン列の文脈情報を推定する補助トークン列を生成する。結合トークン列生成部5が、ターゲットトークン列と補助トークン列とを結合することによって、結合トークン列を生成する。そして、特徴ベクトル変換部6が、少なくとも1つのニューラルネットワークレイヤーを含むニューラルネットワークを用いて、結合トークン列を、ターゲットトークン列の文脈情報を表す特徴ベクトルに変換する。
【0055】
これにより実施形態の情報処理システム10によれば、文字認識の結果から得られた言語特徴の品質を高めることができる。例えば、読み順が自明でない複数の文、または、文脈が連続しない複数の文が、画像に含まれている場合でも、文字認識の結果から得られた言語特徴の品質を高めることができる。
【0056】
(実施形態の変形例1)
次に実施形態の変形例1について説明する。変形例1の説明では、実施形態と同様の説明については省略し、実施形態と異なる箇所について説明する。
【0057】
例えば、処理対象の画像は、文書構造を有する複数の文を含んでいてもよい。この場合、ターゲットトークン列は、文書構造を有する複数の文の一部となる。
【0058】
推定部3は、各ターゲットトークン列から文書構造を解析し、各ターゲットトークン列に対応する文(例えば文字列)の文書構造を示す構造化情報を推定してもよい。例えば、推定部3は、章・節・項の構造を有する文書であれば、区切られた文が章・節・項のどれにあたるか、あるいはいずれにも該当しないのかを解析する。
【0059】
例えば、解析方法は、所定の言語モデルを用いて、文書構造を推定するラベルを出力する機械学習に基づく解析方法でもよい。また例えば、解析方法は、ルールベース(例えば文頭の数字や文字の大きさやインデントの長さ等による判定)で行われてもよい。
【0060】
補助トークン列生成部4は、文書構造を示す構造化情報に基づいて、ターゲットトークン列に、ラベルトークンを付与する補助トークン列を生成する。例えば、補助トークン列生成部4は、所定の変換規則によってターゲットトークン列の文書構造を、文書構造を識別するラベルトークンに変換し、ラベルトークンを含む補助トークン列を生成する。
【0061】
具体的には、補助トークン列生成部4は、章・節・項の構造を有する文書であれば、章・節・項・該当なしの4種類のラベルトークンのいずれかを含む補助トークン列を生成する。また例えば、補助トークン列生成部4は、章・節・項のいずれかにあたる場合、その番号(章番号、節番号、項番号)も付与してもよい。あるいは、補助トークン列生成部4は、インデントが揃えられた見出しがついた文書の場合、インデントの長さに応じて異なるラベルトークンを付与してもよい。
【0062】
特徴ベクトル変換部6は、結合トークン列のうち、ターゲットトークン列を、補助トークン列に基づいて特徴ベクトルに変換する。変形例1では、補助トークン列にラベルトークンが含まれるので、当該ラベルトークンを示すメタデータが特徴ベクトルに変換される。
【0063】
具体的には、章・節・項の構造を有する文書の場合、例えば、特徴ベクトルは、章は4、節は3、項は2、その他の文は1で示す1次元のベクトルである。また例えば、特徴ベクトルは、章・節・項・その他の文の4次元のone hotベクトルである。また例えば、特徴ベクトルは、3次元のベクトルで、6.3節なら1次元目に6、2次元目に3、3次元目に0というように、それぞれの次元の値が章番号などを示してもよい。また例えば、インデントが揃えられた見出しがついた文書の場合、特徴ベクトルは、インデントの長さに対応するベクトルでもよい。
【0064】
(実施形態の変形例2)
次に実施形態の変形例2について説明する。変形例2の説明では、実施形態と同様の説明については省略し、実施形態と異なる箇所について説明する。実施形態のターゲットトークン列、及び、補助トークン列は、何らかの意味をもつ値であるバリューと、バリューを識別するための情報であるキーから構成されるキーバリュー形式で生成されてもよい。
【0065】
例えば、補助トークン列生成部4は、ターゲットトークン列を、少なくとも1つのバリュー情報として生成し、補助トークン列を、少なくとも1つのバリュー情報を説明するキーとして生成してもよい。また、逆に、補助トークン列生成部4は、補助トークン列を、少なくとも1つのバリュー情報として生成し、ターゲットトークン列を、少なくとも1つのバリュー情報を説明するキーとして生成してもよい。
【0066】
(実施形態の変形例3)
次に実施形態の変形例3について説明する。変形例3の説明では、実施形態と同様の説明については省略し、実施形態と異なる箇所について説明する。ターゲットトークン列及び補助トークン列の例は、上述の実施形態の例の他にも、例えば下記のような具体例が考えられる。
【0067】
例えば、ターゲットトークン列は、表に含まれる少なくとも1つのセル内のデータの全部または一部でもよい。この場合、補助トークン列生成部4は、表に付与された少なくとも1つの見出しの全部または一部を含む補助トークン列を生成する。また、逆に、ターゲットトークン列は、表に付与された少なくとも1つの見出しの全部または一部の全部または一部でもよい。この場合、補助トークン列生成部4は、表に含まれる少なくとも1つのセル内のデータの全部または一部を含む補助トークン列を生成する。
【0068】
また例えば、ターゲットトークン列は、1文の一部であってもよい。この場合、補助トークン列生成部4は、ターゲットトークン列と同じ文に属する全部または一部のトークン列を含む補助トークン列を生成する。
【0069】
また例えば、ターゲットトークン列は、図又は表を引用する文の全部または一部であってもよい。この場合、補助トークン列生成部4は、図又は表に付与されたタイトルの全部または一部を含む補助トークン列を生成する。また、逆に、ターゲットトークン列は、図又は表に付与されたタイトルの全部または一部であってもよい。この場合、補助トークン列生成部4は、図又は表を引用する文の全部または一部を含む補助トークン列を生成する。
【0070】
また例えば、ターゲットトークン列は、帳票または章節のタイトルの全部または一部であってもよい。この場合、補助トークン列生成部4は、帳票または章節に対応するデータの全部または一部を含む補助トークン列を生成する。また、逆に、ターゲットトークン列は、帳票または章節に対応するデータの全部または一部であってもよい。この場合、補助トークン列生成部4は、帳票または章節のタイトルの全部または一部を含む補助トークン列を生成する。
【0071】
最後に、実施形態の情報処理システム10のハードウェア構成の例について説明する。
【0072】
[ハードウェア構成の例]
図9は、実施形態の情報処理システム10のハードウェア構成の例を示す図である。実施形態の情報処理システム10は、プロセッサ301、主記憶装置302、補助記憶装置303、表示装置304、入力装置305及び通信装置306を備える。プロセッサ301、主記憶装置302、補助記憶装置303、表示装置304、入力装置305及び通信装置306は、バス310を介して接続されている。
【0073】
なお、情報処理システム10は、上記構成の一部が備えられていなくてもよい。例えば、情報処理システム10が、外部の装置の入力機能及び表示機能を利用可能な場合、情報処理システム10に表示装置304及び入力装置305が備えられていなくてもよい。
【0074】
プロセッサ301は、補助記憶装置303から主記憶装置302に読み出されたプログラムを実行する。主記憶装置302は、ROM(Read Only Memory)及びRAM(Random Access Memory)等のメモリである。補助記憶装置303は、HDD(Hard Disk Drive)及びメモリカード等である。
【0075】
表示装置304は、例えば液晶ディスプレイ等である。入力装置305は、情報処理システム10を操作するためのインタフェースである。なお、表示装置304及び入力装置305は、表示機能と入力機能とを有するタッチパネル等により実現されていてもよい。通信装置306は、他の装置と通信するためのインタフェースである。
【0076】
例えば、情報処理システム10で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルで、メモリカード、ハードディスク、CD-RW、CD-ROM、CD-R、DVD-RAM及びDVD-R等のコンピュータで読み取り可能な記憶媒体に記録されてコンピュータ・プログラム・プロダクトとして提供される。
【0077】
また例えば、情報処理システム10で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。
【0078】
また例えば、情報処理システム10で実行されるプログラムをダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。具体的には、例えばASP(Application Service Provider)型のクラウドサービスによって構成してもよい。
【0079】
また例えば、情報処理システム10のプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
【0080】
情報処理システム10で実行されるプログラムは、上述の機能構成のうち、プログラムによっても実現可能な機能を含むモジュール構成となっている。当該各機能は、実際のハードウェアとしては、プロセッサ301が記憶媒体からプログラムを読み出して実行することにより、上記各機能ブロックが主記憶装置302上にロードされる。すなわち上記各機能ブロックは主記憶装置302上に生成される。
【0081】
なお上述した各機能の一部又は全部をソフトウェアにより実現せずに、IC(Integrated Circuit)等のハードウェアにより実現してもよい。
【0082】
また複数のプロセッサ301を用いて各機能を実現してもよく、その場合、各プロセッサ301は、各機能のうち1つを実現してもよいし、各機能のうち2つ以上を実現してもよい。
【0083】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0084】
1 入力部
2 トークン変換部
3 推定部
4 補助トークン列生成部
5 結合トークン列生成部
6 特徴ベクトル変換部
7 分類部
10 情報処理システム
101 入力テキスト記憶部、
102 位置情報記憶部、
103 トークン列群記憶部、
104 構造化情報記憶部、
105 補助トークン列記憶部
106 結合トークン列記憶部
301 プロセッサ
302 主記憶装置
303 補助記憶装置
304 表示装置
305 入力装置
306 通信装置
310 バス