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

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

▶ エヌフェレンス,インコーポレイテッドの特許一覧

特表2022-541199データテーブルの画像表現に基づいて構造化されたデータベースにデータ挿入するためのシステムおよび方法。
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-09-22
(54)【発明の名称】データテーブルの画像表現に基づいて構造化されたデータベースにデータ挿入するためのシステムおよび方法。
(51)【国際特許分類】
   G06F 16/22 20190101AFI20220914BHJP
【FI】
G06F16/22
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022502444
(86)(22)【出願日】2020-07-16
(85)【翻訳文提出日】2022-03-11
(86)【国際出願番号】 US2020042336
(87)【国際公開番号】W WO2021011776
(87)【国際公開日】2021-01-21
(31)【優先権主張番号】62/874,830
(32)【優先日】2019-07-16
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】519102141
【氏名又は名称】エヌフェレンス,インコーポレイテッド
【氏名又は名称原語表記】NFERENCE,INC
(74)【代理人】
【識別番号】110000659
【氏名又は名称】弁理士法人広江アソシエイツ特許事務所
(72)【発明者】
【氏名】プラサド,アシム
(72)【発明者】
【氏名】バブ,メルウィン
(72)【発明者】
【氏名】サハ,ディバカラ
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175CA07
(57)【要約】
構造データベースにデータ挿入するためのシステムおよび方法であって、行および列に配置された1つ以上のセルを含むデータテーブルの画像表現にアクセスすることと、画像表現をニューラルネットワークモデルへの入力として提供することと、ニューラルネットワークモデルを実行して、画像表現内の第1のコンテンツオブジェクトの場所を識別することと、第1のコンテンツオブジェクトの場所に基づいて、第1のセルの場所を識別することと、複数のコンテンツオブジェクトと関連して第1のセルおよび第1のコンテンツオブジェクトの場所に基づいて、第1のセルが第1の行および第1の列に属すると判定することと、第1のコンテンツオブジェクトを1つ以上の分類識別子と関連付けることと、構造化されたデータベースに第1のコンテンツオブジェクトおよび1つ以上の分類識別子をデータ挿入することと、を含む、システムおよび方法。
【選択図】図3
【特許請求の範囲】
【請求項1】
方法であって、
1つ以上のコンピュータプロセッサによって、データテーブルの画像表現にアクセスすることであって、前記データテーブルが、1つ以上の行および1つ以上の列に配置された1つ以上のセルを含み、前記1つ以上のセルが、少なくとも1つの第1の行および少なくとも1つの第1の列に属する第1のセルを含み、前記第1のセルには、第1のコンテンツオブジェクトが挿入されている、アクセスすることと、
前記1つ以上のコンピュータプロセッサによって、前記画像表現を、画像表現内のコンテンツオブジェクトの場所を識別するように訓練されているニューラルネットワークモデルへの入力として提供することと、
前記1つ以上のコンピュータプロセッサによって、前記ニューラルネットワークモデルを実行して、前記画像表現内の前記第1のコンテンツオブジェクトの場所を識別することと、
前記1つ以上のコンピュータプロセッサによって、前記第1のコンテンツオブジェクトの前記場所に基づいて、前記第1のセルの場所を識別することと、
前記1つ以上のコンピュータプロセッサによって、前記第1のセルの前記場所、および前記1つ以上の行および前記1つ以上の列と関連付けられた複数のコンテンツオブジェクトとの関連での前記第1のコンテンツオブジェクトのうちの1つ以上に基づいて、前記第1のセルが前記少なくとも1つの第1の行および前記第1の列に属すると判定することと、
前記1つ以上のコンピュータプロセッサによって、前記第1のコンテンツオブジェクトを1つ以上の分類識別子と関連付けることと、
前記1つ以上のコンピュータプロセッサによって、前記第1のセルが、前記少なくとも1つの第1の行および前記少なくとも1つの第1の列に属すると判定することに基づいて、前記第1のコンテンツオブジェクトおよび前記1つ以上の分類識別子と関連付けられた情報を構造化されたデータベースにデータ挿入することであって、前記構造化されたデータベースが、前記少なくとも1つの第1の行と関連付けられた少なくとも1つのデータテーブル行、および前記少なくとも1つの第1の列と関連付けられた少なくとも1つのデータテーブル列を含む、データ挿入することと、を含む、方法。
【請求項2】
前記第1のセルが、前記少なくとも1つの第1の行および前記少なくとも1つの第1の列に属さないと判定することに基づいて、前記構造化されたデータベース内の少なくとも1つの第2の列および少なくとも1つの第2の行のうちの1つを作成すること、をさらに含む、請求項1に記載の方法。
【請求項3】
前記画像表現にアクセスすることが、
前記1つ以上のコンピュータプロセッサによって、コンピュータネットワークを介してデジタルドキュメントを受信することであって、前記デジタルドキュメントが、前記データテーブルを含む、受信することと、
前記1つ以上のコンピュータプロセッサによって、前記デジタルドキュメントをデジタル画像としてレンダリングすることと、
前記1つ以上のコンピュータプロセッサによって、前記レンダリングされたデジタル画像内の前記データテーブルの前記画像表現を位置特定することと、を含む、請求項1に記載の方法。
【請求項4】
前記第1のコンテンツオブジェクトの前記場所が、前記第1のコンテンツオブジェクトの少なくとも一部分に対応する第1の領域を含み、
前記第1のコンテンツオブジェクトの前記場所に基づいて、前記第1のセルの前記場所を識別することが、
前記第1の領域を少なくとも1つの方向に拡張することと、
前記拡張された第1の領域が、行の境界および列の境界のうちの1つ以上をマークするグラフィカルマーカを含むと判定することと、
前記拡張された第1の領域が前記グラフィカルマーカを含むと判定することに応答して、前記拡張された第1の領域を、前記第1のセルの前記場所に対応するとして識別することと、を含む、請求項1に記載の方法。
【請求項5】
前記拡張された第1の領域が前記グラフィカルマーカを含むと判定することが、
前記拡張された第1の領域の縁に対応する複数の画素位置を識別することと、
前記複数の画素位置内の各画素位置について、前記画素位置が、第1の所定の閾値を超える前記少なくとも1つの拡張方向に沿った色および強度のうちの1つ以上の変化と関連するか否かを判定することと、
色または強度の前記変化と関連する前記複数の画素位置のカウントが、第2の所定の閾値を超えると判定することと、
前記複数の画素位置の前記数が前記第2の所定の閾値を超えると判定することに応答して、前記拡張された第1の領域が前記グラフィカルマーカを含むと判定することと、を含む、請求項3に記載の方法。
【請求項6】
前記第1のセルの前記場所が、行軸に沿った行スパンおよび列軸に沿った列スパンを含み、
前記第1のセルの前記場所に基づいて、前記第1のセルが前記少なくとも1つの第1の行および前記少なくとも1つの第1の列に属すると判定することが、
前記複数のセルの複数の場所に基づいて、前記データテーブル内の前記1つ以上のセルの少なくともサブセットをソートすることと、
前記1つ以上のセルの前記サブセットのうちの選択されたセルから開始し、前記第1の行に属する1つ以上の第2のセルを識別するための動作を再帰的に実施することと、を含み、前記動作が、
前記選択されたセルの行スパンと重なる行スパンを有する少なくとも1つの他のセルを判定することと、
前記少なくとも1つの他のセルのうちの前記選択されたセルに最も近いセルを識別することと、
前記最も近いセルを、前記少なくとも1つの第1の行に属するものとして識別することと、
前記最も近いセルを次の選択されたセルとして選択することと、
ヘッダ行の1つ以上のヘッダセルにデータ挿入されている1つ以上のヘッダコンテンツオブジェクトに基づいて、前記データテーブルの前記1つ以上の行のうちの前記ヘッダ行を識別することと、
前記第1のセルの前記列スパンが、前記1つ以上のヘッダセルのうちの第1のヘッダセルの列スパンと重なると判定することと、
前記第1のセルを前記第1の列に属するものとして識別することであって、前記第1の列が、前記第1のヘッダセルと関連付けられている、識別することと、を含む、請求項1に記載の方法。
【請求項7】
前記データテーブルの前記1つ以上の行の中から前記ヘッダ行を識別することが、
前記1つ以上のヘッダコンテンツオブジェクトに対応する1つ以上のテキスト表現を生成することと、
1つ以上のテキスト表現の各々をヘッダ辞書に照会することであって、前記1つ以上のテキスト表現に対応する1つ以上の信頼スコアを含むスコアベクトルをもたらし、各信頼スコアが、前記照会の強度に基づく、照会することと、
前記スコアベクトルに基づいて行スコアを決定することと、
前記行スコアに基づいて前記ヘッダ行を選択することと、を含む、請求項5に記載の方法。
【請求項8】
前記スコアベクトルに基づいて行スコアを判定することが、前記スコアベクトルおよび前記1つ以上の信頼スコアのうちの1つ以上に基づいて、集計メトリックを計算することを含む、請求項6に記載の方法。
【請求項9】
前記ヘッダ行を選択することが、
前記行スコアを、前記データテーブルの前記1つ以上の行と関連付けられた少なくとも1つの二次行スコアと比較することと、
前記行スコアおよび前記少なくとも1つの二次行スコアの相対値に基づいて、前記ヘッダ行を選択することと、を含む、請求項6に記載の方法。
【請求項10】
前記1つ以上のコンピュータプロセッサによって、前記ヘッダ行の一部となるのに適格ではない、除外されたヘッダコンテンツオブジェクトのリストを取得することと、
前記1つ以上のコンピュータプロセッサによって、前記ヘッダ行の1つ以上のヘッダセルにデータ挿入されている前記1つ以上のヘッダコンテンツオブジェクトが、前記除外されたヘッダコンテンツオブジェクトと一致するか否かを判定することと、
前記1つ以上のヘッダコンテンツオブジェクトが、除外されたヘッダコンテンツオブジェクトの前記リスト上にある場合、前記1つ以上のコンピュータプロセッサによって、前記ヘッダ行の1つ以上のヘッダセルにデータ挿入されている1つ以上のヘッダコンテンツオブジェクトに基づいて、前記データテーブルの前記1つ以上の行のうちの置換ヘッダ行を識別することと、をさらに含む、請求項5に記載の方法。
【請求項11】
前記第1のコンテンツオブジェクトが、グラフィカルシーケンスオブジェクトを含み、
前記構造化されたデータベースにデータ挿入することが、前記グラフィカルシーケンスオブジェクトからシーケンス情報を抽出することを含み、
前記第1のコンテンツオブジェクトと関連付けられた前記情報が、前記シーケンス情報を含む、請求項1に記載の方法。
【請求項12】
構造化データセットにデータ挿入するコンピューティングシステムであって、
データテンプレートシーケンスを含む、モデルベースのプロビジョニングされたデータテンプレートを記憶することができるメモリと、
前記メモリと通信するプロセッサであって、前記メモリに記憶された前記モデルベースのプロビジョニングされたデータテンプレートを読み出し、前記プロセッサに、
データテーブルの画像表現にアクセスすることであって、前記データテーブルが、1つ以上の行および1つ以上の列に配置された1つ以上のセルを含み、前記1つ以上のセルが、少なくとも1つの第1の行および少なくとも1つの第1の列に属する第1のセルを含み、前記第1のセルには、第1のコンテンツオブジェクトが挿入されている、アクセスすることと、
前記画像表現を、画像表現内のコンテンツオブジェクトの場所を識別するように訓練されているニューラルネットワークモデルへの入力として提供することと、
前記ニューラルネットワークモデルを実行して、前記画像表現内の前記第1のコンテンツオブジェクトの場所を識別することと、
前記第1のコンテンツオブジェクトの前記場所に基づいて、前記第1のセルの場所を識別することと、
前記第1のセルの前記場所、および前記1つ以上の行および前記1つ以上の列と関連付けられた複数のコンテンツオブジェクトとの関連での前記第1のコンテンツオブジェクトのうちの1つ以上に基づいて、前記第1のセルが前記少なくとも1つの第1の行および前記第1の列に属すると判定することと、
前記第1のコンテンツオブジェクトを1つ以上の分類識別子と関連付けることと、
前記第1のセルが、前記少なくとも1つの第1の行および前記少なくとも1つの第1の列に属すると判定することに基づいて、前記第1のコンテンツオブジェクトおよび前記1つ以上の分類識別子と関連付けられた情報を構造化されたデータベースにデータ挿入することであって、前記構造化されたデータベースが、前記少なくとも1つの第1の行と関連付けられた少なくとも1つのデータテーブル行、および前記少なくとも1つの第1の列と関連付けられた少なくとも1つのデータテーブル列を含む、データ挿入することと、を行わせる、プロセッサと、を備える、コンピューティングシステム。
【請求項13】
前記プロセッサが、
前記第1のセルが、前記少なくとも1つの第1の行および前記少なくとも1つの第1の列に属さないと判定することに基づいて、前記構造化されたデータベース内の少なくとも1つの第2の列および少なくとも1つの第2の行のうちの1つを作成するようにさらに構成されている、請求項12に記載のコンピューティングシステム。
【請求項14】
前記画像表現にアクセスすることが、
前記1つ以上のコンピュータプロセッサによって、コンピュータネットワークを介してデジタルドキュメントを受信することであって、前記デジタルドキュメントが、前記データテーブルを含む、受信することと、
前記1つ以上のコンピュータプロセッサによって、前記デジタルドキュメントをデジタル画像としてレンダリングすることと、
前記1つ以上のコンピュータプロセッサによって、前記レンダリングされたデジタル画像内の前記データテーブルの前記画像表現を位置特定することと、を含む、請求項12に記載のコンピューティングシステム。
【請求項15】
前記第1のコンテンツオブジェクトの前記場所が、前記第1のコンテンツオブジェクトの少なくとも一部分に対応する第1の領域を含み、
前記第1のコンテンツオブジェクトの前記場所に基づいて、前記第1のセルの前記場所を識別することが、
前記第1の領域を少なくとも1つの方向に拡張することと、
前記拡張された第1の領域が、行の境界および列の境界のうちの1つをマークするグラフィカルマーカを含むと判定することと、
前記拡張された第1の領域が前記グラフィカルマーカを含むと判定することに応答して、前記拡張された第1の領域を、前記第1のセルの前記場所に対応するとして識別することと、を含む、請求項12に記載のコンピューティングシステム。
【請求項16】
前記拡張された第1の領域が前記グラフィカルマーカを含むと判定することが、
前記拡張された第1の領域の縁に対応する複数の画素位置を識別することと、
前記複数の画素位置内の各画素位置について、前記画素位置が、第1の所定の閾値を超える前記少なくとも1つの拡張方向に沿った色および強度のうちの1つ以上の変化と関連付けられているか否かを判定することと、
色または強度の前記変化と関連付けられている前記複数の画素位置のカウントが、第2の所定の閾値を超えると判定することと、
前記複数の画素位置の数が前記第2の所定の閾値を超えると判定することに応答して、前記拡張された第1の領域が前記グラフィカルマーカを含むと判定することと、を含む、請求項15に記載のコンピューティングシステム。
【請求項17】
前記第1のセルの前記場所が、行軸に沿った行スパンおよび列軸に沿った列スパンを含み、
前記第1のセルの前記場所に基づいて、前記第1のセルが前記少なくとも1つの第1の行および前記少なくとも1つの第1の列に属すると判定することが、
前記複数のセルの複数の場所に基づいて、前記データテーブル内の前記1つ以上のセルの少なくともサブセットをソートすることと、
前記1つ以上のセルの前記サブセットのうちの選択されたセルから開始し、前記第1の行に属する1つ以上の第2のセルを識別するための動作を再帰的に実施することであって、前記1つ以上の第2のセルが、前記第1のセルを含む、再帰的に実施することと、を含み、前記動作が、
前記選択されたセルの行スパンと重なる行スパンを有する少なくとも1つの他のセルを判定することと、
セルの前記セットのうちの前記第1のセルに最も近いセルを識別することと、
前記最も近いセルを、前記少なくとも1つの第1の行に属するものとして識別することと、
前記最も近いセルを次の選択されたセルとして選択することと、
ヘッダ行の1つ以上のヘッダセルにデータ挿入されている1つ以上のヘッダコンテンツオブジェクトに基づいて、前記データテーブルの前記1つ以上の行のうちの前記ヘッダ行を識別することと、
前記第1のセルの前記列スパンが、前記1つ以上のヘッダセルのうちの第1のヘッダセルの列スパンと重なると判定することと、
前記第1のセルを前記第1の列に属するものとして識別することであって、前記第1の列が、前記第1のヘッダセルと関連付けられている、識別することと、を含む、請求項12に記載のコンピューティングシステム。
【請求項18】
前記データテーブルの前記1つ以上の行の中から前記ヘッダ行を識別することが、
前記1つ以上のヘッダコンテンツオブジェクトに対応する1つ以上のテキスト表現を生成することと、
1つ以上のテキスト表現の各々をヘッダ辞書に照会することであって、前記1つ以上のテキスト表現に対応する1つ以上の信頼スコアを含むスコアベクトルをもたらし、各信頼スコアが、前記照会の強度に基づく、照会することと、
前記スコアベクトルに基づいて行スコアを決定することと、
前記行スコアに基づいて前記ヘッダ行を選択することと、を含む、請求項17に記載のコンピューティングシステム。
【請求項19】
前記スコアベクトルに基づいて行スコアを判定することが、前記スコアベクトルおよび前記1つ以上の信頼スコアのうちの1つ以上に基づいて、集計メトリックを計算することを含む、請求項18に記載のコンピューティングシステム。
【請求項20】
前記ヘッダ行を選択することが、
前記行スコアを、前記データテーブルの前記1つ以上の行と関連付けられた少なくとも1つの二次行スコアと比較することと、
前記行スコアおよび前記少なくとも1つの二次行スコアの相対値に基づいて、前記ヘッダ行を選択することと、を含む、請求項18に記載のコンピューティングシステム。
【請求項21】
前記1つ以上のコンピュータプロセッサによって、前記ヘッダ行の一部となるのに適格ではない、除外されたヘッダコンテンツオブジェクトのリストを取得することと、
前記1つ以上のコンピュータプロセッサによって、前記ヘッダ行の1つ以上のヘッダセルにデータ挿入されている前記1つ以上のヘッダコンテンツオブジェクトが、前記除外されたヘッダコンテンツオブジェクトと一致するか否かを判定することと、
前記1つ以上のヘッダコンテンツオブジェクトが、除外されたヘッダコンテンツオブジェクトの前記リスト上にある場合、前記1つ以上のコンピュータプロセッサによって、前記ヘッダ行の1つ以上のヘッダセルにデータ挿入されている1つ以上のヘッダコンテンツオブジェクトに基づいて、前記データテーブルの前記1つ以上の行のうちの置換ヘッダ行を識別することと、をさらに含む、請求項17に記載のコンピューティングシステム。
【請求項22】
前記第1のコンテンツオブジェクトが、グラフィカルシーケンスオブジェクトを含み、
前記構造化されたデータベースにデータ挿入することが、前記グラフィカルシーケンスオブジェクトからシーケンス情報を抽出することを含み、
前記第1のコンテンツオブジェクトと関連付けられた前記情報が、前記シーケンス情報を含む、請求項12に記載のコンピューティングシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、「Systems and Methods for Populating a Structured Database Based on an Image Representation of a Data Table」と題する、2019年7月16日出願の米国仮出願第62/874,830号に対する米国特許法第119条(e)の優先権を主張し、その内容全体が本明細書に組み込まれる。
【0002】
本出願は、概して、データベースに関するものであり、具体的には、データテーブルの画像表現に基づいて、構造化されたデータベースにデータ挿入するための技術に関する。
【背景技術】
【0003】
データベース技術は、膨大な量のデータが効率的な様式でデジタル的に保存され、アクセスされることを可能にする。例えば、多くの新興の「ビッグデータ」アプリケーションは、データベース技術の発展によって可能にされる。データベースは、データセンタ内に、および/またはクラウド内にローカルに記憶され得る。データベースはまた、複数の施設にまたがって分散され得る。
【0004】
データベースは、様々なやり方で構造化され得る。例えば、関係データベースは、データを、データの各々が行および列に配置されるテーブルセットとしてモデル化する。クエリ言語は、データベースからのデータにプログラム的にアクセスし、データベース内に記憶されたデータを操作するために使用され得る。
【0005】
しかしながら、データベースに情報をデータ挿入し、その情報を正確かつ最新の状態に保つことは、困難なタスクであり得る。したがって、データベース内の情報の大規模な収集および記憶に好適な自動化された技術を含む、データベースにデータ挿入するための改善された技術を開発することが望ましい。
【発明の概要】
【0006】
本開示の実施形態による、データテーブルの画像表現に基づいて、構造化されたデータベースにデータ挿入するためのシステムおよび方法は、1つ以上のコンピュータプロセッサによって、データテーブルの画像表現にアクセスすることであって、データテーブルが、1つ以上の行および1つ以上の列に配置された1つ以上のセルを含み、1つ以上のセルが、少なくとも1つの第1の行および少なくとも1つの第1の列に属する第1のセルを含み、第1のセルには、第1のコンテンツオブジェクトが挿入されている、アクセスすることと、1つ以上のコンピュータプロセッサによって、画像表現を、画像表現内のコンテンツオブジェクトの場所を識別するように訓練されているニューラルネットワークモデルへの入力として提供することと、1つ以上のコンピュータプロセッサによって、ニューラルネットワークモデルを実行して、画像表現内の第1のコンテンツオブジェクトの場所を識別することと、1つ以上のコンピュータプロセッサによって、第1のコンテンツオブジェクトの場所に基づいて、第1のセルの場所を識別することと、1つ以上のコンピュータプロセッサによって、
第1のセルの場所、および1つ以上の行および1つ以上の列と関連付けられた複数のコンテンツオブジェクトとの関連での第1のコンテンツオブジェクトのうちの1つ以上に基づいて、第1のセルが少なくとも1つの第1の行および第1の列に属すると判定することと、第1のコンテンツオブジェクトを1つ以上の分類識別子と関連付けることと、1つ以上のコンピュータプロセッサによって、第1のセルが、少なくとも1つの第1の行および少なくとも1つの第1の列に属すると判定することに基づいて、第1のコンテンツオブジェクトおよび1つ以上の分類識別子と関連付けられた情報を構造化されたデータベースにデータ挿入することであって、構造化されたデータベースが、少なくとも1つの第1の行と関連付けられた少なくとも1つのデータテーブル行、および少なくとも1つの第1の列と関連付けられた少なくとも1つのデータテーブル列を含む、データ挿入することと、を含む。
【0007】
いくつかの実施形態では、システムおよび方法はまた、第1のセルが、少なくとも1つの第1の行および少なくとも1つの第1の列に属さないと判定することに基づいて、構造化されたデータベース内の少なくとも1つの第2の列および少なくとも1つの第2の行のうちの1つを作成することを含み得る。いくつかの実施形態では、画像表現にアクセスすることが、1つ以上のコンピュータプロセッサによって、コンピュータネットワークを介してデジタルドキュメントを受信することであって、デジタルドキュメントが、データテーブルを含む、受信することと、1つ以上のコンピュータプロセッサによって、デジタルドキュメントをデジタル画像としてレンダリングすることと、1つ以上のコンピュータプロセッサによって、レンダリングされたデジタル画像内のデータテーブルの画像表現を位置特定することと、を含む。他の実施形態では、第1のコンテンツオブジェクトの場所が、第1のコンテンツオブジェクトの少なくとも一部分に対応する第1の領域を含み、第1のコンテンツオブジェクトの場所に基づいて、第1のセルの場所を識別することが、第1の領域を少なくとも1つの方向に拡張することと、拡張された第1の領域が、行の境界および列の境界のうちの1つ以上をマークするグラフィカルマーカを含むと判定することと、拡張された第1の領域がグラフィカルマーカを含むと判定することに応答して、拡張された第1の領域を、第1のセルの場所に対応するとして識別することと、を含む。
【0008】
いくつかの実施形態では、拡張された第1の領域がグラフィカルマーカを含むと判定することが、拡張された第1の領域の縁に対応する複数の画素位置を識別することと、複数の画素位置内の各画素位置について、画素位置が、第1の所定の閾値を超える少なくとも1つの拡張方向に沿った色および強度のうちの1つ以上の変化と関連付けられているか否かを判定することと、色または強度の変化と関連付けられている複数の画素位置のカウントが、第2の所定の閾値を超えると判定することと、複数の画素位置の数が第2の所定の閾値を超えると判定することに応答して、拡張された第1の領域がグラフィカルマーカを含むと判定することと、を含む。他の実施形態では、第1のセルの場所が、行軸に沿った行スパンおよび列軸に沿った列スパンを含み、第1のセルの場所に基づいて、第1のセルが少なくとも1つの第1の行および少なくとも1つの第1の列に属すると判定することが、複数のセルの複数の場所に基づいて、データテーブル内の1つ以上のセルの少なくともサブセットをソートすることと、1つ以上のセルのサブセットのうちの選択されたセルから開始し、第1の行に属する1つ以上の第2のセルを識別するための動作を再帰的に実施することと、を含み、動作が、選択されたセルの行スパンと重なる行スパンを有する少なくとも1つの他のセルを判定することと、少なくとも1つの他のセルのうちの選択されたセルに最も近いセルを識別することと、最も近いセルを、少なくとも1つの第1の行に属するものとして識別することと、最も近いセルを次の選択されたセルとして選択することと、ヘッダ行の1つ以上のヘッダセルにデータ挿入されている1つ以上のヘッダコンテンツオブジェクトに基づいて、データテーブルの1つ以上の行のうちのヘッダ行を識別することと、第1のセルの列スパンが、1つ以上のヘッダセルのうちの第1のヘッダセルの列スパンと重なると判定することと、第1のセルを第1の列に属するものとして識別することであって、第1の列が、第1のヘッダセルと関連付けられている、識別することと、を含む。
【0009】
いくつかの実施形態では、データテーブルの1つ以上の行の中からヘッダ行を識別することが、1つ以上のヘッダコンテンツオブジェクトに対応する1つ以上のテキスト表現を生成することと、1つ以上のテキスト表現の各々をヘッダ辞書に照会することであって、1つ以上のテキスト表現に対応する1つ以上の信頼スコアを含むスコアベクトルをもたらし、各信頼スコアが、照会の強度に基づく、照会することと、スコアベクトルに基づいて行スコアを決定することと、行スコアに基づいてヘッダ行を選択することと、を含む。他の実施形態では、スコアベクトルに基づいて行スコアを判定することが、スコアベクトルおよび1つ以上の信頼スコアのうちの1つ以上に基づいて、集計メトリックを計算することを含む。さらに他の実施形態では、ヘッダ行を選択することが、行スコアを、データテーブルの1つ以上の行と関連付けられた少なくとも1つの二次行スコアと比較することと、行スコアおよび少なくとも1つの二次行スコアの相対値に基づいて、ヘッダ行を選択することと、を含む。
【0010】
いくつかの実施形態では、システムおよび方法は、1つ以上のコンピュータプロセッサによって、ヘッダ行の一部となるのに適格ではない、除外されたヘッダコンテンツオブジェクトのリストを取得することと、1つ以上のコンピュータプロセッサによって、ヘッダ行の1つ以上のヘッダセルにデータ挿入されている1つ以上のヘッダコンテンツオブジェクトが、除外されたヘッダコンテンツオブジェクトと一致するか否かを判定することと、1つ以上のヘッダコンテンツオブジェクトが、除外されたヘッダコンテンツオブジェクトのリスト上にある場合、1つ以上のコンピュータプロセッサによって、ヘッダ行の1つ以上のヘッダセルにデータ挿入されている1つ以上のヘッダコンテンツオブジェクトに基づいて、データテーブルの1つ以上の行のうちの置換ヘッダ行を識別することと、を含む。他の実施形態では、第1のコンテンツオブジェクトが、グラフィカルシーケンスオブジェクトを含み、構造化されたデータベースにデータ挿入することが、グラフィカルシーケンスオブジェクトからシーケンス情報を抽出することを含み、第1のコンテンツオブジェクトと関連付けられた情報が、シーケンス情報を含む。
【図面の簡単な説明】
【0011】
図1】いくつかの実施形態による、データテーブルの画像表現に基づいて、構造化されたデータベースにデータ挿入するためのシステムの簡略化された図である。
図2】いくつかの実施形態による、データテーブルの簡略化された図である。
図3】いくつかの実施形態による、データテーブルの画像表現に基づいて、構造化されたデータベースにデータ挿入するための方法の簡略化された図である。
図4】いくつかの実施形態による、データテーブルの画像表現にアクセスするための方法の簡略化された図である。
図5】いくつかの実施形態による、コンテンツオブジェクトの場所に基づいて、セルの場所を識別するための方法の簡略化された図である。
図6】いくつかの実施形態による、領域がグラフィカルマーカを含むと判定するための方法の簡略化された図である。
図7】いくつかの実施形態による、セルの場所に基づいて、セルが少なくとも1つの行および少なくとも1つの列に属すると判定するための方法の簡略化された図である。
図8】いくつかの実施形態による、データテーブルの1つ以上の行の中からヘッダ行を識別するための方法の簡略化された図である。
図9A】いくつかの実施形態による、医薬品情報テーブルの簡略化された図である。
図9B】いくつかの実施形態による、医薬品情報テーブルの簡略化された図である。
図9C】いくつかの実施形態による、医薬品情報テーブルの簡略化された図である。
図9D】いくつかの実施形態による、医薬品情報テーブルの簡略化された図である。
図9E】いくつかの実施形態による、医薬品情報テーブルの簡略化された図である。
図9G】いくつかの実施形態による、医薬品情報テーブルの簡略化された図である。
図9G】いくつかの実施形態による、医薬品情報テーブルの簡略化された図である。
図10A】いくつかの実施形態による、テキストの論理グループが自動的に識別された、医薬品情報テーブルの簡略化された図である。
図10B】いくつかの実施形態による、テキストの論理グループが自動的に識別された、医薬品情報テーブルの簡略化された図である。
図10C】いくつかの実施形態による、テキストの論理グループが自動的に識別された、医薬品情報テーブルの簡略化された図である。
図10D】いくつかの実施形態による、テキストの論理グループが自動的に識別された、医薬品情報テーブルの簡略化された図である。
図11A】いくつかの実施形態による、セルが特定の行および列に属するものとして識別された医薬品情報テーブルの簡略化された図である。
図11B】いくつかの実施形態による、セルが特定の行および列に属するものとして識別された医薬品情報テーブルの簡略化された図である。
図11C】いくつかの実施形態による、セルが特定の行および列に属するものとして識別された医薬品情報テーブルの簡略化された図である。
図11D】いくつかの実施形態による、セルが特定の行および列に属するものとして識別された医薬品情報テーブルの簡略化された図である。
図11E】いくつかの実施形態による、セルが特定の行および列に属するものとして識別された医薬品情報テーブルの簡略化された図である。
図11F】いくつかの実施形態による、セルが特定の行および列に属するものとして識別された医薬品情報テーブルの簡略化された図である。
【0012】
開示された主題の種々の目的、特徴および利点は、同様の参照符号が同様の要素を特定する以下の図面に関連して考慮された場合に、開示された主題の以下の詳細な説明を参照しながらより完全に明らかにされ得る。
【発明を実施するための形態】
【0013】
表の様々な形式および構造を理由に、表のデータから情報を抽出することは、困難なタスクである可能性がある。データテーブルの行および列は、幅、高さ、および間隔を変更することを有し得る。データテーブルは、隣接する行または列間の境界を識別するための行または列マーカを有してもよく、または有していなくてもよい。いくつかのデータテーブルは、結合されたセルを含む。さらに、データテーブルは、複雑な背景またはセル変色スキームを含み得る。
【0014】
例えば、バイオ医薬品会社は、医薬品パイプライン情報を含むウェブページまたはダウンロード可能なレポートを提供することがある。この情報は、多くの場合、表形式で提示される。例えば、医薬品パイプライン情報テーブルは、薬物名、標的、作用機序、疾患、および現在の開発のフェーズのような、開発中の製品に関する様々な情報を含み得る。開発のフェーズは、例えば、異なる形状、サイズ、および色の進捗バーを使用して、グラフィカルに提示され得る。特定の進捗バーは、複数の列にまたがり得、列マーカが進捗バーを含むセルを複数の列に分割するように見える場合でも、セルは、結合されたセルとして処理されるべきである。
【0015】
本開示は、上記に説明されたものなどの、データテーブルから情報を抽出し、後続の取得および分析のための構造化されたデータベースにそれらを記憶するためのシステムおよび方法を説明する。
【0016】
図1は、いくつかの実施形態による、データテーブルの画像表現に基づいて、構造化されたデータベースにデータ挿入するためのシステム100の簡略化された図である。システム100は、ネットワーク110を介して通信可能に連結される複数のデバイス101~109を含む。デバイス101~109は、概して、パーソナルコンピュータ、モバイルデバイス、サーバなどの、コンピュータデバイスまたはシステムを含む。ネットワーク110は、1つ以上のローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、有線ネットワーク、無線ネットワーク、インターネットなどを含み得る。例示的に、デバイス101~109は、TCP/IPプロトコルまたは他の好適なネットワークプロトコルを使用してネットワーク110を介して通信し得る。
【0017】
デバイス101~109のうちの1つ以上は、ネットワーク110を介して、デジタルドキュメント121~129を記憶する、および/またはデジタルドキュメント121~129にアクセスし得る。例えば、図1に図示されるように、デバイス101、102、および109は、それぞれデジタルドキュメント121、122、および129を記憶し、デバイス103は、ネットワーク110を介してデジタルドキュメント121~129にアクセスする。デジタルドキュメント121~129は、ウェブページ、デジタルファイル、デジタル画像(ビデオまたはアニメーションの1つ以上のフレームを含む)などを含み得る。例示的に、デジタルドキュメント121~129は、HTML/CSSドキュメント、PDFドキュメント、ワードプロセッサドキュメント(例えば、Wordドキュメント)、テキストドキュメント、スライドショープレゼンテーション(例えば、PowerPointプレゼンテーション)、画像ファイル(例えば、JPEG、PNG、またはTIFF画像)などとして形式化され得る。効率的な記憶および/またはネットワーク110を介した送信のために、ドキュメント121~129は、ネットワーク110を介した送信の前または送信中に圧縮され得る。暗号化、認証(多要素認証を含む)、SSL、HTTPS、および他のセキュリティ技術などのセキュリティ対策もまた、適用され得る。
【0018】
いくつかの実施形態によると、デバイス103は、デバイス101、102、および109からデジタルドキュメント121~129をダウンロードすることによって、デジタルドキュメント121~129のうちの1つ以上にアクセスし得る。さらに、デバイス101、102、または109のうちの1つ以上は、デジタルドキュメント121~129をデバイス103にアップロードし得る。デジタルドキュメント121~129は、様々な時間に更新され得る。したがって、デバイス103は、最新のコピーを取得するために、様々な間隔で(例えば、周期的に)デジタルドキュメント121~129に複数回アクセスし得る。
【0019】
デジタルドキュメント121~129の少なくとも1つは、1つ以上のデータテーブル131~139を含み得る。例えば、データテーブル131~139は、デジタルドキュメント121~129内に埋め込まれるか、デジタルドキュメント121~129内からリンクされるなどであってもよい。データテーブル131~139は、画像形式、テキスト形式(例えば、CSVまたはTSVファイル)、マークアップ言語形式(例えば、XMLまたはHTML/CSS)などの、様々な形式で記憶され得る。
【0020】
図1に図示されるように、デバイス103は、メモリ150(例えば、1つ以上の非一時的メモリ)に連結されたプロセッサ140(例えば、1つ以上のハードウェアプロセッサ)を含む。メモリ150は、処理パイプライン160およびニューラルネットワークモデル170(または複数のニューラルネットワークモデル)に対応する命令および/またはデータを記憶する。プロセッサ140によって実行されるとき、処理パイプライン160は、データテーブル131~139の画像表現に基づいてデータベース180にデータ挿入する。デジタルドキュメント121~129は、概して、様々な形式で記憶され、アクセスされ得るため、処理パイプライン160は、処理の準備において、デジタルドキュメント121~129および/またはデータテーブル131~139を画像表現に変換し得る。この予備変換ステップは、処理パイプライン160が、例えば、同じ技術を使用して、HTML/CSS形式およびPDF形式で受信されたデータテーブルを処理することを可能にする。
【0021】
データベース180は、スキームまたは他の論理関係に従って編成されたコンテンツを有する構造化されたデータベースとして構成され得る。例えば、データベース180は、関係データベースであり得る。データベース180は、デバイス103に直接連結されるように図示されるが、様々な他の構成が可能であることが理解されるべきである。例えば、データベース180は、メモリ103内に記憶されるか、ネットワーク110を介してアクセスされるなどであってもよい。
【0022】
処理パイプライン160の実行中、プロセッサ140は、ニューラルネットワークモデル170を実行する。ニューラルネットワークモデル170は、入力データに基づいて予測を行うように訓練される。ニューラルネットワークモデル170は、ニューラルネットワークモデル170の複数の層および層間の関係を画定する構成172を含む。層の例示的な例としては、入力層、出力層、畳み込み層、密に接続された層、マージ層などが挙げられる。いくつかの実施形態では、ニューラルネットワークモデル170は、入力層と出力層との間に少なくとも1つの隠れ層を有する深層ニューラルネットワークとして構成され得る。層間の接続は、フィードフォワード接続またはリカレント接続を含み得る。
【0023】
ニューラルネットワークモデル170の1つ以上の層は、訓練されたモデルパラメータ174と関連付けられる。訓練されたモデルパラメータ174は、機械学習プロセスに従って学習される、パラメータ(例えば、人工ニューロンの重みおよびバイアスパラメータ)のセットである。機械学習プロセスの間、ラベル付けされた訓練データが、ニューラルネットワークモデル170への入力として提供され、訓練されたモデルパラメータ174の値は、ニューラルネットワーク170によって生成された予測が所望のレベルの精度で対応するラベルと一致するまで、繰り返し調整される。
【0024】
改善されたパフォーマンスのために、プロセッサ140は、グラフィカルプロセッシングユニット、テンソルプロセッシングユニット、特定用途向け集積回路などを使用してニューラルネットワークモデル170を実行し得る。
【0025】
図2は、いくつかの実施形態による、データテーブル200の簡略化された図である。図1と一致するいくつかの実施形態では、データテーブル200は、概して、データテーブル131~139のうちの少なくとも1つに対応し得る。
【0026】
データテーブル220は、1つ以上の行241~249および1つ以上の列251~259に配置された1つ以上のセル231~239を含む。一般に、各セルは、少なくとも1つの行および少なくとも1つの列に属する。さらに、セル231~239のうちの1つ以上は、複数の行、複数の列、またはその両方を占有する結合されたセルに対応し得る。例えば、図2に図示されるように、セル235は、列252~259にわたる結合されたセルに対応する。
【0027】
セル231~239のうちの1つ以上には、コンテンツオブジェクト261~269がデータ挿入される。コンテンツオブジェクト261~269は、テキスト、グラフィック、方程式、アニメ化されたコンテンツ、またはそれらの組み合わせなどの様々なタイプのコンテンツを含み得る。
【0028】
いくつかの実施形態によると、コンテンツオブジェクト261~269のうちの1つ以上は、グラフィカルシーケンスオブジェクトを含み得る。例えば、図2に図示されるように、セル235には、グラフィカルシーケンスオブジェクト270を含むコンテンツオブジェクト269がデータ挿入される。グラフィカルシーケンスオブジェクト270は、タイミングまたはフェーズ情報などのシーケンス情報を表す。例えば、グラフィカルシーケンスオブジェクト270は、プロジェクトの開発ステージ、医薬品の臨床試験フェーズなどを表し得る。いくつかの実施形態では、グラフィカルシーケンスオブジェクト270は、進捗バーを使用してシーケンス情報を図示し得、進捗バーの長さ(例えば、進捗バーがまたがっている列の数)は、シーケンス情報を伝達する。一般に、グラフィカルシーケンスオブジェクト270などのグラフィカルシーケンスオブジェクトは、多種多様な形状、サイズ、色、テクスチャ、パターンなどで提供され得る。
【0029】
行241~249のうちの1つ以上は、データテーブル200のヘッダ行として指定され得る。例えば、図2に図示されるように、最上部行241は、ヘッダ行として指定される。ヘッダ行の内容は、ヘッダ行の個々のセルの下の列のセル内に含まれるテキストラベルなどの、他の行の内容を説明する情報を含む。例えば、ヘッダ行241内のセル232および233には、それぞれ、ヘッダコンテンツオブジェクト282および284を含むコンテンツオブジェクト261および262がデータ挿入される。ヘッダコンテンツオブジェクト282は、列252の他の行の内容を説明する情報を含み、ヘッダコンテンツオブジェクト284は、列259の他の行の内容を説明する情報を含む。
【0030】
いくつかの実施形態では、データテーブル200の隣接する列または行は、グラフィカル列マーカ292またはグラフィカル行マーカ294などのグラフィカルマーカを使用して区切られ得る。グラフィカル列マーカ292およびグラフィカル行マーカ294は、実線として図2に図示されるが、多くの代替案が可能である。例えば、グラフィカルマーカは、様々なスタイル(例えば、破線、点線、二重線など)の線、背景色またはスタイルの遷移(例えば、隣接する行または列は、明るい背景色と暗い背景色との間、または異なるテクスチャ間で交互にすることによって区切られ得る)などを含み得る。当業者によって認識されるように、グラフィカルマーカは、データテーブル200のスタイルおよび内容に応じて、多種多様なやり方で適用され得る。いくつかの行および/または列にグラフィカルマーカが含まれ、他の行および/または列については省略されてもよい。
【0031】
図3は、いくつかの実施形態による、データテーブルの画像表現に基づいて、構造化されたデータベースにデータ挿入するための方法300の簡略化された図である。図1および図2と一致するいくつかの実施形態によると、方法300は、メモリ150などのメモリに記憶された命令および/またはデータに基づいて、プロセッサ140などのコンピュータプロセッサによって実施され得る。
【0032】
プロセス301では、データテーブル200などのデータテーブルの画像表現がアクセスされる。画像表現は、データテーブルを表す画素データを含む。データテーブルの画像表現にアクセスする例示的な実施形態が、図4を参照して以下に説明される。
【0033】
プロセス302では、ニューラルネットワークモデル170などのニューラルネットワークモデルがアクセスされる。ニューラルネットワークモデルは、画像表現におけるコンテンツオブジェクトの場所を識別するように訓練される。例示的に、コンテンツオブジェクトは、テキストの論理グループ、例えば、テキストボックスに対応し得る。したがって、ニューラルネットワークモデルは、画像表現内のテキストの論理グループを識別するように訓練され得る。例えば、ニューラルネットワークモデルは、画像表現における単語を検出するテキスト検出器を含み得、ヒューリスティックアプローチは、検出された単語の論理グループを識別するために使用され得る。
【0034】
いくつかの実施形態では、ニューラルネットワークモデルは、テキストの論理グループを直接識別するように訓練され得る。このようにしてテキストの論理グループを識別し得るニューラルネットワークモデルの例は、YOLOv3ニューラルネットワークであり、これは、Joseph Redmon and Ali Farhadi,YOLOv3:An Incremental Improvement,Technical report,2018に説明され、これは、参照によりその全体が本明細書に組み込まれる。
【0035】
いくつかの実施形態では、ニューラルネットワークモデルは、データテーブル内に見出されると予想されるコンテンツオブジェクトの1つ以上のタイプを識別するために、転移学習を使用して訓練され得る。例えば、ニューラルネットワークは、(1)セル内のテキストの論理グループ(例えば、テキストボックス)、および(2)グラフィカルシーケンスオブジェクト(例えば、進捗またはフェーズバー)を識別するように訓練され得る。方法300の後続のプロセスは、ニューラルネットワークモデルによって識別される各タイプのコンテンツオブジェクトに対して実施され得る。
【0036】
プロセス303では、画像表現は、ニューラルネットワークモデルへの入力として提供される。ニューラルネットワークモデルの画像表現を準備するために、様々な前処理ステップが実施され得る。これらの前処理ステップは、所定のアスペクト比に適合するように画像表現をトリミングおよび/またはパディングすること、所定のサイズに適合するように画像表現の寸法をスケーリングすること、画像表現内の画素の色または強度を正規化すること、画像表現の色チャネルの数を低減すること(例えば、画像表現をカラーからグレースケールに変換すること)などを含み得る。
【0037】
プロセス304では、ニューラルネットワークモデルは、画像表現内の第1のコンテンツオブジェクトの場所を識別するために実行される。第1のコンテンツオブジェクトは、テキストの論理グループ、グラフィカルシーケンスオブジェクトなどを含み得る。いくつかの実施形態によると、ニューラルネットワークモデルは、グラフィックスプロセッシングユニット(GPU)または特定用途向け集積回路(ASIC)などの専用コンピューティングハードウェアを使用して実行され得る。第1のコンテンツオブジェクトの場所は、第1のコンテンツオブジェクトと関連付けられた点(例えば、第1のコンテンツオブジェクトの中心位置)の座標、第1のコンテンツオブジェクトの水平および垂直スパン、第1のコンテンツオブジェクトを取り囲む境界矩形(または他の好適な形状)などを含み得る。
【0038】
より一般的に、ニューラルネットワークモデルを実行することは、画像表現内の複数のコンテンツオブジェクトの場所を識別し得る。方法300のプロセス304および後続のプロセスは、複数のコンテンツオブジェクトのうちの第1のコンテンツを参照して説明されるが、これらのプロセスは、複数の識別されたコンテンツオブジェクトの各々に対して繰り返され得る。
【0039】
プロセス305では、第1のセルの場所が、第1のコンテンツオブジェクトの場所に基づいて識別される。第1のセルは、第1のコンテンツオブジェクトがデータ挿入されたデータテーブルのセルに対応する。第1のセルは、第1のコンテンツオブジェクトが第1のセル内に含まれるため、概して、第1のコンテンツオブジェクト以上である画像表現の領域に対応する。したがって、第1のセルの場所を識別することは、拡張された領域が第1のセルと関連付けられた境界に到達するまで、第1のコンテンツオブジェクトに対応する領域を拡張することによって達成され得る。このようにして第1のセルの場所を識別するための方法の例示的な実施形態は、図5および図6を参照して以下に説明される。いくつかの実施形態によると、プロセス305は、プロセス304で識別された複数のコンテンツオブジェクトの各々について繰り返され得、データテーブル内の対応する複数のセルの場所をもたらす。この点に関して、複数のセルの各々は、異なるコンテンツオブジェクトと関連付けられ得、異なる場所を有し得る。
【0040】
プロセス306では、第1のセルは、第1のセルの場所に基づいて、少なくとも1つの第1の行および少なくとも1つの第1の列に属すると判定される。一般的に、データテーブル内のセルは、単一の行および単一の列に属する。しかしながら、第1のセルは、結合されたセルに対応し得、この場合、第1のセルは、複数の行、複数の列、または両方にまたがり得る。第1のセルが少なくとも1つの第1の行および少なくとも1つの第1の列に属すると判定するための方法の例示的な実施形態は、図7を参照して以下に説明される。
【0041】
プロセス307では、データベース180などの構造化されたデータベースには、第1のセルが第1の行および第1の列に属すると判定することに基づいて、第1のコンテンツオブジェクトと関連付けられた情報がデータ挿入される。構造化されたデータベースにデータ挿入することは、第1のコンテンツオブジェクトに基づいて、情報を抽出することを含み得る。例えば、第1のコンテンツオブジェクトがテキストの論理グループを含むとき、構造化されたデータベースにデータ挿入することは、テキストの論理グループを画像表現からデジタル文字のシーケンスに変換することを含み得る。
【0042】
第1のコンテンツオブジェクトがグラフィカルシーケンスオブジェクトを含むとき、構造化されたデータベースにデータ挿入することは、グラフィカルシーケンスオブジェクトからシーケンス情報を抽出することを含み得る。例えば、グラフィカルシーケンスオブジェクトが進捗またはフェーズバーを含むとき、シーケンス情報は、進捗もしくはフェーズバーの長さ、または進捗もしくはフェーズバーがまたがっている行または列の数に基づいて判定され得る。いくつかの実施形態では、進捗またはフェーズバーの長さは、シーケンス情報を判定する前に、まず、テーブルの列または行に整列される。いくつかの実施形態では、進捗またはフェーズバーの長さを判定することは、バーの塗りつぶされた部分と塗りつぶされていない部分との間を区別することと、塗りつぶされた部分の長さを識別することと、を含み得る。進捗またはフェーズバーが列または行の一部分にまたがるシナリオでは、重なりのパーセンテージが判定され得る。例えば、フェーズバーがフェーズIIに対応する列の60%にまたがる場合、フェーズIIが60%完了していると判定され得る。
【0043】
いくつかの実施形態によると、構造化されたデータベースにデータテーブル内の各コンテンツオブジェクトと関連付けられた情報がデータ挿入されるまで、方法300の1つ以上のプロセスが繰り返され得る。一度データ挿入されると、次いで、様々なタイプの分析または視覚化が、構造化されたデータベース内に記憶された情報に基づいて実施され得る。例示的な例として、いくつかの実施形態では、意味解析は、構造化されたデータベース内に記憶された情報に基づいて、例えば、「Systems,Methods,and Computer Readable Media for Visualization of Sematic Information and Inference of Temporal Signals Indicating Salient Associations Between Life Science Entities」と題された、2017年9月22日出願の米国特許第10,360,507号に説明されている技術を使用して、実施され得、その全体が参照により本明細書に組み込まれる。
【0044】
図4は、いくつかの実施形態による、データテーブルの画像表現にアクセスするための方法400の簡略化された図である。図1図3と一致するいくつかの実施形態によると、方法400は、方法300のプロセス301を実装するために使用され得る。
【0045】
プロセス401では、デジタルドキュメント121~129などのデジタルドキュメントは、ネットワーク110などのコンピュータネットワークを介して受信される。デジタルドキュメントは、様々な形式で送信および受信され得る。例えば、デジタルドキュメントは、HTML/CSSドキュメント、画像ファイル(例えば、JPEG、PNG、またはTIFF画像)、PDFドキュメント、テキストまたはワードプロセッシングドキュメント、スライドショープレゼンテーション、スプレッドシートなどを含み得る。
【0046】
プロセス402では、デジタルドキュメントは、デジタル画像としてレンダリングされる。例えば、デジタルドキュメントをレンダリングすることは、デジタルドキュメントを、さらなる処理のために使用され得る(および任意選択的に、ディスプレイ画面上に表示され得る)画素値の配列に変換することを含み得る。レンダリングエンジンは、デジタルドキュメントが受信される形式に基づいて、デジタルドキュメントを均一な画像形式にレンダリングするように選択され得る。例えば、デジタルドキュメントがHTML/CSSドキュメントを含むとき、ウェブブラウザが、ドキュメントをレンダリングするために選択され得る。同様に、デジタルドキュメントがPDFドキュメントを含むとき、PDFビューアが、ドキュメントをレンダリングするために選択され得る。いずれの場合も、デジタルドキュメントは、受信されたデジタルドキュメントの形式とは無関係に、均一なデジタル画像形式にレンダリングされ得る。このようにして、多種多様なタイプの受信されたデジタルドキュメントを取り扱うための柔軟性が提供される。いくつかの実施形態では、受信されたデジタルドキュメントと関連付けられたメタデータ(例えば、PDFファイル内に含まれるデータテーブルの内容を説明するPDFファイルからのメタデータ)は、レンダリングされたデジタル画像から除去されてもよく、別様に含まれなくてもよい。
【0047】
プロセス403では、データテーブルの画像表現は、レンダリングされたデジタル画像内に位置する。当業者は、多種多様なオブジェクト検出技術が、デジタル画像内のデータテーブルの画像表現を位置特定するために使用され得ることを理解するであろう。いくつかの実施形態によると、第2のニューラルネットワークモデルは、デジタル画像内のデータテーブルを検出およびローカライズするように訓練され得る。次いで、この第2のニューラルネットワークモデルは、データテーブルの画像表現の場所を予測するための入力としてレンダリングされたデジタル画像を使用して実行され得る。例示的な実施形態では、ニューラルネットワークモデルは、データテーブルの画像表現を検出およびローカライズするために転移学習を使用して訓練されるSSD512ニューラルネットワークモデルに対応し得る。SSD512ニューラルネットワークモデルは、Wei Liu et al.,SSD:Single Shot MultiBox Detector,European Conference on Computer Vision,2016にさらに詳細に説明され、その全体が参照により本明細書に組み込まれる。
【0048】
いくつかの実施形態では、方法400は、経時的にデータテーブルを更新するために複数回実施され得る。例えば、データテーブルが、経時的に変化または進展するフェーズまたは進捗情報を含むとき、方法400は、示されたフェーズまたは進捗を追跡するために周期的に実施され得る。次いで、方法300などの方法は、データテーブルの更新された内容に基づいて構造化されたデータベースにデータ挿入するために、データテーブルが更新されるたびに、実施され得る。
【0049】
図5は、いくつかの実施形態による、コンテンツオブジェクトの場所に基づいて、セルの場所を識別するための方法500の簡略化された図である。図1図3と一致するいくつかの実施形態によると、方法500は、方法300のプロセス305を実装するために使用され得る。
【0050】
プロセス501では、第1のコンテンツオブジェクトの少なくとも一部分に対応する第1の領域は、少なくとも1つの方向に拡張される。例えば、第1の領域は、第1のコンテンツオブジェクトを取り囲む境界矩形、例えば、テキストの論理グループの周りのボックスに対応し得る。いくつかの実施形態では、境界矩形の縁は、データテーブルの行および/または列の予想される方向と平行になるように整列され得る。例えば、行および列が、それぞれ、画像表現の横軸および縦軸に対応する場合、境界矩形の縁は、同様に、画像表現の横軸および縦軸と整列され得る。しかしながら、第1の領域の他の形状(例えば、非矩形形状)および/または配向は、本明細書に説明されるシステムおよび方法に等しく適用可能である。第1の領域が境界矩形に対応するとき、この第1の領域を拡張するために、境界矩形の4つの縁のうちの少なくとも1つが、境界矩形の中心から外側にシフトされ得る。拡張は、所定のサイズのステップで、例えば、1画素の増分で生じ得る。
【0051】
プロセス502では、拡張された第1の領域が行の境界または列の境界を区切るグラフィカルマーカを含むか否かが判定される。グラフィカルマーカは、行の境界または列の境界を区切る線を含み得る。線は、概して、任意の好適なスタイル(例えば、ソリッド、破線、パターン化、着色など)を有し得る。グラフィカルマーカはまた、背景色またはテクスチャの変化などの、行の境界または列の境界を伝達する遷移を含み得る。より一般的に、グラフィカルマーカは、行または列の間の境界が画像内の所与の位置に存在することを伝達する、任意の好適なタイプの不連続性を含み得る。そのようなグラフィカルマーカが、拡張された第1の領域内に含まれるか否かを検出するために様々な画像処理技術が使用され得る。拡張された第1の領域がグラフィカルマーカを含むと判定するための方法の例示的な実施形態が、図6を参照して以下に説明される。
【0052】
プロセス503では、拡張された第1の領域が第2のコンテンツオブジェクトの少なくとも一部分に対応する第2の領域と重なるか否かが判定される。例えば、拡張された第1の領域は、第1のコンテンツオブジェクトおよび第2のコンテンツオブジェクトが隣接する行または列にあり、かつ隣接する行または列の間にグラフィカルマーカがないときに、第2の領域と重なり得る。これらのシナリオでは、第1および第2の領域は、プロセス501の間に拡張し得、それらが互いに重なるまで増大し続け得る。したがって、第1の領域を、第2の領域を含む画像内の他の識別された領域と比較することが、それらの境界を画定するグラフィカルマーカを有していないセルを検出するために実施され得る。
【0053】
プロセス504では、(a)プロセス502で、拡張された第1の領域がグラフィカルマーカを含むと判定すること、または(b)プロセス503で、拡張された第1の領域が第2の領域と重なると判定することに応答して、拡張された第1の領域は、第1のセルの場所に対応するものとして識別される。いくつかの実施形態では、方法500の1つ以上のプロセスは、セルの各境界(例えば、2行の境界および2列の境界)が同様の様式で判定されるまで繰り返され得る。
【0054】
図6は、いくつかの実施形態による、領域がグラフィカルマーカを含むと判定するための方法600の簡略化された図である。図1図5と一致するいくつかの実施形態によると、方法600は、方法500のプロセス502を実装するために使用され得る。
【0055】
プロセス601では、拡張された第1の領域の縁に対応する複数の画素位置が識別される。例えば、拡張された第1の領域がN×Mの矩形に対応するとき、複数の画素位置は、拡張された第1の領域の右または左縁に沿ったN個の画素、または拡張された第1の領域の上または下縁に沿ったM個の画素を含み得る。いくつかの実施形態によると、拡張された第1の領域は、概して、プロセス501と関連付けられた拡張された第1の領域に対応する。
【0056】
プロセス602では、各画素位置について、画素位置が、第1の所定の閾値を超える少なくとも1つの拡張方向に沿った色または強度の変化と関連付けられているか否かが判定される。例えば、複数の画素位置がN×Mの境界矩形の左端に対応する場合、各画素は、その右側の隣接画素と比較され得る。比較中、画素と隣接画素との差(例えば、強度差、色差など)が算出され得る。差は、絶対差、相対差などであってもよい。次いで、差が第1の所定の閾値と比較される。第1の所定の閾値は、好ましくは、偽陽性(例えば、漸進的な背景勾配に基づいて行または列の境界を誤って検出すること)を回避するのに十分に高い値と、緻密なタイプのグラフィカルマーカ(例えば、交互に行間の背景色の小さいが突然の遷移)を検出するのに十分に低い値とに設定される。
【0057】
プロセス603では、プロセス602で判定されるように、色または強度の変化と関連付けられている複数の画素位置のカウントが、第2の所定の閾値を超えるか否かが判定される。カウントは、画素数の絶対的なカウントまたは相対的なカウント(例えば、画素の総数のパーセンテージ)に対応し得る。いくつかのタイプのグラフィカルマーカは、連続的であってもよく(例えば、実線)、その場合、複数の画素の各々は、数に含まれる可能性が高い。しかしながら、他のタイプのグラフィカルマーカは、不連続であってもよく(例えば、破線)、複数の画素のうちの全てよりも少ない画素が、数に含まれる可能性が高い。したがって、第2の所定の閾値は、好ましくは、偽陽性を導入することなく、不連続タイプのグラフィカルマーカを検出するのに十分に低い数値に設定される。
【0058】
プロセス604では、複数の画素位置のカウントが第2の所定の閾値を超えると判定したことに応答して、拡張された第1の領域がグラフィカルマーカを含むと判定される。この判定に際して、方法500などの方法は、プロセス504に説明されるように、セルの場所に対応するものとして領域を識別するように進み得る。
【0059】
図7は、いくつかの実施形態による、セルの場所に基づいて、セルが少なくとも1つの行および少なくとも1つの列に属すると判定するための方法700の簡略化された図である。図1図3と一致するいくつかの実施形態によると、方法700は、方法300のプロセス306を実装するために使用され得る。
【0060】
プロセス701では、データテーブル内の複数のセル(例えば、方法300のプロセス305で識別された複数のセル)は、それらの識別された場所に基づいてソートされる。例えば、複数のセルは、列軸(例えば、左から右または右から左)および行軸(例えば、上から下または下から上)に沿って順番にソートされ得る。
【0061】
プロセス702では、少なくとも1つの行に属する複数のソートされたセルのうちの1つ以上のセルが、再帰的に識別される。いくつかの実施形態によると、少なくとも1つの行に属する1つ以上のセルを再帰的に識別することは、第1の選択されたセルで始まる、次の動作を再帰的に実行することを含み得る:(1)現在選択されているセルの行スパンに重なる行スパンを有するセルのセットを決定すること、(2)セルのセットの中で最も近いセルを識別すること、(3)最も近いセルを少なくとも1つの行に属するものとして識別すること、(4)最も近いセルを次の選択されたセルとして選択すること。行スパンは、行軸(例えば、データテーブルの垂直軸)に沿ったセルによって占有される位置の範囲に対応する。これらの動作は、少なくとも1つの行の各セルが識別されるまで、左から右へ(選択されたセルの右側に最も近いセルを識別する)、および右から左へ(選択されたセルの左側に最も近いセルを識別する)実施され得る。
【0062】
プロセス703では、ヘッダ行は、ヘッダ行の1つ以上のヘッダセルにデータ挿入されている1つ以上のヘッダコンテンツオブジェクトに基づいて識別される。ヘッダコンテンツオブジェクトは、概して、例えば、インジケータまたはラベルを提供することによって、対応する列の内容を説明する。したがって、データテーブルの所与の列は、その列の対応するヘッダコンテンツオブジェクトに基づいて識別され得る。その後、その列内の対応する個々のセルは、その列のヘッダコンテンツオブジェクトによって識別される共通の特性またはデータタイプを共有する類似のコンテンツオブジェクトを有することになる。ヘッダ行を識別するための方法の例示的な実施形態が、図8を参照して以下に説明される。
【0063】
プロセス704では、第1のセルの列スパンが、1つ以上のヘッダセル間の少なくとも1つの第1のヘッダセルの列スパンと重なることが判定される。列スパンは、列軸(例えば、データテーブルの水平軸)に沿ってセルによって占有される位置の範囲に対応する。異なるセルの列スパンが互いに重なるとき、2つのセルは、同じ列に属している可能性が高い。結合されたセルの場合、第1のセルの列スパンは、複数のヘッダセルと重なり得る。
【0064】
プロセス705では、第1のセルは、少なくとも1つの第1の列に属すると識別され、少なくとも1つの第1の列は、少なくとも1つの第1のヘッダセルと関連付けられる。しかしながら、ヘッダ行が存在しない場合、または少なくとも1つの第1の列のヘッダセルが存在しないとき、代替のアプローチが使用され得る。例えば、少なくとも1つの第1の列は、ヘッダセルが存在しないときに、特徴のないプレースホルダヘッダテキストなどの、デフォルトヘッダに割り当てられ得る。
【0065】
さらに、少なくとも1つの第1の列に対する識別子またはラベルが、少なくとも1つの第1の列の内容の意味解析に基づいて、予測され、割り当てられ得る。例えば、少なくとも1つの第1の列に対するヘッダセルが存在しないとき、列のセル内に含まれるテキストが、列内に含まれる実体のタイプを判定するために、実体抽出エンジンを使用して抽出および解析され得る。いくつかの実施形態では、実体抽出エンジンは、データ構造内にコンテキストを提供するためにヘッダセルを有することなく、エンティティのタイプに基づいて、セル内に含まれるテキストを関連付け得る。例えば、とりわけ、米国特許第10,360,507号に開示されている実体タイプの識別のための技術が、この目的のために使用され得る。次いで、列に対する識別子またはラベルが、列内の実体のタイプに基づいて割り当てられ得、構造化されたデータベースは、識別子またはラベルに基づいてデータ挿入され得る。識別子またはラベルは、とりわけ、薬物のタイプ、標的、疾患、作用機序、または試験のフェーズを注記するなどの、定性ラベルの形態であってもよい。実体抽出エンジンにテキストを送信するための準備において、様々な前処理ステップがテキストに適用され得る。例えば、テキストは、実体抽出エンジンのための準備において、スペルミスまたは不規則にスペリングされたテキストを補正するために、スペル補正エンジンに送信され得る。例示的に、薬学的または生物医学的用途の文脈において、スペル補正エンジンは、生物医学的スペル補正エンジンを含み得、実体抽出エンジンは、生物医学的実体抽出エンジンを含み得る。生物医学的実体抽出によって認識される実体タイプの例示的な例としては、限定されるものではないが、遺伝子、薬物、組織、疾患、有機化学物質、会社、診断手順、および生理学的機能が挙げられ得る。
【0066】
図8は、いくつかの実施形態による、データテーブルの1つ以上の行の中からヘッダ行を識別するための方法800の簡略化された図である。図1図7と一致するいくつかの実施形態によると、方法800は、方法700のプロセス702を実装するために使用され得る。
【0067】
プロセス801では、1つ以上のヘッダコンテンツオブジェクトに対応する1つ以上のテキスト表現が生成される。1つ以上のテキスト表現は、デジタル文字のセットを含み得る。いくつかの実施形態によると、光学的文字認識(OCR)が、データテーブルの画像表現に基づいて1つ以上のテキスト表現を生成するために使用され得る。
【0068】
プロセス802では、1つ以上のテキスト表現の各々は、ヘッダ辞書に照会される。これは、1つ以上のテキスト表現に対応する1つ以上の信頼スコアを含むスコアベクトルをもたらす。各信頼スコアは、照会の強度に基づく。例えば、各信頼スコアは、以前のプロセスステップにおける誤差および不確実性(例えば、OCRエラー)を説明する機構を提供する、レーベンシュタイン距離に基づいて決定され得る。例示的に、医薬品情報テーブルの文脈では、ヘッダ辞書は、薬物名、疾患/標的、作用機序、フェーズなどの、そのようなテーブル内に含まれることが予想されるヘッダに対応する実体を含む。いくつかの実施形態では、ヘッダ辞書は、データシステム内で予想される共通のエントリを手動で識別するために、専門家(「SME」)によって作成される。ヘッダ辞書は、手動または自動テキスト認識システムのいずれかを使用して、時間が進むにつれて新しい共通実体タイプを考慮するように更新され得る。上記の議論と同様、いくつかの実施形態では、意味解析は、構造化されたデータベース内に記憶された情報に基づいて、例えば、「Systems,Methods,and Computer Readable Media for Visualization of Sematic Information and Inference of Temporal Signals Indicating Salient Associations Between Life Science Entities」と題された、2017年9月22日出願の米国特許第10,360,507号に説明されている技術を使用して、実施され得、その全体が参照により本明細書に組み込まれる。
【0069】
プロセス803では、行スコアが、スコアベクトルに基づいて決定される。行スコアは、スコアベクトルを構成する1つ以上の信頼スコアに基づく集計メトリックである。例えば、行スコアは、スコアベクトルの平方根の合計として算出され得る。
【0070】
プロセス804では、ヘッダ行は、行スコアに基づいて選択される。例えば、ヘッダ行の行スコアは、データテーブル内の他の候補行の行スコアと比較され得る。候補行は、所定の閾値(例えば、ゼロ)よりも大きい行スコアを有する他の行を含み得る。特定のタイプのコンテンツオブジェクトを含む行は、候補行のセットから除外され得る。例えば、グラフィカルシーケンスオブジェクト(例えば、フェーズバー)を含む行は、ヘッダ行として選択されるのに不適格であり得る。行はまた、行が特定のコンテンツオブジェクトを含むか否かに基づいて、適格なヘッダ行として除外され得、これは、ヘッダ行にデータ挿入されるのに不適格な除外されたコンテンツオブジェクトのリストを使用して、SMEによって定義され得る。次いで、ヘッダ行は、候補行の中で最も高い行スコアを有することに応答して選択され得る。
【0071】
図9A図9Gは、いくつかの実施形態による、医薬品情報テーブル900a~gの簡略化された図である。図1図8と一致するいくつかの実施形態では、医薬品情報テーブル900a~gは、データテーブル131~139に対応し得る。図9A図9Gに図示されるように、医薬品情報テーブル900a~gの間に示される視覚的および実質的な差は、医薬品情報がどのように配信され得るかにおける現実世界の差を反映する。情報がどのように配信されるかのこの広範な変動性にもかかわらず、システム100および方法200~800は、医薬品情報テーブル900a~gを自動的に構文解析および解釈し、テーブル内の情報に基づいて、データベース180などの構造化されたデータベースにデータ挿入するように構成され得る。いくつかの実施形態では、医薬品生産情報テーブル900a~gから取得された情報は、宛先ウェブサイトまたはURL、薬物または開発プログラム名、試験の標的集団または疾患、試験薬物に対する作用機序、フェーズ番号、日付、またはシーケンスなどの試験のフェーズ情報値、および医薬品情報テーブル900a~gから解釈され得る他の情報についての列または行を含み得る。
【0072】
医薬品情報テーブル900a~gの各々は、行および列内に配置される。表900gは、隣接する行を区切るためのグラフィカル行マーカ912を含み、表900cは、隣接列を区切るためのグラフィカル列マーカ914を含み、表900b、900c、900e、および900fは、グラフィカル行マーカ912およびグラフィカル列マーカ914の両方を含む。図示されるように、グラフィカルマーカは、背景色、背景色の急激な変化(例えば、表900d)などよりも明るい(例えば、表900c)または暗い(例えば、表900e)実線を含み得る。表900aは、グラフィカルマーカを含まず、他のテーブルは、グラフィカルマーカを一貫性なく使用し、いくつかの行または列を区切るが、他の行または列を区切らない。例えば、テーブル900cは、最上部行を除いて、各行に対するグラフィカル列マーカ914を含む。いくつかの実施形態では、データテーブル内の各個々の行は、上記の情報タイプを含む、単一の薬物または候補トピックと関連付けられ得る。薬物または候補トピックと関連付けられた任意の追加情報は、名前-値ペアの形態の別個の列を使用して表内に提示され得る。例えば、名前-値ペアは、識別された列と関連付けられたヘッダテキストから名前を導出し得、値は、個々のセル内のコンテキストであり得る。いくつかの実施形態では、例えば、データテーブル内の列が非標準(すなわち、ヘッディング辞書内にない)として識別される場合、そのデータテーブル列の内容は、名前-値ペアのリストを含む「他」というタイトルのデータベーステーブル列内に記憶され得る。そのデータの形式は、[{’名前’:’列名1’,値’:’列値1’},{’名前’:’列名2’,’値’:’列値2’}]。いくつかの実施形態では、データベーステーブルは、実体タイプの作成された辞書内に存在しない名前を含み得る。追加情報はまた、他のデータタイプの中でも、研究または試験を実装するために使用されるデータテーブルまたは技術の流通を含む、データ構造化と関連付けられたメタデータの形態で記憶され得る。
【0073】
加えて、医薬品情報テーブル900a~gの各々は、所与の薬物候補の開発のステージ(例えば、発見、前臨床、フェーズI、フェーズII、フェーズIIIなど)を示す複数の進捗バー920を含む。進捗バー920は、様々なスタイルで図示され、様々な形状および色の矢印またはバーを含む。概して、進捗バー920は、複数のセルにまたがり得る。
【0074】
いくつかの実施形態では、データベーステーブルは、マニュアルヘッディング辞書の一部として以前に作成されていないデータテーブルの列または行を定義することを意味する、新しい分類エンティティを定義することによって作成され得る。このようにして、システムは、新たに識別された画像表現内の分類エンティティの認識に基づいて、データベース構造化されたデータエントリテンプレートを作成し得る。
【0075】
図10A図10Dは、いくつかの実施形態による、テキストの論理グループ1010が自動的に識別された、医薬品情報テーブル1000a~dの簡略化された図である。図1図8と一致するいくつかの実施形態によると、論理グループ1010の場所は、例えば、プロセス302~304を参照して上記で説明されたように、ニューラルネットワークモデルを使用して識別され得る。特に、表1000a~fの注釈は、方法300のプロセス304で生成された出力に対応する。医薬品情報テーブル1000a~dの描写は、システム100と一致する特徴を有する実験システムを使用して決定され、実験システムは、方法300と一致する方法を実施するように構成されている。コンテンツオブジェクトの場所を識別するために使用されるニューラルネットワークモデルは、YOLOv3ニューラルネットワークモデルに対応する。論理グループ1010の各々は、テキストの周囲に境界矩形(破線)を伴って示される。
【0076】
図11A図11Fは、いくつかの実施形態による、セルが特定の行および列に属するものとして識別された医薬品情報テーブル1100a~fの簡略化された図である。医薬品情報テーブル1100a~fの描写は、図10を参照して上記に説明された実験システムによって生成された。特に、表1100a~fの注釈は、方法300のプロセス305で生成された出力に対応する。セルの場所は、ボックス1110(破線)によって識別され、進捗バーの場所は、ボックス1120(破線)によって識別される。図1図8と一致するいくつかの実施形態によると、ボックス1110および1120は、プロセス305、方法500、および/または方法600のうちの1つ以上を使用して識別され得る。矢印1130(破線)は、ヘッダ行に属すると識別されたセルを接続する。矢印1140(実線)は、所与の列に属すると識別されたセルを接続する。矢印1150(点線)は、所与の行に属すると識別されたセルおよびフェーズバーを接続する。図1図8と一致するいくつかの実施形態によると、矢印1140~1150は、プロセス306、方法700、および/または方法800を使用して識別され得る。表1100bでは、第1の列は、ヘッダコンテンツオブジェクトを含まないため、デフォルトヘッダセル1160が第1の列に割り当てられる。
【0077】
本明細書に説明される主題は、本明細書に開示される構造的手段およびその構造的等価物を含む、デジタル電子回路において、またはコンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、あるいはそれらの組み合わせにおいて実装され得る。本明細書に説明される主題は、データ処理装置(例えば、プログラマブルプロセッサ、コンピュータ、または複数のコンピュータ)による実行のために、またはその動作を制御するために、情報キャリア内(例えば、機械可読記憶デバイス内)に有形に具現化されたか、または伝播された信号内に具現化された1つ以上のコンピュータプログラム製品などの1つ以上のコンピュータプログラム製品として実装され得る。コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、コンパイルされたかまたはインタプリタされた言語を含む、任意の形態のプログラミング言語で書き込まれ得、それは、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境における使用に好適な他のユニットとして、を含む、任意の形態で展開され得る。コンピュータプログラムは、必ずしもファイルに対応しない。プログラムは、他のプログラムまたはデータを保持するファイルの一部分、該当するプログラム専用の単一のファイル、または複数の協調するファイル(例えば、1つ以上のモジュール、サブプログラム、またはコードの一部分を記憶するファイル)に記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または1つの現場の複数のコンピュータ上で実行されるか、または複数のサイトにわたって分散され、通信ネットワークによって相互接続されるように展開され得る。
【0078】
本明細書に説明される主題の方法ステップを含む、本明細書に説明されるプロセスおよび論理フローは、入力データ上で動作し、出力を生成することによって、本明細書に説明される主題の機能を実施するために、1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実施され得る。プロセスおよび論理フローはまた、特殊目的論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実施され得、本明細書に説明された主題の装置は、特殊目的論理回路、例えば、FPGAまたはASICとして実装され得る。
【0079】
コンピュータプログラムの実行に好適なプロセッサは、例として、汎用および専用マイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般に、プロセッサは、読み出し専用メモリもしくはランダムアクセスメモリまたはその両方から命令およびデータを受信することになる。コンピュータの本質的な要素は、命令を実行するためのプロセッサ、ならびに命令およびデータを記憶するための1つ以上のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つ以上の大容量記憶デバイス、例えば、磁気、磁気光ディスク、または光ディスクを含むか、あるいはそれらからデータを受信するか、もしくはそれらにデータを送信するか、またはその両方を行うように動作可能に連結されることになる。コンピュータプログラム命令およびデータを具現化するのに好適な情報キャリアは、例として、半導体メモリデバイス(例えば、EPROM、EEPROM、およびフラッシュメモリデバイス)、磁気ディスク(例えば、内部ハードディスクまたはリムーバブルディスク)、磁気光ディスク、ならびに光ディスク(例えば、CDおよびDVDディスク)を含む、全ての形態の不揮発性メモリを含む。プロセッサおよびメモリは、特殊目的論理回路によって補完されてもよく、またはそれに組み込まれてもよい。
【0080】
ユーザとの相互作用を提供するために、本明細書に説明される主題は、ユーザに情報を表示するためのディスプレイデバイス、例えば、CRT(ブラウン管)またはLCD(液晶ディスプレイ)モニタ、およびユーザがコンピュータに入力を提供し得るキーボードおよびポインティングデバイス(例えば、マウスまたはトラックボール)を有するコンピュータ上で実装され得る。他の種類のデバイスが、同様にユーザとの対話を提供するために使用され得る。例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック(例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であり得、ユーザからの入力は、音響、発話、または触覚入力を含む任意の形態で受信され得る。
【0081】
本明細書に説明される主題は、バックエンドコンポーネント(例えば、データサーバ)、ミドルウェアコンポーネント(例えば、アプリケーションサーバ)、またはフロントエンドコンポーネント(例えば、ユーザが本明細書に説明される主題の実装と対話し得るためのグラフィカルユーザインタフェースまたはウェブブラウザを有するクライアントコンピュータ)、またはそのようなバックエンド、ミドルウェア、およびフロントエンドコンポーネントの任意の組み合わせを含む、コンピューティングシステム内で実装され得る。システムの構成要素は、任意の形態または媒体のデジタルデータ通信、例えば、通信ネットワークによって相互接続され得る。通信ネットワークの例としては、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、例えば、インターネットが挙げられる。
【0082】
開示された主題は、その適用において、構成の詳細および以下の説明に記載されるかまたは図面に示される構成要素の配置に限定されないことが理解されるべきである。開示された主題は、他の実施形態が可能であり、様々な方法で実施および実行されることが可能である。また、本明細書で用いられる言い回しおよび用語は、説明の目的のためのものであり、限定と見なされるべきでないことが理解されるべきである。
【0083】
したがって、当業者は、本開示の基礎となる概念が、開示された主題のいくつかの目的を実行するための他の構造、方法、およびシステムの設計の基礎として、容易に利用され得ることを認識されよう。したがって、特許請求の範囲は、それらが開示された主題の趣旨および範囲から逸脱しない限り、そのような同等の構成を含むと見なされることが重要である。
【0084】
開示された主題は前述の例示的な実施形態において説明および例示されたが、本開示は、実施例としてのみなされたものであり、開示された主題の実装の細部における多くの変更は、以下の特許請求の範囲のみによって限定される、開示された主題の趣旨および範囲から逸脱することなくなされ得ることが理解される。
図1
図2
図3
図4
図5
図6
図7
図8
図9A
図9B
図9C
図9D
図9E
図9F
図9G
図10A
図10B
図10C
図10D
図11A
図11B
図11C
図11D
図11E
図11F
【国際調査報告】