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

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

▶ アクセンチュア グローバル ソリューションズ リミテッドの特許一覧

<>
  • 特許-デジタル化された筆記の処理 図1
  • 特許-デジタル化された筆記の処理 図2
  • 特許-デジタル化された筆記の処理 図3
  • 特許-デジタル化された筆記の処理 図4
  • 特許-デジタル化された筆記の処理 図5
  • 特許-デジタル化された筆記の処理 図6
  • 特許-デジタル化された筆記の処理 図7
  • 特許-デジタル化された筆記の処理 図8
  • 特許-デジタル化された筆記の処理 図9A
  • 特許-デジタル化された筆記の処理 図9B
  • 特許-デジタル化された筆記の処理 図10
  • 特許-デジタル化された筆記の処理 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-10
(45)【発行日】2023-10-18
(54)【発明の名称】デジタル化された筆記の処理
(51)【国際特許分類】
   G06F 16/583 20190101AFI20231011BHJP
   G06F 16/538 20190101ALI20231011BHJP
   G06F 16/54 20190101ALI20231011BHJP
   G06V 30/14 20220101ALI20231011BHJP
   G06V 30/18 20220101ALI20231011BHJP
【FI】
G06F16/583
G06F16/538
G06F16/54
G06V30/14 340
G06V30/18 A
【請求項の数】 16
【外国語出願】
(21)【出願番号】P 2021170177
(22)【出願日】2021-10-18
(65)【公開番号】P2022067086
(43)【公開日】2022-05-02
【審査請求日】2021-10-18
(31)【優先権主張番号】17/074,160
(32)【優先日】2020-10-19
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】516172237
【氏名又は名称】アクセンチュア グローバル ソリューションズ リミテッド
(74)【代理人】
【識別番号】100102406
【弁理士】
【氏名又は名称】黒田 健二
(74)【代理人】
【識別番号】100100240
【弁理士】
【氏名又は名称】松本 孝
(72)【発明者】
【氏名】オガラ,タラ リン
(72)【発明者】
【氏名】グラン,サラト チャンドラ
(72)【発明者】
【氏名】ターナー,ジェフリー トーマス
(72)【発明者】
【氏名】タッカー,パイパー
(72)【発明者】
【氏名】プリエスタ,ジェームズ ロバート
【審査官】甲斐 哲雄
(56)【参考文献】
【文献】特開2008-059527(JP,A)
【文献】国際公開第2011/074067(WO,A1)
【文献】特開2008-287517(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06V 30/00-30/424
(57)【特許請求の範囲】
【請求項1】
手書きテキストを処理するための、コンピュータに実装された処理システムであって、前記処理システムは、
少なくとも1つのデータストレージデバイスと、
前記少なくとも1つのストレージデバイスに保存された機械可読命令を実行する1つ以上のプロセッサと、
を含み、前記1つ以上のプロセッサは、
デジタル化文書にアクセスすることであって、
前記デジタル化文書は、データ入力を含み、
前記データ入力は、手書きテキスト入力を含む、
前記アクセスすることと、
前記デジタル化文書から画像を生成することであって、
それぞれの前記画像は、前記デジタル化文書の個々のページに対応し、
それぞれの前記画像は、前記デジタル化文書の前記個々のページと同じサイズを保持する、
前記画像を生成することと、
前記デジタル化文書中の各単語の輪郭線の形状を捕捉する2値画像を得るために前記画像を2値化することであって、前記画像を2値化するために前記プロセッサは、
所定の倍数によりそれぞれの前記画像の幅および高さを増大させることと、
それぞれの前記画像をグレースケールに変換することと、
それぞれの前記画像にガウシアンぼかしを適用することにより、ぼかし後の2値物体を生成することと
をする、前記2値化することと、
前記デジタル化文書の前記2値画像から前記データ入力について数値を計算することと、
前記データ入力のうちの少なくとも1つが前記手書きテキスト入力を含むと、前記数値に基づき判断することと、
前記デジタル化文書の前記データ入力の中の単語と、各単語の個々の位置とを特定することと、
前記デジタル化文書の出力バージョンを生成することであって、
前記デジタル化文書の前記出力バージョンは、ユーザデバイスの出力画面上に表示するためのものであり、
前記出力バージョンは、前記手書きテキスト入力を含む前記データ入力の選択を可能にし、
前記出力バージョンは、
基礎画像として設定され、前記デジタル化文書の前記ページに対応する前記画像、および
前記デジタル化文書のそれぞれの前記ページからのテキストであって、前記基礎画像のうち前記ページに対応するものに透明フォントで重ねられた、前記テキスト
を含み、
前記テキストは、前記基礎画像中の前記単語の個々の位置と一致する位置に前記透明フォントで表示された、前記ページからの単語を含む、
前記出力バージョンを生成することと、
前記デジタル化文書の前記出力バージョンを表示のために前記ユーザデバイスに提供することにより、前記デジタル化文書に対するテキスト処理機能を可能にすることと
をする、コンピュータに実装された処理システム。
【請求項2】
前記プロセッサはさらに、
前記デジタル化文書の中で特定すべき検索語を受信することと、
前記検索語が前記デジタル化文書に含まれる位置を特定することと
をする、請求項1に記載の手書きテキスト処理システム。
【請求項3】
前記テキスト処理機能を可能にするために、前記プロセッサは、
前記検索語に対応する選択された単語を含む、前記透明フォントの強調表示された部分を含んだ、前記デジタル化文書の前記出力バージョンを生成し、
前記強調表示された部分は、前記基礎画像上の前記選択された単語をカバーするサイズである、請求項2に記載の手書きテキスト処理システム。
【請求項4】
前記テキスト処理機能を可能にするために、前記プロセッサは、
情報抽出(IE)モデルを使用して、前記デジタル化文書中の前記単語から1つ以上のエンティティを抽出することと、
訓練済みの分類器を使用して、前記エンティティを特定のカテゴリに分類することと
をする、請求項1に記載の手書きテキスト処理システム。
【請求項5】
前記デジタル化文書の前記出力バージョンを生成するために、前記プロセッサは、
前記透明フォントの中の前記エンティティを、前記エンティティが前記デジタル化文書に含まれている前記位置にて強調表示することにより、前記デジタル化文書の前記出力バージョンを生成する、請求項4に記載の手書きテキスト処理システム。
【請求項6】
前記画像を2値化するために、前記プロセッサはさらに
キャニーエッジ検出手法を使用して、それぞれの前記画像中の前記ぼかし後の2値物体のエッジを判断することと、
モルフォロジークロージングオペレータの複数の反復を適用することにより、前記エッジの、隙間のない連結された単語ブロブを生成することと
をする、請求項に記載の手書きテキスト処理システム。
【請求項7】
手書きテキストを処理するための、コンピュータに実装された処理システムであって、前記処理システムは、
少なくとも1つのデータストレージデバイスと、
前記少なくとも1つのストレージデバイスに保存された機械可読命令を実行する1つ以上のプロセッサと、
を含み、前記1つ以上のプロセッサは、
デジタル化文書にアクセスすることであって、
前記デジタル化文書は、データ入力を含み、
前記データ入力は、手書きテキスト入力を含む、
前記アクセスすることと、
前記デジタル化文書から画像を生成することであって、
それぞれの前記画像は、前記デジタル化文書の個々のページに対応し、
それぞれの前記画像は、前記デジタル化文書の前記個々のページと同じサイズを保持する、
前記画像を生成することと、
前記画像を2値化することにより得られた2値画像から個別の単語の画素をセグメンテーションすることであって、前記個別の単語の画素をセグメンテーションするために、前記プロセッサは、
前記2値画像中の前記単語の位置およびサイズを得ることと、
それぞれの前記単語に対応する2値画像パッチを割り当てることと
をし、
前記2値画像パッチ中の白い画素は、前記個々のページ上の前記単語の境界と内部とのうちの一方を示し、
前記2値画像パッチ中の黒い画素は、前記個々のページ上の前記単語の外部を示す、
前記セグメンテーションすることと、
前記デジタル化文書の前記データ入力について数値を計算することであって、前記数値を計算するために、前記プロセッサは、
それぞれの前記2値画像パッチの特徴を、
前記2値画像パッチに含まれる隙間のない単語ブロブの輪郭を特定することと、
前記2値画像パッチの最大の輪郭を選択することと、
前記2値画像パッチ中の単語の輪郭について、凸包および最小矩形を計算することと
により抽出することと、
をする、
前記数値を計算すると、
前記データ入力のうちの少なくとも1つが前記手書きテキスト入力を含むと、前記数値に基づき判断することと、
前記デジタル化文書の前記データ入力の中の単語と、各単語の個々の位置とを特定することと、
前記デジタル化文書の出力バージョンを生成することであって、
前記デジタル化文書の前記出力バージョンは、ユーザデバイスの出力画面上に表示するためのものであり、
前記出力バージョンは、前記手書きテキスト入力を含む前記データ入力の選択を可能にし、
前記出力バージョンは、
基礎画像として設定され、前記デジタル化文書の前記ページに対応する前記画像、および
前記デジタル化文書のそれぞれの前記ページからのテキストであって、前記基礎画像のうち前記ページに対応するものに透明フォントで重ねられた、前記テキスト
を含み、
前記テキストは、前記基礎画像中の前記単語の個々の位置と一致する位置に前記透明フォントで表示された、前記ページからの単語を含む、
前記出力バージョンを生成することと、
前記デジタル化文書の前記出力バージョンを表示のために前記ユーザデバイスに提供することにより、前記デジタル化文書に対するテキスト処理機能を可能にすることと
をする、コンピュータに実装された処理システム。
【請求項8】
前記データ入力が少なくとも前記手書きテキスト入力を含むと判断するために、前記プロセッサは、
前記データ入力についての前記数値として、前記2値画像パッチの前記凸包および前記最小矩形のHuモーメントを計算することと、
前記凸包および前記最小矩形の前記Huモーメントが手書きの例についての値と類似しているとの判断に基づき、前記データ入力は少なくとも前記手書きテキスト入力を含むと判断することと
をする、請求項に記載の手書きテキスト処理システム。
【請求項9】
手書きテキストを処理するための、コンピュータに実装された処理システムであって、前記処理システムは、
少なくとも1つのデータストレージデバイスと、
前記少なくとも1つのストレージデバイスに保存された機械可読命令を実行する1つ以上のプロセッサと、
を含み、前記1つ以上のプロセッサは、
デジタル化文書にアクセスすることであって、
前記デジタル化文書は、データ入力を含み、
前記データ入力は、手書きテキスト入力を含む、
前記アクセスすることと、
前記デジタル化文書から画像を生成することであって、
それぞれの前記画像は、前記デジタル化文書の個々のページに対応し、
それぞれの前記画像は、前記デジタル化文書の前記個々のページと同じサイズを保持する、
前記画像を生成することと、
前記デジタル化文書の前記データ入力について数値を計算することと、
前記データ入力のうちの少なくとも1つが前記手書きテキスト入力を含むと、前記数値に基づき判断することと、
前記デジタル化文書の前記データ入力の中の単語と、各単語の個々の位置とを特定することであって、前記単語と各単語の個々の位置を特定するために、前記プロセッサは、
単語ブロブの輪郭およびテキスト中の切れ目に基づき、それぞれの前記画像からのテキストを単語の集合にセグメンテーションすることと、
さらに、前記輪郭を使用して各単語を字に分けることと、
訓練済みの畳み込みニューラルネットワーク(CNN)を使用して個別の字を特定することと、
前記個別の字を特定することからの出力を、カスタムモデルを適用することにより得ることと、
前記個別の字を特定することから得られた前記出力を、期待される応答に照らして検証することと
をする、
前記特定することと、
前記デジタル化文書の出力バージョンを生成することであって、
前記デジタル化文書の前記出力バージョンは、ユーザデバイスの出力画面上に表示するためのものであり、
前記出力バージョンは、前記手書きテキスト入力を含む前記データ入力の選択を可能にし、
前記出力バージョンは、
基礎画像として設定され、前記デジタル化文書の前記ページに対応する前記画像、および
前記デジタル化文書のそれぞれの前記ページからのテキストであって、前記基礎画像のうち前記ページに対応するものに透明フォントで重ねられた、前記テキスト
を含み、
前記テキストは、前記基礎画像中の前記単語の個々の位置と一致する位置に前記透明フォントで表示された、前記ページからの単語を含む、
前記出力バージョンを生成することと、
前記デジタル化文書の前記出力バージョンを表示のために前記ユーザデバイスに提供することにより、前記デジタル化文書に対するテキスト処理機能を可能にすることと
をする、コンピュータに実装された処理システム。
【請求項10】
手書きテキスト入力を処理する方法であって、前記方法は、
データストレージデバイスと通信するプロセッサによって、各画像がデジタル化文書の個々のページに対応する画像である当該画像を生成するステップであって、
前記画像は、前記デジタル化文書の前記ページと同じサイズを有する、
前記画像を生成するステップと、
前記プロセッサによって、暗い背景上で前記デジタル化文書中の単語の形状を捕捉する2値画像に前記画像を変換するステップであって、
前記プロセッサによって、所定の倍数によりそれぞれの前記画像の幅および高さを増大させるステップと、
前記プロセッサによって、それぞれの前記画像をグレースケールに変換するステップと、
前記プロセッサによって、それぞれの前記画像にガウシアンぼかしを適用することにより、ぼかし後の2値物体を生成するステップと、
を含む、前記2値画像に前記画像を変換するステップと、
前記プロセッサによって、前記2値画像を2値画像パッチにセグメンテーションするステップであって、
それぞれの前記2値画像パッチは、前記デジタル化文書からの対応する単語を含む、
前記セグメンテーションするステップと、
前記プロセッサによって、それぞれの前記2値画像パッチの特徴を抽出するステップと、
前記プロセッサによって、前記特徴から前記デジタル化文書のデータ入力についての数値を計算するステップと、
前記プロセッサによって、前記データ入力が少なくとも手書きテキスト入力を含むと、前記数値に基づき判断するステップと、
前記プロセッサによって、前記デジタル化文書中の単語および前記単語の配置を特定するステップと、
前記プロセッサによって、前記手書きテキスト入力の中の単語を含む前記単語のユーザ選択を可能にする前記デジタル化文書の出力バージョンを生成するステップであって、前記出力バージョンは少なくとも、
前記デジタル化文書の前記ページの前記画像を含む1つ以上の基礎画像、および
前記基礎画像のうち対応するものに透明フォントで重ねられた、前記ページからのテキスト
を含み、
前記デジタル化文書の前記ページからの前記単語は、前記基礎画像中の前記単語の前記配置と一致する配置で、前記透明フォントで重ねられる、
前記出力バージョンを生成するステップと、
前記プロセッサによって、前記デジタル化文書の前記出力バージョンを表示のためにユーザデバイスに提供するステップと
を含む、方法。
【請求項11】
前記2値画像に前記画像を変換するステップはさらに、
前記プロセッサによって、キャニーエッジ検出手法を使用して、それぞれの前記画像中の前記ぼかし後の2値物体のエッジを判断するステップと、
前記プロセッサによって、モルフォロジークロージングオペレータの複数の反復を適用することにより、前記エッジの、連結された単語ブロブを生成するステップと
を含む、請求項10に記載の方法。
【請求項12】
前記2値画像を前記2値画像パッチにセグメンテーションするステップはさらに、
前記プロセッサによって、前記2値画像中の個別の各単語の位置およびサイズを得るステップと、
前記プロセッサによって、個別の各単語に対応する2値画像パッチを割り当てるステップであって、前記2値画像パッチ中の白い画素は、前記個々のページ上の前記単語の境界と内部とのうちの一方を示し、前記2値画像パッチ中の黒い画素は、前記個々のページ上の前記単語の外部を示す、前記割り当てるステップと、
前記プロセッサによって、前記2値画像から個別の単語の画素をクロップするステップと
を含む、請求項10に記載の方法。
【請求項13】
前記データ入力についての前記数値を計算するステップはさらに、
前記プロセッサによって、前記データ入力についての前記数値として、それぞれの前記2値画像パッチの凸包および最小矩形のHuモーメントを計算するステップと、
前記プロセッサによって、前記凸包および前記最小矩形の前記Huモーメントがタイプ入力された例よりも手書きの例により類似しているとの判断に基づき、前記データ入力は少なくとも前記手書きテキスト入力を含むと判断するステップと
を含む、請求項10に記載の方法。
【請求項14】
前記デジタル化文書の前記出力バージョンを生成するステップはさらに、
前記プロセッサによって、ハイパーテキストマークアップ言語(HTML)を使用して前記基礎画像と前記テキストとを組み合わせるステップと、
前記プロセッサによって、前記ユーザデバイス上で前記出力バージョンを閲覧するユーザに前記透明フォントが見えないようにする前記透明フォントの値を、前記HTMLにおいて設定するステップと
を含む、請求項10に記載の方法。
【請求項15】
機械可読命令を含む非一時的プロセッサ可読ストレージ媒体であって、前記機械可読命令はプロセッサに、
手書きテキスト入力を含むデータ入力を備えたデジタル化文書にアクセスすることと、
前記デジタル化文書から画像を生成することであって、
それぞれの前記画像は、前記デジタル化文書の個々のページに対応し、
それぞれの前記画像は、前記デジタル化文書の前記個々のページに比例したサイズを保持する、
前記画像を生成することと、
前記デジタル化文書中の各単語の輪郭線の形状を捕捉する2値画像を得るために前記画像を2値化することであって、前記画像を2値化するために前記プロセッサは、
所定の倍数によりそれぞれの前記画像の幅および高さを増大させることと、
それぞれの前記画像をグレースケールに変換することと、
それぞれの前記画像にガウシアンぼかしを適用することにより、ぼかし後の2値物体を生成することと
をする、前記2値化することと、
前記デジタル化文書の前記2値画像から前記データ入力について数値を計算することと、
前記数値に基づき、前記データ入力のうちの少なくとも1つが前記手書きテキスト入力を含むと判断することと、
前記デジタル化文書中の単語および前記単語の位置を特定することと、
前記デジタル化文書から特定すべき検索語を受信することと、
前記デジタル化文書の出力バージョンを生成することであって、
前記出力バージョンは、前記手書きテキスト入力を含む前記データ入力の選択を可能にし、
前記出力バージョンは、
前記画像から選択された基礎画像であって、前記デジタル化文書の中の、前記検索語を含む選択された少なくとも1つのページに対応する、前記基礎画像、
前記基礎画像上に透明フォントで重ねられた、前記基礎画像からのテキスト、
を含み、
前記テキストは、前記基礎画像中の前記単語の前記位置と一致する位置に前記透明フォントで表示された、前記選択されたページからの前記単語のサブセットを少なくとも含む、
前記出力バージョンを生成することと、
前記デジタル化文書の前記出力バージョンを表示のためにユーザデバイスの出力画面に提供することと
をさせる、非一時的プロセッサ可読ストレージ媒体。
【請求項16】
前記プロセッサに、
前記検索語が前記デジタル化文書中で現れる位置を特定することと、
前記デジタル化文書中の前記透明フォントの強調表示された部分を含む前記デジタル化文書の前記出力バージョンを提供することであって、前記強調表示は、前記基礎画像上で前記サブセットの単語が選択されているかのように見える、前記出力バージョンを提供することと
をさせる命令をさらに含む、請求項15に記載の非一時的プロセッサ可読ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、全般的に、手書きテキスト処理システムと、手書きテキスト入力を処理する方法とに関する。
【背景技術】
【0002】
様々な分野においてデジタル技術の使用が増加したことで、テキストのデータおよび非テキストのデータの保存および処理が発生している。処理のためにコンピュータシステムに提供されるテキストのデータは、主に、タイピングもしくは印刷されたもの、またはその他機械によって生成されたものである。しかし、ビジネスプロセスを自動化するロボティックプロセスオートメーション(RPA:robotic process automation)などの分野の発展により、メモ、人の筆記で記入された用紙、署名などの手書き入力を含む文書のコンピュータ処理が要求されることがある。手書き入力は、文書をスキャンすることにより得られる、または例えばタッチスクリーンなどのデバイスを介して提供される人間からの入力により得られる、画像から抽出可能である。書き方は個人ごとに異なるため、筆記入力の処理は複雑になり得る。現在、ニューラルネットワークなどの機械学習(ML:machine learning)手法が手書き入力の分析に用いられている。
【発明の概要】
【課題を解決するための手段】
【0003】
一部の実装において、手書きテキストを処理するための、コンピュータに実装された処理システムは、少なくとも1つのデータストレージデバイスと、少なくとも1つのストレージデバイスに保存された機械可読命令を実行する1つ以上のプロセッサと、を含み、1つ以上のプロセッサは、デジタル化文書にアクセスすることであって、デジタル化文書は、データ入力を含み、データ入力は、手書きテキスト入力を含む、アクセスすることと、デジタル化文書から画像を生成することであって、それぞれの画像は、デジタル化文書の個々のページに対応し、それぞれの画像は、デジタル化文書の個々のページと同じサイズを保持する、画像を生成することと、デジタル化文書のデータ入力について数値を計算することと、データ入力のうちの少なくとも1つが手書きテキスト入力を含むと、数値に基づき判断することと、デジタル化文書のデータ入力の中の単語と、各単語の個々の位置とを特定することと、デジタル化文書の出力バージョンを生成することであって、デジタル化文書の出力バージョンは、ユーザデバイスの出力画面上に表示するためのものであり、出力バージョンは、手書きテキスト入力を含むデータ入力の選択を可能にし、出力バージョンは、基礎画像として設定され、デジタル化文書のページに対応する画像、およびデジタル化文書のそれぞれのページからのテキストであって、基礎画像のうちページに対応するものに透明フォントで重ねられた、テキストを含み、テキストは、基礎画像中の単語の個々の位置と一致する位置に透明フォントで表示された、ページからの単語を含む、出力バージョンを生成することと、デジタル化文書の出力バージョンを表示のためにユーザデバイスに提供することにより、デジタル化文書に対するテキスト処理機能を可能にすることとをする。
【0004】
上記のシステムの一部の実装において、プロセッサはさらに、デジタル化文書の中で特定すべき検索語を受信することと、検索語がデジタル化文書に含まれる位置を特定することとをしてもよい。
【0005】
上記のシステムの一部の実装において、テキスト処理機能を可能にするために、プロセッサは、検索語に対応する選択された単語を含む、透明フォントの強調表示された部分を含んだ、デジタル化文書の出力バージョンを生成してもよく、強調表示された部分は、基礎画像上の選択された単語をカバーするサイズである。
【0006】
上記のシステムの一部の実装において、テキスト処理機能を可能にするために、プロセッサは、情報抽出(IE:information extraction)モデルを使用して、デジタル化文書中の単語から1つ以上のエンティティを抽出することと、訓練済みの分類器を使用して、エンティティを特定のカテゴリに分類することとをしてもよい。
【0007】
上記のシステムの一部の実装において、デジタル化文書の出力バージョンを生成するために、プロセッサは、透明フォントの中のエンティティを、エンティティがデジタル化文書に含まれている位置にて強調表示することにより、デジタル化文書の出力バージョンを生成してもよい。
【0008】
上記のシステムの一部の実装において、デジタル化文書を処理するために、プロセッサは、デジタル化文書から生成された画像を2値化することにより、デジタル化文書中の各単語の輪郭線の形状を捕捉してもよい。
【0009】
上記のシステムの一部の実装において、デジタル化文書を2値化するために、プロセッサは、所定の倍数によりそれぞれの画像の幅および高さを増大させることと、それぞれの画像をグレースケールに変換することと、それぞれの画像にガウシアンぼかしを適用することにより、ぼかし後の2値物体を生成することとをしてもよい。
【0010】
上記のシステムの一部の実装において、デジタル化文書を2値化するために、プロセッサは、キャニーエッジ検出手法を使用して、それぞれの画像中のぼかし後の2値物体のエッジを判断することと、モルフォロジークロージングオペレータの複数の反復を適用することにより、エッジの、隙間のない連結された単語ブロブを生成することとをしてもよい。
【0011】
上記のシステムの一部の実装において、デジタル化文書を処理するために、プロセッサは、画像を2値化することにより得られた2値画像から個別の単語の画素をセグメンテーションしてもよい。
【0012】
上記のシステムの一部の実装において、個別の単語の画素をセグメンテーションするために、プロセッサは、2値画像中の単語の位置およびサイズを得ることと、それぞれの単語に対応する2値画像パッチを割り当てることとをしてもよく、2値画像パッチ中の白い画素は、個々のページ上の単語の境界と内部とのうちの一方を示し、2値画像パッチ中の黒い画素は、個々のページ上の単語の外部を示す。
【0013】
上記のシステムの一部の実装において、デジタル化文書を処理するために、プロセッサは、それぞれの2値画像パッチの特徴を、2値画像パッチに含まれる隙間のない単語ブロブの輪郭を特定することと、2値画像パッチの最大の輪郭を選択することと、2値画像パッチ中の単語の輪郭について、凸包および最小矩形を計算することとにより抽出してもよい。
【0014】
上記のシステムの一部の実装において、データ入力が少なくとも手書きテキスト入力を含むと判断するために、プロセッサは、データ入力についての数値として、2値画像パッチの凸包および最小矩形のHuモーメントを計算することと、凸包および最小矩形のHuモーメントが手書きの例についての値と類似しているとの判断に基づき、データ入力は少なくとも手書きテキスト入力を含むと判断することとをしてもよい。
【0015】
上記のシステムの一部の実装において、デジタル化文書中の各単語および各単語の位置を特定するために、プロセッサは、単語ブロブの輪郭およびテキスト中の切れ目に基づき、それぞれの画像からのテキストを単語の集合にセグメンテーションすることと、さらに、輪郭を使用して各単語を字に分けることと、訓練済みの畳み込みニューラルネットワーク(CNN:convolutional neural network)を使用して個別の字を特定することと、個別の字を特定することからの出力を、カスタムモデルを適用することにより得ることと、個別の字を特定することから得られた出力を、期待される応答に照らして検証することとをしてもよい。
【0016】
一部の実装において、手書きテキスト入力を処理する方法は、デジタル化文書の各ページに対応する画像を生成するステップであって、画像は、デジタル化文書のページと同じサイズを有する、画像を生成するステップと、暗い背景上でデジタル化文書中の単語の形状を捕捉する2値画像に画像を変換するステップと、2値画像を2値画像パッチにセグメンテーションするステップであって、それぞれの2値画像パッチは、デジタル化文書からの対応する単語を含む、セグメンテーションするステップと、それぞれの2値画像パッチの特徴を抽出するステップと、特徴からデジタル化文書のデータ入力についての数値を計算するステップと、データ入力が少なくとも手書きテキスト入力を含むと、数値に基づき判断するステップと、デジタル化文書中の単語および単語の配置を特定するステップと、手書きテキスト入力の中の単語を含む単語のユーザ選択を可能にするデジタル化文書の出力バージョンを生成するステップであって、出力バージョンは少なくとも、デジタル化文書のページの画像を含む1つ以上の基礎画像、および基礎画像のうち対応するものに透明フォントで重ねられた、ページからのテキストを含み、デジタル化文書のページからの単語は、基礎画像中の単語の配置と一致する配置で、透明フォントで重ねられる、出力バージョンを生成するステップと、デジタル化文書の出力バージョンを表示のためにユーザデバイスに提供するステップとを含む。
【0017】
上記の方法の一部の実装において、2値画像に画像を変換するステップはさらに、所定の倍数によりそれぞれの画像の幅および高さを増大させるステップと、それぞれの画像をグレースケールに変換するステップと、それぞれの画像にガウシアンぼかしを適用することにより、ぼかし後の2値物体を生成するステップと、キャニーエッジ検出手法を使用して、それぞれの画像中のぼかし後の2値物体のエッジを判断するステップと、モルフォロジークロージングオペレータの複数の反復を適用することにより、エッジの、連結された単語ブロブを生成するステップとを含んでもよい。
【0018】
上記の方法の一部の実装において、2値画像を2値画像パッチにセグメンテーションするステップはさらに、2値画像中の個別の各単語の位置およびサイズを得るステップと、個別の各単語に対応する2値画像パッチを割り当てるステップであって、2値画像パッチ中の白い画素は、個々のページ上の単語の境界と内部とのうちの一方を示し、2値画像パッチ中の黒い画素は、個々のページ上の単語の外部を示す、割り当てるステップと、2値画像から個別の単語の画素をクロップするステップとを含んでもよい。
【0019】
上記の方法の一部の実装において、データ入力についての数値を計算するステップはさらに、データ入力についての数値として、それぞれの2値画像パッチの凸包のHuモーメントを計算するステップと、凸包および最小矩形のHuモーメントがタイプ入力された例よりも手書きの例により類似しているとの判断に基づき、データ入力は少なくとも手書きテキスト入力を含むと判断するステップとを含んでもよい。
【0020】
上記の方法の一部の実装において、デジタル化文書の出力バージョンを生成するステップはさらに、ハイパーテキストマークアップ言語(HTML:Hypertext Markup Language)を使用して基礎画像とテキストとを組み合わせるステップと、ユーザデバイス上で出力バージョンを閲覧するユーザにフォントが見えないようにする透明フォントの値を、HTMLにおいて設定するステップとを含んでもよい。
【0021】
一部の実装において、非一時的プロセッサ可読ストレージ媒体は、機械可読命令を含み、機械可読命令はプロセッサに、手書きテキスト入力を含むデータ入力を備えたデジタル化文書にアクセスすることと、デジタル化文書から画像を生成することであって、それぞれの画像は、デジタル化文書の個々のページに対応し、それぞれの画像は、デジタル化文書の個々のページに比例したサイズを保持する、画像を生成することと、デジタル化文書のデータ入力について数値を計算することと、数値に基づき、データ入力のうちの少なくとも1つが手書きテキスト入力を含むと判断することと、デジタル化文書中の単語および単語の位置を特定することと、デジタル化文書から特定すべき検索語を受信することと、デジタル化文書の出力バージョンを生成することであって、出力バージョンは、手書きテキスト入力を含むデータ入力の選択を可能にし、出力バージョンは、画像から選択された基礎画像であって、デジタル化文書の中の、検索語を含む選択された少なくとも1つのページに対応する、基礎画像、基礎画像上に透明フォントで重ねられた、基礎画像からのテキスト、を含み、テキストは、基礎画像中の単語の位置と一致する位置に透明フォントで表示された、選択されたページからの単語のサブセットを少なくとも含む、出力バージョンを生成することと、デジタル化文書の出力バージョンを表示のためにユーザデバイスの出力画面に提供することとをさせる。
【0022】
一部の実装において、ストレージ媒体は、プロセッサに、検索語がデジタル化文書中で現れる位置を特定することと、デジタル化文書中の透明フォントの強調表示された部分を含むデジタル化文書の出力バージョンを提供することであって、強調表示は、基礎画像上でサブセットの単語が選択されているかのように見える、出力バージョンを提供することとをさせる命令をさらに含んでもよい。
【0023】
本開示の特徴が、以下の図面に示される例によって明らかにされる。以下の図面において、同じ数字は同じ構成要素を示す。
【図面の簡単な説明】
【0024】
図1】本願明細書において開示されている例による手書きテキスト処理システムのブロック図を示す。
図2】本願明細書において開示されている例による文書プロセッサのブロック図を示す。
図3】本願明細書において開示されている例による筆記分析器のブロック図を示す。
図4】本願明細書において開示されている例による出力生成器のブロック図を示す。
図5】本願明細書において開示されている例による、デジタル化文書中の入力の性質を判断する方法を詳述するフローチャートを示す。
図6】本願明細書において開示されている例による、画像を2値化する方法を詳述するフローチャートを示す。
図7】本願明細書において開示されている例による、2値画像をセグメンテーションする方法を詳述するフローチャートを示す。
図8】本願明細書において開示されている例による、2値画像パッチから特徴を抽出する方法を詳述するフローチャートを示す。
図9A】本願明細書において開示されている例による、セグメンテーションされた単語の形状を示す。
図9B】本願明細書において開示されている例による、単語サンプルについて得られた凸包および最小矩形を示す。
図10】本願明細書において開示されている例による、入力デジタル化文書の対応する部分から生成された出力ユーザインターフェース(UI:user interface)の一部を示す。
図11】本願明細書において開示されている例による、手書きテキスト処理システムを実装するために使用され得るコンピュータシステムを示す。
【発明を実施するための形態】
【0025】
簡潔さおよび例示の目的で、本開示について、その例を参照することにより説明する。以下の説明では、本開示が十分に理解されるように特定の詳細事項が数多く記載される。しかし、当然のことながら、本開示はこうした特定の詳細事項に限定されることなく実施され得る。そのほか、本開示を不必要に曖昧にしないよう、一部の方法および構造を詳しく記載していない場合もある。本開示全体にわたって、「a(或る)」および「an(或る)」という用語は、特定の構成要素のうちの少なくとも1つを示すよう意図される。本願明細書で使用されるとき、「includes(含む)」という用語は、含むがそれに限定されないという意味であり、「including(含んでいる)」という用語は、含んでいるがそれに限定されないという意味である。「based on(基づく)」という用語は、少なくとも部分的に基づくという意味である。
【0026】
手書きテキスト入力を含むデータ入力を備えたデジタル化文書を処理し、ユーザが手書きテキスト入力に対してテキスト処理機能を実行することを可能にする、手書きテキスト処理システムが開示される。手書きテキスト処理システムによって処理可能なデジタル化文書には、紙文書のソフトコピー(例えばデジタル化されたコピー)が含まれ、これにはさらに、機械処理可能であるが機械による検索が不能なテキストおよび画像の1つ以上が含まれ得る。さらに、デジタル化文書の内容には、機械によって作成されたタイピングまたは印刷されたテキスト入力、および人間であるユーザによって作成された手書きテキスト入力の1つ以上が含まれ得る。手書きテキスト処理システムは、デジタル化文書にアクセスして、デジタル化文書の出力バージョンを作成し、出力バージョンは、テキストの選択、デジタル化文書からの単語の分類などのテキスト処理機能を可能にする。デジタル化文書の出力バージョンは、デジタル化文書のそれぞれのページの基礎画像を含み、それぞれのページに対応する単語が透明テキストとして、当該ページに対応する基礎画像に、そのページ中の単語の配置と一致する配置で重ねられる。透明テキストは、その下にある画像が透けて見える透明または半透明の単語または文字を含む。文書中に透明フォントで提供される透明テキストは、縁取りされるか、またはその他強調表示されてテキストが見えるようにされない限りは見えない。
【0027】
手書きテキスト処理システムは、最初に、デジタル化文書のそれぞれのページの画像を生成する。画像はさらに、画素が単語の内部形状の中に位置するか否かを示すように各画素値が設定された、2値画像に変換される。この2値画像は、暗い背景上でデジタル化文書中の単語の形状を捕捉する。さらに2値化画像は、2値画像パッチにセグメンテーションされ、デジタル化文書中の各単語に特定の座標が割り当てられる。各単語は、2値画像パッチのうちの1つに割り当てられ、その結果、2値画像パッチ中の白い画素は、個々のページ上の単語の境界と内部とのうちの一方を示し、2値画像パッチ中の黒い、または暗い画素は、個々のページ上の単語の外部を示す。2値画像パッチは、特徴抽出のためにさらに処理される。デジタル化文書からの単語/2値画像パッチについて、次に限定はされないが、凸包および最小矩形などの特徴を抽出できる。抽出された特徴から、各単語/2値画像パッチについてHuモーメントなどの数値がさらに計算される。各単語は、Huモーメントに基づき、タイピング/印刷されたテキスト入力または手書きテキスト入力のうちの一方であると判断される。単語は、デジタル化文書の中で特定し、配置を判断するために、単語が印刷されたものであるかまたは手書きのものであるかに基づき異なる仕方で処理されてもよい。したがって、デジタル化文書からのテキストの各セクションが、単語の集合にセグメンテーションされる。カスタム畳み込みニューラルネットワーク(CNN)を使用して、各単語の字が個別に特定され、単語が特定される。
【0028】
手書きテキスト処理システムは、選択されたページの基礎画像を提供し、選択されたページからのテキストを透明フォントで基礎画像に重ねることによって、ユーザデバイスのディスプレイ上に出力バージョンまたは出力UIを生成する。ユーザが特定の検索語の検索を実行すると、透明フォントの単語が選択され、強調表示される。なお、透明フォントのテキストはユーザには見えないため、単語がタイピングされたテキスト入力であるかまたは手書きテキスト入力であるかに関わらず、強調表示された部分はユーザにとっては、基礎画像の単語が選択されているかのように見える。
【0029】
本願明細書において開示されている手書きテキスト処理システムは、デジタル文書または画像中の手書き入力であって、そのテキストの内容を機械処理することができないものに対し、テキスト処理機能を可能にするという、技術的課題に対する技術的解決策をもたらす。これまでに開発された筆記分析の様々な解決策は、手書き入力から意味のあるテキストの内容を理解し、抽出することに主に焦点を合わせてきたが、筆記入力を含む文書に対しテキストの処理機能を可能にするということには十分に対処していない。本願明細書に記載されている手書きテキスト処理システムの出力UIは、そのような解決策を、テキスト処理機能が可能にされたときもデジタル化文書の外観を保持することによって提供することができる。結果として、手書きテキスト処理システムは、コンピュータによって処理されるように設計された特定の用紙を処理できるだけでなく、タイピングされたテキストの内容および手書きテキストの内容の両方を含む手書きの用紙、手紙、またはその他文書のテキストの入力も分析し、処理することができる。
【0030】
図1は、本願明細書において開示されている例による手書きテキスト処理システム100のブロック図を示す。手書きテキスト処理システム100は、タイピングされたテキスト入力152および手書きテキスト入力154を含むデジタル化文書150などの文書を処理し、タイピングされたテキスト入力152および手書きテキスト入力154とのユーザインタラクションをユーザデバイス190を介してできるようにするデジタル化文書150の出力バージョン160など、出力UIを生成する。医療分野に関わる例では、デジタル化文書150は、タイピング/印刷されたテキストおよび手書きテキストの両方を含むことができる患者の電子健康記録(EHR:electronic health record)または電子医療記録(EMR:electronic medical record)を含むことができる。同じく、金融または銀行の分野に関わる例では、デジタル化文書150は、タイピングされたテキスト入力および手書きテキスト入力を有する様々な文書のコピーを伴う融資申込書を含むことができる。出力バージョン160によって、様々なタイプのユーザインタラクションが可能にされ得る。例として出力バージョン160は、ユーザがデジタル化文書150中の特定の検索語を検索し、特定できるようにする。特定の検索語の出現は、検索語がタイピングされたテキスト入力152として出現するかまたは手書きテキスト入力154として出現するかに関わらず、デジタル化文書150全体で強調表示されて、出力バージョン160の中に表示されることが可能である。そのうえ、さらにRPAなどの自動化を可能にすることができる、分類のためのエンティティ/リレーションシップの抽出またはナレッジグラフなどのデータ構造の構築など、他の文書処理機能も促進される。
【0031】
手書きテキスト処理システム100は、文書プロセッサ102と、文字認識器104と、筆記分析器106と、データ抽出器108と、出力インターフェース生成器110とを含む。デジタル化文書150は最初に、文書プロセッサ102によって分析され、タイピングされたテキスト入力152か、手書きテキスト入力154か、またはタイピングされたテキスト入力152と手書きテキスト入力154との組み合わせかのうちの1つをデジタル化文書150が含むかどうかが判断される。デジタル化文書150がタイピングされたテキスト入力152のみを含むと文書プロセッサ102が判断すれば、デジタル化文書150は、光学式文字認識(OCR:optical character recognition)などのML手法を用いて個別の単語を特定し、その一方でデジタル化文書150の中での個別の単語の位置も判断する、文字認識器104に送信される。
【0032】
デジタル化文書150がタイピングされたテキスト入力152と手書きテキスト入力154との組み合わせを含むと文書プロセッサ102が判断すれば、デジタル化文書150は、タイピングされたテキスト入力152の中の単語172およびそれらの位置、すなわち単語の位置174を処理して出力する文字認識器104と、手書きテキスト入力154中の単語および単語の位置を処理して出力することができる筆記分析器106との両方によって処理可能である。一例において、単語172および単語の位置174は、手書きテキスト処理システム100に結合されているデータストア170に保存できる。一方、デジタル化文書150が手書きテキスト入力154のみを含むと文書プロセッサ102が判断すれば、デジタル化文書150は、筆記分析器106によって処理されて、手書きテキスト入力154の中の個別の単語(すなわち単語172)と、デジタル化文書150中のそれぞれの単語の位置(すなわち単語の位置174)とが特定される。
【0033】
このようにデジタル化文書から抽出された単語172は、エンティティ、エンティティ間のリレーションシップ、エンティティの分類などを特定するなどのデータ処理タスクのために、データ抽出器108によってさらに処理される。一例において、データ抽出器108は、ドメイン固有情報抽出(IE)モデルを備えたライブラリにアクセスして、ドメイン固有エンティティを特定し、抽出することができる。限定ではなく例示として、メタマップなどの医療固有モデルライブラリを含むことができるIEモデルライブラリ120からの訓練済みのIEモデルを使用して、例えば医療専門用語、診断コード、症状などの医療関連エンティティを、デジタル化文書150から抽出できる。さらに、エンティティを特定のカテゴリに分類するために、固有表現認識(NER:named entity recognition)モデルもIEモデルライブラリ120に含めることが可能である。例として、名前、日付、場所などのデータを特定するために、訓練済みの分類器などのNERモデルが用いられることが可能である。エンティティおよびエンティティリレーションシップなどを含む抽出されたデータを使用して、ナレッジグラフを構築し、例えばRPAなどの手法による、例えばEMRまたは融資申込書などの文書の自動処理などの下流プロセスを可能にすることができる。
【0034】
単語172、単語の位置174、エンティティ、エンティティリレーションシップ、およびそこから構築され得るナレッジグラフなどの任意のさらなるデータ構造を含む、デジタル化文書150から得られたデータは、ユーザデバイス190に提供されるデジタル化文書150の所望の出力バージョンを生成するために出力インターフェース生成器110がアクセスできるようにされる。一例において、出力バージョン160は、デジタル化文書150のページに対応する基礎画像を含むように生成できる。基礎画像は、外観および内容の点で、対応するページと実質的に同様とすること、または同一とさえすることもできる。さらに出力インターフェース生成器110は、基礎画像上に重ねられた透明フォントのテキストの表示を提供し、各基礎画像上に重ねられた透明テキストは、その基礎画像に対応するページからの単語を含み、単語は当該ページ上での単語の個々の配置と一致する配置に位置づけられる。重ねられたテキストは透明フォントであるため、ユーザには見えないが、出力バージョン160を使用して、本願明細書にさらに記載されている様々な文書処理機能を実行できる。例として、デジタル化文書150の中で特定すべき検索語が受信されると、透明テキストが検索され、透明テキスト中の検索語が含まれる位置が強調表示される。重ねられたテキストは透明であるため、出力バージョン160は、例えば基礎画像の手書きテキストなどの単語を強調表示しているように見える表示をユーザデバイス190上に提供する。ほかの場合には、ユーザデバイス190は、手書きテキスト処理システム100を実行しているコンピュータシステムとは異なってもよく、さらに手書きテキスト処理システム100を実行するコンピュータシステムにネットワークを介して接続されていてもよく、または出力バージョン160は、手書きテキスト処理システム100を実行しているのと同じコンピュータシステム上で表示されてもよい。
【0035】
図2は、本願明細書において開示されている例による文書プロセッサ102のブロック図を示す。文書プロセッサ102は、画像生成器202と、2値化プロセッサ204と、セグメンテーションプロセッサ206と、特徴プロセッサ208と、閾値分析器210とを含む。デジタル化文書150が最初に受信されると、画像生成器202は、デジタル化文書150の画像252を生成し、各画像は、デジタル化文書150のページに対応する。したがって、デジタル化文書150が「n」ページ(nは自然数であり、n=1,2,…)を含む場合、デジタル化文書150の或るページにそれぞれが対応し且つそのページと同じサイズを有する「n」個の画像が、画像生成器202によって生成される。
【0036】
このように生成された画像252は、スキャンされた文書(または画像252)を2値化画像にする手法を使用する2値化プロセッサ204によってアクセスされ、この手法では、画素が単語の内部形状の中にない場合は0、または画素が単語の内部形状の中にある場合は1として、各画素の位置が表現される。したがって、2値化プロセッサ204は、画像生成器202から得られる「n」個の画像に対応する「n」個の2値画像を生成する。2値化プロセッサ204は、黒い背景上でそれぞれの2値画像からそれぞれの単語の輪郭線の形状を捕捉することを可能にする。セグメンテーションプロセッサ206は、単語を含む2値画像の中での単語の配置を示す特定の座標を単語に割り当てるように構成されている。セグメンテーションプロセッサ206は、DOCUMENT_TEXT_ANNOTATIONなどのメソッド/関数の戻り値を用いて、2値化画像の中の各単語の幅および高さとともにx,y座標を保存することができる。セグメンテーションプロセッサ206はさらに、「2値画像パッチ」として保存されるように、座標および高さ、幅の属性に基づき各単語をクロップする。2値化画像中の単語は、対応する2値画像パッチ256に変換される。一例において、それぞれの2値画像パッチの面積は、少数の画素をカバーしてもよい。
【0037】
特徴プロセッサ208は、各2値画像パッチを対応する数値のベクトルによって表現できるように、特徴を抽出するために2値画像パッチ256にアクセスする。そのような数値表現(すなわちベクトル)を得ることで、ML手法を使用して単語を分類することが可能になる。人間が読める2Dフォーマットの画像は、特徴プロセッサ208によって、コンピュータシステムにより解釈可能なプロパティ(例えば矩形の面積、包の周長、3次Huモーメントなど)のリストにされる。閾値分析器210は、特徴プロセッサ208からのプロパティにアクセスして、それぞれの2値画像パッチ256がタイピングされたテキストまたは手書きテキストを含むかどうかを、プロパティ(例えばHuモーメント)と所定の閾値との比較に基づき判断する。上述したように、2値パッチは、タイピングされたテキストを含むと判断されれば、処理のために文字認識器104に提供され、手書きテキストを含むと判断されれば、処理のために筆記分析器106に提供される。
【0038】
図3は、本願明細書において開示されている例による筆記分析器106のブロック図を示す。筆記分析器106は、単語認識器302と、字セグメンテーション器304と、字特定器306と、出力検証器308とを含む。上述のように、デジタル化文書150のページに対応するそれぞれの画像252中のテキストは、2値画像パッチ256にセグメンテーションされ、そのそれぞれが、テキストの単語を含むものとして単語認識器302により特定可能であり、それによって単語の集合がデジタル化文書150から生成される。字セグメンテーション器304は、字の主要部の垂直方向の変化をたどったパターンに基づく輪郭を使用して、個別の単語から個別の字をセグメンテーションする。字特定器306は、字を特定するために使用可能な、それぞれに対して最高の信頼値を提供する訓練済みの畳み込みニューラルネットワーク(CNN)を含む。CNNは、例えば数字、アルファベットなど異なる範囲にわたって考えられる最良の候補を特定するように訓練できる。出力検証器308は、精度を向上させるために、カスタムモデルを用いて、期待される応答に照らして手書きの2値画像パッチからの筆記体出力を検証することができる。例として、顧客分類器を、都市を特定するように訓練することができ、その結果、顧客分類器を使用して、2値画像パッチから都市に関する情報を抽出してもよい。同様に、カスタムモデルを用いて州、国、郵便番号などを特定し、検証することができる。
【0039】
図4は、本願明細書において開示されている例による出力インターフェース生成器110のブロック図を示す。出力インターフェース生成器110は、基礎表示生成器402と、透明テキスト生成器404と、出力インターフェース作成器406とを含む。デジタル化文書150の出力バージョン160は、デジタル化文書150と実質的に同様であるか、または同一でさえある内容を含む。より具体的には、出力バージョン160は、基礎表示生成器402によって基礎画像として設定されるデジタル化文書150のページに対応する画像252と、透明テキスト生成器404によって透明フォントで生成されるデジタル化文書150のそれぞれのページからのテキストとを含む。出力インターフェース作成器406は、各ページの透明フォントのテキストを、当該ページに対応する基礎画像に重ねる。重ねられたテキストは、ページ上での単語の個々の配置に対応する位置または配置で対応する基礎画像上に重ねられた、デジタル化文書150のそれぞれのページからの単語を含む。出力バージョン160は、手書きテキスト処理システム100によって入力として受信されるデジタル化文書150を用いてもできないであろう種々のユーザインタラクションを可能にする。例として、ユーザは、出力バージョン160の中で特定の検索語の出現を検索し、特定してもよい。出力バージョン160は、その中の検索語の位置が強調表示された、デジタル化文書150の表示を提供する。一例において、ユーザは、出力バージョン160をスクロールして、デジタル化文書150の中での検索語の様々な出現を閲覧することができる。あるいは出力バージョン160は、デジタル化文書150中の検索語が含まれる位置にユーザがジャンプできるようにすることができる。このようなユーザインタラクションが、透明テキストをデジタル化文書150の画像の上に重ねることによって可能にされる。
【0040】
選択されたページの表示を、検索語を強調表示した状態でユーザに提供するために、基礎表示生成器402は、画像252から選択され、選択されたページに対応する基礎画像452を作成する。透明テキスト生成器404は、文字認識器104、および筆記分析器106のうちの1つ以上によって特定された単語に基づきテキスト458を生成する。テキスト458は、基礎画像452が生成されたもととなった、選択されたページに含まれるテキスト456と、内容、サイズ、および配置の点で同一である。出力インターフェース作成器406は、選択されたページ中の単語の位置と一致する位置でテキスト454からの各単語が基礎画像452上に重ねられるように、基礎画像452とテキスト454とを組み合わせるように構成される。一例において、出力インターフェース作成器406は、テキスト454からの単語が基礎画像452からの単語の上に表示されるように、ハイパーテキストマークアップ言語(HTML:Hypertext Markup Language)を使用して、基礎画像452とテキスト454とを対応する位置で組み合わせることができる。さらに出力インターフェース作成器406は、テキスト454の赤、緑青、アルファ透明度(RGBa:Red,Green Blue,alphaTransparency)フォントプロパティを設定するように構成されている。一例において、テキスト454が透明になり、ユーザに見えないままとなるように、RGBa値をR=0、B=0、G=0、a=0.01に設定できる。
【0041】
図5は、本願明細書において開示されている例による、デジタル化文書150中の入力の性質を判断する方法を詳述するフローチャート500を示す。本方法は、デジタル化文書150が受信される502にて開始する。デジタル化文書150は、電子メールにより受信されること、アップロードにより受信されること、または手書きテキスト処理システム100により或るネットワーク位置から自動的にアクセスされることが可能である。504にて、デジタル化文書150の1つ以上の画像が生成され、各画像は、デジタル化文書150のページに対応し、デジタル化文書150のページと同じサイズを保持する。それぞれの画像は、506にて2値化され、デジタル化文書150のページの2値画像254または白黒画像が生成される。2値画像254は、508にてセグメンテーションされ、各2値画像パッチがデジタル化文書150からのテキストの単語を含むように2値画像パッチ256が生成される。510にて、例えば凸包、最小矩形などの種々の特徴が、それぞれの2値画像パッチ256から抽出される。凸包は、所与の2値画像パッチ中の単語を囲む最小の凸多角形として説明できる。凸包を得るために、次に限定はされないが、グラハムのスキャンまたはジャービスの行進などの種々の手法を使用できる。2値画像パッチ中の単語を囲むことができる最小矩形は、例えば回転キャリパー法などの手法を使用して得ることができる。512にて、凸包のHuモーメントなどの数値を、それぞれの2値画像パッチ256について、対応する特徴から計算できる。512にて得られた数値は、514にて1つ以上の所定の数値と比較される。514での比較に基づき、516にて、2値画像パッチがタイピングされたテキスト入力152または手書きテキスト入力154を含むと判断され得る。数値、すなわち凸包および最小矩形のHuモーメントがタイピングされたテキスト入力についての所定の数値により近ければ、2値画像パッチは、タイピングされたテキストを含むと判断されて、518にてさらなる処理のために文字認識器104に転送される。凸包および最小矩形のHuモーメントが手書きの例についての所定の数値により近いか、または類似していれば、2値画像パッチは、手書きテキストを含むと判断されて、520にてさらなる処理のために筆記分析器106に転送される。上述した例に従って、522にて出力バージョン160が生成される。
【0042】
図6は、本願明細書において開示されている例による、画像を2値化する方法を詳述するフローチャート600を示す。本方法は、602にて、それぞれの画像252を所定の倍数でキュービックアップサンプリングすることにより開始する。一例において、それぞれの2値画像254は、デジタル化文書150から得られた画像252の忠実度よりも高い人工的な忠実度で画像信号を処理できるように、2倍のキュービックアップサンプリングのために処理され、それぞれの2値画像254の幅および高さの両方が増大する。604にて、画像252は、以下の式を使用して元のRGB画像のグレースケール(「z」)に変換される。
【0043】
x,y=0.299*rx,y+0.114*bx,y+0.587*gx,y∀{x,y}εIr,g,b-式(1)
【0044】
画像252中の線および角は3色の組み合わせであることが多いため、グレースケール画像変換により、キャニーオペレータおよびモルフォロジークロージングオペレータが単一チャンネル信号(すなわちグレー)を処理して線および角を判断できるようにすることが可能になる。
【0045】
606にて、3×3のカーネルを使用してグレースケール画像にガウシアンぼかしが適用される。ガウシアンぼかしの目的は、画像252に対してローパスフィルタとして機能して、デジタル化文書150が制作される印刷プロセスまたはスキャンプロセスの間にもたらされた可能性のあるアーチファクトのノイズ除去を行うことである。608にて、キャニーエッジ検出手法が使用され、作成されたぼかし後の2値物体のエッジが発見される。すべてのエッジ(すなわち黒いインクと白い紙との間の境界)を特定でき、エッジから単語の輪郭線を得ることができる。これが、単語を手書きの単語またはタイピングされた単語に分類するために使用される。610にて、「モルフォロジークロージング」オペレータの複数の反復により、キャニーオペレータからのエッジから隙間のない連結された単語ブロブを作成することが可能となる。このように生成された穴のない複数のブロブから、大きなブロブを612にて「単語」として特定できる。次に614にて、係数値(1,0)による双線形補間などの手法を使用して画像がダウンサンプリングされる。ダウンサンプリングは、例えばセグメンテーション、特徴量化などの残りの処理を元のサイズの画像に対して実行できるように、602での画像のアップサンプリングを元に戻す。
【0046】
図7は、本願明細書において開示されている例による、2値画像254を2値画像パッチ256にセグメンテーションする方法を詳述するフローチャート700を示す。本方法は702にて開始し、2値画像の中での単語の位置座標(または配置座標(x,y))が特定される。704にて、単語の高さ(h)および幅(w)も特定される。一例において、DOCUMENT_TEXT_ANNOTATIONなどの関数からの戻り値を使用して、デジタル化文書150から得られた2値画像254中のそれぞれの単語の配置座標および高さ/幅を判断することができる。706にて、各単語に、数画素単位の寸法とされ得る高さおよび幅の「2値画像パッチ」が割り当てられる。対応する2値画像パッチを生成するためにデジタル化文書150からクロップされる個別の単語の画素は、ページ(または2値画像)上の単語の境界または内部を示す2値画像パッチ中の白い画素を含むことができ、その一方で、黒い画素は2値画像上の単語の外部を示す。
【0047】
図8は、本願明細書において開示されている例による、2値画像パッチから特徴を抽出する方法を詳述するフローチャート800を示す。それぞれの2値画像パッチは、単語の処理にML手法を使用できるようにベクトル化される。802にて、2値画像パッチ256の1つが選択される。804にて、2値画像パッチに存在するすべてのブロブの輪郭が特定される。最大の輪郭が806にて選択され、その一方で、残りの輪郭はさらなる処理から破棄される。2値化処理の間に適用されるガウシアンぼかしは、一般的に、同じ単語からの字は同じブロブに組み合わせるが、各ブロブが別個で独立したままとなるように、異なる単語からの字は組み合わせない。存在する最大のブロブが、基礎の単語を表現することができる。808にて、単語の最大の輪郭について凸包および最小矩形が計算される。810にて、処理すべき2値画像パッチがまだ残っているかどうかが判断される。810にて、処理すべき2値画像がまだ残っていると判断された場合、本方法は802に戻って次の2値画像パッチが選択され、そうでない場合、本方法は終了ブロックで終わる。当然のことながら、特徴抽出のための2値画像パッチの処理が逐次処理として記載されているのは説明のみを目的としたものであり、特徴抽出のために2つ以上の2値画像パッチを同時に、または並行して処理できる。
【0048】
図9Aは、本願明細書において開示されている例による、セグメンテーションされた単語の形状900を示す。左側(LHS:left-hand side)902は、筆記入力を含む、2値画像パッチまたはセグメンテーションされた単語形状から検出されたエッジを示す。右側(RHS:right-hand side)は、タイプ入力された入力を備えた2値画像パッチを含む。デジタル化文書からの画像252をアップサンプリングすると、LHS902の単語の境界は、不揃いでギザギザであり、線分の長さが不規則であり、面積に対する周長の比率が大きく、その一方で、RHS904の単語の境界は、より滑らかであることがわかる。より滑らかな単語の境界は、一般的に、機械で生成された、印刷された、またはタイプ入力された入力の特質である。抽出される特徴は、文書プロセッサ102がタイピングされたテキスト入力152と手書きテキスト入力154とを区別することを可能にするそうした特質に基づく。
【0049】
図9Bは、本願明細書において開示されている例による、単語サンプル950から得られた凸包および最小矩形を示す。最小矩形952および凸包954が計算されて、単語サンプル950中の、人間が読める2Dの筆記体形状の単語「sputum」が、コンピュータによる解釈が可能なプロパティのリストに変換される。例示のプロパティとしては、矩形の面積、包の周長、3次Huモーメントなどを挙げることができるが、これらに限定はされない。タイプ入力されたサンプルおよび手書きのサンプルの例示のプロパティの対応する値と比較された場合の、単語サンプル950の例示のプロパティの値。凸包および最小矩形のHuモーメントが手書きの値により類似している場合、正値が加算される。凸包および最小矩形のHuモーメントが、タイピングされた単語サンプルであることをより強く示す場合、全体の計算値から値を減算できる。これらの2つの値の組み合わせが正であれば、その単語を手書きに分類できる。これらの2つの値の組み合わせが負であれば、その単語をタイピングされたテキスト入力に分類できる。
【0050】
図10は、入力デジタル化文書1002の対応する部分から生成された出力UI1004などの、出力バージョン160の例の一部を示す。出力UI1004は、タイプ入力されたテキスト入力1052および手書きテキスト入力1054を含むデータ入力を備えた受信された入力デジタル化文書1002の基礎画像1008を表示する。一方、手書きテキスト処理システム100は、入力デジタル化文書1002から得られるテキストを抽出、選択、分類、またはその他処理できるように、追加のテキスト処理機能を可能にする。さらに手書きテキスト処理システム100は、入力デジタル化文書1002に含まれているかもしれない任意の画像に対するテキスト処理機能を可能にしてもよく、これには、文書のヘッダ、フッタ、スタンプなどに含まれ得る、例えばロゴ名、ブランド名、スローガンなどのテキストが含まれてもよい。より具体的には、出力UI1004は、手書きテキスト処理システム100によって可能にされたテキスト選択の機能を示す。選択1006は、例として、ユーザが送った検索語などに基づき、出力UI1004の部分にある手書きテキスト1054の単語「cold」を含むことができる。出力UI1004は、入力デジタル化文書1002の単語「cold」を含む部分の基礎画像を含み、その一方で、選択1006は、基礎画像に重ねられユーザには見えない透明フォントを含み、したがって、ユーザには基礎にある実際の手書きテキスト1054が選択されているかのように見える表示を提供する。一例において、選択1006の面積を対応するサイズにできるように、手書き入力に被せるフォントサイズは、セグメンテーションプロセッサ206によって決定された対応する単語/2値化画像パッチのサイズ(高さおよび幅)に基づいて設定されてもよい。したがって、強調表示された部分(例えば選択1006)は、基礎画像1008の選択対象の単語をカバーするようなサイズにでき、選択対象の単語は、検索語がタイピングされたテキスト入力の中で出現するか、または手書きテキスト入力の中で出現するかに関わらず、検索語「cold」に対応する。したがって、手書きテキスト処理システム100は、入力文書を表示する出力UI1004を提供し、その一方で、かかる出力UI表示に対するテキスト処理機能を可能にするように構成される。
【0051】
図11は、手書きテキスト処理システム100を実装するために使用され得るコンピュータシステム1100を示す。より具体的には、手書きテキスト処理システム100からデータを生成するために、または手書きテキスト処理システム100のデータにアクセスするために使用され得るデスクトップ、ラップトップ、スマートフォン、タブレット、およびウェアラブルなどのコンピューティングマシンは、コンピュータシステム1100の構造を有してもよい。コンピュータシステム1100は、図示されていない追加のコンポーネントを含んでもよく、記載されている処理コンポーネントの一部は、除去および/または変更されてもよい。別の例において、コンピュータシステム1100は、Amazon Web Services、AZURE(登録商標)クラウド、もしくは組織内のコーポレートクラウドコンピューティングクラスタなどの外部クラウドプラットフォーム、または組織のコンピューティングリソースなどに存在することができる。
【0052】
コンピュータシステム1100は、中央処理ユニット、ASIC、または別のタイプの処理回路などのプロセッサ(単数または複数)1102と、例えばディスプレイ、マウスキーボードなどの入出力デバイス1112と、ローカルエリアネットワーク(LAN:Local Area Network)、ワイヤレス802.11x LAN、3G、4G、もしくは5GモバイルWAN、またはWiMax WANなどのネットワークインターフェース1104と、プロセッサ可読媒体1106とを含む。これらのコンポーネントはそれぞれ、動作可能なようにバス1108に結合されているとよい。コンピュータ可読媒体1106は、実行のために命令をプロセッサ(単数または複数)1102に提供することに関与する任意の適切な媒体とすればよい。例として、プロセッサ可読媒体1106は、磁気ディスクまたはソリッドステート不揮発性メモリなど、一時的でない、もしくは不揮発性の媒体、またはRAMなどの揮発性媒体としてもよい。プロセッサ可読媒体1106上に保存される命令またはモジュールは、プロセッサ(単数または複数)1102によって実行されプロセッサ(単数または複数)1102に方法および手書きテキスト処理システム100の機能を実行させる、機械可読命令1164を含んでもよい。
【0053】
手書きテキスト処理システム100は、一時的でないプロセッサ可読媒体上に保存されて1つ以上のプロセッサ1102により実行されるソフトウェアとして実装されてもよい。例として、プロセッサ可読媒体1106は、MAC OS、MS WINDOWS、UNIX、またはLINUXなどのオペレーティングシステム1162、および手書きテキスト処理システム100のコード1164を保存してもよい。オペレーティングシステム1162は、マルチユーザ、マルチプロセッシング、マルチタスキング、マルチスレッディング、リアルタイムなどとされ得る。例として、ランタイム中、オペレーティングシステム1162が動作し、手書きテキスト処理システム100のコードがプロセッサ(単数または複数)1102により実行される。
【0054】
コンピュータシステム1100は、不揮発性データストレージを含むこともあるデータストレージ1110を含んでもよい。データストレージ1110は、手書きテキスト処理システム100によって使用される任意のデータを保存する。データストレージ1110は、デジタル化文書、デジタル化文書から生成された画像、2値化画像パッチ、2値化画像パッチから抽出された特徴などと、手書きテキスト処理システム100により動作中に使用または生成される他のデータとを保存するために使用されてもよい。
【0055】
ネットワークインターフェース1104は、例えばLANを介して、コンピュータシステム1100を内部システムに接続する。さらに、ネットワークインターフェース1104は、コンピュータシステム1100をインターネットに接続してもよい。例として、コンピュータシステム1100は、ネットワークインターフェース1104を介してウェブブラウザならびにその他外部アプリケーションおよびシステムに接続してもよい。
【0056】
一例とともにその変形の一部が本願明細書に記載され示された。本願明細書で使用された用語、説明、および図面は、例示としてのみ示されたものであり、限定としては意図されてはいない。添付の特許請求の範囲およびその等価物により定義されるよう意図される主題の意図および範囲内で、多数の変形が可能である。
図1
図2
図3
図4
図5
図6
図7
図8
図9A
図9B
図10
図11