IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特開2024-177756情報処理装置、情報処理装置の制御方法、及びプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024177756
(43)【公開日】2024-12-24
(54)【発明の名称】情報処理装置、情報処理装置の制御方法、及びプログラム
(51)【国際特許分類】
   G06F 16/583 20190101AFI20241217BHJP
【FI】
G06F16/583
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2023096079
(22)【出願日】2023-06-12
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】高島 敬一
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA02
5B175FB02
5B175HB03
(57)【要約】
【課題】書類や取引企業によってレイアウトが異なる準定型文書においてタグ付与を効率良く行う。
【解決手段】文書画像に固有表現タグを付与する処理を行う情報処理装置は、入力文書画像を受け付ける受付手段と、既に固有表現タグが付与された文書画像群の中から、入力文書画像と比較するための参照文書画像を選択する選択手段と、選択手段によって選択された参照文書画像において固有表現タグが付与されている文字列に対応する文字ブロックを入力文書画像から抽出する抽出手段と、抽出された文字ブロックが表す文字列の特徴量ベクトルと参照文書画像において固有表現タグが付与されている文字列の特徴量ベクトルとの類似度に基づいて、抽出された文字ブロックが表す文字列に固有表現タグを付与する付与手段と、を備える。
【選択図】図10
【特許請求の範囲】
【請求項1】
文書画像に固有表現タグを付与する処理を行う情報処理装置であって、
入力文書画像を受け付ける受付手段と、
既に固有表現タグが付与された文書画像群の中から、前記入力文書画像と比較するための参照文書画像を選択する選択手段と、
前記選択手段によって選択された前記参照文書画像において前記固有表現タグが付与されている文字列に対応する文字ブロックを前記入力文書画像から抽出する抽出手段と、
抽出された前記文字ブロックが表す文字列の特徴量ベクトルと前記参照文書画像において固有表現タグが付与されている文字列の特徴量ベクトルとの類似度に基づいて、抽出された前記文字ブロックが表す文字列に固有表現タグを付与する付与手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記参照文書画像は、前記入力文書画像との類似度が所定の値以上の値を有する、ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
抽出された前記文字ブロックが表す文字列のタグ情報をUI画面に表示する表示制御手段と、をさらに備えることを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記表示制御手段は、前記文字列が抽出されない前記固有表現タグには枠のみを表示する、ことを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記UI画面上で前記枠が対応する前記文字ブロックにドラッグアンドドロップされた場合、前記付与手段は当該文字ブロックが表す文字列に前記固有表現タグを付与する、ことを特徴とする請求項4に記載の情報処理装置。
【請求項6】
ドラッグアンドドロップにより、前記付与手段が、前記文字ブロックが表す文字列に前記固有表現タグを付与した場合、前記表示制御手段は当該文字ブロックが表す文字列のタグ情報を前記UI画面に表示する、ことを特徴とする請求項5に記載の情報処理装置。
【請求項7】
前記表示制御手段は、前記文字ブロック及びそのタグ情報の表示色を前記固有表現タグが付与される前の表示色とは異なる色で表示する、ことを特徴とする請求項6に記載の情報処理装置。
【請求項8】
前記付与手段は、前記抽出手段によって抽出された前記文字ブロックの一部を表す第1文字列の特徴量ベクトルと前記参照文書画像において前記固有表現タグが付与されている第2文字列の特徴量ベクトルとの類似度と、前記第1文字列の直前文字列の特徴量ベクトルと前記第2文字列の直前文字列の特徴量ベクトルとの類似度と、に基づいて、前記第1文字列に前記固有表現タグを付与する、ことを特徴とする請求項1に記載の情報処理装置。
【請求項9】
前記表示制御手段は、使用される前記固有表現タグのリストを前記UI画面に表示する、ことを特徴とする請求項3に記載の情報処理装置。
【請求項10】
前記固有表現タグの使用頻度を格納する記憶手段と、をさらに備え、
前記表示制御手段は、前記固有表現タグのリストにおいて、使用頻度順に前記固有表現タグを表示する、ことを特徴とする請求項9に記載の情報処理装置。
【請求項11】
前記表示制御手段は、前記固有表現タグのリストにおいて、使用されている前記固有表現タグの表示色と使用されていない前記固有表現タグの表示色を異なる色で表示する、ことを特徴とする請求項10に記載の情報処理装置。
【請求項12】
文書画像に固有表現タグを付与する処理を行う情報処理装置の制御方法であって、
入力文書画像を受け付けるステップと、
既に固有表現タグが付与された文書画像群の中から、前記入力文書画像と比較するための参照文書画像を選択するステップと、
前記選択するステップにおいて選択された前記参照文書画像において前記固有表現タグが付与されている文字列に対応する文字ブロックを前記入力文書画像から抽出するステップと、
抽出された前記文字ブロックが表す文字列の特徴量ベクトルと前記参照文書画像において固有表現タグが付与されている文字列の特徴量ベクトルとの類似度に基づいて、抽出された前記文字ブロックが表す文字列に固有表現タグを付与するステップと、
を備えることを特徴とする情報処理装置の制御方法。
【請求項13】
コンピュータを、請求項1乃至11のいずれか一項に記載の情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、機械学習モデルの学習データ群を作成する技術に関する。
【背景技術】
【0002】
固有表現抽出をはじめとする機械学習に用いられる学習データを作成するためのプログラムとして、対象となるデータに対して学習すべき正解情報(タグ)を付与して学習データを生成するアノテーションツールが利用されている。精度の高い固有表現抽出のために大量の文書を収集して学習データを生成するが、収集した文書の中には同じテンプレートから生成された定型文書が含まれることがある。新しくタグを付与する対象文書が当該定型文書と同じテンプレートから作成されている場合、当該定型文書のタグ情報を流用して対象文書にそのまま付与することにより、タグ付与作業を自動的に完了させることが可能である。そして、同種の文書であるがレイアウトの細部が書類や取引企業によって異なる準定型文書においても同様にタグを自動付与できるようにしたいというニーズがある。ここで、対象文書が準定型文書である場合、表の行数、又はタグ近傍の文字列の長さなどがそれぞれ異なるため、既にタグが付与された他の準定型文書のタグを自動的に付与することができない。この点、レイアウトが異なる準定型文書をファイル化する際に、処理対象の文書において過去にスキャンした文書と位置関係が同じである表及び文字列に対してファイル名に抽出する領域を自動設定する技術が特許文献1に開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2019-128727号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記特許文献1の技術を準定型文書へのタグ付与に適用する場合、対象文書とタグ付与済み準定型文書との位置関係のみに基づいて対象文書にタグが付与されることになる。そうなると、付与すべきタグが付与されない付与漏れや誤ったタグが付与されてしまう付与ミスが発生する可能性がある。こうした付与漏れや付与ミスが生じた場合はユーザが手動で正しいタグを付与し直す必要があり、ユーザに負担がかかる。本開示は、上記課題に鑑みてなされたものであり、準定型文書においてもタグ付与を効率良く行うことを目的とする。
【課題を解決するための手段】
【0005】
本開示に係る情報処理装置は、文書画像に固有表現タグを付与する処理を行う情報処理装置であって、入力文書画像を受け付ける受付手段と、既に固有表現タグが付与された文書画像群の中から、前記入力文書画像と比較するための参照文書画像を選択する選択手段と、前記選択手段によって選択された前記参照文書画像において前記固有表現タグが付与されている文字列に対応する文字ブロックを前記入力文書画像から抽出する抽出手段と、抽出された前記文字ブロックが表す文字列の特徴量ベクトルと前記参照文書画像において固有表現タグが付与されている文字列の特徴量ベクトルとの類似度に基づいて、抽出された前記文字ブロックが表す文字列に固有表現タグを付与する付与手段と、を備えることを特徴とする。
【発明の効果】
【0006】
本開示の技術によれば、準定型文書においてもタグ付与を効率良く行うことが可能となる。
【図面の簡単な説明】
【0007】
図1】情報処理装置のハードウェア構成を示すブロック図。
図2】情報処理装置の機能構成を示すブロック図。
図3】表示画面の一例を示す図。
図4】学習データを生成する処理を示すフローチャート。
図5】入力文書の読み込み処理を示すフローチャート。
図6】類似文書の検索処理を示すフローチャート。
図7】類似文書リストの一例を示す図。
図8】参照文書の選択処理を示すフローチャート。
図9】タグ情報の一例を示す図。
図10】タグ付与処理を示すフローチャート。
図11】タグ枠情報の一例を示す図。
図12】最大類似文字ブロックの抽出処理を示すフローチャート。
図13】タグ枠ドラッグ開始処理を示すフローチャート。
図14】移動中タグ枠情報の一例を示す図。
図15】タグ枠ドロップ処理を示すフローチャート。
図16】保存処理を示すフローチャート。
図17】クローズ処理を示すフローチャート。
図18】ブロック内類似文字列の抽出処理を説明する図。
図19】タグ付与部のタグ付与処理を示すフローチャート。
図20】最類似ブロック内文字列の抽出処理を示すフローチャート。
図21】最類似文字列の情報の一例を示す図。
図22】ブロック内類似文字列の抽出処理を示すフローチャート。
図23】参照文書の選択処理を示すフローチャート。
【発明を実施するための形態】
【0008】
以下、本開示の実施形態について、添付図面を参照して説明する。尚、以下の実施形態は本開示を限定するものではなく、また実施形態で説明されている特徴の組み合わせの全てが本開示の解決手段に必須のものとは限らない。また、フローチャートにおける各工程(ステップ)については「S」で始まる符号を用いて示す。
【0009】
[第1実施形態]
以下、本開示の第1実施形態について添付図面を参照して説明する。図1は、第1実施形態に係る情報処理装置100のハードウェア構成を示すブロック図である。情報処理装置100は、GPU101、CPU102、ROM103、RAM104、記憶装置105、ネットワークインターフェース106、出力インターフェース107、入力インターフェース108、及び制御装置109を含む。上記の各装置は、システムバス121を介して接続されている。
【0010】
GPU101は、データを並列処理することにより効率的な演算を実行するプロセッサーであり、高速な演算処理をCPU102の代わりに実行する。CPU102は、ROM103に記憶されたプログラム及びデータをRAM104に読み出して後述する各種処理を実行する。ROM103は、CPU102が実行するプログラム及びデータ等の固定データを記憶する。RAM104は、CPU102の主メモリ、及びワークエリアなどの一時記憶領域として用いられる。記憶装置105は、文書データなどを記憶する大容量記憶デバイスである。ネットワークインターフェース106は、ネットワークへの接続を行うインターフェースであり、情報処理装置100はインターネットなどのネットワークに接続可能となる。出力インターフェース107は、外部の出力デバイス110にデータ等を出力するインターフェースである。入力インターフェース108は、外部の入力デバイス111からデータ及び命令等を受け付けるインターフェースである。制御装置109は、各種制御を行う装置である。情報処理装置100は、上記では1つの装置として説明を行ったが、複数の装置から構成されていてもよい。例えば、記憶装置105は外部のストレージサーバを用いてもよい。
【0011】
図2は本実施形態に係る情報処理装置100の機能構成を示すブロック図である。情報処理装置100は、学習データ生成部210、タグ付与部220、記憶部230、学習部260、及び固有表現抽出部270を備える。学習データ生成部210は、記憶部230に格納された文書データ231の文字列毎に固有表現タグを付与した学習データ232を生成して記憶部230に格納する。タグ付与部220は、学習データ生成部210が読み取った固有表現タグが付与されていない文書データ231に効率よくタグを付与する機能を有する。具体的には、タグ付与部220は同じテンプレートから生成された固有表現タグ付与済みの学習データ232からタグ情報を取得して、文書データ231の文字列にタグを付与する。学習部260は、学習データ232を学習して推論モデル281を構築し、推論モデル281のデータを記憶部230に格納する。記憶部230は、記憶装置105によって実現され、文書データ231、学習データ232、及び推論モデル281のデータを記憶し、各機能部にそれらのデータを提供する。固有表現抽出部270は、推論モデル281を用いて文書データから固有表現を抽出する。
【0012】
図2の各機能部は、ROM103からRAM104に読み出されたプログラム、及び記憶装置105からRAM104にロードされたアプリケーション等のプログラムをCPU102が実行することで実現される。各処理の実行結果はRAM104に保持されるが、文書データ231、学習データ232、及び推論モデル281のデータは記憶装置105に格納される。
【0013】
<固有表現学習データの説明>
まず、本実施形態の情報処理装置で生成する学習データ232の固有表現タグについて説明する。固有表現タグは、固有表現抽出技術の分野で一般に用いられるIOB2形式で付与する。IOB2形式では、固有表現を意味する文字列の先頭単位にB-<任意文字列>タグ、2番目以降にI-<任意文字列>タグを付与し、何れの固有表現でもない場合はOタグを付与する。そしてBタグから連続する同種のIタグの領域を同タグの文字列とする。例えば、文字列「To:ABC Inc.」の「ABC Inc.」に組織名「ORG」タグを付与する場合、4文字目「A」にB-ORG、5文字目「B」から11文字目「.」にI-ORGタグ、1から3文字目「To:」にはOタグを付与する。これで「ABC Inc.」を固有表現ORGと表現する。なお、タグの付与形式はIOB2形式に限らず、IOB1形式やIOE1形式などでも良い。
【0014】
<タグ付与処理の説明>
次に、本実施形態の情報処理装置100において、学習データ生成部210及びタグ付与部220が既存の学習データに付与されたタグ情報を文書データ231に付与して学習データ232を生成する動作を説明する。
【0015】
図3は、タグ付与の操作を行うUI画面の一例を示す図である。4つの領域がUI画面上に表示される。左の領域はツールペイン301、中央の領域は編集ペイン302、右下の領域は付与元検索ペイン303、右上の領域は付与元プレビューペイン304と呼ばれる。ツールペイン301には入力文書に付与する固有表現タグ毎のタグツールボタン310が配置されている。操作者は編集ペイン302に表示された入力文書画像の文字列を選択し、付与する固有表現タグの種類に応じてタグツールボタン310を選択すると、選択文字列にタグを付与することができる。編集ペイン302には固有表現タグを付与する対象である入力文書画像が表示される。付与元検索ペイン303には編集ペイン302に表示されたタグ付与対象の文書に類似したタグ付与済み学習データ(タグ付与済み文書画像群)を検索して、その一覧を表示することができる。付与元プレビューペイン304には付与元検索ペイン303の一覧から操作者が選択した学習データ(参照文書)がプレビューされ、選択した学習データの文書内容(参照文書画像)および付与されたタグを確認することができる。
【0016】
図4は、情報処理装置100が学習データ232を生成する全体の処理を示すフローチャートである。本フローに係る情報処理装置100のプログラムは、ROM103に格納されており、RAM104に読み出され、CPU102によって実行される。S401では、情報処理装置100は操作者の操作を判定して、当該操作に対応する処理を行う。
【0017】
以下、図3及び図4を参照して、操作者の操作の順序に従って処理を説明する。各処理の詳細は後述する。まず、操作者が「開く」ボタン320を押下すると、情報処理装置100のCPU102は入力文書読み込み処理(S402)を行う。次に、操作者が文書フォルダ名330を入力した後に「検索」ボタン332を押下すると、情報処理装置100のCPU102は入力文書との類似度が所定の値以上である文書(以下、「類似文書」とも称する)の検索処理(S403)を行う。操作者が類似文書一覧333から文書を1つ選択すると、情報処理装置100のCPU102は参照文書の選択処理(S404)を行う。参照文書の選択処理(S404)が実行されると、領域304に操作者が選択した文書データ(参照文書画像)が表示される。
【0018】
操作者が領域304に表示された参照文書画像及び付与されたタグの表示から参照文書であること確認し、「タグ付与」ボタン340を押下すると、情報処理装置100のCPU102はタグ付与処理(S405)を実行する。タグ付与処理によって入力文書画像においてタグを付与する文字列が見つからなかったタグがあった場合には、文字列が定まっていない枠だけのタグ(タグ枠)を表示する。操作者がマウス操作などでタグ枠をドラッグ開始すると、情報処理装置100のCPU102はタグ枠ドラッグ開始処理(S406)を行う。操作者がドラッグしたタグ枠を入力文書画像中の文字列上にドロップ(ドラッグアンドドロップ)すると、情報処理装置100のCPU102はタグ枠ドロップ処理(S407)を行う。操作者が「保存」ボタン321を押下すると、情報処理装置100のCPU102は保存処理(S408)を行う。最後に、タグ付けが完了して操作者が「閉じる」ボタン322を押下すると、情報処理装置100のCPU102はクローズ処理(S409)を行い、入力文書画像に対する処理を終了する。入力文書画像に対する処理を終了すると、学習データ232が生成される。操作者がタグツールボタン310を押下するなど、操作者がその他の操作を行った場合には、情報処理装置100のCPU102はその他の処理(S410)を行う。ここで、情報処理装置100の機能構成に示される学習データ生成部210は、入力文書読み込み処理、保存処理、及びクローズ処理を行う。タグ付与部220は、類似文書の検索処理、参照文書の選択処理、タグ付与処理、タグ枠ドラッグ開始処理、及びタグ枠ドロップ処理を行う。
【0019】
図5は、情報処理装置100のCPU102が実行する入力文書の読み込み処理(S402)の詳細なフローチャートである。まず、情報処理装置100のCPU102は、後述する保存処理(S408)によって現在タグ付与中の文書の学習データを記憶装置105に保存する。S501において、情報処理装置100のCPU102は、固有表現タグを付与する対象の文書を受け付ける画面を表示制御装置112に表示し、処理はS502に進む。S502において、情報処理装置100のCPU102は、表示された文書受付画面上で文書(入力文書)が受け付けられたか判定する。文書受付画面上で文書が受け付けられた場合には、処理はS503に進む。文書受付画面上で文書が受け付けられなかった場合には、図5に示されるフローチャートの処理は終了する。
【0020】
S503において、情報処理装置100のCPU102は受け付けられた文書を読み込み、処理はS504に進む。S504において、受け付けられた文書を読み込む際に、情報処理装置100のCPU102はエラーが発生しなかったか判定する。エラーが発生した場合には、処理はS505に進む。エラーが発生しなかった場合には、処理はS506に進む。
【0021】
S505において、情報処理装置100のCPU102はエラー処理を行い、図5に示されるフローチャートの処理は終了する。S506において、情報処理装置100のCPU102は、読み込んだ入力文書の内容を入力文書画像として編集ペイン302に表示し、処理はS507に進む。S507において、情報処理装置100のCPU102は、RAM104に格納された変更済フラグをOFFにし、図5に示されるフローチャートの処理は終了する。変更済フラグがONである場合、入力文書画像に付与されたタグ設定に変更があることを表す。変更済フラグがOFFである場合、タグ設定に変更がないことを表す。
【0022】
図6は、情報処理装置100のCPU102が実行する類似文書の検索処理(S403)の詳細なフローチャートである。まず、S601において、情報処理装置100のCPU102は、S402でタグを付与する入力文書を開いて編集中としており、かつ、入力文書の類似文書を検索するフォルダを設定しているかを判定する。編集中文書の類似文書を検索するフォルダの設定は、ユーザが図3の領域330にフォルダ名を入力することにより行われる。S601において入力文書が編集中ではない、又は入力文書の類似文書を検索するフォルダを設定していない場合には、図6に示されるフローチャートの処理は終了する。S601においてタグを付与する文書を編集中としており、かつ、入力文書の類似文書を検索するフォルダが設定済みである場合には、処理はS602に進む。
【0023】
S602では、情報処理装置100のCPU102は、設定された文書検索フォルダから学習データを検索し、学習データが見つかったか判定する。図3のチェックボックス331がONであれば、領域330で指定したフォルダのサブフォルダも再帰的に検索する。学習データが見つからなかった場合には、図6に示されるフローチャートの処理は終了する。学習データが見つかった場合には、処理はS604に進む。S604において、情報処理装置100のCPU102は、入力文書の特徴量ベクトルを算出し、処理はS605に進む。文書の特徴量ベクトル化処理は、例えば自然言語処理のDoc2Vecの手法を用いる。
【0024】
S605からS611のループ処理は、見つかった学習データ数分行われる。S606において、情報処理装置100のCPU102は、見つかった学習データの特徴量ベクトルを算出し、処理はS607に進む。S607において、情報処理装置100のCPU102は、入力文書と学習データとの特徴量ベクトルの類似度を算出し、処理はS608に進む。S608において、情報処理装置100のCPU102は、見つかった学習データが入力文書と類似しているか判定する。見つかった学習データが入力文書と類似していると判定された場合には、処理はS609に進む。見つかった学習データが入力文書と類似していないと判定された場合には、処理はS610に進む。類似度は、特徴量ベクトルのコサイン類似度を用いて算出される。つまり、文章A及び文章Bの特徴量ベクトルをそれぞれVecA、VecBとすると、コサイン類似度=VecAとVecBとの内積/(VecAのノルム*VecBのノルム)で算出できる。コサイン類似度は-1から1の値を取り、1が最も類似している(同一である)ことを表す。S608の判定は、類似度が所定の値以上であれば、学習データが入力文書と類似していると判定する。S609において、情報処理装置100のCPU102は、見つかった学習データをRAM104に格納された類似文書リストに追加し、処理はS610に進む。図7は、類似文書リストの一例である。類似文書リストは、学習データの文書名とその文書が格納されたフォルダ名から構成される。S610において、情報処理装置100のCPU102は、S602で見つかった全学習データに対してS606からS609までの処理を行ったかを判定する。全学習データに対してS606からS609までの処理を行った場合には、処理はS611に進む。全学習データに対してS606からS609までの処理を行っていない場合には、処理はS605に戻る。S611において、情報処理装置100のCPU102は、図3の領域333に類似文書リストを表示し図6に示されるフローチャートの処理は終了する。
【0025】
図8は、情報処理装置100のCPU102が実行する参照文書の選択処理(S404)の詳細なフローチャートである。まず、S801において、情報処理装置100のCPU102は、類似文書リストが表示された領域333から選択された類似文書(参照文書)を読み込み、処理はS802に進む。S802において、情報処理装置100のCPU102は、エラーの判定処理を行う。エラーが発生した場合には、処理はS803に進む。エラーが発生していなかった場合には、処理はS804に進む。S803において、情報処理装置100のCPU102は、エラー処理を行う。エラー処理が完了すると、図8に示されるフローチャートの処理は終了する。S804において、情報処理装置100のCPU102は、付与元プレビューペイン304にS801において選択された類似文書の内容である参照文書画像及び付与されたタグ情報を表示する。これにより、入力文書と参照文書との比較が可能になる。S804の処理が完了すると、図8に示されるフローチャートの処理は終了する。
【0026】
図9は参照文書に付与されたタグ情報の一例で、タグ情報は、ブロックID901、ブロック領域902、タグID903、文字904、タグ905、及び文字領域906で構成される。タグ情報は文字毎に付与される。ブロックID901はタグが付与された文字ブロックを一意に示す識別子である。タグが付与された元の文書は、文字、画像、表等の領域ごとのブロックで構成され、タグ情報はタグが付与された文字ブロックに付随している。ブロック領域902はタグが付与されたブロックの領域の左上点と右下点の座標である。タグID903は固有表現文字列のタグを一意に示す識別子である。IOB2形式では、固有表現文字列の先頭文字にB-<任意文字列>タグ、2番目以降の文字にI-<任意文字列>タグを付与するが、1つの固有表現文字列の先頭文字から最終文字までに同じタグIDを設定する。文字904はタグが付与された文字であり、タグ905はIOB2形式のタグである。文字領域906はタグが付与された文字904の占める領域である。タグの表示は、図3の領域341のようにタグが設定された文字列を実線の枠で囲い、領域342のように上部にタグ名を表示する。
【0027】
図10は、情報処理装置100のCPU102が実行するタグ付与処理(S405)の詳細なフローチャートである。S1001からS1011までのループ処理はタグ数分繰り返される。S1002において、付与元プレビューペイン304に表示された参照文書画像に含まれる各タグのタグ領域の近傍にある入力文書画像の文字ブロックを検索し、処理はS1003に進む。タグ領域の近傍とは、タグが付与されている文字列の占める領域を所定の長さ分上下左右に拡大した領域にブロックの領域が少しでも重なることを意味する。タグが付与されている文字列の占める領域は、同じタグID903を有する複数の文字に対する各タグ情報の文字領域906を全て含む外接矩形の領域になる。S1003において、情報処理装置100のCPU102は、入力文書画像において参照文書画像のタグ領域近傍に文字ブロックが見つかったか否かを判定する。文字ブロックが見つかった場合には、処理はS1004に進む。文字ブロックが見つからなかった場合には、処理はS1009に進む。
【0028】
S1004において、情報処理装置100のCPU102は、参照文書画像のタグ文字列に最も類似している文字列の文字ブロックを抽出し、処理はS1005に進む。抽出処理の詳細は後述する。S1005において、情報処理装置100のCPU102は、抽出された文字ブロックの類似度が所定の値以上であるかを判定する。類似度が所定の値以上である場合には、処理はS1006に進む。類似度が所定の値未満である場合には、処理はS1009に進む。S1006において、情報処理装置100のCPU102は、参照文書画像のタグを抽出された文字ブロックに付与し、処理はS1007に進む。S1007において、情報処理装置100のCPU102は、付与されたタグを表示し、処理はS1008に進む。S1007において、S804の参照文書画像のタグ表示と同様に、図3の編集ペイン302の表示のようにタグが設定された文字列を実線の枠で囲い、上部にタグ名を表示する。S1008において、情報処理装置100のCPU102は、変更済フラグをONに設定し、処理はS1011に進む。
【0029】
S1009において、情報処理装置100のCPU102は、文字列が入っていない枠だけのタグ(タグ枠)を作成し、処理はS1010に進む。S1010において、情報処理装置100のCPU102は当該タグ枠を表示し、処理はS1011に進む。タグ枠は、文字列が空の文字ブロックを作成し、そのブロックにタグ枠情報を付与したものである。図11は、タグ枠情報の一例である。タグ枠情報はタグ情報に付与元ブロックID1101及び付与元タグID1102を追加したものである。S1009において生成されるタグ枠に付与するタグ枠情報は、文字904が空、タグ905が参照文書画像のタグ情報と同一、文字領域906が参照文書画像のタグ情報の各文字の文字領域を加算した領域である。また、付与元ブロックID1101と付与元タグID1102は参照文書画像のブロックID901及びタグID903と同様に、参照文書画像のタグ文字列の特徴量ベクトルが算出可能である。タグ枠の表示は、図3の領域325のようにタグが設定された文字列を破線の枠で囲い、領域326のように領域325の上部にタグ名を表示する。S1011において、情報処理装置100のCPU102は、参照文書画像に含まれる全タグ情報に対してS1002からS1010までの処理を実行したかを判定する。全タグ情報に対して処理を実行していない場合には、処理はS1001に戻る。全タグ情報に対して処理を実行している場合には、図10に示されるフローチャートの処理は終了する。
【0030】
図12は、最類似文字ブロックの抽出処理(S1004)の詳細なフローチャートである。S1201において、情報処理装置100のCPU102は、参照文書画像のタグ文字列の特徴量ベクトルを算出し、処理はS1202に進む。文字列の特徴量ベクトル化は、例えば自然言語処理のWord2Vecの手法を用いる。S1202において、情報処理装置100のCPU102は、S1002において見つかった全文字ブロックの文字列の特徴量ベクトルを算出し、処理はS1203に進む。S1203において、情報処理装置100のCPU102は、S1201において算出した特徴量ベクトル及びその類似度を算出し、処理はS1204に進む。S1204において、情報処理装置100のCPU102は、S1002において見つかった全文字ブロックで最も類似度が大きい文字ブロックを抽出する。
【0031】
図13は、情報処理装置100のCPU102が実行するタグ枠ドラッグ開始処理(S406)の詳細なフローチャートである。S1301において、情報処理装置100のCPU102は、ドラッグの開始座標に存在するタグ枠を検索し、処理はS1302に進む。S1302において、情報処理装置100のCPU102は、タグ枠が存在するかを判定する。タグ枠が存在しない場合には、図13に示されるフローチャートの処理は終了する。タグ枠が存在する場合には、処理はS1303に進む。S1303において、情報処理装置100のCPU102は、移動中タグ枠情報を生成し、当該移動中タグ枠情報をRAM104に格納する)。図14は移動中タグ枠情報の一例である。移動中タグ枠情報はタグ枠のブロックID901、タグ枠のブロック領域902、付与元ブロックID1101及び付与元タグID1102をコピーして生成される。
【0032】
図15は、情報処理装置100のCPU102が実行するタグ枠ドロップ処理(S407)の詳細なフローチャートである。S1501において、情報処理装置100のCPU102は、RAM104に移動中タグ枠情報が存在するかを判定する。移動中タグ枠情報が存在しない場合には、図15に示されるフローチャートの処理は終了する。移動中タグ枠情報が存在する場合には、処理はS1502に進む。S1502において、情報処理装置100のCPU102は、移動中タグ枠情報の付与元ブロックID1101及び付与元タグID1102から参照文書画像のタグ文字列の特徴量ベクトルを算出し、処理はS1503に進む。
【0033】
S1503において、情報処理装置100のCPU102は、ドロップ座標に存在する最上位層の文字ブロックを検索し、処理はS1504に進む。S1504において、情報処理装置100のCPU102はブロックが存在するかを判定する。ブロックが存在しない場合には、処理はS1512に進む。ブロックが存在する場合には、処理はS1505に進む。S1505において、情報処理装置100のCPU102は、見つかった文字ブロックの文字列の特徴量ベクトルを算出し、処理はS1506に進む。S1506において、情報処理装置100のCPU102は、S1502において算出した特徴量ベクトルとS1505において算出した特徴量ベクトルとの類似度を算出し、処理はS1507に進む。
【0034】
S1507において、情報処理装置100のCPU102は、算出された類似度が所定の値以上であるかを判定する。算出された類似度が所定の値以上である場合には、S1508に進む。算出された類似度が所定の値未満である場合には、処理はS1512に進む。S1508において、情報処理装置100のCPU102は、参照文書画像のタグをドロップ先文字ブロックに付与し、処理はS1509に進む。S1509において、情報処理装置100のCPU102は、付与されたタグを表示し、処理はS1510に進む。S1509において、タグが付与された文字列及び付与されたタグの表示色をタグが表示される前の表示色と異なる色にしても良い。
【0035】
S1510において、情報処理装置100のCPU102は、タグ枠ブロックを削除し、処理はS1511に進む。S1511において、情報処理装置100のCPU102は、変更済フラグをONに設定し、処理はS1512に進む。S1512において、情報処理装置100のCPU102は、移動中タグ枠情報を削除し、て(S1012)、図15に示されるフローチャートの処理は終了する。
【0036】
図16は、情報処理装置100のCPU102が実行する保存処理(S408)の詳細なフローチャートである。S1601において、情報処理装置100のCPU102は、変更済フラグがONであるかを判定する。変更済フラグがOFFである場合には、図16に示されるフローチャートの処理は終了する。変更済フラグがONである場合には、処理はS1602に進む。S1602において、情報処理装置100のCPU102は入力文書画像を保存し、処理はS1603に進む。入力文書画像を保存する際、タグ枠が存在する場合には、タグ枠を省いて入力文書画像は保存される。S1603において、情報処理装置100のCPU102は、編集済フラグをOFFに設定し、図16に示されるフローチャートの処理は終了する。
【0037】
図17は、情報処理装置100のCPU102が実行するクローズ処理(S409)の詳細なフローチャートである。情報処理装置100のCPU102は、上述した保存処理(S408)を行い、画面を閉じ(S1701)、図17に示されるフローチャートの処理は終了する。本実施形態では、文字ブロック全体に付与されたタグを付与するが可能になる。これにより、準定型文書においてもタグ付与を効率良く行うことが可能となる。
【0038】
[第2実施形態]
本開示に係る第2実施形態について説明する。以下の説明において、第1実施形態と異なる点についてのみ説明する。第1実施形態では、図3の「請求書」及び「ABC株式会社」のように文字ブロック全体に付与されたタグを付与する場合の一例を説明した。第2実施形態では、長い文章のような文字ブロック中の一部に付与されたタグを入力文書画像の文字列の一部に付与する場合を説明する。図18は、参照文書画像の文字ブロック内の一部の文字列に付与されたタグを、入力文書画像の文字ブロック内の類似した文字列へ付与する際の文字列の抽出処理の模式図である。当該文字列の抽出処理は、タグ文字列の直前文字列が類似している文字列を探し、直前文字列の次の単語から始まる文字列が類似している文字列を抽出する。
【0039】
図19は、文字ブロック中の一部に付与されたタグを付与する場合のタグ付与処理のフローチャートである。基本的な動作はS405のタグ付与処理と同様であるが、最類似文字ブロックの抽出処理(S1004)がブロック内の一部の文字列の抽出処理(S1901)に置き換わっている。
【0040】
図20は、最類似ブロック内文字列の抽出処理(S1901)の詳細なフローチャートである。S2001において、情報処理装置100のCPU102は、参照文書画像のタグ文字列における直前文字列の特徴量ベクトルを算出し、処理はS2002に進む。S2002において、情報処理装置100のCPU102は、参照文書画像のタグ文字列の特徴量ベクトルを算出し、処理はS2003に進む。S2003からS2007までのループ処理は、S1002の処理において見つかった全ての文字ブロックに対して行われる。
【0041】
S2004において、情報処理装置100のCPU102は、S1002の処理において見つかった文字ブロックから参照文書画像に類似した「タグ文字列の直前文字列」と「タグ候補文字列」とを抽出し、処理はS2005に進む。S2005において、情報処理装置100のCPU102は、直前文字列の特徴量ベクトルの類似度及びタグ候補文字列の特徴量ベクトルの類似度がこれまでの最大値よりも大きいかを判定する。直前文字列の特徴量ベクトルの類似度及びタグ候補文字列の特徴量ベクトルの類似度がこれまでの最大値よりも大きい場合には、処理はS2006に進む。直前文字列の特徴量ベクトルの類似度及びタグ候補文字列の特徴量ベクトルの類似度がこれまでの最大値未満である場合には、処理はS2007に進む。S2006において、情報処理装置100のCPU102は、最類似の文字列情報を更新し、処理はS2007に進む。図21は最類似の文字列情報の一例を示す。最類似の文字列情報は、ブロックID2101、文字列範囲2102、直前文字列の類似度2103、文字列類似度2104から構成される。S2005における判定は、S2004の抽出結果の直前文字列の類似度とタグ候補文字列の類似度との積が、最類似の文字列情報の直前文字列の類似度2203と文字列類似度2204との積より大きいか否かで行われる。判定方法は、重みづけの積など他の方法で行っても良い。S2007において、情報処理装置100のCPU102は、S1002の処理で見つかった全ての文字ブロックに対してS2004からS2006までの処理が行われたかを判定する。S1002の処理で見つかった全ての文字ブロックに対して処理が行われた場合には、最類似の文字列情報の文字ブロック及びと文字列が抽出結果として出力され、図20に示されるフローチャートの処理は終了する。S1002の処理で見つかった全ての文字ブロックに対して処理が行われていない場合には、処理はS2003に戻る。
【0042】
図22は、ブロック内類似文字列の抽出処理(S2004)の詳細なフローチャートである。S2201において、情報処理装置100のCPU102は、文字ブロック内を単語単位に分割し、処理はS2202に進む。S2202からS2212までのループ処理は、iがS2201の処理において分割した単語数分繰り返される。S2203において、情報処理装置100のCPU102は、i番目の単語の直前文字列(先頭からi-1番目の単語までの文字列)の特徴量ベクトルを算出し、処理はS2204に進む。S2204において、情報処理装置100のCPU102は、S2203において算出した特徴ベクトルとS2001において算出した特徴量ベクトルとの類似度を算出し、処理はS2205に進む。S2205において、情報処理装置100のCPU102は、S2204において算出した類似度(直前文字列の類似度)が所定の値以上であるかを判定する。類似度が所定の値未満である場合には、処理はS2212に進む。類似度が所定の値以上である場合には、処理はS2206に進む。
【0043】
S2206からS2211までのループ処理は、jがiからS2201の処理において分割した単語数になるまで繰り返される。S2207において、情報処理装置100のCPU102は、iからj番目の単語をタグ候補文字列として特徴量ベクトルを算出し、処理はS2208に進む。S2208において、情報処理装置100のCPU102は、S2207において算出した特徴ベクトルとS2002において算出した特徴量ベクトルとの類似度を算出し、処理はS2209に進む。S2209において、情報処理装置100のCPU102は、S2208において算出した類似度(タグ候補文字列の類似度)が所定の値以上であるか判定する。類似度が所定の値未満である場合には、処理はS2211に進む。類似度が所定の値以上である場合には、処理はS2210に進む。
【0044】
S2210において、情報処理装置100のCPU102は、iからj番目の文字列、S2204において算出した直前文字列の類似度、及びS2208において算出したタグ候補文字列の類似度を抽出結果として出力する。抽出結果を出力すると、図22に示されるフローチャートの処理は終了する。S2211において、jがS2201の処理において分割した単語数である場合には、処理はS2212に進む。jがS2201の処理において分割した単語数ではない場合には、処理はS2206に戻る。S2212において、iがS2201の処理において分割した単語数である場合には、処理はS2213に進む。iがS2201の処理において分割した単語数ではない場合には、処理はS2202に戻る。S2213において、情報処理装置100のCPU102は、空の抽出結果を出力する。抽出結果を出力すると、図22に示されるフローチャートの処理は終了する。本実施形態では、長い文章のような文字ブロック中の一部に付与されたタグを付与するため、準定型文書においてもタグ付与を効率良く行うことが可能となる。
【0045】
[第3実施形態]
本開示に係る第3実施形態について説明する。以下の説明において、第1実施形態と異なる点についてのみ説明する。第1実施形態では、参照文書画像からのタグ付与を半自動で行うことができることを示した。第3実施形態では、参照文書画像で使われているタグが識別できるようにする。これにより、参照文書画像からのタグ付与を手動で行う際にもタグ付与作業の効率を向上することが可能となる。
【0046】
図23は、本実施形態における第2の参照文書の選択処理に係るフローチャートである。S804の処理に続いてS2301の処理が行われる。S2301において、情報処理装置100のCPU102は、S801において読み込んだ学習データから使用されているタグを抽出し、処理はS2302に進む。S2302において、情報処理装置100のCPU102は、抽出結果を反映して図3に示されるタグツールボタン310の表示を変更する。タグツールボタン310の表示が変更されると、図23に示されるフローチャートの処理は終了する。タグツールボタン310の表示変更は、例えば、使用されているタグを異なる色でボタンを表示しも良い。或いはタグツールボタン310を使用頻度順に表示しても良い。これにより、ユーザは使用されているタグを視覚的に認識することができるため、準定型文書においてもタグ付与を効率良く行うことが可能となる。
【0047】
[その他の実施形態]
本開示は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0048】
上述した実施形態の開示は、以下の構成を含む。
【0049】
(構成1)文書画像に固有表現タグを付与する処理を行う情報処理装置であって、入力文書画像を受け付ける受付手段と、既に固有表現タグが付与された文書画像群の中から、前記入力文書画像と比較するための参照文書画像を選択する選択手段と、前記選択手段によって選択された前記参照文書画像において前記固有表現タグが付与されている文字列に対応する文字ブロックを前記入力文書画像から抽出する抽出手段と、抽出された前記文字ブロックが表す文字列の特徴量ベクトルと前記参照文書画像において固有表現タグが付与されている文字列の特徴量ベクトルとの類似度に基づいて、抽出された前記文字ブロックが表す文字列に固有表現タグを付与する付与手段と、を備えることを特徴とする情報処理装置。
【0050】
(構成2)前記参照文書画像は、前記入力文書画像との類似度が所定の値以上の値を有する、ことを特徴とする構成1に記載の情報処理装置。
【0051】
(構成3)抽出された前記文字ブロックが表す文字列のタグ情報をUI画面に表示する表示制御手段と、をさらに備えることを特徴とする構成1または2に記載の情報処理装置。
【0052】
(構成4)前記表示制御手段は、前記文字列が抽出されない前記固有表現タグには枠のみを表示する、ことを特徴とする構成3に記載の情報処理装置。
【0053】
(構成5)前記UI画面上で前記枠が対応する前記文字ブロックにドラッグアンドドロップされた場合、前記付与手段は当該文字ブロックが表す文字列に前記固有表現タグを付与する、ことを特徴とする構成4に記載の情報処理装置。
【0054】
(構成6)ドラッグアンドドロップにより、前記付与手段が、前記文字ブロックが表す文字列に前記固有表現タグを付与した場合、前記表示制御手段は当該文字ブロックが表す文字列のタグ情報を前記UI画面に表示する、ことを特徴とする構成5に記載の情報処理装置。
【0055】
(構成7)前記表示制御手段は、前記文字ブロック及びそのタグ情報の表示色を前記固有表現タグが付与される前の表示色とは異なる色で表示する、ことを特徴とする構成6に記載の情報処理装置。
【0056】
(構成8)前記付与手段は、前記抽出手段によって抽出された前記文字ブロックの一部を表す第1文字列の特徴量ベクトルと前記参照文書画像において前記固有表現タグが付与されている第2文字列の特徴量ベクトルとの類似度と、前記第1文字列の直前文字列の特徴量ベクトルと前記第2文字列の直前文字列の特徴量ベクトルとの類似度と、に基づいて、前記第1文字列に前記固有表現タグを付与する、ことを特徴とする構成1に記載の情報処理装置。
【0057】
(構成9)前記表示制御手段は、使用される前記固有表現タグのリストを前記UI画面に表示する、ことを特徴とする構成3乃至7のいずれか一項に記載の情報処理装置。
【0058】
(構成10)前記固有表現タグの使用頻度を格納する記憶手段と、をさらに備え、前記表示制御手段は、前記固有表現タグのリストにおいて、使用頻度順に前記固有表現タグを表示する、ことを特徴とする構成9に記載の情報処理装置。
【0059】
(構成11)前記表示制御手段は、前記固有表現タグのリストにおいて、使用されている前記固有表現タグの表示色と使用されていない前記固有表現タグの表示色を異なる色で表示する、ことを特徴とする構成10に記載の情報処理装置。
【0060】
(構成12)文書画像に固有表現タグを付与する処理を行う情報処理装置の制御方法であって、入力文書画像を受け付けるステップと、既に固有表現タグが付与された文書画像群の中から、前記入力文書画像と比較するための参照文書画像を選択するステップと、前記選択するステップにおいて選択された前記参照文書画像において前記固有表現タグが付与されている文字列に対応する文字ブロックを前記入力文書画像から抽出するステップと、抽出された前記文字ブロックが表す文字列の特徴量ベクトルと前記参照文書画像において固有表現タグが付与されている文字列の特徴量ベクトルとの類似度に基づいて、抽出された前記文字ブロックが表す文字列に固有表現タグを付与するステップと、を備えることを特徴とする情報処理装置の制御方法。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23