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

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

▶ コニカ ミノルタ ラボラトリー ユー.エス.エー.,インコーポレイテッドの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-30
(45)【発行日】2022-12-08
(54)【発明の名称】電子文書中の文字列塊を推測する方法
(51)【国際特許分類】
   G06V 30/14 20220101AFI20221201BHJP
   G06F 16/904 20190101ALI20221201BHJP
【FI】
G06V30/14 340J
G06F16/904
【請求項の数】 11
【外国語出願】
(21)【出願番号】P 2018223040
(22)【出願日】2018-11-29
(65)【公開番号】P2019125353
(43)【公開日】2019-07-25
【審査請求日】2021-09-16
(31)【優先権主張番号】15/859,152
(32)【優先日】2017-12-29
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】507031918
【氏名又は名称】コニカ ミノルタ ラボラトリー ユー.エス.エー.,インコーポレイテッド
(74)【代理人】
【識別番号】110001254
【氏名又は名称】弁理士法人光陽国際特許事務所
(72)【発明者】
【氏名】プレブル, ティム
【審査官】片岡 利延
(56)【参考文献】
【文献】特開2011-159283(JP,A)
【文献】特開平05-067237(JP,A)
【文献】特開平05-159098(JP,A)
【文献】特開2000-293521(JP,A)
【文献】特表2012-514792(JP,A)
【文献】特開2016-099793(JP,A)
【文献】特開2015-146122(JP,A)
【文献】特開2009-122758(JP,A)
【文献】特開平07-057044(JP,A)
【文献】特開昭62-165275(JP,A)
【文献】米国特許出願公開第2017/0300565(US,A1)
【文献】特開平10-214308(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 30/14
G06F 16/904
(57)【特許請求の範囲】
【請求項1】
文字を含む電子文書を処理する方法であって、
前記文字を調節して行および単語を識別する工程、
前記行および前記単語のすべてを囲むクラスターを生成する工程、
前記クラスターを対象として設定する工程、
前記対象を分割できるかを判断する工程、
前記対象を分割することができると判断したことに応じて、前記対象を複数の第1の小 クラスターに分割する工程、
前記第1の小クラスターに基づいて文字列塊を識別する工程、および
前記文字列塊に基づいて段落および節を含む新しい電子文書を生成する工程を含み、
前記文字を調節する工程は、
前記文字間に新しい空白類文字を追加して前記行および前記単語を識別する工程、および
クラスターを生成する前に、前記行および前記単語に基づいて配列を決定する工程を含 み、
前記対象を分割することができるかを判断する工程は、
前記対象の前記配列に基づいて行の数を計算する工程、
前記行が連続しているかを判断する工程、
前記行間の距離を計算する工程、
前記行間の前記計算距離を前記対象の前記配列に割り当てる工程、
前記計算距離の第1の標準偏差値を計算する工程、および
前記行間の第1の最大距離を決定し、前記第1の標準偏差値及び前記第1の最大距離に基づいて、前記文字列塊を識別する工程、をさらに含む、
方法。
【請求項2】
前記対象を分割することができるかを判断する工程は、
行の前記計算数が所定の行の値よりも大きいかを判断する工程、
前記距離の前記第1の標準偏差値を所定の標準偏差値と比較する工程、および
前記第1の標準偏差値が前記所定の標準偏差値以上であるか、または、前記計算距離のいずれかが前記第1の最大距離以上であることに応じて、前記クラスターを分割する工程をさらに含む、請求項に記載の方法。
【請求項3】
前記対象を複数の第1の小クラスターに分割する工程は、
前記第1の最大距離に基づいて、前記行間の第2の最大距離を決定し、前記文字列塊を識別する工程、
前記連続行間の距離を前記第2の最大距離と比較する工程、
前記連続行間の距離が前記第2の最大距離以上である場合、前記連続行を分割する工程、
前記分割クラスターを前記複数の第1の小クラスターとして識別する工程、
前記対象に関連する前記配列を消去する工程、および
前記配列を前記第1の小クラスターのうちの1つに割り当てる工程を含む、請求項に記載の方法。
【請求項4】
前記第1の小クラスターに基づいて文字列塊を識別する工程は、
前記対象を処理済みクラスターとして設定する工程、
前記処理済みクラスター内の行の数を所定値と比較する工程、および
前記比較に基づいて前記処理済みクラスターを前記文字列塊のうちの1つとして設定する工程を含む、請求項1に記載の方法。
【請求項5】
前記連続行間の距離を前記第2の最大距離と比較する工程は、
前記行間の前記計算距離を前記第2の最大距離と比較した回数が第1の所定比較回数を 超えたかを判断する工程、および
前記回数が前記第1の所定比較回数を超えていないと判断したことに応じて前記第2の最大距離を小さくする工程を含む、請求項に記載の方法。
【請求項6】
前記対象を分割したことに応じて、前記第1の小クラスターのうちのいずれかの小クラスターをさらに分割することができるかを判断する工程、
前記小クラスターを分割することができると判断したことに応じて、前記小クラスターを前記対象として設定する工程、
前記対象を複数の第2の小クラスターに分割する工程、および
前記第1および第2の小クラスターに基づいて前記文字列塊を識別する工程をさらに含む、請求項1に記載の方法。
【請求項7】
前記新しい電子文書を生成する工程は、
前記対象を分割した回数に基づいて前記文字列塊を識別する工程、
前記文字列塊の間に行を追加して前記段落および節を形成する工程、および
前記新しい電子文書のすべての段落と節を収集する工程を含む、請求項に記載の方法 。
【請求項8】
文字を含む電子文書を処理するコンピューター可読プログラムコードを格納する非一時的コンピューター可読媒体であって、前記プログラムコードはコンピューターに、
前記文字を調節して行および単語を識別すること、
前記行および前記単語のすべてを囲むクラスターを生成すること、
前記クラスターを対象として設定すること、
前記対象を分割できるかを判断すること、
前記対象を分割することができると判断したことに応じて、前記対象を複数の第1の小クラスターに分割すること、
前記第1の小クラスターに基づいて文字列塊を識別すること、および
前記文字列塊に基づいて段落および節を含む新しい電子文書を生成することを実行させ
前記文字を調節することは、
前記文字間に新しい空白類文字を追加して前記行および前記単語を識別すること、および
クラスターを生成する前に、前記行および前記単語に基づいて配列を決定することを含み、
前記対象を分割することができるかを判断することは、
前記対象の前記配列に基づいて行の数を計算すること、
前記行が連続しているかを判断すること、
前記行間の距離を計算すること、
前記行間の前記計算距離を前記対象の前記配列に割り当てること、
前記計算距離の第1の標準偏差値を計算すること、および
前記行間の第1の最大距離を決定し、前記第1の標準偏差値及び前記第1の最大距離に基づいて、前記文字列塊を識別すること、をさらに含む、非一時的コンピューター可読媒体。
【請求項9】
前記プログラムコードは前記コンピューターにさらに、
前記対象を分割したことに応じて、前記第1の小クラスターのうちのいずれかの小クラスターをさらに分割することができるかを判断すること、
前記小クラスターを分割することができると判断したことに応じて、前記小クラスターを前記対象として設定すること、
前記対象を複数の第2の小クラスターに分割すること、および
前記第1および第2の小クラスターに基づいて前記文字列塊を識別することを実行させる、請求項8に記載の非一時的コンピューター可読媒体。
【請求項10】
文字を含む電子文書を処理するシステムであって、
メモリー、および
前記メモリーに接続されたプロセッサーを含み、前記プロセッサーは、
前記文字を調節して行および単語を識別し、
前記行および前記単語のすべてを囲むクラスターを生成し、
前記クラスターを対象として設定し、
前記対象を分割できるかを判断し、
前記対象を分割することができると判断したことに応じて、前記対象を複数の第1の小クラスターに分割し、
前記第1の小クラスターに基づいて文字列塊を識別し、
前記文字列塊に基づいて段落および節を含む新しい電子文書を生成し
前記文字を調節する際に、
前記文字間に新しい空白類文字を追加して前記行および前記単語を識別し、
クラスターを生成する前に、前記行および前記単語に基づいて配列を決定し、
前記対象を分割することができるかを判断する際に、
前記対象の前記配列に基づいて行の数を計算し、
前記行が連続しているかを判断し、
前記行間の距離を計算し、
前記行間の前記計算距離を前記対象の前記配列に割り当て、
前記計算距離の第1の標準偏差値を計算し、
前記行間の第1の最大距離を決定し、前記第1の標準偏差値及び前記第1の最大距離に基づいて、前記文字列塊を識別する、システム。
【請求項11】
前記プロセッサーはさらに、
前記対象を分割したことに応じて、前記第1の小クラスターのうちのいずれかの小クラスターをさらに分割することができるかを判断し、
前記小クラスターを分割することができると判断したことに応じて、前記小クラスターを前記対象として設定し、
前記対象を複数の第2の小クラスターに分割し、
前記第1および第2の小クラスターに基づいて前記文字列塊を識別する、請求項10に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子文書中の文字列塊を推測する方法に関する。
【背景技術】
【0002】
電子文書には数字、文字などからなる記号の集合(例えば文字列や非文字列の形態)が含まれる場合がある。例えば、電子文書はページの被走査物であってもよい。別の例としては、電子文書は人が文字を用いて書いた書面の写真であってもよい。
【発明の概要】
【発明が解決しようとする課題】
【0003】
これらの文字はページ記述言語で読み取り、あるいは操作するのが容易な形式で構造化されていることは希であるため、文字列処理装置が文字群の配列を特定するのが困難である。このような形式により電子文書(例えば、ワープロ文書、表計算シート、スライドショー、ウェブページなど)に含まれる可能性がある高水準の文字表現を生成するのも困難になる場合がある。それにもかかわらず、使用者は電子文書中の文字を容易に読み取り(認識し)操作する文字列処理装置を持ちたいと考えている。
【課題を解決するための手段】
【0004】
本発明の一つ以上の実施形態は、文字を含む電子文書を処理する方法を提供する。前記方法は、前記文字を調節して行および単語を識別する工程、前記行および前記単語のすべてを囲むクラスターを生成する工程、前記クラスターを対象として設定する工程、前記対象を分割できるかを判断する工程、前記対象を分割することができると判断したことに応じて、前記対象を複数の第1の小クラスターに分割する工程、前記第1の小クラスターに基づいて文字列塊を識別する工程、および前記文字列塊に基づいて段落および節を含む新しい電子文書を生成する工程を含み、前記文字を調節する工程は、前記文字間に新しい空白類文字を追加して前記行および前記単語を識別する工程、およびクラスターを生成する前に、前記行および前記単語に基づいて配列を決定する工程を含み、前記対象を分割することができるかを判断する工程は、前記対象の前記配列に基づいて行の数を計算する工程、前記行が連続しているかを判断する工程、前記行間の距離を計算する工程、前記行間の前記計算距離を前記対象の前記配列に割り当てる工程、前記計算距離の第1の標準偏差値を計算する工程、および前記行間の第1の最大距離を決定し、前記第1の標準偏差値及び前記第1の最大距離に基づいて、前記文字列塊を識別する工程、をさらに含む。
【0005】
本発明の一つ以上の実施形態は、文字を含む電子文書を処理するためのコンピューター可読プログラムコードを格納する非一時的コンピューター可読媒体を提供し、前記プログラムコードは、コンピューターに、前記文字を調節して行および単語を識別すること、前記行および前記単語のすべてを囲むクラスターを生成すること、前記クラスターを対象として設定すること、前記対象を分割できるかを判断すること、前記対象を分割することができると判断したことに応じて、前記対象を複数の第1の小クラスターに分割すること、前記第1の小クラスターに基づいて文字列塊を識別すること、および前記文字列塊に基づいて段落および節を含む新しい電子文書を生成すること、を実行させ、前記文字を調節することは、前記文字間に新しい空白類文字を追加して前記行および前記単語を識別すること、およびクラスターを生成する前に、前記行および前記単語に基づいて配列を決定することを含み、前記対象を分割することができるかを判断することは、前記対象の前記配列に基づいて行の数を計算すること、前記行が連続しているかを判断すること、前記行間の距離を計算すること、前記行間の前記計算距離を前記対象の前記配列に割り当てること、前記計算距離の第1の標準偏差値を計算すること、および前記行間の第1の最大距離を決定し、前記第1の標準偏差値及び前記第1の最大距離に基づいて、前記文字列塊を識別すること、をさらに含む。
【0006】
本発明の一つ以上の実施形態は、文字を含む電子文書を処理するシステムであって、メモリー、および前記メモリーに接続されたプロセッサーを含み、前記プロセッサーは前記文字を調節して行および単語を識別し、前記行および前記単語のすべてを囲むクラスターを生成し、前記クラスターを対象として設定し、前記対象を分割できるかを判断し、前記対象を分割することができると判断したことに応じて、前記対象を複数の第1の小クラスターに分割し、前記第1の小クラスターに基づいて文字列塊を識別し、前記文字列塊に基づいて段落および節を含む新しい電子文書を生成し、前記文字を調節する際に、前記文字間に新しい空白類文字を追加して前記行および前記単語を識別し、クラスターを生成する前に、前記行および前記単語に基づいて配列を決定し、前記対象を分割することができるかを判断する際に、前記対象の前記配列に基づいて行の数を計算し、前記行が連続しているかを判断し、前記行間の距離を計算し、前記行間の前記計算距離を前記対象の前記配列に割り当て、前記計算距離の第1の標準偏差値を計算し、前記行間の第1の最大距離を決定し、前記第1の標準偏差値及び前記第1の最大距離に基づいて、前記文字列塊を識別するシステムを提供する。
【0007】
以下の記載および添付の特許請求の範囲から本発明の他の側面が明らかとなる。
【図面の簡単な説明】
【0008】
図1】本発明の1つ以上の実施形態によるシステムを示す。
図2A】本発明の1つ以上の実施形態による流れ図を示す。
図2B】本発明の1つ以上の実施形態による流れ図を示す。
図3A】本発明の1つ以上の実施形態による実装例を示す。
図3B】本発明の1つ以上の実施形態による実装例を示す。
図4A】本発明の1つ以上の実施形態による実装例を示す。
図4B】本発明の1つ以上の実施形態による実装例を示す。
図5A】本発明の1つ以上の実施形態による実装例を示す。
図5B】本発明の1つ以上の実施形態による実装例を示す。
図6】本発明の1つ以上の実施形態による演算システムを示す。
【発明を実施するための形態】
【0009】
ここで添付の図面を参照して本発明の具体的な実施形態を詳細に記載する。一貫性を持たせるために様々な図面の同一要素は同一の符号で示す。
【0010】
本発明の1つ以上の実施形態に関する以下の詳細な記載では、本発明の理解を深めるために多くの具体的詳細を記載する。しかし、当業者にはこれらの詳細を用いずに本発明を実施できることが明らかである。他の例では、記載が不必要に複雑になることを避けるため周知の特徴的な事柄を詳細に記載してはいない。
【0011】
一般に、本発明の実施形態は電子文書中の文字の可読性および/または操作性(すなわち、コピー、貼り付けなど)を向上させる電子文書処理の方法、非一時的コンピューター可読媒体、およびシステムを提供する。具体的には、一列に並んでいる文字を含む(可読であっても非可読であってもよい)電子文書(例えば、PDF、PDL、PCL、JPEG、PNG、TIFF、PPMなど)を取得する。電子文書を処理して電子文書中に存在するすべての文字を含む可読の文字列塊(例えば段落、題名、見出し、小見出し、表中の文字列など)を識別する。各文字列塊を識別し、段落分けおよび分割を含む電子文書の高水準の表現をOfficeオープンXML(OOXML)文書として生成することができる。
【0012】
図1は本発明の1つ以上の実施形態によるシステム(100)を示す。図1に示すように、システム(100)は、例えばバッファー(104)、電子文書エンジン(108)、およびクラスターエンジン(110)を含む複数の構成要素を含む。これらの構成要素(104、108、および110)のそれぞれを同じ演算装置(例えばパーソナルコンピューター(PC)、ラップトップ、タブレットPC、スマートフォン、多機能印刷機、キオスク端末、サーバーなど)、あるいは有線部分および/または無線部分を持つ任意の大きさのネットワークにより接続された異なる複数の演算装置に配置してもよい。これらの構成要素のそれぞれについて以下で考察する。
【0013】
本発明の1つ以上の実施形態では、バッファー(104)をハードウェア(すなわち回路)、ソフトウェア、またはこれらの任意の組み合わせで実装してもよい。バッファー(104)は電子文書の段落または節を構成する1つ以上の文字列および/または非文字列の画像(例えば、表、グラフ、文章の文字、外形など)を含む電子文書(106)を格納するようになっている。電子文書(106)は任意の情報源から取得することができる(例えば、ダウンロード、走査など)。さらに、電子文書(106)は任意の大きさおよび形式であってもよい(例えば、PDL、PDF、JPEG、GIF、BMP、PNGなど)。
【0014】
本発明の1つ以上の実施形態では、電子文書エンジン(108)をハードウェア(すなわち回路)、ソフトウェア、またはこれらの任意の組み合わせで実装してもよい。電子文書を取得すると、電子文書エンジン(108)は電子文書中の文字を調節する。電子文書中に空白類文字(例えば\sおよび\n。以下「空白」と呼ぶ)を挿入してクラスターエンジン(110)が文字列塊を識別するのに用いるクラスターを作成できるようにして文字を調節する。以下に記載するように、電子文書エンジン(108)はシステム(100)の命令にしたがって電子文書を解釈するシステム(100)の専用構成要素であってもよい。システム(100)を実装している間に使用者または二次システムにより命令を事前設定または確立することができる。
【0015】
本発明の1つ以上の実施形態では、クラスターエンジン(110)はハードウェア(すなわち回路)、ソフトウェア、またはこれらの任意の組み合わせで実装してもよい。クラスターエンジン(110)は電子文書中のクラスターの大きさおよび外形、ならびにクラスターおよび下位クラスターの数を規定する。1つ以上の実施形態では、電子文書エンジンとクラスターエンジンは電子文書の大きさおよび配列に基づき、協働して文字列塊を作成する。
【0016】
図2A図2Bに本発明の1つ以上の実施形態による流れ図を示す。この流れ図に電子文書処理を示す。具体的には、流れ図には電子文書中の文字列塊を検出する処理を示す。この処理は文字列塊を構成する複数の文字を段落分けおよび分割する工程を含む。図2A図2Bの工程の1つ以上を、図1を参照して上述で考察したシステム(100)の構成要素で実行してもよい。本発明の1つ以上の実施形態では、図2A図2Bに示す工程のうちの1つ以上を省略し、繰り返し、および/または図2A図2Bに示す順序とは異なる順序で実行してもよい。したがって、本発明の範囲が図2A図2Bに示す工程の具体的順序に限定されるものと考えるべきではない。
【0017】
図2Aに示す1つ以上の実施形態で、電子文書を取得する。電子文書を走査し、電子文書中の文字の全体的な視覚化が得られる。次に電子文書中の文字を認識して調節し、複数のクラスターに分類する。事前設定したパラメーターに基づいてクラスターを小クラスターに分割することができる。使用者の裁量で1つ以上の文字にこれらの処理のそれぞれを実行してもよい。1つ以上の実施形態では、取得した文字を処理して文字列塊を作成する。文字列塊を作成するために必要となる工程のそれぞれを以下に考察する。
【0018】
本発明の1つ以上の実施形態による工程202で、文字を含む電子文書を取得する。これにより、例えば電子文書が電子文書エンジンおよびシステムの残りの部分で利用可能となる。使用者により直接的又は間接的に電子文書が利用可能となってもよい。すなわち、使用者は自発的または非自発的に方法を開始してもよい。システム内またはネットワーク経由で並行して実行される二次システムから電子文書を取得してもよい。システム内またはネットワーク経由で二次使用者が開始した処理でも電子文書を取得することができる。システムは電子文書を受信し、あるいは電子文書を検索するようになっていてもよい。この工程は図1を参照して上述の電子文書エンジン(108)で実行してもよい。
【0019】
本発明の1つ以上の実施形態による工程204で、電子文書中の文字を調節する。ここで、適宜空白を追加し、文字を単語と行に分離する。1つ以上の実施形態で、文字を要素として識別し、この情報を記憶部に保存する。1つ以上の実施形態で要素は英数字、特殊文字または特殊記号、および英語以外の言語を含んでもよい。この工程は図1を参照して上述の電子文書エンジン(108)で実行してもよい。
【0020】
本発明の1つ以上の実施形態による工程206でクラスターを生成する。クラスターは電子文書中の複数の要素を組み合わせたものである。具体的には、クラスターは線形状に連続させると、読み取りおよび理解が可能となるすべての要素を含む。左から右の方向、右から左の方向、上から下の方向、またはこれらの方向を組み合わせて構造化された要素からクラスターを作成することができる。単語および行の集合体を連続的に識別すると、クラスターが生成される。この工程は図1を参照して上述のクラスターエンジン(110)で実行してもよい。
【0021】
1つ以上の実施形態ではクラスターはある配列を持つ。配列はクラスターに対して調節した所与の群の行と単語の視覚的表現であってもよい。空白が追加されると、電子文書中でのこれらの要素の位置を識別することができる。この非限定的例では、配列により読者は文字の位置を把握することができ、可読性が向上する。1つ以上の実施形態では、クラスターの位置は電子文書中の要素の視覚的表現との関連で識別されたクラスターの視覚的位置である。
【0022】
例えば、電子文書が単一ページである場合、クラスターおよびその位置をページの余白との関連で識別することができる。クラスターの位置と外形で当該クラスターの配列を規定する。この非限定的な例はクラスターの位置をどのように識別することができるかを示すのに役立つが、この方法で実行することができる電子文書処理の唯一の種類を示すものではない。
【0023】
例えば、電子文書が画像である場合、クラスターを画像の角部との関連で識別することができる。この位置と外形がクラスターの配列である。この非限定的な例はクラスターの位置をどのように識別することができるかを示すのに役立つが、この方法で実行することができる電子文書処理の唯一の種類を示すものではない。
【0024】
1つ以上の実施形態による工程208では、工程206で作成されたクラスターを対象として選択する。1つ以上の実施形態による方法ではこの対象とその配列を用いる。すなわち、配列がクラスターと関連付けられていなければ、クラスターは対象ではない。この工程は図1を参照して上述のクラスターエンジン(110)で実行してもよい。
【0025】
1つ以上の実施形態による工程210では、対象を小クラスターに分割する。図2Bを参照してこの工程を以下にさらに詳細に説明する。この説明には識別する必要のある対象および要件を分割し、小クラスターの作成を決定する処理が含まれる。この工程は図1を参照して上述のクラスターエンジン(110)で実行してもよい。
【0026】
1つ以上の実施形態による工程212では、工程210で対象が分割された後、分割するクラスターがさらにあるかを判断する。この時点で、以前は対象でなかった文字群を処理する。これらの文字群を未処理クラスターと呼ぶ。電子文書全体が調節され、小クラスターに分割された後は、未処理クラスターは存在しない。本方法のこの時点で、すべてのクラスターをどこかの地点の対象として割り当てることができる。この工程は図1を参照して上述のクラスターエンジン(110)で実行してもよい。
【0027】
1つ以上の実施形態による工程214では、工程210で対象が分割されたことに応じ、かつ工程212で分割するクラスターがさらに存在すると判断した後に、複数の未処理クラスターのうちの1つを対象として選択する。この工程は図1を参照して上述のクラスターエンジン(110)で実行してもよい。
【0028】
1つ以上の実施形態では、工程214に応じて新たな対象を分割する。図2Bにさらに詳細に説明するように、この新たな対象は、工程214と同様にすべての未処理クラスターが対象として識別されるまで工程210の対象を再帰的に分割するという類似の処理をたどる。この工程は図1を参照して上述のクラスターエンジン(110)で実行してもよい。
【0029】
1つ以上の実施形態による工程218では、工程210で対象が分割されたことに応じ、かつ工程212で分割するクラスターがさらには存在しないと判断した後、処理済みのクラスターすべてを選択し、可能性のある文字列塊を識別する。文字列塊は、対象であると判断されたすべてのクラスターおよびこれらのクラスターに伴う小クラスターを含むクラスター処理の結果として識別される。これらのクラスターすべては、クラスターエンジン(110)が上記のように電子文書中でクラスターを生成するために関連付けた配列に依存する。文字列塊を識別することができるのは配列を処理済みクラスターと組み合わせる処理による。この工程は図1を参照して上述のクラスターエンジン(110)で実行してもよい。
【0030】
図4図6を参照して例示的な識別済み文字列塊を以下に詳細に示す。これらの非限定的な例は、本方法により処理することができる文字を含む広範な電子文書のうちのいくつかを示す異なる視覚的表現に依存する。
【0031】
1つ以上の実施形態による工程220では、文字列塊から一連の段落を形成する。一連の段落は処理した文字列塊で表される。段落は配列に応じた電子文書での位置を持つ。工程202で追加された空白は上記の配列を規定するのに役立つ。この配列および電子文書での位置を適宜さらに変更し、電子文書中の文字の可読性を向上させ、文字を理解できるようになる新たな位置に一連の段落を配置する。この工程は図1を参照して上述のクラスターエンジン(110)と協働する電子文書エンジン(108)で実行してもよい。
【0032】
電子文書中に未処理のクラスターがなくなった場合、本方法はすべての処理を終了する。
【0033】
図1および図2Aに示した1つ以上の実施形態によるシステムおよび方法は、使用者が必要とする場合に文字列塊を用いる別のアプリケーションまたはツールを伴ってもよい。この別のアプリケーションまたはツールは記載した方法と並行して実行され、1つ以上の実施形態の方法の状態を取得する。
【0034】
1つ以上の実施形態の非限定的な表現では、別のアプリケーションまたはツールはある言語から他の言語に単語を翻訳する言語処理装置であってもよい。この言語処理装置は任意の言語の元の電子文書を1つ以上の実施形態による方法に提供し、一連の段落を形成してもよい。言語処理装置は工程204で文字が調節された後に本方法を中止させ、翻訳のために元の電子文書を取得してもよい。元の電子文書を翻訳した後、言語処理装置は記載した方法を実行するために元の電子文書を翻訳した電子文書と交換し、工程206にしたがってクラスターを作成してもよい。
【0035】
1つ以上の実施形態の非限定的な表現では、別のアプリケーションまたはツールは文字列が画像に存在するかどうかを識別する画像処理装置(例えば、多機能周辺装置)であってもよい。この画像処理装置は任意の言語の元の電子文書を記載したシステムに提供し、一連の文字列塊を形成して一連の段落を作成してもよい。画像処理装置は工程204で文字を調節した後に本方法を中止させ、元の電子文書を取得して文字列を検索しつつ文字を処理してもよい。元の電子文書で文字列を検索した後、画像処理装置は記載した方法の最後に進んでもよい。あるいは、画像処理装置は工程206に進み、一連の段落を形成してもよい。
【0036】
図2Bに本発明の1つ以上の実施形態による流れ図(2)を示す。この流れ図に工程210および工程216さらに詳細に記載する。見てのとおり、1つ以上の実施形態による方法はさらに、対象を小クラスターに分割して対象から派生した小クラスターの配列を識別し、小クラスターを分割および識別し、配列を追加および決定し、配列を計算して一連の測定関連値に割り当て、測定関連値を計算、設定、比較、および格納する。使用者の裁量でこれらの処理のそれぞれを1つ以上の文字に対して実行してもよい。例えば、1つ以上の実施形態は本方法により取得した文字を処理するという利点を小クラスターに分割された対象に提供する。主要クラスターを分割するのに必要とされる処理のそれぞれを以下で考察する。
【0037】
本発明の1つ以上の実施形態による工程250では、主要クラスター内で識別された行の数を所定値N1と比較する。この所定値N1により段落を形成するのに必要とされる行の最小値を測定するための始点が提供される。この工程は図1を参照して上述のクラスターエンジン(110)により実行してもよい。
【0038】
非限定的な例では、この事前設定N1を3本の行に対して設定する。測定値を上記の事前設定値と比較する。測定値が事前設定値N1未満の場合、本方法は工程274に示すように対象が文字列塊であると判断する。測定値が事前設定値N1未満であると判断されなかった場合、本方法は工程252に進み、この工程に示すように行間の距離を判断する。文字クラスターに割り当てられた配列に基づいてこれらの行間の距離を判断する。この測定値は将来用いるために記録される。
【0039】
1つ以上の実施形態による工程252では、行間の距離を判断するために現在の配列に関連して対象内の文字の行間の実際に測定可能な距離を判断する。この測定距離は用いられる電子文書の形式に依存する数値表現である。
【0040】
本発明の1つ以上の実施形態による工程254では、記録された距離の標準偏差値を計算する。標準偏差値は任意の既知の手段で計算することができる。本方法では、標準偏差値は測定距離の演算手段に依存する。標準偏差計算値は将来用いるために記録される。この工程は図1を参照して上述のクラスターエンジン(110)で実行してもよい。
【0041】
本発明の1つ以上の実施形態による工程256では、標準偏差計算値を所定の標準偏差値SD1と比較し、対象内での距離を所定距離L1と比較する。標準偏差計算値が所定の標準偏差値SD1未満であり、かつ対象内の行間の距離がすべて所定距離L1未満である場合、本方法は工程274に進む。そうでない場合、処理は工程258に進む。1つ以上の実施形態では、文字クラスターに割り当てられた配列に基づいて所定の標準偏差値SD1と所定距離L1を決定する。例えば、所定距離L1は行間の距離(すなわち間隔)の上限値と考えることにする。行間の間隔がこの上限値内であれば、当該間隔はかなり小さいと考えてもよい。この工程は図1を参照して上述のクラスターエンジン(110)で実行してもよい。
【0042】
本発明の1つ以上の実施形態による工程258では、所定距離L1の値に基づいて新しい所定距離L2を設定する。1つ以上の実施形態では、所定距離L1と同じ値を持つように新しい所定距離L2を初期設定する。
【0043】
1つ以上の実施形態による工程260では、所定距離L2より長い距離(本明細書では「距離L2」と呼ぶ)を求める。この工程は距離を再び測定してより長い距離を特定する工程を含む。より大きな値を特定した場合、本方法は工程262に進み、この工程に示すように単語間の距離が距離L2よりも長くなる地点で行をグループに分割する。より小さい値が特定された場合、本方法は工程270に進み、この工程に示すようにより大きな値を求めることを試みる回数を決定する。
【0044】
1つ以上の実施形態による工程262では、行間の距離が距離L2よりも長くなる地点で行をグループに分割する。行の分割は対象をより小さい形の部分に分割することをいう。これらの部分は元のクラスターの固有の断片を含む。本方法のこの工程は主要クラスターの複製は行わない。本工程は行間の距離の値を特定し、距離L2および以前確立された距離L2に対する関係に応じて行を分割する。結果として作成されたグループは小クラスター自体ではなく上記で規定された主要クラスターの各部分に過ぎない。これらの部分全部がその地点の主要クラスターの配列を保持する。これらの部分は未処理クラスターでも対象自体でもない。この工程は図1を参照して上述のクラスターエンジン(110)と協働する電子文書エンジン(108)で実行してもよい。
【0045】
1つ以上の実施形態による工程264では、対象の配列を消去する。配列を対象から消去するため、上記の規定に従い、クラスターを処理済みクラスターとして表示する。この処理済みクラスターを工程262で得た部分とともに記録する。この工程は図1を参照して上述のクラスターエンジン(110)で実行してもよい。
【0046】
1つ以上の実施形態による工程266では、最後に分割した対象から作成したグループから新しいクラスターを作成する。最後の主要クラスターから新しい複数のクラスターを作成する工程は各断片グループに含まれる行、空白、および文字を保持する工程を含む。これらの新しいクラスターは対象ではない。工程264で配列をすべて消去したので、新しいクラスターは自身の配列も欠いている。この工程は図1を参照して上述のクラスターエンジン(110)で実行してもよい。
【0047】
1つ以上の実施形態による工程268では、新しいクラスターを小クラスターとしての最後の対象に追加する。小クラスターは、本方法が工程212に戻って分割するクラスターがさらに存在するかを判断した後、自身の配列を受け取る。この工程は図1を参照して上述のクラスターエンジン(110)で実行してもよい。
【0048】
1つ以上の実施形態による工程270では、L2よりも長い距離を求めた後、工程260を実行する回数をメモリーに格納し、当該回数が所定最大試行回数T1未満であるかをさらに判断する。所定最大試行回数T1は電子文書の大きさに依存し、使用者が所定最大試行回数を決定する必要はない。この非限定的規定には、そのような値を決定することができる電子文書を処理する他の方法が含まれる。この非限定的規定には他の使用者により遠隔で実行される方法またはこの方法に実装される機械学習法により値を決定する工程も含まれる。工程260で否定的結果が返される(すなわち、所定距離L2よりも長い距離が求められない)度にこの処理を実行する。試行回数が最大試行回数T1よりも少ない場合、本方法は工程272に進み、この工程に示すように距離L2の新しい規定を作成する。試行回数が最大試行回数T1よりも多い場合、本方法は工程274に進み、この工程に示すように対象を文字列塊と判断する。この工程は図1を参照して上述のクラスターエンジン(110)と協働する電子文書エンジンで実行してもよい。
【0049】
1つ以上の実施形態による工程272では、工程270で否定的結果が返された後、本方法は距離L2の値を小さくする。この新しい値を割り当てて現在の距離L2を差分ΔLだけ小さくする。差分ΔLは、最大試行回数T1と同様に使用者が決定する必要はない。この非限定的規定にはそのような値を決定することができる電子文書を処理する他のシステムまたは方法が含まれる。この非限定的規定には他の使用者により遠隔で実行されるシステムもしくは方法または当該方法に実装された機械学習システムにより値を決定する工程も含まれる。この処理の後、システムは新しい規定の距離L2よりも大きな距離を再び求める。この工程は図1を参照して上述の電子文書エンジン(108)で実行してもよい。
【0050】
1つ以上の実施形態による工程274では、工程270で肯定的結果が返された後、本方法は対象が文字列塊であると判断する。本方法の主ループに戻る前に工程250、工程256、および工程270で処理されたクラスターを文字列塊として割り当てる。この工程は図1を参照して上述のクラスターエンジン(110)で実行してもよい。
【0051】
図3A図3Bは本発明の1つ以上の実施形態による実装例である。図3Aに例示的な電子文書(301)を示す。図3Aに示すように、電子文書は様々な節および段落に分割された文字および文字列を含んでもよい。図3B図2Aおよび図2Bで上述の電子文書処理方法の例示的な出力(303)を示す。図3Bに示すように、電子文書内で段落および節を構成する文字列塊(305)を識別して分割する。各文字列塊(305)は電子文書中の文字列および文字を表す小塊を含む。選択された少数の文字列塊(305)のみを示しているが、小塊を含む図3Bのより大きな塊のそれぞれが文字列塊(305)であることが当業者には明らかである。
【0052】
図4A図4Bに本発明の1つ以上の実施形態による実装例を示す。図4Aに例示的な電子文書(401)を示す。図4Aに示すように、電子文書は様々な節および段落に分割された文字および文字列を含んでもよい。図4B図2Aおよび図2Bで上述した電子文書処理方法の例示的な出力(403)を示す。図4Bに示すように、電子文書中の段落および節を構成する文字列塊(405)を識別して分割する。各文字列塊(405)は電子文書中の文字列および文字を表す小塊を含む。選択された少数の文字列塊(405)のみを示しているが、小塊を含む図Bのより大きな塊のそれぞれが文字列塊(405)であることが当業者には明らかである。
【0053】
図5A図5Bに本発明の1つ以上の実施形態による実装例を示す。図5Aに例示的な電子文書(501)を示す。図5Aに示すように、電子文書は様々な節および段落に分割された文字および文字列を含んでもよい。図5B図2Aおよび図2Bで上述した電子文書処理方法の例示的な出力(503)を示す。図5Bに示すように、電子文書中の段落および節を構成する文字列塊(505)を識別して分割する。各文字列塊(505)は電子文書中の文字列および文字を表す小塊を含む。選択された少数の文字列塊(505)のみを示しているが、小塊を含む図Bのより大きな塊のそれぞれが文字列塊(505)であることが当業者には明らかである。
【0054】
本発明の実施形態は用いられるプラットフォームに関係なく、実質的にいずれの種類の演算システムにも実装することができる。例えば、演算システムは1つ以上の携帯装置(例えば、ラップトップコンピューター、スマートフォン、携帯端末、タブレットコンピューター、または他の携帯装置)、デスクトップコンピューター、サーバー、サーバーシャーシ内のブレード、あるいは本発明の1つ以上の実施形態を実行するために少なくとも最小限の処理能力、メモリー、および入力装置と出力装置を含むその他の種類の1つ以上の演算装置であってもよい。例えば図6に示すように、演算システム(600)は1つ以上のコンピュータープロセッサー(602)、関連するメモリー(604)(例えば、ランダムアクセスメモリー(random access memory、RAM)、キャッシュメモリー、フラッシュメモリーなど)、1つ以上の記憶装置(606)(例えばハードディスク、コンパクトディスク(compact disk、CD)ドライブまたはデジタル多用途ディスク(digital versatile disk、DVD)ドライブなどの光ドライブ、フラッシュメモリースティックなど)、および他の様々な要素と機能を含んでもよい。コンピュータープロセッサー(602)は命令を処理する集積回路であってもよい。例えば、コンピュータープロセッサーはプロセッサーの1つ以上のコアまたはマイクロコアであってもよい。演算システム(600)は1つ以上の入力装置(610)、例えばタッチスクリーン、キーボード、マウス、マイク、タッチパッド、電子ペン、またはその他の種類の入力装置も含んでもよい。さらに、演算システム(600)は1つ以上の出力装置(608)、例えば表示部(例えば、液晶表示装置(liquid crystal display、LCD)、プラズマ表示装置、タッチスクリーン、ブラウン管(cathode ray tube、CRT)画面、プロジェクター、または他の表示装置)、印刷機、外部記憶装置、またはその他の出力装置を含んでもよい。出力装置のうちの1つ以上は入力装置と同じか異なっていてもよい。演算システム(600)はネットワークインターフェース接続(図示せず)を介してネットワーク(612)(例えばローカルエリアネットワーク(LAN)、インターネットなどの広域ネットワーク(WAN)、携帯電話ネットワーク、またはその他の種類のネットワーク)に接続してもよい。入力装置および出力装置は(例えばネットワーク(612)を介して)システム内または遠隔でコンピュータープロセッサー(602)、メモリー(604)、および記憶装置(606)に接続してもよい。多くの異なる種類の演算システムが存在し、上述の入力装置および出力装置は他の形態を取ってもよい。
【0055】
本発明の実施形態を実行するコンピューター可読プログラムコード形式のソフトウェア命令を全体的あるいは部分的に、一時的あるいは恒久的に、非一時的コンピューター可読媒体、例えばCD、DVD、記憶装置、ディスケット、テープ、フラッシュメモリー、物理メモリー、またはその他のコンピューター可読記憶媒体に格納してもよい。具体的には、ソフトウェア命令は、プロセッサーにより実行されると、本発明の実施形態を実行するように構成されたコンピューター可読プログラムコードに対応してもよい。
【0056】
さらに、上述の演算システム(600)の1つ以上の要素は遠隔位置に配置され、ネットワーク(612)経由で他の要素に接続されていてもよい。さらに、本発明の1つ以上の実施形態を複数のノードを含む分散システムに実装してもよい。本発明の各部を分散システム内の別々のノードに配置してもよい。本発明の一実施形態では、ノードは異なる演算装置に対応する。あるいは、ノードは関連する物理メモリーを含むコンピュータープロセッサーに対応してもよい。あるいは、ノードはコンピュータープロセッサーあるいは共有のメモリーおよび/または資源を含むコンピュータープロセッサーのマイクロコアに対応してもよい。
【0057】
本発明の1つ以上の実施形態は電子文書中の文字から段落を推測する機能を提供する。具体的には、元の電子文書は位置情報を含むが、明示的な段落の指標を含まない場合がある。電子文書は文字を含むが、文字が読み取り可能に分類または配列されているという指標は含まない場合がある。本発明の1つ以上の実施形態が電子文書を取得し、上記で開示した工程により容易に読み取って操作できる段落および節を含む新しい電子文書を生成するのは有利である。すなわち、1つ以上の実施形態は電子文書中の文字の初期的位置に基づいて使用者にとって便利になるように文字列を適切な段落および節に分類することができる。
【0058】
本発明を限られた数の実施形態について記載したが、本開示の利益を得る当業者は、本明細書に開示される発明の範囲を逸脱しない他の実施形態を考案できることが分かっている。したがって、本発明の範囲は添付の特許請求の範囲のみにより限定されるべきである。
図1
図2A
図2B
図3A
図3B
図4A
図4B
図5A
図5B
図6