JP2023041242A - 情報処理装置、情報処理方法、及びプログラム - Google Patents

情報処理装置、情報処理方法、及びプログラム Download PDF

Info

Publication number
JP2023041242A
JP2023041242A JP2021148490A JP2021148490A JP2023041242A JP 2023041242 A JP2023041242 A JP 2023041242A JP 2021148490 A JP2021148490 A JP 2021148490A JP 2021148490 A JP2021148490 A JP 2021148490A JP 2023041242 A JP2023041242 A JP 2023041242A
Authority
JP
Japan
Prior art keywords
character string
group
conceptual
information processing
attribute information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021148490A
Other languages
English (en)
Inventor
亮 小坂
Ryo Kosaka
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2021148490A priority Critical patent/JP2023041242A/ja
Priority to US17/940,102 priority patent/US20230083959A1/en
Publication of JP2023041242A publication Critical patent/JP2023041242A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Abstract

【課題】文字列の表記に規則性が無い項目の項目値であっても、予めレイアウトが定められた定型文書とは異なるレイアウトの文書の画像から、ユーザが所望する属性に該当する文字列データを、所定の項目に対応する項目値の候補として抽出する。【解決手段】情報処理装置は、処理対象の文書画像に含まれる複数の文字列の中から予め定められた項目に対応する項目値の候補となる文字列を抽出するものであって、まず、予め設定された抽出対象の概念特徴グループを示す情報を取得する。次に、処理対象の文書画像に含まれる各文字列に対応する特徴ベクトルに基づいて、予め定められた複数の概念特徴グループのうちから各文字列が属する概念特徴グループを特定する。次に、当該文書画像に含まれる文字列の中から、特定された概念属性グループが抽出対象の概念特徴グループと同一の属性情報に対応付けられた概念特徴グループと同一となった文字列を候補として抽出する。【選択図】図2C

Description

本開示は、文書画像から文字列のデータを抽出する技術に関する。
イメージスキャナデバイス(以下「スキャナ」という。)又はファクシミリ(以下「FAX」という。)受信機等を用いて得られた文書画像から、所定の項目値を文字列のデータとして抽出することが行われている。抽出された文字列のデータは、ファイル名の自動付与等の文書ファイリング処理、又は、業務システムへの転記処理等の入力データとしてデータ入力業務等に用いられる。
特許文献1には、データ入力業務を支援するための技術として、一般に準定型文書又は非定型文書と呼ばれる、予めレイアウトが定められた定型文書とは異なるレイアウトで作成された文書の画像から、項目値に対応する文字列を抽出する手法が開示されている。特許文献1に開示された手法(以下「従来手法」という。)は、まず、振込依頼書等の文書画像に含まれる複数の文字列から、「口座番号」等の予め定められた項目名と、項目名に対応する「1234567」等の項目値とを抽出する。次に、項目名と項目値との互いの位置関係から両者の妥当性を評価し、この評価結果に基づいて項目値を抽出するものである。従来手法では、項目名を、「番号」又は「口座番号」等の予め定められたキーワードに基づいて抽出し、項目値を、「NNNNNNN」(Nは、例えば任意のアラビア数字)等の予め定められたデータ型に基づいて抽出する。
また、抽出した文字列を基に集計又は分析を行い、集計又は分析後の文字列のデータを新たなデータとして入力する、税法上の仕訳処理等の集計/分析業務がある。この集計/分析処理を行うためには、抽出した文字列のデータを、消耗品又は交通費等の勘定科目等、適切な属性のグループに分類して集計する必要がある。しかしながら、従来の手法では、ユーザが自らの経験等を基にして、手動で分類することにより集計していた。又は、予め定められた属性のグループ名と項目値との関係性を示す情報を基にして、抽出した文字列のデータである項目値から属性のグループ名を自動で決定することにより集計していた。
特開2016-51339号公報
従来手法では、「金額」、「日付」、又は「口座番号」等の文字列の表記に規則性がある項目の項目値については抽出できるが、「氏名」、「住所」、「職業」、又は「続柄」等の文字列の表記に規則性が無い項目の項目値については抽出できないことがあった。具体的には、文字列の表記に規則性がある場合についてはデータ型によって妥当性を評価できるが、文字列の表記に規則性が無い場合については、データ型によって妥当性を評価することが困難なため、所望する項目値を必ずしも抽出できなるわけではない。
本開示に係る情報処理装置は、処理対象の文書画像に含まれる複数の文字列の中から、予め定められた項目に対応する項目値の候補となる候補文字列を抽出する情報処理装置であって、予め定められた複数の概念特徴グループのうちの予め設定された抽出対象の概念特徴グループの情報を取得する抽出対象取得手段と、複数の概念特徴グループのそれぞれと属性グループの項目を示す属性情報とが予め対応付けられた属性情報テーブルを取得するテーブル取得手段と、属性情報テーブルに基づいて、抽出対象の概念特徴グループに対応付けられた属性情報と同一の属性情報に対応付けられた1以上の概念特徴グループを概念特徴グループ群として複数の概念特徴グループの中のから取得するグループ群取得部と、複数の文字列のそれぞれに対応する特徴ベクトルに基づいて、複数の概念特徴グループの中のから複数の文字列のそれぞれが属する概念特徴グループを特定し、複数の文字列の中から、特定した概念特徴グループが概念特徴グループ群のうちのいずれかの概念特徴グループと同一となった文字列を候補文字列として抽出する候補抽出手段と、候補抽出手段により抽出された候補文字列を出力する候補出力手段と、を有する。
本開示によれば、文字列の表記に規則性が無い項目の項目値であっても、予めレイアウトが定められた定型文書とは異なるレイアウトの文書の画像から、ユーザが所望する属性に該当する文字列データを、所定の項目に対応する項目値の候補として抽出できる。
第1実施形態に係る情報処理システムの構成の一例を示すブロック図である。 第1実施形態に係る画像入力装置の構成の一例を示すブロック図である。 第1実施形態に係る学習装置の構成の一例を示すブロック図である。 第1実施形態に係る情報処理装置の構成の一例を示すブロック図である。 第1実施形態に係る情報処理システムの処理シーケンスの一例を示すシーケンス図である。 第1実施形態に係る学習装置における処理の一部の流れの一例を示すフローチャートである。 第1実施形態に係る学習装置における処理の他の一部の流れの一例を示すフローチャートである。 第1実施形態に係る情報処理装置における処理の一部の流れの一例を示すフローチャートである。 第1実施形態に係る情報処理装置における処理の他の一部の流れの一例を示すフローチャートである。 属性文字列サンプルの一例を説明するための説明図である。 属性情報テーブルの一例を説明するための説明図である。 第2実施形態に係る情報処理装置における処理の一部の流れの一例を示すフローチャートである。 文字列データ及び特徴ベクトルの一例を説明するための説明図である。 設定画面の一例を説明するための説明図である。 確認画面の一例を説明するための説明図である。 確認画面の他の一例を説明するための説明図である。 第3実施形態に係る情報処理装置における処理の一部の流れの一例を示すフローチャートである。 第4実施形態に係る学習装置における処理の一部の流れの一例を示すフローチャートである。 概念特徴グループ及び属性情報テーブルの一例を説明するための説明図である。
以下、添付の図面を参照して、本開示の実施の形態について説明する。なお、以下の実施の形態に示す構成は、一例に過ぎず、本開示の範囲をその構成のみに限定されるものでなく、また、以下の実施の形態に示す構成の全てが本開示に必須のものとは限らない。
[第1実施形態]
<情報処理システム>
図1乃至9及び図11乃至14を参照して、第1実施形態に係る情報処理システム1について説明する。図1は、第1実施形態に係る情報処理システム1の構成の一例を示すブロック図である。情報処理システム1は、画像入力装置2、学習装置3、及び情報処理装置4を有する。また、画像入力装置2、学習装置3、及び情報処理装置4は、ネットワーク5を介して、互いに通信可能に接続されている。情報処理システム1において、画像入力装置2、学習装置3、及び情報処理装置4は、いずれも、ネットワーク5に対して単一接続ではなく、複数接続された構成であってもよい。具体的には、例えば、情報処理装置4は、高速演算リソースを有する第1の装置と、大容量ストレージを有する第2の装置により構成され、第1及び第2の装置がネットワーク5を介して互いに通信可能に接続された構成であってもよい。図1に示す情報処理システム1は、一例として、画像入力装置2、学習装置3、及び情報処理装置4がネットワーク5に対してそれぞれ単一接続されたものである。
画像入力装置2は、プリント機能、スキャン機能、及びFAX機能等の複数の機能を備えた、例えば、MFP(Multi-Function Peripheral)により実現される。画像入力装置2は、画像を取得し、取得した画像のデータを外部の装置に出力する機能を有する。画像入力装置2は、MFPにより実現される場合、画像入力装置2は、例えば、スキャン機能により紙等の記録媒体に印字された原稿11を光学的に読み取り、周知のスキャン画像処理を行うことにより文書画像13を取得する。また、当該場合、例えば、画像入力装置2は、FAX機能により、図1には不図示のFAX送信機から送信されたFAXデータ12を受信し、FAXデータ12に対して周知のFAX画像処理を行うことにより文書画像13を取得する。さらに、画像入力装置2は、取得した文書画像13を文書画像データとして情報処理装置4に対して送信する。
なお、MFPはあくまで一例であって、画像入力装置2は、PC(Personal Computer)等により実現されてもよい。具体的には、例えば、画像入力装置2としてのPCにおいて動作する文書作成アプリケーションを用いて生成される文書画像13を取得し、取得した文書画像13を文書画像データとして情報処理装置4に対して送信してもよい。ここで、文書作成アプリケーションを用いて生成される文書画像13のデータとは、PDF(Portable Document Format)等の電子文書ファイル形式のデータである。当該文書画像13のデータは、JPEG(Joint Photographic Experts Group)等の静止画像のデータ等であってもよい。
学習装置3は、文字列分類器15を生成して出力する。具体的には、学習装置3は、機械学習を行い、機械学習を行うことにより得た学習済モデルに基づいて文字列分類器15を生成する。ここで、文字列分類器15とは、説明変数として入力された文字列を示す情報に基づいて、予め定められた複数の概念的な特徴を捉えたグループ(以下「概念特徴グループ」という。)のうちから、当該文字列が属する概念特徴グループを特定するものである。具体的には、学習装置3は、まず、エンジニア等のユーザから提供された複数の文書画像のサンプル(以下「文書画像サンプル14」という。)に含まれる文字列のデータ(以下「文字列データ」という。)を取得する。次に、取得した文字列データを学習用データとして機械学習を行うことにより得た学習済モデルに基づいて、文字列分類器15を生成する。ここで、概念特徴グループとは、一般に固有表現と呼ばれる、文字列データの概念的な特徴を捉えたグループを指すものであって、人名若しくは地名等の固有名詞、又は、日付若しくは金額等の固有表現等が挙げられる。なお、学習装置3は、取得した文字列データを特徴ベクトルに変換し、変換した特徴ベクトルを学習用データとして機械学習を行ってもよい。特徴ベクトルについては後述する。
学習装置3は、例えば、人事系の事務部門で扱われる複数の文書画像のデータを文書画像サンプル14として取得する。学習装置3は、取得した複数の文書サンプル14のそれぞれに含まれる文字列のデータを元に、当該文字列を機械学習により文書名、日付、氏名、住所、又は法人名等に相当する複数の概念特徴グループにグループ化する。このようにして、学習装置3は、説明変数として入力された文字列を示すデータに基づいて当該文字列がこれらの概念特徴グループのうちのいずれに属するかを特定するための文字列分類器15を生成する。なお、文書サンプル14に含まれる文字列は、文書サンプル14に対してOCR(Optical character recognition)処理を実行することによって得られた文字認識結果として取得される。
また、学習装置3は、例えば、医療系の事務部門で扱う複数の文書画像のデータを文書画像サンプル14として取得してもよい。この場合、学習装置3は、取得した複数の文書サンプル14のそれぞれに含まれる文字列のデータを元に、当該文字列を機械学習により文書名、日付、氏名、医療機関名、病名、薬品名、又は金額等に相当する複数の概念特徴グループにグループ化する。このようにして、学習装置3は、入力された文字列を示すデータに基づいて当該文字列がこれらの概念特徴グループのうちのいずれに属するかを特定するための文字列分類器15を生成する。文字列分類器15を生成した後、学習装置3は、生成した文字列分類器15を、ネットワーク5を介して情報処理装置4に対して送信する。
また、学習装置3は、文字列分類器15に加えて、属性情報テーブル18を生成して出力する。具体的には、学習装置3は、まず、エンジニア又はエンドユーザ等のユーザ(以下、単に「ユーザ」という。)によって提供された属性文字列サンプル17を取得し、属性文字列サンプル17に含まれる属性情報と文字列データを取得する。次に、学習装置3にて生成された上述の文字列分類器115を用いて、属性文字列サンプル17に含まれる文字列データを概念特徴グループに分類し、概念特徴グループと属性情報とを対応付けて属性情報テーブル18を生成する。属性情報テーブル18を生成した後、学習装置3は、生成した属性情報テーブル18を、ネットワーク5を介して情報処理装置4に対して送信する。学習装置3の詳細については後述する。
情報処理装置4は、画像入力装置2から受信した文書画像13に含まれる1以上の文字列のそれぞれに対応するデータを、文字列毎に文字列データとして取得する。具体的には、例えば、情報処理装置4は、文書画像13に対してOCR処理を実行することによって得られた文字認識結果を文字列データとして取得する。さらに、情報処理装置4は、文書画像13に含まれる1以上の文字列のデータのうちから、候補となる1以上の文字列(以下「候補文字列」という。)のデータを抽出する。具体的には、情報処理装置4は、まず、文字列分類器15を用いて、取得した文字列データの文字列が複数の概念特徴グループのうちのいずれに属するかを特定する。次に、文書画像13に含まれる1以上の文字列のデータのうちから、特定された概念特徴グループが予め定められた抽出対象の概念特徴グループ(以下「抽出対象グループ」という。)と同一の文字列データ16を候補文字列のデータとして抽出する。情報処理装置4は、抽出した候補文字列のデータ(文字列データ16)を出力する。具体的には、情報処理装置4は、抽出した候補文字列のデータ(文字列データ16)を図1には不図示の記憶装置又は表示装置等に出力する。情報処理装置4の詳細については後述する。
ネットワーク5は、LAN(Local Area Network)又はWAN(Wide Area Network)等により構成される通信網である。ネットワーク5は、画像入力装置2、学習装置3、及び情報処理装置4の間を互いに通信可能に接続して、装置間におけるデータの送受信を可能にする。
<装置構成>
図2を参照して、画像入力装置2、学習装置3、及び情報処理装置4の構成について説明する。図2Aは、第1実施形態に係る画像入力装置2の構成の一例を示すブロック図である。具体的には、図2A(a)は、第1実施形態に係る画像入力装置2が有する機能ブロックの一例を示すブロック図である。画像入力装置2は、画像取得部21及び画像送信部22を有する。画像取得部21は、文書画像13を取得する。画像送信部22は、画像取得部21により取得された文書画像13のデータを、ネットワーク5を介して情報処理装置4に対して送信する。
画像入力装置2において機能する各部の処理は、画像入力装置2に内蔵されたASIC(Application Specific Integrated Circuit)等のハードウェアによってなされる。当該処理は、FPGA(Field Programmable Gate Array)等のハードウェアによってなされるものであってもよい。また、当該処理は、RAM(Random Access Memory)等のメモリと、CPU(Central Processor Unit)等のプロセッサとを用いたソフトウエアによってなされるものであってもよい。
図2A(b)は、第1実施形態に係る画像入力装置2が有するハードウェアの一例を示すブロック図である。具体的には、図2A(b)に示すブロック図は、画像入力装置2において機能する各部がソフトウエアとして動作する場合の画像入力装置2のハードウェア構成の一例を示すものである。画像入力装置2は、コンピュータにより構成されており、当該コンピュータは、図2A(b)に一例として示すように、CPU201、ROM202、データパス203、RAM204、プリンタデバイス205、及びスキャナデバイス206を有する。また、当該コンピュータは、図2A(b)に一例として示すように、原稿搬送デバイス207、ストレージ208、入力デバイス209、表示デバイス210、及び外部インタフェース211を有する。
CPU201は、画像入力装置2における動作全体を制御するためのプロセッサである。CPU201は、ROM202等に格納された起動プログラムを実行することにより、画像入力装置2のシステムを起動する。さらに、CPU201は、ストレージ208等に記憶された制御プログラムを実行することにより、画像入力装置2においてプリント機能、スキャン機能、又はFAX機能等として機能する各部を機能させる。なお、画像入力装置2は、CPU201とは異なる1又は複数の専用のハードウェアを有し、CPU201による処理の少なくとも一部を専用のハードウェアが実行してもよい。専用のハードウェアの例としては、ASIC、FPGA、又はDSP(Digital Signal Processor)等がある。
ROM202は、変更を必要としないプログラム等を格納する不揮発性のメモリであって、例えば、画像入力装置2を起動する起動プログラムを格納している。データバス203は、画像入力装置2が有する各ハードウェアをつないで、ハードウェア間においてデータを伝達する。RAM204は、ROM202又はストレージ208等から供給されるプログラム若しくはデータ、又は外部インタフェース211を介して外部から供給されるデータ等を一時記憶する揮発性のメモリである。RAM204は、CPU201が起動プログラム又は制御プログラム等のプログラムを実行する際のワークメモリとして使用される。
プリンタデバイス205は、画像出力用のデバイスであって、画像入力装置2にて取得された文書画像を紙等の記憶媒体に印字して印刷出力するためのデバイスである。スキャナデバイス206は、画像入力用のデバイスであって、文字や図表等が印字された紙等の記憶媒体を光学的に読み取って文書画像として取得するためのデバイスである。原稿搬送デバイス207は、図2A(b)には不図示の原稿台に載置された原稿を検知し、検知した原稿を1枚ずつスキャナデバイス206に搬送するためのデバイスである。原稿搬送デバイス207は、ADF(Auto Document Feeder)等により実現される。
ストレージ208は、HDD(Hard Disk Drive)等により実現されるものであって、前述の制御プログラム又は文書画像データを記憶するための補助記憶装置である。入力デバイス209は、タッチパネル又はハードキー等により実現されるものであって、ユーザからの画像入力装置2に対する操作入力を受け付けるためのデバイスである。表示デバイス210は、液晶ディスプレイ等により実現されるものであって、画像入力装置2が出力する設定画面等の表示画像をユーザに対して視認可能に表示出力するためのデバイスである。外部インタフェース211は、画像入力装置2とネットワーク5との間を接続するものであって、図2A(b)には不図示のFAX送信機からFAXデータ12を受信したり、情報処理装置4に対して文書画像のデータを送信したりするためのものである。
図2Bは、第1実施形態に係る学習装置3の構成の一例を示すブロック図である。具体的には、図2B(a)は、第1実施形態に係る学習装置3が有する機能ブロックの一例を示すブロック図である。学習装置3は、画像サンプル取得部31、文字列取得部32、ベクトル変換部33、第1学習部34、分類器生成部35、分類器出力部36、属性サンプル取得部37、第2学習部38、及びテーブル出力部39を有する。
画像サンプル取得部31は、文書画像サンプル14を取得する。具体的には、例えば、画像サンプル取得部31は、ユーザによる操作入力に基づいて、操作入力に対応する文書画像サンプル14を図2B(a)には不図示の記憶装置から読み出すことにより、文書画像サンプル14を取得する。文字列取得部32は、画像サンプル取得部31により取得された文書画像サンプル14が示す文章画像に含まれる1以上の文字列のデータを取得する。ベクトル変換部33は、文字列取得部32により取得された1以上の文字列データのそれぞれを、文字列データ毎に特徴ベクトルに変換する。第1学習部34は、ベクトル変換部33により変換された特徴ベクトルを学習用データとして学習モデルに入力することにより学習モデルに機械学習させる。分類器生成部35は、第1学習部34よる学習結果である学習済モデルを受けて、学習済モデルに基づいて文字列分類器15を生成する。なお、分類器生成部35は、第1学習部34よる学習結果である学習済モデルに対して処理を行うことなく、当該学習済モデルを文字列分類器15としてもよい。分類器出力部36は、分類器生成部35により生成された文字列分類器15を、情報処理装置4、又は図2B(b)には不図示の記憶装置に対して出力する。
属性サンプル取得部37は、属性文字列サンプル17を取得する。具体的には、例えば、属性サンプル取得部37は、ユーザによる操作入力に基づいて、操作入力に対応する属性文字列サンプル17を図2B(a)には不図示の記憶装置から読み出すことにより、属性文字列サンプル17を取得する。属性文字列サンプル17の詳細について後述する。第2学習部38は、分類器生成部35により生成された文字列分類器15と、属性サンプル取得部37により取得された属性文字列サンプル17とを用いて、属性情報テーブル18を生成する。テーブル出力部39は、第2学習部38により生成された属性情報テーブル18を、情報処理装置4、又は図2B(b)には不図示の記憶装置に対して出力する。学習装置3が有する各部の詳細な処理については後述する。
学習装置3において機能する各部の処理は、学習装置3に内蔵されたASIC若しくはFPGA等のハードウェア、又は、RAM等のメモリと、CPU等のプロセッサとを用いたソフトウエアによってなされる。図2B(b)は、第1実施形態に係る学習装置3が有するハードウェアの一例を示すブロック図である。具体的には、図2B(b)に示すブロック図は、学習装置3において機能する各部がソフトウエアとして動作する場合の学習装置3のハードウェア構成の一例を示すものである。学習装置3は、コンピュータにより構成されており、当該コンピュータは、図2B(b)に一例として示すように、CPU231、ROM232、データバス233、RAM234、ストレージ235、入力デバイス236、及び表示デバイス237を有する。また、当該コンピュータは、図2B(b)に一例として示すように、外部インタフェース238及びGPU239を有する。
CPU231は、学習装置3における動作全体を制御するためのプロセッサである。CPU231は、ROM232等に格納された起動プログラムを実行することにより、学習装置3のシステムを起動する。また、CPU231は、ストレージ235に記憶された制御プログラムを実行することにより、学習装置3において機能する各部を機能させる。なお、学習装置3は、CPU231とは異なる1又は複数の専用のハードウェアを有し、CPU231による処理の少なくとも一部を専用のハードウェアが実行してもよい。専用のハードウェアの例としては、ASIC、FPGA、又はDSP等がある。
ROM232は、変更を必要としないプログラム等を格納する不揮発性のメモリであって、例えば、学習装置3を起動する起動プログラムを格納している。データバス233は、学習装置3が有する各ハードウェアをつないで、ハードウェア間においてデータを伝達する。RAM234は、ROM232又はストレージ235等から供給されるプログラム若しくはデータ、又は外部インタフェース238を介して外部から供給されるデータ等を一時記憶する揮発性のメモリである。RAM234は、CPU231が起動プログラム又は制御プログラム等のプログラムを実行する際のワークメモリとして使用される。ストレージ235は、HDD等により実現されるものであって、前述の制御プログラム又は文書画像サンプルデータ14等を記憶するための補助記憶装置である。
入力デバイス236は、マウス又はキーボード等により実現されるものであって、エンジニア等のユーザ(以下、単に「エンジニア」という。)からの学習装置3に対する操作入力を受け付けるためのデバイスである。表示デバイス237は、液晶ディスプレイ等により実現されるものであって、学習装置3の設定画面等の表示画像をエンジニアに対して視認可能に表示出力するためのデバイスである。外部インタフェース238は、学習装置3とネットワーク5との間を接続するものであって、図2B(b)には不図示の記憶装置又はPC等の外部装置から文書画像サンプル14を受信するためのものである。また、外部インタフェース238は、情報処理装置4、又は図2B(b)には不図示の記憶装置に対して文字列分類器15を出力するためのものである。GPU239は、画像処理を行うことが可能なプロセッサである。GPU239は、例えば、CPU231から与えられた制御コマンドに従って、与えられた文書画像に含まれる文字列のデータを元に、文字列分類器15を生成するための演算を行う。
図2Cは、第1実施形態に係る情報処理装置4の構成の一例を示すブロック図である。具体的には、図2C(a)は、第1実施形態に係る情報処理装置4が有する機能ブロックの一例を示すブロック図である。情報処理装置4は、分類器取得部41,処理画像取得部42、文字列取得部43、ベクトル変換部44,概念特徴グループ特定部45、抽出対象設定部46、候補抽出部47、候補出力部48、テーブル取得部49を有する。
分類器取得部41は、文字列分類器15を取得する。具体的には、例えば、分類器取得部41は、学習装置3により出力された文字列分類器15を受けて、文字列分類器15を取得する。分類器取得部41は、図2C(a)には不図示の記憶装置に予め記憶された文字列分類器15を当該記憶装置から読み出すことにより、文字列分類器15を取得してもよい。処理画像取得部42は、文書画像13を取得する。具体的には、例えば、処理画像取得部42は、画像入力装置2により送信された文書画像13のデータを受信することにより文書画像13を取得する。処理画像取得部42は、図2C(a)には不図示の記憶装置に予め記憶された文書画像13のデータを当該記憶装置から読み出すことにより、文書画像13を取得してもよい。文字列取得部43は、文書画像13に含まれる1以上の文字列のデータを取得する。ベクトル変換部44は、文字列取得部43により取得された1以上の文字列データのそれぞれを、文字列データ毎に特徴ベクトルに変換する。
概念特徴グループ特定部45は、ベクトル変換部44により変換された特徴ベクトルに基づいて、予め定められた複数の概念特徴グループのうちから、当該特徴ベクトルに対応する文字列が属する概念特徴グループを特定する。具体的には、概念特徴グループ特定部45は、ベクトル変換部44により変換された特徴ベクトルを、分類器取得部41により取得された文字列分類器15に説明変数と入力する。概念特徴グループ特定部45は、文字列分類器15が推論結果として出力する、概念特徴グループを識別可能な識別番号等の情報(以下「グループID(identification)」という。)を取得する。グループIDにより、当該特徴ベクトルに対応する文字列が属する概念特徴グループが特定される。
抽出対象設定部46は、概念特徴グループ特定部45により特定された概念特徴グループを抽出対象グループとして設定する。抽出対象設定部46は、抽出対象グループを示す情報を抽出対象グループ情報として出力する。具体的には、抽出対象設定部46は、抽出対象グループ情報をストレージ265等の記憶装置に出力して記憶装置に記憶させる。テーブル取得部49は、属性情報テーブル18を取得する。具体的には、例えば、テーブル取得部49は、学習装置3により出力された属性情報テーブル18を受けて、属性情報テーブル18を取得する。
候補抽出部47は、抽出対象グループに基づいて、文字列取得部43により取得された、文書画像13に含まれる1以上の文字列データのうちから、候補文字列を選択して抽出する。具体的には、例えば、候補抽出部47は、まず、図2C(a)には不図示の記憶装置に予め記憶された抽出対象グループ情報を、当該記憶装置から読み出すことにより取得する。次に、テーブル取得部49により取得された属性情報テーブル18を用いて、抽出対象グループに対応付けられた属性情報と同一の属性情報に対応付けられた1以上の概念特徴グループ「以下「概念特徴グループ群」という。」を取得する。次に、概念特徴グループ群を構成する各概念特徴グループと、概念特徴グループ特定部45により特定された概念特徴グループとを、文書画像13に含まれる文字列毎に比較する。候補抽出部47は、当該比較の結果に基づいて、候補文字列のデータを抽出する。候補出力部48は、候補抽出部47により候補文字列のデータとして抽出された文字列データ16を出力する。具体的には、例えば、候補出力部48は、文字列データ16を、図2C(a)には不図示の表示装置に表示出力する。情報処理装置4が有する各部の詳細な処理については後述する。
情報処理装置4において機能する各部の処理は、情報処理装置4に内蔵されたASIC若しくはFPGA等のハードウェア、又は、RAM等のメモリと、CPU等のプロセッサとを用いたソフトウエアによってなされる。図2C(b)は、第1実施形態に係る情報処理装置4が有するハードウェアの一例を示すブロック図である。具体的には、図2C(b)に示すブロック図は、情報処理装置4において機能する各部がソフトウエアとして動作する場合の情報処理装置4のハードウェア構成の一例を示すものである。情報処理装置4は、コンピュータにより構成されており、当該コンピュータは、図2C(b)に一例として示すように、CPU261、ROM262、データバス263、RAM264、及びストレージ265を有する。また、当該コンピュータは、図2C(b)に一例として示すように、入力デバイス266、表示デバイス267、及び外部インタフェース268を有する。
CPU261は、情報処理装置4における動作全体を制御するためのプロセッサである。CPU261は、ROM262に格納された起動プログラムを実行することにより、情報処理装置4のシステムを起動する。また、CPU261は、ストレージ265に記憶された制御プログラムを実行することにより、情報処理装置4において機能する各部を機能させる。なお、情報処理装置4は、CPU261とは異なる1又は複数の専用のハードウェアを有し、CPU261による処理の少なくとも一部を専用のハードウェアが実行してもよい。専用のハードウェアの例としては、ASIC、FPGA、又はDSP等がある。
ROM262は、変更を必要としないプログラム等を格納する不揮発性のメモリであって、例えば、情報処理装置4を起動する起動プログラムを格納している。データバス263は、情報処理装置4が有する各ハードウェアをつないで、ハードウェア間においてデータを伝達する。RAM264は、ROM262又はストレージ265等から供給されるプログラム若しくはデータ、又は外部インタフェース268を介して外部から供給されるデータ等を一時記憶する揮発性のメモリである。CPU261が起動プログラム又は制御プログラム等のプログラムを実行する際のワークメモリとして使用される。ストレージ265は、HDD等で実現されるものであって、前述の制御プログラム、文書画像13のデータ、文字列分類器15、文字列データ16、又は属性情報テーブル18等を記憶するための補助記憶装置である。
入力デバイス266は、マウス又はキーボード等で実現されるものであって、ユーザからの情報処理装置4に対する操作入力を受け付けるためのデバイスである。表示デバイス267は、液晶ディスプレイ等により実現されるものであって、情報処理装置4の設定画面等の表示画像をユーザに対して視認可能に表示出力するためのデバイスである。外部インタフェース268は、情報処理装置4とネットワーク5との間を接続するものであって、学習装置3、又は図2C(b)には不図示の記憶装置等の外部装置から文字列分類器15を受信するためのものである。また、外部インタフェース268は、画像入力装置2、又は図2C(b)には不図示の記憶装置等の外部装置から文書画像13のデータを受信するためのものである。
<利用シーケンス>
図3を参照して、情報処理システム1の処理シーケンスについて説明する。図3は、第1実施形態に係る情報処理システム1の処理シーケンスの一例を示すシーケンス図である。図3に一例として示すように、情報処理システム1は、(a)から(f)までの6つの処理シーケンスに分けられる。なお、図3の説明において、記号「S」はステップを意味する。
図3に示す(a)は、学習装置3が文字列分類器15を生成する処理シーケンスを示している。図3に示す(a)の処理シーケンスは、エンジニアによる開発時に実行される処理シーケンスである。図3に示す(a)の処理シーケンスにおいて、S301にて、まず、情報処理システム1を開発するエンジニアは、学習装置3に対して複数の文書画像サンプル14を入力する。具体的には、例えば、エンジニアは、複数の文書画像サンプル14の所在等を示す情報を入力することにより、学習装置3に文書画像サンプル14を取得させるための指示を行う。学習装置3は、エンジニアからの入力に基づいて、文書画像サンプル14を取得する。
S301の後、S302にて、学習装置3は、まず、文書画像サンプル14毎に文書画像サンプル14の文書画像に含まれる文字列のデータを取得する。次に、取得した文字列データに基づく機械学習により学習済モデルを生成して複数の概念特徴グループを生成する。さらに、学習済モデルに基づいて文字列分類器15を生成する。ここで、生成される文字列分類器15は、説明変数として文字列データに対応する特徴ベクトルが入力され、特徴ベクトルに対応する文字列データが属する属性グループを、生成した複数の属性グループのうちから推論して当該推論の結果を出力するものである。文字列分類器15は、文字列データを特徴ベクトル化する言語モデルを内部に有し、説明変数として文字列データが入力されるものであってもよい。S302の後、S303にて、学習装置3は、情報処理装置4に対して、生成した文字列分類器15を送信する。情報処理装置4は、学習装置3が送信した文字列分類器15を取得して、情報処理装置4内のストレージ265に文字列分類器15を保存する。なお、図3に示す(a)の処理シーケンスの詳細については、図4を用いて後述する。
図3に示す(b)は、学習装置3が属性情報テーブル18を生成する処理シーケンスを示している。図3に示す(b)の処理シーケンスは、エンジニアによる開発時に実行される処理シーケンスである。図3に示す(a)及び(b)の処理シーケンスは、後述する図3に示す(c)から(f)までの処理シーケンスよりも前に予め実行される。図3に示す(b)の処理シーケンスにおいて、S311にて、まず、エンジニアは、学習装置3に対して属性文字列サンプル17を入力する。具体的には、例えば、エンジニアは、属性文字列サンプル17の所在等を示す情報を入力することにより、学習装置3に属性文字列サンプル17を取得させるための指示を行う。学習装置3は、エンジニアからの入力に基づいて、属性文字列サンプル17を取得する。
S311の後、S312にて、学習装置3は、まず、S302にて生成した文字列分類器15を用いて、属性文字列サンプル17に含まれる各文字列データが属する概念特徴グループを特定する。次に、特定した概念特徴グループと文字列データに対応する属性情報とを対応づけることよりに、属性情報テーブル18を生成する。S312の後、S313にて、学習装置3は、S312にて生成した属性情報テーブル18を情報処理装置4に対して送信する。情報処理装置4は、学習装置3が送信した属性情報テーブル18を取得して、情報処理装置4が有するストレージ265に属性情報テーブル18を保存する。なお、図3に示す(b)の処理シーケンスの詳細については、図5を用いて後述する。
図3に示す(c)は、後述する図3に示す(f)の処理シーケンスにおいて候補文字列のデータを抽出する際に用いる抽出対象グループを設定する処理シーケンスを示している。具体的には、図3に示す(c)の処理シーケンスは、文書画像13に含まれる1以上の文字列のうちのエンジニアからの操作入力により選択された文字列のデータが属する概念特徴グループを抽出対象グループとして設定するものである。なお、図3に示す(c)の処理シーケンスは、エンジニアにより、情報処理装置4の開発時に行われるものである。これに対して、後述する図3に示す(c)の処理シーケンスは、エンドユーザ等のユーザ(以下、単に「エンドユーザ」という。)により、運用時に行われるものである。具体的には、図3に示す(c)の処理シーケンスは、図3に示す(c)の処理シーケンスにおいて行われる抽出対象グループの設定を、エンドユーザの代わりにエンジニアが予め開発時に行うものである。
図3に示す(c)の処理シーケンスにおいて、S311にて、まず、エンジニアは、情報処理装置4に対して文書画像13のデータを入力する。具体的には、例えば、エンジニアは、文書画像13のデータの所在等を示す情報を入力することにより、情報処理装置4に文書画像13のデータを取得させるための指示を行う。情報処理装置4は、エンジニアからの入力に基づいて、文書画像13のデータを取得する。S311の後、S312にて、情報処理装置4は、まず、文書画像13に含まれる1以上の文字列のデータを取得する。次に、取得した1以上の文字列データのうち、エンジニアが所望する文字列の指定を行うためのエンジニアからの操作入力を受け付ける。S312の後、S313にて、情報処理装置4は、まず、S303にて取得した文字列分類器15を用いて、S312にて受け付けた操作入力により指定された文字列が属する概念特徴グループを特定する。次に、特定した概念特徴グループを抽出対象グループとして指定して、抽出対象グループを示す情報(以下「抽出対象グループ情報」という。)をストレージ265等に保存する。なお、図3に示す(c)の処理シーケンスの詳細については、図6を用いて後述する。
図3に示す(d)は、学習装置3が属性情報テーブル18を生成する処理シーケンスを示している。なお、図3に示す(d)の処理シーケンスは、エンドユーザによる運用時に実行される処理シーケンスであり、上述の図3に示す(b)の処理シーケンスと同様の処理を行うものである。図3に示す(d)の処理シーケンスにおいて、S331にて、まず、エンドユーザは、情報処理装置4に対して属性文字列サンプル17を入力する。具体的には、例えば、エンドユーザは、属性文字列サンプル17の所在等を示す情報を情報処理装置4に入力して、情報処理装置4に属性文字列サンプル17を取得させるための指示を行う。情報処理装置4は、ユーザからの入力に基づいて、属性文字列サンプル17を取得する。S331の後、S332にて、情報処理装置4は、取得した属性文字列サンプル17を学習装置3に対して送信し、学習装置3は、情報処理装置4から送信された属性文字列サンプル17を受けて、属性文字列サンプル17を取得する。なお、エンドユーザは、学習装置3に対して直接、属性文字列サンプル17の所在等を示す情報を情報処理装置4に入力して、学習装置3に属性文字列サンプル17を取得させるための指示を行ってもよい。この場合、学習装置3は、ユーザからの入力に基づいて、属性文字列サンプル17を取得する。
332の後、S333にて、学習装置3は、属性情報テーブル18を生成する。具体的には、学習装置3は、まず、属性文字列サンプルに含まれる各文字列データが属する概念特徴グループを、S302にて生成した文字列分類器15を用いて特定する。次に、特定した概念特徴グループと属性情報とを対応付けることにより、属性情報テーブル18を生成する。333の後、S334にて、学習装置3は、情報処理装置4に対して属性情報テーブル18を送信する。情報処理装置4は、学習装置3が送信した属性情報テーブル18を取得して、情報処理装置4が有するストレージ265に属性情報テーブル18を保存する。なお、図3に示す(b)の処理シーケンスの詳細については、図5を用いて後述する。
図3に示す(e)は、後述する図3に示す(f)の処理シーケンスにおいて候補文字列のデータを抽出する際に用いる抽出対象グループを設定する処理シーケンスを示している。なお、図3に示す(e)の処理シーケンスは、エンドユーザにより運用時に行われるものであって、前述した図3に示す(c)の処理シーケンスと同様のものである。具体的には、図3に示す(e)の処理シーケンスは、文書画像13に含まれる1以上の文字列のうちのエンドユーザからの操作入力により選択された文字列が属する概念特徴グループを抽出対象グループとして設定するものである。
図3に示す(e)の処理シーケンスにおいて、S341にて、まず、エンドユーザは、例えば、画像入力装置2に原稿11を載置して、画像入力装置2に対して原稿11の読み取りを指示する。画像入力装置2は、当該指示を受けて、原稿11を光学的に読み取って文書画像13を取得する。S341の後、S342にて、まず、画像入力装置2は、S341にて取得した文書画像13のデータを情報処理装置4に対して送信する。情報処理装置4は、画像入力装置2から送信された文書画像13のデータを受信することにより文書画像13を取得する。なお、情報処理装置4は、文書画像13を取得できればよく、文書画像13のデータの取得元は、画像入力装置2であっても、ストレージ265等の記憶装置等であってもよい。
S342の後、S343にて、情報処理装置4は、まず、S341にて取得した文書画像13のデータについて、文書画像13に含まれる1以上お文字列のデータを取得する。次に、取得した1以上の文字列データのうち、エンドユーザが所望する文字列の指定を行うためのエンドユーザからの操作入力を受け付ける。S342の後、S343にて、情報処理装置4は、まず、S303にて取得した文字列分類器15を用いて、S342にて受け付けた操作入力により指定された文字列が属する概念特徴グループを特定する。次に、特定した概念特徴グループを抽出対象グループとして指定して、抽出対象グループ情報をストレージ265等に保存する。なお、図3に示す(e)の処理シーケンスの詳細については、図6を用いて後述する。
図3に示す(f)は、情報処理装置4が文書画像13に含まれる文字列のデータの中から、図3に示す(c)又は(e)の処理シーケンスにおいて予め設定された抽出対象グループに基づいて候補文字列のデータを抽出する処理シーケンスを示している。なお、図3に示す(f)は、図3に示す(c)又は(e)の処理シーケンスの実行時に用いた文書画像13のレイアウトとは異なるレイアウトの複数の文書画像13について、繰り返して候補文字列を抽出することができる。また、図3に示す(d)では、文書画像13に含まれる1以上の文字列について、文字列毎に当該文字列が候補文字列に該当するか否かを繰り返して判定することにより、1以上の候補文字列を抽出することができる。
図3に示す(f)の処理シーケンスにおいて、S351にて、エンドユーザは、画像処理装置2に原稿111を載置して、画像入力装置2に対して原稿11の読み取りを指示する。画像処理装置2は、当該指示を受けて、原稿11を光学的に読み取って文書画像13を取得する。S351の後、S352にて、まず、画像入力装置2は、S311にて取得した文書画像13のデータを情報処理装置4に対して送信する。情報処理装置4は、画像入力装置2から送信された文書画像13のデータを受信することにより文書画像13を取得する。なお、情報処理装置4は、文書画像13を取得できればよく、文書画像13のデータの取得元は、画像入力装置2であっても、ストレージ265等の記憶装置等であってもよい。
S352の後、S353にて、情報処理装置4は、S352にて取得した文書画像13に含まれる1以上の文字列のデータの中から、候補文字列のデータを抽出する。具体的には、情報処理装置4は、まず、S352にて取得した文書画像13に含まれる1以上の文字列のデータを取得し、取得した各文字列データについて、S352にて取得した文字列分類器15を用いて文字列データが属する概念特徴グループを特定する。次に、S352にて特定した概念特徴グループ、S323又はS344にて設定された抽出対象グループ、及びS303にて取得した属性情報テーブル18に基づいて、文書画像13に含まれる1以上の文字列のデータの中から候補文字列のデータを抽出する。S353の後、S354にて、情報処理装置4は、S353にて抽出した候補文字列のデータの候補を、エンドユーザに対して視認可能に表示出力する。なお、図3に示す(f)の処理シーケンスの詳細については、図7を用いて後述する。
<文字列分類器の生成処理>
図4を参照して、図3に示す(a)における学習装置3が文字列分類器15を生成する処理の流れについて説明する。図4は、第1実施形態に係る学習装置3が文字列分類器15を生成する処理の流れの一例を示すフローチャートである。なお、図4の説明において、記号「S」はステップを意味する。また、図4に示す各ステップの実行プログラムは、例えば、学習装置3のROM232、RAM234、又はストレージ235のいずれかに記憶され、学習装置3のCPU231又はGPU239により実行される。
まず、S401にて、画像サンプル取得部31は、複数の文書画像サンプル14を取得する。具体的には、例えば、画像サンプル取得部31は、人事、医療、又は経理等の事務部門において扱われる文書画像のデータを文書画像サンプル14として取得する。ここで、画像サンプル取得部31は、文書画像サンプル14として、例えば、医療系の事務部門にて扱われる文書画像、というように、ある特定の業務分野にて扱われる文書画像のデータのみを対象として取得してもよい。また、画像サンプル取得部31は、人事、医療、及び経理の業務分野にて扱われる文書画像、というように、互いに異なる複数の業務分野にて扱われる文書画像のデータを対象として取得してもよい。
次に、S402にて、文字列取得部32は、画像サンプル取得部31により取得された複数の文書画像サンプル14のそれぞれに含まれる文字列のデータを取得する。具体的には、例えば、文字列取得部32は、複数の文書画像サンプル14のそれぞれに対して、OCR処理を実行し、OCR処理により文字認識結果として得られた複数の文字列データを取得する。例えば、文字列取得部32は、準定型文書の文書画像を構成するオブジェクトの単位を識別するブロックセレクションの技術を用いて、文書画像において間隔又は罫線等により区切られて配置された単語区切りの単位でOCR処理を実行する。なお、ブロックセレクションについては、周知の技術であるため説明を省略する。また、例えば、文字列取得部32は、非定型文書の文書画像に含まれる文章に対して、周知の形態素解析の手法を用いて当該文章を単語毎に分割し、分割された単語の単位でOCR処理を実行してもよい。
次に、S403にて、ベクトル変換部33は、文字列取得部32により取得された複数の文字列データのそれぞれを特徴ベクトルに変換する。具体的には、例えば、ベクトル変換部33は、Word2Vec、GloVe、fastText、BERT、XLNet、又はALBERT等の周知の手法を用いて、文字列データを特徴ベクトルに変換する。例えば、ウィキペディア(登録商標)等のWebサイト等に登録された膨大な一般の文書に対して予め学習済のBERTの言語モデルを用いる。これにより、当該文書に含まれる文字列毎に、文字列データを、768次元等の数値により表現される特徴ベクトルに変換できる。
図11を参照して、文字列データと、文字列データに対応する特徴ベクトルとについて説明する。図11は、文字列データ及び特徴ベクトルの一例を説明するための説明図である。具体的には、図11(a)は、文書画像サンプル14に含まれる文字列のデータを特徴ベクトルに変換する様子の一例を示す概念図である。図11(a)に示すように、文書画像サンプル14に含まれる複数の文字列のデータである文字列データ群1101は、例えば、学習済のBERTの言語モデルを用いることにより、文字列データ毎に768次元の数値により表現される特徴ベクトルに変換される。図11(a)には、文字列データ群1101に対応する複数の特徴ベクトルとして、特徴ベクトル群1102が示されている。図11(b)及び(c)については後述する。
S403の後、S404にて、学習部34は、ベクトル変換部33により変換された複数の特徴ベクトルを学習用データとする機械学習により、未学習又は学習途中の学習モデルに学習させる。具体的には、学習部34は、ベクトル変換部33により変換された複数の特徴ベクトルを学習用データとして、機械学習によるクラスタリング手法を用いて特徴ベクトルを複数の概念特徴グループにグループ化する。ここで、ベクトル変換部33により生成された特徴ベクトル群1102は、一般に固有表現と呼ばれる、文字列データの概念的な特徴を示すものであって、人名若しくは地名等の固有名詞、又は、日付若しくは金額等の固有表現等の特徴を示すものである。学習部34では、このような特徴を利用し、エンジニア等が手動で属性を示す情報を教師データとして与えることなく、教師なし学習の機械学習の1つであるクラスタリング手法を用いて、特徴ベクトルを自動で複数の概念特徴グループにグループ化する。ここで、特徴ベクトル群をグループ化するクラスタリング手法としては、最短距離法若しくは最長距離法等の階層クラスタリング手法、又は、K-means若しくはX-means等の非階層クラスタリング手法等の周知の技術を利用できる。
図11(b)は、複数の特徴ベクトルを機械学習によるクラスタリング手法を用いて複数の概念特徴グループにグループ化した様子の一例を示す概念図である。具体的には、図11(b)は、図11(a)に示す768次元の数値により表現される特徴ベクトルを、PCA又はt-SNE等の周知の技術を用いて2次元平面に次元圧縮するように変換して可視化したものである。図11(b)に示すように、図11(a)に示した文字列データの特徴ベクトル群1102に対して、上述のクラスタリング手法を用いることにより、自動で複数の概念特徴グループ1111~1117にグループ化できる。ここで、図11(b)に示す概念特徴グループ1111~1117のそれぞれは、例えば、法人名、日付、医療機関名、及び商品名であると見て取れる。図11(b)に示すように、グループ化の粒度によっては、法人名として扱われるべき文字列データが互いに異なる概念特徴グループ1111,1112に分類されてことがある。ここで、クラスタリング手法によるグループ化では、これらの概念特徴グループ1111~1117のそれぞれが何を示すかの情報を持たず、概念特徴グループを識別可能な情報(グループID)のみを持つ。
なお、学習部34は、特徴ベクトルを学習用データとする機械学習により、未学習又は学習途中の学習モデルに学習させるものとして説明したが、これに限定されるものではない。具体的には、例えば、学習モデルの設計段階において、学習モデル内にて文字列データを特徴ベクトル化する言語モデルを含めて学習モデルを予め設計し、学習部34は、文字列データを学習用データとして学習モデルに機械学習による学習をさせてもよい。この場合、学習装置3は、ベクトル変換部33が不要となる。
S404にて必要又は十分な学習が完了した後、S405にて、分類器生成部35は、まず、学習部34による学習結果である学習済モデルを取得する。次に、取得した学習済モデルに基づいて文字列分類器15を生成する。文字列分類器15とは、文字列データに対応する特徴ベクトルが入力されて、上述のクラスタリング手法により生成された複数の概念特徴グループのうち、入力された特徴ベクトルに対応する文字列がいずれの概念特徴グループに属するかを特定するものである。具体的には、例えば、文字列分類器15は、特定した概念特徴グループを示す情報としてグループIDを出力する。
なお、分類器生成部35は、例えば、文字列データと、当該文字列データに対する上述のクラスタリング手法により取得された概念特徴グループとの組み合わせを教師データとして再利用し、教師あり学習による機械学習により再現するように実現してもよい。また、分類器生成部35は、例えば、単に、上述のクラスタリング手法により取得された各概念特徴グループの重心位置を算出し、重心位置が最も近い概念特徴グループを最も類似度が高い概念特徴グループとして判定するように実現してもよい。S405の後、S406にて、分類器出力部36は、分類器生成部35により生成された文字列分類器15を情報処理装置4に出力して、情報処理装置4が有するストレージ265に文字列分類器15を保存する。文字列分類器15が文字列データを特徴ベクトル化する言語モデルを内部に有していない場合、分類器出力部36は、文字列分類器15に加えて、文字列データを文字列分類器15に入力可能な特徴ベクトルに変換するための言語モデルを出力してもよい。以下、文字列分類器15は、文字列データを特徴ベクトル化する言語モデルを内部に有していないものとして説明する。S406の後、学習装置3は、図4に示すフローチャートの処理を終了する。
<属性情報テーブルの生成処理>
図5を参照して、図3に示す(b)又は(d)において、学習装置3が属性情報テーブル18を生成する処理の流れについて説明する。図5(a)は、第1実施形態に係る学習装置3が属性情報テーブル18を生成する処理の流れの一例を示すフローチャートである。また、図5(b)は、図5(a)に示すS504の処理の流れの一例を示すフローチャートである。なお、図5の説明において、記号「S」はステップを意味する。また、図5に示す各ステップの実行プログラムは、例えば、学習装置3のROM232、RAM234、又はストレージ235のいずれかに記憶され、学習装置3のCPU231又はGPU239のいずれかにより実行される。まず、S501にて、学習装置3は、属性文字列サンプル17に含まれる文字列データを取得する。具体的には、まず、属性サンプル取得部37は、ユーザによる操作入力に基づいて、属性文字列サンプル17のデータを取得する。次に、第2学習部38は、属性文字列サンプル17に含まれる文字列データを取得する。
図8を参照して、属性文字列サンプル17について説明する。図8は、属性文字列サンプル17の一例を示す説明図である。属性文字列サンプル17に含まれる属性情報は、エンドユーザが汎用的に利用しそうな概念的な意味を捉えた属性をエンジニアが定義することにより事前に設定される。図8(a)に示すように、例えば、エンジニアは、氏名801、住所802、日付803、法人名804、医療機関名805、及び、商品名806の属性グループを定義して、属性グループの文字列を属性情報として属性文字列サンプル17に設定する。また、エンジニアは、各属性グループに分類される文字列を想定して、当該文字列のデータを属性文字列サンプル17に設定することにより、属性情報と文字列データとが対応付けられた属性文字列サンプル17が作成される。図8(a)をみると、日付803のようにデータ型を規定することが可能な一部の項目値を除いて、氏名801、住所802、法人名804、医療機関名805、又は商品名806等の属性グループには、字面が異なる文字列データが多く含まれることが分かる。
一方、エンドユーザは、人事系の事務業務等のエンドユーザの業務内容に特化して使われる属性グループを定義して、属性グループの文字列を属性情報として属性文字列サンプル17に設定する。例えば、取引先名を1つの属性グループとして扱うような業務の場合には、図8(a)では互いに異なる属性グループとして定義していた法人名804と医療機関名805とを、図8(b)に示すように企業名811として統合した属性グループを定義する。さらに、企業名811に分類される文字列データとして法人名及び医療機関名の具体的な文字列のデータを、企業名811に対応する属性情報に対応付けて追加する。また、エンドユーザの業務が税率又は勘定科目等の属性グループに分類するような業務である場合には、以下のように属性グループとして定義してもよい。当該場合、例えば、図8(a)では1つの属性グループとして扱っていた商品名806を、食料品821、図8(c)に示すように飲料品822、酒類823、及び消耗品824等の独立した属性グループとして定義する。さらに、各属性グループに分類される具体的な文字列データを属性グループに対応する属性情報に対応付けて属性文字列サンプル17に追加すればよい。
S501の後、S502にて、ベクトル変換部33は、S501で取得した各文字列データを、文字列データ毎に、S403と同様の処理により特徴ベクトルに変換する。次に、S503にて、第2学習部38は、S405にて生成された文字列分類器15に、S502にて変換により得た各特徴ベクトルを入力して、各特徴ベクトルに対応する文字列データが属する概念特徴グループを特定する。図11(c)は、図8(a)に示す属性文字列サンプル17に含まれる文字列データを概念特徴グループに分類し、768次元の数値により表現される特徴ベクトルを2次元平面に次元圧縮するように変換して可視化した一例を示す概念図である。S503の後、S504にて、第2学習部38は、S501にて取得した文字列データと、S503にて特定された概念特徴グループとを基に、属性情報テーブル18を生成する。
図5(b)を参照して、S504の処理について説明する。まず、S511にて、第2学習部38は、文字列分類器で分類される全ての概念特徴グループの中から未処理の概念特徴グループを1つ選択する。次に、S512にて、第2学習部38は、S503にて特定された文字列データの概念特徴グループがS511にて選択された概念特徴グループと同一であるか否かを文字列データ毎に判定する。S512にて同一であると判定された場合、S513にて、第2学習部38は、属性文字列サンプル17に基づいて、同一であるとされた概念特徴グループに特定された1以上の文字列データのそれぞれに対応付けられている属性情報を取得する。具体的には、例えば、第2学習部38は、図11(c)に示す概念特徴グループ1111をS511にて選択し、S503にて概念特徴グループ1111に属すると特定された文字列データに、属性文字列サンプル17にて対応付けられている属性情報を取得する。より具体的には、例えば、図11(c)に示す「猪苗代運輸」という文字列のデータに、図8(a)に示す属性文字列サンプル17にて対応付けられている法人名804の属性グループの属性情報を取得する。
S513の後、S514にて、第2学習部38は、S513にて取得した全ての属性情報の中から代表的な属性情報を決定し、決定した代表的な属性情報とS511にて選択された概念特徴グループを示す情報とを対応付けて保存する。具体的には、例えば、第2学習部38は、S511にてある概念特徴グループを選択したとき、S513にて取得される1以上の属性情報の中から、取得された回数が最も多かった属性情報を代表的な属性情報として決定する。なお、代表的な属性情報の決定方法は、上述の方法に限定されるものではなく、例えば、文字列データに対応する属性情報が、概念特徴グループの領域内において、より広範囲に分布する属性情報を代表的な属性情報としてもよい。
図9を参照して、属性情報テーブル18について説明する。図9は、第1実施形態に係る学習装置3が生成する属性情報テーブル18の一例を説明するための説明図である。第1実施形態に係る学習装置3では、代表的な属性情報と概念特徴グループとを対応付けて保存するため、図9(a)に示す属性情報テーブル18のように、例えば、概念特徴グループ1111には、1つの属性情報として法人名901が保存されている。属性情報としての、法人名902,日付903,904、医療機関名905,906、及び、商品名907については同様であるため説明を省略する。また、例えば、図3に示す(d)の処理シーケンスにおいて、エンドユーザが図8(b)に示す属性文字列サンプル17を入力した場合、「猪苗代運輸」は、図8(b)に示すように企業名811に対応付けられている。その結果、図9(b)に示す属性情報テーブル18のように、例えば、概念特徴グループ1111には、属性情報として企業名911が保存されている。属性情報としての、企業名912,915,916、日付913,914、及び、商品名917については同様であるため説明を省略する。
S514の後、又は、S512にて同一でないと判定された場合、S515にて、第2学習部38は、S512にて全ての概念特徴グループが選択されたか否かを判定する。S515にて全ての概念特徴グループが選択されていないと判定された場合、すなわち、未処理の概念特徴グループが残っていると判定された場合、学習装置3は、S511の処理に戻って処理を継続する。S515にて全ての概念特徴グループが選択されたと判定された場合、すなわち、未処理の概念特徴グループは残っていないと判定された場合、学習装置3は、図8(b)に示すフローチャートの処理を終了することにより、S504の処理を完了する。S504の後、S505にて、テーブル出力部39は、S504にて生成された属性情報テーブル18を情報処理装置4に対して出力する。具体的には、テーブル出力部39は、属性情報テーブル18を、ネットワーク104を介して情報処理装置4に送信し、情報処理装置4が有するストレージ265に保存する。
<抽出対象の設定処理>
図6を参照して、図3に示す(c)又は(e)において、情報処理装置4が抽出対象グループを設定する処理の流れについて説明する。図6は、第1実施形態に係る情報処理装置4が抽出対象グループを設定する処理の流れの一例を示すフローチャートである。なお、図6の説明において、記号「S」はステップを意味する。また、図6に示す各ステップの実行プログラムは、例えば、情報処理装置4のROM262、RAM264、又はストレージ265のいずれかに記憶され、情報処理装置4のCPU261により実行される。
まず、S601にて、分類器取得部41は、文字列分類器15を取得する。具体的には、例えば、分類器取得部41は、ストレージ265に保存された文字列分類器15を読み出すことにより、文字列分類器15を取得する。次に、S602にて、まず、処理画像取得部42は、抽出対象グループを指定するために用いる(以下「抽出対象文書」という。)に対応する画像として文書画像13を取得する。具体的には、処理画像取得部42は、画像入力装置2により送信された文書画像13のデータを受信することにより文書画像13を取得する。処理画像取得部42は、文書画像13のデータが予め記憶されたストレージ265等の記憶装置等から文書画像13のデータを読み出すことにより、文書画像13を取得してもよい。次に、文字列取得部43は、まず、処理画像取得部42により取得された文書画像13に対してOCR処理等を実行することにより、文書画像13に含まれる1以上の文字列のデータを取得する。文字列取得部43は、次に、文書画像13に含まれる1以上の文字列のデータのうちから、エンジニア又はエンドユーザ等のユーザによる操作入力により指定された文字列に対応する文字列データを取得する。
図12を参照して、ユーザが文書画像13に含まれる1以上の文字列のデータのうちから所望の文字列を指定するための設定画面について説明する。図12は、第1実施形態に係る設定画面の一例を説明するための説明図である。具体的には、図12(a)は、第1実施形態に係る処理画像取得部42により取得された文書画像13の一例を示す図である。図12(a)には、文書画像13を可視化した画像1201と、画像1201のうちの一部の画像領域を拡大して示した画像1203が示されている。また、画像1203には、項目を示す医療機関名の項目値を示す固有名詞(人名)の「赤羽リハビリテーション病院」の文字領域1202が示されている。
図12(b)は、第1実施形態に係る情報処理装置4が表示装置に出力して当該表示装置表示させる設定画面1200の一例を示す図である。具体的には、図12(b)に示すプレビュー画面領域には、図12(a)に示す文書画像13を可視化した画像1201が表示されている。また、図12(b)に示すプレビュー画面領域に表示される画像1201には、項目を示す医療機関名に対応する項目値である「赤羽リハビリテーション病院」の文字領域1202が示されている。例えば、ユーザは、図12(b)示すにプレビュー画面領域に表示された画像1201において、所望の文字領域を選択する。当該選択は、例えば、文字領域に対してポインタ等による位置指定1210を行うことによりなされる。例えば、ユーザが「赤羽リハビリテーション病院」に対応する文字領域1202を位置指定して選択した場合、文字領域1202に対応する画像1213が取得されて、「抽出対象:」の項目値として表示されている。また、図12(b)に示す設定画面1200には、画像1213に対するOCR処理の結果である文字列データが「紹介元機関名」を示す項目1211に対応する項目値1212として表示される。
なお、「紹介元機関名」を示す項目1211は、エンジニア等のユーザにより予め設定されたものである。項目1211は、エンドユーザ等のユーザにより項目を追加するための追加ボタン1215が押下されることにより追加設定されたものであってもよい。ユーザは、図12(b)の設定画面の項目値1212として表示されたOCR結果等の文字列データが誤っていると判断した場合に、編集ボタン1214を押下することにより、文字列データを修正することができる。ユーザは、文書画像13に含まれる1以上の文字列のデータのうち、所望する全ての文字列データについての選択が完了したとき、図12(b)に示す設定画面における終了ボタン1216を押下することにより、その表示を終了させる。
S602の後、S603にて、まず、ベクトル変換部44は、S602にてユーザにより選択された1以上の文字列データのそれぞれについて、文字列データを特徴ベクトルに変換する。次に、グループ特定部45は、分類器取得部41により取得された文字列分類器15に、ベクトル変換部44により変換された特徴ベクトルを入力して、当該特徴ベクトルに対応する文字列データが属する概念特徴グループを特定する。S603の後、S604にて、抽出対象設定部46は、グループ特定部45により特定された概念特徴グループを抽出対象グループとして設定し、抽出対象グループ情報をストレージ265等の記憶装置に出力して当該記憶装置に記憶させて保存する。ここで、抽出対象グループ情報とは、概念特徴グループを識別可能な情報であって、例えば、グループID情報である。
S604の後、S605にて、例えば、文字列取得部43は、エンジニア又はエンドユーザ等のユーザによる操作入力により、抽出対象として指定する文字列のデータの選択が終了されたか否かを判定する。具体的には、例えば、図12(b)示すにプレビュー画面領域に表示された画像1201において、新たな文字領域が選択されたとき、文字列取得部43は、抽出対象として指定する文字列のデータの選択が終了されていないと判定する。抽出対象として指定する文字列のデータの選択が終了されていないと判定された場合、情報処理装置4は、S603の処理に戻ってS603からS605までの処理を実行して、新たに指定された文字列のデータに対応する抽出対象グループ情報を追加する。すなわち、当該場合、情報処理装置4は、抽出対象として指定する文字列のデータの選択が終了されたと判定されるまで、S603からS605までの処理を繰り返して実行して抽出対象グループ情報を追加する。
これに対して、例えば、文字列取得部43は、図12(b)に示す設定画面における終了ボタン1216が押下されたとき、抽出対象として指定する文字列のデータの選択が終了されたと判定する。抽出対象として指定する文字列のデータの選択が終了されたと判定された場合、情報処理装置4は、図6に示すフローチャートの処理を終了し、処理画像取得部42にて新たな文書画像13が取得されるまで待機する。処理画像取得部42にて新たな文書画像13が取得された場合、情報処理装置4は、図6に示すフローチャートの処理を再度実行する。なお、この場合、情報処理装置4は、図6に示すフローチャートの処理のうち、S601の処理を省略して、S602以降の処理のみを実行してもよい。
<候補文字列の抽出処理>
図7を参照して、図3に示す(f)の処理シーケンスにおいて、情報処理装置4が文書画像13に含まれる1以上の文字列のデータうちから候補文字列のデータを抽出する処理の流れについて説明する。図7(a)は、第1実施形態に係る情報処理装置4が文書画像13に含まれる1以上の文字列のデータうちから候補文字列のデータを抽出する処理の流れの一例を示すフローチャートである。図7(b)は、図7(a)に示すS706の処理の一例を示すフローチャートである。なお、図7の説明において、記号「S」はステップを意味する。また、図7に示す各ステップの実行プログラムは、例えば、情報処理装置4のROM262、RAM264、又はストレージ265のいずれかに記憶され、情報処理装置4のCPU261により実行される。
まず、S7601にて、分類器取得部41は、文字列分類器15を取得する。具体的には、分類器取得部41は、情報処理装置4が有するストレージ265に保存された文字列分類器15を読み出すことにより、文字列分類器15を取得する。次に、S702にて、まず、候補抽出部47は、図6に示すS604にて保存された抽出対象グループ情報を取得する。なお、S604にて保存された抽出対象グループ情報が複数存在する場合、候補抽出部47は、複数の抽出対象グループ情報を取得する。次に、S703にて、まず、処理画像取得部42は、候補文字列のデータを抽出するための文書(以下「処理対象文書」という。)に対応する画像として文書画像13を取得する。具体的には、例えば、処理画像取得部42は、画像入力装置2により送信された文書画像13のデータを受信することにより文書画像13を取得する。処理画像取得部42は、文書画像13のデータが予め記憶されたストレージ265等の記憶装置等から文書画像13のデータを読み出すことにより、文書画像13を取得してもよい。次に、文字列取得部43は、まず、処理画像取得部42により取得された文書画像13に対してOCR処理等を実行することにより、文書画像13に含まれる1以上の文字列のデータを取得する。
S703の後、S704にて、まず、ベクトル変換部44は、S703にて文字列取得部43により取得された1以上の文字列データのそれぞれについて、文字列データを特徴ベクトルに変換する。次に、グループ特定部45は、まず、S701にて分類器取得部41により取得された文字列分類器15に、ベクトル変換部44により変換された特徴ベクトルを文字列データ毎に入力する。次に、文字列分類器15が出力する結果を当該入力毎に受けて、当該特徴ベクトルに対応する文字列データが属する概念特徴グループを文字列データ毎に特定する。以下、グループ特定部45により特定された概念特徴グループを特定概念特徴グループと称して説明する。S704の後、S705にて、候補抽出部47は、S702にて取得した全ての抽出対象グループ情報の中から未処理の抽出対象グループ情報を1つ選択する。次に、S706にて、候補抽出部47は、S705にて選択した抽出対象グループ情報が示す抽出対象グループに対応する候補文字列を抽出する。
図7(b)を参照して、S706の処理について説明する。まず、S711にて、候補抽出部47は、S313又はS334(すなわち、S505)にてストレージ265に保存された属性情報テーブル18を参照し、S705にて選択した抽出対象グループに対応する属性情報を取得する。なお、ストレージ265に保存された属性情報テーブル18は、テーブル取得部49によりストレージ265から事前に読み出され、RAM264に一時的に記憶される。例えば、S604にて項目1211(紹介元機関名)に対応する概念特徴グループが抽出対象グループとして選択された場合、候補抽出部47は、属性情報テーブル18にて概念特徴グループ1105と対応付けられている属性情報を取得する。具体的には、例えば、候補抽出部47は、図9(a)に示した属性情報テーブル18中の概念特徴グループ1105を参照し、属性情報として医療機関名905を取得する。
次に、S712にて、候補抽出部47は、属性情報テーブル18を参照し、S711にて取得した属性情報と同一の属性情報と対応付けられた1以上の概念特徴グループ(概念特徴グループ群)を示す情報を取得する。具体的には、例えば、医療機関名という属性情報に対応付けられた概念特徴グループ1115及び概念特徴グループ1116を示す情報を取得する。なお、S711にて抽出対象グループに対応付けられた属性情報がなかった場合は、概念特徴グループ群として抽出対象グループである概念特徴グループ1115のみを取得すればよい。
次に、S713にて、候補抽出部47は、S703にて取得した文字列データ毎に、S712にて取得した概念特徴グループ群のいずれかとS704にて特定した特定概念特徴グループとが同一であるか否かを判定する。S713にて同一であると判定された場合、S714にて、候補抽出部47は、概念特徴グループ群のいずれかと同一であると判定された特定概念特徴グループに属するとS704にて特定された文字列データを抽出する。次に、S715にて、候補抽出部47は、S714にて抽出された文字列データを候補文字列のデータとして保存する。S715の後、又は、S713にて同一でないと判定された場合、情報処理装置4は、図7(b)に示すフローチャートの処理を終了して、S706の処理を完了する。
S706の後、S707にて、候補抽出部47は、全ての抽出対象グループを選択したか否かを判定する。S707にて全ての抽出対象グループを処理していない、すなわち、未処理の抽出対象グループが残っていると判定された場合、候補抽出部47は、S705の処理に戻る。当該場合、候補抽出部47は、S707にて全ての抽出対象グループを処理したと判定されるまで、S705からS707までの処理を繰り返し実行する。S707にて全ての抽出対象グループを選択した、すなわち、未処理の抽出対象グループが残っていないと判定された場合、S708にて、候補出力部48は、保存した全ての候補文字列のデータを抽出結果として出力する。具体的には、例えば、候補出力部48は、当該抽出結果を確認画面に含める表示画像を生成し、当該表示画像を表示装置に表示出力する。
図13及び図14を参照して、候補出力部48により出力される確認画面1300について説明する。図13は、第1実施形態に係る候補出力部48が出力する確認画面1300の一例を説明するための説明図である。具体的には、図13(a)は、第1実施形態に係る処理画像取得部42により取得された文書画像13の一例を示す図である。図13(a)には、文書画像13を可視化した文書画像1301と、画像1301のうちの一部の画像領域を拡大して示した画像1305,1306が示されている。また、画像1305,1306には、項目値を示す固有名詞(医療機関名)の「静岡県立静岡がんセンター」の文字領域1302、及び「池田病院」の文字領域1303が示されている。候補抽出部47は、文書画像1301から、S704にて概念特徴グループ1115に属すると特定された文字列である「静岡県立静岡がんセンター」、及び概念特徴グループ1116に属すると特定された文字列である「池田病院」を候補文字列として抽出する。
図13(b)は、第1実施形態に係る情報処理装置4が有する候補出力部48により出力されて表示装置に表示される確認画面1300の一例を示す図である。具体的には、図13(b)に示すプレビュー画面領域には、図13(a)に示す文書画像1301が表示されている。また、図13(b)に示すプレビュー画面領域に表示される文書画像1301には、項目を示す「紹介元機関名」に対応する候補文字列として文字領域1302,1303,1304が確認可能な状態で表示されている。また、文字領域1302,1303に対応する画像1314,1315が「候補一覧:」の項目値として確認可能な状態で表示される。ここで、抽出対象の項目である「紹介元機関名」は、図12(b)を用いて前述した通り、エンジニア又はエンドユーザ等のユーザによって予め設定されたものである。
図13(b)に示す確認画面1300において、例えば、エンドユーザは、操作入力を行うことにより、表示されている候補一覧の画像1314、1315のうちのいずれかを選択する。当該選択は、ポインタ等による位置指定1310によりなされる。例えば、ユーザが操作入力により画像1315を選択すると、選択された画像1315をOCR処理することにより得た文字列データ1312が表示される。ユーザは、選択する画像1314、1315を変更することにより、出力させる文字列データ12を切り替えることができる。
また、図13(b)に示す確認画面1300において、エンドユーザは、表示されたOCR処理の結果である表示された文字列データ1312が誤っていた場合に、「編集」ボタン1313を押下することにより文字列データ1312を修正することができる。また、エンドユーザによる「次へ」ボタン1317の押下を受け付けると、次に取得した文書画像13に含まれる1以上の文字列のデータのうちの候補文字列のデータについて確認するための確認画面に遷移する。さらに、エンドユーザによる「終了」ボタン1318の押下を受け付けると、文書画像13についての候補文字列の出力を完了し、確認画面が終了される。
図14は、第1実施形態に係る候補出力部48が出力する、図13とは異なる確認画面1300の一例を説明するための説明図である。具体的には、図14(a)は、第1実施形態に係る処理画像取得部42により取得された文書画像13の一例を示す図である。また、図14(b)は、第1実施形態に係る情報処理装置4が有する候補出力部48により出力されて表示装置に表示される確認画面1400の一例を示す図である。図14(a)には、文書画像13を可視化した文書画像1401と、画像1401のうちの一部の画像領域を拡大して示した画像1405,1406が示されている。また、画像1405,1406には、項目値を示す固有名詞(医療機関名)の「医療法人 大手町メディカル医院」の文字領域1402、及び「八重洲総合研究所」の文字領域1403が示されている。
上述と同様に、候補抽出部47は、まず、S711にて抽出対象グループに対応付けられた属性情報を取得し、S712にて概念特徴グループ群を取得する。続いてS713及びS714にて、S712で取得した概念特徴グループ群を構成する概念特徴グループのいずれかに属すると特定された文字列データを取得して、当該文字列データを候補文字列のデータとして保存する。ここで、候補抽出部47がS313にてエンジニアによって作成された図9(a)に一例として示す属性情報テーブル18を参照する場合、医療機関名という属性情報が取得され、概念特徴グループ群として概念特徴グループ1115,1116が取得される。結果として、候補抽出部47は、文書画像1401から、S704にて概念特徴グループ1115に属すると特定された文字列である「医療法人 大手町メディカル医院」のみを候補文字列として抽出することになる。
一方、S334にてエンドユーザによって作成された、図9(b)に示す属性テーブル118を参照する場合、企業名という属性情報が取得され、概念特徴グループ群として概念特徴グループ1111、1112,1115,1116が取得される。結果として、候補抽出部47は、概念特徴グループ1115に属すると特定された文字列である「医療法人 大手町メディカル医院」に加え、概念特徴グループ1111に属すると特定された文字列である「八重洲総合研究所」が候補文字列として抽出する。このように、ユーザが業務内容に合わせて属性文字列サンプル17を定義することにより、ユーザの業務内容に合わせてカスタマイズされた属性情報テーブル18が作成でき、所望の候補文字列のデータを出力結果として得られるようになる。
以上のように、情報処理装置4によれば、準定型文書又は非定型文書等の所定のレイアウトとは異なるレイアウトの文書の画像から、ユーザが所望する属性グループに該当する文字列データを、所定の項目に対応する項目値の候補として抽出できる。すなわち、抽出対象文書を用いて指定した概念特徴グループ(抽出対象グループ)と同一の属性情報が対応付けられた概念特徴グループに属する文字列データを処理対象文書から抽出し、抽出した1つ以上の文字列データを候補文字列のデータとして抽出できる。ここで、第1実施形態において、文字列の表記の規則性を利用していない。そのため、文字列の表記に規則性がある金額、日付、又は口座番号等の項目の項目値だけでなく、文字列の表記に規則性が無い氏名、住所、職業、又は続柄等の項目に対応する項目値の候補についても候補文字列として抽出できる。また、ユーザの業務内容に合わせた簡単な属性文字列サンプルを定義するだけで、ユーザが所望する属性の条件下で候補となる文字列を抽出できる。
また、第1実施形態に係る情報処理装置4によれば、各属性に対して少ない文字列を定義することにより、文字列に対応する属性情報を設定できることから、予め項目値の候補となる辞書をデータベースとして用意する必要が無い。そのため、辞書を保守又は管理するためのコストを抑制できる。さらに、第1実施形態は、項目名に基づいて項目値を抽出する手法とは異なり、項目値が属する属性グループに基づいて項目値を直接的に抽出する方法であるため、「氏名」又は「おなまえ」等の表記の異なる項目名の影響を受けずに項目値を抽出できる。
[第2実施形態]
第2実施形態に係る情報処理システム1(以下、単に「情報処理システム1」という。)について説明する。情報処理システム1の構成は、図1に一例として示す第1実施形態に係る情報処理システム1の構成と同様に、画像入力装置2、学習装置3、及び情報処理装置4を有する。また、画像入力装置2、学習装置3、及び情報処理装置4は、ネットワーク5を介して、互いに通信可能に接続される。
第1実施形態に係る情報処理装置4は、以下のようなものであった。まず、抽出対象文書に対応する文書画像13を用いて抽出対象グループを予め設定する。さらに、処理対象文書に対応する文章画像13に含まれる1以上の文字列のデータのうちから、抽出対象グループと同一の属性情報が対応付けられた概念特徴グループに属する文字列データを候補文字列のデータとして抽出する。これに対して、第2実施形態に係る情報処理装置4は、抽出対象グループだけでなく、抽出対象グループの近傍に位置する概念特徴グループと同一の属性情報が対応付けられた概念特徴グループに属する文字列データについても候補文字列のデータとして抽出する。また、以下、抽出対象グループの近傍に位置する概念特徴グループを「近傍グループ」と称して説明する。
情報処理装置4の構成は、図2Cに一例として示す第1実施形態に係る情報処理装置4の構成と同様である。すなわち、情報処理装置4は、分類器取得部41,処理画像取得部42、文字列取得部43、ベクトル変換部44,概念特徴グループ特定部45、抽出対象設定部46、候補抽出部47、候補出力部48、テーブル取得部49を有する。ただし、第2実施形態に係る候補抽出部47(以下、単に「候補抽出部47」という。)は、第1実施形態に係る候補抽出部47とは異なる機能を有するものである。候補抽出部47の詳細については後述する。
また、情報処理装置4において機能する各部の処理は、情報処理装置4に内蔵されたASIC若しくはFPGA等のハードウェア、又は、RAM等のメモリと、CPU等のプロセッサとを用いたソフトウエアによってなされる。具体的には、例えば、情報処理装置4は、図2C(b)に一例として示すコンピュータにより構成される。なお、第2実施形態に係る画像入力装置2(以下、単に「画像入力装置2」という。)及び学習装置3(以下、単に「学習装置3」という。)は、第1実施形態に係る画像入力装置2及び学習装置3と同様であるため説明を省略する。
<抽出対象の設定処理>
図6に示すフローチャートを参照して、図3に示す(c)又は(e)の処理シーケンスにおいて、第2実施形態に係る情報処理装置4が文書画像13からの抽出対象グループを設定する処理の流れについて説明する。以下、第1実施形態に係る情報処理装置4における処理との差分となるステップのみについて説明する。S601、S602、及びS605は、第1実施形態に係る情報処理装置4における処理と同様であるため説明を省略する。
第2実施形態に係る情報処理装置4(以下、単に「情報処理装置4」と表記する。)では、S603にて、グループ特定部45は、文字列データが属する概念特徴グループを特定し、S604にて、抽出対象設定部46は、抽出対象グループを設定する。ここでは、S604にて、抽出対象設定部46は、抽出対象グループを設定する際に、S405の処理と同様の処理により全ての概念特徴グループの重心位置を算出し、重心位置と文字列に対応する特徴ベクトルとの間の距離によって類似度を算出するものとする。抽出対象設定部46は、全ての概念特徴グループの中から、予め定められた数の概念特徴グループを、当該距離が短い順、又は当該類似度が高い順に選択することにより、当該数の抽出対象グループを設定する。抽出対象設定部46は、当該距離が予め定められた閾値より短い概念特徴グループ、又は、当該類似度が予め定められた閾値より高い概念特徴グループを抽出対象グループとして設定してもよい。さらに、抽出対象設定部46は、所定値以上の類似度をもつ概念特徴グループに対し、類似度の高い順に優先度を付与する等の類似度に対応させた優先度を付与することにより、優先度が互いに異なる複数の抽出対象グループを設定できる。具体的には、例えば、抽出対象設定部46は、まず、図11(c)に示す「奈良電機」という文字列のデータに対応する特徴ベクトルと、全ての概念特徴グループ1111~1117の重心位置との間の距離を算出する。そして、類似度が高い順、すなわち、当該特徴ベクトルからの距離が短い順に、例えば、3つ概念特徴グループ1111、1115、1116を抽出対象グループとして設定する。
<候補文字列の抽出処理>
図7(a)に示すフローチャートと、図10とを参照して、図3に示す(f)の処理シーケンスにおいて、第2実施形態に係る情報処理装置4が文書画像13から候補文字列のデータを抽出する処理の流れについて説明する。図10は、図7(a)に示すS706の処理の流れの一例を示すフローチャートである。なお、図10の説明において、記号「S」はステップを意味する。また、図10に示す各ステップの実行プログラムは、情報処理装置4のROM262、RAM264、又はストレージ265のいずれかに記憶され、情報処理装置4のCPU261により実行される。以下、図7(a)については、第1実施形態に係る情報処理装置4における処理との差分となるステップのみについて説明する。また、図10において、図7(b)と同じ符号を付したステップについては、詳細な説明を省略する。
まず、情報処理装置4は、図7(a)に示すS701からS704までの処理を実行する。S701からS704までの処理は、第1実施形態と同様であるため説明を省略する。S704の後、S705にて、候補抽出部47は、S702にて取得した全ての抽出対象グループ情報の中から、未処理の概念特徴グループ情報を1つ選択する。ここでは、S604にて得られた抽出グループから、優先度が順に高い概念特徴グループ1111、1115,1116の順に選択されることになる。S705の後、S706の処理、すなわち、図10に示すフローチャートの処理が実行される。まず、S711にて、候補抽出部47は、属性情報テーブル18を参照して、S705にて選択された抽出対象グループに対応付けられた属性情報を取得する。ここでは、図9(a)に示す属性情報テーブル18が参照されるものとする。次に、S1001にて、候補抽出部47は、S711にて取得された属性情報が未処理であるか否かを判定する。具体的には、S705にて選択された抽出対象グループが概念特徴グループ1111,1115である場合は、属性情報が法人名又は医療機関名となり、未処理の属性情報となる。一方、S705にて選択された抽出対象グループが概念特徴グループ1116である場合、概念特徴グループ1116に対応付けられた属性情報は、概念特徴グループ1115が選択されたときに既に処理された医療機関名と同一の属性情報となる。
S1001にて属性情報が未処理でないと判定された場合、情報処理装置4は、図10に示すフローチャートの処理を終了し、S706の処理を完了する。S1001にて属性情報が未処理であると判定された場合、情報処理装置4は、S712からS714までの処理を実行する。S712からS714までの処理は、第1実施形態と同様であるため説明を省略する。S714の後、S1002にて、情報処理装置4は、S714にて抽出した文字列データに優先度を付与した候補文字列のデータを保存する。候補文字列のデータに対する優先度の付与は、抽出対象グループとして設定された概念特徴グループに付与された優先度に基づいて行われる。具体的には、より高い第1の優先度が付与された、法人名という属性情報と対応付けられた概念特徴グループに属する文字列のデータに対して、より高い優先度を付与する。また、より低い第2の優先度が付与された、医療機関名という属性情報と対応付けられた概念特徴グループに属する文字列のデータに対して、より低い優先度を付与する。そして、これらの文字列のデータが優先度が付与された候補文字列のデータとして保存される。S1002の後、情報処理装置4は、図10に示すフローチャートの処理を終了し、S706の処理を完了する。S707及びS708の処理は、第1実施形態と同様であるため説明を省略する。
以上のように、情報処理装置4によれば、抽出対象グループだけでなく、近傍グループと同一の属性情報に対応付けられた概念特徴グループに属すると特定された文字列データについても候補文字列として抽出できる。すなわち、抽出対象グループが複数の概念特徴グループに類似していて抽出すべき候補文字列の抽出が困難な場合であっても、近傍グループと同一の属性情報に対応付けられた概念特徴グループに属する文字列データをも候補文字列のデータとして抽出できる。したがって、当該場合であっても、候補文字列のデータの抽出漏れを抑制することができる。
[第3実施形態]
第3実施形態に係る情報処理システム1(以下、単に「情報処理システム1」という。)について説明する。情報処理システム1の構成は、図1に一例として示す第1実施形態に係る情報処理システム1の構成と同様に、画像入力装置2、学習装置3、及び情報処理装置4を有する。また、画像入力装置2、学習装置3、及び情報処理装置4は、ネットワーク5を介して、互いに通信可能に接続される。
第1及び第2実施形態に係る情報処理装置4は、1つの概念特徴グループに対して代表的な1つの属性情報が対応付けられた属性情報テーブル18を参照して、候補文字列のデータを抽出するものであった。これに対して、第3実施形態に係る情報処理装置4(以下、単に「情報処理装置4」という。)は、1つの概念特徴グループに対して複数の属性情報が対応付けられた属性情報テーブル18を参照して、候補文字列のデータを抽出するものである。
学習装置3の構成は、図2Bに一例として示す第1実施形態に係る情報処理装置4の構成と同様である。すなわち、学習装置3は、画像サンプル取得部31、文字列取得部32、ベクトル変換部33、第1学習部34、分類器生成部35、分類器出力部36、属性サンプル取得部37、第2学習部38、及びテーブル出力部39を有する。ただし、第3実施形態に係る第2学習部38(以下、単に「第2学習部38」という。)は、第1及び第2実施形態に係る第2学習部38とは異なる機能を有するものである。第2学習部38の詳細については後述する。
情報処理装置4の構成は、図2Cに一例として示す第1実施形態に係る情報処理装置4の構成と同様である。すなわち、情報処理装置4は、分類器取得部41,処理画像取得部42、文字列取得部43、ベクトル変換部44,概念特徴グループ特定部45、抽出対象設定部46、候補抽出部47、候補出力部48、テーブル取得部49を有する。ただし、第2実施形態に係る候補抽出部47(以下、単に「候補抽出部47」という。)は、第1及び第2実施形態に係る候補抽出部47とは異なる機能を有するものである。候補抽出部47の詳細については後述する。
学習装置3において機能する各部の処理は、学習装置3に内蔵されたASIC若しくはFPGA等のハードウェア、又は、RAM等のメモリと、CPU等のプロセッサとを用いたソフトウエアによってなされる。また、情報処理装置4において機能する各部の処理は、情報処理装置4に内蔵されたASIC若しくはFPGA等のハードウェア、又は、RAM等のメモリと、CPU等のプロセッサとを用いたソフトウエアによってなされる。具体的には、例えば、学習装置3は、図2B(b)に一例として示すコンピュータにより構成され、情報処理装置4は、図2C(b)に一例として示すコンピュータにより構成される。なお、第3実施形態に係る画像入力装置2(以下、単に「画像入力装置2」という。)は、第1又は第2実施形態に係る画像入力装置2と同様であるため説明を省略する。
<属性情報テーブルの生成処理>
図5を参照して、図3(b)及び図3(d)の工程において、第3実施形態に係る学習装置3(以下、単に「学習装置3」と表記する。)が、属性情報テーブル18を生成する処理の流れを説明する。ここにおいて、図5については、第1又は第2実施形態に係る学習装置3の処理については、差分となるステップのみについて説明する。
まず、S501にて、属性サンプル取得部37は、属性文字列サンプルに含まれる文字列サンプルを取得し、第2学習部38は、属性文字列サンプル17に含まれる文字列データを取得する。ここでは、属性サンプル取得部37は、図8(c)に示す属性文字列サンプル17を取得するものとして説明する。図8(c)に示す属性文字列サンプル17には、食料品821、飲料品822、酒類823、及び消耗品824という属性情報が定義されて設定されており、各属性情報に対応する文字列データが設定されている。第2学習部38は、各属性情報に対応する文字列データを取得する。次に、S502及びS503にて、ベクトル変換部33は、S501にて取得された各文字列データを特徴グループに変換し、文字列分類器15を用いて各文字列データが属する概念特徴グループを特定する。図8(c)に示す属性文字列サンプル17に含まれる文字列データは、図11(c)に示す概念特徴グループ1117と、図11(c)には不図示の概念特徴グループに分類される。次に、S504にて、第2学習部38は、S501にて取得した文字列データと、S503にて特定された概念特徴グループとを基に、属性情報テーブル18を生成する。具体的には、第2学習部38は、図5(b)に示すフローチャートの処理を実行する。
まず、S511にて、第2学習部38は、文字列分類器で分類される全ての概念特徴グループの中から、未処理の概念特徴グループを1つ選択する。ここでは、概念特徴グループ1117が選択されたものとして説明する。次に、S512にて、第2学習部38は、S503にて特定された文字列データの概念特徴グループがS511にて選択された概念特徴グループと同一であるか否かを文字列データ毎に判定する。S512にて同一であると判定された場合、S513にて、第2学習部38は、属性文字列サンプル17に基づいて、同一であるとされた概念特徴グループに特定された1以上の文字列データのそれぞれに対応付けられている属性情報を取得する。ここでは、概念特徴グループ1117に含まれる文字列である「ジュース」、「お茶」、及び「日本酒」に対応付けられている属性情報である「飲料水)、「飲料水」、及び「酒類」を取得する。
次に、S514にて、第2学習部38は、S511にて選択された概念特徴グループに対応付ける属性情報を決定し、決定した属性情報と当該概念特徴グループを示す情報とを対応付けて保存する。本実施形態では、S513にて取得された複数の属性情報のそれぞれの出現頻度に応じて、各属性情報に優先度を付与する。ここでは、出現頻度の高い順に、「飲料品」、「酒類」という属性情報が取得されるため、図9(c)に示す属性情報テーブル18には、「飲料品」及び「酒類」に対応する文字列のデータ917が保存される。なお、優先度の決め方は、出現頻度の高い順に限るものではなく、概念特徴グループの領域内で広範囲に分布する属性情報に対して高い優先度を付与してもよい。また、エンドユーザが定義した属性文字列サンプル17に含まれる属性情報の優先度を高くし、エンジニアが定義した属性文字列サンプルに含まれる属性情報の優先度を低くしてもよい。具体的には、例えば、図9(a)に示すエンジニアが定義した法人名と、図9(b)に示すエンドユーザが定義した企業名という互いに異なる属性情報がS513にて取得された場合、エンドユーザに定義された企業名という属性情報により高い優先度を付与する。なお、出現頻度が同じ等の場合は、同一の優先度を付与してもよい。図5に示すフローチャートにおいて、S514以降の処理は、第1実施形態に係る学習装置3と同様であるため、説明を省略する。
<候補文字列の抽出処理>
図7(a)及び図15を参照して、図3(f)の工程において、第2実施形態に係る情報処理装置4(以下、単に「情報処理装置4」と表記する。)が、文書画像から抽出対象としての候補文字列を抽出する処理の流れについて説明する。図15は、図7に示すS706の処理の流れの一例を示すフローチャートである。なお、図15の説明において、記号「S」はステップを意味する。また、図15に示す各ステップの実行プログラムは、情報処理装置4のROM262、RAM264、又はストレージ265のいずれかに記憶され、情報処理装置4のCPU261により実行される。以下、図7(a)については、第1実施形態に係る情報処理装置4における処理との差分となるステップのみについて説明する。また、図15において、図7(b)又は図10と同じ符号を付したステップについては、詳細な説明を省略する。
まず、情報処理装置4は、図7(a)に示すS701からS704までの処理を実行する。S701からS704までの処理は、第1実施形態に係る情報処理装置4における処理と同様の処理であるため、説明を省略する。S704の後、S705にて、候補抽出部47は、S702にて取得した全ての抽出対象グループ情報の中から、未処理の概念特徴グループ情報を1つ選択する。S705の後、候補抽出部47は、S706の処理として図15に示すフローチャートの処理を実行する。具体的には、まず、S711にて、候補抽出部47は、抽出対象グループの属性情報を取得する。例えば、S705にて概念特徴グループ1117が選択された場合、候補抽出部47は、図9(c)に示す属性情報テーブル18を参照して、飲料品及び酒類というそれぞれに優先度が付与された2つの属性情報を取得する。次に、S1501にて、候補抽出部47は、S711にて取得した属性情報のうち、未処理の属性情報を1つ選択する。S1501の後、候補抽出部47は、S712からS714までの処理を実行する。S712からS714までの処理は第1実施形態に係る候補抽出部47の処理と同様であるため、説明を省略する。
S714の後、S1002にて、候補抽出部47は、S711にて取得した属性情報に付与された優先度に基づき、優先度をつけた候補文字列として保存する。具体的には、候補抽出部47は、より高い優先度である第1の優先度が付与された飲料水という属性情報と対応付けられた概念特徴グループに属する文字列データを上位の候補文字列のデータとて保存する。また、候補抽出部47は、より低い優先度である第2の優先度が付与された酒類という属性情報と対応付けられた概念特徴グループに属する文字列データを下位の候補文字列のデータとして保存する。SS1002の後、S1502にて、候補抽出部47は、全ての属性情報を処理したか否かを判定する。S1502にて全ての属性情報を処理していない、すなわち、未処理の属性情報が残っていると判定された場合、S1501に戻って、S1502にて全ての属性情報を処理したと判定されるまで、S1501からS1502までの処理が繰り返し実行される。S1502にて全ての属性情報を処理した、すなわち、未処理の属性情報がないと判定された場合、候補抽出部47は、図15に示すフローチャートの処理を終了して、S706の処理を完了する。図7に示すフローチャートにおいて、S707以降の処理は、第1実施形態に係る情報処理装置4と同様であるため、説明を省略する。
以上のように、情報処理装置4によれば、項目値の候補である文字列データが複数の属性情報に対応付けられた概念特徴グループに属する場合であっても、候補としてより可能性の高い属性情報に対応する文字列データを上位の候補として抽出できる。
[第4実施形態]
第4実施形態に係る情報処理システム1(以下、単に「情報処理システム1」という。)について説明する。情報処理システム1の構成は、図1に一例として示す第1実施形態に係る情報処理システム1の構成と同様に、画像入力装置2、学習装置3、及び情報処理装置4を有する。また、画像入力装置2、学習装置3、及び情報処理装置4は、ネットワーク5を介して、互いに通信可能に接続される。
第3実施形態に係る学習装置3は、1つの概念特徴グループに対して、優先度をそれぞれ付与した複数の属性情報が対応付けられた属性情報テーブル18を生成するものであった。これに対して、第4実施形態に係る学習装置3は、1つの概念特徴グループに対して1つの属性情報が対応付けられた属性情報テーブル18が生成されるように文字列分類器15を更新するものである。
学習装置3の構成は、図2Bに一例として示す第1実施形態に係る情報処理装置4の構成と同様である。すなわち、学習装置3は、画像サンプル取得部31、文字列取得部32、ベクトル変換部33、第1学習部34、分類器生成部35、分類器出力部36、属性サンプル取得部37、第2学習部38、及びテーブル出力部39を有する。ただし、第4実施形態に係る分類器生成部35(以下、単に「分類器生成部35」という。)は、第1、第2、及び第3実施形態に係る分類器生成部35とは異なる機能を有するものである。分類器生成部35の詳細については後述する。
また、学習装置3において機能する各部の処理は、学習装置3に内蔵されたASIC若しくはFPGA等のハードウェア、又は、RAM等のメモリと、CPU等のプロセッサとを用いたソフトウエアによってなされる。具体的には、例えば、学習装置3は、図2B(b)に一例として示すコンピュータにより構成される。なお、第4実施形態に係る画像入力装置2(以下、単に「画像入力装置2」という。)は、第1、第2、又は第3実施形態に係る画像入力装置2と同様であるため説明を省略する。また、第4実施形態に係る情報処理装置4(以下、単に「情報処理装置4」という。)は、第1又は第2実施形態に係る情報処理装置4と同様であるため説明を省略する。
図16を参照して、学習装置3が文字列分類器15及び属性情報テーブル18を生成又は更新する処理の流れについて説明する。図16は、第4実施形態に係る学習装置3が文字列分類器15及び属性情報テーブル18を生成又は更新する処理の流れの一例を示すフローチャートである。なお、図16の説明において、記号「S」はステップを意味する。また、図16に示す各ステップの実行プログラムは、学習装置3のROM232、RAM234、又はストレージ235のいずれかに記憶され、学習装置3のCPU231又はGPU239のいずれかにより実行される。以下、図16については、第1、第2、又は第3実施形態に係る学習装置3における処理との差分となるステップのみについて説明する。また、図16において、図4又は図5と同じ符号を付したステップについては、詳細な説明を省略する。
まず、第4実施形態に係る学習装置3(以下、単に「学習装置3」と表記する。)は、S501からS504までの処理を実行する。S501からS504までの処理は第1実施形態に係る学習装置3の処理と同様であるため、説明を省略する。なお、ここでは、第3実施形態と同様に、図8(c)に示す属性文字列サンプル17が定義され、S504にて、図9(c)に示す属性情報テーブル18が生成されたものとする。S504の後、S1601にて、学習装置3は、文字列分類器15を更新する必要があるか否かを判定する。当該判定は、例えば、第2学習部38により行われる。例えば、S504にて生成された属性情報テーブルにおいて、1つの概念特徴グループに対して複数の属性情報が対応付けられているか否かを確認し、複数の属性情報が対応付けられている概念特徴グループが1つでもある場合、更新する必要があると判定する。1601にて文字列分類器15の更新が必要であると判定された場合、S1602にて、学習装置3は、文字列分類器15の更新処理を行う。
図16(b)を参照して、文字列分類器15の更新処理について説明する。図16(b)は、図16(a)に示すS1602の処理の流れの一例を示すフローチャートである。まず、S1611にて、分類器生成部35は、複数の属性情報が対応付けられている概念特徴グループの中から、未処理の概念特徴グループを1つ選択する。具体的には、例えば、分類器生成部35は、「飲料品」及び「酒類」という2つの属性情報が対応付けられている概念特徴グループ1117を選択する。
次に、S1612にて、CPU231は、文書画像サンプル14に含まれる文字列のデータの中から。選択された概念特徴グループに分類された文字列のデータを取得する。具体的には、例えば、文書画像サンプル14に含まれる文字列のデータの中から、図11(b)に一例に示す概念特徴グループ1117に属する文字列データを取得する。なお、例えば、当該文書画像サンプル14は、図4に示すS401にて取得された文書画像サンプル14がストレージ235に保存され、S1612にてストレージ235から読み出されることにより取得される。
次に、S1613にて、第2学習部38は、属性文字列サンプル17に含まれる文字列データの中から、選択された概念特徴グループに分類された文字列データを取得する。具体的には、例えば、第2学習部38は、属性文字列サンプル17に含まれる文字列データの中から、図11(c)に示す概念特徴グループ1117に含まれた文字列群を取得する。なお、例えば、当該属性文字列サンプル17は、図5に示すS501にて取得された属性文字列サンプル17がストレージ235に保存され、S1613にてストレージ235から読み出されることにより取得される。
次に、S1614にて、ベクトル変換部33は、S1612にて取得された各文字列を特徴ベクトルに変換する。次に、S1615にて、学習部34は、上述のクラスタリング手法を用いて特徴ベクトルを複数の概念特徴グループにグループ化する。このとき、例えば、グループ化する概念特徴グループの数は、S1611にて選択された概念特徴グループに対応付けられている属性情報の数に基づいて決定される。具体的には、例えば、概念特徴グループ1117は、2つの属性情報が対応付けられているため、概念特徴グループ1117を2つの属性情報グループにグループ化するようにすればよい。次に、S1616にて、分類器生成部35は、S1615にてグループ化された概念特徴グループを含め、全ての概念特徴グループに対する階層的なグループ化の結果を再現する文字列分類器15を生成する。次に、S1617にて、第2学習部38は、S1616にて生成した文字列分類器15を用いて、S1613にて取得した属性文字列サンプル17に含まれる文字列データについて、当該文字列データが属する概念特徴グループを再度特定する。なお、S1617の処理において、まず、S1613にて取得した属性文字列サンプル17に含まれる各文字列データは、ベクトル変換部33により特徴ベクトルされる。次に、第2学習部38は、変換された特徴ベクトルをS1616にて生成した文字列分類器15に入力することにより、文字列データが属する概念特徴グループを特定する。
図17を参照して、S1616にて生成される文字列分類器15により分類される概念特徴グループ、及び、後述するS1603にて生成される属性情報テーブル18について説明する。図17(a)は、S1616にて生成される文字列分類器15により分類される概念特徴グループと、S1612及びS1613にて取得された各文字列データに対応する特徴ベクトルとの関係の一例を説明するための説明図である。具体的には、概念特徴グループの領域と文字列データに対応する特徴ベクトルとを2次元平面に次元圧縮するように変換して可視化したものである。図17(b)については後述する。図17(a)に示すように、図11(b)及び(c)に示す概念特徴グループ1117は、概念特徴グループ1721及び概念特徴グループ1722という2つの概念特徴グループに分割されている。
次に、S1618にて、学習装置3は、1613にて取得した各文字列データが正しく分類されたか否かを判定する。当該判定は、例えば、第2学習部38により行われる。当該判定は、S1617にて各文字列データが属する概念特徴グループを特定した結果、1つの概念特徴グループに1つの属性情報が対応付けられたか否かを判定することにより行われる。S1618にて正しく分類されていないと判定された場合、学習装置3は、S1614に戻って、S1618にて正しく分類されたと判定されるまでの間、S1614からS1618までの処理を繰り返して実行する。ここで、図17(a)に示すように、「飲料品」の属性情報に対応付けられた各文字列と、「酒類」の属性情報に対応付けられた各文字列とは、それぞれ互いに異なる概念特徴グループに属することから、学習装置3は、正しく分類できたと判定することができる。
S1618にて正しく分類されたと判定された場合、S1619にて、学習装置3は、複数の属性情報が対応付けられた概念特徴グループを全て処理したかを判定する。当該判定は、例えば、第2学習部38により行われる。S1619にて全ての概念特徴グループを処理していないと判定された場合、すなわち、未処理の概念特徴グループがあると判定された場合、学習装置3は、S1611に戻って処理を継続する。学習装置3は、S1619にて全ての概念特徴グループを処理したと判定されるまでの間、S1611からS1619までの処理を繰り返し実行する。S1619にて全ての概念特徴グループを処理したと判定された場合、S406にて、分類器出力部36は、S1602にて生成された文字列分類器15を情報処理装置4に出力する。具体的には、分類器出力部36は、当該文字列分類器15を情報処理装置4に出力して、情報処理装置4が有するストレージ265に保存されている文字列分類器15を更新する。S406の後、学習装置3は、図16(b)に示すフローチャートの処理を終了して、S1602の処理を完了する。
S1602の後、S1603にて、学習装置3は、S1602にて更新された文字列分類器15を用いて新たな属性情報テーブル18を生成する。なお、S1603における、新たな属性情報テーブルを生成する処理は、S504の処理、すなわち、図5(b)に示すフローチャートの処理と同様の処理であるため説明を省略する。図17(b)は、S1603にて生成された新たな属性情報テーブル18の一例を説明するための説明図である。図9(c)に示す属性情報テーブル18において2つの属性情報が対応付けられていた概念特徴グループ1117は、図17(b)では、互いに異なる1つの属性情報が対応付けられた2つの概念特徴グループ1721,1722に変更されている。S1603の後、S505にて、テーブル出力部39は、S1603にて生成された属性情報テーブル18を情報処理装置4に対して出力して、情報処理装置4が有するストレージ265に保存されている属性情報テーブル18を更新する。S505の後、学習装置3は、図16に示すフローチャートの処理を終了する。
以上のように、情報処理装置4によれば、1つの概念特徴グループに対して1つの属性情報が対応付けられるように、文字列分類器15を更新することができる。結果として、情報処理装置4によれば、ユーザの所望の属性をもつ候補文字列を効率よく抽出することができる。
[その他の実施形態]
本開示は、上述の実施形態の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
なお、本開示はその開示の範囲内において、各実施形態の自由な組み合わせ、各実施形態の任意の構成要素の変形、又は、各実施形態において任意の構成要素の省略が可能である。
4 情報処理装置
45 概念特徴グループ特定部
47 候補抽出部
48 候補出力部
49 テーブル取得部

Claims (24)

  1. 処理対象の文書画像に含まれる複数の文字列の中から、予め定められた項目に対応する項目値の候補となる候補文字列を抽出する情報処理装置であって、
    予め定められた複数の概念特徴グループのうちの予め設定された抽出対象の概念特徴グループの情報を取得する抽出対象取得手段と、
    前記複数の概念特徴グループのそれぞれと属性グループの項目を示す属性情報とが予め対応付けられた属性情報テーブルを取得するテーブル取得手段と、
    前記属性情報テーブルに基づいて、前記抽出対象の概念特徴グループに対応付けられた前記属性情報と同一の属性情報に対応付けられた1以上の概念特徴グループを概念特徴グループ群として前記複数の概念特徴グループの中のから取得するグループ群取得部と、
    前記複数の文字列のそれぞれに対応する特徴ベクトルに基づいて、前記複数の概念特徴グループの中のから前記複数の文字列のそれぞれが属する概念特徴グループを特定し、前記複数の文字列の中から、前記特定した概念特徴グループが前記概念特徴グループ群のうちのいずれかの概念特徴グループと同一となった文字列を候補文字列として抽出する候補抽出手段と、
    前記候補抽出手段により抽出された前記候補文字列を出力する候補出力手段と、
    を有すること
    を特徴とする情報処理装置。
  2. 文字列のデータを特徴ベクトルに変換するベクトル変換手段、
    を更に有し、
    前記候補抽出手段は、前記ベクトル変換手段により変換された前記複数の文字列のそれぞれに対応する前記特徴ベクトルに基づいて、前記複数の文字列のそれぞれが属する前記概念特徴グループを特定すること
    を特徴する請求項1に記載の情報処理装置。
  3. 前記属性情報テーブルは、複数の前記属性情報のそれぞれに予め定め対応付けられた文字列に対応する特徴ベクトルに基づいて、前記複数の概念特徴グループの中のから前記属性情報に対応付けられた文字列が属する概念特徴グループを当該文字列毎に特定し、前記特定した概念特徴グループと、当該概念特徴グループに属すると特定された文字列に対応付けられた前記属性情報とを対応付けることにより生成されたものであること
    を特徴する請求項1又は請求項2に記載の情報処理装置。
  4. 前記属性情報に対応付けられた文字列が属する概念特徴グループは、入力された文字列が前記複数の概念特徴グループの中のいずれかに分類する分類器を用いて、特定されること
    を特徴する請求項3に記載の情報処理装置。
  5. 前記候補抽出手段は、入力された文字列が前記複数の概念特徴グループの中のいずれかに分類する分類器を用いて、前記複数の文字列のそれぞれが属する前記概念特徴グループを特定すること
    を特徴する請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記分類器は、前記入力された文字列を分類する際に、前記複数の概念特徴グループのそれぞれの重心位置と、前記入力された文字列に対応する特徴ベクトルとの間の距離に基づいて、前記分類した概念特徴グループに優先度を付与すること
    を特徴する請求項5に記載の情報処理装置。
  7. 前記分類器は、前記処理対象の文書画像とは異なる複数の文書画像に含まれる文字列のそれぞれを学習用データとする機械学習により生成された学習済モデルに基づいて生成されたものであること
    を特徴する請求項4又は請求項5に記載の情報処理装置。
  8. 前記分類器は、前記複数の文書画像に含まれる文字列のそれぞれを特徴ベクトルに変換し、変換した複数の前記特徴ベクトルを学習用データとする機械学習により生成された学習済モデルに基づいて生成されたものでものであること
    を特徴する請求項7に記載の情報処理装置。
  9. 前記属性情報テーブルは、前記特定した概念特徴グループと、当該概念特徴グループに属すると特定された文字列に対応付けられた前記属性情報の中の代表的な1つの属性情報と、を対応付けることにより生成されたものであること
    を特徴する請求項3に記載の情報処理装置。
  10. 当該概念特徴グループに属すると特定された文字列に対応付けられた前記属性情報には、優先度が付与されていること
    を特徴する請求項3に記載の情報処理装置。
  11. 前記候補抽出手段は、概念特徴グループに付与されている優先度に基づいて、優先度が高い概念特徴グループに属すると特定された前記候補文字列に高い優先度を付与すること
    を特徴とする請求項6記載の情報処理装置。
  12. 前記候補抽出手段は、前記属性情報に付与されている優先度に基づいて、優先度が高い属性情報に対応付けられた概念特徴グループに属すると特定された前記候補文字列に高い優先度を付与すること
    を特徴とする請求項10記載の情報処理装置。
  13. 前記抽出対象の属性グループを設定する抽出対象設定手段、
    を更に有し、
    前記抽出対象設定手段は、前記処理対象の文書画像とは異なる文書画像に含まれる1以上の第2の文字列の中から指定された文字列に対応する前記特徴ベクトルに基づいて、前記複数の属性グループの中から前記指定された文字列が属する属性グループを特定し、前記特定した前記指定された文字列が属する属性グループを前記抽出対象の属性グループとして設定し、
    抽出対象取得手段は、前記抽出対象設定手段により設定された前記抽出対象の属性グループを示す情報を取得すること
    を特徴する請求項1乃至12のいずれか1項に記載の情報処理装置。
  14. 文字列のデータを特徴ベクトルに変換するベクトル変換手段、
    を更に有し、
    前記ベクトル変換手段は、前記抽出対象の概念特徴グループを設定するために用いる文書画像に含まれる前記1以上の第2の文字列のうちの指定された前記第2の文字列を前記特徴ベクトルに変換し、
    前記抽出対象設定手段は、前記ベクトル変換手段により変換された前記指定された文字列に対応する前記特徴ベクトルに基づいて、前記指定された文字列が属する前記概念特徴グループを特定すること
    を特徴する請求項13に記載の情報処理装置。
  15. 前記抽出対象設定手段は、入力された文字列が前記複数の概念特徴グループの中のいずれかに分類する分類器を用いて、前記指定された文字列が属する前記概念特徴グループを特定すること
    を特徴する請求項13又は請求項14に記載の情報処理装置。
  16. 前記分類器は、前記処理対象の文書画像とは異なる複数の文書画像に含まれる文字列のそれぞれを学習用データとする機械学習により生成された学習済モデルに基づいて生成されたものであること
    を特徴する請求項15に記載の情報処理装置。
  17. 前記分類器は、前記複数の文書画像に含まれる文字列のそれぞれを特徴ベクトルに変換し、変換した複数の前記特徴ベクトルを学習用データとする機械学習により生成された学習済モデルに基づいて生成されたものでものであること
    を特徴する請求項15に記載の情報処理装置。
  18. コンピュータを、請求項1乃至17のいずれかに1項に記載の情報処理装置を構成する各手段として動作させるためのプログラム。
  19. 処理対象の文書画像に含まれる複数の文字列の中から、予め定められた項目に対応する項目値の候補となる候補文字列を抽出する情報処理方法であって、
    予め定められた複数の概念特徴グループのうちの予め設定された抽出対象の概念特徴グループの情報を取得する抽出対象取得工程と、
    前記複数の概念特徴グループのそれぞれと属性グループの項目を示す属性情報とが予め対応付けられた属性情報テーブルを取得するテーブル取得工程と、
    前記属性情報テーブルに基づいて、前記抽出対象の概念特徴グループに対応付けられた前記属性情報と同一の属性情報に対応付けられた1以上の概念特徴グループを概念特徴グループ群として前記複数の概念特徴グループの中のから取得するグループ群取得部と、
    前記複数の文字列のそれぞれに対応する特徴ベクトルに基づいて、前記複数の概念特徴グループの中のから前記複数の文字列のそれぞれが属する概念特徴グループを特定し、前記複数の文字列の中から、前記特定した概念特徴グループが前記概念特徴グループ群のうちのいずれかの概念特徴グループと同一となった文字列を候補文字列として抽出する候補抽出工程と、
    前記候補抽出工程により抽出された前記候補文字列を出力する候補出力工程と、
    を有すること
    を特徴とする情報処理方法。
  20. 複数の文書画像に含まれる文字列のそれぞれに対応する特徴ベクトルを学習用データとして、未学習又は学習途中の学習モデルに、前記特徴ベクトルを複数の概念特徴グループにグループ化する学習をさせる第1の学習手段と、
    前記第1の学習手段による学習結果である学習済モデルを用いて、入力された文字列が前記複数の概念特徴グループの中のいずれかに分類する分類器を生成する分類器生成手段と、
    生成された前記分類器を用いて、複数の属性情報のそれぞれに予め定め対応付けられた文字列が属する概念特徴グループを当該文字列毎に特定し、特定した概念特徴グループと、当該概念特徴グループに属すると特定された文字列に対応付けられた前記属性情報とが対応付けられた属性情報テーブルを生成するテーブル生成手段と、
    生成された前記分類器を出力する分類器出力手段と、
    生成された前記属性情報テーブルを出力するテーブル出力手段と、
    を有することを特徴とする学習装置。
  21. 前記分類器生成手段は、前記入力された文字列を分類する際に、前記複数の概念特徴グループのそれぞれの重心位置と、前記入力された文字列に対応する特徴ベクトルとの間の距離に基づいて、前記分類した概念特徴グループに優先度を付与する前記分類器を生成すること
    を特徴とする請求項20に記載の学習装置。
  22. 前記テーブル生成手段は、前記特定した概念特徴グループと、当該概念特徴グループに属すると特定された文字列に対応付けられた前記属性情報の中の代表的な1つの属性情報とを対応付けることにより前記属性情報テーブルを生成すること
    を特徴とする請求項20又は請求項21に記載の学習装置。
  23. 前記テーブル生成手段は、前記概念特徴グループに属すると特定された文字列に対応付けられた前記属性情報に優先度を付与した前記属性情報テーブルを生成すること
    を特徴とする請求項20又は請求項21に記載の学習装置。
  24. 前記テーブル生成手段により生成された前記属性情報テーブルにおいて、複数の属性情報が対応付けられた前記概念特徴グループが存在する場合、前記分類器生成手段は、当該概念特徴グループに対応付けられている前記属性情報の数に基づいて、当該概念特徴グループを複数の概念特徴グループに分割して、前記分類器を生成しなおすこと
    を特徴とする請求項20乃至23のいずれか1項に記載の学習装置。
JP2021148490A 2021-09-13 2021-09-13 情報処理装置、情報処理方法、及びプログラム Pending JP2023041242A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021148490A JP2023041242A (ja) 2021-09-13 2021-09-13 情報処理装置、情報処理方法、及びプログラム
US17/940,102 US20230083959A1 (en) 2021-09-13 2022-09-08 Information processing apparatus, information processing method, storage medium, and learning apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021148490A JP2023041242A (ja) 2021-09-13 2021-09-13 情報処理装置、情報処理方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2023041242A true JP2023041242A (ja) 2023-03-24

Family

ID=85478621

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021148490A Pending JP2023041242A (ja) 2021-09-13 2021-09-13 情報処理装置、情報処理方法、及びプログラム

Country Status (2)

Country Link
US (1) US20230083959A1 (ja)
JP (1) JP2023041242A (ja)

Also Published As

Publication number Publication date
US20230083959A1 (en) 2023-03-16

Similar Documents

Publication Publication Date Title
JP2018124656A (ja) 画像処理装置とその制御方法、及びプログラム
US20060285748A1 (en) Document processing device
JP2018205910A (ja) 計算機、文書識別方法、及びシステム
US11243670B2 (en) Information processing system, information processing apparatus, information processing method and non-transitory computer readable medium
US9881001B2 (en) Image processing device, image processing method and non-transitory computer readable recording medium
US10803233B2 (en) Method and system of extracting structured data from a document
US11301675B2 (en) Image processing apparatus, image processing method, and storage medium
JP2009080525A (ja) 画像処理装置及びドキュメントデータ管理方法、プログラム、並びに記憶媒体
JP2006072744A (ja) 文書処理装置、その制御方法、プログラム、及び記憶媒体
JP2015069256A (ja) 文字識別システム
JP5880052B2 (ja) 文書処理装置及びプログラム
US11694458B2 (en) Image processing apparatus that sets metadata of image data, method of controlling same, and storage medium
JP2019144771A (ja) 帳票処理システム及び帳票処理プログラム
JP2023041242A (ja) 情報処理装置、情報処理方法、及びプログラム
JP2020009330A (ja) 作成支援装置および作成支援方法
JP7255585B2 (ja) 情報処理装置、情報処理方法、および、プログラム
JP4797507B2 (ja) 翻訳装置、翻訳システムおよびプログラム
JP2018072985A (ja) イメージスキャンシステム、イメージスキャナ、情報取得方法及び情報取得プログラム
JP7268389B2 (ja) 情報処理装置及びプログラム
JP2023041243A (ja) 情報処理装置、情報処理方法、及びプログラム
JP4484957B1 (ja) 検索式生成装置、検索式生成方法、およびプログラム
JP2005149210A (ja) 画像処理装置及びその制御方法、プログラム
JP2020047031A (ja) 文書検索装置、文書検索システム及びプログラム
JP2023087357A (ja) 情報処理装置、情報処理方法、およびプログラム
JP7271987B2 (ja) 情報処理装置及びプログラム