(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024142458
(43)【公開日】2024-10-11
(54)【発明の名称】画像処理装置、および、コンピュータプログラム
(51)【国際特許分類】
H04N 1/00 20060101AFI20241003BHJP
H04N 1/387 20060101ALI20241003BHJP
G03G 21/00 20060101ALI20241003BHJP
【FI】
H04N1/00 C
H04N1/387 110
G03G21/00 386
G03G21/00 370
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2023054600
(22)【出願日】2023-03-30
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110001058
【氏名又は名称】鳳国際弁理士法人
(72)【発明者】
【氏名】御手洗 翠
【テーマコード(参考)】
2H270
5C062
【Fターム(参考)】
2H270KA54
2H270KA55
2H270LB10
2H270PA61
2H270QB07
5C062AA05
5C062AB02
5C062AB20
5C062AB22
5C062AB23
5C062AB38
5C062AB40
5C062AB42
5C062AC02
5C062AC04
5C062AC05
5C062AC22
5C062AC24
5C062AC38
5C062AC58
5C062AF13
(57)【要約】
【課題】 複数のページの並ぶ順番を柔軟に制御する。
【解決手段】
文書を表す入力データを取得する。入力データによって表される文書をN枚(Nは2以上の整数)のページで表す場合のN枚のページの並ぶべき順番を規定する対象規則を表す規則データを取得する。対象規則に基づくN枚のページの並ぶべき順番である規則順番に並ぶN枚のページを表す出力データを生成する生成処理と、入力データによって表される文書の複数のページの並ぶ順番である入力順番が規則順番と異なる場合に入力順番が規則順番と異なることをユーザに報知する報知処理と、のうちの一方、または、両方を含む特定処理を実行する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
画像処理装置であって、
文書を表す入力データを取得する第1取得部と、
前記入力データによって表される文書をN枚(Nは2以上の整数)のページで表す場合のN枚のページの並ぶべき順番を規定する対象規則を表す規則データを取得する第2取得部と、
前記対象規則に基づく前記N枚のページの並ぶべき順番である規則順番に並ぶ前記N枚のページを表す出力データを生成する生成処理と、前記入力データによって表される前記文書の複数のページの並ぶ順番である入力順番が前記規則順番と異なる場合に前記入力順番が前記規則順番と異なることをユーザに報知する報知処理と、のうちの一方、または、両方を含む特定処理を実行する特定処理部と、
を備える、画像処理装置。
【請求項2】
請求項1に記載の画像処理装置であって、
前記特定処理は、前記生成処理を含み、
前記画像処理装置は、さらに、
前記N枚のページの並ぶ順番の前記規則順番からの変更をユーザに許容する順番変更部と、
変更済の順番で並ぶ前記N枚のページを表す特定出力データを生成する特定生成部と、
を備える、画像処理装置。
【請求項3】
請求項1または2に記載の画像処理装置であって、
前記規則データは、複数の規則を表し、
前記画像処理装置は、さらに、前記複数の規則からの前記対象規則の選択をユーザに許容する規則選択部を備える、
画像処理装置。
【請求項4】
請求項1または2に記載の画像処理装置であって、
前記特定処理は、
前記生成処理と、
前記出力データを出力する出力処理と、
を含む、画像処理装置。
【請求項5】
請求項4に記載の画像処理装置であって、
前記特定処理は、さらに、前記出力データに対応付けられるファイル名とディレクトリ名とプロパティとタイトルとから選択される1以上の要素に、前記規則データによって表される1以上の情報をそれぞれ設定する設定処理を、含む、
画像処理装置。
【請求項6】
請求項1または2に記載の画像処理装置であって、
前記特定処理は、前記生成処理を含み、
前記生成処理は、前記規則順番を表す第1種特定ページと前記対象規則を表す第2種特定ページとのうちの一方または両方と、前記規則順番に並ぶ前記N枚のページと、を表す前記出力データを生成する、
画像処理装置。
【請求項7】
請求項6に記載の画像処理装置であって、
前記生成処理は、目次を表す前記第1種特定ページであって先頭に配置される前記第1種特定ページと、前記規則順番に並ぶ前記N枚のページと、を表す前記出力データを生成する、
画像処理装置。
【請求項8】
請求項1または2に記載の画像処理装置であって、
前記特定処理は、
前記生成処理と、
前記規則順番に並ぶ前記N枚のページのそれぞれのページ番号を表す情報を、前記出力データに付与する処理と、
を含む、画像処理装置。
【請求項9】
請求項1または2に記載の画像処理装置であって、
前記特定処理は、前記生成処理を含み、
前記生成処理は、前記規則順番に並ぶ前記N枚のページと、前記N枚のページに含まれる用語の所在を表す索引ページと、を表す前記出力データを生成する、
画像処理装置。
【請求項10】
請求項1または2に記載の画像処理装置であって、
前記第2取得部は、前記入力データを解析することによって前記規則データを取得する、
画像処理装置。
【請求項11】
請求項1または2に記載の画像処理装置であって、
前記特定処理は、前記生成処理を含み、
前記画像処理装置は、さらに、
追加文書を表す追加データを取得する第3取得部と、
前記出力データによって表される前記N枚のページと、前記追加データによって表されるM枚の追加ページと、を含むN+M枚のページを表す追加出力データを生成する追加生成部と、
を備え、
前記追加生成部は、前記N枚のページの順番を保ちつつ、前記N+M枚のページの並ぶ順番を前記対象規則に基づいて決定する、
画像処理装置。
【請求項12】
請求項1または2に記載の画像処理装置であって、
前記対象規則は、複数の参照情報の順番を表し、
前記画像処理装置は、さらに、
前記入力データを解析することによって、前記入力データによって表される複数の要素のそれぞれの特徴情報を取得する第4取得部と、
特徴情報に対応付けられる参照情報の順番を使用して前記規則順番を決定する順番決定部と、
を備える、画像処理装置。
【請求項13】
請求項12に記載の画像処理装置であって、さらに、
前記参照情報と前記特徴情報との対応関係を表す中間情報を定める中間データを取得する第5取得部を備え、
前記順番決定部は、前記特徴情報に前記中間情報を介して対応付けられる前記参照情報の順番に従って前記規則順番を決定する、
画像処理装置。
【請求項14】
請求項1または2に記載の画像処理装置であって、さらに、
前記規則データは、前記N枚のページのそれぞれにおけるレイアウトを表し、
前記特定処理部は、前記入力データによって表される複数の要素を前記レイアウトを使用して割り付けることによって前記規則順番を決定する処理を含む、
画像処理装置。
【請求項15】
請求項1または2に記載の画像処理装置であって、
前記特定処理は、前記生成処理を含み、
前記生成処理は、前記N枚のページから前記対象規則に基づいて形成されるL個(Lは2以上の整数)のページグループのそれぞれの始まりを示すL枚の中扉のページと、前記規則順番に並ぶ前記N枚のページと、を表す前記出力データを生成する、
画像処理装置。
【請求項16】
コンピュータプログラムであって、
文書を表す入力データを取得する第1取得機能と、
前記入力データによって表される文書をN枚(Nは2以上の整数)のページで表す場合のN枚のページの並ぶべき順番を規定する対象規則を表す規則データを取得する第2取得機能と、
前記対象規則に基づく前記N枚のページの並ぶべき順番である規則順番に並ぶ前記N枚のページを表す出力データを生成する生成処理と、前記入力データによって表される前記文書の複数のページの並ぶ順番である入力順番が前記規則順番と異なる場合に前記入力順番が前記規則順番と異なることをユーザに報知する報知処理と、のうちの一方、または、両方を含む特定処理を実行する特定処理機能と、
をコンピュータに実現させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、複数のページを並べる技術に関する。
【背景技術】
【0002】
複数の画像データを自動的に並べ替える技術が提案されている。例えば、特許文献1に記載の技術では、画像処理装置の制御部は、ページ画像データのうち、予め定められた認識領域に含まれる情報であり、ページの順番を示すページ順情報を認識する。制御部は、ページ順情報の種類ごとに、複数のページ画像データをグループに分ける。制御部は、ページ順情報に基づき、グループ内でページ画像データを順番に並べる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ページ順情報に基づく複数のページの並び順とは異なる種類の並び順が好ましい場合がある。例えば、複数の文献のそれぞれの複数のページがまとめて処理される場合、文献毎のページグループの並び順は、個々のページのページ順情報から決定されるのではなく、複数の文献の適切な並び順に対応付けられることが好ましい。ここで、複数のページの並ぶ順番を柔軟に制御することについては、工夫の余地があった。
【0005】
本明細書は、複数のページの並ぶ順番を柔軟に制御する技術を開示する。
【課題を解決するための手段】
【0006】
本明細書に開示された技術は、以下の適用例として実現することが可能である。
【0007】
[適用例1]画像処理装置であって、文書を表す入力データを取得する第1取得部と、前記入力データによって表される文書をN枚(Nは2以上の整数)のページで表す場合のN枚のページの並ぶべき順番を規定する対象規則を表す規則データを取得する第2取得部と、前記対象規則に基づく前記N枚のページの並ぶべき順番である規則順番に並ぶ前記N枚のページを表す出力データを生成する生成処理と、前記入力データによって表される前記文書の複数のページの並ぶ順番である入力順番が前記規則順番と異なる場合に前記入力順番が前記規則順番と異なることをユーザに報知する報知処理と、のうちの一方、または、両方を含む特定処理を実行する特定処理部と、を備える、画像処理装置。
【0008】
この構成によれば、N枚のページの並ぶべき順番である規則順番は、規則データによって表される対象規則に基づいているので、規則順番は、規則データによって柔軟に制御可能である。
【0009】
なお、本明細書に開示の技術は、種々の態様で実現することが可能であり、例えば、画像処理方法および画像処理装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体(例えば、一時的ではない記録媒体)、等の形態で実現することができる。
【図面の簡単な説明】
【0010】
【
図1】一実施例としての複合機を示す説明図である。
【
図5】(A)は、入力データの例を示す図である。(B)は、特徴情報の例を表す図である。
【
図6】(A)-(C)は、複数の候補順番の例を示す図である。
【
図7】(A)-(C)は、確信度の算出の説明図である。
【
図8】順番評価モデルM1の生成処理の例を示すフローチャートである。
【
図9】画像処理の別の実施例のフローチャートの一部である。
【
図10】(A)-(D)は、画像処理に使用される情報の例を示す図である。
【
図11】画像処理の別の実施例のフローチャートの一部である。
【
図12】(A)-(E)は、画像処理に使用される情報の例を示す図である。
【
図13】画像処理の別の実施例のフローチャートの一部である。
【
図14】(A)-(E)は、画像処理に使用される情報の例を示す図である。
【
図15】画像処理の別の実施例のフローチャートである。
【
図16】(A)-(C)は、画像処理に使用される情報の例を示す図である。
【
図17】画像処理の別の実施例のフローチャートである。
【
図18】(A)-(D)は、画像処理に使用される情報の例を示す図である。
【
図19】(A)、(B)は、画像処理の別の実施例を示す図である。
【
図20】画像処理の別の実施例のフローチャートの一部である。
【
図21】(A)、(B)は、画像処理の別の実施例を示す図である。
【
図22】(A)、(B)は、画像処理の別の実施例を示す図である。
【
図23】(A)-(D)は、画像処理の別の実施例を示す図である。
【
図24】(A)、(B)は、画像処理の別の実施例を示す図である。
【
図25】(A)-(D)は、画像処理の別の実施例を示す図である。
【
図26】(A)、(B)は、画像処理の別の実施例を示す図である。
【
図27】画像処理の別の実施例を示すフローチャートの一部である。
【
図28】(A)、(B)は、画像処理の別の実施例を示す図である。
【
図29】(A)-(D)は、画像処理の別の実施例を示す図である。
【発明を実施するための形態】
【0011】
A.第1実施例:
A1.システムの構成:
図1は、一実施例としての複合機を示す説明図である。複合機100は、画像の印刷と文書の読み取りとを実行可能である。複合機100は、プロセッサ110と、記憶装置115と、表示部140と、操作部150と、印刷実行部160と、読取実行部170と、通信インタフェース180とを、有している。これらの要素は、バスを介して互いに接続されている。
【0012】
表示部140は、液晶ディスプレイ、有機ELディスプレイなどの、画像を表示するように構成された装置である。操作部150は、ボタン、レバー、表示部140上に重ねて配置されたタッチパネルなどの、ユーザによる操作を受け取るように構成された装置である。通信インタフェース180は、他の装置と通信するためのインタフェースである(例えば、有線LAN、IEEE802.11の無線LAN、Universal Serial Bus(USB)のうちの1種以上のインタフェースを含む)。
【0013】
印刷実行部160は、画像を印刷する装置である。本実施例では、印刷実行部160は、いわゆるインクジェットプリンタである。印刷実行部160は、1種類以上の印刷材(例えば、シアンとマゼンタとイエローとブラックの4色のインク)を使用して、画像を印刷するように構成されている。なお、印刷実行部160は、他の方式で画像を印刷する装置であってよい(例えば、レーザープリンタ)。
【0014】
読取実行部170は、文書などの対象物を光学的に読み取る装置である。本実施例では、読取実行部170は、図示しない光学センサを備えている(例えば、Contact Image Sensor(CIS)、または、Charge Coupled Device(CCD))。読取実行部170は、対象物を光学的に読み取ることによって、読み取った対象物を表すスキャンデータを生成する。スキャンデータのデータ形式は、種々の形式であってよい(例えば、JPEG(Joint Photographic Experts Group)、 PNG(Portable Network Graphics)、 GIF(Graphic Interchange Format)、 TIFF(Tagged Image File Format)、PDF(Portable Document Format)など)。読取実行部170は、原稿台(フラットベッドとも呼ばれる)と、自動文書送り装置と、の一方または両方を備えてよい。自動文書送り装置は、複数枚の文書ページを1枚ずつ自動的に搬送する装置である。原稿台と自動文書送り装置は、それぞれ、対象物を配置すべき部分である配置部分を形成する。
【0015】
プロセッサ110は、データを処理するように構成された装置である。プロセッサ110は、例えば、Central Processing Unit(CPU)、または、System on a chip(SoC)である。記憶装置115は、揮発性記憶装置120と、不揮発性記憶装置130と、を含む。揮発性記憶装置120は、例えば、DRAMであり、不揮発性記憶装置130は、例えば、フラッシュメモリである。
【0016】
不揮発性記憶装置130は、プログラムPG1と、文書解析ライブラリLB1と、機械学習モデルM1-M6と、のそれぞれのデータを格納している。プログラムPG1とライブラリLB1とモデルM1-M6とのそれぞれのデータは、複合機100の製造時に、不揮発性記憶装置130に格納される。プログラムPG1とライブラリLB1とモデルM1-M6とから選択される1以上の要素(例えば、プログラムPG1)のデータは、ネットワークを通じて図示しないサーバから、または、複合機100に接続される図示しない携帯記憶装置(例えば、USBフラッシュドライブ)から、複合機100の不揮発性記憶装置130に格納されてよい。
【0017】
A2.画像処理:
図2、
図3は、画像処理の例を示すフローチャートである。
図3は、
図2の続きを表している。この画像処理は、規則に基づく複数のページの順番を取得する処理を含んでいる。本実施例では、複合機100は、読取実行部170によって複数のページを読み取り、規則に基づく順番に並ぶ複数のページを表す出力データを生成する。
【0018】
複数のページは、種々の文書のページであり得る。例えば、ユーザは、学会で発表される複数のプレゼンテーションのそれぞれの論文を、複合機100に読み取らせる。各論文は、1以上のページを含む。並び順の規則としては、例えば、学会の発表順が採用される。ここで、複合機100による複数のページの読み取り順番は、規則に基づく順番と異なり得る。例えば、ユーザは、発表順と異なる順番で、複数の論文を読取実行部170に供給し得る。また、複数のページ(ひいては、複数のシート)は、本のように綴じられずに、分離した状態で、読取実行部170に供給され得る。ここで、ユーザは、ページ番号の順番とは異なる順番で、複数のページを読取実行部170に供給し得る。このような場合であっても、複合機100のプロセッサ110は、発表順に並ぶ複数の論文を表す出力データであって、論文毎の適切なページ順に並ぶ複数のページを表す出力データを生成する。
【0019】
ユーザは、操作部150(
図1)を操作することによって、画像処理の開始指示を複合機100に入力する。複合機100のプロセッサ110は、開始指示に応じて、
図2、
図3の画像処理を開始する。プロセッサ110は、プログラムPG1を実行することによって、
図2、
図3の画像処理を行う。
【0020】
S110では、プロセッサ110は、規則データを取得する。本実施例では、ユーザは、ページの並ぶべき順番を規定する規則を表す文書ページである規則ページのシートを、読取実行部170の配置部分に配置する。プロセッサ110は、読取実行部170に規則ページを読み取らせ、読取実行部170から、規則ページのスキャンデータを取得する。このスキャンデータは、規則データの例である。
【0021】
図4は、規則ページの例を示す図である。規則ページPrは、学会の時間割を表している。具体的には、規則ページPrは、タイトルTLr1、TLr2と、テーブルTBrと、を表している。テーブルTBrは、5行4列のテーブルである。第1行R1は、ヘッダ行であり、列C1-C4のそれぞれのヘッダ名を表している。図示するように、列C1-C4は、「時間」と「区分」と「テーマ」と「タイトル」とを、それぞれ表している。第2行R2-第5行R5は、それぞれ、プレゼンテーションを示している。
【0022】
S120では、プロセッサ110は、規則データを解析することによって、複数の参照情報とそれらの順番とを取得する。本実施例では、プロセッサ110は、所定のヘッダ名(ここでは、「タイトル」)に対応付けられる列によって表される情報を、参照情報として採用する。そして、プロセッサ110は、複数の参照情報の並び順を取得する。
【0023】
本実施例では、S120は、S121、S122を含んでいる。S121では、プロセッサ110は、規則データを解析することによって、テーブルを表すテーブル領域を検出する。テーブル領域を検出する方法は、種々の方法であってよい。本実施例では、プロセッサ110は、文書解析ライブラリLB1を使用することによって、テーブル領域を検出する。文書解析ライブラリLB1は、「Layout Parser」と呼ばれる文書画像解析ライブラリである。「Layout Parser」は、以下の論文に開示されている。
Zejiang Shen, Ruochen Zhang, Melissa Dell, Benjamin Charles Germain Lee, Jacob Carlson, Weining Li, "LayoutParser: A unified toolkit for deep learning based document image analysis", arXiv:2103.15348, June 21, 2021, http://arxiv.org/abs/2103.15348
また、「Layout Parser」のライブラリは、以下のURLで公開されている。
https://layout-parser.github.io/
【0024】
「Layout Parser」は、レイアウト検出を行うための訓練済の機械学習モデルを含んでいる。種々の種類のレイアウト構造に対応するために、「Layout Parser」は、異なるデータセットで訓練された複数の深層学習モデルの集合体を含んでいる。「Layout Parser」は、テキストの領域と、タイトルの領域と、表の領域と、図の領域と、を含む複数種類の領域を検出可能である。また、「Layout Parser」は、文字認識を行うために、Google社の「Google Cloud Vision」と「Tesseract OCR」との2種類の文字認識エンジンをサポートしている。本実施例では、文書解析ライブラリLB1は、レイアウト検出のための複数の訓練済の深層学習モデルの集合体と、文字認識のための訓練済の文字認識エンジン(例えば、Tesseract OCR)と、を含んでいる。
【0025】
S121では、プロセッサ110は、文書解析ライブラリLB1の演算を実行することによって、規則ページPr(
図4)の画像IMrを解析する。これにより、プロセッサ110は、第1タイトルTLr1の領域と、第2タイトルTLr2の領域と、テーブルTBrの領域とを、検出する。
【0026】
S122では、プロセッサ110は、テーブル領域を解析することによって、各セルの情報(ここでは、テキスト)と行位置と列位置とを取得する。セルの情報の取得方法は、種々の方法であってよい。例えば、プロセッサ110は、テーブル領域から縦線と横線とを検出する。プロセッサ110は、縦線と横線とで囲まれる領域を、セル領域として検出する。プロセッサ110は、セル領域毎に文字認識処理を実行して、各セルのテキストを取得する。文字認識処理は、文書解析ライブラリLB1の演算を実行することによって、行われてよい。プロセッサ110は、画像内のセル領域の位置を使用して、各セルの行位置と列位置とを取得する。縦線と横線との検出方法は、種々の方法であってよい。例えば、ハフ変換によって、縦線と横線とが検出されてよい。また、複数のセルの間には、線に代えて、隙間が形成され得る。プロセッサ110は、背景領域と1以上のオブジェクト領域とを分離するいわゆるラベリング処理を実行してよい。これにより、プロセッサ110は、背景領域と各セル領域(ここでは、テキストを表す領域)とを分離できる。画像IMr(
図4)のテーブルTBrの領域が処理される場合、プロセッサ110は、5行4列の20個のセルの20個のテキストを検出し得る。
【0027】
プロセッサ110は、第1行(例えば、第1行R1(
図4))を、ヘッダ行として使用する。プロセッサ110は、ヘッダ行の複数のセルから、所定のキーワードを含むセルを検索する(参照セルと呼ぶ)。キーワードは、ページの分類に関連する種々のキーワードであってよい。キーワードは、例えば、「タイトル」と「発表者名」とを含んでよい。
図4の第1行R1からは、「タイトル」を含むセルCLrが、参照セルとして検出される。
【0028】
プロセッサ110は、参照セルを含む参照列を形成する複数のセルのそれぞれの情報を取得する。画像IMr(
図4)のテーブルTBrが処理される場合、参照セルCLrを含む第4列C4が、参照列である。プロセッサ110は、第4列C4から、4個の行R2-R5に対応する4個のセルの4個のテキストTa-Tdを取得する。テキストTa-Tdは、プレゼンテーションのタイトルを表している。これらのテキストTa-Tdのそれぞれは、参照情報の例である(参照情報Ta-Tdとも呼ぶ)。
【0029】
プロセッサ110は、取得した複数の参照情報の順番を、取得する。本実施例では、プロセッサ110は、参照列内での複数の参照情報の並ぶ順番を、複数の参照情報の順番として採用する。プロセッサ110は、参照情報Ta-Td(
図4)の順番として、Ta、Tb、Tc、Tdの順番を採用する。
【0030】
S130(
図2)では、プロセッサ110は、文書を表す入力データを取得する。本実施例では、ユーザは、文書に含まれる複数のページ(ここでは、複数の論文の複数のページ)を、読取実行部170に供給する。プロセッサ110は、読取実行部170に複数のページを読み取らせ、読取実行部170から、複数のページを表すスキャンデータを取得する。このスキャンデータは、入力データの例である。
【0031】
図5(A)は、入力データの例を示す図である。本実施例では、入力データIDは、第1文書Daと第2文書Dbとを含む複数の文書の複数のページを表している(本実施例では、各文書は、論文である)。図中には、第1文書Daの複数のページP11、P12と、第2文書Dbの複数のページP21、P22と、が示されている。第1文書Daは、第1参照情報Ta(
図4)に対応付けられる文書である。第1文書Daの第1ページP11は、第1参照情報Taと同じテキストを含むタイトルTL11を含んでいる。第2文書Dbは、第2参照情報Tb(
図4)に対応付けられる文書である。第2文書Dbの第1ページP21は、第2参照情報Tbと同じテキストを含むタイトルTL21を含んでいる。図示を省略するが、本実施例では、入力データは、4個のプレゼンテーション(
図4)に対応する4個の論文の複数のページを表している。
【0032】
S140(
図2)では、プロセッサ110は、入力データによって表される複数のページを解析することによって、ページ毎の特徴情報を取得する。本実施例では、プロセッサ110は、各ページのレイアウト検出を行い、そして、検出された領域の文字認識を行う。レイアウト検出と文字認識とは、文書解析ライブラリLB1に従って、行われる。
【0033】
図5(B)は、特徴情報の例を表している。特徴情報Fとしては、例えば、ページ番号PNと、日付DYと、タイトルTLと、章番号CNと、
図FGと、図番号FNと、テーブルTBと、テーブル番号TNと、テキストTXと、著者名AUとが、検出される。「Layout Parser」は、図とテーブルとタイトルとテキストとのそれぞれの領域を、検出可能である。本実施例では、プロセッサ110は、テキストから、ページ番号PNと日付DYと章番号CNと図番号FNとテーブル番号TNとを、検出する。
【0034】
ページ番号PNと日付DYと章番号CNと図番号FNとテーブル番号TNとの検出方法は、種々の方法であってよい。例えば、ページ番号PNとしては、ページ端部に位置するテキストによって表される数値が、採用されてよい。ページ端部は、ページの大きさに応じて、調整されてよい。
【0035】
日付DYとしては、例えば、日付を示すフォーマット(例えば、「YYYY(年)/MM(月)/DD(日)」、「YYYY年」など)を有するテキストによって表される日付が、採用されてよい。なお、日付DYとしては、「年」と「月」と「日」とから任意に選択される1以上の要素を含むテキストが、採用されてよい。
【0036】
章番号CNとしては、例えば、タイトルの前部分(例えば、前半部分)に含まれる数値が、採用されてよい。
【0037】
図番号FNとしては、例えば、図の隣(例えば、上隣、または、下隣)に位置するテキストによって表される数値が、採用されてよい。ここで、図番号を示すフォーマット(例えば、「図#(#は数値)」など)を有するテキストが参照されることが好ましい。
【0038】
テーブル番号TNとしては、例えば、テーブルの隣(例えば、上隣、または、下隣)に位置するテキストによって表される数値が、採用されてよい。ここで、テーブル番号を示すフォーマット(例えば、「テーブル#(#は数値)」など)を有するテキストが参照されることが好ましい。
【0039】
著者名AUとしては、例えば、人物名を含むテキストが、採用されてよい。人物名は、例えば、予め準備された人物名リストから選択されてよい。
【0040】
図5(A)には、レイアウト検出と文字認識とによって検出される特徴情報の例が示されている。
図5(A)において、符号の先頭の2文字は、検出される領域の種類を示している。具体的には、「TL」はタイトルを示し、「TX」はテキストを示し、「CN」は章番号を示し、「AU」は著者名を示し、「PN」はページ番号を示し、「FN」は図番号を示し、「TB」はテーブルを示し、「TN」はテーブル番号を示している。
【0041】
S150(
図2)では、プロセッサ110は、参照情報と特徴情報(ひいては、ページ)とのマッチングを行う。本実施例では、プロセッサ110は、入力データによって表されるページ順で、1ページずつ、特徴情報と複数の参照情報とのそれぞれの関連性を評価する。そして、プロセッサ110は、関連性の評価結果を使用して、1個の参照情報に、1枚のページを対応付ける。マッチングの方法は、参照情報と特徴情報との関連性を使用する種々の方法であってよい。本実施例では、プロセッサ110は、以下の優先順のマッチングによって、参照情報に対応付けられるページを決定する。
(第1マッチングMC1)参照情報を含むタイトルを有するページの総数が1である場合、そのページを参照情報に対応付ける。
(第2マッチングMC2)参照情報の登場回数が最も多いページを、参照情報に対応付ける。登場回数は、特徴情報に含まれる参照情報の総数である。
(第3マッチングMC3)参照情報を含む特徴情報を有するページであって、最初に見つかったページを、参照情報に対応付ける。
【0042】
参照情報を含む特徴情報は、その特徴情報を有するページと参照情報との高い関連性を示している。上記のマッチングMC1-MC3は、参照情報に適切なページを対応付けることができる。例えば、タイトルが参照情報を含む場合、そのタイトルを有するページは、参照情報に対応付けられるべきページである可能性が高い。このようなページの例には、例えば、論文の表紙が含まれる。第1マッチングMC1は、このようなページを、参照情報に対応付ける。例えば、
図5(A)の第1文書Daの第1ページP11は、第1参照情報Ta(
図4)を含むタイトルTL11を有している。第1マッチングMC1は、このような第1ページP11を、第1テキストTaに対応つけ得る。
【0043】
複数のページが、参照情報を含むタイトルを有し得る。この場合、プロセッサ110は、第1マッチングMC1によってではなく、第2マッチングMC2、または、第3マッチングMC3によって、参照情報にページを対応付ける。
【0044】
参照情報に対応付けられるべきページは、通常は、参照情報に関連する文章を含んでいる。従って、参照情報に対応付けられるべきページは、1以上の参照情報を含み得る。ここで、ページに含まれる参照情報の総数(すなわち、参照情報の登場回数)が多いほど、そのページが参照情報に対応付けられるべきページである可能性が高い。第2マッチングMC2は、そのような高い可能性を有するページを、参照情報に対応付ける。例えば、
図5(A)の第1文書Daの第2ページP12から検出される特徴情報(ここでは、タイトルTL14、テキストTX13、TX14の全体)は、複数の第1参照情報Ta(
図4)を含み得る。第2マッチングMC2は、このような第2ページP12を、第1テキストTaに対応付け得る。
【0045】
なお、複数のページの間で、参照情報の登場回数が同じであり得る。そして、複数のページが、1ページ当たりの最多の登場回数を示し得る。この場合、プロセッサ110は、第2マッチングMC2によってではなく、第3マッチングMC3によって、参照情報にページを対応付ける。
【0046】
以上のように、S150(
図2)では、プロセッサ110は、マッチングMC1-MC3によって、参照情報にページを対応付ける。これにより、プロセッサ110は、参照情報に対応付けられる文書に含まれるページを参照情報に対応付けることができる。
【0047】
S170では、プロセッサ110は、全てのページが参照情報に対応付けられたか否かを判断する。参照情報との対応関係が未確定であるページ(未確定ページと呼ぶ)が残っている場合(S170:No)、S180(
図3)で、プロセッサ110は、参照情報毎のページグループを形成する。本実施例では、S150(
図2)で、1個の参照情報に、1枚のページが対応付けられる。従って、S180では、1個の参照情報に対応付けられる1個のページグループは、1枚のページで構成される。S120で説明したように、複数の参照情報は、規則データに基づく順番に並んでいる。複数のページグループは、対応する参照情報の順番と同じ順番で、並んでいる。
【0048】
S200では、プロセッサ110は、ページグループと未確定ページとの順番の複数の候補のそれぞれの確信度を算出する(以下、順番の候補を「候補順番」と呼ぶ)。確信度は、候補順番が適切なページの並び順を示す確率を示している。
図6(A)-
図6(C)は、複数の候補順番の例を示す図である。
【0049】
図6(A)の2つの候補順番Ca1、C1aは、第1ページグループG1と第1未確定ページPuaとの順番を示している。候補順番Ca1は、第1ページグループG1が第1未確定ページPuaに続くことを示し、候補順番C1aは、第1未確定ページPuaが第1ページグループG1に続くことを示している。確信度VCa1、VC1aは、候補順番Ca1、C1aの確信度を、それぞれ示している。
【0050】
図6(B)は、
図6(A)の第1ページグループG1を第2ページグループG2に置換して得られる順番を示している。候補順番Ca2は、第1未確定ページPuaが第2ページグループG2の前に位置することを示し、候補順番C2aは、第1未確定ページPuaが第2ページグループG2の後ろに位置することを示している。確信度VCa2、VC2aは、候補順番Ca2、C2aの確信度を、それぞれ示している。
【0051】
図6(C)は、
図6(A)の第1未確定ページPuaを第2未確定ページPubに置換して得られる順番を示している。候補順番Cb1は、第2未確定ページPubが第1ページグループG1の前に位置することを示し、候補順番C1bは、第2未確定ページPubが第1ページグループG1の後ろに位置することを示している。確信度VCb1、VC1bは、候補順番Cb1、C1bの確信度を、それぞれ示している。
【0052】
図示を省略するが、プロセッサ110は、ページグループと未確定ページとの全てのペアの全ての順番のそれぞれの確信度を算出する。確信度の算出には、未確定ページと、ページグループ中の未確定ページの隣のページとの、2枚のページのそれぞれの特徴情報が使用される。例えば、
図6(A)の候補順番Ca1の確信度VCa1のためには、第1未確定ページPuaと、その隣のページPg1F(すなわち、第1ページグループG1の最初のページPg1F)と、が使用される。候補順番C1aの確信度VC1aのためには、第1未確定ページPuaと、その隣のページPg1L(すなわち、第1ページグループG1の最後のページPg1L)と、が使用される。なお、第1ページグループG1に含まれるページの総数が1である場合、最後のページPg1Lは、最初のページPg1Fと同じである。他のベージグループについても、同様である。
【0053】
このように、確信度の算出に使用される2枚のページは、先ページと、先ページに続く後ページと、で構成される。本実施例では、確信度は、ゼロ以上、1以下の値に設定される。確信度=1は、後ページが先ページに続くべき適切なページであることを示している。確信度=ゼロは、後ページが先ページに対して不適切であることを示している。例えば、先ページが、第1文書Da(
図5(A))の第1ページP11であり、後ページが、同じ第1文書Daの第2ページP12である場合、確信度は1に近くなる。先ページが、第1文書Daの第1ページP11であり、後ページが、第2文書Dbの第2ページP22である場合、先ページと後ページとの間で文書が異なるので、確信度は、ゼロに近くなる。先ページが、第1文書Daの第2ページP12であり、後ページが、第1文書Daの第1ページP11である場合、ページの順番が逆であるので、確信度はゼロに近くなる。
【0054】
S200(
図3)では、プロセッサ110は、複数の候補順番のそれぞれの確信度を算出する。確信度の算出の詳細については、後述する。
【0055】
S210では、プロセッサ110は、最も高い確信度を示す候補順番を、処理対象の順番である対象候補として採用する。プロセッサ110は、対象候補に従って、対象候補に対応付けられる1枚の未確定ページ(対象ページと呼ぶ)の順番を決定する。プロセッサ110は、対象ページを、対象候補に対応付けられるページグループに追加する。
【0056】
S220では、プロセッサ110は、全てのページの順番が決定されたか否かを判断する。未確定ページが残っている場合(S220:No)、プロセッサ110は、S200へ移行する。プロセッサ110は、S200、S210の処理を実行することによって、新たに、未確定ページの順番を決定する。
【0057】
全てのページの順番が決定された場合(S220:Yes)、プロセッサ110は、ST230へ移行する。S170(
図2)で、全てのページが参照情報に対応付けられる場合(S170:Yes)、プロセッサ110は、S230へ移行する。
【0058】
S230で、プロセッサ110は、規則順番を、現行のページ順番に決定する。規則順番は、規則データによって表される対象規則に基づく複数のページの並ぶべき順番である。現行のページ順番は、参照情報の順番に並ぶ複数のページグループによって定められる順番である。S120で説明したように、複数の参照情報の順番は、規則データによって定められる。S150で説明したように、複数の参照情報のそれぞれには、参照情報との高い関連性を有するページが、対応付けられる。S200、S210で説明したように、参照情報に対応付けられるページグループには、ページグループに含まれるページと関連を有する未確定ページが、適切な順番で、追加される。従って、現行のページ順番は、複数の参照情報の順番と同じ順番で、複数の論文を表し得る。そして、論文が複数のページを含む場合、現行のページ順番は、その論文の複数のページを適切な順番で表し得る。プロセッサ110は、このような現行のページ順番を、規則順番として採用する。
【0059】
S240では、プロセッサ110は、規則順番に並ぶ複数のページを表す出力データを生成する。プロセッサ110は、入力データによって表される複数のページを、規則順番に従って並べ直すことによって、出力データを生成する。出力データのデータ形式は、種々の形式であってよい(例えば、PDF、XPS(XML Paper Specification)、PCL(Printer Control Language)、GDI(Graphics Device Interface)、PostScript(登録商標)など)。
【0060】
出力データが1個のデータファイルを形成する場合、データファイルには、複数のページの順番を定める順番データが、含まれ得る。例えば、PDFデータは、複数のページの順番を定める順番データを含んでいる。プロセッサ110は、規則順番に基づいて、順番データを設定する。
【0061】
S250では、プロセッサ110は、出力データを出力する。プロセッサ110は、出力データを印刷実行部160に出力することによって、出力データによって表される画像を印刷実行部160に印刷させてよい。プロセッサ110は、出力データを表示部140に出力することによって、出力データによって表される画像を表示部140に表示させてよい。プロセッサ110は、出力データを記憶装置に出力することによって、出力データを記憶装置に格納してよい。ここで、記憶装置は、種々の記憶装置であってよく、例えば、不揮発性記憶装置130、通信インタフェース180に接続される図示しない記憶装置(例えば、USBフラッシュドライブ)、通信インタフェース180を介して通信可能なサーバの記憶装置、のいずれかであってよい。このように、出力データの出力先は、印刷装置、表示装置、記憶装置など、種々の装置であってよい。
【0062】
S250の後、プロセッサ110は、
図2、
図3の画像処理を終了する。
【0063】
A3.確信度の算出処理:
A3-1.比較特徴情報Fd:
S200(
図3)における各候補順番の確信度の算出処理について説明する。確信度の算出方法は、候補順番が適切である場合に高い確信度を算出し、候補順番が不適切である場合に低い確信度を算出するような、種々の方法であってよい。本実施例では、プロセッサ110は、順番評価モデルM1を使用して、確信度を算出する。
図7(A)-
図7(C)は、確信度の算出の説明図である。
図7(A)は、順番評価モデルM1の例を表している。順番評価モデルM1は、候補順番に対応付けられる比較特徴情報Fdを使用して、確信度VCを出力する。確信度VCは、ゼロ以上、1以下の値に設定される。
【0064】
まず、比較特徴情報Fdについて説明する。本実施例では、プロセッサ110は、先ページと後ページとの2枚のページのそれぞれの特徴情報を使用して比較特徴情報Fdを算出する。先ページは、未確定ページと、ページグループ中の未確定ページの隣のページと、のうちの、先行するページである。後ページは、先ページに続くページである。以下、先ページの特徴情報を先特徴情報Faと呼び、後ページの特徴情報を後特徴情報Fbと呼ぶ。例えば、候補順番Ca1(
図6(A))の確信度VCa1の算出では、第1未確定ページPuaの特徴情報が先特徴情報Faであり、第1ページグループG1のページPg1Fの特徴情報が後特徴情報Fbである。特徴情報Fa、Fbは、
図5(B)に示す種々の情報を含み得る。
【0065】
比較特徴情報Fdは、先特徴情報Faと後特徴情報Fbとを使用して算出される。
図7(B)は、比較特徴情報Fdの例を示す図である。本実施例では、比較特徴情報Fdは、複数の特徴ベクトルFd1-Fd12を連結して得られるベクトルである(図中の関数Cvは、引数に含まれる複数のベクトルの連結ベクトルを返す)。
【0066】
図7(C)は、特徴ベクトルFd1-Fd12の例を示す図である。特徴ベクトルFd1-Fd12は、先ページと後ページとの互いに異なる観点からの比較結果を示している。概要は、以下の通りである。
Fd1 :ページ番号PNの差分
Fd2 :日付DYの差分
Fd3 :タイトルTLの類似度SM3
Fd4 :テキストTXの類似度SM4
Fd5 :
図FGの類似度SM5
Fd6 :章番号CNの差分
Fd7 :章番号CNの登場に関連する情報
Fd8 :図番号FNの差分
Fd9 :図番号FNの登場に関連する情報
Fd10:テーブル番号TNの差分
Fd11:テーブル番号TNの登場に関連する情報
Fd12:文章の繋がりやすさを示す情報
【0067】
以下に説明するように、特徴ベクトルFd1-Fd12は、いずれも、先ページに対する後ページの適切さに応じて変化する。従って、比較特徴情報Fdも、先ページに対する後ページの適切さに応じて変化する。
【0068】
第1特徴ベクトルFd1は、ページ番号PNの差分を示す1次元ベクトルである(Fd1=PNa-PNb)。先ページ番号PNaは、先特徴情報Faに含まれるページ番号PNを示し、後ページ番号PNbは、後特徴情報Fbに含まれるページ番号PNを示している。後ページが先ページに続くべき適切なページである場合、通常は、Fd1=-1である。後ページが先ページに対して不適切である場合、Fd1は-1とは異なり得る。
【0069】
第2特徴ベクトルFd2は、日付DYの差分を示す1次元ベクトルである(Fd2=DYa-DYb)。先日付DYaは、先特徴情報Faに含まれる日付DYを示し、後日付DYbは、後特徴情報Fbに含まれる日付DYを示している。先特徴情報Faが複数の日付DYを含む場合、先日付DYaの決定方法は、種々の方法であってよい。例えば、先日付DYaは、先ページにおいて、最初に登場する日付DY、または、最後に登場する日付DYであってよい。後日付DYbについても、同様である。
【0070】
同じ文書の複数のページは、異なる日付の情報を表し得る。ここで、複数のページの適切な順番は、日付の昇順であり得る。例えば、2022年の情報を表すページは、2021年の情報を表すページの後ろに配置され得る。このように、後ページが、先ページよりも新しい日付を表す場合、Fd2は、マイナスである。また、先ページと後ページとが同じ文書に含まれる場合、先ページと後ページとには同じ日付が記載され得る。この場合、Fd2=ゼロである。先ページと後ページとが互いに異なる文書に含まれる場合、先ページと後ページとには互いに無関係の日付が記載され得る。この場合、Fd2はゼロとは異なる種々の値であり得る。このように、第2特徴ベクトルFd2は、先ページに対する後ページの適切さに応じて、変化する。
【0071】
第3特徴ベクトルFd3は、タイトルTLの類似度SM3(TLa、TLb)を示す1次元ベクトルである。先タイトルTLaは、先特徴情報Faに含まれるタイトルTLを示し、後タイトルTLbは、後特徴情報Fbに含まれるタイトルTLを示している。先特徴情報Faが複数のタイトルTLを含む場合、先タイトルTLaの決定方法は、種々の方法であってよい。例えば、先タイトルTLaは、先ページにおいて最初に登場するタイトルTL、または、先特徴情報Faに含まれる全てのタイトルTLを連結して得られるテキストであってよい。後タイトルTLbについても、同様である。
【0072】
類似度SM3は、2つのタイトルTLa、TLbの類似度を示している。類似度SM3の算出方法は、2つのタイトルTLa、TLbの間の内容の類似度を算出する種々の方法であってよい。本実施例では、プロセッサ110は、タイトルTLa、TLbのそれぞれを、ベクトル化する。そして、プロセッサ110は、2つのベクトルのコサイン類似度を、類似度SM3として算出する。テキストをベクトル化する方法は、種々の方法であってよい。本実施例では、プロセッサ110は、言語表現モデルM2を使用して、テキストをベクトル化する。言語表現モデルM2は、テキストをベクトル化する種々の訓練済のモデルであってよい。本実施例では、言語表現モデルM2は、「BERT(Bidirectional Encoder Representations from Transformers)」と呼ばれる機械学習モデルである。BERTモデルは、以下の論文に開示されている。
Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova, "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding", arXiv:1810.04805, May 24, 2019, https://arxiv.org/abs/1810.04805
【0073】
言語表現モデルM2の訓練方法としては、BERTの上記論文に開示の訓練方法を採用可能である。この訓練方法は、事前訓練と、ファインチューニングとを、含んでいる。
【0074】
処理対象のテキストは、BERTモデルに入力するために、複数の単語に分解される。そして、単語列を表すトークン列が、BERTモデルに入力される。文章をトークン列に変換するために、トークナイザが使用される。トークナイザの構成(ひいては、文章をトークン列に変換する方法)としては、トークン列を処理する機械学習モデルに適する種々の構成を採用可能である。訓練済のBERTモデルとトークナイザとしては、処理対象の言語に適するものが、採用される。種々の訓練済のBERTモデルと種々のトークナイザとは、以下のURLで公開されている。公開されている訓練済のモデルとトークナイザとが、採用されてよい。
https://huggingface.co/
【0075】
プロセッサ110は、処理対象のテキスト(ここでは、先タイトルTLa、または、後タイトルTLb)を使用してトークナイザの演算を行うことによって、トークン列を生成する。プロセッサ110は、生成したトークン列を使用して言語表現モデルM2の演算を実行する。これにより、トークン毎のベクトルが、算出される。プロセッサ110は、算出されるトークン毎のベクトルを集約することによって、テキストを表す1個のベクトルを生成する。複数のベクトルの集約方法は、種々の方法であってよい。例えば、プロセッサ110は、複数のベクトルの平均を表す1個のベクトルを算出してよい(このように平均を表すデータを生成する処理は、Mean-Poolingとも呼ばれる)。これに代えて、プロセッサ110は、複数のベクトルの各次元の最大値を選択して1個のベクトルを生成してよい(このように最大値を表すデータを生成する処理は、Max-Poolingとも呼ばれる)。プロセッサ110は、先タイトルTLaから得られるベクトルと、後タイトルTLbから得られるベクトルとの、コサイン類似度(すなわち、類似度SM3)を算出する。
【0076】
後ページが先ページに続くべき適切なページである場合、先ページと後ページとには類似するタイトルが記載される可能性が高い。すなわち、Fd3は正値である可能性が高い。後ページが先ページに対して不適切である場合、先ページと後ページとには非類似なタイトルが記載される可能性が高い。すなわち、Fd3は負値である可能性が高い。このように、第3特徴ベクトルFd3は、先ページに対する後ページの適切さに応じて、変化する。
【0077】
第4特徴ベクトルFd4は、テキストTXの類似度SM4(TXa、TXb)を示す1次元ベクトルである。先テキストTXaは、先特徴情報Faに含まれるテキストTXを示し、後テキストTXbは、後特徴情報Fbに含まれるテキストTXを示している。先特徴情報Faが複数のテキストTXを含む場合、先テキストTXaの決定方法は、種々の方法であってよい。例えば、先テキストTXaは、先ページにおいて最初に登場するテキストTX、または、先特徴情報Faに含まれる全てのテキストTXを連結して得られるテキストであってよい。後テキストTXbについても、同様である。
【0078】
類似度SM4は、2つのテキストTXa、TXbの類似度を示している。プロセッサ110は、テキストTXa、TXbのそれぞれをベクトル化し、2つのベクトルのコサイン類似度を類似度SM4として算出する。ベクトル化には、言語表現モデルM2が使用される。テキストTXは、タイトルTLとは異なり、言語表現モデルM2に入力可能なトークンの最大数よりも、多い数の単語を含み得る。本実施例では、プロセッサ110は、テキストの要約文を生成し、要約文をベクトル化する。テキストから要約文を生成する方法は、種々の方法であってよい。本実施例では、プロセッサ110は、要約モデルM3を使用して、要約文を生成する。要約モデルM3は、テキストから要約文を生成する種々の訓練済のモデルであってよい。本実施例では、要約モデルM3は、「PEGASUS」と呼ばれる機械学習モデルである。PEGASUSモデルは、以下の論文に開示されている。
Jingqing Zhang, Yao Zhao, Mohammad Saleh, Peter J. Liu, "PEGASUS: Pre-training with Extracted Gap-sentences for Abstractive Summarization ", arXiv:1912.08777, July 10, 2020, https://arxiv.org/abs/1912.08777
【0079】
要約モデルM3の訓練方法としては、PEGASUSの上記論文に開示の訓練方法を採用可能である。
【0080】
PEGASUSモデルにテキストを入力する場合も、トークナイザが使用される。訓練済のPEGASUSモデルとトークナイザとは、以下のURLで公開されている。公開されている訓練済のモデルとトークナイザとが、採用されてよい。
https://huggingface.co/
【0081】
なお、公開されているPEGASUSモデルは、英語を処理するように構成されている。他の言語(例えば、日本語)の処理のためには、他の訓練済のモデルが使用されてよい。例えば、要約モデルM3は、T5(Text-To-Text Transfer Transformer)と呼ばれる機械学習モデルであってよい。T5モデルは、以下の論文に開示されている。
Colin Raffel, Noam Shazeer, Adam Roberts, Katherine Lee, Sharan Narang, Michael Matena, Yanqi Zhou, Wei Li, Peter J. Liu, "Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer", arXiv:1910.10683, July 28, 2020, https://arxiv.org/abs/1910.10683
【0082】
T5モデルの訓練方法としては、T5モデルの上記論文に開示の訓練方法を採用可能である。また、種々の言語の訓練済T5モデルとトークナイザとは、以下のURLで公開されている。
https://huggingface.co/
【0083】
公開されている訓練済のモデルのファインチューニングによって、要約モデルM3が生成されてよい。T5モデルのファインチューニング方法としては、T5モデルの上記論文に開示の方法を採用可能である。T5モデルのファインチューニングには、テキストと要約のペアが使用される。テキストと要約のペアとしては、例えば、ニュースウェブサイトの記事の本文とサマリーが使用されてよい。
【0084】
プロセッサ110は、処理対象のテキスト(ここでは、先テキストTXa、または、後テキストTXb)を使用して要約モデルM3の演算を実行することによって、要約文を生成する。ここで、プロセッサ110は、要約モデルM3のトークナイザの演算を行うことによって得られるトークン列を、要約モデルM3に入力してよい。プロセッサ110は、要約文を使用して、言語表現モデルM2のためのトークナイザの演算を行うことによって、トークン列を生成する。プロセッサ110は、生成したトークン列を使用して言語表現モデルM2の演算を実行することによって、トークン毎のベクトルを算出する。プロセッサ110は、算出されるトークン毎のベクトルを集約することによって、テキストを表す1個のベクトルを生成する。集約方法は、第3特徴ベクトルFd3のための集約方法と同じであってよい。プロセッサ110は、先テキストTXaから得られるベクトルと、後テキストTXbから得られるベクトルとの、コサイン類似度(すなわち、類似度SM4)を算出する。
【0085】
後ページが先ページに続くべき適切なページである場合、互いに関連する内容を表すテキストが先ページと後ページとに記載される可能性が高い。すなわち、Fd4は正値である可能性が高い。後ページが先ページに対して不適切である場合、互いに無関係な内容を表すテキストが先ページと後ページとに記載される可能性が高い。すなわち、Fd4は負値である可能性が高い。このように、第4特徴ベクトルFd4は、先ページに対する後ページの適切さに応じて、変化する。
【0086】
第5特徴ベクトルFd5は、
図FGの類似度SM5(FGa、FGb)を示す1次元ベクトルである。先
図FGaは、先特徴情報Faに含まれる
図FGを示し、後
図FGbは、後特徴情報Fbに含まれる
図FGを示している。先特徴情報Faが複数の
図FGを含む場合、先
図FGaの決定方法は、種々の方法であってよい。例えば、先
図FGaは、先ページにおいて最初に登場する
図FG、先ページにおいて最も大きい
図FG、または、先特徴情報Faに含まれる全ての
図FGを連結して得られる図、のいずれかであってよい。後
図FGbについても、同様である。
【0087】
類似度SM5は、2つの
図FGa、FGbの類似度を示している。プロセッサ110は、
図FGa、FGbのそれぞれのキャプションを生成し、2つのキャプションのそれぞれをベクトル化し、2つのベクトルのコサイン類似度を類似度SM5として算出する。キャプションの生成方法は、種々の方法であってよい。本実施例では、プロセッサ110は、キャプションモデルM4を使用して、図からキャプションを生成する。キャプションモデルM4は、図からキャプションを生成する種々の訓練済のモデルであってよい。本実施例では、キャプションモデルM4は、「DenseCap」と呼ばれる機械学習モデルである。DenseCapモデルは、以下の論文に開示されている。
Justin Johnson, Andrej Karpathy, Li Fei-Fei, "DenseCap: Fully Convolutional Localization Networks for Dense Captioning", arXiv:1511.07571, 24 Nov 2015, https://arxiv.org/abs/1511.07571
【0088】
キャプションモデルM4の訓練方法としては、DenseCapの上記論文に開示の訓練方法を採用可能である。また、訓練済のDenseCapモデルは、以下のURLで公開されている。公開されている訓練済のモデルが、キャプションモデルM4として採用されてよい。
https://github.com/jcjohnson/densecap
【0089】
なお、公開されているDenseCapモデルは、英語のキャプションを生成する。他の言語(例えば、日本語)の処理のためには、プロセッサ110は、英語のキャプションを、処理対象の言語に翻訳してよい。翻訳方法は、種々の方法であってよい。本実施例では、プロセッサ110は、機械翻訳モデルM5を使用して、翻訳を行う。機械翻訳モデルM5は、入力されたテキストを使用して別の言語のテキストを生成する種々の訓練済のモデルであってよい。本実施例では、機械翻訳モデルM5は、「Transformer」と呼ばれる機械学習モデルである。Transformerモデルは、以下の論文に開示されている。
Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin, "Attention Is All You Need", arXiv:1706.03762, 6 Dec 2017, https://arxiv.org/abs/1706.03762
【0090】
機械翻訳モデルM5の訓練方法としては、Transformerの上記論文に開示の訓練方法を採用可能である。なお、機械翻訳モデルM5は、Transformerに基づく他のモデルであってよい。機械翻訳モデルM5は、Transformerに基づく機械翻訳モデルのエンコーダ部分をBERTモデルに置換して得られるモデルであってよい。
【0091】
プロセッサ110は、処理対象の図(ここでは、先
図FGa、または、後
図FGb)を使用してキャプションモデルM4の演算を行うことによって、キャプションを生成する。プロセッサ110は、生成されたキャプションを使用して機械翻訳モデルM5の演算を行うことによって、処理対象の言語のキャプションを生成する。プロセッサ110は、生成されたキャプションを使用して言語表現モデルM2の演算を行うことによって、キャプションを表すベクトルを生成する。ベクトルの生成方法は、特徴ベクトルFd3、Fd4の算出において、タイトル、または、テキストからベクトルを生成する方法と、同じである。プロセッサ110は、先
図FGaから得られるベクトルと、後
図FGbから得られるベクトルとの、コサイン類似度(すなわち、類似度SM5)を算出する。
【0092】
後ページが先ページに続くべき適切なページである場合、先ページと後ページとには類似する図が記載される可能性が高い。すなわち、Fd5は正値である可能性が高い。後ページが先ページに対して不適切である場合、先ページと後ページとには非類似な図が記載される可能性が高い。すなわち、Fd5は負値である可能性が高い。このように、第5特徴ベクトルFd5は、先ページに対する後ページの適切さに応じて、変化する。
【0093】
第6特徴ベクトルFd6は、章番号CNの差分を示す1次元ベクトルである(Fd6=CNa-CNb)。先章番号CNaは、先特徴情報Faに含まれる章番号CNを示し、後章番号CNbは、後特徴情報Fbに含まれる章番号CNを示している。先特徴情報Faが複数の章番号CNを含む場合、先章番号CNaの決定方法は、種々の方法であってよい。例えば、先章番号CNaは、先ページにおいて最後に登場する章番号CNであってよい。後特徴情報Fbが複数の章番号CNを含む場合、後章番号CNbは、後ページにおいて最初に登場する章番号CNであってよい。後ページが先ページに続くべき適切なページである場合、Fd6=-1である。後ページが先ページに対して不適切である場合、Fd6は、-1とは異なり得る。このように、第6特徴ベクトルFd6は、先ページに対する後ページの適切さに応じて、変化する。
【0094】
第7特徴ベクトルFd7は、章番号CNの登場に関連する章特徴情報RF7である。章特徴情報RF7は、以下のように定められる2次元のone-hotベクトルである。
RF7=[1,0]:以下の条件7aが満たされる。
RF7=[0,1]:以下の条件7bが満たされる。
RF7=[0,0]:条件7a、7bの両方が満たされない。
条件7a:先特徴情報Faに含まれるテキストTXが後章番号CNbを含む。
条件7b:後特徴情報Fbに含まれるテキストTXが先章番号CNaを含む。
【0095】
後ページが先ページに続くべき適切なページである場合、先ページに含まれる章番号CNaは、後ページのテキストで参照され得る。すなわち、条件7bは、満たされ易い。また、後ページに含まれる章番号CNbが先ページのテキストで参照される可能性は、小さい。すなわち、条件7aが満たされる可能性は、小さい。後ページが先ページに対して不適切である場合、条件7aが満たされる可能性は、より大きく、条件7bが満たされる可能性は、より小さい。このように、章特徴情報RF7(すなわち、第7特徴ベクトルFd7)は、先ページに対する後ページの適切さに応じて、変化する。なお、条件7a、7bの両方が満たされる場合、章特徴情報RF7は、予め決められたベクトル(例えば、[0,0])に設定されてよい。
【0096】
第8特徴ベクトルFd8は、第6特徴ベクトルFd6の章番号CNを図番号FNに置き換えて得られる1次元ベクトルである(Fd8=FNa-FNb)。先図番号FNaは、先特徴情報Faに含まれる図番号FNを示し、後図番号FNbは、後特徴情報Fbに含まれる図番号FNを示している。先特徴情報Faが複数の図番号FNを含む場合、先図番号FNaは、先ページにおいて最後に登場する図番号FNであってよい。後特徴情報Fbが複数の図番号FNを含む場合、後図番号FNbは、後ページにおいて最初に登場する図番号FNであってよい。後ページが先ページに続くべき適切なページである場合、Fd8=-1である。後ページが先ページに対して不適切である場合、Fd8は、-1とは異なり得る。このように、第8特徴ベクトルFd8は、先ページに対する後ページの適切さに応じて、変化する。
【0097】
第9特徴ベクトルFd9は、図番号FNの登場に関連する図特徴情報RF9であり、第6特徴ベクトルFd6の章番号CNを図番号FNに置き換えて得られる。図特徴情報RF9は、以下のように定められる2次元のone-hotベクトルである。
RF9=[1,0]:以下の条件9aが満たされる。
RF9=[0,1]:以下の条件9bが満たされる。
RF9=[0,0]:条件9a、9bの両方が満たされない。
条件9a:先特徴情報Faに含まれるテキストTXが後図番号FNbを含む。
条件9b:後特徴情報Fbに含まれるテキストTXが先図番号FNaを含む。
図特徴情報RF9(すなわち、第9特徴ベクトルFd9)は、第7特徴ベクトルFd7と同様に、先ページに対する後ページの適切さに応じて、変化する。なお、条件9a、9bの両方が満たされる場合、図特徴情報RF9は、予め決められたベクトル(例えば、[0,0])に設定されてよい。
【0098】
第10特徴ベクトルFd10は、第6特徴ベクトルFd6の章番号CNをテーブル番号TNに置き換えて得られる1次元ベクトルである(Fd10=TNa-TNb)。先テーブル番号TNaは、先特徴情報Faに含まれるテーブル番号TNを示し、後テーブル番号TNbは、後特徴情報Fbに含まれるテーブル番号TNを示している。先特徴情報Faが複数のテーブル番号TNを含む場合、先テーブル番号TNaは、先ページにおいて最後に登場するテーブル番号TNであってよい。後特徴情報Fbが複数のテーブル番号TNを含む場合、後テーブル番号TNbは、後ページにおいて最初に登場するテーブル番号TNであってよい。後ページが先ページに続くべき適切なページである場合、Fd10=-1である。後ページが先ページに対して不適切である場合、Fd10は、-1とは異なり得る。このように、第10特徴ベクトルFd10は、先ページに対する後ページの適切さに応じて、変化する。
【0099】
第11特徴ベクトルFd11は、テーブル番号TNの登場に関連するテーブル特徴情報RF11であり、第6特徴ベクトルFd6の章番号CNをテーブル番号TNに置き換えて得られる。テーブル特徴情報RF11は、以下のように定められる2次元のone-hotベクトルである。
RF11=[1,0]:以下の条件11aが満たされる。
RF11=[0,1]:以下の条件11bが満たされる。
RF11=[0,0]:条件11a、11bの両方が満たされない。
条件11a:先特徴情報Faに含まれるテキストTXが後テーブル番号TNbを含む。
条件11b:後特徴情報Fbに含まれるテキストTXが先テーブル番号TNaを含む。
テーブル特徴情報RF11(すなわち、第11特徴ベクトルFd11)は、第7特徴ベクトルFd7と同様に、先ページに対する後ページの適切さに応じて、変化する。なお、条件11a、11bの両方が満たされる場合、テーブル特徴情報RF11は、予め決められたベクトル(例えば、[0,0])に設定されてよい。
【0100】
第12特徴ベクトルFd12は、先ページと後ページとの間の文章の繋がりやすさを示す評価値V12(TXaL、TXbF)を示す1次元ベクトルである。この評価値V12は、先ページにおいて最後に登場する先テキストTXaLと、後ページにおいて最初に登場する後テキストTXbFと、を使用して算出される。評価値V12は、先テキストTXaLと、先テキストTXaLに続く後テキストTXbFと、で構成される1つの連結文の文法的な容認性を示している。本実施例では、評価値V12は、ゼロ以上、1以下の値に設定される。V12=1は、連結文が自然であることを示し、V12=0は、連結文が不自然であることを示している。
【0101】
評価値V12を算出する方法は、種々の方法であってよい。本実施例では、プロセッサ110は、文分類モデルM6を使用して、連結文の評価値V12を算出する。文分類モデルM6は、文の文法的な容認性を算出する種々の訓練済のモデルであってよい。本実施例では、文分類モデルM6は、評価値V12を算出するための分類器をBERTモデルに追加して得られる機械学習モデルである。BERTモデルとしては、公開されている訓練済のモデルを採用可能である。分類器は、BERTモデルから出力される複数のベクトルを集約して1個のベクトルを生成する集約層と、1個のベクトルを使用して評価値V12を出力する出力層と、を含んでよい。集約層による複数のベクトルを集約する方法は、第3特徴ベクトルFd3の類似度SM3で説明した「Max-Pooling」または「Mean-Pooling」であってよい。出力層は、1個のベクトルの複数の成分を使用して1次元の評価値V12を出力する種々の層であってよい。出力層は、例えば、全結合層であってよい。出力層の活性化関数は、シグモイド関数、または、Tanh関数であってよい。
【0102】
文分類モデルM6は、CoLA(Corpus of Linguistic Acceptability)と呼ばれるデータセットを使用して訓練されてよい。このデータセットは、文法的または非文法的とラベル付けされた複数の文のセットである。ここで、訓練済のBERTモデルのパラメータが固定された状態で、分類器がCoLAを使用して訓練されてよい。これに代えて、文分類モデルM6の全体が、CoLAを使用して訓練されてよい。いずれの場合も、入力文が文法的である場合に、1に近い評価値V12が出力され、入力文が非文法的である場合に、0に近い評価値V12が出力されるように、文分類モデルM6は訓練される。
【0103】
以上のように、S200(
図3)では、プロセッサ110は、特徴ベクトルFd1-Fd12を算出する。なお、先特徴情報Fa、または、後特徴情報Fbが、特徴ベクトルの算出に使用される特徴情報を含まない場合がある。例えば、後ページが図を含まない場合、後特徴情報Fbは、第5特徴ベクトルFd5の算出のための後
図FGbを含まない。この場合、プロセッサ110は、特徴ベクトルとして、予め決められたベクトル(例えば、後ページが先ページに対して適切であることを示すベクトル、または、後ページが先ページに対して不適切であることを示すベクトル)を採用してよい。
【0104】
プロセッサ110は、特徴ベクトルFd1-Fd12を連結することによって、比較特徴情報Fdを生成する。ここで、プロセッサ110は、特徴ベクトルFd1-Fd12のそれぞれを正規化し、正規化された特徴ベクトルFd1-Fd12を連結することが好ましい。
【0105】
A3-2.順番評価モデルM1:
プロセッサ110は、比較特徴情報Fdを順番評価モデルM1(
図7(A))に入力することによって、確信度VCを算出する。本実施例では、順番評価モデルM1は、m個(mは2以上の整数)の層L1-Lmを含んでいる。m個の層L1-Lmは、この順番に接続されている。各層L1-Lmの構成は、入力されるデータの特徴を表す出力データを生成する種々の構成であってよい。例えば、L1からLkまでのk個の層(kは1以上、m未満の整数)は、畳込層を含み、Lk+1からLmまでのm-k個の層は、全結合層を含んでよい。このような順番評価モデルM1は、畳込ニューラルネットワークとも呼ばれる。各層における入力データの次元数と出力データの次元数とは、種々に設定されてよい。各層の活性化関数は、ReLU(Rectified Linear Unit)など、種々の関数であってよい。なお、最終層Lmの活性化関数としては、確信度VCの生成に適する関数(例えば、Tanh関数、または、シグモイド関数)が使用される。各層L1-Lmは、重みやバイアスなどの種々の演算パラメータを有している。
【0106】
A3-3.順番評価モデルM1の生成処理:
図8は、順番評価モデルM1の生成処理の例を示すフローチャートである。生成処理は、複合機100によって行われてよく、これに代えて、図示しないコンピュータによって行われてよい。以下、図示しないコンピュータによって順番評価モデルM1が生成されることとして、説明を行う。
【0107】
S910では、コンピュータは、複数の文書の複数のページデータを取得する。本実施例では、予め、複数の文書の複数のページを読取実行部(例えば、
図1の読取実行部170)によって読み取ることによって、ページ毎のスキャンデータが生成される。複数のページのそれぞれのスキャンデータは、コンピュータの図示しない記憶装置に、格納される。コンピュータは、記憶装置から、スキャンデータを、ページデータとして、取得する。
【0108】
S920では、コンピュータは、各ページデータの特徴情報を取得する。特徴情報の取得方法は、
図2のS140における取得方法と同じである。
【0109】
S930では、コンピュータは、訓練データを生成する。具体的には、コンピュータは、2個のページデータによって表される先ページと後ページとのペアを、訓練ペアとして使用する。コンピュータは、複数の訓練ペアのそれぞれに対して、先ページのページデータと後ページのページデータとを使用して比較特徴情報Fdを算出する。比較特徴情報Fdの算出方法は、S200(
図3)における比較特徴情報Fdの算出方法と同じである。複数の訓練ペアは、予め決められてよく、コンピュータによってランダムに決定されてよい。
【0110】
コンピュータは、複数の訓練ペアのそれぞれに対して、正解確信度VCcを決定する。正解確信度VCcは、以下のように、決定される。
(1)訓練ペアの2枚のページが連続するページであり、かつ、後ページが先ページに続くべきページである:VCc=1
(2)その他の場合:VCc=0
その他の場合は、以下の場合を含んでいる。
(A)訓練ペアの2枚のページが連続するページではない場合
(B)訓練ペアの2枚のページの順番が誤っている場合
【0111】
訓練データは、同じ訓練ペアに対応付けられる入力データと正解データとを含んでいる。入力データは、比較特徴情報Fdを表し、正解データは、正解確信度VCcを表している。コンピュータは、複数の訓練ペアを使用して、複数の訓練データを生成する。
【0112】
S940では、コンピュータは、S930で生成された複数の訓練データから、複数の訓練データで構成されるサブセットを取得する。サブセットとしては、未処理の訓練データが選択される。サブセットの訓練データの総数は、予め決められてよい。
【0113】
S950では、コンピュータは、サブセットの訓練データの入力データを順番評価モデルM1に入力することによって、確信度VCを算出する。コンピュータは、順番評価モデルM1の各層L1-Lmの演算パラメータを使用して各層L1-Lmの演算を行うことによって、確信度VCを算出する。確信度VCの算出は、サブセットに含まれる訓練データ毎に行われる。
【0114】
S960では、コンピュータは、確信度VCと正解確信度VCcとの複数の組み合わせを使用して、損失を算出する。損失は、確信度VCと正解確信度VCcとの間の差を示す種々の値であってよい(例えば、平均二乗誤差、または、平均絶対誤差)。
【0115】
S970では、コンピュータは、損失が小さくなるように、順番評価モデルM1の複数の演算パラメータを調整する。調整のためのアルゴリズムとしては、例えば、誤差逆伝播法と勾配降下法とを使用するアルゴリズムが採用されてよい。ここで、いわゆるAdamの最適化が行われてよい。
【0116】
S980では、コンピュータは、終了条件が満たされるか否かを判断する。終了条件は、順番評価モデルM1が適切に訓練されたことを示す任意の条件であってよい。本実施例では、終了条件は、訓練に使用されていない所定数の訓練データを使用して算出される損失が、所定の損失閾値以下であることである。
【0117】
終了条件が満たされない場合(S980:No)、コンピュータは、S940へ移行し、新たなサブセットの処理を実行する。終了条件が満たされる場合(S980:Yes)、S990で、コンピュータは、訓練済の順番評価モデルM1のデータを、コンピュータの記憶装置に格納する。そして、コンピュータは、
図8の生成処理を終了する。以上により、訓練済の順番評価モデルM1が生成される。
【0118】
順番評価モデルM1の訓練には、種々の文書が使用されてよい。例えば、互いに異なる日付を表す複数のページを有する文書が、使用されてよい。ここで、複数のページは、日付の昇順に並んでよい。この場合、訓練済の順番評価モデルM1は、日付の昇順に並ぶ先ページと後ページとを候補順番が示す場合には、大きい確信度VCを算出し得る。このように、順番評価モデルM1の訓練に使用される文書は、先ページと後ページとの間の適切な関係を表す情報として、使用される。順番評価モデルM1の訓練に使用される文書を選択することによって、大きな確信度VCのための先ページと後ページとの適切な関係を制御できる。
【0119】
以上のように、本実施例では、複合機100は、文書のページの画像を処理する画像処理装置の例である。複合機100のプロセッサ110は、以下の処理を実行する。S130(
図2)では、プロセッサ110は、文書を表す入力データを取得する。S110では、プロセッサ110は、規則データを取得する。S230で説明したように、プロセッサ110は、規則データを使用して、入力データによって表される複数のページの順番を決定する(S230)。このように、S110で取得されるデータは、入力データによって表される文書をN枚(Nは2以上の整数)のページで表す場合のN枚のページの並ぶべき順番を規定する対象規則を表す規則データの例である。S240では、プロセッサ110は、規則順番に並ぶ複数のページを表す出力データを生成する。規則順番は、対象規則に基づくN枚のページの並ぶべき順番である。
【0120】
このように、N枚のページの並ぶべき順番である規則順番は、規則データによって表される対象規則に基づいている。従って、規則順番は、規則データによって柔軟に制御され得る。例えば、規則ページPr(
図4)のテーブルTBrの第1参照情報Taと第2参照情報Tbとが入れ替わる場合、出力データによって表される複数のページ中では、第1参照情報Taに対応付けられる論文のページと、第2参照情報Tbに対応付けられる論文のページとが、入れ替わる。このように、規則順番の柔軟な制御が可能である。
【0121】
また、本実施例では、S250(
図3)で、プロセッサ110は、出力データを出力する。これにより、出力データは、種々の処理に使用可能である。出力データの出力先は、印刷装置、表示装置、記憶装置、から任意に選択される1以上の装置を含んでよい。このように、出力データは、画像の印刷、画像の表示、データの保存、など、種々の用途に使用可能である。
【0122】
また、本実施例では、S120(
図2)、
図4で説明したように、複数のページの順番は、テキストTa-Td(
図4)の順番によって、規定される。テキストTa-Tdは、対象規則を定める参照情報の例であり、対象規則は、複数の参照情報の順番を表している。プロセッサ110は、さらに、以下の処理を実行する。S140では、プロセッサ110は、入力データによって表されるN枚のページ(本実施例では、出力データによって表されるN枚のページと同じ)のそれぞれを解析することによって、N枚のページのそれぞれの特徴情報を取得する。N枚のページは、入力データによって表される複数の要素の例である。S150-S230では、プロセッサ110は、特徴情報に対応付けられる参照情報の順番を使用して、規則順番を決定する。この構成によれば、プロセッサ110は、参照情報の順番を使用して、適切な規則順番を決定できる。なお、プロセッサ110は、特徴情報と参照情報との対応関係を、N枚のページのN個の特徴情報のうち、q個(qは1以上、N以下の整数)の特徴情報に対して、決定してよい。プロセッサ110は、N-q枚の残りのページの順番を、他の条件を使用して、決定してよい。例えば、プロセッサ110は、比較特徴情報Fd(
図4(A)-
図4(C))のように、2枚のページが連続すると仮定する場合の2枚のページの適切さを示す評価情報を使用して、N枚のページの順番を決定してよい。
【0123】
B.第2実施例:
図9は、画像処理の別の実施例のフローチャートの一部である。
図2、
図3の実施例との差違は、プロセッサ110が、目次のページを含む出力データを生成する点である。具体的には、
図3のS240に代えて、
図9のS232b、S240bが実行される。画像処理の他の部分の処理は、
図2、
図3の対応する部分の処理と同じである(説明を省略する)。
【0124】
図10(A)-
図10(D)は、画像処理に使用される情報の例を示す図である。
図10(A)は、規則データによって表されるテーブルの例を表している。テーブルTBrbは、索引語のリストを表している。本実施例では、数学の試験の過去問題を表す複数のページが処理される。テーブルTBrbの5個の行R1-R5のうち、第1行R1はヘッダを表している。4個の行R2-R5が、4個の索引語Ab1-Ab4をそれぞれ表している。各索引語Ab1-Ab4は、問題の分野を表すテキスト(図中の左側のテキスト)と、分野の略語を表すテキスト(図中の右側のテキスト)と、を含んでいる。これらの索引語Ab1-Ab4は、参照情報の例である。なお、索引語Ab1-Ab4のリストを表す規則データは、スキャンデータに代えて、表計算ソフトウェアのデータ、または、操作部150の操作によって入力されたデータであってよい。
【0125】
図10(B)は、入力データによって表される複数のページの例を表している。入力データIDbは、文書DBa、DBbの複数のページを表している。第1文書DBaは、2021年の試験問題を表す4枚のページPa1-Pa4を含み、第2文書DBbは、2023年の試験問題を表す4枚のページPb1-Pb4を含んでいる。各ページを示すボックス中のテキストは、S140(
図2)で検出されるテキストTXに含まれる文字列を表している。図示するように、テキストTXは、年と、分野の略語と、を含んでいる。年は、日付DYとして検出される。
【0126】
図10(C)は、出力データによって表される複数のページの例を表している。出力データODbは、索引語Ab1-Ab4にそれぞれ対応付けられるページグループGB1-GB4を表している。ページグループGB1-GB4の順番は、テーブルTBrb(
図10(A))によって表される索引語Ab1-Ab4の順番と、同じである。
【0127】
第1ページグループGB1は、対応する索引語Ab1(ここでは、略語)を含むページPa1、Pb1を含んでいる。第1ページグループGB1内のページの順番は、日付DYの昇順である。このような第1ページグループGB1は、S150(
図2)によるマッチングと、S200-S210(
図3)による未確定ページの追加と、によって形成され得る。他のページグループGB2-GB4も、同様に、対応する索引語を含むページを含んでいる。そして、各グループGB2-GB4内のページの順番は、日付DYの昇順である。S230(
図3)では、プロセッサ110は、規則順番を、このようなページ順番に決定する。
【0128】
S232b(
図9)では、プロセッサ110は、目次ページのデータを生成する。
図10(D)は、目次ページの例を表している。目次ページPpは、ページグループに対応付けられるキーワードKと、ページグループの先頭ページ番号PNfと、の対応関係を表している。本実施例では、キーワードKとして、各ページから検出される索引語(ここでは、略語)が使用される。先頭ページ番号PNfは、出力データODb(
図10(C))によって表されるページ番号PNoを示している。後述するように、本実施例では、プロセッサ110は、出力データODbによって表される複数のページの先頭に、目次ページPpを配置する。従って、第1ページグループGB1の先頭のページPa1のページ番号PNoは、1ではなく2である。他のページのページ番号PNoも、同様に、1ずつシフトする。
【0129】
S240b(
図9)では、プロセッサ110は、先頭の目次ページPpと、規則順番に並ぶ複数のページと、を表す出力データを生成する。そして、プロセッサ110は、S250(
図3)へ移行する。
【0130】
以上のように、本実施例では、S240b(
図9)で、プロセッサ110は、先頭に配置される目次ページPpと、規則順番に並ぶN枚のページ(ここでは、ページPa1-Pb4)と、を表す出力データを生成する。ユーザは、目次を参照することによって、規則順番に並ぶN枚のページを容易に参照できる。
【0131】
なお、目次ページPpは、規則順番に並ぶN枚のページのうちの一部の複数のページのページ番号PNoを表している。このような目次ページPpは、規則順番を表す第1種特定ページの例である。
【0132】
C.第3実施例:
図11は、画像処理の別の実施例のフローチャートの一部である。
図9の実施例との差違は、プロセッサ110が、規則順番を表すページを含む出力データを生成する点である。具体的には、S240bに代えて、S233c、S234c、S240cが実行される。これらの処理によって、後述する対応表のページが追加される。画像処理の他の部分の処理は、
図2、
図3、
図9の対応する部分の処理と同じである(説明を省略する)。
【0133】
図12(A)-
図12(E)は、画像処理に使用される情報の例を示す図である。
図12(A)は、規則データによって表されるテーブルの例を表している。
図10(A)のテーブルTBrbとの差違は、索引語Ab5を示す第6行R6がテーブルTBrcに追加されている点だけである。索引語Ab5は、解答に関連している。
【0134】
図12(B)は、入力データによって表される複数のページの例を表している。
図10(B)の入力データIDbとの差違は、解答ページPa5、Pb5が文書DCa、DCbにそれぞれ追加されている点である。解答ページPa5、Pb5から検出されるテキストTXは、年と、分野の略語と、を含んでいる。
【0135】
図12(C)は、出力データによって表される複数のページの例を表している。
図10(C)の出力データODbとの大きな差違は、最後の対応表ページPq2が追加されている点である。出力データODcは、更に、目次ページPq1と、索引語Ab1-Ab5にそれぞれ対応付けられるページグループGC1-GC5と、を表している。ページグループGC1-GC5の順番は、テーブルTBrc(
図12(A))によって示される索引語Ab1-Ab5の順番と、同じである。
【0136】
4個のページグループGC1-GC4の構成は、
図10(C)の4個のページグループGB1-GB4の構成と、それぞれ同じである。第5ページグループGC5は、対応する索引語Ab5(ここでは、略語)を含むページPa5、Pb5を含んでいる。ページPa5、Pb5の順番は、日付DYの昇順である。
【0137】
図12(D)は、目次ページPq1の例を表している。
図10(D)の目次ページPpとの差違は、第5ページグループGC5に関連する情報が追加されている点である。S232b(
図11)では、プロセッサ110は、目次ページPq1のデータを生成する。生成方法は、
図9のS232bでの生成方法と同じである。
【0138】
S233c(
図11)では、プロセッサ110は、元の文書に関連する元ページ情報を、ページ毎に取得する。本実施例では、プロセッサ110は、日付DYと元の文書におけるページ番号PNとを、ページ毎に取得する。
【0139】
S234cでは、プロセッサ110は、元ページ情報と、新たなページ番号PNoと、の対応関係を表す対応表ページを生成する。
図12(E)は、対応表ページの例を表している。対応表ページPq2は、元ページ情報(ここでは、日付DYとページ番号PN)と、新たなページ番号PNoと、の対応関係を表している。ユーザは、対応表ページPq2を参照することによって、元の文書のページ番号と新たなページ番号との対応関係を、容易に理解できる。例えば、解答ページPa5、Pb5は、問題のページ番号とその問題の解答との対応関係を表し得る。ここで、ユーザは、対応表ページPq2を参照することによって、問題の新たなページ番号と解答との対応関係を、容易に理解できる。
【0140】
S240c(
図11)では、プロセッサ110は、先頭の目次ページPq1と、規則順番に並ぶ複数のページと、最後の対応表ページPq2と、を表す出力データを生成する。そして、プロセッサ110は、S250(
図3)へ移行する。
【0141】
以上のように、本実施例では、S240c(
図11)で、プロセッサ110は、対応表ページPq2と、規則順番に並ぶN枚のページ(ここでは、ページPa1-Pb5)と、を表す出力データを生成する。対応表ページPq2は、規則順番に並ぶN枚のページのページ番号PNoを表している。このような対応表ページPq2は、規則順番を表す第1種特定ページの例である。
【0142】
元ページ情報は、ページ番号PNのみで構成されてよい。例えば、日付DYは、省略されてよい。元ページ情報は、ページ番号PNに加えて、他の種々の情報(例えば、タイトルTL)を含んでよい。対応表ページPq2は、最後とは異なる他の位置(例えば、先頭)に配置されてよい。目次ページPq1は、省略されてよい。
【0143】
D.第4実施例:
図13は、画像処理の別の実施例のフローチャートの一部である。上記の各実施例との差違は、規則データによって表される参照情報と、ページの特徴情報とが、中間データによって表される中間情報を介して対応付けられる点である。以下、数学の試験の過去問題を表す複数のページが処理されることとして、説明を行う。
【0144】
S110、S120は、
図2のS110、S120と、それぞれ同じである。
図14(A)-
図14(E)は、画像処理に使用される情報の例を示す図である。
図14(A)は、規則データによって表されるテーブルの例を表している。第1テーブルTBd1は、参照情報のリストを表している。第1行R1はヘッダを表している。4個の行R2-R5が、4個の参照情報Di1-Di4をそれぞれ表している。各参照情報Di1-Di4は、問題の分野を示すテキスト(図中の左側のテキスト)と、分野の詳細を示すテキスト(図中の右側のテキスト)と、を含んでいる。詳細は、複数のテキストを含み得る。なお、参照情報Di1-Di4のリストを表す規則データは、スキャンデータに代えて、表計算ソフトウェアのデータ、または、操作部150の操作によって入力されたデータであってよい。
【0145】
S126d(
図13)では、プロセッサ110は、中間データを取得する。
図14(B)は、中間データによって表される情報の例を表している。本実施例では、中間データは、第2テーブルTBd2を表している。列C1-C3は、「年度」「問番号」「分野」を、それぞれ表している。第1行R1は、ヘッダ行である。8個の行R2-R9は、それぞれ、「年度」「問番号」「分野」の対応関係を表している。「分野」は、参照情報Di1-Di4(
図14(A))の詳細に含まれるテキストを表している。「年度」と「問番号」とは、後述するように、ページの特徴情報に含まれるテキストを表している。このように、第2テーブルTBd2は、参照情報と特徴情報との対応関係を表している。第2テーブルTBd2は、中間情報の例である。
【0146】
S128d(
図13)では、プロセッサ110は、中間データを解析して、参照情報と特徴情報との対応関係を決定する(中間対応関係と呼ぶ)。第2テーブルTBd2がスキャンデータによって表される場合、プロセッサ110は、S121、S122(
図2)と同じ処理を、スキャンデータを使用して実行することによって、第2テーブルTBd2の8個の行R2-R9の8個の中間対応関係RL1-RL8を取得する。なお、中間データは、スキャンデータに代えて、表計算ソフトウェアのデータ、または、操作部150の操作によって入力されたデータであってよい。
【0147】
S130、S140(
図13)は、
図2のS130、S140と、それぞれ同じである。
図14(C)は、入力データによって表される複数のページの例を表している。入力データIDdは、文書DDr、DDsの複数のページを表している。第1文書DDrは、2021年の試験問題を表す4枚のページPr1-Pr4を含み、第2文書DDsは、2023年の試験問題を表す4枚のページPs1-Ps4を含んでいる。各ページから検出されるテキストTXは、年と、問番号と、を含んでいる。年は、日付DYとして検出される。
【0148】
S150d(
図13)では、プロセッサ110は、参照情報と、中間対応関係を介して参照情報に対応付けられる特徴情報(ひいては、ページ)と、のマッチングを行う。マッチングの方法としては、種々の方法を採用可能である。例えば、プロセッサ110は、ページの特徴情報のうち、中間対応関係によって参照情報に対応付けられる情報を、対応する参照情報に置換する。例えば、ページPr1(
図14(C))のテキストTXは、「2021年」と「第1問」を含む。「2021年」と「第1問」の組み合わせには、中間対応関係RL5(
図14(B))によって、「余弦」が対応付けられる。プロセッサ110は、ページPr1のテキストTXのうち、中間対応関係RL6によって表される「第1問」を、対応する「余弦」に置換する。本実施例では、「問番号」が置換対象であることとする。そして、プロセッサ110は、変更済の特徴情報を使用して、S150(
図2)で説明した優先順のマッチングを行う。これにより、プロセッサ110は、1個の参照情報に、1枚のページを対応付ける。
【0149】
S150dの後、プロセッサ110は、S170(
図2)へ移行する。S170以降の処理は、上記の任意の実施例の対応する処理と同じであってよい。本実施例では、
図9の実施例の処理が、採用されることとする。いずれの場合も、確信度の算出には、上述の変更済の特徴情報が使用されてよい。
【0150】
図14(D)は、出力データによって表される複数のページの例を表している。出力データODdは、参照情報Di1-Di4(
図14(A))にそれぞれ対応付けられるページグループGD1-GD4を表している。ページグループGD1-GD4の順番は、第1テーブルTBd1によって表される参照情報Di1-Di4の順番と、同じである。第1ページグループGD1は、第1参照情報Di1(ここでは、「正弦」または「余弦」)に中間対応関係RL1、RL5によって対応付けられる情報(ここでは、「2023年と第1問」または「2021年と第1問」)を含むページPr1、Ps1を含んでいる。第1ページグループGD1内のページの順番は、日付DYの昇順である。このような第1ページグループGB1は、S150d(
図13)によるマッチングと、S200-S210(
図3)による未確定ページの追加と、によって形成され得る。他のページグループGD2-GD4についても、同様である。また、先頭には、目次ページPdが配置される。
【0151】
以上のように、本実施例では、S126d(
図13)で、プロセッサ110は、中間データを取得する。
図14(B)で説明したように、中間データは、参照情報と特徴情報との対応関係を表す中間対応関係RL1-RL8を定めている。S150d(
図13)とS170-S230(
図2、
図3)とでは、プロセッサ110は、特徴情報に中間対応関係RL1-RL8を介して対応付けられる参照情報の順番に従って規則順番を決定する。このように、ユーザは、中間データを使用することによって、特徴情報と参照情報との対応関係を、柔軟に制御できる。
【0152】
E.第5実施例:
図15は、画像処理の別の実施例のフローチャートである。本実施例では、規則データは、ページ毎のレイアウトを表している。プロセッサ110は、このレイアウトに従って、入力データによって表される要素を、割り付ける。
【0153】
S110eでは、プロセッサ110は、規則データを取得する。本実施例では、ユーザは、ページ毎のレイアウトを表す文書ページであるレイアウトページを、読取実行部170の配置部分に配置する。プロセッサ110は、読取実行部170にレイアウトページを読み取らせ、読取実行部170から、レイアウトページのスキャンデータを取得する。このスキャンデータは、規則データの例である。
【0154】
図16(A)-
図16(C)は、画像処理に使用される情報の例を示す図である。
図16(A)は、レイアウトページの例を示している。本実施例では、規則データD5は、2枚のページP51、P52を表している。第1ページP51は、2つの領域A11、A12を表している。領域A11、A12には、テキストTX11、TX12が、それぞれ記されている。第2ページP52は、2つの領域A21、A22を表している。領域A21、A22には、テキストTX21、TX22が、それぞれ記されている。
【0155】
S120e(
図15)では、プロセッサ110は、規則データを解析することによって、複数のページの複数の領域のそれぞれの参照情報を取得する。本実施例では、プロセッサ110は、S121、S122(
図2)と同じ処理を、規則データを使用して実行する。これにより、プロセッサ110は、テキストTX11、TX12、TX21、TX22の領域を検出し、OCRによって認識されたテキストを取得する。取得されるテキストは、参照情報の例である。
【0156】
S130eでは、プロセッサ110は、入力データを取得する。
図16(B)は、入力データの例を示している。入力データID5は、テキストデータTX5a、TX5bと、画像データIM5a、IM5bと、を含んでいる。テキストデータによって表される文章と、画像データによって表される画像とは、いずれも、文書の例である。
【0157】
本実施例では、ユーザは、データTX5a、TX5b、IM5a、IM5bを、予め準備する。ユーザは、準備したデータを、複合機100に供給する。供給方法は、任意の方法であってよい。例えば、ユーザは、入力データID5を格納する記憶装置(例えば、USBフラッシュドライブ)を、通信インタフェース180に接続する。プロセッサ110は、この記憶装置から、入力データID5を取得する。
【0158】
S142e(
図15)では、プロセッサ110は、テキストデータTX5a、TX5b(
図16(B))を解析することによって、それぞれの要約文ABa、ABbを生成する。要約文の生成方法は、類似度SM4(
図7(C))の算出で説明した要約文の生成方法と同じであってよい。
【0159】
S144e(
図15)では、プロセッサ110は、画像データIM5a、IM5b(
図16(B))を解析することによって、それぞれのキャプションCPa、CPbを生成する。キャプションの生成方法は、類似度SM5(
図7(C))の算出で説明したキャプションの生成方法と同じであってよい。
【0160】
なお、要約文ABa、ABbとキャプションCPa、CPbとは、入力データID5によって表される複数の要素TX5a、TX5b、IM5a、IM5bのそれぞれの特徴情報の例である。
【0161】
S150eでは、プロセッサ110は、参照情報と特徴情報とのマッチングを行う。マッチングの方法は、種々の方法であってよい。本実施例では、参照情報と特徴情報とは、いずれも、テキストである。プロセッサ110は、テキストの類似度SM4(
図7(C))と同様に、参照情報と特徴情報との類似度を算出する。プロセッサ110は、大きい類似度を示す参照情報と特徴情報とを、対応付ける。ここで、プロセッサ110は、類似度の大きい順番に、参照情報と特徴情報との対応関係を決定してよい。例えば、プロセッサ110は、参照情報と特徴情報との全ての組み合わせの類似度を算出する。プロセッサ110は、最大の類似度を示す参照情報と特徴情報とを対応付ける。プロセッサ110は、対応付けられた組み合わせを除いた残りの複数の組み合わせのうち、最大の類似度を示す参照情報と特徴情報とを対応付ける。プロセッサ110は、この処理を繰り返すことによって、参照情報と特徴情報との対応関係を決定できる。
図16(B)の例では、以下の対応関係が形成されている。
要約文ABa:テキストTX11
要約文ABb:テキストTX21
キャプションCPa:TX12
キャプションCPb:TX22
【0162】
S160e(
図15)では、プロセッサ110は、入力データID5によって表される要素の特徴情報に対応付けられる参照情報に従って、要素を領域に割り付ける。
図16(C)は、要素が割り付けられたページP51o、P52oの例を示している。ページP51o、P52oは、
図16(A)のページP51、P52に、それぞれ対応している。テキストデータTX5a(
図16(B))の要約文ABaには、テキストTX11が対応付けられる。従って、プロセッサ110は、テキストデータTX5aを、第1ページP51o(
図16(C))のテキストTX11に対応付けられる領域A11に割り付ける。他の要素TX5b、IM5a、IM5bも、同様に、領域A21、A12、A22に、それぞれ割り付けられる。なお、要素は、対応する領域の外にはみ出ないように、割り付けられる。
【0163】
規則データD5(
図16(A))によって表されるページP51、P52において、領域の範囲を決定する方法は、種々の方法であってよい。例えば、規則データD5は、複数の領域を、互いに異なる色で表してよい。プロセッサ110は、テキストTX11に連続する領域であって、同じ色の領域を、テキストTX11に対応付けられる領域A11として採用してよい。これに代えて、規則データD5は、複数の領域を区切る線を表してよい。プロセッサ110は、テキストTX11を含む領域であって、線で囲まれる最小領域を、テキストTX11に対応付けられる領域A11として採用してよい。他の参照情報に対応付けられる領域も、領域A11の決定方法と同じ方法で決定される。
【0164】
このように、S160eの割り付け処理によって、入力データによって表される文書(ここでは、複数の要素TX5a、TX5b、IM5a、IM5b)をN枚(ここでは、N=2)のページで表す場合のN枚のページP51o、P52oの並ぶべき規則順番が決定される。
【0165】
S240e(
図15)では、プロセッサ110は、規則順番に並ぶ複数のページを表す出力データを生成する。生成される出力データは、S160eで割り付けられた要素を表す複数のページ(例えば、ページP51o、P52o(
図16(C)))を表している。
【0166】
S250では、プロセッサ110は、出力データを出力する。S250の処理は、
図3のS250の処理と同じである。そして、プロセッサ110は、画像処理を終了する。
【0167】
以上のように、本実施例では、規則データD5(
図16(A))は、N枚のページのそれぞれにおけるレイアウトを表している。本実施例では、レイアウトは、N枚のページのそれぞれにおける1以上の領域(ここでは、領域A11、A12、A21、A22)の配置を表している。そして、S160eでは、プロセッサ110は、入力データID5によって表される複数の要素TX5a、TX5b、IM5a、IM5bを、規則データD5によって表されるレイアウトを使用して、割り付ける。これにより、規則順番が決定される。ユーザは、規則データによって表されるレイアウトを使用することによって、入力データによって表される複数の要素をN枚のページで表す場合のN枚のページの並ぶべき順番を、柔軟に制御できる。
【0168】
なお、レイアウトによって定められる領域と、入力データによって表される要素と、の対応関係を決定する方法は、領域の参照情報と要素の特徴情報とのマッチングを行う方法に限らず、他の種々の方法であってよい。
【0169】
F.第6実施例:
図17は、画像処理の別の実施例のフローチャートである。本実施例では、大きいサイズの文書(例えば新聞紙)のページが、読取実行部170によって、分割して読み取られる。そして、複数の画像が合成されて、1枚のページが形成される。
【0170】
S110fでは、プロセッサ110は、規則データを取得する。本実施例では、規則データは、ページ毎の参照情報を表している。
図18(A)-
図18(D)は、画像処理に使用される情報の例を示す図である。
図18(A)は、規則データD6の例を示している。規則データD6は、ページP1、P2と参照情報D61、D62との対応関係を表している。ユーザは、操作部150(
図1)を操作することによって、各ページの参照情報(例えば、新聞紙の名前)を入力する。プロセッサ110は、操作部150からの情報を使用して、規則データD6を取得する。
【0171】
S130f(
図17)では、プロセッサ110は、入力データを取得する。本実施例では、ユーザは、新聞紙のページを、読取実行部170に読み取らせる。
図18(B)は、読み取られるページの例を示している。第1ページDP1と、第2ページDP2とが、読み取られる。ユーザは、各ページDP1、DP2を、一部分ずつ分けて、読取実行部170に読み取らせる。プロセッサ110は、読取実行部170から、読み取られた複数の部分を表すスキャンデータを取得する。このスキャンデータは、入力データの例である。
【0172】
図18(C)は、入力データによって表される画像の例を示している。入力データID6は、4個の部分画像SP11、SP12、SP21、SP22を表している。部分画像SP11、SP12は、第1ページDP1の互いに異なる部分を表し、部分画像SP21、SP22は、第2ページDP2の互いに異なる部分を表している。なお、部分画像SP11、SP12は、共通部分OV1を含み、部分画像SP21、SP22は、共通部分OV2を含んでいる。
【0173】
S140f(
図17)では、プロセッサ110は、各部分画像を解析することによって、部分画像毎の特徴情報を取得する。特徴情報の取得方法は、
図2のS140における取得方法と同じである。第1ページDP1を表す部分画像SP11、SP12からは、第1ページDP1の新聞紙の名前を含む特徴情報F11、F12が、それぞれ取得され得る。第2ページDP2を表す部分画像SP21、SP22からは、第2ページDP2の新聞紙の名前を含む特徴情報F21、F22が、それぞれ取得され得る。
【0174】
S150fでは、プロセッサ110は、参照情報と特徴情報とのマッチングを行う。マッチングの方法は、種々の方法であってよい。本実施例では、特徴情報は、参照情報(例えば、新聞紙の名前)を含むテキストを含み得る。プロセッサ110は、参照情報と、その参照情報を含む特徴情報とを、対応付ける。例えば、部分画像SP11、SP12の特徴情報F11、F12は、第1参照情報D61に対応付けられ、部分画像SP21、SP22の特徴情報F21、F22は、第2参照情報D62に対応付けられる。
【0175】
S152fでは、プロセッサ110は、共通部分を有する複数の部分画像を合成することによって、合成画像のデータを生成する。合成方法は、種々の方法であってよい。例えば、プロセッサ110は、同じ参照情報に対応付けられる複数の部分画像を解析することによって、共通部分を検出する。そして、プロセッサ110は、共通部分が重なるように、複数の部分画像を合成する。共通部分の検出方法は、種々の方法であってよい。例えば、プロセッサ110は、各部分画像を複数のブロックに分割する。プロセッサ110は、1つの部分画像から選択されるブロックと、他の部分画像から選択されるブロックと、を比べるテンプレートマッチングによって、同じ画像を表すブロックペア(すなわち、共通部分)を検出する。合成のための2枚の部分画像の間の相対的な位置関係を決定する方法は、種々の方法であってよい。例えば、テンプレートマッチング、または、キーポイントマッチングによって、相対的な位置が決定されてよい。
【0176】
図18(D)は、合成画像の例を示している。第1合成画像OP1は、部分画像SP11、SP12の合成画像であり、第1ページDP1を表している。第2合成画像OP2は、部分画像SP21、SP22の合成画像であり、第2ページDP2を表している。
【0177】
S160f(
図17)では、プロセッサ110は、参照情報の順番に従って、合成画像の順番である規則順番を決定する。本実施例では、合成画像には、元の部分画像の特徴情報が、対応付けられることとする。プロセッサ110は、合成画像の特徴情報に対応付けられる参照情報の順番に従って、合成画像の順番を決定する。第1合成画像OP1の順番は、特徴情報F11、F12に対応付けられる第1参照情報D61の順番(第1ページP1)に決定される。第2合成画像OP2の順番は、特徴情報F21、F22に対応付けられる第2参照情報D62の順番(第2ページP2)に決定される。
【0178】
S240f(
図17)では、プロセッサ110は、規則順番に並ぶ複数のページを表す出力データを生成する。生成される出力データは、S152fで合成される複数の合成画像(例えば、合成画像OP1、OP2(
図18(D)))を表している。
【0179】
S250では、プロセッサ110は、出力データを出力する。S250の処理は、
図3のS250の処理と同じである。そして、プロセッサ110は、画像処理を終了する。
【0180】
以上のように、本実施例では、プロセッサ110は、入力データによって表される複数の画像を合成することによって合成画像を生成する。そして、プロセッサ110は、合成画像に対応付けられる特徴情報に対応付けられる参照情報の順番を使用して、規則順番を決定する。この構成によれば、プロセッサ110は、1枚の文書ページが、入力データの1枚の画像では表すことができないほどに大きい場合であっても、参照情報の順番を使用して、適切な規則順番を決定できる。
【0181】
なお、画像の合成(S152f)は、特徴情報の取得(S140f)よりも前に行われよい。そして、プロセッサ110は、合成画像を解析することによって、特徴情報を取得してよい。画像の合成のためには、プロセッサ110は、複数の部分画像の種々の組み合わせを使用して、共通部分を検出してよい。また、プロセッサ110は、共通部分を有するか否かに拘わらずに、2枚の部分画像の間の文章の繋がりやすさが良好である場合(例えば、2枚の部分画像から算出される評価値V12(
図7)が所定の閾値以上である場合)、2枚の部分画像を合成してよい。
【0182】
G.第7実施例:
図19(A)、
図19(B)は、画像処理の別の実施例を示す図である。本実施例では、テンプレートに従って、特徴情報が取得される。
図19(A)は、本実施例の画像処理のフローチャートの一部を示している。図中のS140gは、上記の各実施例のS140の代わりに実行されてよい。S140gは、例えば、S130に続いてよい。S140gには、例えば、S150、S150dのいずれかが続いてよい。
【0183】
S140gでは、プロセッサ110は、入力データによって表されるページのうち、テンプレートによって表される領域を解析することによって、特徴情報を取得する。
図19(B)は、テンプレートの例を示している。テンプレートTP1は、4個の領域TA1-TA4を表している。これらの領域TA1-TA4は、「タイトル」、「著者名」、「本文」、「ページ番号」に、それぞれ対応付けられている。本実施例では、入力データによって表されるページ内のレイアウトが、予め決められていることとする。そして、テンプレートTP1は、このレイアウトを示していることとする。
【0184】
プロセッサ110は、入力データによって表されるページの第1領域TA1を解析(例えば、OCR)することによって、タイトルを取得する。同様に、プロセッサ110は、領域TA2、TA3、TA4を解析することによって、著者名、テキスト、ページ番号を、それぞれ取得する。
【0185】
このように、本実施例では、ページ内の特徴情報を表す領域が、テンプレートによって定められている。そして、プロセッサ110は、入力データによって表されるページのうち、テンプレートによって表される領域を解析することによって、特徴情報を取得する。従って、プロセッサ110は、特徴情報を、適切に、取得できる。
【0186】
本実施例では、テンプレートTP1のデータは、ユーザによって、準備される。テンプレートTP1のデータ形式は、任意のデータ形式であってよい。また、テンプレートTP1のデータの準備方法は、任意の方法であってよい。例えば、ユーザは、テンプレートTP1を表す文書ページであるテンプレートページを、読取実行部170に読み取らせてよい。プロセッサ110は、テンプレートページのスキャンデータを解析することによって、テンプレートTP1のデータを取得してよい。テンプレートページは、
図16(A)で説明したレイアウトページと同様に、色、または、囲み線によって、各領域TA1-TA4を表してよい。また、テンプレートページは、
図16(A)のテキストTX11のように、領域の種類を示すテキスト(例えば、「タイトル」、「著者名」など)を、表してよい。プロセッサ110は、テンプレートページのスキャンデータを解析することによって、各領域の範囲と種類とを取得可能である。
【0187】
H.第8実施例:
図20は、画像処理の別の実施例のフローチャートの一部である。本実施例では、入力データによって表される複数のページの並ぶ順番である入力順番が規則順番と異なる場合に、プロセッサ110は、入力順番が規則順番と異なることをユーザに報知する。報知のためのS310は、本明細書の種々の実施例に適用可能である。S310は、例えば、S230、S160e、S160fのいずれかに続いてよい。S310には、例えば、S240、S232b、S240e、S240fのいずれかが続いてよい。また、プロセッサ110は、S310の終了に応じて、画像処理を終了してよい。すなわち、出力データの生成と出力データの出力とは、省略されてよい。
【0188】
S310は、S312、S314、S316を含んでいる。S312では、プロセッサ110は、入力データによって表される複数のページの順番である入力順番を取得する。例えば、
図5(A)の実施例のように、複数の文書ページが1枚ずつ順番に読取実行部170によって読み取られる場合、入力順番は、読み取り順番と同じである。
【0189】
S314では、プロセッサ110は、入力順番が規則順番と同じであるか否かを判断する。入力順番が規則順番と異なる場合(S314:No)、S316で、プロセッサ110は、入力順番が規則順番と異なることをユーザに報知する。報知の方法は、任意の方法であってよい。プロセッサ110は、表示部140にメッセージを表示してよい。また、プロセッサ110は、図示しないブザー、または、スピーカから、音を出力してよい。S316の後、プロセッサ110は、S310を終了する。入力順番=規則順番である場合(S314:Yes)、プロセッサ110は、S316をスキップして、S310を終了する。
【0190】
このように、本実施例では、プロセッサ110は、入力順番が規則順番と異なる場合(S314:No)、報知処理(S316)を実行する。従って、ユーザは、入力順番と規則順番との一方、または、両方の誤りの可能性に、容易に気づくことができる。
【0191】
I.第9実施例:
図21(A)、
図21(B)は、画像処理の別の実施例を示す図である。本実施例では、プロセッサ110は、N枚のページの並ぶ順番の変更をユーザに許容する。
図21(A)は、画像処理のフローチャートの一部(S320)を示している。順番の変更のためのS320は、本明細書の種々の実施例に適用可能である。S320は、例えば、S230、S160e、S160f、S310のいずれかに続いてよい。S320には、例えば、S240、S232b、S240e、S240fのいずれかが続いてよい。
【0192】
S320は、S322、S324を含んでいる。S322では、プロセッサ110は、変更画面を表示部140に表示する。
図21(B)は、変更画面の例を示している。変更画面SCiは、規則順番領域PLi1を表している。規則順番領域PLi1は、各ページのサムネイルとページ番号とを表している。ユーザは、操作部150を操作することによって、ページの順番を変更可能である。変更画面SCiは、さらに、変更済順番領域PLi2を表している。変更済順番領域PLi2は、変更済の複数のページの順番を表している。変更済順番領域PLi2は、各ページのサムネイルとページ番号とを表している。
【0193】
変更画面SCiは、完了ボタンBTiを含んでいる。ユーザは、操作部150を介して完了ボタンBTiを操作することによって、順番の変更の完了指示を入力できる。S324(
図21(A))では、プロセッサ110は、ユーザの完了指示に応じて、ページの順番を変更する。以後、プロセッサ110は、変更済の順番に従って、処理を実行する。例えば、S240(
図2)で生成される出力データは、変更済の順番に並ぶ複数のページを、表している。
【0194】
以上のように、本実施例では、プロセッサ110は、S310で、N枚のページの並ぶ順番の規則順番からの変更をユーザに許容する。順番が変更される場合、S240(
図3)、S240b(
図9)、S240c(
図11)、S240e(
図15)、S240f(
図17)では、プロセッサ110は、規則順番に代えて、変更済の順番に並ぶN枚のページを表す出力データを生成する(特定出力データとも呼ぶ)。S250では、プロセッサ110は、特定出力データを出力する。このように、規則順番がユーザの要望に適していない場合であっても、プロセッサ110は、ユーザの要望に適する順番に並ぶN枚のページを表す特定出力データを生成できる。
【0195】
J.第10実施例:
図22(A)、
図22(B)は、画像処理の別の実施例を示す図である。本実施例では、プロセッサ110は、規則データが複数の規則を表す場合に、複数の規則からの対象規則の選択をユーザに許容する。例えば、
図4の規則ページPrは、「タイトル(第4列C4)」に加えて、「区分(第2列C2)」と「テーマ(第3列C3)」とを表している。「区分」と「テーマ」も、対象規則として使用可能である。規則データが複数の規則を表す場合に、複数の規則から1つの規則を選択するようにプログラムPG1を構成することが、難しい場合がある。そこで、本実施例では、ユーザが、規則を選択できる。
【0196】
図22(A)は、画像処理のフローチャートの一部(S120j)を示している。規則の選択のためのS120jは、本明細書の種々の実施例に適用可能である。S120jは、例えば、S110と、S130と、の間に実行されてよい。
【0197】
以下、規則データが、規則ページPr(
図4)を表すこととして、説明を行う。S120jは、S121、S122j、S123jを含んでいる。S121は、
図2のS121と同じである。
【0198】
S122jでは、プロセッサ110は、
図2のS122と同様に、各セルの情報(ここでは、テキスト)と行位置と列位置とを取得する。プロセッサ110は、複数の列のそれぞれを、規則を表す列として採用する。ここで、プロセッサ110は、所定のキーワードを含むヘッダに対応付けられる列を、選択してよい。キーワードは、「区分」「テーマ」「タイトル」を含んでよい。以下、3個の列C2、C3、C4(
図4)が、規則を表す列として選択されることとする。プロセッサ110は、列C2、C3、C4毎に、複数のセルのテキスト(すなわち、参照情報)とそれらの順番とを取得する。
【0199】
S123jでは、プロセッサ110は、選択画面を表示部140に表示する。
図22(B)は、選択画面の例を示している。選択画面SCjは、複数の候補規則CR1、CR2、CR3と、1つの規則を選択するためのラジオボタンRBと、を表している。各候補規則CR1、CR2、CR3は、規則の順番に並ぶ複数の参照情報を表している。ユーザは、操作部150を介してラジオボタンRBを操作することによって、複数の候補規則CR1-CR3から1つの規則を選択できる。
【0200】
選択画面SCjは、完了ボタンBTkを含んでいる。ユーザは、操作部150を介して完了ボタンBTjを操作することによって、規則の選択の完了指示を入力できる。S123jでは、プロセッサ110は、ユーザの完了指示に応じて、ユーザによって選択された規則を、対象規則として採用する。以後、プロセッサ110は、選択された対象規則に従って、処理を実行する。
【0201】
以上のように、本実施例では、プロセッサ110は、S123jで、複数の規則からの対象規則の選択をユーザに許容する。従って、プロセッサ110は、ユーザの要望に適する対象規則に基づく規則順番に従って、画像処理を実行できる。
【0202】
K.第11実施例:
図23(A)-
図23(D)は、画像処理の別の実施例を示す図である。本実施例では、プロセッサ110は、出力データに対応付けられる情報(ファイル名等)に、規則データによって表される情報を設定する。
図23(A)は、画像処理のフローチャートの一部(S330)を示している。設定のためのS330は、本明細書の種々の実施例に適用可能である。S330は、例えば、S240、S240b、S240c、S240e、S240fのいずれかに続いてよい。S330には、例えば、S250が続いてよい。
【0203】
以下、対象規則が、
図4のテーブルTBrの第4列C4によって定められることとして、説明を行う。S330では、プロセッサ110は、出力データに対応付けられる対象要素に設定すべき参照情報を決定する。対象要素は、出力データに対応付けられる任意の要素であってよい。出力データが、データファイル(単にファイルとも呼ぶ)を形成する場合、対象要素は、ファイル名と、ファイルを格納するディレクトリのディレクトリ名と、を含んでよい。
【0204】
図23(B)は、出力データの例を示している。図中には、ファイルを含むディレクトリ構成が示されている。出力データODk1は、参照情報毎のファイルFD1-FD4を含んでいる。ファイルFD1-FD4の名前は、ファイル番号FNnと、文書名FNdと、を含んでいる。ファイル番号FNnは、ファイルに対応付けられる参照情報の順番を表している。文書名FNdは、ファイルに対応付けられる参照情報を表している。ユーザは、ファイル名を参照することによって、ファイルの順番と参照情報とを容易に知ることができる。
【0205】
また、
図23(B)に示すように、各ファイルFD1-FD4は、特定のディレクトリFDNの下に配置されてよい。ディレクトリ名は、ファイルに対応付けられる種々の名前であってよい。本実施例では、プロセッサ110は、テーブルTBr(
図4)を解析し、所定のキーワード(ここでは「区分」)を含むヘッダに対応付けられる列(ここでは、第2列C2)から、ディレクトリ名を取得する。例えば、第2行R2の参照情報Taに対応付けられるファイルFD1は、同じ行R2のディレクトリ名DIa(ここでは、「システム」)を有するディレクトリの下に配置される。他のファイルについても、同様である。ユーザは、ディレクトリFDNの名前を参照することによって、ファイルの属性(ここでは、区分)を容易に知ることができる。なお、複数のファイルFD1-FD4は、同じディレクトリに格納されてよい。
【0206】
図23(C)は、出力データの別の例を示している。出力データODk2は、1個のファイルを形成する。出力データODk2は、複数のページPkのデータに加えて、タイトルTk1のデータを含んでいる。タイトルTk1は、出力データODk2に対応付けられるプロパティの例である。タイトルTk1は、規則データによって表される種々の情報を含んでよい。例えば、タイトルTk1は、出力データODk2に対応付けられる複数の参照情報を含んでよい。
【0207】
図23(D)は、出力データの別の例を示している。出力データODk2(
図23(C)との差違は、出力データODk3のページPk毎のプロパティPPが設定される点である。プロパティPPは、規則データによって表される種々の情報を含んでよい。例えば、ページ毎のプロパティPPは、ページに対応付けられる参照情報を含んでよい。ページ毎のプロパティPPは、さらに、ページから検出されるテキストTXの要約文を含んでよい。なお、タイトルTk1は、参照情報に代えて、他の種々の情報を含んでよい(例えば、規則ページPr(
図4)から検出されるタイトル(ここでは、第2タイトルTLr2))。
【0208】
S330(
図23(A))では、プロセッサ110は、対象要素に設定すべき対象情報を決定する。そして、プロセッサ110は、S330、または、S330に続くS250で、対象要素に対象情報を設定する。例えば、S330で、プロセッサ110は、ディレクトリ構成を決定する(
図23(B))。続くS250で、プロセッサ110は、決定したディレクトリ構成に従って、出力データ(すなわち、ファイル)を記憶装置(例えば、不揮発性記憶装置130)に格納する。また、S330で、プロセッサ110は、出力データを編集する(
図23(C)、
図23(D))。続くS250では、プロセッサ110は、編集済の出力データを、記憶装置(例えば、不揮発性記憶装置130)に格納する。いずれの場合も、ユーザは、出力データを参照することによって、ファイルの参照情報を容易に知ることができる。なお、出力データのデータ形式は、PDFであってよい。この場合、ページ毎のプロパティPPは、しおりであってよい。
【0209】
また、
図23(B)に示すように、出力データは、複数のファイルを含んでよい。この場合、ファイル番号FNnのように、各ファイルには、ファイルの参照順番が設定されることが好ましい。参照順番でファイルを参照することによって、複数のページが規則順番に並ぶ場合、複数のファイルを含む出力データは、規則順番に並ぶ複数のページを表している。
【0210】
なお、S330で設定される対象要素は、出力データに対応付けられるファイル名とディレクトリ名とプロパティとタイトルとから任意に選択される1以上の要素であってよい。また、対象要素には、規則データによって表される1以上の情報が、設定されてよい。
【0211】
L.第12実施例:
図24(A)、
図24(B)は、画像処理の別の実施例を示す図である。本実施例では、プロセッサ110は、対象規則を表す参照ページを含む出力データを生成する。
図24(A)は、画像処理のフローチャートの一部(S232L、S240L)を示している。参照ページを含む出力データの生成のためのS232L、S240Lは、本明細書の種々の実施例に適用可能である。S232L、S240Lは、例えば、S230、S160e、S160f、S310、S320、S330のいずれかに続いてよい。S240Lには、例えば、S250が続いてよい。
【0212】
S232Lでは、プロセッサ110は、対象規則を表す参照ページのデータを生成する。
図24(B)は、参照ページの例を示している。参照ページPL1は、規則データによって表される情報のうちの対象規則を表す情報である規則情報RIを表している。テーブルTBr(
図4)によって表される対象規則が使用される場合、規則情報RIは、テーブルTBrであってよい。
【0213】
S240Lでは、プロセッサ110は、参照ページPL1と、規則順番に並ぶ複数のページと、を表す出力データを生成する。参照ページPL1の位置は、種々の位置であってよい(例えば、先頭、または、最後)。S240Lの後、プロセッサ110は、S250へ移行する。
【0214】
以上のように、本実施例では、S240Lで、プロセッサ110は、対象規則を表す参照ページPL1と、規則順番に並ぶ複数のページと、を表す出力データを生成する。ユーザは、参照ページPL1を参照することによって、対象規則がどのような規則であるのかを、容易に理解できる。なお、参照ページPL1は、対象規則を表す第2種特定ページの例である。
【0215】
M.第13実施例:
図25(A)-
図25(D)は、画像処理の別の実施例を示す図である。本実施例では、プロセッサ110は、規則順番に並ぶ複数のページのそれぞれのページ番号を表す情報を、出力データに付与する。
図25(A)は、画像処理のフローチャートの一部(S340)を示している。ページ番号を付与するためのS340は、本明細書の種々の実施例に適用可能である。S340は、例えば、S240、S240b、S240c、S240e、S240f、S240Lのいずれかに続いてよい。S340には、例えば、S250が続いてよい。
【0216】
ページ番号を表す情報は、出力データに関連する種々の情報に付与されてよい。
図25(B)は、出力データの例を示している。プロセッサ110は、出力データODm1によって表される複数のページPM1-PM4のそれぞれに、ページ番号PNmを表す数字を記載する。
【0217】
図25(C)は、出力データの別の例を示している。出力データODm2は、ページ毎のデータファイルFP1-FP4を含んでいる。プロセッサ110は、ファイル名FNmを、ページ番号を表す数字を含むファイル名に設定する。
【0218】
図25(D)は、出力データの別の例を示している。出力データODm3は、1個のファイルを形成する。プロセッサ110は、複数のページPmのそれぞれのプロパティPPに、ページ番号を設定する。
【0219】
S340(
図25(A))では、プロセッサ110は、各ページのページ番号を取得する。そして、プロセッサ110は、S340、または、S340に続くS250で、取得したページ番号を、出力データに付与する。例えば、S340で、プロセッサ110は、出力データを編集する(
図25(B)、
図25(D)。また、S250で、プロセッサ110は、S340で設定されたファイル名で、各ページのデータを記憶装置(例えば、不揮発性記憶装置130)に格納する。ユーザは、出力データを参照することによって、各ページのページ番号を容易に知ることができる。
【0220】
なお、
図25(C)の例では、出力データの各ファイルには、ファイルの参照順番(ここでは、ページ番号を含むファイル名)が設定される。参照順番でファイルを参照することによって、複数のページが規則順番に並ぶ場合、複数のファイルを含む出力データODm2は、規則順番に並ぶ複数のページを表している。
【0221】
N.第14実施例:
図26(A)、
図26(B)は、画像処理の別の実施例を示す図である。本実施例では、プロセッサ110は、索引ページを含む出力データを生成する。
図26(A)は、画像処理のフローチャートの一部(S232n、S234n、S240n)を示している。索引ページを含む出力データの生成のためのS232n、S234n、S240nは、本明細書の種々の実施例に適用可能である。S232n、S234n、S240nは、例えば、S230、S160e、S160f、S310、S320、S330、S340のいずれかに続いてよい。S240nには、例えば、S250が続いてよい。
【0222】
S232nでは、プロセッサ110は、各ページからキーワードを抽出する。
図26(B)は、キーワードの例を示している。ページPn1-Pn4から、種々のキーワードKn1-Kn4が、それぞれ抽出される。キーワードの抽出方法は、種々の方法であってよい。例えば、プロセッサ110は、特徴情報F(
図5(B))に含まれるテキストTXから、太字フォントの用語をキーワードとして抽出してよい。また、プロセッサ110は、複数のページの複数のテキストTXの全体を参照して、頻出する用語を特定する。プロセッサ110は、頻出する用語を、各ページからキーワードとして抽出してよい。
【0223】
S234nでは、プロセッサ110は、抽出されたキーワードを使用して、索引ページのデータを生成する。
図26(B)のページPnxは、索引ページの例を示している。ページPnxは、キーワードと、キーワードを含むページのページ番号と、の対応関係を表している。
【0224】
S240nでは、プロセッサ110は、索引ページPnxと、規則順番に並ぶ複数のページと、を表す出力データを生成する。索引ページPnxの位置は、種々の位置であってよい(例えば、先頭、または、最後)。S240nの後、プロセッサ110は、S250へ移行する。
【0225】
このように、本実施例では、S240nで、プロセッサ110は、規則順番に並ぶ複数のページと、複数のページに含まれる用語の所在(ここでは、ページ番号を含む)を表す索引ページPnxと、を表す出力データを生成する。ユーザは、索引ページPnxを参照することによって、複数のページに含まれる用語の所在を、容易に知ることができる。
【0226】
O.第15実施例:
図27は、画像処理の別の実施例を示すフローチャートの一部である。本実施例では、規則データは、入力データから、取得される。規則データを取得するためのS130、S140、S142o、S144oは、本明細書の種々の実施例に適用可能である。S144oの後、プロセッサ110は、S150(
図2等)へ移行する。
【0227】
S130、S140は、
図2のS130、S140と同じである。S142oでは、プロセッサ110は、入力データから規則ページを表す規則データを取得する。規則ページは、種々のページであってよい。例えば、プロセッサ110は、最も多くのページと強い相関を有するページを、規則ページとして選択してよい。
図4の規則ページPrは、複数の論文のそれぞれのタイトルを表している(第4列C4)。このような規則ページPrは、複数の論文の複数のページのそれぞれと、強い相関を有し得る。
【0228】
相関の算出方法は、種々の方法であってよい。例えば、プロセッサ110は、ページ毎に、特徴情報Fに含まれるテキストTXから単語を抽出する。ここで、プロセッサ110は、公知の形態素解析を行ってよい。プロセッサ110は、2枚のページで構成されるページペアの全ての組み合わせに対して、共通する抽出単語の数を、関連度合いとして算出する。なお、単語に代えて、文章を使用して、関連度合いが算出されてよい。
【0229】
プロセッサ110は、所定の閾値以上の関連度合いを示すページペアを、強い相関を有するページペアとして選択する。プロセッサ110は、強い相関を有するページペアとして選択される回数を、ページ毎にカウントする。プロセッサ110は、最も多く選択されるページを、規則ページとして採用する。
【0230】
これに代えて、プロセッサ110は、特定の種類のテーブルTB(例えば、時間割)を含む特徴情報Fが取得されるページを、規則ページとして採用してよい。特定の種類のテーブルの検出方法は、種々の方法であってよい。例えば、特定の種類に関連する単語(例えば、「時間」「期間」など)を含むヘッダを有するテーブルが、採用されてよい。
【0231】
S144o(
図27)は、
図2のS120と同じである。プロセッサ110は、複数の参照情報とそれらの順番とを取得する。S144oの後、プロセッサ110は、S150(
図2)へ移行する。
【0232】
以上のように、本実施例では、S140、S142oで、プロセッサ110は、入力データを解析することによって規則データを取得する。従って、ユーザは、規則ページと他のページとを事前に区別せずに、画像処理を進行できる。
【0233】
P.第16実施例:
図28(A)、
図28(B)は、画像処理の別の実施例を示す図である。本実施例では、プロセッサ110は、生成済の出力データと、追加の入力データと、を使用して、新たな出力データを生成する。
図28(A)は、画像処理のフローチャートの一部を示している。本実施例は、本明細書の種々の実施例に適用可能である。すなわち、本実施例では、上記の種々の実施例で生成された出力データを、使用可能である。以下、生成済の出力データを、第1入力データと呼び、追加の入力データを、第2入力データと呼ぶ。
【0234】
S110、S120は、
図2のS110、S120とそれぞれ同じである。なお、規則データとしては、第1入力データの生成に使用された規則データと同じデータが使用される。すなわち、対象規則は、第1入力データの生成に使用された対象規則と同じである。
【0235】
S130p1では、プロセッサ110は、第1入力データを取得する。第1入力データは、不揮発性記憶装置130、または、他の記憶装置(例えば、通信インタフェース180に接続される記憶装置)から、取得されてよい。以下、第1入力データが、N枚のページを表すこととする。
【0236】
図28(B)は、第1入力データと第2入力データと出力データとの例を示している。第1入力データIDp1は、6枚のページPp11-Pp16を表している。これらのページは、3個のページグループGp11、Gp12、Gp13を形成している。第1入力データIDp1は、2021年の試験問題と、2022年の試験問題と、を表している。
【0237】
S130p2(
図28(A)))では、プロセッサ110は、第1入力データのページグループを示す情報を取得する。図示を省略するが、本実施例では、プロセッサ110は、出力データの生成時に、ページグループを示すデータを、出力データ、または、記憶装置(例えば、不揮発性記憶装置130)に格納する。例えば、プロセッサ110は、各ページのプロパティに、ページグループの識別子を設定する。これに代えて、プロセッサ110は、ページグループを示すデータを、出力データと関連付けて、記憶装置(例えば、不揮発性記憶装置130)に格納してよい。S130p2では、プロセッサ110は、第1入力データに関連付けられるページグループのデータを参照する。
【0238】
S130p3では、プロセッサ110は、第2入力データを取得する。以下、第2入力データが、M枚のページを表すこととする。なお、S130p3は、
図2のS130と同様に、行われてよい。
【0239】
図28(B)には、第2入力データの例が示されている。第2入力データIDp2は、3枚のページPp21、Pp22、Pp23を表している。第2入力データIDp2は、2023年の試験問題を表している。
【0240】
続いて、プロセッサ110は、
図2、
図3のS140-S230の処理を実行する。これにより、プロセッサ110は、N+M枚のページの規則順番を決定する。
図28(B)には、出力データの例が示されている。出力データODp3は、9枚のページを表している。第2入力データIDp2のページPp21、Pp22、Pp23は、第1入力データIDp1のページグループGp11、Gp12、Gp13の後ろに、それぞれ追加されている。そして、3つの新たなページグループGp31、Gp32、Gp33が形成されている。
【0241】
プロセッサ110は、第1入力データIDp1のN枚のページに注目する場合に、N枚のページの順番が変わらないように、N+M枚のページの規則順番を決定する。このような規則順番の決定方法は、種々の方法であってよい。例えば、プロセッサ110は、第1入力データIDp1のページグループGp11、Gp12、Gp13を、形成済のページグループとして再使用してよい。具体的には、プロセッサ110は、S140(
図2)の後、S150、S170、S180(
図2、
図3)をスキップして、S200へ移行してよい。第2入力データIDp2の複数のページは、未確定ページとして使用されてよい。
【0242】
なお、第2入力データIDp2のページの適切な位置は、第1入力データIDp1の1個のページグループの複数のページの間の位置であり得る。例えば、第1ページグループGp11が、2021年のページと2023のページを含み、第2入力データIDp2が2022年のページを含む場合、2022年のページは、2021年のページと2023のページとの間に挿入されることが好ましい。そこで、S200(
図3)では、プロセッサ110は、確信度の算出のための候補順番として、以下の候補順番を採用してよい。
(1)第1種候補順番:未確定ページがページグループに続く(例えば、
図6(A)の候補順番C1a)
(2)第2種候補順番:ページグループが未確定ページに続く(例えば、
図6(A)の候補順番Ca1)
(3)第3種候補順番:未確定ページが、ページグループの複数のページに間に位置する
【0243】
第3種候補順番は、新たに採用される候補順番である。ページグループがt枚(tは1以上の整数)のページを含む場合、第3種候補順番としては、t枚のページから選択される1枚の注目ページに未確定ページが続くことを示すt個の候補順番が、使用される。プロセッサ110は、注目ページを先ページとして使用し、未確定ページを後ページとして使用することによって、確信度を算出してよい。第3種候補順番の確信度が大きい場合には、未確定ページは、ページグループの途中に挿入され得る。なお、t枚のページのうちの最後のページに未確定ページが続くことを示す候補順番は、第1種候補順番と同じである。
【0244】
規則順番の決定(
図3:S230)の後、S240p1(
図28)で、プロセッサ110は、規則順番に並ぶN+M枚のページを表す出力データを生成する。S240p2では、プロセッサ110は、ページグループを示すデータを、出力データ、または、記憶装置(例えば、不揮発性記憶装置130)に格納する。そして、プロセッサ110は、S250(
図3)へ移行する。
【0245】
以上のように、本実施例では、S130p3で、プロセッサ110は、第2入力データを取得する。第2入力データは、追加文書を表す追加データの例である。S140-S230、S240p1では、プロセッサ110は、第1入力データ(すなわち、出力データ)によって表されるN枚のページと、第2入力データによって表されるM枚の追加ページと、を含むN+M枚のページを表す出力データを生成する。S140-S230では、プロセッサ110は、N枚のページの順番を保ちつつ、N+M枚のページの並ぶ順番を対象規則に基づいて決定する。上述したように、追加ページは、N枚のページの間に挿入され得る。この場合も、N枚のページに注目する場合に、N枚のページの順番は変更されない。従って、N枚のページの順番は保たれている、ということができる。このように、プロセッサ110は、第1入力データと、新たな出力データと、のそれぞれにおいて、対象規則に基づく適切なページの順番を、実現できる。
【0246】
Q.第17実施例:
図29(A)-
図29(D)は、画像処理の別の実施例を示す図である。本実施例では、プロセッサ110は、中扉のページを含む出力データを生成する。
図29(A)は、画像処理のフローチャートの一部(S240q1、S240q2)を示している。中扉のページを含む出力データの生成のためのS240q1、S240q2は、本明細書の種々の実施例に適用可能である。S240q1、S240q2は、例えば、S230、S310、S320のいずれかに続いてよい。S240q2には、例えば、S250、S330、S340のいずれかが続いてよい。
【0247】
S240q1では、プロセッサ110は、各ページグループの中扉のページを生成する。
図29(B)は、規則順番に並ぶ複数のページの例を示している。ここで、
図28(B)の例と同じページグループGp11-Gp13が形成されることとする。
図29(C)は、中扉のページの例を示している。このページPqT1は、第1ページグループGp11の中扉を示している。本実施例では、プロセッサ110は、ページグループに対応付けられる参照情報を表すページを生成する。これに代えて、中扉のページは、白紙のページであってよい。
【0248】
S240q2(
図29(A))では、プロセッサ110は、規則順番に並ぶ複数のページと、各ページグループの先頭の中扉のページと、を表す出力データを生成する。
図29(D)は、出力データの例を示している。出力データODqは、ページグループGp11-Gp13と、各ページグループの先頭に追加された中扉のページPqT1、PqT2、PqT3と、を表している。S240q2の後、プロセッサ110は、S250、S330、S340のいずれかに移行してよい。
【0249】
このように、本実施例では、プロセッサ110は、S240q2で、複数のページから対象規則に基づいて形成されるL個(Lは2以上の整数)のページグループのそれぞれの始まりを示すL枚の中扉のページと、規則順番に並ぶ複数のページと、を表す出力データを生成する。ユーザは、中扉のページを参照することによって、ページグループの始まりを、容易に知ることができる。
【0250】
なお、ページグループを形成する方法は、種々の方法であってよい。例えば、プロセッサ110は、全てのページに対して特徴情報と参照情報とのマッチングを行うことによって、各ページに対応付けられる参照情報を決定してよい。マッチングの方法は、種々の方法であってよい。例えば、プロセッサ110は、複数の参照情報のそれぞれの登場回数を、ページ毎にカウントする。登場回数は、タイトルTLとテキストTX(
図5(B))に参照情報が登場する回数であってよい。プロセッサ110は、注目ページに登場する参照情報のうち、最も多く登場する参照情報を、注目ページに対応付けてよい。プロセッサ110は、規則順番に並ぶ複数のページにおいて、同じ参照情報に対応付けられるとともに連続する1以上のページを、1つのページグループとして採用してよい。なお、プロセッサ110は、S240q1の前に、改めて、ページグループを形成してよい。
【0251】
R.変形例:
(1)入力データは、スキャンデータに代えて、他の種々のデータであってよい。例えば、入力データは、ワードプロセッサ、プレゼンテーション用のスライド作成アプリケーションなど、特定のアプリケーションのデータであってよい。プロセッサ110は、複合機100の記憶装置115(例えば、不揮発性記憶装置130)、または、複合機100に接続される他の装置から、入力データを取得してよい。
【0252】
(2)規則データは、スキャンデータ、表計算ソフトウェアのデータに代えて、他の種々のデータであってよい。例えば、規則データは、ワードプロセッサ、プレゼンテーション用のスライド作成アプリケーションなど、特定のアプリケーションのデータであってよい。規則データは、ユーザが操作部150を操作することによって入力されるデータであってよい。規則データは、入力データによって表される複数のページのページ番号を表す部分とは異なる情報(例えば、
図4の参照情報Ta-Td)を表す種々のデータであってよい。対象規則によって表される複数の参照情報の順番は、時間に関連する順番、ユーザによって決定される順番など、任意の順番であってよい。対象規則に基づく複数のページの規則順番は、種々の順番であってよい。いずれの場合も、規則データは、1枚のページを表すデータであってよい。プロセッサ110は、複合機100の記憶装置115(例えば、不揮発性記憶装置130)、または、複合機100に接続される他の装置から、規則データを取得してよい。
【0253】
(3)画像処理は、上記の処理に限らず、他の種々の処理であってよい。例えば、プロセッサ110は、規則順番に並ぶN枚のページと、1枚以上の補足ページと、を含む出力データを生成してよい。補足ページは、以下の候補A-Eから任意に選択された1種類以上のページを含んでよい。
(A)目次ページ(例えば、
図10(D)の目次ページPp)
(B)対応表ページ(例えば、
図12(E)の対応表ページPq2)
(C)参照ページ(例えば、
図24(B)の参照ページPL1)
(D)索引ページ(例えば、
図26(B)の索引ページPnx)
(E)中扉のページ(例えば、
図29(C)の中扉のページPqT1)
【0254】
いずれの場合も、N枚のページの間に他のページが挿入されてよい。ここで、N枚のページに注目する場合に、N枚のページの並び順が規則順番であれば、出力データは、規則順番に並ぶN枚のページを表している、といえる。
【0255】
(4)
図28(A)の実施例において、プロセッサ110は、第1入力データのページグループを再使用せずに、S140-S230を実行してよい。すなわち、プロセッサ110は、N+M枚のページを表す1個の入力データを使用する場合の画像処理と同じ画像処理を実行してよい。
【0256】
(5)
図29(A)の実施例において、プロセッサ110は、ベージグループとは無関係に、中扉のページを追加してよい。例えば、プロセッサ110は、一定間隔で(例えば、10ページ毎に)、中扉のページを挿入してよい。
【0257】
(6)確信度(
図3:S200)の算出方法は、上記の方法に代えて、種々の方法であってよい。例えば、確信度の算出に使用される順番評価モデルM1の生成には、種々の文書が使用されてよい。例えば、日付の降順に並ぶ複数のページを含む文書が、使用されてよい。この場合、複数のページが日付の降順に並ぶように、規則順番が決定され得る。
【0258】
また、先ページと後ページとの間の文章の繋がりやすさを示す評価値V12(
図7(C))の算出には、文分類モデルM6に代えて、他の種々の機械学習モデルが使用されてよい(以下、文評価モデルと呼ぶ)。文評価モデルは、例えば、先ページの画像と後ページの画像とを連結した1枚の連結画像を使用して、文章の繋がりやすさの評価値を算出するモデルであってよい(連結画像内の2枚の画像の配置は、予め決められる)。このような文評価モデルとしては、例えば、畳込ニューラルネットワークを採用可能である。この文評価モデルの訓練には、種々の連結画像が使用される。連結画像が適切な先ページと後ページとを表す場合、正解評価値が1に設定され、連結画像が不適切な先ページと後ページとを表す場合、正解評価値が0に設定されてよい。そして、訓練済の文評価モデルの最終出力層に入力されるデータが、第12特徴ベクトルFd12として使用されてよい。
【0259】
(6)画像処理装置は、複合機100とは異なる種類の装置(例えば、パーソナルコンピュータ、デジタルカメラ、スキャナ、スマートフォン)であってもよい。また、ネットワークを介して互いに通信可能な複数の装置(例えば、コンピュータ)が、画像処理装置による画像処理の機能を一部ずつ分担して、全体として、画像処理の機能を提供してもよい(これらの装置を備えるシステムが画像処理装置に対応する)。
【0260】
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、
図7(A)の順番評価モデルM1の機能を、専用のハードウェア回路によって実現してもよい。
【0261】
また、本開示の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体(例えば、一時的ではない記録媒体)に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体(コンピュータ読み取り可能な記録媒体)に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやCD-ROMのような携帯型の記録媒体に限らず、各種ROM等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含み得る。
【0262】
上記の実施例と変形例とは、適宜に組み合わせることができる。また、上記の実施例と変形例とは、本開示の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【0263】
100…複合機、110…プロセッサ、115…記憶装置、120…揮発性記憶装置、130…不揮発性記憶装置、140…表示部、150…操作部、160…印刷実行部、170…読取実行部、180…通信インタフェース、LB1…文書解析ライブラリ、PG1…プログラム、M1-M6…機械学習モデル