(第1実施形態)
図1は、本発明の第1実施形態に係る文書画像生成装置1の構成を示すブロック図である。本実施形態の文書画像生成装置1は、PCまたはサーバ装置などの汎用コンピュータを用いて構成されており、演算を行うCPU(Central Processing Unit)11と、演算に伴って発生する一時的な情報を記憶するRAM(Random Access Memory)12と、光ディスクまたはメモリカードなどの記録媒体2から情報を読み取るCD−ROM(Compact Disc−Read Only Memory)ドライブなどのドライブ部13と、ハードディスクなどの記憶部14と、使用者が操作することによる各種の処理指示などの情報が入力されるキーボードまたはポインティングデバイスなどの入力部15と、各種の情報を表示する液晶ディスプレイなどの表示部16と、外部のウェブサーバ装置4が接続されている通信ネットワークNに接続された通信部17とを備えている。
CPU11は、記録媒体2からコンピュータプログラム21をドライブ部13に読み取らせ、読み取ったコンピュータプログラム21を記憶部14に記憶させる。コンピュータプログラム21は、必要に応じて記憶部14からRAM12へロードされる。CPU11は、原文書画像取得手段111、文字認識手段112、文字修正手段113、補足説明情報取得手段114、位置決定手段としての機能を果たす付属情報決定手段115、および画像生成手段122を含んで構成され、ロードされたコンピュータプログラム21に基づいて文書画像生成装置1に必要な処理を実行する。付属情報決定手段115は、長さ判定手段116、行頭行末判定手段117、終端位置設定手段118、開始位置設定手段119、後方修正処理手段120、および前方修正処理手段121を含む。なお、コンピュータプログラム21は、インターネットまたはLAN(Local Area Network)などの通信ネットワークを介して図示しない外部のサーバ装置から文書画像生成装置1へダウンロードされて記憶部14に記憶される形態であってもよい。
また、記憶部14は、自然言語処理に必要なデータを記録した辞書データベース22を記憶している。辞書データベース22は、言語の文法、構文の出現頻度、および単語の意味などを示す情報を記録している。辞書データベース22は、最初から記憶部14に記憶されている形態でもよく、また記録媒体2に記録されてあってドライブ部13で記録媒体2から読み取られて記憶部14に記憶される形態でもよい。
通信部17は、通信ネットワークNを介してウェブサーバ装置4から送信されたウェブページ用のデータを受信し、CPU11は、受信したデータに基づいたウェブページである原文書画像を表示部16に表示させる。本実施形態の文書画像生成装置1では、CPU11は、ウェブページである原文書画像を表示部16に表示する際に、コンピュータプログラム21をRAM12にロードし、ロードしたコンピュータプログラム21に従って、本発明の文書画像生成方法の処理を実行し、ウェブページである原文書画像に含まれる単語または連語に対する訳語などの補足説明情報を生成して表示する処理を行う。
文書画像生成方法では、ウェブサーバ装置4から受信したデータに基づいたウェブページである原文書画像から、文書中の単語または連語に対する訳語を補足説明情報として付加した補足説明付文書画像を生成する。ここで連語とは、複数の単語から構成され、独自の意味を有する語句であり、名詞句、動詞句、熟語、または慣用句などが連語に相当する。また連語には、連語に含まれる複数の単語が文書中に連続して配置されている連続連語と、複数の単語が不連続に配置されている不連続連語とがある。不連続連語は、たとえば、「He takes difference into consideration.」という文章の「takes … into consideration」のように、連語に含まれる複数の単語の間に他の単語が配置されている連語である。また本実施形態では、連語の途中で改行が行われている連語についても、不連続連語として扱う。
図2は、原文書画像および補足説明付文書画像の一例を示す図である。図2(a)は、原文書画像111aの一例を示し、図2(b)は補足説明付文書画像122aの一例を示す。図2(a)に示す原文書画像111aには、第1の言語(たとえば、英語)を用いた「X-ray crystallographic analysis also confirmed the molecular structure.」という内容の文章が含まれている。本発明の文書画像生成方法では、図2(b)に示すように、連語「X-ray crystallographic analysis」、並びに単語「confirmed」、「molecular」および「structure」に対する第2の言語(たとえば、日本語)を用いた訳語を付した補足説明付文書画像122aを生成する。連語「X-ray crystallographic analysis」は、本来は連続連語であるものの、図2(a)に示す例では途中で改行が行われているので、不連続連語として扱われる。本実施形態においては、図2に示すように、左から右に向かう横書きの文書に対し、単語または連語の下側の行間に訳語を配置する例について説明する。
以下では、本実施形態の文書画像生成装置1が、コンピュータプログラム21に従って、文書画像生成方法の処理を実行する処理の手順について説明する。図3は、文書画像生成装置1が実行する処理の手順を示すフローチャートである。文書画像生成装置1のCPU11は、通信ネットワークNを介してウェブサーバ装置4から送信されたウェブページ用のデータを通信部17で受信すると、RAM12にロードしたコンピュータプログラム21に従って、以下の処理を実行する。
ステップs11では、CPU11の原文書画像取得手段111は、通信部17で受信したデータに基づいて、ウェブページである原文書画像を表す画像データを生成することにより、ウェブページ用のデータと原文書画像とを取得する。そして、CPU11は、ウェブページ用のデータと原文書画像を表す画像データとをRAM12に記憶させる。
次にステップs12では、CPU11の文字認識手段112は、RAM12に記憶された画像データが表す原文書画像から、文字が含まれている文字領域を抽出する。さらに文字認識手段112は、ステップs13において、抽出した文字領域に含まれる文字を認識する処理を実行する。ステップs13の文字認識処理では、CPU11は、たとえば従来のOCR(Optical Character Recognition)技術を利用して、文字領域に含まれる文字の認識と、原文書画像中の文字位置の特定とを行う。
ステップs13においてCPU11が実行した文字認識処理により、たとえば図4に示す文字データ112aが得られる。図4は、CPU11により実行される文字認識処理により得られる文字データ112aの一例を示す図である。図4に示す例は、図2に示した例の原文書画像111a中から文字を認識した結果の一部を示している。
文字認識処理により得られた文字データ112aは、文字の認識結果と文字に係る付属情報とを含んでなる。文字認識処理では、行内にあるスペースも文字として認識するようになっており、文字データ112aにはスペースを認識した認識結果とその認識結果に係る付属情報とが含まれている。図4に示す文字データ112aは、文字のそれぞれに付した文字番号、各文字の原文書画像における位置、文字領域に付した領域番号、各文字の行内での位置を示す行内位置情報、文字のサイズ、および文字の内容を示す認識結果を含んでなる。各文字の位置は、原文書画像における文字の左端のX座標、上端のY座標、右端のX座標、および下端のY座標で表されている。図4には、原文書画像の下端左端を原点とし、座標をポイントの単位で表した例を示している。行内位置情報は、行頭を示す「1」、行末を示す「2」、行中を示す「0」、および行頭かつ行末を示す「3」の何れかの数値で文字の行内での位置を示す。たとえば、CPU11は、原文書画像中で文字の左側に他の文字が無い場合に行内位置情報の「1」を生成し、文字の右側に他の文字が無い場合に行内位置情報の「2」を生成し、右にも左にも他の文字がない場合に行内位置情報の「3」を生成し、右にも左にも他の文字がある場合に行内位置情報の「0」を生成する処理を行う。文字のサイズとしては、文字のフォントサイズをポイントの単位で示している。CPU11は、ステップs13の文字認識処理により取得した文字データ112aを、RAM12に記憶させる。
次にステップs14では、CPU11の文字修正手段113は、RAM12に記憶したウェブページ用のデータから、テキストデータを抽出し、抽出したテキストデータとステップs13で認識した文字とを比較し、文字をテキストデータに合わせるように、認識した文字を修正する処理を行う。なお、ウェブページ用のデータが画像データなどのテキストデータを抽出できないデータである場合は、ステップs14の処理を省略してもよい。
次にステップs15では、CPU11の補足説明情報取得手段114は、文字認識処理により取得された文字データ112aから、認識文字で構成される文書に含まれる単語または連語に対する補足説明情報である訳語を取得する補足説明情報取得処理を実行する。図5は、文書画像生成装置1が実行する補足説明情報取得処理の手順を示すフローチャートである。
ステップs151では、CPU11は、ステップs13で取得した文字データ112aに基づいて、文書に含まれる各行におけるテキストの内容を表す行データを生成する。CPU11は、文字番号の順に行頭の文字から行末の文字まで文字を並べることによって一行分の行データを生成し、各行毎に行データを生成する。CPU11は、たとえば表1に示す行データを生成する。表1に示す例は、図2に示した例の原文書画像111a中から行データを生成した結果を示している。
表1に示す例では、「0」を開始値として各行に順に付した行番号に関連付けて、各行におけるテキストの内容を表す行テキストが関連付けられている。行テキストの内容は、文字認識処理で認識された文字を示す文字コードからなる。
次にステップs152では、CPU11は、生成した行データに基づき、文書に含まれるテキストの内容を表すテキストデータ、および文書中での改行位置を記録した改行データを生成する。ステップs152では、CPU11は、各行の行テキストを行番号の順に連結することにより、テキストデータを生成する。このとき、文書に記載されている言語が英語などのスペースで単語が区切られている言語である場合は、各行テキストの最後尾にスペースを挿入した上で行テキストを連結する。これは、スペースで単語が区切られている言語では、改行位置が単語の区切りになっていることが多いためである。日本語などのスペースで単語が区切られていない言語の場合は、CPU11は、スペースを挿入せずに行テキストを連結する。更にステップs152では、CPU11は、行テキストを連結する都度、連結により生成されたテキストデータの中でどの位置が文書中での改行位置に対応した位置であるかを記録することにより、改行データを生成する。
CPU11は、たとえば表2に示すテキストデータ、および表3に示す改行データを生成する。
表2に示す例では、表1に示す例の各行データを順に連結した内容となっている。表2中ではテキストデータを2行にわたって表示しているが、データ上ではテキストデータは一行分のデータとなっている。
ステップs152では、CPU11は、ステップs12において抽出された文字領域からステップs13で認識された文字が含まれるテキストデータを生成する。すなわち、ステップs152においてCPU11が生成するテキストデータには、一般的に複数の文が含まれる。表3に示す改行データの例では、各行番号が示す行における改行位置を、「0」を開始値としてテキスト中の各文字に順に付した番号で示している。スペースで単語が区切られている言語の場合は、表3に示すように、改行位置は、行テキストを連結する際に挿入したスペースの位置とすればよい。スペースで単語が区切られていない言語の場合は、各行末の文字の位置を改行位置とすればよい。改行位置で行データを連結したテキストデータを生成することにより、以降の処理で行う自然言語処理では、複数の行にわたって文単位で自然言語処理を実行することができ、効率的で高精度の自然言語処理を実行することが可能となる。たとえば、複数の行にわたる連語については、行単位の自然言語処理では連語に含まれる各単語に対する訳語が得られるのみであるのに対し、複数の行にわたった自然言語処理では連語の訳語が得られる。
次にステップs153では、CPU11は、生成したテキストデータに対して、自然言語処理を行うことにより、テキストデータが表す文章に含まれる単語および連語の意味を推定する処理を行う。ステップs153では、CPU11は、辞書データベース22に記録されたデータに基づいて、文章の形態素解析、局所構文解析、および品詞推定などの自然言語処理を行うことにより、文章中に含まれる単語、および複数の単語からなる連語を特定し、意味を推定する。
次にステップs154では、CPU11は、文章に含まれる単語および連語のうち、補足説明付文書画像に付加するために訳語を取得すべき単語および連語を選択する処理を行う。辞書データベース22に記録してあるデータでは、単語および連語のそれぞれについて難易度を予め定めてあり、また記憶部14は、補足説明付文書画像中に訳語を付加すべき単語および連語の難易度を設定した設定情報を記憶している。設定情報の内容は、使用者が入力部15を操作することにより、使用者によって予め設定しておくことが可能である。ステップs154では、CPU11は、設定情報で定められた難易度以上の難易度が定められている単語および連語を、訳語を取得すべき単語および連語として選択する。ステップs154において、CPU11は、訳語を配置することが必要な単語および連語を選択する。なお、ステップs154では、訳語を付加すべき単語および連語の難易度を入力するための入力画面を表示部16に表示し、入力部15で難易度を入力される処理を行ってもよく、また、使用者が入力部15を操作することにより、訳語を取得すべき単語および連語を逐一指定する処理を行ってもよい。
次にステップs155では、CPU11は、選択した単語および連語のそれぞれについて、辞書データベース22から訳語を取得する処理を行う。CPU11は、訳語が複数存在する場合、ステップs153の自然言語処理により推定した意味に対応する訳語を取得する。CPU11は、単語または連語と、取得した訳語とを関連付けた訳語データを生成してRAM12に記憶させる。CPU11は、たとえば表4に示す訳語データを生成する。
表4に示す例では、訳語を取得すべき連語として「X-ray crystallographic analysis 」が選択され、訳語を取得すべき単語として「confirmed」、「molecular」および「structure」が選択され、それぞれに対して訳語が関連付けられている。
CPU11は、ステップs155において訳語データを生成し、訳語の取得を完了すると、図3に示すステップs16に処理を進める。
ステップs16では、CPU11の付属情報決定手段115は、ステップs15において取得した補足説明情報である訳語のそれぞれについて、補足説明付文書画像に訳語を配置する際の位置およびサイズなどの訳語の配置状態を示す付属情報を決定する付属情報決定処理を実行する。図6Aおよび図6Bは、文書画像生成装置1が実行する付属情報決定処理の手順を示すフローチャートである。
ステップs1601では、CPU11の長さ判定手段116は、ステップs13においてCPU11が実行した文字認識処理により得られた文字データ112aに基づいて、文書に含まれる各行の行間の大きさを計算する。ステップs1601では、CPU11の長さ判定手段116は、文字データ112aから各行の先頭文字の上端および下端のY座標を取得し、一の行の先頭文字の下端のY座標と次の行の先頭文字の上端のY座標との差を計算することにより、行間の大きさを計算する。CPU11は、計算した行間の大きさを各行に関連付けてRAM12に記憶させる。
次にステップs1602では、CPU11は、ステップs15においてCPU11が実行した補足説明情報取得処理により得られた訳語の中から、一の訳語を選択する。次にステップs1603では、CPU11は、ステップs1602で選択した訳語が不連続連語の訳語であるか否かを判定する。CPU11は、訳語が不連続連語の訳語であると判定した場合にはステップs1604に処理を進め、訳語が不連続連語の訳語ではないと判定した場合にはステップs1605に処理を進める。
ステップs1604では、CPU11は、訳語に係る不連続連語に含まれる単語または連続単語列のうち、行間に訳語を配置することにより訳語を近接させる単語または連続単語列を決定する処理を行う。ステップs1604では、CPU11は、不連続連語に含まれる先頭単語、連続単語列、または最長単語の長さを互いに比較し、長さが最大である単語または連続単語列を、訳語を近接させる単語または連続単語列として決定する処理を行う。長さの比較には、連続単語列に含まれるスペースをも一文字として数えた文字数を比較すればよい。不連続連語の場合、できるだけ長い単語または連続単語列に訳語を近接させた方が訳語と連語との対応関係を把握し易い。また使用者が文章を文頭から順に読んでいく際には、不連続連語の訳語はできるだけ先頭の単語に近接していた方が意味を理解し易い。従って、ステップs1604の処理により、不連続連語の意味がより理解し易くなる位置に、訳語の配置位置が定められる。
ステップs1603で訳語が不連続連語の訳語ではないと判定された場合、またはステップs1604が終了した場合、ステップs1605においてCPU11の長さ判定手段116は、訳語のフォントサイズを決定する処理を行う。ステップs1605では、CPU11は、訳語を近接して配置させるべき単語、連語または連続単語列が含まれる行と次の行との行間の大きさを取得し、取得した行間の大きさと、訳語を近接して配置させるべき単語、連語または連続単語列のフォントサイズとを比較する。行間の大きさが、単語、連語または連続単語列のフォントサイズの40%よりも小さい場合には、CPU11は、訳語のフォントサイズを、単語、連語または連続単語列のフォントサイズの40%に決定する。行間の大きさが、単語、連語または連続単語列のフォントサイズの80%よりも大きい場合には、CPU11は、訳語のフォントサイズを、単語、連語または連続単語列のフォントサイズの80%に決定する。行間の大きさが、単語、連語または連続単語列のフォントサイズの40%以上80%以下である場合には、CPU11は、訳語のフォントサイズを、行間と同じ大きさに決定する。なお、閾値として、40%または80%とは異なる値を用いてもよい。
CPU11がステップs1605のように、各単語または連語別に訳語のフォントサイズを決定することにより、画像読取時に行が歪んで読み取られるなどの原因により文書中で行間の大きさに変動がある場合でも、各行の文字に重ならないように訳語を配置することができる。なお、本実施形態では、各単語または連語別に訳語のフォントサイズを決定するのではなく、行単位で訳語のフォントサイズを決定する処理を行ってもよい。この場合には、一行内で訳語のフォントサイズが変動することがないので、行間に訳語を配置した文書の美観が向上する。また本実施形態では、文字を認識した文字領域単位で統一した訳語のフォントサイズを定める処理を行ってもよい。この場合には、訳語のフォントサイズが段落などの文字領域内で統一され、行間に訳語を配置した文書の美観が向上する。
次にステップs1606では、CPU11の終端位置設定手段118および開始位置設定手段119は、単語または連語に近接する行間の中で、行に沿った方向の訳語を配置すべき開始位置、および訳語を配置することが可能な終端位置を設定する処理を行う。ここで、開始位置は、訳語が配置されたときの訳語の先端の位置であり、終端位置は、訳語がこれ以降には配置されないように定めた限界の位置である。ステップs1606では、CPU11は、訳語を近接して配置させるべき単語、連語または連続単語列の最初の文字の左端のX座標を、開始位置に設定し、単語、連語または連続単語列の最後の文字の右端のX座標を、終端位置に設定する。連語の途中に改行が存在する場合には、CPU11は、行末を終端位置に設定する。なお、本実施形態では、開始位置を、単語、連語または連続単語列の最初の文字の左端から所定量だけずらした位置としてもよく、終端位置を、最後の文字の右端から所定量だけずらした位置としてもよい。またステップs1606では、CPU11は、以前の処理により開始位置または終端位置が既に定まっている場合は既に定まっている位置を採用する処理を行う。
次にステップs1607では、CPU11の長さ判定手段116は、訳語の文字数にフォントサイズを乗じることによって訳語の長さを計算し、終端位置の値から開始位置の値を引くことによって訳語を配置可能な配置スペースの長さを計算し、訳語の長さが配置スペースの長さよりも長いか否かを判定する。CPU11は、訳語の長さが配置スペースの長さ以下であると判定した場合にはステップs1608に処理を進め、訳語の長さが配置スペースの長さを超えると判定した場合にはステップs1611に処理を進める。
ステップs1608では、CPU11は、訳語の長さの圧縮率を「1」に決定する。すなわち、CPU11は、訳語を縮小せずに文書中に配置することになる。次にステップs1609では、CPU11は、単語または連語に近接する行間の中で、行に交差する方向の訳語の配置位置を決定する処理を行う。ステップs1609では、CPU11は、訳語を近接して配置させるべき単語、連語または連続単語列に含まれる各文字の下端のY座標を全て取得し、取得したY座標の値を平均し、Y座標の平均値から訳語のフォントサイズだけ下方へずらした位置を、行に交差する方向の訳語の配置位置と決定する。ステップs1609の処理により、補足説明付文書画像中で訳語を配置する位置が、文書中の単語、連語または連続単語列に近接する行間に定まる。またステップs1605以降、ステップs1609までの処理により、ステップs1602で選択した訳語のフォントサイズ、配置位置、および圧縮率を示す付属情報が決定される。
次にステップs1610では、CPU11は、取得した訳語のうち、まだ付属情報を決定していない訳語があるか否かを判定する。CPU11は、まだ付属情報を決定していない訳語があると判定した場合には、処理をステップs1602に戻し、まだ付属情報を決定していない訳語の中から一の訳語を選択する。また、CPU11は、まだ付属情報を決定していない訳語が無いと判定した場合には、付属情報決定処理を終了し、図3に示すステップs17に処理を進める。
ステップs1607で訳語の長さが配置スペースの長さよりも長いと判定された場合、ステップs1611では、CPU11は、配置スペースの長さの値を訳語の長さの値で除することにより、訳語の長さの圧縮率を計算する。次にステップs1612では、CPU11は、計算した圧縮率が予め定められた閾値より小さいか否かを判定する。圧縮率の閾値は、1以下の所定の値に予め定められており、コンピュータプログラム21に含まれているか、または設定により記憶部14に記憶されている。CPU11は、圧縮率が閾値以上であると判定した場合には前述のステップs1609に処理を進め、圧縮率が閾値より小さいと判定した場合には図6Bに示す圧縮率緩和処理の最初のステップであるステップs1651に処理を進める。
ステップs1651では、CPU11の行頭行末判定手段117は、訳語を近接して配置させるべき単語、連語または連続単語列(着目語)が、その行中の末尾にあるか否かを判定する。CPU11は、着目語が行中の末尾にあると判定した場合にはステップs1652に処理を進め、着目語が行中の末尾以外の箇所にあると判定した場合にはステップs1655に処理を進める。
ステップs1652では、CPU11の終端位置設定手段118は、その行の行末のX座標から所定の長さ(たとえば、原文文字の標準的なサイズの2字分)だけ右の位置のX座標を終端位置に設定することにより、終端位置を修正する。
次にステップs1653では、CPU11の長さ判定手段116は、訳語を配置可能な配置スペースの長さを計算し、訳語の長さが配置スペースの長さよりも長いか否かを判定する。CPU11は、訳語の長さが配置スペースの長さ以下であると判定した場合には前述したステップs1608に処理を進め、訳語の長さが配置スペースの長さよりも長いと判定した場合にはステップs1654に処理を進める。ステップs1654では、CPU11は、配置スペースの長さの値を訳語の長さの値で除することにより、訳語の長さの圧縮率を計算し、その後、前述したステップs1609に処理を進める。
ステップs1651で、訳語を近接して配置させるべき単語、連語または連続単語列がその行の末尾以外の箇所にあると判定した場合、ステップs1655では、CPU11は、行中で、当該単語、連語または連続単語列の後方に隣接する位置(右隣)に、他の訳語を行間に配置しない単語が存在するか否かを判定する。CPU11は、他の訳語を行間に配置しない単語が後方に存在すると判定した場合にはステップs1660に処理を進め、他の訳語を行間に配置しない単語が後方に存在しないと判定した場合にはステップs1656に処理を進める。
ステップs1656では、CPU11の行頭行末判定手段117は、訳語を近接して配置させるべき単語、連語または連続単語列(着目語)が、その行中の先頭にあるか否かを判定する。CPU11は、着目語がその行の先頭にあると判定した場合にはステップs1657に処理を進め、着目語がその行の先頭以外の箇所にあると判定した場合にはステップs1663に処理を進める。
ステップs1657では、CPU11の開始位置設定手段119は、その行の行末のX座標から所定の長さ(たとえば原文文字の標準的なサイズの2字分)だけ左の位置のX座標を開始位置に設定することにより、開始位置を修正する。次にステップs1658では、CPU11は、訳語を配置可能な配置スペースの長さを計算し、訳語の長さが配置スペースの長さよりも長いか否かを判定する。CPU11は、訳語の長さが配置スペースの長さ以下であると判定した場合には前述したステップs1608に処理を進め、訳語の長さが配置スペースの長さよりも長いと判定した場合にはステップs1659に処理を進める。
ステップs1659では、CPU11は、配置スペースの長さの値を訳語の長さの値で除することにより、訳語の長さの圧縮率を計算し、その後、前述したステップs1609に処理を進める。
ステップs1655で、他の訳語を行間に配置しない単語が後方に存在すると判定した場合、ステップs1660では、CPU11は、後方に隣接する単語の最後の文字の右端のX座標を終端位置に設定することにより、終端位置を修正する。次にステップs1661では、CPU11は、訳語を配置可能な配置スペースの長さを計算し、訳語の長さが配置スペースの長さよりも長いか否かを判定する。CPU11は、訳語の長さが配置スペースの長さ以下であると判定した場合には前述したステップs1608に処理を進め、訳語の長さが配置スペースの長さよりも長いと判定した場合にはステップs1662に処理を進める。ステップs1662では、CPU11は、配置スペースの長さの値を訳語の長さの値で除することにより、訳語の長さの圧縮率を計算し、その後、前述したステップs1609に処理を進める。
ステップs1656で、着目語がその行の先頭以外の箇所にあると判定した場合、ステップs1663では、CPU11は、行中で、訳語を近接して配置させるべき単語、連語または連続単語列の前方に隣接する位置(左隣)に、他の訳語を行間に配置しない単語が存在するか否かを判定する。CPU11は、他の訳語を行間に配置しない単語が前方に存在すると判定した場合にはステップs1664に処理を進め、他の訳語を行間に配置しない単語が前方に存在しないと判定した場合にはステップs1665に処理を進める。
ステップs1664では、CPU11は、前方に隣接する単語の中心位置よりも後方に位置する範囲内で、開始位置を前方にずらすことにより、開始位置を修正する。ステップs1664では、たとえば、CPU11は、訳語の長さから配置スペースの長さを引いた値が、前方に隣接する単語の中心位置から開始位置までの距離より小さい場合には、訳語の長さから配置スペースの長さを引いた値だけ開始位置を前方にずらす処理を行う。またたとえば、CPU11は、訳語の長さから配置スペースの長さを引いた値が、前方に隣接する単語の中心位置から開始位置までの距離以上である場合には、前方に隣接する単語の中心位置から所定量だけ後方にずれた位置を開始位置とする処理を行う。開始位置を前方にずらし過ぎた場合は、訳語と単語または連語との対応関係が不明瞭となるので、ステップs1664の処理では、開始位置を、前方に隣接する単語の中心位置よりも後方の位置とするのが適切である。ステップs1664が終了した後は、CPU11は、ステップs1661に処理を進める。
ステップs1663で、他の訳語を行間に配置しない単語が前方に存在しないと判定した場合、ステップs1665では、CPU11は、訳語を近接して配置させるべき単語、連語または連続単語列の位置が行末ではなく、当該単語、連語または連続単語列の後方に隣接する単語の長さから所定の最小訳語間隔を差し引いた値よりも、後方の単語に近接して配置させるべき訳語の長さが小さいか否かを判定する。最小訳語間隔は、文書中に配置する訳語が互いに区別できるように訳語の間に確保すべきスペースの長さの下限値である。最小訳語間隔の値としては、予め定められている値を用いるか、または訳語のフォントサイズに応じた値を用いる。CPU11は、後方の単語の長さから最小訳語間隔を差し引いた値よりも後方の訳語の長さが小さいと判定した場合にはステップs1666に処理を進め、後方の訳語の長さが後方の単語の長さから最小訳語間隔を差し引いた値以上と判定した場合にはステップs1667に処理を進める。
ステップs1666では、CPU11の後方修正処理手段120は、後方の訳語を配置する位置を本来の位置より後方へずらし、選択中の訳語を配置することが可能な終端位置をより後方へずらす後方修正処理を実行する。図7は、文書画像生成装置1が実行する後方修正処理の手順を示すフローチャートである。
ステップs16661では、CPU11は、現在の配置スペースの長さと行中の単語の間隔と後方の単語の長さとを足し合わせた値から、後方の訳語の長さと最小訳語間隔とを差し引いた値が、圧縮率を「1」とした選択中の訳語の長さよりも小さいか否かを判定する。CPU11は、前記値が圧縮率1の訳語の長さよりも小さいと判定した場合にはステップs16662に処理を進める。
ステップs16662では、CPU11は、現在の配置スペースの長さと行中の単語の間隔と後方の単語の長さとを足し合わせた値から、後方の訳語の長さと最小訳語間隔とを差し引いた値で、圧縮率を「1」とした選択中の訳語の長さを除することにより、訳語の長さの圧縮率を計算する。次にステップs16663では、CPU11は、計算した圧縮率を圧縮率1の訳語の長さに乗ずることにより訳語の長さを計算し、訳語の開始位置の座標に訳語の長さを加算した座標を終端位置の座標に設定することにより、訳語の終端位置を修正する。次にステップs16664では、CPU11は、後方の単語の開始位置の座標に後方の単語の長さを加算した座標から、後方の訳語の長さを差し引いた座標を、後方の訳語の開始位置に設定することにより、後方の訳語を配置すべき位置を修正する。
ステップs16661で、現在の配置スペースの長さと行中の単語の間隔と後方の単語の長さとを足し合わせた値から、後方の訳語の長さと最小訳語間隔とを差し引いた値が、圧縮率を「1」とした選択中の訳語の長さ以上であると判定した場合、ステップs16665では、CPU11は、訳語の長さの圧縮率を「1」に決定する。次にステップs16666では、CPU11は、訳語の開始位置の座標に圧縮率1の訳語の長さを加算した座標を終端位置の座標に設定することにより、訳語の終端位置を修正する。次にステップs16667では、CPU11は、訳語の開始位置の座標に訳語の長さと最小訳語間隔とを加算した座標を、後方の訳語の開始位置に設定することにより、後方の訳語を配置すべき位置を修正する。
ステップs16664またはステップs16667が終了した後は、CPU11は、ステップs1666の後方修正処理を終了し、前述したステップs1609に処理を進める。
ステップs1665で、訳語を近接して配置させるべき単語、連語または連続単語列の位置が行末であるか、または、後方の訳語の長さが、後方の単語の長さから最小訳語間隔を差し引いた値以上であると判定した場合、ステップs1667では、CPU11は、訳語を近接して配置させるべき単語、連語または連続単語列の位置が行頭ではなく、当該単語、連語または連続単語列の前方に隣接する単語の長さから最小訳語間隔を差し引いた値よりも、前方の単語に近接して配置させるべき訳語の長さが小さいか否かを判定する。CPU11は、前方の単語の長さから最小訳語間隔を差し引いた値よりも前方の訳語の長さが小さいと判定した場合には、ステップs1668に処理を進める。またCPU11は、前方の訳語の長さが、前方の単語の長さから最小訳語間隔を差し引いた値以上と判定した場合には、前述したステップs1609に処理を進める。
ステップs1668では、CPU11の前方修正処理手段121は、選択中の訳語を配置することが可能な開始位置をより前方へずらす前方修正処理を実行する。図8は、文書画像生成装置1が実行する前方修正処理の手順を示すフローチャートである。
ステップs16681では、CPU11は、現在の配置スペースの長さと行中の単語の間隔と前方の単語の長さとを足し合わせた値から、後方の訳語の長さと最小訳語間隔とを差し引いた値が、圧縮率を「1」とした選択中の訳語の長さよりも小さいか否かを判定する。CPU11は、前記値が圧縮率1の訳語の長さよりも小さいと判定した場合には、ステップs16682に処理を進める。
ステップs16682では、CPU11は、現在の配置スペースの長さと行中の単語の間隔と前方の単語の長さとを足し合わせた値から、前方の訳語の長さと最小訳語間隔とを差し引いた値で、圧縮率を「1」とした選択中の訳語の長さを除することにより、訳語の長さの圧縮率を計算する。次にステップs16683では、CPU11は、前方の単語の開始位置の座標に前方の単語の長さと最小訳語間隔とを加算した座標を、訳語の開始位置に設定することにより、選択中の訳語の開始位置を修正する。
ステップs16681で、現在の配置スペースの長さと行中の単語の間隔と前方の単語の長さとを足し合わせた値から、前方の訳語の長さと最小訳語間隔とを差し引いた値が、圧縮率を「1」とした選択中の訳語の長さ以上であると判定した場合、ステップs16684では、CPU11は、訳語の長さの圧縮率を「1」に決定する。次にステップs16685では、CPU11は、訳語の終端位置の座標から圧縮率1の訳語の長さを差し引いた座標を開始位置の座標に設定することにより、訳語の開始位置を修正する。
ステップs16683またはステップs16685が終了した後は、CPU11は、ステップs1668の前方修正処理を終了し、前述したステップs1609に処理を進める。
以上のようなステップs1601以降の付属情報決定処理、特にステップs1607以降の処理により、訳語を近接して配置させるべき単語、連語または連続単語列の長さよりも長い訳語については、訳語の長さが配置スペースに収まるように、訳語の長さが縮小される。訳語の長さを縮小することにより、訳語を配置したときに他の訳語に位置が重なることがなく、単語または連語と訳語との対応関係が明確となる。また当該単語、連語または連続単語列が行中の先頭または末尾にある場合には、訳語を近接して配置させるべき単語、連語または連続単語列に近接した行間の位置に加えて、行頭または行末を所定の長さだけ超えたX座標の行間の位置を含む位置に、訳語の行に沿った方向の配置位置が定められる。このため、訳語を配置する際には、行頭または行末を所定の長さだけ超えた部分にまで訳語が配置され、極端に訳語の長さが圧縮されることがなく、読み易い大きさで訳語を配置することができる。
図9は、訳語が行頭または行末のスペースを利用して配置される場合の一例を示す図である。図9(a)には、訳語B1の長さを縮小して訳語B1を配置した例を示し、図9(b)には、行末を所定の長さX1だけ超えた位置にまで訳語B1を配置した例を示し、図9(c)には、行頭を所定の長さX2だけ超えた位置にまで訳語B1を配置した例を示す。「identified as」と表記される連語A1に対する、「〜が〜であると認識する」と表記される訳語B1の長さが長いので、図9(a)に示す例では訳語B1の長さが圧縮されているが、図9(b)および図9(c)に示す例では、行末または行頭を所定の長さX1,X2だけ超えた部分を含む位置に訳語B1が配置され、訳語B1の大きさが図9(a)に比べて読み易い大きさとなっている。
また、ステップs1607以降の処理により、他の訳語を配置すべき単語が前後に存在しない場合には、訳語を近接して配置させるべき単語、連語または連続単語列に近接した行間の位置に加えて、前後の単語に近接した行間の位置を含む位置に、訳語の行に沿った方向の配置位置が定められる。このため、訳語を配置する際には、前後の単語に近接した部分にまで訳語が配置され、極端に訳語の長さが圧縮されることがなく、読み易い大きさで訳語を配置することができる。
図10は、訳語の長さが単語よりも長い場合における訳語の配置の一例を示す図である。図10(a)には、訳語B2の長さを縮小して訳語B2を配意した例を示し、図10(b)には、前後の単語A3に近接した行間の位置にまで訳語B2を配置した例を示す。「show」と表記される単語A2に対する、「〜を〜に示す」と表記される訳語B2の長さが長く、「an」と表記される後方の単語A3には訳語が配置されないので、図10(b)に示す例では、後方の単語A3に近接した部分を含む位置に訳語B2が配置され、訳語B2の大きさが図10(a)に比べて読み易い大きさとなっている。
また前述の処理では、前後の単語が共に他の訳語を配置すべき単語であっても、前後の単語に近接して配置すべき他の訳語の長さが単語の長さに比べて十分に短い場合は、訳語を近接して配置させるべき単語、連語または連続単語列に近接した行間の位置に加えて、前後の単語に近接した行間の位置の一部を含む位置に、訳語の行に沿った方向の配置位置が定められる。
図11は、訳語の長さが連語よりも長い場合における訳語の配置の一例を示す図である。図11は、「identified as」と表記される連語A4に近接して、「〜が〜であると認識する」と表記される訳語B4が配置される例を示す。図11(a)は、後方の単語A5に近接した行間の位置の一部にも訳語B4を配置した例を示す。後方の単語A5に近接した行間の位置の一部にも訳語B4を配置する場合は、訳語B4の終端位置を後方へずらし、更に、後方の単語A5に近接して配置すべき他の訳語B5の位置をより後方にずらすことになる。図11(b)は、後方の単語A5に近接した行間の位置の一部にも訳語B4を配置した上で訳語B4の長さを縮小した例を示す。訳語B4の終端位置を後方へずらしても、訳語B4の配置スペースよりも訳語B4の長さの方がまだ長い場合には、訳語B4の長さを縮小することになる。図11(c)は、前方の単語A6に近接した行間の位置の一部にも訳語B4を配置した例を示す。前方の単語A6に近接した行間の位置の一部にも訳語B4を配置する場合は、前方の単語A6に近接して配置すべき他の訳語B6の位置は変更せずに、訳語B4の開始位置を前方へずらすことになる。図11(d)は、前方の単語A7に近接した行間の位置の一部にも訳語B4を配置した上で訳語B4の長さを縮小した例を示す。訳語B4の開始位置を前方へずらしても、訳語B4の配置スペースよりも訳語B4の長さの方がまだ長い場合には、訳語B4の長さを縮小することになる。このように、前後の単語に他の訳語が配置されていても、単語と訳語との対応関係が保たれる範囲内で前後の単語に近接した部分にまで訳語が配置されることにより、極端に訳語の長さが圧縮されることがなく、読み易い大きさで訳語を配置することができる。
以上のように、ステップs16の付属情報決定処理を終了した後は、CPU11は、訳語データに含まれる訳語に、決定した付属情報を関連付けた上で、訳語データをRAM12に記憶させ、図3に示すステップs17に処理を進める。ステップs13〜s16の処理は、ステップs12で抽出した文字領域のそれぞれについて実行される。
ステップs17では、CPU11の画像生成手段122は、原文書画像中に、付属情報で定められた配置状態でそれぞれの訳語を配置した補足説明付文書画像を生成する補足説明付文書画像生成処理を行う。図12は、文書画像生成装置1が実行する補足説明付文書画像生成処理の手順を示すフローチャートである。
ステップs171では、CPU11は、原文書画像と同一の大きさのレイヤ中に、訳語データに含まれるそれぞれの訳語のテキストデータを、付属情報が示すサイズで、付属情報が示す配置位置に配置した補足説明テキストレイヤを生成する。具体的には、CPU11は、付属情報が示すフォントサイズで生成した訳語の長さを圧縮率で圧縮し、訳語の先頭文字の左端は開始位置となり、訳語の下端は行に交差する方向の配置位置となるように、各訳語のテキストを配置した画像を生成する。ステップs171では、CPU11は、生成する補足説明テキストレイヤ中の訳語のテキストデータ以外の部分は透明にしておく。
次にステップs172では、CPU11は、原文書画像と同一の大きさの画像中に、訳語を取得した不連続連語に対する下線に相当する線を、不連続連語であることを示す印として配置した印画像レイヤを生成する。ステップs172では、CPU11は、生成する印画像レイヤ中の線以外の部分は透明にしておく。
図13は、補足説明テキストレイヤおよび印画像レイヤの一例を示す図である。図13に示す例は、図2に例を示した原文書画像111a中から生成した補足説明テキストレイヤ16aおよび印画像レイヤ16bである。図13(a)は、補足説明テキストレイヤ16aを示し、原文書画像中の単語および連語に対する訳語が配置されている。図13(b)は、印画像レイヤ16bを示し、原文書画像中の連語「X-ray crystallographic analysis」に対する下線に相当する線が配置されている。この連語は、連語の途中で改行が行われることにより不連続連語となっており、連語に対する下線に相当する線が配置される。
次にステップs173では、CPU11は、原文書画像と同一の大きさの透明なレイヤ中に、原文書画像中の各文字の位置に相当する位置に各文字を示すテキストデータを透明にした状態で配置した原文書テキストレイヤを生成する。次にステップs174では、CPU11は、原文書画像を画像レイヤにした原文書画像レイヤを生成する。次にステップs175では、CPU11は、補足説明テキストレイヤ16a、印画像レイヤ16b、および原文書テキストレイヤを、原文書画像レイヤに重ねることにより、補足説明付文書画像を生成し、生成した補足説明付文書画像を表す画像データをRAM12に記憶させ、図3に示すステップs18に処理を進める。
たとえば、ステップs17では、PDF(Portable Document Format)形式の画像で補足説明付文書画像を生成することとし、CPU11は、PDF形式のレイヤとして各レイヤを生成し、生成した補足説明テキストレイヤ16a、印画像レイヤ16b、および原文書テキストレイヤを、原文書画像レイヤに重ねることにより、PDF形式の補足説明付文書画像を生成する。図2(b)に示す補足説明付文書画像122aは、図2(a)に示す原文書画像111aに図13に示す補足説明テキストレイヤ16aおよび印画像レイヤ16b並びに透明な原文書テキストレイヤを重ねることにより生成した補足説明付文書画像である。原文書画像レイヤに補足説明テキストレイヤ16aおよび原文書テキストレイヤを重ねた補足説明付文書画像を生成することにより、文書の内容および訳語の内容を補足説明付文書画像から検索することが可能となり、また文書の内容および訳語の内容をコピーすることも容易となる。なお、印画像レイヤ16bおよび原文書テキストレイヤは、補足説明付文書画像を生成するために必須のものではなく、ステップs17では、原文書画像レイヤに少なくとも補足説明テキストレイヤ16aを重ねることにより、印画像レイヤ16bおよび原文書テキストレイヤの少なくとも一方のレイヤを含まない補足説明付文書画像を生成する処理を行ってもよい。
ステップs18では、CPU11は、生成した補足説明付文書画像を表示部16に表示させる処理を行い、本実施形態の文書画像生成装置1による文書画像生成の処理を終了する。なお、文書画像生成装置1は、更に、図示しない画像形成装置を用いて補足説明付文書画像を形成する処理を行ってもよい。
以上の処理により、ウェブページに含まれる単語または連語に対する訳語が行間に配置された補足説明付文書画像が表示部16に表示される。ウェブページを閲覧する使用者は、外国語で記載されたウェブページであっても、訳語を利用してウェブページの内容を理解することができる。補足説明付文書画像は、元のウェブページである原文書画像レイヤに補足説明テキストレイヤ16aを重ねることによって生成されるので、使用者はウェブページのレイアウトが維持された状態で訳語付のウェブページを閲覧することができる。
また、本実施形態の文書画像生成装置1による文書画像生成の処理により、図2(b)に示すような補足説明付文書画像122aが生成される。文書に含まれる単語または連語に対する訳語が、単語または連語に近接する行間に配置されており、文書を読む使用者は、訳語を利用して文書の内容を理解することができる。なお、図2(b)には、単語または連語に近接する上下の行間のうち、下側の行間に訳語を配置する例を示しているが、本実施形態では、単語または連語の上側の行間に訳語を配置してもよい。補足説明付文書画像は、原文書画像レイヤに補足説明テキストレイヤ16aを重ねることによって生成されるので、文書に含まれる文字のサイズおよび位置は不変であり、文書のレイアウトは維持される。したがって、原文書と訳語付の文書とを比較することが容易であり、文書の内容を正しく理解することが容易となる。また補足説明付文書画像では、文書を翻訳した訳文を生成するのではなく、単語または連語に対する訳語を付加しているので、原文書と訳語との対応関係は明らかであり、把握し易い。また原文書での単語の綴り間違い、文字認識の処理における誤認識、または自然言語処理の不備による誤訳などがあった場合でも、誤った訳語が付加されるだけであって、前後の文脈から訳語が誤っていることを推測することは容易であり、使用者が文書の内容を正しく理解することを大きく妨げることはない。また本実施形態では、原文書に対する加工を行わないので、文字認識の処理における誤認識などの原因により誤った内容の原文書を生成することがなく、使用者は正しく文書の内容を理解することができる。
また図2(b)に示すように、補足説明付文書画像122aでは、不連続連語に対する訳語を付加するとともに、不連続連語に下線を付してある。下線を付してあることにより、不連続連語の範囲が明確に示されており、使用者が不連続連語の範囲を把握し、文書の意味を理解することが容易となる。なお、不連続連語であることを示す印としては、下線に限るものではなく、本実施形態では、波線を付すか、または同一の不連続連語に含まれる単語には同一の数字を付すなど、その他の印を補足説明付文書画像中に配置する処理を行ってもよい。また本実施形態では、不連続連語に限らず、連続連語についても連語の範囲を明確に示す印を補足説明付文書画像中に配置する処理を行ってもよい。この場合は、連続連語を示す印と不連続連語を示す印としては互いに異なる印を用いることが望ましい。
(第2実施形態)
図14は、本発明の第2実施形態に係る文書画像生成装置5の構成を示すブロック図である。本実施形態の文書画像生成装置5は、前述した文書画像生成装置1に類似し、対応する部分については同一の参照符号を付して説明を省略する。文書画像生成装置5は、前述したCPU11に代えてCPU51を備えること以外は、文書画像生成装置1と同様である。
本実施形態の文書画像生成装置5が備えるCPU51は、記録媒体2からコンピュータプログラム21をドライブ部13に読み取らせ、読み取ったコンピュータプログラム21を記憶部14に記憶させる。コンピュータプログラム21は、必要に応じて記憶部14からRAM12へロードされる。CPU51は、原文書画像取得手段111、文字認識手段112、文字修正手段113、補足説明情報取得手段114、付属情報決定手段115、および画像生成手段122を含んで構成され、ロードされたコンピュータプログラム21に基づいて文書画像生成装置1に必要な処理を実行する。付属情報決定手段115は、長さ判定手段116、行頭行末判定手段117、終端位置設定手段118、開始位置設定手段119、後方修正処理手段120、および前方修正処理手段121、および補足説明情報置換手段511を含む。文書画像生成装置5のCPU51は、文書画像生成装置1のCPU11が備える各手段に加えて、新たに補足説明情報置換手段511を含んでいる。
本実施形態の文書画像生成装置5のCPU51が実行する文書画像生成の処理は、前述した文書画像生成装置1のCPU11が実行する、図3に示すステップs11〜s18の処理のうち、ステップs11〜s15、およびステップs17,s18の処理については同じであるが、ステップs16の付属情報決定処理の処理内容が異なる。本実施形態の文書画像生成装置5のCPU51が実行する付属情報決定処理について、図15を用いて説明する。図15は、文書画像生成装置5が実行する付属情報決定処理の手順を示すフローチャートである。
本実施形態の文書画像生成装置5では、図5に示すステップs155において、CPU51は、選択した単語または連語のそれぞれについて、記憶部14の辞書データベース22から訳語などの補足説明情報を取得する処理を行う。CPU51の補足説明情報取得手段114は、訳語が複数存在する場合には、選択した単語および連語から取得可能な全ての訳語を取得する。CPU51は、単語または連語と、取得した訳語とを関連付けた訳語データを生成してRAM12に記憶させる。
本実施形態の文書画像生成装置5においてCPU51は、たとえば表5に示す訳語データを生成する。
表5に示す例では、訳語を取得すべき単語として「style」が選択され、この単語に対する訳語情報がカテゴリごとに分類されて複数個が取得され、このうち1個の訳語「スタイル」が選ばれている。ここでいうカテゴリとは、たとえば、文法的または意味的に同一または類似の性質を持つとされた訳語の分類である。
CPU51は、訳語データの生成が完了すると、図3に示すステップs16に処理を進める。ステップs16では、CPU11の付属情報決定手段115は、ステップs15において取得した補足説明情報である訳語のそれぞれについて、補足説明付文書画像に訳語を配置する際の位置およびサイズなどの訳語の配置状態を示す付属情報を決定する付属情報決定処理を実行する。
文書画像生成装置5のCPU51が実行する、図15に示す付属情報決定処理におけるステップs1601〜s1606の処理は、文書画像生成装置1のCPU11が実行する処理と同じである。ステップs1606では、CPU51の終端位置設定手段118および開始位置設定手段119は、訳語を近接して配置させるべき単語、連語または連続単語列の最初の文字の左端のX座標を、開始位置に設定し、単語、連語または連続単語列の最後の文字の右端のX座標を、終端位置に設定する。
次にステップs1613では、CPU51の長さ判定手段116は、訳語の文字数にフォントサイズを乗じることによって訳語の長さを計算し、終端位置の値から開始位置の値を引くことによって訳語を配置可能な配置スペースの長さを計算し、訳語の長さが配置スペースの長さよりも長いか否かを判定する。CPU51は、訳語の長さが配置スペースの長さ以下であると判定した場合にはステップs1608に処理を進め、訳語の長さが配置スペースの長さを超えると判定した場合にはステップs1614の補足説明情報置換処理に処理を進める。
ステップs1614の補足説明情報置換処理が終了した後に行われるステップs1607では、CPU51の長さ判定手段116は、補足説明情報置換処理(訳語置換処理)を行った結果を用いて、訳語の長さが配置スペースの長さよりも長いか否かを判定する。文書画像生成装置5のCPU51が実行する、図15に示す付属情報決定処理におけるステップs1607〜s1612の処理は、文書画像生成装置1のCPU11が実行する処理と同じである。また、文書画像生成装置5のCPU51が実行する、ステップs1612以降の処理は、文書画像生成装置1のCPU11が実行するステップs1651〜s1668の処理と同じである。
図16は、文書画像生成装置5が実行する補足説明情報置換処理の手順を示すフローチャートである。
ステップs16141では、CPU51の補足説明情報置換手段511は、訳語を近接して配置させるべき単語、連語または連続単語列の訳語データのうち、現在選択訳語と同一カテゴリ内に他の訳語が存在するか否かを判定する。CPU51は、他の訳語が存在すると判定した場合にはステップs16142に処理を進め、他の訳語が存在しないと判定した場合には補足説明情報置換処理を終了してステップs1607に処理を進める。
ステップs16142では、CPU51の補足説明情報置換手段511は、他の訳語のうち、長さが最短の訳語に着目する。なお、上記説明では、訳語の判定・選択をする範囲を、現在選択訳語と同一カテゴリ内としているが、実施形態はこれに限られるものではない。また、ここでいう訳語の長さとは、訳語の言語で使用される文字種において文字の横幅がほぼ一定ならば(たとえば、日本語に使われる文字)、訳語の長さはその文字数に比例するとみなして、文字数で比較してもよい。また、訳語の言語で使用される文字種において文字の横幅が文字ごとに異なる(たとえば、ローマ字アルファベットのプロポーショナルフォント)なら、文字ごとの幅を積算した値を訳語の長さとしてもよい。
次にステップs16143では、CPU51の補足説明情報置換手段511は、着目した訳語の長さが現在選択訳語の長さよりも短いか否かを判定する。CPU51は、着目した訳語の長さが現在選択訳語の長さよりも短いと判定した場合にはステップs16144に処理を進め、着目した訳語の長さが現在選択訳語の長さ以上と判定した場合には補足説明情報置換処理を終了してステップs1607に処理を進める。そして、ステップs16144では、CPU51の補足説明情報置換手段511は、選択訳語を、着目した訳語に置き換える。
以上のような補足説明情報置換処理について、表5に示した例で説明する。当初の現在選択訳語はカテゴリ1の「スタイル」である。ここで、ステップs16141で、カテゴリ1内で「スタイル」以外の訳語が存在するかが判定される。ここでは存在するので、ステップs16142で、カテゴリ1内で長さが最短の訳語が着目される。ここでは訳語「型」が着目される。ステップs16143で、現在選択訳語「スタイル」と、着目訳語「型」との長さが比較される。この結果、着目訳語「型」のほうが長さが短いので、ステップs16144で、選択訳語が「型」に置き換えられる。
図17は、置換された訳語が配置される場合の一例を示す図である。図17(a)には、訳語の長さを縮小して訳語を配置した例を示し、図17(b)には、訳語を置き換えて訳語を配置した例を示す。図17(a)では、「style」と表記される単語A10に対する、「スタイル」と表記される訳語B10の長さが長いので、訳語B10の長さが圧縮されているが、図17(b)では訳語B10が、「型」と表記される着目訳語B11に置き換えられた結果、訳語の長さが短くなり、訳語の長さが圧縮されていないので、図17(a)に比べて読みやすくなっている。
(第3実施形態)
図18は、本発明の第3実施形態に係る文書画像生成装置6の構成を示すブロック図である。本実施形態の文書画像生成装置6は、CPUとして、前述した文書画像生成装置1が備えるCPU11、または文書画像生成装置5が備えるCPU51のいずれかを備え、画像読取装置31および画像形成装置32が接続されたインタフェース部61を備えている。
画像読取装置31は、フラットベッドスキャナまたはフィルムスキャナなどのスキャナであり、画像形成装置32は、インクジェットプリンタまたはレーザープリンタなどのプリンタである。なお画像読取装置31および画像形成装置32は一体に構成されていてもよい。画像読取装置31は、文書原稿に記録された画像を光学的に読み取って画像データを生成し、生成した画像データを文書画像生成装置6へ送信し、インタフェース部61は、画像読取装置31から送信された画像データを受信する。またインタフェース部61は、画像データを画像形成装置32へ送信し、画像形成装置32は、文書画像生成装置6から送信された画像データに基づいて画像を形成する。
文書画像生成装置6のその他の構成は、前述した文書画像生成装置1、文書画像生成装置5と同様であり、対応する部分については同一の参照符号を付して説明を省略する。本実施形態の文書画像生成装置6は、画像読取装置31が文書原稿の画像を読み取って生成した画像データに基づいて画像形成装置32により画像を形成する際に、文書原稿に含まれる単語または連語に対する訳語などの補足説明情報を生成する処理を行い、補足説明付文書画像を生成する。文書画像生成装置6における補足説明付文書画像の生成処理については、前述の文書画像生成装置1、文書画像生成装置5と同様である。
文書画像生成装置6では、CPU11,51は、補足説明付文書画像を表す画像データを、インタフェース部61から画像形成装置32へ送信し、画像形成装置32に画像データに基づいて補足説明付文書画像を形成させる処理を行う。
本実施形態においては、画像読取装置31で生成した原文書画像に対して補足説明付文書画像を生成する処理を実行する形態を示したが、本実施形態の文書画像生成装置6は、その他の方法で得られた原文書画像に対して補足説明付文書画像を生成する処理を実行する形態であってもよい。たとえば、文書画像生成装置6は、ファクシミリ通信または電子メールなどにより外部から送信された画像データを受信し、受信した画像データに対して補足説明付文書画像を生成する処理を実行する形態であってもよい。またたとえば、文書画像生成装置6は、インタフェース部61に撮影装置を接続してあり、撮影装置が文書を撮影することによって取得した原文書画像に対して補足説明付文書画像を生成する処理を実行する形態であってもよい。
なお、以上の第1実施形態、第2実施形態および第3実施形態では、補足説明情報として単語または連語に対する訳語を取得し、訳語を行間に配置した補足説明付文書画像を生成する形態を示したが、本発明に係る補足説明情報は訳語に限るものではない。たとえば、補足説明情報として、単語または連語の読みを読み仮名、発音記号またはピンイン記号などで説明した読み情報を、単語または連語に近接した行間に配置する形態であってもよい。この形態の場合は、文書を読む使用者は、文書中の単語または連語の読みを確認することができる。またたとえば、本発明は、補足説明情報として、単語または連語の意味、同義語または由来などを説明した注釈を、単語または連語に近接した行間に配置する形態であってもよい。この形態の場合は、文書を読む使用者は、たとえ母国語であっても難解な言葉または専門用語などを理解することができる。これらの形態では、文書画像生成装置は、単語または連語に関連づけた読み情報または注釈を辞書データベース22に予め記録しておき、辞書データベース22から読み情報または注釈を取得する処理を行う。
また以上の第1実施形態、第2実施形態および第3実施形態では、横書きの文書に対して本発明を適用する例を示したが、本発明は縦書きの文書に対しても適用可能である。たとえば、日本語による縦書きの文書に対して本発明の処理を実行する形態であってもよく、この形態の場合は、訳語は単語または連語に近接する右側の行間に配置すればよい。
また以上の第1実施形態、第2実施形態および第3実施形態では、文書画像生成装置は、辞書データベース22を内部の記憶部14に記録してある形態を示したが、これに限るものではなく、本発明の文書画像生成装置は、外部の辞書データベースを用いて本発明に係る処理を実行する形態であってもよい。たとえば、文書画像生成装置の外部のサーバ装置に辞書データベースを記憶しておき、文書画像生成装置は、必要に応じて外部の辞書データベースから必要なデータを読み出すことによって本発明に係る処理を実行してもよい。