(57)【要約】  電子データ構造から属性を抽出することに関連するシステム、方法および他の実施形態が記載される。一実施形態において、方法は、トークンとマッチしている規定の属性を識別し、規定の属性に関連付けられたデータベースの列にトークンをリンクすることによって、記述文字列からのトークンを電子棚札データベース内の規定の属性と相関させることを含む。方法は、条件付き確率場モデルを用いて、識別されたトークンと規定の属性との間の既知の相関に従って、識別されていないトークンについての推奨マッチを生成することによって、識別されていないトークンの注釈文字列を反復的に更新することを含む。また、方法は、注釈文字列によって識別された列に記述文字列からのトークンを自動的に格納することによって、注釈文字列に従って記述文字列から識別されたトークンをデータベースにポピュレートすることを含む。
2019503541.tif 000002
【特許請求の範囲】
【請求項１】
命令を格納する非一時的なコンピュータ可読媒体であって、前記命令は、コンピューティング装置の１つ以上のプロセッサによって実行されると、前記コンピューティング装置に少なくとも以下のことを実行させ、
前記以下のことは、記述文字列からのトークンを製品の規定の属性と相関させることを含み、前記規定の属性は、電子棚札データベース内の列に編成され、
前記トークンを相関させることは、前記規定の属性のうち前記トークンとマッチする規定の属性を識別することと、前記規定の属性と前記各トークンとの間のマッチを示すように、注釈文字列を用いて前記トークンを前記列にマッピングすることとを含み、
前記製品の各々は、前記記述文字列および前記注釈文字列のうち対応する１つに関連付けられ、前記記述文字列の各々は、棚札中の前記製品の属性を示す英数字の構造化されていない組み合わせを含み、
前記以下のことは、
前記規定の属性と識別されたトークンとの間の相関に従って、前記記述文字列および前記注釈文字列を反復的に解析することによって、前記トークンのうち識別されていないトークンについての推奨マッチを生成することと、
前記記述文字列から前記トークンを抽出し、前記注釈文字列のマッピングによって指定された列に前記トークンを挿入することによって、前記トークンを前記電子棚札データベースにポピュレートすることとを含む、非一時的なコンピュータ可読媒体。
【請求項２】
前記トークンを前記電子棚札データベースにポピュレートすることを前記コンピューティング装置に実行させる前記命令は、前記コンピューティング装置に、
前記記述文字列から前記トークンを自動的に抽出し、記述を前記製品の各々についての前記電子棚札データベースにポピュレートするために前記注釈文字列によって識別された前記電子棚札データベースの列に前記トークンを格納することによって、前記注釈文字列に従って前記記述文字列を構造化することを実行させる命令を含み、
前記トークンは、異なる長さを有し、
前記棚札は、小売業の棚札であり、
境界マーカは、前記記述文字列のトークンを区切り、スペースまたは英数字以外の文字を含む、請求項１に記載の非一時的なコンピュータ可読媒体。
【請求項３】
前記棚札のカテゴリ内の前記製品の前記記述文字列を含む電子データを記憶媒体から読み取ることによって、前記電子データにアクセスすることを前記コンピュータ装置に実行させる命令をさらに含み、前記記述文字列は、規定のプロトコルに準拠していない非構造化データ文字列であり、
前記規定の属性は、前記電子棚札データベースの列に関連付けられ、前記複数の製品の特性を含み、
前記トークンを相関させることは、前記注釈文字列を初期化することによって、前記トークンと前記規定の属性との間のマッチを初期に識別する、請求項１に記載の非一時的なコンピュータ可読媒体。
【請求項４】
前記トークンを相関させることを前記コンピューティング装置に実行させる前記命令は、前記コンピューティング装置に、前記トークンと前記電子棚札データベース内の前記規定の属性との間のマッピングを追跡するように前記注釈文字列を作成することを実行させる命令を含み、前記注釈文字列を作成することは、電子データ構造を生成することと、前記記述文字列内の各文字に対応する値を用いて前記電子データ構造内の前記各注釈文字列を初期化することとを含み、前記記述文字列は、前記値が識別されていないトークンであることを指定し、前記注釈文字列は、前記記述文字列と１対１で対応し、
前記トークンを相関させることを前記コンピューティング装置に実行させる前記命令は、
前記トークンのうちの別個のトークンについての前記記述文字列を走査することによって、前記記述文字列を解析して、前記トークンのうちの別個のトークンについてのトークン頻度を決定することと、
前記別個のトークンについての前記トークン頻度に従って前記トークンをフィルタリングすることによって、前記トークンをリストアップすることと、
前記トークンを前記電子棚札データベース内の前記規定の属性と相関させるトークン制御入力によって指定された前記注釈文字列を変更することによって、前記トークンを識別することとを実行させる命令を含み、前記注釈文字列を変更することは、特有の識別子に従って前記注釈文字列内の前記識別されたトークンを注釈することによって、前記識別されたトークンを前記規定の属性にマッピングすることとを実行させる命令を含む、請求項１に記載の非一時的なコンピュータ可読媒体。
【請求項５】
前記トークンを相関させることを前記コンピューティング装置に実行させる前記命令は、前記識別されたトークンを隣接する識別されていないトークンに関連付ける有向グラフに従って前記注釈文字列を絞り込むことによって、前記規定の属性のうち前記識別されていないトークンに対応する規定の属性を識別することを実行させる命令を含み、
前記有向グラフの各々は、前記記述文字列の各々からの２つの隣接トークンを含む、請求項１に記載の非一時的なコンピュータ可読媒体。
【請求項６】
前記注釈文字列を絞り込むことを前記コンピューティング装置に実行させる前記命令は、
識別されたトークンである第１のトークンと識別されていないトークンである第２のトークンとを含む隣接トークンに従って、前記有向グラフを生成することを実行させる命令を含み、前記有向グラフの各々は、前記記述文字列の各々からの２つの隣接トークンの組み合わせであり、
前記注釈文字列を絞り込むことを前記コンピューティング装置に実行させる前記命令は、
前記有向グラフを解析することによって、前記トークンのうちの別個のペアについての有向グラフ頻度を決定することと、
前記有向グラフ頻度に従って前記有向グラフをフィルタリングすることによって、前記有向グラフをリストアップすることと、
前記有向グラフの各々の有向グラフ制御入力に従って、前記第１のトークンの注釈を用いて前記第２のトークンの注釈を置換することによって、前記注釈文字列を変更することと、
前記注釈文字列を変更した後、前記有向グラフのうち識別されていないトークンを含む有向グラフを示す未承認有向グラフのリストを生成することとを実行させる命令を含む、請求項５に記載の非一時的なコンピューター読み取り可能媒体。
【請求項７】
前記推奨マッチを生成することを前記コンピューティング装置に実行させる前記命令は、前記識別されていないトークンの数が規定の閾値を満たすまで、前記推奨マッチを用いて前記注釈文字列を反復的に更新することを前記コンピューティング装置に実行させる命令を含み、
前記推奨マッチを生成することを前記コンピューティング装置に実行させる前記命令は、選択された分布に従って、前記記述文字列および対応する前記注釈文字列をトレーニングセットおよびテストセットに分割することによって、２つの異なる文字列セットを電子入力として提供することを実行させる命令を含み、前記テストセット内の記述文字列には、注釈を含まず且つ前記テストセット内の記述文字列についての、前記注釈文字列の元の注釈文字列を一時的に置換するテスト用注釈文字列が割り当てられ、
前記推奨マッチを生成することを前記コンピューティング装置に実行させる前記命令は、条件付き確率場モデルを用いて前記トレーニングセットの前記注釈文字列からモデル化された前記トレーニングセットの前記トークンと前記規定の属性との間の相関に従って、前記テストセットおよび前記規定の属性を解析することを実行させる命令を含み、前記テストセットを解析することは、前記テストセットの前記記述文字列にテスト用注釈文字列を新たに注釈することによって、前記テストセットの前記記述文字列のトークンと前記規定の属性との間のマッチを提案することを含み、
前記推奨マッチを生成することを前記コンピューティング装置に実行させる前記命令は、前記テスト用注釈文字列と前記元の注釈文字列とを比較することによって、前記テストセットから新たに識別されたトークンから前記推奨マッチを生成することを実行させる命令を含む、請求項１に記載の非一時的なコンピュータ可読媒体。
【請求項８】
前記注釈文字列と前記記述文字列の前記規定の属性との間の相関精度を検証するように、前記注釈文字列を解析することによって前記注釈文字列のエラーを検出することを前記コンピュータに実行させる命令をさらに含む、請求項１に記載の非一時的なコンピュータ可読媒体。
【請求項９】
コンピューティングシステムであって、
非一時的なコンピュータ可読媒体に格納され、記述文字列からのトークンを製品の規定の属性と相関させるための命令を含むように構成された注釈モジュールを含み、前記規定の属性は、電子棚札データベース内の列に編成され、
前記トークンを相関させることは、前記規定の属性のうち前記トークンとマッチする規定の属性を識別することと、前記規定の属性と前記各トークンとの間のマッチを示すように、注釈文字列を用いて前記トークンを前記列にマッピングすることとを含み、
前記製品の各々は、前記記述文字列および前記注釈文字列のうち対応する１つに関連付けられ、前記記述文字列の各々は、棚札中の前記製品の属性を示す英数字の構造化されていない組み合わせを含み、
非一時的なコンピュータ可読媒体に格納され、相関の関数である統計モデルによって識別された前記規定の属性と識別されたトークンとの間の相関に従って、前記記述文字列および前記注釈文字列を反復的に解析することによって、前記トークンのうち識別されていないトークンについての推奨マッチを生成するための命令を含むように構成された推論モジュールを含み、前記推奨マッチを生成することは、前記推奨マッチを用いて前記注釈文字列を更新することによって、前記トークンのうち前記識別されていないトークンを前記規定の属性にマッピングすることを含み、
非一時的なコンピュータ可読媒体に格納され、前記注釈文字列のマッピングによって指定された列に前記トークンを挿入することによって、前記トークンを前記電子棚札データベースにポピュレートするための命令を含むように構成される構造モジュールを含む、コンピューティングシステム。
【請求項１０】
前記構造モジュールは、前記注釈文字列に従って前記記述文字列を構造化することによって、前記データベースをポピュレートするように構成され、前記構造化することは、前記記述文字列から前記トークンを自動的に抽出することと、記述を前記製品の各々についての前記電子棚札データベースにポピュレートするために前記注釈文字列によって識別された前記電子棚札データベースの前記列に前記トークンを格納することとを含み、
前記トークンは、異なる長さを有し、
前記棚札は、小売業の棚札であり、
境界マーカは、前記記述文字列のトークンを区切り、スペースまたは英数字以外の文字を含む、請求項９に記載のコンピューティングシステム。
【請求項１１】
非一時的なコンピュータ可読媒体に格納され、記憶媒体から前記棚札のカテゴリ内の前記製品の前記記述文字列を含む電子データを読み取ることによって、前記電子データを受信および利用するための命令を含むように構成された通信モジュールをさらに含み、前記記述文字列は、規定のプロトコルに準拠していない非構造化データ文字列であり、
前記規定の属性は、前記電子棚札データベースの列に関連付けられ、前記複数の製品の特性を含み、
前記相関モジュールは、前記トークンを相関させることにより前記注釈文字列を初期化することによって、前記トークンと前記規定の属性との間のマッチを初期に識別するための命令を含むように構成される、請求項９に記載のコンピューティングシステム。
【請求項１２】
前記推論モジュールは、前記注釈文字列と前記記述文字列の前記規定の属性との間の相関精度を検証するように、前記注釈文字列を解析することによって前記注釈文字列のエラーを検出するための命令をさらに含むように構成される、請求項９に記載のコンピューティングシステム。
【請求項１３】
前記推論モジュールは、選択された分布に従って、前記記述文字列および対応する前記注釈文字列をトレーニングセットおよびテストセットに分割することによって、２つの異なる文字列セットを電子入力として提供するための命令を含むように構成され、前記テストセット内の記述文字列には、注釈を含まず且つ前記テストセット内の記述文字列についての前記注釈文字列の元の注釈文字列を一時的に置換するテスト用注釈文字列が割り当てられ、
前記推論モジュールは、条件付き確率場モデルを用いて前記トレーニングセットの前記注釈文字列からモデル化された前記トレーニングセットの前記トークンと前記規定の属性との間の相関に従って、前記テストセットおよび前記規定の属性を解析するための命令を含むように構成され、前記テストセットを解析することは、前記テストセットの前記記述文字列にテスト用注釈文字列を新たに注釈することによって、前記テストセットの前記記述文字列のトークンと前記規定の属性との間のマッチを提案することを含み、
前記推論モジュールは、前記テスト用注釈文字列と前記元の注釈文字列とを比較することによって、前記テストセットから新たに識別されたトークンから前記推奨マッチを生成するための命令を含むように構成される、請求項９に記載のコンピュータシステム。
【請求項１４】
前記注釈モジュールは、
前記識別されたトークンを隣接する識別されていないトークンに関連付ける有向グラフに従って前記注釈文字列を絞り込むことによって、前記規定の属性のうち前記識別されていないトークンに対応する前記規定の属性を識別するための命令を含むように構成され、
前記有向グラフの各々は、前記記述文字列の各々からの２つの隣接トークンを含む、請求項９に記載のコンピュータシステム。
【請求項１５】
記述文字列から属性を抽出するように構成されたプロセッサを含むコンピューティング装置によって実行されるコンピュータで実現される方法であって、
通信ネットワークを介して遠隔装置から、前記記述文字列を含む電子データのストリームを受信するステップを含み、前記記述文字列は、棚札中の製品の属性を記述する英数字の構造化されていない組み合せであり、
少なくとも前記プロセッサにより、前記記述文字列のトークンとマッチしている電子棚札データベース内の規定の属性を識別し、前記トークンを前記規定の属性に関連付けられたデータベースの列にリンクすることによって、前記トークンを前記電子棚札データベース内の前記規定の属性と相関させるステップを含み、
少なくとも前記プロセッサにより、条件付き確率場モデルを用いて、前記識別されたトークンと前記規定の属性との間の既知の相関に従って、前記トークンのうち識別されていないトークンについての推奨マッチングを生成することによって、前記識別されていないトークンの前記注釈文字列を反復的に更新するステップと、
少なくとも前記プロセッサにより、前記注釈文字列によって識別された列に前記記述文字列からの前記トークンを自動的に格納することによって、前記注釈文字列に従って前記記述文字列から識別された前記トークンをデータベースにポピュレートするステップとを含む、コンピュータで実現される方法。
【発明の詳細な説明】
【背景技術】
【０００１】
背景
電子商取引および電子棚札システムがより広く普及するにつれて、製品情報の提供および製品情報の正確性の保証に関して新たな困難が生じる。例えば、電子棚札において、異なる製品の各々は、多くの異なる属性を含む。これらの属性は、識別番号、価格、ブランド名、詳細な説明などを含むことができる。したがって、棚札の個々のカテゴリに数千個の異なる製品が含まれている場合、特に情報の入力が手動作業であることを考慮すると、情報の正確性を保証することは、複雑で時間のかかる作業である。
【０００２】
例えば、食料品店の場合、電子棚札に入力された各製品は、多くの異なる属性、例えば、重量、味、ブランド名、価格、パッケージ当たりの数量などを含むことができる。通常、様々な属性がデータベース内の異なる列と相関するため、作業員は、手動で情報を調べ、異なる列に入力する。さらに、製品の記述は、構造化されておらず且つ特定のフォーマットを有しないため、文法エラー、スペルミスおよび／または他のエラーを含む可能性がある。したがって、単に情報をデータベースにコピーするだけで、正確且つ適切にカタログ化された情報を提供することができない。したがって、正確な製品記述をデータベース内に提供することは、多くの複雑性を伴う困難な作業である。
【発明の概要】
【課題を解決するための手段】
【０００３】
概要
本開示の一態様において、命令を格納する非一時的なコンピュータ可読媒体が開示される。命令は、コンピューティング装置の１つ以上のプロセッサによって実行されると、コンピューティング装置に少なくとも以下のことを実行させ、以下のことは、記述文字列からのトークンを製品の規定の属性と相関させることを含み、規定の属性は、電子棚札データベース内の列に編成され、トークンを相関させることは、規定の属性のうちトークンとマッチする規定の属性を識別することと、規定の属性と各トークンとの間のマッチを示すように、注釈文字列を用いてトークンを列にマッピングすることとを含み、製品の各々は、記述文字列および注釈文字列のうち対応する１つに関連付けられ、記述文字列の各々は、棚札中の製品の属性を示す英数字の構造化されていない組み合わせを含み、以下のことは、規定の属性と識別されたトークンとの間の相関に従って、記述文字列および注釈文字列を反復的に解析することによって、トークンのうち識別されていないトークンについての推奨マッチを生成することと、記述文字列からトークンを抽出し、注釈文字列のマッピングによって指定された列にトークンを挿入することによって、トークンを電子棚札データベースにポピュレートすることを含む。同様の機能を実行するコンピュータ実装方法が開示される。
【０００４】
非一時的なコンピュータ可読媒体の別の実施形態において、トークンを電子棚札データベースにポピュレートすることをコンピューティング装置に実行させる命令は、コンピューティング装置に、記述を製品の各々についての電子棚札データベースにポピュレートするために注釈文字列によって識別された電子棚札データベースの列にトークンを格納することによって、注釈文字列に従って記述文字列を構造化することを実行させる命令を含み、トークンは、異なる長さを有し、棚札は、小売業の棚札であり、境界マーカは、記述文字列のトークンを区切り、スペースまたは英数字以外の文字を含む。
【０００５】
上記の非一時的なコンピュータ可読媒体の別の実施形態において、棚札のカテゴリ内の製品の記述文字列を含む電子データを記憶媒体から読み取ることによって、電子データを入手することをコンピュータ装置に実行させる命令をさらに含み、記述文字列は、規定のプロトコルに準拠していない非構造化データ文字列であり、規定の属性は、電子棚札データベースの列に関連付けられ、複数の製品の特性を含み、トークンを相関させることは、注釈文字列を初期化することによって、トークンと規定の属性との間のマッチを初期に識別する。
【０００６】
本開示の別の態様において、コンピューティングシステムが開示される。当該コンピューティングシステムは、非一時的なコンピュータ可読媒体に格納され、記述文字列からのトークンを製品の規定の属性と相関させるための命令を含むように構成された注釈モジュールを含み、規定の属性は、電子棚札データベース内の列に編成され、トークンを相関させることは、規定の属性のうちトークンとマッチする規定の属性を識別することと、規定の属性と各トークンとの間のマッチを示すように、注釈文字列を用いてトークンを列にマッピングすることとを含み、製品の各々は、記述文字列および注釈文字列のうち対応する１つに関連付けられ、記述文字列の各々は、棚札中の製品の属性を示す英数字の構造化されていない組み合わせを含み、非一時的なコンピュータ可読媒体に格納され、相関の関数である統計モデルによって特定された規定の属性と識別されたトークンとの間の相関に従って、記述文字列および注釈文字列を反復的に解析することによって、トークンのうち識別されていないトークンについての推奨マッチを生成するための命令を含むように構成された推論モジュールを含み、推奨マッチを生成することは、推奨マッチを用いて注釈文字列を更新することによって、トークンのうち識別されていないトークンを規定の属性にマッピングすることを含み、非一時的コンピュータ可読媒体に格納され、注釈文字列のマッピングによって指定された列にトークンを挿入することによって、トークンを電子棚札データベースにポピュレートするための命令を含むように構成される構造モジュールを含む。
【０００７】
コンピューティングシステムの別の実施形態において、構造モジュールは、記述文字列からトークンを自動的に抽出し、記述を製品の各々についての電子棚札データベースにポピュレートするために注釈文字列によって識別された電子棚札データベースの列にトークンを格納するによって、データベースをポピュレートするように構成され、トークンは、異なる長さを有し、棚札は、小売業の棚札であり、境界マーカは、記述文字列のトークンを区切り、スペースまたは英数字以外の文字を含む。
【０００８】
別の実施形態において、コンピューティングシステムは、非一時的コンピュータ可読媒体に格納され、記憶媒体から棚札のカテゴリ内の製品の記述文字列を含む電子データを読み取ることによって、電子データを受信および利用するための命令を含むように構成された通信モジュールをさらに含み、記述文字列は、規定のプロトコルに準拠していない非構造化データ文字列であり、規定の属性は、電子棚札データベースの列に関連付けられ、複数の製品の特性を含み、相関モジュールは、トークンを相関させることにより注釈文字列を初期化することによって、トークンと規定の属性との間のマッチを初期に識別するための命令を含むように構成される。
【０００９】
コンピューティングシステムの別の実施形態において、推論モジュールは、注釈文字列と記述文字列の規定の属性との間の相関精度を検証するように、注釈文字列を解析することによって注釈文字列のエラーを検出するための命令をさらに含むように構成される。
【００１０】
コンピューティングシステムの別の実施形態において、推論モジュールは、選択された分布に従って、記述文字列および対応する注釈文字列をトレーニングセットおよびテストセットに分割することによって、２つの異なる文字列セットを電子入力として提供するための命令を含むように構成され、テストセット内の記述文字列には、注釈を含まず且つテストセット内の記述文字列についての注釈文字列の元の注釈文字列を一時的に置換するテスト用注釈文字列が割り当てられ、条件付き確率場モデルを用いてトレーニングセットの注釈文字列からモデル化されたトレーニングセットのトークンと規定の属性との間の相関に従って、テストセットおよび規定の属性を解析するための命令を含むように構成され、テストセットを解析することは、テストセットの記述文字列にテスト用注釈文字列を新たに注釈することによって、テストセットの記述文字列のトークンと規定の属性と間のマッチを提案することを含み、テスト用注釈文字列と元の注釈文字列とを比較することによって、テストセットから新たに識別されたトークンから推奨マッチを生成するための命令を含むように構成される。
【００１１】
別の実施形態において、記述文字列から属性を抽出するように構成されたプロセッサを含むコンピューティング装置によって実行されるコンピュータ実装方法が開示される。当該方法は、通信ネットワークを介して遠隔装置から、記述文字列を含む電子データのストリームを受信するステップを含み、記述文字列は、棚札中の製品の属性を記述する英数字の構造化されていない組み合せであり、少なくともプロセッサにより、記述文字列のトークンとマッチしている電子棚札データベース内の規定の属性を識別し、トークンを規定の属性に関連付けられたデータベースの列にリンクすることによって、記述文字列のトークンを電子棚札データベース内の規定の属性と相関させるステップを含み、少なくともプロセッサにより、条件付き確率場モデルを用いて、識別されたトークンと規定の属性との間の既知の相関に従って、トークンのうち識別されていないトークンの推奨マッチングを生成することによって、識別されていないトークンの注釈文字列を反復的に更新するステップと、少なくともプロセッサにより、注釈文字列によって識別された列に記述文字列からのトークンを自動的に記憶することによって、注釈文字列に従って記述文字列からの識別されたトークンをデータベースにポピュレートするステップとを含む。
【００１２】
本明細書に組み込まれ、本明細書の一部を構成する添付の図面は、本開示の様々なシステム、方法および他の実施形態を示す。理解すべきことは、図面に示された要素の境界（例えば、ボックス、ボックスの群、または他の形状）は、境界の一例を表すことである。いくつかの実施形態において、１つの要素が複数の要素として実現されてもよく、複数の要素が１つの要素として実現されてもよい。いくつかの実施形態において、別の要素の内部コンポーネントとして示された要素は、外部コンポーネントとして実現されてもよい。その逆も同様である。さらに、要素は縮尺通りに描かれていない可能性がある。
【図面の簡単な説明】
【００１３】
【図１】非構造化記述文字列から属性を抽出することに関連するコンピューティングシステムの一実施形態を示す図である。
【図２】電子棚札データベース内の製品記述に構造化属性を与えることに関連する方法の一実施形態を示す図である。
【図３】文字列を注釈し、記述文字列内の値を規定の属性にリンクすることに関連する方法の一実施形態を示す図である。
【図４】規定の属性と非構造化記述文字列における値との間の推奨マッチを生成することに関連する方法の一実施形態を示す図である。
【図５】記述文字列の注釈におけるエラーを訂正することに関連する方法の一実施形態を示す図である。
【図６】開示された例示的なシステムおよび方法で構成されたコンピューティングシステムの一実施形態を示す図である。
【発明を実施するための形態】
【００１４】
詳細な説明
本明細書は、コンピュータ化システムおよび方法を記載する。これらのシステムおよび方法は、製品に関する非構造化属性情報を含む記述文字列を、その属性情報を適切な列と相関させるデータベース内の構造化エントリに変換する。一実施形態において、コンピューティングシステムは、データ構造にアクセスし、単一のカテゴリに分類された製品のデータ構造から、記述文字列の形にした属性情報を読み取る。カテゴリは、例えば、ヨーグルト、チーズ、男性用ネクタイ、または他の製品種類である。いずれの場合、製品は通常種類に関連させられる。しかしながら、記述文字列に含まれた情報が様々な異なるソースから提供され且つ任意の標準に準拠するように制御されていないため、これらの記述文字列は、構造化されていない。すなわち、例えば、記述文字列は、既知のクラス分け、ラベリングまたは他の既知のフォーマットに従って個々の属性を抽出できるように、体系的に編成されていない。記述文字列は、特定のフォーマット、プロトコルまたは他の配置に準拠していない。したがって、これらの記述文字列は、構造化されていない。
【００１５】
通常、各製品の記述文字列は、例えば、境界マーカ（すなわち、英数字以外の文字またはスペース）で区切られた各異なる要素（本明細書ではトークンとも呼ばれる）を含む英数字文字列である。しかしながら、記述文字列内の属性の順序、特定の属性のフォーマットおよび略語の使用は、知られていないまたはフォーマット標準に従って制御されていない。したがって、記述文字列が構造化されていないため、記述文字列から属性を抽出することは困難である。
【００１６】
したがって、一実施形態において、コンピューティングシステムは、記述文字列内の属性を識別し、属性をデータベースの列にマッピングするように構成される。これによって、コンピューティングシステムは、記述文字列から属性を抽出することができる。したがって、コンピューティングシステムは、非構造化記述文字列からの属性をデータベースにポピュレートすることによって、製品記述をデータベースに提供するようにプログラムされる。以下、属性の識別および抽出に関連するシステムおよび方法を説明する。
【００１７】
図１を参照して、コンピューティングシステム１００の一実施形態が示されている。コンピューティングシステム１００は、製品属性を電子／コンピュータ化棚札データベース１１０内の列にマッピング／リンクすることによって、属性を識別し、電子／コンピュータ化棚札データベース１１０に編成する機能を実行するように実装される。
【００１８】
一実施形態において、コンピューティングシステム１００は、実行可能なアプリケーションまたは分散アプリケーションの集合を含むコンピューティング／データ処理システムである。アプリケーションおよびコンピューティングシステム１００は、クラウドベースネットワークシステム、ＳａａＳ（software as a service）アーキテクチャ、または他の種類のネットワークコンピューティングソリューションと共に動作するように構成されてもよく、クラウドベースネットワーキングシステム、ＳａａＳアーキテクチャ、または他の種類のネットワークコンピューティングソリューションとして実装されてもよい。一実施形態において、コンピューティングシステム１００は、少なくとも本明細書に記載の機能を提供し、コンピュータネットワークを経由して（サーバとして機能する）コンピューティングシステム１００と通信するコンピューティング装置／端末を介して、多くのユーザによって利用される集中型サーバ側アプリケーションである。
【００１９】
一実施形態において、本明細書に記載された１つ以上のコンポーネントは、非一時的なコンピュータ可読媒体に格納されたプログラムモジュールとして構成される。プログラムモジュールは、命令を含むように構成される。これらの命令は、少なくともプロセッサによって実行されると、コンピューティング装置に、本明細書に記載の対応する機能を実行させる。
【００２０】
したがって、一実施形態において、コンピューティングシステム１００は、記述文字列１３０および注釈文字列１４０を格納するメモリ１２０と共に、いくつかのモジュールを含む。例えば、コンピューティングシステム１００は、注釈モジュール１５０と、推論モジュール１６０と、構造モジュール１７０と、通信モジュール１８０とを含む。構造モジュール１７０と通信モジュール１８０とは、連動して動作することによって、記述文字列１３０から構造化されていない／フォーマットされていない属性を抽出し、構造化形式（すなわち、データベース表として）の属性を電子棚札データベース１１０に出力する。
【００２１】
したがって、一実施形態において、モジュール１５０、１６０、１７０および１８０は、非構造化属性を構造化属性に変換し、構造化属性を電子データ構造として電子棚札データベース１１０に電子的に出力する専用ハードウェアプロセッサとして具体化される。別の実施形態において、モジュール１５０、１６０、１７０、１８０は、非構造化属性の変換を達成するために、ハードウェアプロセッサを制御するように機能する。さらに、モジュール１５０、１６０、１７０および１８０は、メモリ１２０およびデータベース１１０に格納された電子データを処理する。一実施形態において、メモリ１２０は、本明細書に記載するように、抽出および変換を行うために使用される記述文字列１３０、注釈文字列１４０および他の情報を含む電子データ構造を格納するのに適したランダムアクセスメモリ（ＲＡＭ）、ハードディスクドライブ（ＨＤＤ）、または別のメモリである。
【００２２】
また、電子棚札データベース１１０は、構造化された列および行の形で製品情報を含む電子データ構造を格納する。これによって、様々な電算タスクで情報を検索および使用することができる。通常、電子棚札データベース１１０は、データを電子フォーマットで非一時的媒体に格納する。データは、例えば、食料品店、百貨店、電子取引ウェブサイト、または他の小売店などの小売業の棚札内の複数の製品に関する情報を含む。
【００２３】
さらに、一実施形態において、異なる列は、製品の異なる属性に従って定義される。例えば、データベース１１０は、各製品の異なる情報を分けるために、識別番号（ＳＫＵ：Stock Keeping Unit）、ブランド名、重量、栄養情報などの異なる列を含む。当然ながら、製品の特定のカテゴリに応じて、リストアップされたものとは異なる規定の属性および対応するデータベース列を設けてもよい。いずれの場合、データベース１１０は、各属性用の異なる列を含み、コンピューティングシステム１００は、記述文字列１３０から識別された属性をこれらの列にポピュレートする。
【００２４】
一実施形態において、コンピューティングシステム１００は、通信ネットワーク１９０を介して記述文字列１３０を取得する。すなわち、コンピューティングシステム１００は、通信ネットワーク１９０を介して通信するハードウェア装置である。通信ネットワーク１９０は、インターネット、ワイドエリアネットワーク（ＷＡＮ）、または同様のネットワークである。一実施形態において、コンピューティングシステム１００は、通信モジュール１８０によって制御され、ネットワークインターフェイスカード（ＮＩＣ：network interface card）またはコンピューティングシステム１００に内蔵された同様の装置を用いて、通信ネットワーク１９０を介して通信することによって、リモート装置と情報（例えば、記述文字列１３０）を交換することができる。
【００２５】
図２〜図５を参照して、コンピューティング装置１００の更なる態様を説明する。図２の方法２００は、未加工の非構造化記述文字列を受信、注釈、更新および検証した後、電子棚札データベース１１０に構造化／組織化するための全体像を示す。方法３００、４００および５００は、方法２００の要素２２０、２３０および２４０の詳細な説明を提供する。したがって、方法２００の各要素を概略的に説明し、その後、図３、４および５を参照して要素２２０、２３０および２４０の詳細な説明を各々行う。また、図２〜５は、図１のコンピューティングシステム１００の観点から説明される。
【００２６】
したがって、コンピューティングシステム１００は、通信ネットワーク１９０を介してリモート装置から電子データストリームを受信することに応答して、メモリ１１０に格納された記述文字列１３０にアクセスすることによって、ブロック２１０で方法２００の実行を開始する。一実施形態において、通信モジュール１８０は、リンクからネットワーク１９０への電子通信信号を検出し、信号からデータを識別し、データをバッファリングし、その後データをメモリ１２０に格納することによって、データストリームを受信する。
【００２７】
通常、データストリームは、複数の製品を電子棚札データベース１１０の棚札カテゴリに入力することを要請する小売業者からの通信情報であってもよい。したがって、データは、複数の製品を記述する記述文字列１３０を少なくとも含む。一実施形態において、記述文字列１３０は、複数の製品の属性を表す英数字の組み合わせである。また、前述したように、記述文字列１３０は、規定のプロトコルに準拠していないデータの非構造化文字列である。すなわち、記述文字列１３０は、データベース１１０内の属性と相関する文字を表す識別子および／または属性を識別するための特定の順序または他の構成を含まない。
【００２８】
記述文字列１３０は、文字の列である。一実施形態において、記述文字列１３０は、様々なトークン（すなわち、属性を構成する単語および文字）の間に境界マーカを含む。しかしながら、境界マーカは、いくつかの属性を区切るが、始終一貫しているとは見なされるべきではなく、いくつかの属性は、境界マーカを含まず、連続的に出現することがある。それにもかかわらず、境界マーカ間の一連の連続文字は、単一のトークンとして定義される。通常、注釈モジュール１５０および推論モジュール１６０は、トークンを処理する。
【００２９】
したがって、記述文字列１３０の各々は、通常、複数のトークンを含む。トークンは、異なる長さを有する。すなわち、トークンは、異なる数の英字および／または数字（すなわち、英数字）を含むことができる。また、トークンを区切る境界マーカは、スペースおよび他の記号（例えば、％、＃、／）などの英数字以外の文字である。したがって、一実施形態において、通信モジュール１８０は、記述文字列をメモリ１１０に格納する電子データ構造を読み取り、必要に応じて記述文字列をモジュール１５０、１６０および１７０に送信することによって、記述文字列１３０を入手する。
【００３０】
ブロック２２０において、注釈モジュール１５０は、トークンの一部をデータベース１１０内の規定の属性（すなわち、列）と相関させる。ブロック２２０の相関は、図３および方法３００を参照して後で詳細に説明する。しかしながら、通常、記述文字列１３０からのトークンを電子棚札データベース１１０内の規定の属性と相関させることは、例えば、注釈文字列１４０を部分的にポピュレートするための初期化として機能する。
【００３１】
すなわち、例えば、後続の要素がトークンと規定の属性との間の既知の関係から導出された相関を使用する可能性があるため、トークンと規定の属性との間の少なくとも一部のマッチ（match）を識別することは、例えば、ブロック２３０で行われるマッチの生成を改善することができる。いずれにしても、ブロック２２０において、注釈モジュール１５０は、トークンとマッチする規定の属性を識別することによって、少なくとも一部のトークンを規定の属性にマッピング／リンクする。
【００３２】
一実施形態において、注釈モジュール１５０は、注釈文字列１４０を用いて、記述文字列１３０内のトークンを識別し、当該トークンを規定の属性にマッピングする。例えば、注釈文字列１５０の各々は、記述文字列１３０の各々の値のプレースホルダ（placeholder）を含む。すなわち、注釈文字列１４０は、記述文字列１３０と１対１で対応する。したがって、記述文字列１３０の各々は、対応する注釈文字列１４０を有する。
【００３３】
また、注釈文字列１４０の各々は、対応する記述文字列と同様の数の文字を含む。注釈モジュール１５０は、記述文字列１３０のトークンとデータベース１１０の規定の属性との間のマッチを識別すると、規定の属性を示す特有の識別子を用いて各注釈文字列１４０の対応位置をマーク／注釈することによって、当該マッチを注釈文字列１４０と規定の属性との間にマッピングする。このようにして、コンピューティングシステム１００は、注釈文字列１４０を用いて、識別されたトークンおよび識別されていないトークンを追跡する。注釈文字列１４０の例は、以下でより詳細に説明され、表１および４に示される。
【００３４】
ブロック２３０において、推論モジュール１６０は、識別されていないトークンの推奨（suggested）マッチを生成する。すなわち、ブロック２２０で相関を行った後、一部のトークンが識別されたが、残りのトークンがまだ識別されていない（すなわち、データベース１１０内の列／属性にマッチングされていない）。したがって、トークンをさらに識別するために、推論モジュール１６０は、識別されたトークンと規定の属性との間の既知の相関に従って、識別されていないトークンの全てまたは一部のマッチを推論する。一実施形態において、推論モジュール１６０は、相関の関数である統計モデルを用いて、マッチを推論（推測）する。例えば、推論モジュール１６０は、少なくとも部分的に条件付き確率場（ＣＲＦ）解析に基づいた機械学習ルーチンを実行することによって、統計モデルを生成することができる。
【００３５】
続いて、推論モジュール１６０は、例えば、注釈文字列１４０および記述文字列１３０を電子入力として用いて統計モデルを訓練（すなわち、生成）することによって、推奨マッチを生成する。推論モジュール１６０は、識別された相関およびモデルからの他の情報を用いて、識別されていないトークンについての推奨マッチを生成する。また、一実施形態において、識別されていないトークンの推奨マッチを再検討して、受け入れるまたは拒否する。例えば、検証のために、推奨マッチは、グラフィカルユーザインタフェイス（ＧＵＩ）に変換され、ユーザに提示されてもよい。したがって、通信モジュール１８０は、通信ネットワーク１９０を介して、推奨マッチを含むＧＵＩを遠隔装置に提供し、遠隔装置で推奨マッチを含むＧＵＩをユーザに表示させることができる。その後、ユーザは、正しい推奨マッチ（すなわち、注釈文字列を更新し且つ識別されていないトークンをデータベース１１０の列にマッピングするために使用されるべきマッチ）を選択的に検証することができる。
【００３６】
通常、相関は、特定の属性に関連するトークンの典型的な長さ、特定の文字の有無、特定の属性の記述文字列における文字の相対位置などを含むことができる。このようにして、推論モジュール１６０は、注釈文字列を反復的に更新し且つ識別されていないトークンをデータベース１１０の列にマッピングするために使用される推奨マッチを提供する。
【００３７】
方法４００を用いて以下でブロック２３０の詳細を説明するが、理解すべきことは、注釈文字列１４０の更新が反復的に実行され、各後続の反復において現在の推奨マッチから収集された改善をモデルに適用することによって、各後続の反復とのマッチングを改善することである。したがって、推論モジュール１６０は、例えば、識別されていないトークンと規定の属性との間に新たなマッチを生成できなくなるまで、推奨マッチを反復的に生成することによって、注釈文字列１４０を更新することができる。
【００３８】
ブロック２４０において、注釈モジュール１５０は、記述文字列１４０におけるエラーを検出する。一実施形態において、注釈モジュール１５０は、ブロック２３０で注釈文字列を解析することによって整合性チェックを実行することによって、記述文字列１４０と規定の属性との間のマッピングの精度を検証する。したがって、一実施形態において、ブロック２３０で得られた元の注釈文字列１４０は、推論モジュール１６０によって完全に生成された新たな注釈文字列と比較される。例えば、２つのセットの注釈文字列の間の不一致は、可能なエラーとして識別される。
【００３９】
さらに、一実施形態において、識別された可能なエラーを再検討して、受け入れるまたは拒否することができる。例えば、検証のために、可能なエラーは、グラフィカルユーザインターフェイス（ＧＵＩ）に変換され、ユーザに提示されてもよい。したがって、通信モジュール１８０は、通信ネットワーク１９０を介して、エラーを含むＧＵＩを遠隔装置に提供し、遠隔装置でエラーを含むＧＵＩをユーザに表示させることができる。その後、ユーザは、有効なエラー（すなわち、エラーが存在するため、置換されるべき注釈）を選択的に検証することができる。したがって、ＧＵＩは、ユーザとの対話に従って制御入力を生成し、通信モジュール１８０に送り返す。続いて、コンピューティングシステム１００は、制御入力に従って注釈文字列１４０を更新する。エラー検出の更なる態様については、方法５００を用いて以下で説明する。
【００４０】
ブロック２５０において、構造モジュール１７０は、ブロック２２０〜２４０の結果を電子棚札データベース１１０に出力する。一実施形態において、構造モジュール１７０は、注釈文字列１４０を用いて、各記述文字列１３０から属性を抽出して、電子データ構造、例えばデータベーステーブルに入れる。データベーステーブルは、例えば、電子棚札データベース１１０に指定された規定の属性の各々と相関する異なる列を含む。したがって、構造モジュール１７０は、注釈文字列１４０を用いて、記述文字列１３０から、規定の属性の値（例えば、トークン）を抽出し、抽出した値をテーブルの適切な列に格納する。
【００４１】
このようにして、構造モジュール１７０は、記述文字列１３０からの属性を適切な列に編成およびリンクすることによって、記述文字列１３０を構造化する。これによって、属性を識別することができ、データベース１１０に使用することができる。その後、構造モジュール１７０は、テーブルをデータベース１１０に格納して、整理された関連情報を製品の記述にポピュレートする。したがって、コンピューティングシステム１００は、方法２００に従って動作し、非構造化記述文字列内の属性情報を受信／利用し、記述文字列を棚札データベース１１０内のデータベーステーブルに変換することによって、電子応用のためにこれらの属性を索引付け、分類、照会またはコンピューター化することができる。
【００４２】
方法３００を示す図３を参照する。上記で説明したように、方法３００は、図２のブロック２２０に関する更なる詳細を示す。したがって、一実施形態において、方法３００は、注釈モジュール１５０によって実行される。
【００４３】
したがって、ブロック３０５において、注釈モジュール１５０は、注釈文字列を作成する。一実施形態において、注釈モジュール１５０は、メモリ１２０において電子データ構造を生成することによって、注釈文字列を作成する。電子データ構造は、記述文字列１３０の各々と相関する異なる文字列を含む。さらに、注釈モジュール１５０は、記述文字列１３０内のトークンの全てが識別されていないことを特定する値を用いて、注釈文字列１４０の各々を初期化する。
【００４４】
表１は、注釈モジュール１５０が注釈文字列１４０を生成および初期化した後、３つの異なる記述文字列および対応する注釈文字列の例を示す。表１の記述文字列は、ヨーグルトカテゴリの３つの異なる製品に関連する。さらに、表１には、各注釈文字列１４０が、対応する記述文字列１３０と１対１で対応する文字を含む。注釈文字列における値「Ｏ」は、境界マーカまたはトークンの一部である関連文字が識別されていないことを示す。この例では「Ｏ」を使用しているが、任意の特有の文字を使用することができる。
【００４５】
【表１】
2019503541.tif 000003
【００４６】
ブロック３１０において、注釈モジュール１５０は、記述文字列１３０を解析することによって、トークン頻度を決定する。トークン頻度は、例えば、記述文字列１３０において各異なるトークンの出現回数である。通常、トークンは、本明細書において境界マーカとも呼ばれた英数字以外の文字（例えば「％」、「＃」、「／」、「？」、「スペース」）によって、記述文字列内の他の文字から区切られた連続する英字セットまたは数字セットとして定義される。したがって、特定のトークンは、例えば、数字と英字との間のスイッチとしての境界マーカによって、他の文字から区切られた任意の特定の文字セットである。
【００４７】
したがって、注釈モジュール１５０は、例えば、異なるトークンの記述文字列１３０を走査（すなわち、パース）し、異なるトークンを文字列内のトークンと比較し、異なるトークンの各マッチのカウント値を維持することによって、トークン頻度を決定する。
【００４８】
その後、ブロック３１５において、注釈モジュール１５０は、異なるトークンのトークン頻度に従ってトークンをフィルタリングすることによって、トークンをリストアップする。したがって、一実施形態において、注釈モジュール１５０は、トークン頻度に従って異なるトークンを分類し、分類した異なるトークンをリストに出力する。一実施形態において、通信モジュール１８０は、通信ネットワーク１９０を介してリストを送信し、リモート装置のＧＵＩ上で、リストを警告または他のプロンプトとしてユーザに表示させる。
【００４９】
【表２】
2019503541.tif 000004
【００５０】
表２は、３つの記述文字列の例示的なトークンのリストを示す。この例示的なリストから見られるように、トークン「ｇｒ」は、最も高いトークン頻度３を有し、リスト内の他のトークンは、より低いトークン頻度を有する。一実施形態において、表２の例では全てのトークンがリストアップされているが、注釈モジュール１５０は、より重要なトークンを表示するために、Ｎよりも大きい頻度を有するトークンのみをリストアップすることができる。
【００５１】
ブロック３２０で、注釈モジュール１５０は、トークン制御入力に従って、注釈文字列を変更する。一実施形態において、注釈モジュール１５０は、通信モジュール１８０を介して遠隔装置上のＧＵＩからトークン制御入力を受信する。別の実施形態において、トークン制御入力は、ユーザによってコンピューティングシステム１００のＩ／Ｏポートを介して入力されたトークンおよび／または電子入力の規定の相関に従って、自動的に生成されてもよい。さらに別の実施形態において、トークン制御入力は、トークンを属性にマッチングするための規定の規則に従って、自動的に生成されてもよい。
【００５２】
いずれの場合、トークン制御入力は、トークンの少なくとも一部を規定の属性と相関させる。一実施形態において、注釈モジュール１５０は、規定の属性と相関された異なるトークンに、特有のラベルを割り当てる。表３は、２よりも大きいトークン頻度を有する各異なるトークンに割り当てられたラベル（すなわち、特有の識別子）を示す。
【００５３】
【表３】
2019503541.tif 000005
【００５４】
したがって、注釈モジュール１５０は、ラベル付き異なるトークンを用いて、異なるトークンに対応する位置に位置する注釈文字列を注釈する（すなわち、標記する）。一実施形態において、注釈モジュール１５０は、トークン制御入力に従って識別されたラベル付きトークンに対応する注釈文字列１４０のデータ構造内の位置を変更することによって、注釈を行う。
【００５５】
注釈文字列１４０を変更する一例を表４に示す。表４は、表１および表２に示された３つの記述文字列と同様の記述文字列を示す。表４において、ラベル付きトークンを反映するために、注釈モジュール１５０は、対応する注釈文字列を変更した。なお、製品の記述文字列内の各文字は、注釈文字列においてトークンの識別ラベルを示す文字またはトークンが初期化の時に識別されていない（すなわち、「Ｏ」）ことを示す文字に対応している。
【００５６】
【表４】
2019503541.tif 000006
【００５７】
方法３００を継続すると、方法３００の要素３２５〜３４５は、注釈文字列を絞り込むことを示す。すなわち、少なくとも一部のトークンおよびデータベース１１０の規定の属性をマッピング／リンクするように注釈文字列を初期に注釈すると、注釈モジュール１５０は、注釈文字列を絞り込むことによって、識別されていないトークンに対応する規定の属性をさらに識別する。
【００５８】
ブロック３２５において、注釈モジュール１５０は、隣接するトークンに従って有向グラフを生成することによって、注釈文字列１４０の絞り込みを開始する。一実施形態において、注釈モジュール１５０は、メモリ１２０において隣接するトークンの関係を格納する電子データ構造（例えば、リンクリスト、木構造）を生成し、有向グラフを定義するトークン間の関係を電子データ構造にポピュレートすることによって、有向グラフを生成する。
【００５９】
また、本開示に使用されている有向グラフは、個々の記述文字列における２つの隣接するトークンの任意の組み合わせである。したがって、各有向グラフは、第１のトークンおよび第２のトークンを含む。方法３００の主な目的がトークンを規定の属性と相関させることであるため、注釈モジュール１５０は、識別されたトークンである第１のトークンおよび識別されていないトークンである第２のトークンを含む有向グラフを生成する。このようにして、トークンおよび隣接トークン間の相関をさらに解析することによって、識別されていないトークンが識別されたトークンと同様の属性に相関しているか否かを判断することができる。
【００６０】
したがって、ブロック３３０において、注釈モジュール１５０は、有向グラフを解析することによって、各々の有向グラフ（すなわち、各々のトークン対）の有向グラフ頻度を決定する。注釈モジュール１５０は、ブロック３３０では、個々のトークンではなく有向グラフを処理することを除いて、ブロック３１０と同様の機能を実行する。したがって、ブロック３３０において、注釈モジュール１５０は、各々の有向グラフをマッチングするために記述文字列１３０を走査し、各有向グラフの有向グラフ頻度のカウント値を維持する。このようにして、各有向グラフの出現数を決定することができる。
【００６１】
ブロック３３５において、注釈モジュール１５０は、有向グラフ頻度に従って有向グラフをフィルタリングすることによって、有向グラフをリストアップする。一実施形態において、注釈モジュール１５０は、有向グラフ頻度に従って各々の有向グラフを分類し、分類した有向グラフをリストに出力する。一実施形態において、通信モジュール１８０は、通信ネットワーク１９０を介してリストを送信し、リモート装置のＧＵＩ上でリストを警告または他のプロンプトとしてユーザに表示させる。
【００６２】
【表５】
2019503541.tif 000007
【００６３】
表５は、上記の表１〜４からの例の続きを示す。通常、有向グラフは、有向グラフの全体（すなわち、複数のトークン）を単一の属性として同時に注釈すべき状況に対する識見を提供する。例えば、単一のトークンではなく２つのトークンを含むブランド名は、有向グラフを解析した後に注釈することができる。表５において、トークン１とトークン２の組み合わせは、有向グラフを表す。
【００６４】
ブロック３４０において、注釈モジュール１５０は、有向グラフ制御入力に従って、第１のトークンの注釈を用いて第２のトークンの注釈を置換することによって、注釈文字列１４０を変更する。一実施形態において、注釈モジュール１５０は、通信モジュール１８０を介して、遠隔装置上のＧＵＩから有向グラフ制御入力を受信する。別の実施形態において、有向グラフ制御入力は、有向グラフの規定の相関および／またはユーザによってコンピューティングシステム１００のＩ／Ｏポットを介して入力された電子入力に従って、自動的に生成されてもよい。いずれの場合、注釈モジュール１５０は、有向グラフ制御入力を用いて、有向グラフにおいて同一の規定の属性に対応するトークンを相関させる。
【００６５】
【表６】
2019503541.tif 000008
【００６６】
表６は、有向グラフ制御入力を「承認」列に示す。表６の例において、有向グラフ制御入力は、「リンゴ」と「イチゴ」の組み合わせに対して承認を示している。すなわち、承認は、トークン「イチゴ」（すなわち、ラベル「Ｆ」）に使用されるラベルおよび対応する規定の属性がトークン「リンゴ」にも適用することを示す。したがって、表７に示すように、注釈モジュール１５０は、識別されたトークンを反映するように、有向グラフを含む記述文字列に対応する注釈文字列を更新する。
【００６７】
【表７】
2019503541.tif 000009
【００６８】
このようにして、記述文字列１３０の注釈は、識別されていないトークンを電子棚札データベース１１０の規定の属性にさらに相関するように絞り込まれる。
【００６９】
更なるトークンを識別するように注釈文字列１４０の単一の絞り込みを説明したが、ブロック３２５から３４５までの注釈文字列１４０の絞り込みは、例えば、最高頻度で部分的に注釈された有向グラフ（例えば、１つの識別されたトークンおよび１つの識別されていないトークンを含む有向グラフ）の頻度が閾値量（例えば、＜Ｎ）を満たすまでまたは注釈の置換に承認される有向グラフがいなくなるまで、反復的に実行されてもよい。
【００７０】
さらに、ブロック３４５において、注釈モジュール１５０は、注釈の置換に承認されなかった有向グラフを示す未承認有向グラフのリストを生成する（すなわち、表６にリストアップされている未承認）。その後の絞り込みの反復を行う場合、既に承認の検討を行った未承認の有向グラフは、リストから隠されてもよい。したがって、その後の反復を行う場合、ブロック３３５で未承認の有向グラフのリストを単純化することができる。
【００７１】
方法３００が完了した後、コンピュータシステム１００は、方法４００に対応する方法２００のブロック２３０に進む。方法４００は、主にコンピューティングシステム１００の推論モジュール１６０によって実行され、方法３００が完了した後に注釈文字列１４０および記述文字列１３０から推定された相関に従って、推奨マッチを生成する。このようにして、注釈文字列１４０によって蓄積された記述文字列のトークンと文字との間の関係を用いて、トークンをさらに識別することができる。
【００７２】
したがって、推論モジュール１６０は、ブロック４１０において複数の製品をトレーニングセットおよびテストセットに分割することによって、方法４００を開始する。一実施形態において、ブロック４１０の分割は、第１グループの製品の記述文字列および注釈文字列をトレーニングセットにグループ化することと、第２グループの製品の記述文字列および注釈文字列をテストセットにグループ化することとを含む。以下で詳述するように、後続のブロックは、テストセット内の記述文字列のために、新たなテスト用注釈文字列を生成する。新たなテスト用注釈文字列を注釈文字列１４０からの元のテスト用注釈文字列と比較することによって、トークンおよび属性間の新しいマッチを発見する。
【００７３】
さらに、一実施形態において、推論モジュール１６０は、選択された分布に従って製品（すなわち、記述および注釈文字列）を分割／グループ化することによって、２つの異なる文字列のセットを電子入力として後続のブロック４２０〜４４０に提供する。製品を分割するために選択された分布は、いくつかの異なるオプションのうち１つ以上を含むことができる。例えば、注釈文字列の注釈品質（例えば、高いパーセントでトレーニングセットを注釈し、低いパーセントでテストセットを注釈すること）に従っておよび／または一度に１つの属性に従って、製品を２つのセットにランダムに分割することができる。
【００７４】
表９は、製品をセットに分割する一例を示す。表９において、推論モジュール１６０は、属性に従ってセット間の文字列をグループ化した。すなわち、推論モジュール１６０は、ブランド属性の識別されたトークンを含む記述文字列をトレーニングセットにグループ化し、ブランド属性の識別されていないトークンを含む記述文字列をテストセットにグループ化する。
【００７５】
【表８】
2019503541.tif 000010
【００７６】
一実施形態において、分布の選択は、機械学習に使用され得る相関を用いて注釈文字列を含むトレーニングセットを生成するように行われる。例えば、推論モジュール１６０は、トレーニングセットの注釈文字列からの相関およびより完全な情報を用いて、記述文字列１３０とデータベース１１０の規定の属性との間のマッチを表す相関および他のデータに従って、統計モデルを訓練する。
【００７７】
いずれの場合、ブロック４１０において、製品は、方法４００の各反復によってグループに分割される。その後の反復は、予め選択された分布によって指定された選択に応じて（例えば、異なる属性または異なるオプションに従って）、同様の分割または異なる分割を使用することができる。
【００７８】
製品をセットに分割した後、推論モジュール１６０は、ブロック４２０において、テストセットのトークンと規定の属性との間のマッチを提案する。一実施形態において、推論モジュール１６０は、トレーニングセットのトークンと規定の属性との間の相関に従って、マッチを推定する。
【００７９】
例えば、ブロック４２０の初期化動作として、推論モジュール１６０は、機械学習技術を用いて、トレーニングセットの注釈文字列１４０およびトレーニングセットの記述文字列１３０からの情報をモデル化する。一実施形態において、機械学習技術は、トレーニングセットに対して条件付き確率場（ＣＲＦ）解析を行うことを含む。推論モジュール１６０は、トレーニングセット内のデータ要素間のパターン／相関を認識するために、トレーニングセットをパース（parse）、走査（scan）または他の方法で解析することによってＣＲＦ解析を実行する。通常、トレーニングセットは、属性間のパターン例を具体化するためのサンプルセットとして機能する。したがって、推論モジュール１６０は、ＣＲＦ解析を用いて、文字レベルで、（１）属性の値および特徴、および（２）属性／トークンの隣接文字間の関係／相関を学習する。
【００８０】
すなわち、推論モジュール１６０は、属性の値および特徴並びに規定の属性とマッチする識別されたトークンに隣接する文字間の関係／相関をモデル化する電子データ構造を生成する。続いて、推論モジュール１６０は、情報をモデルに適用することによって、テストセット内の記述文字列１３０のトークンとデータベース１１０の列内の規定の属性との間の推奨マッチを生成する。
【００８１】
例えば、トレーニングセットのＣＲＦ解析は、各属性のいくつかの実際値（すなわち、トレーニングセット内で相関する値）を学習する。また、ＣＲＦ解析は、属性の特徴、例えば、属性値の典型的な長さ（例えば、ブランド名に対する測定単位の長さ）、特定の属性に関連する値が数字（例えば、体積、重量など）を含むか否か、および特定の属性（例えば、最初に出現するブランド値と最後に出現するサイズ）の記述文字列内の値の相対的な位置も学習する。
【００８２】
さらに、推論モジュール１６０は、トレーニングセットデータをパースおよび走査することによって、ＣＲＦ解析をさらに実行し、特定の文字が特定の属性に関連付けられているか否か、隣接する文字がどの属性に関連付けられているかなどを学習する。一例として、推論モジュール１６０は、一連の数字の後に続く英字トークンが測定単位である可能性が高いことを示すことができる。いずれの場合、推論モジュール１６０は、トレーニングセットから、トークンが特定の属性とマッチングする確率を特徴付けるデータを生成して収集し、統計モデルを生成してメモリ１２０に格納する。
【００８３】
その後、推論モジュール１６０は、統計モデルを用いて、マッチを推定し、テストセットの記述文字列１３０の記述文字列に新たなテスト用注釈文字列を注釈する。このようにして、推論モジュール１６０は、テストセットの記述文字列１３０の各々に新たな注釈文字列を生成し、テストセットの記述文字列１３０内のトークンと規定の属性との間の可能なマッチを提案する。
【００８４】
推論モジュール１６０は、ブロック４２０の結果としての推奨マッチに従って、新たなテスト用注釈文字列を注釈する。したがって、推論モジュール１６０は、新たなテスト用注釈文字列をメモリ１２０に格納することができる。
【００８５】
ブロック４３０において、推論モジュール１６０は、ブロック４２０で生成された新たなテスト用注釈文字列をテストセット内の製品の元の注釈文字列１４０と比較する。テスト用注釈文字列と元の注釈文字列と比較することによって、テストセット内の識別されていないトークンの規定の属性を識別することができる。
【００８６】
【表９】
2019503541.tif 000011
【００８７】
表１０は、推論モジュール１６０が、過去にて製品の元の注釈文字列から識別されていなかったテスト用文字列内のブランド属性を自動的に注釈する方法を示す。したがって、ブロック４３０において、推論モジュール１６０は、文字列を比較し、新たに識別されたトークンをマッチとして提案する。
【００８８】
ブロック４４０において、推論モジュール１６０は、新たなテスト用注釈文字列から新たに識別されたトークンの注釈を元の注釈文字列１４０に選択的に記録する。一実施形態において、推論モジュール１６０は、ブロック４３０から推定されたマッチをリストアップし、承認リストを提供する。一実施形態において、通信モジュール１８０は、通信ネットワーク１９０を介してこのリストを送信し、リモート装置のＧＵＩ上で、リストを警告または他のプロンプトとしてユーザに表示させる。
【００８９】
さらに、一実施形態において、推論モジュール１６０は、通信モジュール１８０を介して、遠隔装置上のＧＵＩから承認制御入力を受信する。別の実施形態において、承認制御入力は、規定の規則（例えば、推論されたマッチを常に承認する規則、または同一マッチの数が閾値を超えたときに承認する規則）および／またはユーザによってコンピューティングシステム１００のＩ／Ｏポートを介して入力された電子入力を含むことができる。いずれの場合、承認制御入力は、ブロック４２０で生成された推奨マッチを元の注釈文字列１４０に記録するか否かを制御する。
【００９０】
ブロック４５０において、推論モジュール１６０は、ブロック４２０からの推奨マッチの数が規定の閾値を満たすか否かを判断する。規定の閾値は、方法４００を実行することによって推定マッチがさらに生成されないまたは推奨マッチが規定の数よりも少ないなどの条件を示す。通常、規定の閾値は、推論モジュール１６０が例えば更なる改善が得られないまで推奨マッチを反復的に生成し、注釈文字列を更新するように選択される。
【００９１】
したがって、一実施形態において、推論モジュール１６０は、ブロック４１０〜４５０を繰り返すことによって、多くの反復で注釈文字列１４０をさらに更新するように構成される。通常、新たに識別された各トークンが記録され、その後ブロック４２０でモデルを更新するために使用されるため、推論モジュール１６０は、方法４００を繰り返す。したがって、各後続の反復は、更なるマッチを推論するためのモデルデータの改良を含む。その結果、後続の反復は、以前に見逃したトークンのマッチを提案することができる。このように、推論モジュール１６０は、文字列を反復的に解析することによって、トークンの識別を改善すると共に、属性の抽出を改善する。
【００９２】
方法５００は、図２のブロック２４０で簡単に説明したように、注釈文字列１４０内のエラーを検出する態様を記載する。方法５００は、いくつかの特徴で方法４００と同様である。例えば、方法５００の主な意図は、トークンと注釈文字列の規定の属性との間のマッチを識別することである。すなわち、方法４００の結果は、例えば、全ての注釈文字列１４０を完全に注釈することである。したがって、方法５００は、注釈を再生成することによって、注釈文字列１４０内の矛盾を識別しようとする。例えば、コンピューティング装置１００、より具体的に推論モジュール１６０は、前述したＣＲＦ解析を用いて新たなテスト用注釈文字列を識別するように方法５００を実行する。このようにして、推論モジュール１６０は、追加の注釈文字列セットを生成することによって、元の注釈文字列１４０を交差検証し、注釈の一貫性をチェックすることによって、注釈文字列１４０と方法４００から提供された規定の属性との間の相関の精度を検証する。
【００９３】
上述したように、方法５００は、方法４００と類似するいくつかの特徴を含む。したがって、簡潔のために、通常、方法４００を参照しながら、方法５００と方法４００との間の相違点を指摘する。
【００９４】
推論モジュール１６０は、ブロック５１０で記述文字列および対応する注釈文字列をトレーニングセットおよびテストセットに分割することによって、方法５００を開始する。方法４００のブロック４１０に関連して説明したように、通常、文字列をトレーニングセットおよびテストセットに分割することは、文字列の一部を各セットにグループ化し、テストセット内の各記述文字列のテスト用注釈文字列を開始することを含む。同様に、ブロック５１０において、記述文字列および注釈文字列を各々のグループに分割し、テストセット内の記述文字列のために新たなテスト用注釈文字列を作成する。
【００９５】
しかしながら、ブロック５１０では、製品は、例えば、２つのセットにランダムに分割される。その理由は、方法４００をもって上述したように、記述文字列１３０からのトークンが注釈文字列１４０において既に注釈されているからである。したがって、注釈文字列１４０が既に完了したため、他の特定のオップションに従って製品を分割しても、必ずしも方法５００の動作を改善することはない。
【００９６】
ブロック５２０において、推論モジュール１６０は、ブロック４２０に関して説明したように、テストセットのトークンと規定の属性との間のマッチを推論する。ブロック５２０とブロック４２０との主な違いは、推論モジュール１６０がトレーニングおよびＣＲＦ解析を用いて、ブロック４２０のように新たなトークンを識別するのではなく、ブロック５２０で以前に識別されたトークンと推奨マッチとの間の矛盾を識別する。その理由は、方法４００を用いてトークンを既に識別したため、方法５００の目的は、新たなトークンを識別するのではなく、エラーを検出することであるからである。したがって、推論モジュール１６０は、ブロック５２０でテストセットの全てのトークンを新たに注釈／マッピングすることによって、ブロック５３０で比較を行うための新たなテスト用注釈文字列を提供する。
【００９７】
方法５００を継続すると、推論モジュール１６０は、ブロック５３０において、テスト用注釈文字列をテストセット内の製品の元の注釈文字列１４０と比較する。ブロック５３０に行われた比較は、元の注釈文字列１４０と、生成されたテストセット内の製品の新たなテスト用注釈文字列との間の提示エラーを識別する。推論モジュール１６０は、提示エラーをリストに格納するまたは次の承認／否認のために提示エラーを表示する。
【００９８】
ブロック５４０において、推論モジュール１６０は、元の注釈文字列１４０の提示エラーを選択的に訂正する。一実施形態において、推論モジュール１６０は、提示エラーの各々を訂正するか否かを示すエラー制御入力を受信する。一実施形態において、エラー制御入力は、属性を編集することができるユーザグループからのクラウドソース（crowd source）承認／不承認を示す。さらに、別の実施形態において、推論モジュール１６０は、全ての提示エラーを自動的に修正してもよく、同一のエラーの数が閾値を超える場合に提示エラーを修正してもよい。このようにして、誤って注釈されたトークンを識別および訂正することによって、記述文字列１３０から属性を抽出する精度を改善する。
【００９９】
ブロック５５０において、規定の閾値をチェックする。一実施形態において、規定の閾値は、エラーをチェックするために方法５００を繰り返す回数であってもよい。別の実施形態において、規定の閾値は、更なるエラーが承認されなくなるまで、方法５００を繰り返すことを示す。このようにして、方法４００の反復と同様に、後続の反復に追加の提示エラーをもたらすより正確なデータを用いて注釈文字列１４０を更新することによって、モデルを改善することができる。さらに、方法５００を繰り返して実行することによって、最終的に全ての記述文字列を少なくとも１つの反復によるテストセットに含むことができ、したがって少なくとも１回で可能なエラーをチェックすることができる。
【０１００】
コンピューティング装置の実施形態
図６は、本明細書に記載された１つ以上の例示的なシステムおよび方法および／または等価物で構成および／またはプログラムされたコンピューティング装置の例を示す。例示的なコンピューティング装置は、バス６０８によって動作可能に接続されたプロセッサ６０２、メモリ６０４および入出力ポート６１０を含むコンピュータ６００であってもよい。一例では、コンピュータ６００は、図１のコンピューティングシステム１００および関連する方法２００〜５００と同様に、記述ストリングから非構造化属性を容易に抽出するように構成された注釈ロジック６３０を含むことができる。異なる例では、抽出ロジック６３０は、ハードウェア、命令を記憶する非一時的なコンピュータ可読媒体、ファームウェア、および／またはそれらの組み合わせで実装されてもよい。抽出ロジック６３０は、バス６０８に取り付けられたハードウェア要素として示されているが、他の実施形態では、抽出ロジック６３０は、プロセッサ６０２に実装され、メモリ６０４に格納され、またはディスク６０６に格納されてもよい。
【０１０１】
一実施形態において、ロジック６３０またはコンピュータは、説明された動作を実行するための手段（例えば、ハードウェア、非一時的コンピュータ可読媒体、ファームウェアなどの構造体）である。いくつかの実施形態において、コンピューティング装置は、クラウドコンピューティングシステムで動作するサーバ、ＳａａＳ（Software as a Service）アーキテクチャに構築されたサーバ、スマートフォン、ラップトップ、タブレットコンピューティング装置などであってもよい。
【０１０２】
この手段は、例えば、識別された相関に従って注釈文字列に注釈し、識別されていないトークンと規定の属性との間のマッチを推測するようにプログラムされたＡＳＩＣとして実装することができる。また、この手段は、メモリ６０４に一時的に格納されるデータ６１６としてコンピュータ６００に提示され、その後プロセッサ６０２によって実行されるコンピュータ実行可能な命令として実装されてもよい。
【０１０３】
また、ロジック６３０は、条件付き確率場（ＣＲＦ）解析を実行することによって、マッチを推定し、推定されたマッチに従って属性を抽出し、非構造化データをデータベースに格納された構造化属性に変換するための電子棚札データベースのテーブルである電子データ構造を生成するための手段（例えば、ハードウェア、実行可能な命令を記憶する非一時的なコンピュータ可読媒体、ファームウェア）を提供することができる。
【０１０４】
コンピュータ６００の例示的な構成を概ね説明すると、プロセッサ６０２は、デュアルマイクロプロセッサおよび他のマルチプロセッサアーキテクチャを含む様々なプロセッサであってもよい。メモリ６０４は、揮発性メモリおよび／または不揮発性メモリを含むことができる。不揮発性メモリは、例えば、ＲＯＭ、ＰＲＯＭなどを含むことができる。揮発性メモリは、例えば、ＲＡＭ、ＳＲＡＭ、ＤＲＡＭなどを含むことができる。
【０１０５】
記憶ディスク６０６は、例えば、入出力（Ｉ／Ｏ）インターフェイス（例えば、カード、デバイス）６１８および入出力ポート６１０を介して、コンピュータ６００に動作可能に接続されてもよい。ディスク６０６は、例えば、磁気ディスクドライブ、ソリッドステートディスクドライブ、フロッピー（登録商標）ディスクドライブ、テープドライブ、Ｚｉｐドライブ、フラッシュメモリカード、メモリスティックなどであってもよい。また、ディスク６０６は、ＣＤ−ＲＯＭドライブ、ＣＤ−Ｒドライブ、ＣＤ−ＲＷドライブ、ＤＶＤ  ＲＯＭなどであってもよい。メモリ６０４は、例えば、プロセス６１４および／またはデータ６１６を格納することができる。ディスク６０６および／またはメモリ６０４は、コンピュータ６００のリソースを制御および割り当てるオペレーティングシステムを格納することができる。
【０１０６】
コンピュータ６００は、Ｉ／Ｏインターフェイス６１８および入出力ポート６１０を介して、入出力（Ｉ／Ｏ）装置と対話することができる。入出力装置は、例えば、キーボード、マイクロフォン、ポインティングおよび選択装置、カメラ、ビデオカード、ディスプレイ、ディスク６０６、ネットワーク装置６２０などを含む。入出力ポート６１０は、例えば、シリアルポート、パラレルポートおよびＵＳＢポートを含むことができる。
【０１０７】
コンピュータ６００は、ネットワーク環境で動作することができるため、Ｉ／Ｏインターフェイス６１８および／またはＩ／Ｏポート６１０を介してネットワーク装置６２０に接続することができる。コンピュータ６００は、ネットワーク装置６２０を介して、ネットワークと対話することができる。コンピュータ６００は、ネットワークを介して、リモートコンピュータに論理的に接続することができる。コンピュータ６００が対話することができるネットワークは、ＬＡＮ、ＷＡＮおよび他のネットワークを含むがこれらに限定されない。
【０１０８】
定義および他の実施形態
別の実施形態において、記載の方法および／またはその均等物は、コンピュータ実行可能な命令を用いて実装されてもよい。したがって、一実施形態において、非一時的コンピュータ可読／記憶媒体は、格納されたアルゴリズム／実行可能アプリケーションのコンピュータ実行可能な命令を含むように構成され、これらの命令は、機械装置によって実行されると、機械装置（および／または関連する要素）に方法を実行させる。例示的な機械装置は、プロセッサ、コンピュータ、クラウドコンピューティングシステムで動作するサーバ、ＳａａＳ（Software as a Service）アーキテクチャに構築されたサーバ、スマートフォンなどを含むがこれらに限定されない。一実施形態において、コンピューティング装置は、開示された方法のいずれかを実行するように構成された１つ以上の実行可能なアルゴリズムで実装される。
【０１０９】
１つ以上の実施形態において、開示された方法またはその均等物は、方法を実行するように構成されたコンピュータハードウェアによって実行され、または非一時的なコンピュータ可読媒体に格納されたモジュールに組み込まれ、コンピューティング装置の少なくともプロセッサによって実行されると方法を実行するように構成された実行可能なアルゴリズムとして構成されたコンピュータ命令によって実行される。
【０１１０】
説明を簡略化するために、図面に示された方法は、アルゴリズムの一連のブロックとして図示および説明されているが、理解すべきことは、これらの方法はブロックの順序によって制限されていないことである。いくつかのブロックは、図示および説明された順序と異なる順序でおよび／または他のブロックと同時に実行することができる。また、図示されたブロックの全てより少ないブロックを用いて、例示された方法を実施することができる。これらのブロックを複数の動作／コンポーネントに結合してもよく、複数の動作／コンポーネントに分割してもよい。さらに、追加および／または代替の方法は、ブロックに示されていない追加の動作を利用することができる。
【０１１１】
以下に、本明細書に使用された一部の用語の定義を説明する。定義は、用語の範囲に含まれ、実施に使用され得る要素の様々な例および／または形態を含む。これらの例は、限定の意図をしていない。用語の単数形および複数形の両方は、定義に含まれる。
【０１１２】
「１つの実施形態」、「一実施形態」、「１つの例」、「一例」などを言及する場合、記載された実施形態または例が特定の特徴、構造、特性、性質、要素または制限を含み得るが、必ずしも全ての実施形態または例が特定の特徴、構造、特性、性質、要素または制限を含むわけではない。また、「一実施形態において」という語句を繰り返して使用する場合、同一の実施形態を指す可能性があるが、必ずしも同一の実施形態を指すことはない。
【０１１３】
「データ構造」という用語は、本明細書に使用される場合、メモリ、記憶装置または他のコンピュータ化システムに記憶されているコンピュータシステム内のデータ構成である。データ構造は、例えば、データフィールド、データファイル、データアレイ、データレコード、データベース、データテーブル、グラフ、ツリー、リンクリストなどのいずれか１つであってもよい。データ構造は、多くの他のデータ構造（例えば、多くのデータレコードを含むデータベース）から形成されてもよく、多くの他のデータ構造を含むことができる。他の実施形態によれば、他のデータ構造の例も可能である。
【０１１４】
「コンピュータ可読媒体」または「コンピュータ記憶媒体」という用語は、本明細書に使用される場合、実行されると開示された１つ以上の機能を実行するように構成された命令および／またはデータを記憶する非一時的な媒体を指す。いくつかの実施形態において、データは、命令として機能することができる。コンピュータ可読媒体は、不揮発性媒体および揮発性媒体を含むがこれらに限定されない。不揮発性媒体は、例えば、光ディスク、磁気ディスクなどを含むことができる。揮発性媒体は、例えば、半導体メモリ、動的メモリなどを含むことができる。コンピュータ可読媒体の一般的な形態は、コンピュータ、プロセッサまたは他の電子装置が機能することができるフロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の磁気媒体、特定用途向け集積回路（ＡＳＩＣ）、プログラマブルロジック装置、コンパクトディスク（ＣＤ）、他の光学媒体、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、メモリチップまたはメモリカード、メモリスティック、ソリッドステートストレージ装置（ＳＳＤ）、フラッシュドライブ、および他の媒体を含むがこれらに限定されない。各種類の媒体は、実装のために１つの実施形態に選択された場合、１つ以上の開示および／または請求された機能を実行するように構成されたアルゴリズムの命令を記憶することができる。
【０１１５】
「ロジック」という用語は、本明細書に使用される場合、本明細書に記載の機能または動作のいずれかを実行するおよび／または他のロジック、方法および／またはシステムからの機能または動作を実行させるように構成されたコンピュータまたは電気ハードウェア、実行可能なアプリケーションまたはプログラムモジュールの命令を記憶する非一時的な媒体および／またはこれらの組み合わせを用いて実装されたコンポーネントを表す。ロジックの同等物は、開示された機能のうち１つ以上を実行するように構成され得るファームウェア、アルゴリズムでプログラムされたマイクロプロセッサ、離散ロジック（例えばＡＳＩＣ）、少なくとも１つの回路、アナログ回路、デジタル回路、プログラムされたロジック装置、アルゴリズムの命令を含むメモリ装置などを含んでもよい。一実施形態において、ロジックは、開示された機能のうち１つ以上を実行するように構成された１つ以上のゲート、ゲートの組み合わせ、または他の回路要素を含むことができる。複数のロジックを説明する場合、複数のロジックを１つのロジックに組み込むことが可能である。同様に、単一のロジックを説明する場合、単一のロジックを複数のロジックに分けることが可能である。一実施形態において、１つ以上のロジックは、開示および／または請求された機能を実行することに関連する構造に対応する。所望のシステム条件または仕様に基づいて、実装するロジックを選択することができる。たとえば、速度を重視する場合、ハードウェアを選択して、機能を実施する。より低いコストを重視する場合、記憶命令／実行可能なアプリケーションを選択して、機能を実施する。
【０１１６】
「ユーザ」という用語は、本明細書に使用される場合、１人以上の人間、コンピュータまたは他の装置、もしくはこれらの組み合わせを含むがこれらに限定されない。
【０１１７】
開示された実施形態は、かなり詳細で図示され記載されているが、添付の特許請求の範囲をその詳細に限定または制限することを意図していない。当然ながら、主題の様々な態様を説明するために、考えられる構成要素または方法のあらゆる組み合わせを記述することは不可能である。したがって、本開示は、特定の詳細または図示および説明された例示に限定されない。したがって、本開示は、添付の特許請求の範囲に含まれる変更、修正および変形を包含することを意図している。
【０１１８】
「含む」（includeまたはincluding）という用語は、詳細な説明または特許請求の範囲に使用される場合、請求項の移行語として使用される用語「comprising」と同様に、包括的意味を有すると意図されている。
【０１１９】
「または」という用語は、詳細な説明または特許請求の範囲に使用される場合（例えば、ＡまたはＢ）、「ＡまたはＢまたは両方」を意味することが意図されている。出願人が「両方ではなく、ＡまたはＢのみ」を指すことを意図する場合、「両方ではなく、ＡまたはＢのみ」というフレーズを使用する。したがって、「または」という用語は、本明細書において、排他的な意味ではなく、包括的な意味を有するものとして使用される。
【図１】
2019503541.tif 000012
【図２】
2019503541.tif 000013
【図３】
2019503541.tif 000014
【図４】
2019503541.tif 000015
【図５】
2019503541.tif 000016
【図６】
2019503541.tif 000017
【国際調査報告】
2019503541.tif 000018
2019503541.tif 000019