(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024117509
(43)【公開日】2024-08-29
(54)【発明の名称】検索処理プログラム、検索処理方法及び検索処理装置
(51)【国際特許分類】
G06F 16/338 20190101AFI20240822BHJP
G06F 16/538 20190101ALI20240822BHJP
G06V 30/26 20220101ALI20240822BHJP
【FI】
G06F16/338
G06F16/538
G06V30/266
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023023643
(22)【出願日】2023-02-17
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】穴田 航太
【テーマコード(参考)】
5B064
5B175
【Fターム(参考)】
5B064FA02
5B175DA01
5B175DA02
5B175GA03
5B175HB03
(57)【要約】
【課題】検索効率を向上させる検索処理プログラム、検索処理方法及び検索処理装置を提供する。
【解決手段】画像データを含む1つ又は複数のデータから文字認識処理によって、画像データに含まれる第1文字列を抽出し、複数のデータに対してキーワードを用いて検索を行い、画像データに対する検索では、キーワードとの類似性に基づいて第1文字列に含まれる第2文字列を検索結果として特定し、前記第2文字列を含む画像データを含んだ1以上のデータを一覧で示す検索結果を表示する際に、前記1以上のデータに含まれる画像データ内における前記第2文字列を識別可能な状態で前記1以上のデータに含まれる画像データを表示する処理をコンピュータに実行させる。
【選択図】
図4
【特許請求の範囲】
【請求項1】
画像データを含む1つ又は複数のデータから文字認識処理によって、前記画像データに含まれる第1文字列を抽出し、
前記複数のデータに対してキーワードを用いて検索を行い、前記画像データに対する検索では、前記キーワードとの類似性に基づいて前記第1文字列に含まれる第2文字列を検索結果として特定し、
前記第2文字列を含む画像データを含んだ1以上のデータを一覧で示す検索結果を表示する際に、前記1以上のデータに含まれる画像データ内における前記第2文字列を識別可能な状態で前記1以上のデータに含まれる画像データを表示する
処理をコンピュータに実行させることを特徴とする検索処理プログラム。
【請求項2】
前記第2文字列の特定は、前記キーワードとの類似性として前記キーワードと前記第1文字列に含まれる各部分文字列との編集距離を算出して、前記編集距離が閾値よりも短い部分文字列を前記第2文字列とする処理を含むことを特徴とする請求項1に記載の検索処理プログラム。
【請求項3】
前記第2文字列を含む領域を示す位置情報を取得し、
前記1以上のデータに含まれる画像データ内における前記第2文字列を識別可能に表示する画像として、前記1以上のデータに含まれる画像データにおける前記位置情報で示される領域を強調表示した表示画像を生成する
処理をコンピュータにさらに実行させ、
前記検索結果とともに前記1以上のデータに含まれる画像データを表示する処理は、前記第2文字列を含む検索結果とともに前記表示画像を表示する処理を含む
ことを特徴とする請求項1に記載の検索処理プログラム。
【請求項4】
検索処理装置が、
画像データを含む1つ又は複数のデータから文字認識処理によって、前記画像データに含まれる第1文字列を抽出し、
前記複数のデータに対してキーワードを用いて検索を行い、前記画像データに対する検索では、前記キーワードとの類似性に基づいて前記第1文字列に含まれる第2文字列を検索結果として特定し、
前記第2文字列を含む画像データを含んだ1以上のデータを一覧で示す検索結果を表示する際に、前記1以上のデータに含まれる画像データ内における前記第2文字列を識別可能な状態で前記1以上のデータに含まれる画像データを表示する
処理を実行することを特徴とする検索処理方法。
【請求項5】
画像データを含む1つ又は複数のデータから文字認識処理によって、前記画像データに含まれる第1文字列を抽出する解析部と、
前記複数のデータに対してキーワードを用いて検索を行い、前記画像データに対する検索では、前記キーワードとの類似性に基づいて前記第1文字列に含まれる第2文字列を検索結果として特定する検索処理部と、
前記第2文字列を含む画像データを含んだ1以上のデータを一覧で示す検索結果を表示する際に、前記1以上のデータに含まれる画像データ内における前記第2文字列を識別可能な状態で前記1以上のデータに含まれる画像データを表示する表示制御部と
を備えたことを特徴とする検索処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検索処理プログラム、検索処理方法及び検索処理装置に関する。
【背景技術】
【0002】
複数のクラウド利用等によりICT(Information and Communication Technology)システムの複雑化が進む中、ITサービス業務において、利用者からの問い合せに対する回答やトラブル調査業務等に今まで以上に時間がかかることが考えられる。そこで、ITサービスに対する利用者の満足度の向上や業務の効率化及び低コスト化のために、AI(Artificial Intelligence)を活用した情報の整備、検索及び共有のためのソリューションが提案されている。
【0003】
このようなソリューションの1つとして、企業内に眠っている大量のドキュメントの整備や共有等を行い、ドキュメント検索を容易にする技術が挙げられる。この技術を採用することで、企業内の膨大な資料の中から目的とするドキュメントを素早く的確に検索可能として、業務の効率化等を図ることができる。このようなドキュメント検索においては、本文等に文字情報として記載された文字に限らず、ドキュメントに貼り付けられた画像内の文字も検索対象とすることで、より的確な検索を行えるようになる。
【0004】
なお、画像データに対する文字列検索の技術として、以下のような技術が存在する。例えば、文字列を含む読取対象を光電的に読み取った画像データに対して文字認識処理を施して画像データに含まれる文字列を認識し、認識した文字列に対して検索を行い、検索対象の文字列と検索結果の文字列とを照合して評価する技術が提案されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、ドキュメントに記載された画像内から文字情報を抽出する場合、テキストとして記載された文字の抽出と異なり、深層学習を用いた推論により文字認識が行われる。深層学習の推論による文字認識の場合、誤って文字が認識されるおそれがある。文字が誤って認識された場合、誤って認識された文字を含む単語は、検索ワードと一致しないため、検索結果として表示されない。そのため、従来のドキュメント検索技術では、意図したドキュメントが抽出されない可能性があり、検索効率を向上させることが困難であった。
【0007】
また、画像認識した文字列に対する検索結果と検索対象の文字列とを照合して評価する技術では、検索結果の文字列に対応するドキュメントにおける実際の文字列を特定することが難しく、検索効率を向上させることは困難である。
【0008】
開示の技術は、上記に鑑みてなされたものであって、検索効率を向上させる検索処理プログラム、検索処理方法及び検索処理装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
本願の開示する検索処理プログラム、検索処理方法及び検索処理装置の一つの態様において、画像データを含む1つ又は複数のデータから文字認識処理によって、前記画像データに含まれる第1文字列を抽出し、前記複数のデータに対してキーワードを用いて検索を行い、前記画像データに対する検索では、前記キーワードとの類似性に基づいて前記第1文字列に含まれる第2文字列を検索結果として特定し、前記第2文字列を含む画像データを含んだ1以上のデータを一覧で示す検索結果を表示する際に、前記1以上のデータに含まれる画像データ内における前記第2文字列を識別可能な状態で前記1以上のデータに含まれる画像データを表示する処理をコンピュータに実行させる。
【発明の効果】
【0010】
1つの側面では、本発明は、検索効率を向上させることができる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、実施例に係る検索処理装置のブロック図である。
【
図2】
図2は、検索結果表示画面の一例を示す図である。
【
図4】
図4は、検索処理の他の具体例を示す図である。
【
図5】
図5は、実施例に係る検索処理装置によるドキュメントデータ格納処理のフローチャートである。
【
図6】
図6は、実施例に係る検索処理装置による全体が画像データであるドキュメントの検索処理のフローチャートである。
【
図7】
図7は、検索処理装置のハードウェア構成図である。
【発明を実施するための形態】
【0012】
以下に、本願の開示する検索処理プログラム、検索処理方法及び検索処理装置の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する検索処理プログラム、検索処理方法及び検索処理装置が限定されるものではない。
【実施例0013】
図1は、実施例に係る検索処理装置のブロック図である。本実施例に係る検索処理装置1は、ドキュメント提供装置2及び利用者端末装置3とネットワークを介して接続される。
【0014】
ドキュメント提供装置2は、例えば、企業に眠る多数のドキュメントを保持する。ドキュメント提供装置2は、データベースであってもよい。
【0015】
利用者端末装置3は、ドキュメント検索を行うために検索処理装置1を利用する利用者が操作するコンピュータである。利用者端末装置3は、図示しないモニタ等の表示装置及びキーボードやマウスといった入力装置を有する。利用者は、利用者端末装置3の入力装置を用いて検索処理装置1に対して、検索するキーワードや検索処理の実行指示を送ることができる。また、利用者は、利用者端末装置3の表示装置に表示された検索結果の画面を参照して、指定したキーワードの検索結果を確認することができる。
【0016】
検索処理装置1は、ドキュメントに関する情報を保持して、利用者から指定されたキーワードで検索を実行して、その検索結果を利用者端末装置3に表示させる。以下に、検索処理装置1の詳細について説明する。本実施例に係る検索処理装置1は、ドキュメント解析部11、OCR(Optical Character Recognition)解析部12、データベース13、検索処理部14、画像加工部15及び表示制御部16を有する。
【0017】
ドキュメント解析部11は、ドキュメント提供装置2から複数のドキュメントのデータを取得する。ドキュメントは、文字情報として記載された文字列であるテキストとともに画像が添付されていても良いし、データ全体が画像データであってもよい。そして、ドキュメント解析部11は、各ドキュメントに対してドキュメント解析を実行する。
【0018】
具体的には、ドキュメント解析部11は、ドキュメントのデータから属性情報を取得する。例えば、ドキュメント解析部11は、ドキュメントID(Identifier)や作成日時や作者等を取得する。
【0019】
さらに、ドキュメント解析部11は、ドキュメントの中のテキストのデータと画像データとを抽出する。さらに、ドキュメント解析部11は、抽出した画像データの画像IDをドキュメントのデータから取得する。
【0020】
そして、ドキュメント解析部11は、テキストのデータをそのドキュメントの属性情報とともにドキュメント解析データ131としてデータベース13に格納する。また、ドキュメント解析部11は、抽出した画像データ及びその画像IDを、その画像が貼り付けられたドキュメントのドキュメントIDに対応付けてドキュメント解析画像データ132としてデータベース13に格納する。
【0021】
OCR解析部12は、データベース13に登録されたドキュメント解析画像データ132に含まれる各画像データを取得する。そして、OCR解析部12は、取得した各画像データに対して、OCR解析を実行して、OCRによる推論結果として画像データ毎にそれぞれに含まれる文字を抽出する。
【0022】
この際、OCR解析部12は、画像データにおける文字をグループ分けして文字群を生成する。文字群とは認識した文字を複数まとめたグループであり、OCR解析部12は、例えば、1つの文章を単位として文字群を生成することができる。他にも、OCR解析部12は、単語単位で文字群としてもよいし、段落単位で文字群としてもよい。そして、OCR解析部12は、各文字群の位置情報を取得する。例えば、OCR解析部12は、文字群を囲む長方形の領域を設定して、その長方形の領域の一点の頂点及びその頂点に対向する位置の頂点のそれぞれの画像データにおける位置情報を文字群の位置情報として取得する。すなわち、位置情報により、画像データにおける文字群の領域が規定される。
【0023】
その後、OCR解析部12は、各文字群に対して識別情報であるOCRテキストIDを付与する。そして、OCR解析部12は、ORCテキストIDに対応付けて、ORCテキストIDで示される文字群に含まれる文字列の情報、その文字群の位置情報及びその文字群を抽出した画像データの画像IDをOCR解析データ133としてデータベース13に格納する。ここで、文字列とは、並べられた複数の文字を指す。以下では、文字群の全体に対応する文字列を「全体文字列」と呼ぶ。この全体文字列が、「第1文字列」の一例にあたる。
【0024】
検索処理部14は、ドキュメント検索の実行指示とともに、検索に用いるキーワードの入力を利用者端末装置3から受ける。そして、検索処理部14は、ドキュメント提供装置2から提供された全てのドキュメントに対してキーワードを用いて検索を行う。
【0025】
ここで、検索処理部14による1つのドキュメントに対する検索について詳細に説明する。検索処理部14は、ドキュメント解析データ131に含まれるドキュメントのデータの中から1つずつドキュメントのデータを選択する。次に、検索処理部14は、選択したドキュメントのデータにテキストが存在する場合、ドキュメントのテキストに対してキーワードを用いて検索を行い、キーワードに一致した文字列を抽出して検索結果とする。そして、検索処理部14は、テキストの検索結果をドキュメントIDとともに保持する。
【0026】
さらに、選択したドキュメントに画像が添付されている場合、検索処理部14は、そのドキュメントのドキュメントIDに対応する画像IDをドキュメント解析画像データ132の中から取得する。ドキュメントに複数の画像データ含まれる場合、検索処理部14は、ドキュメントに含まれる全ての画像データの画像IDを取得する。
【0027】
次に、検索処理部14は、取得した画像IDに対応するOCRテキストID及びそのORCテキストIDに対応する文字群の全体文字列を、データベース13に格納されたOCR解析データ133から取得する。そして、検索処理部14は、取得した全体文字列に対してキーワードとの類似性に基づいて検索を実行して、キーワードとの類似度が高い順に所定条件を満たす文字列を特定して、キーワードから検索された文字列とする。以下では、全体文字列からキーワードに基づいて抽出される文字列を「部分文字列」とよぶ。ここで、部分文字列は、全体文字列の一部または全体である。そして、部分文字列の中から特定された文字列がキーワードから検索された文字列となる。このキーワードから検索された文字列が、「第2文字列」の一例にあたる。
【0028】
例えば、検索処理部14は、全体文字列に含まれる各部分文字列について、類似度を表すスコアを算出する。そして、検索処理部14は、予め決められた閾値を越えるスコアを有する部分文字列をキーワードから検索された文字列として、キーワードを用いた検索処理におけるドキュメントに対する検索結果とする。キーワードから検索された文字列は、1つであっても良いし複数であってもよい。閾値を越えるスコアを有する部分文字列が存在しない場合、検索処理部14は、キーワードから検索された文字列なしとする。
【0029】
より具体的には、検索処理部14は、部分文字列とキーワードとの編集距離を算出する。そして、検索処理部14は、部分文字列のうち編集距離の値が閾値よりも近い部分文字列を検索結果であるキーワードから検索された文字列とする。
【0030】
ここで、本実施例では、検索処理部14は、類似度が閾値を越える部分文字列をキーワードから検索された文字列としたが、キーワードから検索された文字列の決定方法は他の方法でもよい。例えば、検索処理部14は、類似度が高い順に所定数の部分文字列をキーワードから検索された文字列としてもよい。この場合、検索処理部14は、5~10件程度の値を所定数として用いることができる。
【0031】
その後、検索処理部14は、ドキュメントにおけるテキストの検索結果及び画像データの検索結果をドキュメントIDとともに表示制御部16へ出力する。また、検索処理部14は、検索結果であるキーワードから検索された文字列を含む全体文字列のOCRテキストIDを画像加工部15へ出力する。
【0032】
画像加工部15は、キーワードから検索された文字列のOCRテキストIDの入力を検索処理部14から受ける。次に、画像加工部15は、取得したOCRテキストIDに対応する画像ID及び文字群の位置情報をOCR解析データ133から取得する。次に、画像加工部15は、取得した画像IDに対応する画像データ及びドキュメントIDをドキュメント解析画像データ132から取得する。
【0033】
そして、画像加工部15は、キーワードから検索された文字列を含む文字群の位置情報により示される取得した画像データにおける領域を強調表示して画像データを加工する。画像データの中に、キーワードから検索された文字列を含む文字群が複数存在する場合は、画像加工部15は、画像データ中のそれら全ての文字群の強調表示を同様の手順で行う。その後、画像加工部15は、加工した画像データをドキュメントIDとともに表示制御部16へ出力する。
【0034】
表示制御部16は、ドキュメントID、ドキュメントにおけるテキストの検索結果及び画像データの検索結果の入力を検索処理部14から受ける。また、表示制御部16は、ドキュメントID及び加工された画像データの入力を画像加工部15から受ける。そして、表示制御部16は、テキストの検索結果、画像データの検索結果及び画像データを用いて各ドキュメントにおける検索結果を表示する検索結果表示画面を生成する。その後、表示制御部16は、検索結果表示画面を利用者端末装置3へ送信して表示装置に表示させる。これにより、表示制御部16は、検索結果を利用者に提供する。
【0035】
図2は、検索結果表示画面の一例を示す図である。例えば、表示制御部16は、
図2に示す検索結果表示画面として画面101を生成する。
図2に示すように、表示制御部16は、画面101のキーワード欄102に検索に用いたキーワードを表示する。
【0036】
そして、表示制御部16は、ドキュメント毎に、画面101の検索結果欄103に検索結果を表示させる。テキストの検索結果を表示する場合、表示制御部16は、キーワードに一致する文字列を含む文を検索結果欄103に表示して、検索結果とされた文字列を強調表示する。ここで、キーワードに一致する文字列を含む文は、テキスト全体でもよいし、キーワードに一致する文字列を含む1文もしくは複数の文でもよい。また、画像データの検索結果を表示する場合、表示制御部16は、キーワードから検索された文字列を含む文字群を検索結果欄103に表示する。この際、表示制御部16は、検索結果欄103に表示した文字群中のキーワードから検索された文字列を強調表示する。また、表示制御部16は、画像データに含まれる他の文字群を並べて検索結果欄103に表示してもよい。さらに、表示制御部16は、検索結果欄103に表示した文章が画像に含まれる文章である場合、画面101の画像欄104にキーワードから検索された文字列を含む文字群が強調表示された画像を表示させる。
【0037】
ここで、画面101は、検索結果表示画面であるがキーワード入力画面として用いることも可能である。例えば、表示制御部16は、検索結果が登録されていない検索前の画面101を利用者端末装置3の表示装置に表示させる。そして、検索処理部14は、利用者が利用者端末装置3の入力装置を利用してキーワード欄102に検索するキーワードを入力することで、検索するキーワードを受信してもよい。
【0038】
ここで、検索結果表示画面による情報の表示が、「第2文字列を含む画像データを含んだ1以上のデータを一覧で示す検索結果を表示する」の一例にあたる。例えば、
図2の画面101では、画像欄104に表示されるキーワードから検索された文字列を含む文字群が強調表示された画像の画像データが「第2文字列を含む画像データ」の一例にあたる。そして、検索結果欄103及び画像欄104に示されるデータが、「1以上のデータ」の一例にあたる。このように、表示制御部16は、第2文字列を含む画像データを含んだ1以上のデータを一覧で示す検索結果を表示する際に、1以上のデータに含まれる画像データ内における第2文字列を識別可能な状態で1以上のデータに含まれる画像データを表示する。
【0039】
図3は、検索処理の具体例を示す図である。ドキュメント110は、検索対象のドキュメントである。ドキュメント110は、チラシをスキャンしデータ化したドキュメントであり、全体が画像データである。また、画面111は、ドキュメント110の検索結果画面である。ここでは、画面111のキーワード欄112に示されるように、「トラブル調査」が検索するキーワードとして指定された場合で説明する。
【0040】
検索処理部14は、ドキュメント110の全体が画像データであるのでOCR解析データ133からドキュメント110の全体に含まれる複数の文字群の全体文字列を取得する。次に、検索処理部14は、取得した各全体文字列に対して「トラブル調査」をキーワードとして以下のような検索を行う。検索処理部14は、「トラブル調査」と全体文字列に含まれる各部分文字列との編集距離を算出する。次に、検索処理部14は、各部分文字列のうち編集距離が予め決められた閾値よりも近い部分文字列をキーワードから検索された文字列として特定する。ここでは、検索処理部14は、ドキュメント110に含まれる「トテブル調査」という1つの文字列をキーワードから検索された文字列として特定する。これにより、検索処理部14は、画面111の検索結果欄113の中に示した「トテブル調査」という文字列114をキーワードから検索された文字列として特定する。
【0041】
また、画像加工部15は、ドキュメント110の画像データをドキュメント解析画像データ132の中から取得する。次に、画像加工部15は、検索処理部14によりキーワードから検索された文字列とされた「トテブル調査」を含む文字群の位置情報をOCR解析データ133から取得する。そして、画像加工部15は、画像データにおける取得した位置情報で示される領域を強調表示して画像データを加工する。これにより、画像加工部15は、画面111の画像欄115に示されるように画像内のキーワードから検出された文字列を含む領域116が強調表示された画像データを生成する。
【0042】
表示制御部16は、検索処理部14及び画像加工部15から取得した情報を用いて画面111を生成する。画面111は、キーワードから検索された文字列にあたる文字列114が強調表示された検索結果欄113を含む。また、画面111は、画像内のキーワードから検出された文字列を含む文字群に対応する領域116が強調表示された画像データを示す画像欄115を含む。そして、表示制御部16は、検索結果表示画面である画面111を利用者端末装置3の表示部に表示させる。利用者は、画面111を参照することで、例えば、「トラブル」を「トテブル」と誤認したようにOCR結果が間違っていても、OCR結果と実物の画像を参照して、検索により抽出された文字列が正しいか否かを判断することができる。
【0043】
図4は、検索処理の他の具体例を示す図である。ドキュメント120は、検索対象のドキュメントである。ドキュメント120は、機械に使われている部品を番号と紐づけて表示する機械の図面であり、全体が画像データである。また、画面121は、ドキュメント130の検索結果画面である。ここでは、画面121のキーワード欄122に示されるように、部品に割り当てられた番号である「1023」が検索するキーワードとして指定された場合で説明する。
【0044】
検索処理部14は、ドキュメント120の全体が画像データであるのでOCR解析データ133からドキュメント120の全体に含まれる複数の文字群の全体文字列を取得する。次に、検索処理部14は、取得した各全体文字列に対して「1023」をキーワードとして以下のような検索を行う。検索処理部14は、「1023」と全体文字列に含まれる各部分文字列との編集距離を算出する。そして、検索処理部14は、全体文字列に含まれる部分文字列のうち、編集距離が予め決められた閾値よりも近い部分文字列をキーワードから検索された文字列として特定する。ここでは、検索処理部14は、ドキュメント120に含まれる「1028」という1つの文字列をキーワードから検索された文字列として特定する。これにより、検索処理部14は、画面121の検索結果欄123の中に示した「1028」という文字列124をキーワードから検索された文字列として特定する。
【0045】
また、画像加工部15は、ドキュメント120の画像データをドキュメント解析画像データ132の中から取得する。次に、画像加工部15は、検索処理部14によりキーワードから検索された文字列とされた「1028」を含む文字群の位置情報をOCR解析データ133から取得する。そして、画像加工部15は、画像データにおける取得した位置情報で示される領域を強調表示して画像データを加工する。これにより、画像加工部15は、画面121の画像欄125に示されるように画像内のキーワードから検出された文字列を含む領域126が強調表示された画像データを生成する。
【0046】
表示制御部16は、検索処理部14及び画像加工部15から取得した情報を用いて画面121を生成する。画面121は、キーワードから検索された文字列にあたる文字列124が強調表示された検索結果欄123を含む。また、画面121は、画像内のキーワードから検出された文字列を含む文字群に対応する領域126が強調表示された画像データを示す画像欄125を含む。そして、表示制御部16は、検索結果表示画面である画面121を利用者端末装置3の表示部に表示させる。利用者は、画面121を参照することで、例えば、「1023」を「1028」と誤認したようにOCR結果が間違っていても、OCR結果と実物の画像を参照して、検索により抽出された文字列が正しいか否かを判断することができる。
【0047】
ここで、
図3及び4を用いた具体例では、ドキュメント全体が画像データである場合の検索処理を説明したが、検索対象は、テキスト及び画像データを含むドキュメントでもよいし、テキストを含むが画像データは含まないドキュメントであってもよい。テキスト及び画像データを含むドキュメントの場合、表示制御部16は、テキストの検索結果と画像データの検索結果を組み合わせた検索結果表示画面を生成する。また、テキストを含むが画像データは含まないドキュメントの場合、表示制御部16は、テキストの検索結果を表示する検索結果表示画面を生成する。
【0048】
図5は、実施例に係る検索処理装置によるドキュメントデータ格納処理のフローチャートである。次に、
図5を参照して、実施例に係る検索処理装置1によるドキュメントデータ格納処理の流れを説明する。
【0049】
ドキュメント解析部11は、ドキュメント提供装置2から複数のドキュメントのデータを取得する。そして、ドキュメント解析部11は、各ドキュメントに対してドキュメント解析を実行する(ステップS1)。
【0050】
さらに、ドキュメント解析部11は、ドキュメントの中の文字情報として記載された文字列であるテキストのデータと画像データとを抽出する。さらに、ドキュメント解析部11は、抽出した画像データの画像IDをドキュメントのデータから取得する。そして、ドキュメント解析部11は、テキストのデータをそのドキュメントの属性情報とともにドキュメント解析データ131としてデータベース13に格納する。また、ドキュメント解析部11は、抽出した画像データ及びその画像IDを、その画像が貼り付けられたドキュメントのドキュメントIDに対応付けてドキュメント解析画像データ132としてデータベース13に格納する(ステップS2)。
【0051】
OCR解析部12は、データベース13に登録されたドキュメント解析画像データ132に含まれる各画像データを取得する。そして、OCR解析部12は、取得した各画像データに対して、OCR解析を実行して、OCRによる推論結果として画像データ毎にそれぞれに含まれる文字を抽出する(ステップS3)。
【0052】
次に、OCR解析部12は、画像データにおける文字をグループ分けして文字群を生成して、文字群毎に全文字列を取得する。また、OCR解析部12は、各文字群の位置情報を取得する(ステップS4)。
【0053】
次に、OCR解析部12は、各文字群に対して識別情報であるOCRテキストIDを付与する。そして、OCR解析部12は、ORCテキストIDに対応付けて、文字群に含まれる全文字列、その文字群の位置情報及びその文字群を抽出した画像データの画像IDをOCR解析データ133としてデータベース13に格納する(ステップS5)。
【0054】
図6は、実施例に係る検索処理装置による全体が画像データであるドキュメントの検索処理のフローチャートである。次に、
図6を参照して、実施例に係る検索処理装置1による全体が画像データであるドキュメントに対する検索処理の流れを説明する。
【0055】
検索処理部14は、ドキュメント検索の実行指示とともに、検索に用いるキーワードを利用者端末装置3から受信する(ステップS11)。
【0056】
次に、検索処理部14は、ドキュメント提供装置2から提供された全てのドキュメントに対してキーワードを用いて検索処理を開始する(ステップS12)。
【0057】
検索処理部14は、検索対象とするドキュメントに対応する画像データの画像DIをドキュメント解析画像データ132の中から取得する。次に、検索処理部14は、取得した画像IDに対応するOCRテキストID及びORCテキストIDで示される文字群の全体文字列の情報をデータベース13に格納されたOCR解析データ133から取得する。そして、検索処理部14は、取得した全体文字列に含まれる各部分文字列に対してキーワードとの類似度を表すスコアを算出する。そして、検索処理部14は、予め決められた閾値を越えるスコアを有する部分文字列をキーワードから検索された文字列を抽出する(ステップS13)。
【0058】
画像加工部15は、キーワードから検索された文字列のOCRテキストIDの入力を検索処理部14から受ける。次に、画像加工部15は、取得したOCRテキストIDに対応する画像ID及び文字群の位置情報をOCR解析データ133から取得する(ステップS14)。
【0059】
次に、画像加工部15は、取得した画像IDに対応する画像データ及びドキュメントIDをドキュメント解析画像データ132から取得する(ステップS15)。
【0060】
そして、画像加工部15は、キーワードから検索された文字列を含む文字群の位置情報を用いて、キーワードから検索された文字列を含む文字群を強調表示して画像データを加工する(ステップS16)。
【0061】
表示制御部16は、検索処理部14により抽出されたキーワードから検索された文字列及び画像加工部15により加工された画像データを含む検索結果表示画面を生成する(ステップS17)。
【0062】
そして、表示制御部16は、検索結果表示画面を利用者端末装置3へ送信して表示装置に表示させる(ステップS18)。
【0063】
(ハードウェア)
図7は、検索処理装置のハードウェア構成図である。次に、
図7を参照して、検索処理装置1のハードウェア構成例を説明する。
【0064】
検索処理装置1は、例えば、CPU91、メモリ92、ハードディスク93及びネットワークインタフェース94を有する。CPU91は、バスを介してメモリ92、ハードディスク93及びネットワークインタフェース94と接続される。
【0065】
ネットワークインタフェース94は、検索処理装置1と外部装置との通信インタフェースである。例えば、ネットワークインタフェース94は、CPU91とドキュメント提供装置2や利用者端末装置3との間の通信を中継する。
【0066】
ハードディスク93は、補助記憶装置である。ハードディスク93は、
図1に例示した、データベース13の機能を実現する。また、ハードディスク93は、
図1に例示した、ドキュメント解析部11、OCR解析部12、検索処理部14、画像加工部15及び表示制御部16のそれぞれの機能を実現するためのプログラムを含む各種プログラムを格納する。
【0067】
メモリ92は、主記憶装置である。メモリ92は、例えば、DRAM(Dynamic Random Access Memory)である。
【0068】
CPU91は、ハードディスク93に格納された各種プログラムを読み出してメモリ92に展開して実行する。これにより、CPU91は、ドキュメント解析部11、OCR解析部12、検索処理部14、画像加工部15及び表示制御部16のそれぞれの機能を実現する。
【0069】
また、検索処理装置1は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、ここでいうプログラムは、検索処理装置1によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【0070】
このプログラムは、インターネット等のネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。