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

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

▶ Arithmer株式会社の特許一覧

特開2022-80710処理装置、学習装置、処理プログラム、及び学習プログラム
<>
  • 特開-処理装置、学習装置、処理プログラム、及び学習プログラム 図1
  • 特開-処理装置、学習装置、処理プログラム、及び学習プログラム 図2
  • 特開-処理装置、学習装置、処理プログラム、及び学習プログラム 図3
  • 特開-処理装置、学習装置、処理プログラム、及び学習プログラム 図4
  • 特開-処理装置、学習装置、処理プログラム、及び学習プログラム 図5
  • 特開-処理装置、学習装置、処理プログラム、及び学習プログラム 図6
  • 特開-処理装置、学習装置、処理プログラム、及び学習プログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022080710
(43)【公開日】2022-05-30
(54)【発明の名称】処理装置、学習装置、処理プログラム、及び学習プログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20220523BHJP
   G06F 21/62 20130101ALI20220523BHJP
   G06F 21/14 20130101ALI20220523BHJP
【FI】
G06N20/00
G06F21/62 309
G06F21/14
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2020191924
(22)【出願日】2020-11-18
(71)【出願人】
【識別番号】517332845
【氏名又は名称】Arithmer株式会社
(72)【発明者】
【氏名】本田 克弥
(72)【発明者】
【氏名】木戸 康介
(72)【発明者】
【氏名】野崎 俊紀
(57)【要約】      (修正有)
【課題】ユーザ環境内に配置されたユーザ端末上で起動される機械学習プログラム及び生成される機械学習モデルから、開発した技術が漏洩しない処理装置、学習装置及びプログラムを提供する。
【解決手段】学習装置10は、訓練データの入力を受け付ける入力部及び暗号鍵を含んで難読化された学習プログラムを実行するプロセッサ11を備える。プロセッサにより学習プログラムが実行されると、訓練データを適用して処理モデルを機械学習により生成する学習部15と、処理モデルに含まれるモデル情報を、暗号鍵を用いて暗号化して暗号化モデル情報を生成する暗号部16を発現する。学習装置を用いて機械学習を実行するユーザに、学習プログラムとともに暗号鍵を提供しながらも、オンプレミスで、学習プログラム及びモデル情報をユーザに読み取られることなく学習プログラムを実行し、機械学習により生成される処理モデルに含まれるモデル情報が出力可能となる。
【選択図】図2
【特許請求の範囲】
【請求項1】
機械学習により生成された処理モデルに含まれるモデル情報を、暗号鍵を用いて暗号化
することで得られる暗号化モデル情報を記憶する記憶部と、
前記暗号鍵に対応する復号鍵を含んで難読化された処理プログラムを実行するプロセッ
サと、を備え、前記プロセッサにより前記処理プログラムが実行されると、
前記復号鍵を用いて前記暗号化モデル情報から前記モデル情報を復号する復号部と、
前記モデル情報を前記処理モデルに適用し、前記処理モデルに基づいて処理を実行する
処理部と、
を発現する、処理装置。
【請求項2】
前記記憶部は、さらに、前記処理プログラムの実行を許可する装置を特定するライセン
ス情報を記憶し、前記プロセッサにより前記処理プログラムが実行されると、
前記処理装置の識別情報を前記ライセンス情報と照合し、該照合結果に基づいて前記処
理部の機能を有効化又は無効化する制御部をさらに発現する、請求項1に記載の処理装置
【請求項3】
前記処理部は、前記処理を実行することで、文書画像が入力されると該文書画像の読取
項目に記載された情報を読み取り、該読み取り結果を出力する、請求項1又は2に記載の
処理装置。
【請求項4】
訓練データの入力を受け付ける入力部と、
暗号鍵を含んで難読化された学習プログラムを実行するプロセッサと、を備え、前記プ
ロセッサにより前記学習プログラムが実行されると、
前記訓練データを適用して処理モデルを機械学習により生成する学習部と、
前記処理モデルに含まれるモデル情報を、前記暗号鍵を用いて暗号化して暗号化モデル
情報を生成する暗号部と、
を発現する、学習装置。
【請求項5】
前記学習プログラムの実行を許可する装置を特定するライセンス情報を記憶する記憶部
をさらに備え、前記プロセッサにより前記学習プログラムが実行されると、
前記学習装置の識別情報を前記ライセンス情報と照合し、該照合結果に基づいて前記学
習部の機能を有効化又は無効化する制御部をさらに発現する、請求項4に記載の学習装置
【請求項6】
前記プロセッサにより前記学習プログラムが実行されると、
前記学習部による前記処理モデルの機械学習に先立って、前記訓練データを検証する検
証部をさらに発現する、請求項4又は5に記載の学習装置。
【請求項7】
前記訓練データは、文書画像及び該文書画像の読取項目に記載された情報に対応する正
解データを含む、
請求項4から6のいずれか一項に記載の学習装置。
【請求項8】
前記暗号化モデル情報を記憶する記憶部をさらに備え、
前記暗号部は、生成した前記暗号化モデル情報を前記記憶部に記憶する、請求項4から
7のいずれか一項に記載の学習装置。
【請求項9】
モデル情報を暗号化するための暗号鍵に対応する復号鍵を含んで難読化された処理プロ
グラムであって、プロセッサによって実行されると、処理装置に、
前記復号鍵を用いて、機械学習により生成された処理モデルに含まれる前記モデル情報
を、前記暗号鍵を用いて暗号化することで得られた暗号化モデル情報から前記モデル情報
を復号する段階と、
前記処理モデル及び前記モデル情報に基づいて処理を実行する段階と、
を実行させる処理プログラム。
【請求項10】
前記処理を実行する段階では、文書画像が入力されると該文書画像の読取項目に記載さ
れた情報を読み取り、該読み取り結果を出力する、請求項9に記載の処理プログラム。
【請求項11】
暗号鍵を含んで難読化された学習プログラムであって、プロセッサによって実行される
と、学習装置に、
訓練データを適用して処理モデルを機械学習により生成する段階と、
前記処理モデルに含まれるモデル情報を、前記暗号鍵を用いて暗号化して暗号化モデル
情報を生成する段階と、
を実行させる学習プログラム。
【請求項12】
前記訓練データは、文書画像及び該文書画像の読取項目に記載された情報に対応する正
解データを含む、
請求項11に記載の学習プログラム。
【請求項13】
モデル情報を暗号化するための暗号鍵に対応する復号鍵を含んで難読化された処理プロ
グラムにより実行される処理方法であって、処理装置のプロセッサにより、
前記復号鍵を用いて、機械学習により生成された処理モデルに含まれる前記モデル情報
を、前記暗号鍵を用いて暗号化することで得られた暗号化モデル情報から前記モデル情報
を復号し、
前記処理モデル及び前記モデル情報に基づいて処理を実行する、
処理方法。
【請求項14】
暗号鍵を含んで難読化された学習プログラムにより実行される学習方法であって、学習
装置のプロセッサにより、
訓練データを適用して処理モデルを機械学習により生成し、
前記処理モデルに含まれるモデル情報を、前記暗号鍵を用いて暗号化して暗号化モデル
情報を生成する、学習方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、処理装置、学習装置、処理プログラム、及び学習プログラムに関する。
【背景技術】
【0002】
従来、インターネットに接続された帳票内表構造認識システムが知られている。例えば
、特許文献1には、帳票内の文字列を含む行の情報をヒストグラムに変換し、表見出しを
含む行のヒストグラムと項目値を含む行のヒストグラムとを解析して行構造の関連性を機
械学習して生成された認識モデルを有する装置が開示されている。
特許文献1 特開2018-005462号公報
【発明の概要】
【発明が解決しようとする課題】
【0003】
上述した形態のシステムでは、帳票画像内の記載情報を読み取る推論モデルは、サーバ
端末上で訓練データを用いて機械学習することにより生成される。しかしながら、ユーザ
は、セキュリティの観点から、ユーザ環境内に配置されたユーザ端末上で推論モデルを生
成し、それを用いて帳票画像内の記載情報を読み取る、所謂オンプレミスでのシステム運
用を望む場合がある。
【課題を解決するための手段】
【0004】
本発明の第1の態様においては、機械学習により生成された処理モデルに含まれるモデ
ル情報を、暗号鍵を用いて暗号化することで得られる暗号化モデル情報を記憶する記憶部
と、暗号鍵に対応する復号鍵を含んで難読化された処理プログラムを実行するプロセッサ
と、を備え、プロセッサにより処理プログラムが実行されると、復号鍵を用いて暗号化モ
デル情報からモデル情報を復号する復号部と、モデル情報を処理モデルに適用し、処理モ
デルに基づいて処理を実行する処理部と、を発現する、処理装置が提供される。
【0005】
本発明の第2の態様においては、訓練データの入力を受け付ける入力部と、暗号鍵を含
んで難読化された学習プログラムを実行するプロセッサと、を備え、プロセッサにより学
習プログラムが実行されると、訓練データを適用して処理モデルを機械学習により生成す
る学習部と、処理モデルに含まれるモデル情報を、暗号鍵を用いて暗号化して暗号化モデ
ル情報を生成する暗号部と、を発現する、学習装置が提供される。
【0006】
本発明の第3の態様においては、モデル情報を暗号化するための暗号鍵に対応する復号
鍵を含んで難読化された処理プログラムであって、プロセッサによって実行されると、処
理装置に、復号鍵を用いて、機械学習により生成された処理モデルに含まれるモデル情報
を、暗号鍵を用いて暗号化することで得られた暗号化モデル情報からモデル情報を復号す
る段階と、処理モデル及びモデル情報に基づいて処理を実行する段階と、を実行させる処
理プログラムが提供される。
【0007】
本発明の第4の態様においては、暗号鍵を含んで難読化された学習プログラムであって
、プロセッサによって実行されると、学習装置に、訓練データを適用して処理モデルを機
械学習により生成する段階と、処理モデルに含まれるモデル情報を、暗号鍵を用いて暗号
化して暗号化モデル情報を生成する段階と、を実行させる学習プログラムが提供される。
【0008】
本発明の第5の態様においては、モデル情報を暗号化するための暗号鍵に対応する復号
鍵を含んで難読化された処理プログラムにより実行される処理方法であって、処理装置の
プロセッサにより、復号鍵を用いて、機械学習により生成された処理モデルに含まれるモ
デル情報を、暗号鍵を用いて暗号化することで得られた暗号化モデル情報からモデル情報
を復号し、処理モデル及び前記モデル情報に基づいて処理を実行する、処理方法が提供さ
れる。
【0009】
本発明の第6の態様においては、暗号鍵を含んで難読化された学習プログラムにより実
行される学習方法であって、学習装置のプロセッサにより、訓練データを適用して処理モ
デルを機械学習により生成し、処理モデルに含まれるモデル情報を、暗号鍵を用いて暗号
化して暗号化モデル情報を生成する、学習方法が提供される。
【0010】
なお、上記の発明の概要は、本発明の特徴の全てを列挙したものではない。また、これ
らの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0011】
図1】本実施形態に係る学習装置の構成を示す。
図2】本実施形態に係る学習装置の機能構成を示す。
図3】本実施形態に係る学習装置による機械学習の手順を示す。
図4】本実施形態に係る処理装置の構成を示す。
図5】本実施形態に係る処理装置の機能構成を示す。
図6】本実施形態に係る処理装置による画像認識処理の手順を示す。
図7】本実施形態に係るコンピュータの構成の一例を示す。
【発明を実施するための形態】
【0012】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範
囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組
み合わせの全てが発明の解決手段に必須であるとは限らない。
【0013】
図1は、本実施形態に係る学習装置10の構成を示す。学習装置10は、ユーザが所有
するパーソナルコンピュータ等のコンピュータ装置であり、学習プログラムを実行するこ
とにより、機械学習により画像認識処理のための処理モデルを生成する。学習装置10は
、ネットワークから隔離されたユーザ環境内に配置され、所謂オンプレミスで使用される
【0014】
なお、学習プログラム(暗号鍵を含む)は、管理者が、これを格納した記憶デバイスを
郵送等の手段によりユーザに送付し、ユーザが、受け取った学習プログラムを学習装置1
0にインストールすることで、後述する記憶部14に記憶される。
【0015】
なお、学習プログラムは、プログラムコード内に処理モデルを暗号化するための暗号鍵
を含んで難読化されている。ここで、暗号化とは、暗号鍵を用いてデータを別のデータに
変換する処理をいい、PGPのような商用ツールに限らずオープンソースソフトウェア(
OSS)を含め一般に利用可能なソフトウェアを利用することができる。一例として、暗
号鍵及び復号鍵として同一(共通)の鍵を使用する共通鍵暗号方式を採用してよい。また
、難読化とは、プログラムコードを読み取り難い形式に加工することをいい、Dotfuscato
rのような商用ツールに限らずオープンソースソフトウェア(OSS)を含め一般に利用
可能なソフトウェアを利用することができる。また、暗号鍵を含んでプログラムコードの
全体を難読化するに限らず、暗号鍵が含まれるプログラムコードの一部分を難読化しても
よく、それにより、暗号鍵を読み取り難くするだけでなく、プログラムコード内の暗号鍵
が含まれる位置を特定し難くすることができる。
【0016】
学習装置10は、プロセッサ(CPU及び/又はGPU)11、入力部12、及び記憶
部14を有する。
【0017】
プロセッサ11は、学習プログラムを実行することにより、コンピュータ装置に学習機
能を発現させる。学習機能を発現した学習装置10の機能構成については後述する。
【0018】
入力部12は、訓練データの入力を受け付けるユニットである。訓練データは、帳票画
像(文書画像とも呼ぶ)及びその読取項目に記載された情報に対応する正解データのセッ
トである。入力部12は、スキャナ、キーボード、CD-ROMドライブ等の入力デバイ
スを有し、例えば、ユーザが、訓練用の帳票をスキャナで読み取って画像データ化するこ
とで学習用の帳票画像を作成し、自らその帳票の記載情報を読み取ってキーボードを介し
て入力することで正解データを作成する。なお、後述するように、処理モデルとして畳み
込みリカレントニューラルネットワーク(CRNN)を採用する場合、学習用の帳票画像
において、文字の読取方向のマージンの大きさは任意であってよい。作成された画像デー
タ及び正解データは訓練データとして記憶部14又はCD-ROM等の記憶媒体に記憶さ
れ、学習時に学習部15により訓練データが記憶部14等から読み出されて使用される。
なお、ここでは訓練データは帳票画像から作成されているが、訓練データは任意の文書を
示す文書画像から作成されるものでもよい。
【0019】
記憶部14は、メモリのような一時記憶デバイス、ハードディスクドライブ(HDD)
のような記憶デバイスを含み、学習プログラム、暗号化モデル情報、暗号鍵、訓練データ
、その他、学習装置10のライセンス情報を記憶する。ここで、暗号鍵は、学習プログラ
ムの起動に伴い難読化されたプログラムコード内から読み出されてメモリ等の一時記憶デ
バイスに一時記憶され、学習プログラムの停止によりメモリから消去される。
【0020】
なお、学習装置10は、ネットワークを介して外部装置と相互に通信する通信部を含ん
でもよい。斯かる場合、学習プログラムが起動された際にそれに応じてネットワーク接続
をオフするなどして通信部の機能を無効化することにより、ユーザ環境内に孤立した装置
として運用するのが好ましい。
【0021】
図2に、本実施形態に係る学習装置10(プロセッサ11)により学習プログラムを起
動することにより発現する機能構成を示す。学習装置10は、学習部15、暗号部16、
制御部17、及び検証部18を含む。
【0022】
学習部15は、訓練データを適用して処理モデルを機械学習により生成する。処理モデ
ルは、例えば住所のように都道府県、市町村、及び番地の複数種類の情報が系統的に含ま
れる記載情報を読み取るのに好適な畳み込みリカレントニューラルネットワーク(CRN
N)で構成することができる。処理モデルの構成を表すモデル構成情報、例えば中間層の
数、入力層、中間層、及び出力層のそれぞれのユニット数、ユニットの結合などの情報は
、学習プログラムのプログラムコード内で一意に定められているとする。斯かる場合、学
習部15は、記憶部14から訓練データを読み出し、これに含まれる学習用の帳票画像を
適用し、正解データを教師データとして各結合に対する活性化関数の重み等、処理モデル
に組み込まれるパラメータを学習する。生成した処理モデルは、暗号部16に送信される
【0023】
暗号部16は、学習部15により生成された処理モデルに含まれるモデル情報を暗号化
する。ここで、モデル情報は、処理モデルに組み込まれるパラメータの情報を含む。暗号
部16は、記憶部14に記憶された暗号鍵を用いてモデル情報を暗号化して暗号化モデル
情報を生成し、これを記憶部14に記憶する。
【0024】
なお、処理モデルの構成を表すモデル構成情報及び処理モデルに組み込まれるパラメー
タ情報をモデル情報に含め、暗号部16はこのモデル情報を暗号化して暗号化モデル情報
を生成してもよい。モデル情報にモデル構成情報を含めることで、学習装置10により、
処理装置20に使用させる処理モデルを任意に構成することができる。
【0025】
制御部17は、学習装置10の識別情報を読み取ってライセンス情報と照合し、その結
果に基づいて学習部15の機能を有効化又は無効化する。ここで、ライセンス情報は、学
習プログラムの実行が許可された装置を特定する情報であり、学習プログラムの起動に先
立って、ユーザが学習装置10の識別情報を電子メール等の手段により管理者に通知し、
管理者が学習装置10に対して学習プログラムの実行を許可するか否かを判断して発行さ
れるものである。具体的には、コンピュータ装置によりライセンス情報が生成され、それ
を格納した記憶デバイスが郵送等の手段によりユーザに送付される。そして、ユーザは受
け取ったライセンス情報を学習装置10の記憶部14内の予め定められたパスに保存する
。学習装置10の識別情報として、例えばMACアドレスのような製造番号を採用するこ
とができる。
【0026】
制御部17は、記憶部14からライセンス情報を読み出し、これを用いて学習装置10
の識別情報を照合する。制御部17は、学習装置10に対してライセンスが発行されてい
ると判断すると学習部15の機能を有効化し、発行されていないと判断すると学習部15
の機能を無効化する。それにより、管理者により事前にライセンスが発行され、学習プロ
グラムの実行が許可されている学習装置10のみで機械学習を実行できるよう、制限する
ことができる。
【0027】
検証部18は、学習部15による処理モデルを生成する機械学習に先立って、訓練デー
タを検証し、予め定められたルールに従ってエラー又は警告を出力するとともに対応処置
をとる。表1にルール及び対応処置の一例を示す。
【表1】
【0028】
検証部18は、訓練データを検証し、ルール1から3に該当する場合にはモニタ等にエ
ラーを出力して学習プログラムの実行を停止し、ルール4から7に該当する場合にはモニ
タ等に警告を表示し、学習プログラムの実行は継続する。学習部15による処理モデルを
生成する機械学習は、通常、数時間から数日を要するところ、検証部18により訓練デー
タを検証することでエラーの原因を事前に修正し、訓練データのエラーによる機械学習の
途中停止を防止することができる。
【0029】
図3に、本実施形態に係る学習装置10による処理の手順S120を示す。ユーザが、
学習装置10上で学習プログラムを起動することで、機械学習のフローが開始する。この
とき、難読化された学習プログラムから暗号鍵が読み出されて記憶部14に一時記憶され
る。なお、先述のとおり、学習プログラムは、事前に学習装置10にインストールされ、
ライセンス情報は、記憶部14に保存されている。
【0030】
ステップS122では、制御部17によりライセンスを照合する。制御部17は、学習
装置10の識別情報を読み取り、記憶部14に保存されたライセンス情報と照合する。制
御部17は、ライセンス情報より学習装置10に対して学習プログラムの実行が許可され
ていると判断される場合(ライセンス発行済の場合)、次のステップS124に進む。学
習装置10に対して学習プログラムの実行が許可されていないと判断される場合(ライセ
ンス情報が保存されていない場合も含めてライセンス未発行の場合)、学習プログラムを
停止して、後続のステップ、特に機械学習を実行するステップS128を無効化する。
【0031】
ステップS124では、入力部12により訓練データの入力を受け付ける。先述のとお
り、ユーザが、入力部12が有する入力デバイスを用いて学習用の帳票画像及び正解デー
タを作成する。入力部12は、作成されたこれらのデータを訓練データとして記憶部14
又はCD-ROM等の記憶媒体に記憶する。
【0032】
ステップS126では、検証部18により訓練データを検証する。検証部18は、記憶
部14等から訓練データを読み出し、表1に示したルール及び対応処置に従ってエラー又
は警告を出力するとともに対応処置をとる。訓練データがエラーに該当しないと判断され
る場合(警告の場合も含む)、次のステップS128に進む。なお、訓練データが警告に
該当する場合、検証部18はその警告の内容をモニタ等に表示する。訓練データがエラー
に該当すると判断される場合、検証部18は、そのエラーの内容をモニタ等に表示して、
学習プログラムを停止する。ユーザは、その内容を確認して訓練データを修正し、再度学
習プログラムを実行することで、訓練データのエラーによる機械学習の途中停止を防止す
ることができる。
【0033】
ステップS128では、学習部15により、訓練データを適用して処理モデルを機械学
習により生成する。処理モデルは、一例として畳み込みリカレントニューラルネットワー
ク(CRNN)により構築することができる。処理モデルの構成を表すモデル構成情報は
、学習プログラムのプログラムコード内で一意に定められているとする。斯かる場合、学
習部15は、記憶部14等から訓練データを読み出し、これに含まれる学習用の帳票画像
を適用し、正解データを教師データとして各結合に対する活性化関数の重み等、処理モデ
ルに組み込まれるパラメータを学習する。
【0034】
ステップS130では、暗号部16により、学習部15により生成された処理モデルに
含まれるモデル情報を暗号化する。ここで、モデル情報は、処理モデルに組み込まれるパ
ラメータの情報を含む。暗号部16は、記憶部14に記憶された暗号鍵を用いてモデル情
報を暗号化して暗号化モデル情報を生成する。
【0035】
なお、処理モデルの構成を表すモデル構成情報及び処理モデルに組み込まれるパラメー
タ情報をモデル情報に含め、暗号部16はこのモデル情報を暗号化して暗号化モデル情報
を生成してもよい。モデル情報にモデル構成情報を含めることで、学習装置10により、
処理装置20に使用させる処理モデルを任意に構成することができる。
【0036】
ステップS132では、暗号部16により、生成した暗号化モデル情報を記憶部14に
記憶する。これにより、学習装置10による処理が終了する。
【0037】
なお、特に学習装置10がネットワークを介して外部装置と相互に通信する通信部を含
む場合、学習装置10は、学習プログラムを起動した後、ネットワーク接続がオフされて
いることで通信部の機能が無効化されていることを確認し、確認できた場合にのみステッ
プS122に進むものとしてもよい。
【0038】
本実施形態に係る学習装置10は、訓練データの入力を受け付ける入力部12、暗号鍵
を含んで難読化された学習プログラムを実行するプロセッサ11を備える。学習装置10
のプロセッサ11により学習プログラムが実行されると、訓練データを適用して処理モデ
ルを機械学習により生成する学習部15、処理モデルに含まれるモデル情報を、暗号鍵を
用いて暗号化して暗号化モデル情報を生成する暗号部16をプロセッサ11に発現する。
本実施形態では、学習装置10に処理モデルを機械学習により生成させる学習プログラム
が、学習モデルに含まれるモデル情報を暗号化して暗号化モデル情報を生成するための暗
号鍵を含んで難読化されている。そのため、学習装置10を用いて機械学習を実行するユ
ーザに学習プログラムとともに暗号鍵を提供しながらも、オンプレミスで、学習プログラ
ム及びモデル情報をユーザに読み取られることなく、学習プログラムを実行させることが
できる。そして、機械学習により生成される処理モデルに含まれるモデル情報を出力する
ことが可能となる。
【0039】
また、本実施形態に係る学習装置10によれば、帳票画像及びこれに対応する正解デー
タを含む訓練データを用いることで、学習部15が、帳票画像を適用し、正解データを教
師データとして処理モデルを機械学習により生成する。これにより、帳票画像に記載され
た個人情報等の情報を読み取る機械学習を、ネットワークから閉じたユーザ環境内(つま
り、オンプレミス)で実行することができる。換言すると、個人情報の漏洩等に対するセ
キュリティを維持した上で、帳票画像に記載された個人情報等を読み取るための処理モデ
ルを生成できる。
【0040】
図4は、本実施形態に係る処理装置20の構成を示す。処理装置20は、ユーザが所有
するパーソナルコンピュータ等のコンピュータ装置であり、処理プログラムを実行するこ
とにより、処理モデルに基づいて画像認識処理を実行する。処理装置20は、ネットワー
クから隔離されたユーザ環境内に配置され、所謂オンプレミスで使用される。処理装置2
0は、学習装置10と同一の装置で実現されるものであってもよい。
【0041】
なお、処理プログラム(復号鍵を含む)は、管理者が、これを格納した記憶デバイスを
郵送等の手段によりユーザに送付し、ユーザが、受け取った処理プログラムを処理装置2
0にインストールすることで、後述する記憶部24に記憶される。
【0042】
処理プログラムは、プログラムコード内に暗号化された処理モデルを復号するための復
号鍵を含んで難読化されている。共通鍵暗号方式では、復号鍵は対応する暗号鍵と同一(
共通)である。また、復号鍵を含んでプログラムコードの全体を難読化するに限らず、復
号鍵が含まれるプログラムコードの一部分を難読化してもよく、それにより、復号鍵を読
み取り難くするだけでなく、プログラムコード内の復号鍵が含まれる位置を特定し難くす
ることができる。
【0043】
処理装置20は、プロセッサ(CPU及び/又はGPU)21、入力部22、及び記憶
部24を有する。
【0044】
プロセッサ21は、処理プログラムを実行することにより、コンピュータ装置に画像認
識処理機能を発現させる。画像認識処理機能を発現した処理装置20の機能構成について
は後述する。
【0045】
入力部22は、画像認識処理する帳票画像の入力を受け付けるユニットである。入力部
22は、例えば、スキャナを有し、ユーザがこれを用いて帳票を読み取って画像データ化
することで帳票画像を作成する。または、CD-ROM等の記憶媒体に記憶された帳票画
像を読み取ってもよい。入力部22は、作成された帳票画像を記憶部24に記憶するとと
もに後述する処理部26に送信する。また、入力部22は、学習装置10により生成され
た暗号化モデル情報の入力を受け付ける。
【0046】
記憶部24は、メモリのような一時記憶デバイス、ハードディスクドライブ(HDD)
のような記憶デバイスを含み、処理プログラム、暗号化モデル情報、復号鍵、その他、処
理装置20のライセンス情報を記憶する。暗号化モデル情報は、学習装置10による機械
学習により生成された処理モデルに含まれるモデル情報を、暗号鍵を用いて暗号化するこ
とで得られる。ここで、復号鍵は、処理プログラムの起動に伴い難読化されたプログラム
コード内から読み出されてメモリ等の一時記憶デバイスに一時記憶され、処理プログラム
の停止によりメモリから消去される。
【0047】
なお、処理装置20は、ネットワークを介して外部装置と相互に通信する通信部を含ん
でもよい。斯かる場合、処理プログラムが起動された際にそれに応じてネットワーク接続
をオフするなどして通信部の機能を無効化することにより、ユーザ環境内に孤立した装置
として運用するのが好ましい。また、処理装置20は、1台に限らず複数台設け、それぞ
れにおいて学習装置10により生成した処理モデルを用いて画像認識処理を実行してもよ
い。
【0048】
図5に、本実施形態に係る処理装置20(プロセッサ21)により処理プログラムを起
動することにより発現する機能構成を示す。処理装置20は、復号部25、処理部26、
及び制御部27を含む。
【0049】
復号部25は、暗号化モデル情報からモデル情報を復号する。ここで、モデル情報は、
処理モデルに組み込まれるパラメータの情報を含む。復号部25は、記憶部24に記憶さ
れた復号鍵を用いて暗号化モデル情報からモデル情報を復号し、これを記憶部24に記憶
する。
【0050】
処理部26は、モデル情報を処理モデルに適用し、処理モデルに基づいて画像認識処理
を実行する。処理モデルは、一例として畳み込みリカレントニューラルネットワーク(C
RNN)により構成することができる。処理モデルの構成を表すモデル構成情報は、学習
プログラムのプログラムコード内で一意に定められているとする。斯かる場合、処理部2
6は、モデル情報に含まれるパラメータ情報を処理モデルに適用して各結合に対する活性
化関数の重み等のパラメータを組み込み、その処理モデルに基づいて画像認識処理を実行
する。処理部26は、帳票画像が入力されるとその読取項目に記載された情報を読み取り
、読み取り結果を記憶部24に出力する又はモニタ等に表示する。
【0051】
なお、処理モデルの構成を表すモデル構成情報及び処理モデルに組み込まれるパラメー
タ情報がモデル情報に含まれてもよい。斯かる場合、処理部26は、モデル構成情報に基
づいて処理モデルを構築し、パラメータ情報を構築された処理モデルに適用し、その処理
モデルに基づいて画像認識処理を実行する。
【0052】
制御部27は、処理装置20の識別情報を読み取ってライセンス情報と照合し、その結
果に基づいて処理部26の機能を有効化又は無効化する。ここで、ライセンス情報は、処
理プログラムの実行が許可された装置を特定する情報であり、処理プログラムの起動に先
立って、ユーザが処理装置20の識別情報を電子メール等の手段により管理者に通知し、
管理者が処理装置20に対して処理プログラムの実行を許可するか否かを判断して発行さ
れるものである。具体的には、コンピュータ装置によりライセンス情報が生成され、それ
を格納した記憶デバイスが郵送等の手段によりユーザに送付される。そして、ユーザは受
け取ったライセンス情報を処理装置20の記憶部24内の予め定められたパスに保存する
。処理装置20の識別情報として、例えばMACアドレスのような製造番号を採用するこ
とができる。
【0053】
制御部27は、記憶部24からライセンス情報を読み出し、これを用いて処理装置20
の識別情報を照合する。制御部27は、処理装置20に対してライセンスが発行されてい
ると判断すると処理部26の機能を有効化し、発行されていないと判断すると処理部26
の機能を無効化する。それにより、管理者により事前にライセンスが発行され、処理プロ
グラムの実行が許可されている処理装置20のみで処理を実行できるよう、制限すること
ができる。
【0054】
図6に、本実施形態に係る処理装置20による画像認識処理の手順S220を示す。ユ
ーザが、処理装置20上で処理プログラムを起動することで、画像認識処理のフローが開
始する。このとき、難読化された処理プログラムから復号鍵が読み出されて記憶部24に
一時記憶される。なお、先述のとおり、処理プログラムは、事前に処理装置20にインス
トールされ、ライセンス情報は、記憶部24に保存されている。
【0055】
ステップS222では、制御部27によりライセンスを照合する。制御部27は、処理
装置20の識別情報を読み取り、記憶部24に保存されたライセンス情報と照合する。制
御部27は、ライセンス情報より処理装置20に対して処理プログラムの実行が許可され
ていると判断される場合(ライセンス発行済の場合)、次のステップS224に進む。制
御部27は、処理装置20に対して学習プログラムの実行が許可されていないと判断され
る場合(ライセンス情報が保存されていない場合も含めてライセンス未発行の場合)、処
理プログラムを停止して、後続のステップ、特に画像認識処理を実行するステップS23
0を無効化する。
【0056】
ステップS224では、入力部22により暗号化モデル情報の入力を受け付ける。ユー
ザは、記憶デバイスを用いるなどして、学習装置10の記憶部14に記憶された暗号化モ
デル情報を処理装置20に転送する。入力部22はこれを受信して、復号部25に送信す
る。
【0057】
ステップS226では、復号部25により、暗号化モデル情報からモデル情報を復号す
る。ここで、モデル情報は、処理モデルに組み込まれるパラメータの情報を含む。復号部
25は、記憶部24に記憶された復号鍵を用いて、暗号化モデル情報からモデル情報を復
号する。なお、処理モデルの構成を表すモデル構成情報は、処理プログラムのプログラム
コード内で一意に定められているとする。斯かる場合、復号部25は、モデル情報に含ま
れるパラメータ情報を処理モデルに適用して各結合に対する活性化関数の重み等のパラメ
ータを組み込み、処理モデルを構築する。
【0058】
なお、処理モデルの構成を表すモデル構成情報及び処理モデルに組み込まれるパラメー
タ情報がモデル情報に含まれてもよい。モデル情報にモデル構成情報が含まれることで、
学習装置10により、処理装置20に使用させる処理モデルを任意に構成することができ
る。
【0059】
ステップS228では、入力部22より画像認識処理する帳票画像が入力されたか否か
が判断される。例えば、ユーザがスキャナを用いて帳票を読み取って画像データ化するこ
とで帳票画像が作成されて入力される。また、例えばCD-ROM等の記憶媒体に記憶さ
れた帳票画像を読み取ることで、帳票画像が入力される。帳票画像が入力されたと判断さ
れるまでステップS228を繰り返し、帳票画像が入力されたと判断されることで次のス
テップS230に進む。
【0060】
ステップS230では、処理部26により、処理モデル及びモデル情報に基づいて画像
認識処理を実行する。それにより、帳票画像の読取項目に記載された情報が読み取られる
【0061】
ステップS232では、ステップS230で読み取られた帳票画像の読取項目の情報が
記憶部24に出力される又はモニタ等に表示される。
【0062】
ステップS228に戻り、帳票画像が入力される都度、画像認識処理及びその読取結果
の出力(ステップS230~S232)が繰り返される。ユーザにより処理装置20上で
処理プログラムが停止されることで、フローが終了する。
【0063】
なお、特に処理装置20がネットワークを介して外部装置と相互に通信する通信部を含
む場合、処理装置20は、処理プログラムを起動した後、ネットワーク接続がオフされて
いることで通信部の機能が無効化されていることを確認し、確認できた場合にのみステッ
プS222に進むものとしてもよい。
【0064】
本実施形態に係る処理装置20は、機械学習により生成された処理モデルに含まれるモ
デル情報を、暗号鍵を用いて暗号化することで得られる暗号化モデル情報を記憶する記憶
部24と、暗号鍵に対応する復号鍵を含んで難読化された処理プログラムを実行するプロ
セッサ21とを備える。処理装置20のプロセッサ21により処理プログラムが実行され
ると、復号鍵を用いて暗号化モデル情報からモデル情報を復号する復号部25、モデル情
報を処理モデルに適用し、処理モデルに基づいて画像認識処理を実行する処理部26をプ
ロセッサ21に発現する。本実施形態では、モデル情報を処理モデルに適用し、処理モデ
ルに基づいて画像認識処理を実行させる処理プログラムが、暗号化モデル情報からモデル
情報を復号するための復号鍵を含んで難読化されている。そのため、処理装置20を用い
て処理を実行するユーザに処理プログラムとともに復号鍵を提供しながらも、オンプレミ
スで、処理プログラム及びモデル情報をユーザに読み取られることなく、モデル情報を処
理モデルに適用して処理を実行させることが可能となる。
【0065】
また、本実施形態に係る処理装置20によれば、処理部26は、帳票画像が入力される
とこの読取項目に記載された情報を読み取り、その読み取り結果を出力する。これにより
、帳票画像に記載された個人情報等の情報を読み取る処理を、ネットワークから閉じたユ
ーザ環境内(つまり、オンプレミス)で実行することができる。換言すると、個人情報の
漏洩等に対するセキュリティを維持した上で、帳票画像に記載された個人情報等を読み取
る処理を実行できる。
【0066】
なお、本実施形態に係る学習装置10及び処理装置20は、帳票画像の記載情報を読み
取る画像認識処理において機械学習を適用して処理モデルを生成し、これに含まれるモデ
ル情報を暗号化して画像認識処理に利用する装置とした。これは、個人情報が含まれる帳
票画像を扱う場合にオンプレミスでの運用が望まれるための一例である。したがって。画
像認識処理に限らず、音声認識処理等の任意の処理において、機械学習を適用して処理モ
デルを生成し、これに含まれるモデル情報を暗号化してその処理に利用する装置としてよ
い。
【0067】
本発明の様々な実施形態は、フローチャートおよびブロック図を参照して記載されてよ
く、ここにおいてブロックは、(1)操作が実行されるプロセスの段階または(2)操作
を実行する役割を持つ装置のセクションを表わしてよい。特定の段階およびセクションが
、専用回路、コンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給され
るプログラマブル回路、および/またはコンピュータ可読媒体上に格納されるコンピュー
タ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタル
および/またはアナログハードウェア回路を含んでよく、集積回路(IC)および/また
はディスクリート回路を含んでよい。プログラマブル回路は、論理AND、論理OR、論
理XOR、論理NAND、論理NOR、および他の論理操作、フリップフロップ、レジス
タ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレ
イ(PLA)等のようなメモリ要素等を含む、再構成可能なハードウェア回路を含んでよ
い。
【0068】
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の
有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可
読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作
成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例
としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等
が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商
標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リ
ードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM
またはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEP
ROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリ
メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(RTM)デ
ィスク、メモリスティック、集積回路カード等が含まれてよい。
【0069】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令
、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ
、またはSmalltalk、JAVA(登録商標)、C++等のようなオブジェクト指
向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言
語のような従来の手続型プログラミング言語を含む、1または複数のプログラミング言語
の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかを含
んでよい。
【0070】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他の
プログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカ
ルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエ
リアネットワーク(WAN)を介して提供され、フローチャートまたはブロック図で指定
された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。
プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ
、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0071】
図7は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ2
200の例を示す。コンピュータ2200にインストールされたプログラムは、コンピュ
ータ2200に、本発明の実施形態に係る装置に関連付けられる操作または当該装置の1
または複数のセクションとして機能させることができ、または当該操作または当該1また
は複数のセクションを実行させることができ、および/またはコンピュータ2200に、
本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。
そのようなプログラムは、コンピュータ2200に、本明細書に記載のフローチャートお
よびブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定の操作を
実行させるべく、CPU2212によって実行されてよい。
【0072】
本実施形態によるコンピュータ2200は、CPU2212、RAM2214、グラフ
ィックコントローラ2216、およびディスプレイデバイス2218を含み、それらはホ
ストコントローラ2210によって相互に接続されている。コンピュータ2200はまた
、通信インタフェース2222、ハードディスクドライブ2224、DVD-ROMドラ
イブ2226、およびICカードドライブのような入/出力ユニットを含み、それらは入
/出力コントローラ2220を介してホストコントローラ2210に接続されている。コ
ンピュータはまた、ROM2230およびキーボード2242のようなレガシの入/出力
ユニットを含み、それらは入/出力チップ2240を介して入/出力コントローラ222
0に接続されている。
【0073】
CPU2212は、ROM2230およびRAM2214内に格納されたプログラムに
従い動作し、それにより各ユニットを制御する。グラフィックコントローラ2216は、
RAM2214内に提供されるフレームバッファ等またはそれ自体の中にCPU2212
によって生成されたイメージデータを取得し、イメージデータがディスプレイデバイス2
218上に表示されるようにする。
【0074】
通信インタフェース2222は、ネットワークを介して他の電子デバイスと通信する。
ハードディスクドライブ2224は、コンピュータ2200内のCPU2212によって
使用されるプログラムおよびデータを格納する。DVD-ROMドライブ2226は、プ
ログラムまたはデータをDVD-ROM2201から読み取り、ハードディスクドライブ
2224にRAM2214を介してプログラムまたはデータを提供する。ICカードドラ
イブは、プログラムおよびデータをICカードから読み取り、および/またはプログラム
およびデータをICカードに書き込む。
【0075】
ROM2230はその中に、アクティブ化時にコンピュータ2200によって実行され
るブートプログラム等、および/またはコンピュータ2200のハードウェアに依存する
プログラムを格納する。入/出力チップ2240はまた、様々な入/出力ユニットをパラ
レルポート、シリアルポート、キーボードポート、マウスポート等を介して、入/出力コ
ントローラ2220に接続してよい。
【0076】
プログラムが、DVD-ROM2201またはICカードのようなコンピュータ可読媒
体によって提供される。プログラムは、コンピュータ可読媒体から読み取られ、コンピュ
ータ可読媒体の例でもあるハードディスクドライブ2224、RAM2214、またはR
OM2230にインストールされ、CPU2212によって実行される。これらのプログ
ラム内に記述される情報処理は、コンピュータ2200に読み取られ、プログラムと、上
記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コ
ンピュータ2200の使用に従い情報の操作または処理を実現することによって構成され
てよい。
【0077】
例えば、通信がコンピュータ2200および外部デバイス間で実行される場合、CPU
2212は、RAM2214にロードされた通信プログラムを実行し、通信プログラムに
記述された処理に基づいて、通信インタフェース2222に対し、通信処理を命令してよ
い。通信インタフェース2222は、CPU2212の制御下、RAM2214、ハード
ディスクドライブ2224、DVD-ROM2201、またはICカードのような記録媒
体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取られ
た送信データをネットワークに送信し、またはネットワークから受信された受信データを
記録媒体上に提供される受信バッファ処理領域等に書き込む。
【0078】
また、CPU2212は、ハードディスクドライブ2224、DVD-ROMドライブ
2226(DVD-ROM2201)、ICカード等のような外部記録媒体に格納された
ファイルまたはデータベースの全部または必要な部分がRAM2214に読み取られるよ
うにし、RAM2214上のデータに対し様々なタイプの処理を実行してよい。CPU2
212は次に、処理されたデータを外部記録媒体にライトバックする。
【0079】
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタ
イプの情報が記録媒体に格納され、情報処理を受けてよい。CPU2212は、RAM2
214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シー
ケンスによって指定される様々なタイプの操作、情報処理、条件判断、条件分岐、無条件
分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM2
214に対しライトバックする。また、CPU2212は、記録媒体内のファイル、デー
タベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付け
られた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CP
U2212は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数の
エントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、
それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値
を取得してよい。
【0080】
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ2200上ま
たはコンピュータ2200近傍のコンピュータ可読媒体に格納されてよい。また、専用通
信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハー
ドディスクまたはRAMのような記録媒体が、コンピュータ可読媒体として使用可能であ
り、それによりプログラムを、ネットワークを介してコンピュータ2200に提供する。
【0081】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態
に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えること
が可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発
明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0082】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、
および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「
より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用い
るのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明
細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説
明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0083】
10…学習装置、11…プロセッサ、12…入力部、14…記憶部、15…学習部、1
6…暗号部、17…制御部、18…検証部、20…処理装置、21…プロセッサ、22…
入力部、24…記憶部、25…復号部、26…処理部、27…制御部、2200…コンピ
ュータ、2201…DVD-ROM、2210…ホストコントローラ、2214…RAM
、2216…グラフィックコントローラ、2218…ディスプレイデバイス、2220…
入/出力コントローラ、2222…通信インタフェース、2224…ハードディスクドラ
イブ、2226…DVD-ROMドライブ、2240…入/出力チップ、2242…キー
ボード。
図1
図2
図3
図4
図5
図6
図7