(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-23
(45)【発行日】2024-09-02
(54)【発明の名称】イメージから認識したテキストを階層化する方法、システム、およびコンピュータプログラム
(51)【国際特許分類】
G06F 40/126 20200101AFI20240826BHJP
G06V 30/14 20220101ALI20240826BHJP
G06V 30/18 20220101ALI20240826BHJP
G06V 30/194 20220101ALI20240826BHJP
G06V 30/412 20220101ALI20240826BHJP
【FI】
G06F40/126
G06V30/14 340K
G06V30/18 G
G06V30/194
G06V30/412
(21)【出願番号】P 2021147615
(22)【出願日】2021-09-10
【審査請求日】2021-09-10
【審判番号】
【審判請求日】2023-06-09
(31)【優先権主張番号】10-2020-0118419
(32)【優先日】2020-09-15
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】505205812
【氏名又は名称】ネイバー コーポレーション
【氏名又は名称原語表記】NAVER Corporation
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ク ジンモ
(72)【発明者】
【氏名】チェー チャンギュ
(72)【発明者】
【氏名】ムン ジュヒョク
(72)【発明者】
【氏名】チャン ピルフン
【合議体】
【審判長】伏本 正典
【審判官】松田 直也
【審判官】相崎 裕恒
(56)【参考文献】
【文献】米国特許出願公開第2020/0279107(US,A1)
【文献】特開2013-246731(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/126
G06V 30/412
G06V 30/14
G06V 30/18
G06V 30/194
(57)【特許請求の範囲】
【請求項1】
コンピュータシステムが実行する方法であって、
前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、
前記方法は、
前記少なくとも1つのプロセッサにより、イメージ内のテキスト領域の間の視覚的区分領域に基づいて少なくとも1つのテキスト領域をクラスタリングすることによって自然語処理単位を構成する段階、および
前記少なくとも1つのプロセッサにより、前記自然語処理単位を学習データとして活用する、テキストを含むイメージのディープラーニング基盤の自然語処理のための学習モデルのための前記学習データを生成する段階
を含み、
前記自然語処理単位を構成する段階は
、
前記イメージから認識された
前記少なくとも1つのテキスト領域に含まれる単語単位のテキスト領域
の集合に該当する単語要素の集合をライン単位のテキスト領域に該当する線形クラスタとして構成する段階、
前記線形クラスタの集合を文段単位のテキスト領域に該当する仮想クラスタとして構成する段階、および
前記仮想クラスタの集合を相関クラスタとして構成する段階
を含み、
前記仮想クラスタとして構成する段階は、前記視覚的区分領域が存在しない、連続する線形クラスタの集合を1つの仮想クラスタとして構成し、隣接する線形クラスタのテキストスタイルがそれぞれ互いに異なる1つのスタイルで構成される場合は、前記視覚的区分領域が存在しない連続する線形クラスタであっても、互いに異なる線形クラスタとして分離する、
方法。
【請求項2】
前記自然語処理単位を構成する段階は、
前記視覚的区分領域として、前記テキスト領域の区分が可能なライン、図形、イメージ、背景、間隔、記号、数字のうちの少なくとも1つを利用して前記テキスト領域をクラスタリングすること
を含む、請求項1に記載の方法。
【請求項3】
前記線形クラスタとして構成する段階は、
同一線上に位置しながら前記視覚的区分領域が存在しない、連続する単語要素の集合を1つの線形クラスタとして構成すること
を特徴とする、請求項1又は2に記載の方法。
【請求項4】
前記自然語処理単位を構成する段階は、
完成した文章又は句に該当し、前記視覚的区分領域が存在しない、連続する前記仮想クラスタの集合を前記相関クラスタとして構成する段階
をさらに含む、請求項1乃至3のいずれか1項に記載の方法。
【請求項5】
前記相関クラスタとして構成する段階は、
完成した文章又は句に該当する、連続する仮想クラスタの集合を1つの相関クラスタとして構成すること
を含む、請求項4に記載の方法。
【請求項6】
前記単語要素は、前記単語単位のテキスト領域を示すポリゴン座標情報を含み、
前記線形クラスタ、前記仮想クラスタ、および前記相関クラスタは、該当のクラスタを構成する子ノードの集合情報を含むこと
を特徴とする、請求項4に記載の方法。
【請求項7】
請求項1~6のうちのいずれか一項に記載の方法を前記コンピュータシステムに実行させる、コンピュータプログラム。
【請求項8】
コンピュータシステムであって、
メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサ
を含み、
前記少なくとも1つのプロセッサは、
イメージ内のテキスト領域の間の視覚的区分領域に基づいて少なくとも1つのテキスト領域をクラスタリングすることによって自然語処理単位を構成する過程、および
前記自然語処理単位を学習データとして活用する、テキストを含むイメージのディープラーニング基盤の自然語処理のための学習モデルのための前記学習データを生成する過程
を処理し、
前記自然語処理単位を構成する過程は
、
前記イメージから認識された
前記少なくとも1つのテキスト領域に含まれる単語単位のテキスト領域
の集合に該当する単語要素の集合をライン単位のテキスト領域に該当する線形クラスタとして構成する過程、
前記線形クラスタの集合を文段単位のテキスト領域に該当する仮想クラスタとして構成する過程、および
前記仮想クラスタの集合を相関クラスタとして構成する過程
を含み、
前記仮想クラスタとして構成することは、前記視覚的区分領域が存在しない、連続する線形クラスタの集合を1つの仮想クラスタとして構成し、隣接する線形クラスタのテキストスタイルがそれぞれ互いに異なる1つのスタイルで構成される場合は、前記視覚的区分領域が存在しない連続する線形クラスタであっても、互いに異なる線形クラスタとして分離する、
コンピュータシステム。
【請求項9】
前記自然語処理単位を構成する過程は、
前記視覚的区分領域として、前記テキスト領域の区分が可能なライン、図形、イメージ、背景、間隔、記号、数字のうちの少なくとも1つを利用して前記テキスト領域をクラスタリングすること
を含む、請求項8に記載のコンピュータシステム。
【請求項10】
前記線形クラスタとして構成することは、
同一線上に位置しながら前記視覚的区分領域が存在しない、連続する単語要素の集合を1つの線形クラスタとして構成すること
を含む、請求項8又は9に記載のコンピュータシステム。
【請求項11】
前記自然語処理単位を構成する過程は、
完成した文章又は句に該当し、前記視覚的区分領域が存在しない、連続する前記仮想クラスタの集合を前記相関クラスタとして構成すること
を含む、請求項8乃至10のいずれか1項に記載のコンピュータシステム。
【請求項12】
前記自然語処理単位を構成する過程は、
完成した文章又は句に該当する、連続する仮想クラスタの集合を1つの相関クラスタとして構成すること
を特徴とする、請求項11に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
以下の説明は、テキスト認識結果を階層化する技術に関する。
【背景技術】
【0002】
モバイル端末やカメラ製造会社はもちろん、サービスの構築が可能な移動通信社やポータル会社、ソリューション会社、およびコンテンツ会社などでは、イメージ内のテキストを認識し、これを活用して多様なサービスを提供する技術を開発している。
【0003】
カメラで取得した自然映像(natural scene image)に存在する特定の文字情報(scene text)を抽出して認識した後、これをリアルタイムで翻訳したり情報検索などに活用したりすることができるようになった。
【0004】
関連技術の一例として、特許文献1(公開日2001年12月12日)には、映像内の文字を認識し、認識された文字に対する翻訳を提供する翻訳機能を備えたビデオカメラが開示されている。
【先行技術文献】
【特許文献】
【0005】
【文献】韓国公開特許第10-2001-0109861号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
イメージから認識したテキストを階層的テキスト構造化(HTS:hierarchical text structuring)によって階層化するための方法およびシステムを提供する。
【0007】
単語(word)単位のテキスト認識結果を文章や文段に再構成するための方法およびシステムを提供する。
【0008】
テキストライン、視覚的区分、およびスタイルを基準に階層的テキスト構造化を実行するための方法およびシステムを提供する。
【課題を解決するための手段】
【0009】
コンピュータシステムが実行する方法であって、前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記方法は、前記少なくとも1つのプロセッサにより、イメージ内のテキスト領域の間の視覚的区分領域に基づいて少なくとも1つのテキスト領域をクラスタリングすることによって自然語処理単位を構成する段階、および前記少なくとも1つのプロセッサにより、前記自然語処理単位を学習データとするディープラーニング基盤の学習モデルを構築する段階を含む方法を提供する。
【0010】
一側面によると、前記自然語処理単位を構成する段階は、前記視覚的区分領域として、前記テキスト領域の区分が可能なライン、図形、イメージ、背景、間隔、記号、数字のうちの少なくとも1つを利用して前記テキスト領域をクラスタリングしてよい。
【0011】
他の側面によると、前記自然語処理単位を構成する段階は、前記イメージから認識された単語単位のテキスト領域に該当する単語要素の集合をライン単位のテキスト領域に該当する線形クラスタとして構成する段階を含んでよい。
【0012】
また他の側面によると、前記線形クラスタとして構成する段階は、同一線上に位置しながら視覚的区分領域が存在しない、連続する単語要素の集合を1つの線形クラスタとして構成してよい。
【0013】
また他の側面によると、前記自然語処理単位を構成する段階は、前記線形クラスタの集合を文段単位のテキスト領域に該当する仮想クラスタとして構成する段階をさらに含んでよい。
【0014】
また他の側面によると、前記仮想クラスタとして構成する段階は、視覚的区分領域が存在しない、連続する線形クラスタの集合を1つの仮想クラスタとして構成してよい。
【0015】
また他の側面によると、前記仮想クラスタとして構成する段階は、前記線形クラスタに含まれたテキストスタイルに基づいて、少なくとも1つの線形クラスタを前記仮想クラスタとして構成してよい。
【0016】
また他の側面によると、前記自然語処理単位を構成する段階は、前記仮想クラスタの集合を相関関係のテキスト領域に該当する相関クラスタとして構成する段階をさらに含んでよい。
【0017】
また他の側面によると、前記相関クラスタとして構成する段階は、完成した文章や句(phrase)に該当する、連続する仮想クラスタの集合を1つの相関クラスタとして構成してよい。
【0018】
さらに他の側面によると、前記単語要素は、前記単語単位のテキスト領域を示すポリゴン座標情報を含み、前記線形クラスタ、前記仮想クラスタ、および前記相関クラスタは、該当のクラスタを構成する子ノードの集合情報を含んでよい。
【0019】
前記方法を前記コンピュータシステムに実行させるためにコンピュータ読み取り可能な記録媒体に記録される、コンピュータプログラムを提供する。
【0020】
コンピュータシステムであって、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、イメージ内のテキスト領域の間の視覚的区分領域に基づいて少なくとも1つのテキスト領域をクラスタリングすることによって自然語処理単位を構成する過程、および前記自然語処理単位を学習データとするディープラーニング基盤の学習モデルを構築する過程を処理するコンピュータシステムを提供する。
【発明の効果】
【0021】
本発明の実施形態によると、イメージから認識された単語単位のテキストを文章や文段に再構成する階層的テキスト構造化により、自然語処理のための学習モデルの学習データを生成することができる。
【0022】
本発明の実施形態によると、階層的テキスト構造化による学習データによってディープラーニング基盤の学習モデルを構築することができ、これにより、より完結した構造の自然語処理単位を設定することができ、機械翻訳、情報検索、質疑応答、文書要約などのような多様な分野における自然語処理性能を高めることができる。
【図面の簡単な説明】
【0023】
【
図1】本発明の一実施形態における、コンピュータシステムの内部構成の一例を説明するためのブロック図である。
【
図2】本発明の一実施形態における、コンピュータシステムのプロセッサが含むことのできる構成要素の例を示した図である。
【
図3】本発明の一実施形態における、コンピュータシステムが実行することのできる方法の例を示したフローチャートである。
【
図4】本発明の一実施形態における、階層的テキスト構造化過程の例を示した図である。
【
図5】本発明の一実施形態における、階層的テキスト構造化過程の例を示した図である。
【
図6】本発明の一実施形態における、階層的テキスト構造化過程の例を示した図である。
【
図7】本発明の一実施形態における、階層的テキスト構造化過程の例を示した図である。
【
図8】本発明の一実施形態における、階層的テキスト構造化過程の例を示した図である。
【
図9】本発明の一実施形態における、視覚的区分領域の例を示した図である。
【
図10】本発明の一実施形態における、視覚的区分領域の例を示した図である。
【
図11】本発明の一実施形態における、視覚的区分領域の例を示した図である。
【
図12】本発明の一実施形態における、単語単位のテキスト(WE)を線形クラスタ(LC)としてクラスタリングする過程を説明するための例示図である。
【
図13】本発明の一実施形態における、単語単位のテキスト(WE)を線形クラスタ(LC)としてクラスタリングする過程を説明するための例示図である。
【
図14】本発明の一実施形態における、線形クラスタ(LC)を仮想クラスタ(VC)としてクラスタリングする過程を説明するための例示図である。
【
図15】本発明の一実施形態における、線形クラスタ(LC)を仮想クラスタ(VC)としてクラスタリングする過程を説明するための例示図である。
【
図16】本発明の一実施形態における、仮想クラスタ(VC)を相関クラスタ(CC)としてクラスタリングする過程を説明するための例示図である。
【
図17】本発明の一実施形態における、仮想クラスタ(VC)を相関クラスタ(CC)としてクラスタリングする過程を説明するための例示図である。
【発明を実施するための形態】
【0024】
以下、本発明の実施形態について、添付の図面を参照しながら詳しく説明する。
【0025】
本発明の実施形態は、テキスト認識結果を階層化する技術に関する。本明細書において具体的に開示される事項を含む実施形態は、イメージから認識されたテキストを階層的テキスト構造化(HTS)により、より完結した構造の単位で階層化することができる。
【0026】
図1は、本発明の一実施形態における、コンピュータシステムの例を示したブロック図である。例えば、本発明の実施形態に係るテキスト階層化システムは、
図1に示されたコンピュータシステム100によって実現されてよい。
【0027】
図1に示すように、コンピュータシステム100は、本発明の実施形態に係るテキスト階層化方法を実行するための構成要素として、メモリ110、プロセッサ120、通信インタフェース130、および入力/出力インタフェースを含んでよい。
【0028】
メモリ110は、コンピュータ読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、およびディスクドライブのような永続的大容量記録装置を含んでよい。ここで、ROMやディスクドライブのような永続的大容量記録装置は、メモリ110とは区分される別の永続的記録装置としてコンピュータシステム100に含まれてもよい。また、メモリ110には、オペレーティングシステムと、少なくとも1つのプログラムコードが記録されてよい。このようなソフトウェア構成要素は、メモリ110とは別のコンピュータ読み取り可能な記録媒体からメモリ110にロードされてよい。このような別のコンピュータ読み取り可能な記録媒体は、フロッピー(登録商標)ドライブ、ディスク、テープ、DVD/CD-ROMドライブ、メモリカードなどのコンピュータ読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータ読み取り可能な記録媒体ではない通信インタフェース130を通じてメモリ110にロードされてもよい。例えば、ソフトウェア構成要素は、ネットワーク160を介して受信されるファイルによってインストールされるコンピュータプログラムに基づいてコンピュータシステム100のメモリ110にロードされてよい。
【0029】
プロセッサ120は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ110または通信インタフェース130によって、プロセッサ120に提供されてよい。例えば、プロセッサ120は、メモリ110のような記録装置に記録されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
【0030】
通信インタフェース130は、ネットワーク160を介してコンピュータシステム100が他の装置と互いに通信するための機能を提供してよい。一例として、コンピュータシステム100のプロセッサ120がメモリ110のような記録装置に記録されたプログラムコードにしたがって生成した要求や命令、データ、ファイルなどが、通信インタフェース130の制御にしたがってネットワーク160を介して他の装置に伝達されてよい。これとは逆に、他の装置からの信号や命令、データ、ファイルなどが、ネットワーク160を経てコンピュータシステム100の通信インタフェース130を通じてコンピュータシステム100に受信されてよい。通信インタフェース130を通じて受信された信号や命令、データなどは、プロセッサ120やメモリ110に伝達されてよく、ファイルなどは、コンピュータシステム100がさらに含むことのできる記録媒体(上述した永続的記録装置)に記録されてよい。
【0031】
通信方式が限定されることはなく、ネットワーク160が含むことのできる通信網(一例として、移動通信網、有線インターネット、無線インターネット、放送網)を利用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク160は、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broadband network)、インターネットなどのネットワークのうちの1つ以上の任意のネットワークを含んでよい。さらに、ネットワーク160は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター-バスネットワーク、ツリーまたは階層的ネットワークなどを含むネットワークトポロジのうちの任意の1つ以上を含んでもよいが、これらに限定されることはない。
【0032】
入力/出力インタフェース140は、入力/出力装置150とのインタフェースのための手段であってよい。例えば、入力装置は、マイク、キーボード、カメラ、またはマウスなどの装置を、出力装置は、ディスプレイ、スピーカのような装置を含んでよい。他の例として、入力/出力インタフェース140は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。入力/出力装置150は、コンピュータシステム100と1つの装置で構成されてもよい。
【0033】
また、他の実施形態において、コンピュータシステム100は、
図1の構成要素よりも少ないか多くの構成要素を含んでもよい。しかし、大部分の従来技術の構成要素を明確に図に示す必要はない。例えば、コンピュータシステム100は、上述した入力/出力装置150のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。
【0034】
図2は、本発明の一実施形態における、コンピュータシステムのプロセッサが含むことのできる構成要素の例を示した図であり、
図3は、本発明の一実施形態における、コンピュータシステムが実行することのできるテキスト階層化方法の例を示したフローチャートである。
【0035】
図2に示すように、プロセッサ120は、線形クラスタリング部210、仮想クラスタリング部220、および相関クラスタリング部230を含んでよい。このようなプロセッサ120の構成要素は、少なくとも1つのプログラムコードによって提供される制御命令にしたがってプロセッサ120によって実行される、互いに異なる機能(different functions)の表現であってよい。例えば、プロセッサ120が単語単位のテキストをクラスタリングすることによって線形クラスタを構成するようにコンピュータシステム100を制御するために動作する機能的表現として、線形クラスタリング部210が使用されてよい。
【0036】
プロセッサ120およびプロセッサ120の構成要素は、
図3のテキスト階層化方法が含む段階310~330を実行してよい。例えば、プロセッサ120およびプロセッサ120の構成要素は、メモリ110が含むオペレーティングシステムのコードと、上述した少なくとも1つのプログラムコードとによる命令(instruction)を実行するように実現されてよい。ここで、少なくとも1つのプログラムコードは、テキスト階層化方法を処理するために実現されたプログラムのコードに対応してよい。
【0037】
テキスト階層化方法は、図に示した順に発生しないこともあるし、段階のうちの一部が省略されたり追加の過程がさらに含まれたりすることもある。
【0038】
プロセッサ120は、テキスト階層化方法のためのプログラムファイルに記録されたプログラムコードをメモリ110にロードしてよい。例えば、テキスト階層化方法のためのプログラムファイルは、永続的記録装置に記録されていてよく、プロセッサ120は、バスを介して永続的記録装置に記録されたプログラムファイルからプログラムコードがメモリ110にロードされるようにコンピュータシステム100を制御してよい。このとき、プロセッサ120およびプロセッサ120が含む線形クラスタリング部210、仮想クラスタリング部220、および相関クラスタリング部230それぞれは、メモリ110にロードされたプログラムコードのうちの対応する部分の命令を実行して以後の段階310~330を実行するためのプロセッサ120の互いに異なる機能的表現であってよい。段階310~330の実行のために、プロセッサ120およびプロセッサ120の構成要素は、制御命令による演算を直接処理してもよいし、コンピュータシステム100を制御してもよい。
【0039】
プロセッサ120は、OCR(optical character recognition)などによってイメージから認識したテキストのテキストライン、視覚的区分、およびスタイルに基づいて階層的テキスト構造化を実行してよい。プロセッサ120は、階層的テキスト構造化により、自然語処理のための学習データを単語単位、ライン単位、文段単位で生成してよく、このような学習データを学習するためのディープラーニングモデル(例えば、UNet、GNN(graph neural network)など)を構築してよい。言い換えれば、プロセッサ120は、イメージ翻訳品質などの自然語処理性能を高めるために、階層的テキスト構造化により、単語単位のテキスト認識結果をより完結した構造の自然語処理単位に階層化して学習することができる。
【0040】
段階310で、線形クラスタリング部210は、イメージから認識された単語単位のテキストを示す単語要素(word element、以下「WE」とする)の集合を線形クラスタ(linear cluster、以下「LC」とする)として構成してよい。WEは、OCRなどによって認識された単語単位のテキスト領域を意味するものであって、4~16点を含むポリゴン座標情報を有する。線形クラスタリング部210は、WEの間の視覚的区分領域に基づいて少なくとも1つのWEをクラスタリングすることによってライン単位のテキスト領域を示すLCを構成してよい。LCは、同一線上に位置する、連続するWEの集合を意味するものであって、ポリゴン座標情報を有さない。一般的に、LCは、ライン単位のテキスト領域を意味するが、同一線上にあってもWEの間に視覚的区分領域が存在する場合は、互いに異なるLCとして分離して構成されてよい。また、テキストスタイルが互いに異なったとしても、同一線上にあって視覚的区分領域が存在しない場合は、1つのLCとして構成されてよい。テキストスタイルは、テキストのフォント(font)、サイズ(size)、ボールド(bold)、イタリック(italic)などの書体情報を含んでよい。視覚的区分領域については、以下で詳しく説明する。
【0041】
段階320で、仮想クラスタリング部220は、LCの間の視覚的区分領域に基づいて少なくとも1つのLCをクラスタリングすることによって文段単位のテキスト領域を示す仮想クラスタ(visual cluster、以下「VC」とする)を構成してよい。VCは、視覚的区分領域が存在しない、連続するLCの集合を意味するものであって、ポリゴン座標情報を有さない。1つのVC内には、複数の連続する文章が存在してよい。隣接するLCのテキストスタイル(フォント、サイズ、ボールド、イタリックなど)が異なる場合は、視覚的区分領域が存在しない、連続するLCであっても、互いに異なるVCとして分離してよい。例えば、テキストサイズが互いに異なるLCの場合は、それぞれのVCとして構成されてよい。互いに隣接するLCがそれぞれ互いに異なる1つのスタイルだけで構成される場合は、視覚的区分領域が存在しない、連続するLCであっても、互いに異なるVCとして分離してよい。ただし、LC内に2つ以上の異なるスタイルが混ざっている場合、視覚的区分領域が存在せずに連続していれば、1つのVCとしてよい。
【0042】
段階330で、相関クラスタリング部230は、隣接するVCの視覚的区分領域に基づいて少なくとも1つのVCをクラスタリングすることによって相関関係のテキスト領域を示す相関クラスタ(correlation cluster、以下「CC」とする)を構成してよい。CCは、視覚的区分領域が存在しない、連続するVCの集合を意味するものであって、ポリゴン座標情報を有さない。CCは、連続する句(phrase)や文章に該当するVCの集合であって、互いに隣接するVCに限り1つのCCとしてよい。
【0043】
プロセッサ120は、単語単位のテキスト認識結果を文章や文段に再構成したLC、VC、CCのうちの少なくとも1つを、自然語処理のためのディープラーニングモデルの学習データとして活用してよい。
【0044】
図4~8は、本発明の一実施形態における、階層的テキスト構造化過程の例を示した図である。
【0045】
図4を参照すると、WE40は、OCRなどによって認識された単語単位のテキストで定義されてよい。
【0046】
図5を参照すると、プロセッサ120は、同一線上に位置するWE40の集合をLC50として束ねてよい。プロセッサ120は、同一線上に位置したとしてもWE40の間に視覚的区分領域が存在する場合は、互いに異なるLC50として分離し、テキストスタイルが互いに異なっても同一線上に位置して視覚的区分領域が存在しない場合は、1つのLC50として構成してよい。
【0047】
図6を参照すると、プロセッサ120は、視覚的区分がなくて互いに隣接するLC50の集合をVC60として束ねてよい。例えば、視覚的区分がなくて互いに隣接するLC50に対し、テキストサイズが異なる場合は互いに異なるVC60として分離し、テキストサイズが同じ場合は1つのVC60として束ねてよい。プロセッサ120は、視覚的区分がなくて互いに隣接していてもそれぞれ互いに異なる1つのスタイルだけで構成されたLC50の場合は、互いに異なるVC60として分離し、LC50内に2つ以上の異なるスタイルが混ざっている場合に、視覚的区分領域が存在せずに連続していれば、1つのVC60として構成してよい。
【0048】
1つのWE40が、1つのLC50と1つのVC60を構成してもよい。例えば、互いに隣接するWE40が同一水平線上にあったとしても、線などによって視覚的に区分されていれば、互いに異なるLC50とVC60とに分離してよい。
【0049】
図7を参照すると、プロセッサ120は、互いに隣接するVC60のうち、連続する句や文章に該当するVCの集合をCC70として束ねてよい。
【0050】
したがって、テキストを階層化したタイプは、WE40、LC50、VC60、CC70に区分されるようになる。
【0051】
LC50、VC60、CC70は、ポリゴン座標情報を有さず、
図8に示したLC50、VC60、CC70のデータフォーマットは、表1のとおりとなる。テキストフィルタは、子ノード(child node)のテキストを空間(space)として合わせた結果である。言い換えれば、CC70の子ノードはVC60となり、VC60の子ノードはLC50となり、LC50の子ノードはWE40となる。WE40はポリゴン座標情報を有する反面、LC50、VC60、CC70は、座標情報の代わりに該当のクラスタを構成する子ノードの集合情報を有する。
【0052】
【0053】
図9~11は、本発明の一実施形態における、視覚的区分領域の例を示した図である。
【0054】
階層的テキスト構造化の基準となる視覚的区分領域は、次のように定義されてよい。視覚的区分領域は、テキスト領域がラインや図形、イメージなどによって区分される場合、テキスト領域が互いに異なる背景によって区分される場合、テキスト領域の間隔が不規則的な場合に分けられてよい。
【0055】
図9を参照すると、プロセッサ120は、テキスト領域(WE40、LC50、VC60)がテーブルライン901やボックスのような各種図形902によって区分される場合、視覚的に区分されると判断する。言い換えれば、ライン901や図形902、イメージなどを視覚的区分領域として活用してよい。例えば、互いに隣接するLC50の集合がライン901や図形902によって区分されなければ1つのVC60として束ね、ライン901や図形902によって区分されれば互いに異なるVC60として束ねてよい。
【0056】
図10を参照すると、プロセッサ120は、テキスト領域が互いに異なる背景1001、1002によって区分される場合、視覚的に区分されると判断する。言い換えれば、テキスト背景1001、1002を視覚的区分領域として活用してよい。例えば、互いに隣接するLC50の背景が同じであれば1つのVC60として束ね、互いに異なる背景として区分されれば互いに異なるVC60として束ねてよい。
【0057】
図11を参照すると、プロセッサ120は、テキスト領域の間隔1101、1102、1103、1104を確認してよく、このようなテキスト領域の間隔1101、1102、1103、1104が不規則な場合、視覚的に区分されると判断する。言い換えれば、テキスト領域の不規則な間隔を視覚的区分領域として活用してよい。互いに隣接するLC50の間隔が規則的であれば、1つのVC60として束ねる。この反面、LC50の間隔が規則的であったのに変化する、すなわち、不規則になる部分を視覚的に区分される境界として見なし、該当の境目を基準に以前LC50と以後LC50を互いに異なるVC60として分離してよい。
【0058】
上述した視覚的区分領域の他にも、文頭記号やナンバリングなど、テキスト領域を区分するために利用される多様な書式や要素が適用されてもよい。
【0059】
図12~13は、本発明の一実施形態における、WE40をLC50としてクラスタリングする過程を説明するための例示図である。
【0060】
プロセッサ120は、基本的に、視覚的区分方式を利用して少なくとも1つのWE40をLC50としてクラスタリングしてよい。
【0061】
視覚的区分方式の他にも、次のような規則にしたがってクラスタリングを実行する。
【0062】
図12に示すように、WE40の間隔が一定の字数以上であるときには、それぞれ異なるLC50としてクラスタリングする。例えば、字間が2字以上ある以前WE40の集合と以後WE40の集合は、互いに異なるLC50として束ねてよい。
【0063】
図13に示すように、同一水平線上に位置するWE40の集合を1つのLC50としてクラスタリングする。WE40が、サイズ、フォント、ボールド、イタリックなどのようなテキストスタイルが異なっても、同一線上に位置すれば、1つのLC50としてクラスタリングする。一方、プロセッサ120は、同一線上に位置しないWE40は、互いに異なるLC50として分離して構成する。
【0064】
図14~15は、本発明の一実施形態における、LC50をVC60としてクラスタリングする過程を説明するための例示図である。
【0065】
プロセッサ120は、基本的に、視覚的区分方式を利用して少なくとも1つのLC50をVC60としてクラスタリングしてよい。
【0066】
視覚的区分方式の他にも、次のような規則にしたがってクラスタリングを実行する。
【0067】
プロセッサ120は、視覚的区分領域が存在しない、連続するLC50が複数ある場合、より近くに位置するLC50をVC60としてクラスタリングする。
【0068】
図14に示すように、プロセッサ120は、LC50の間隔が一定以上(例えば、2列以上)の場合には、それぞれのLC50を互いに異なるVC60としてクラスタリングする。
【0069】
また、
図15を参照すると、プロセッサ120は、LC50の一部の領域が重なる場合、例えば、1字以上が重なる場合には、互いに隣接するLC50の集合として見なし、同じVC60としてクラスタリングする。
【0070】
また、互いに隣接するLC50がそれぞれ互いに異なる1つのスタイル(フォント、サイズ、ボールド、イタリックなど)だけで構成されている場合には、視覚的区分がない、連続するLC50であったとしても、それぞれ異なるVC60としてクラスタリングする。ただし、LC50内に複数の異なるスタイルが混ざっている場合、視覚的区分がなく連続していれば、同じVC60としてクラスタリングする。例えば、LC1、LC2、LC3に区分されたLC50に対し、連続するLC1とLC2は視覚的区分がなく、連続するLC2とLC3は視覚的区分がなければ、LC1とLC3が連続せずにテキストスタイルが異なったとしても、LC1とLC2およびLC3は推移関係(transitive relation)として見なし、VC60としてクラスタリングする。
【0071】
図16~17は、本発明の一実施形態における、VC60をCC70としてクラスタリングする過程を説明するための例示図である。
【0072】
プロセッサ120は、基本的に、視覚的区分方式を利用して少なくとも1つのVC60をCC70としてクラスタリングしてよい。
【0073】
視覚的区分方式の他にも、次のような規則にしたがってクラスタリングを実行する。
【0074】
プロセッサ120は、コンピュータシステム100の内部に構築されるか別のシステムに構築され、コンピュータシステム100と連動可能な辞書データベース(図示せず)に基づいてVC60それぞれの内部テキストを検索し、検索されたテキストがそれ自体で意味を持つか完成した句として判断される場合は、CC70としてクラスタリングしない。
【0075】
一方、プロセッサ120は、VC60それぞれのテキストが完成した意味を持つものであったとしても、2つ以上のVC60のテキストの組み合わせが固有名詞に該当する場合は、該当のVC60の集合を1つのCC70としてクラスタリングする、例えば、プロセッサ120は、
図16に示すように、視覚的区分方式により、VC60が「toy」、「story」、「4」に区分された場合、「toy」と「story」がそれ自体で意味を持つものであったとしても、結合する文章が固有名詞「toy story」を意味するため、「toy」と「story」を1つのCC70として束ねてよい。
【0076】
図17を参照すると、プロセッサ120は、互いに異なる背景やテキストスタイルによってVC60が「made with」、「100%」、「natural」、「ingredients」に区分される場合、これを完成した意味の文章ではなく断絶する文章と判断し、完成した文章や句に該当するVC60の集合として「made with」、「100%」、「natural」、「ingredients」を1つのCC70として束ねてよい。
【0077】
したがって、プロセッサ120は、イメージのテキスト認識結果を文章や文段に階層化することができ、これを自然語処理のためのディープラーニングモデルの学習データとして活用することができる。
【0078】
イメージ翻訳の場合、イメージのOCR結果に対して階層的テキスト構造化(HTS)を適用させてイメージ内のテキストを完結した構造の単位に再構成した後、原文を削除し、再構成された各単位を翻訳した文章(翻訳文)を該当の原文が削除された位置にレンダリングしてよい。イメージ内のテキストに対し、翻訳のための自然語処理単位を階層的テキスト構造化によってより完結した構造の単位に再構成することにより、より優れた品質のイメージ翻訳結果を提供することができる。
【0079】
このように、本発明の実施形態によると、イメージから認識された単語単位のテキストを文章や文段に再構成する階層的テキスト構造化により、自然語処理のための学習モデルの学習データを生成することができる。階層的テキスト構造化による学習データによってディープラーニング基盤の学習モデルを構築することができ、これにより、完結した構造の単位を設定することができ、機械翻訳、情報検索、質疑応答、文書要約などのような多様な分野で自然語処理性能を高めることができる。
【0080】
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および/またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【0081】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、コンピュータ記録媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。
【0082】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。このとき、媒体は、コンピュータ実行可能なプログラムを継続して記録するものであっても、実行またはダウンロードのために一時記録するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散して存在するものであってもよい。媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD-ROMおよびDVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどを含み、プログラム命令が記録されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを配布するアプリケーションストアやその他の多様なソフトウェアを供給または配布するサイト、サーバなどで管理する記録媒体または格納媒体も挙げられる。
【0083】
以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【0084】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【0085】
120:プロセッサ
210:線形クラスタリング部
220:仮想クラスタリング部
230:相関クラスタリング部