(57)【要約】  アプリケーションが、光学式文字認識(「OCR」)を用いて金融カードの画像からユーザ名を抽出し、ユーザ名のセグメントをユーザデータ内に記憶された名前と比較して、抽出された名前を手直しする。アプリケーションは、カード画像に対してOCRアルゴリズムを実行し、抽出された名前をユーザデータと比較する。アプリケーションは、抽出された名前に一致する可能性が高い名前を特定する。OCRアプリケーションは、抽出された名前を1つまたは複数の一連のセグメントに分け、抽出された名前からのセグメントを記憶された名前からのセグメントと比較する。OCRアプリケーションは、抽出された名前とそれぞれの潜在的に一致する記憶された名前との間の編集距離を決定する。編集距離が構成された閾値未満である場合、OCRアプリケーションは、特定された記憶された名前に一致するように抽出された名前を訂正する。手直しされた名前は、検証のためにユーザに提示される。
2018523188.tif 000002
【特許請求の範囲】
【請求項１】
金融カードからユーザ名を抽出し、前記ユーザ名のセグメントをユーザデータ内に記憶された名前と比較して前記抽出された名前を訂正するためのコンピュータによって実装される方法であって、
1つまたは複数のコンピューティングデバイスによって、カードのデジタル画像を受け取るステップと、
前記1つまたは複数のコンピューティングデバイスによって、前記カードの前記デジタル画像に光学式文字認識アルゴリズムを適用して、前記カードに関連するユーザの抽出された名前を取得するステップと、
前記1つまたは複数のコンピューティングデバイスによって、前記抽出されたユーザ名に関連する可能性が高い記憶されたユーザデータからの名前を特定するステップと、
前記1つまたは複数のコンピューティングデバイスによって、前記抽出された名前を一連のセグメントに分割するステップと、
前記1つまたは複数のコンピューティングデバイスによって、前記特定された名前を一連のセグメントに分割するステップと、
前記1つまたは複数のコンピューティングデバイスによって、前記抽出された名前の前記一連のセグメントを前記特定された名前の前記一連のセグメントと比較するステップと、
前記1つまたは複数のコンピューティングデバイスによって、前記抽出された名前の前記セグメントから前記特定された名前の一連のセグメントまでの編集距離を計算するステップと、
前記1つまたは複数のコンピューティングデバイスによって、前記編集距離が構成された閾値未満であると判定するステップと、
前記1つまたは複数のコンピューティングデバイスによって、前記特定された名前に基づいて前記抽出された名前の1つまたは複数のセグメントを訂正するステップと
を含む、方法。
【請求項２】
前記1つまたは複数のコンピューティングデバイスによって、前記抽出された名前を複数の一連のセグメントに分割するステップであって、前記複数の一連のセグメントの各々が、異なるセグメントの区切りを有する、ステップと、
前記1つまたは複数のコンピューティングデバイスによって、前記抽出された名前の前記複数の一連のセグメントの各々を前記特定された名前の前記一連のセグメントと比較するステップと、
前記1つまたは複数のコンピューティングデバイスによって、前記抽出された名前までの最も短い編集距離を有する前記複数の一連のセグメントのうちの1つを選択するステップと、
前記1つまたは複数のコンピューティングデバイスによって、前記編集距離が構成された閾値未満であると判定するステップと、
前記1つまたは複数のコンピューティングデバイスによって、前記特定された名前に基づいて前記抽出された名前を訂正するステップと
をさらに含む、請求項1に記載の方法。
【請求項３】
前記抽出された名前および前記特定された名前が、前記名前の中のそれぞれの空白においてセグメントに分割される、請求項1または2に記載の方法。
【請求項４】
前記1つまたは複数のコンピューティングデバイスによって、前記訂正された名前を、検証または訂正のために前記ユーザに提供するステップと、
前記1つまたは複数のコンピューティングデバイスによって、前記ユーザから前記訂正の入力を受け取るステップと
をさらに含む、請求項1から3のいずれか一項に記載の方法。
【請求項５】
前記カードが、クレジットカード、デビットカード、身分証明カード、ポイントカード、アクセスカード、またはストアドバリューカードを含む、請求項1から4のいずれか一項に記載の方法。
【請求項６】
前記1つまたは複数のコンピューティングデバイスによって、前記訂正された名前を、取引で使用するために前記1つまたは複数のコンピューティングデバイス上のデジタル財布アプリケーションに提供するステップをさらに含む、請求項1から5のいずれか一項に記載の方法。
【請求項７】
前記編集距離が、対応する特定された名前のセグメントに一致するために訂正を必要とする前記抽出された名前のセグメント内の文字の数である、請求項1から6のいずれか一項に記載の方法。
【請求項８】
前記1つまたは複数のコンピューティングデバイスによって、前記抽出された名前のセグメントが前記特定された名前の中に対応するセグメントを持たない場合に前記抽出された名前の前記セグメントを省くステップをさらに含む、請求項1から7のいずれか一項に記載の方法。
【請求項９】
前記記憶されたユーザデータが、前記1つまたは複数のコンピューティングデバイス上の連絡先リストからのものである、請求項1から8のいずれか一項に記載の方法。
【請求項１０】
前記記憶されたユーザデータが、前記1つまたは複数のコンピューティングデバイス上に保持される前記ユーザの口座からのものである、請求項1から9のいずれか一項に記載の方法。
【請求項１１】
コンピュータによって実行されるときに、前記コンピュータに、金融カードからユーザ名を抽出させ、前記ユーザ名のセグメントをユーザデータ内に記憶された名前と比較して前記抽出された名前を訂正させるコンピュータが実行可能なプログラム命令を具現化させるコンピュータ可読ストレージデバイスであって、前記コンピュータが実行可能なプログラム命令が、
金融カードのデジタル画像を受信するためのコンピュータ可読プログラム命令と、
前記金融カードの前記デジタル画像に光学式文字認識アルゴリズムを適用して、前記カードに関連するユーザの抽出された名前を取得するためのコンピュータ可読プログラム命令と、
前記抽出された名前に関連する可能性が高い記憶されたユーザデータからの名前を特定するためのコンピュータ可読プログラム命令と、
前記抽出された名前を複数の一連のセグメントに分割するためのコンピュータ可読プログラム命令であって、前記複数の一連のセグメントの各々が、異なるセグメントの区切りを有する、コンピュータ可読プログラム命令と、
前記特定された名前を一連のセグメントに分割するためのコンピュータ可読プログラム命令と、
前記抽出された名前の前記複数の一連のセグメントの各々を前記特定された名前の前記一連のセグメントと比較するためのコンピュータ可読プログラム命令と、
前記抽出された名前の前記セグメントから前記特定された名前の一連のセグメントまでの編集距離を計算するためのコンピュータ可読プログラム命令と、
前記抽出された名前までの最も短い編集距離を有する前記複数の一連のセグメントのうちの1つを選択するためのコンピュータ可読プログラム命令と、
前記編集距離が構成された閾値未満であると判定するためのコンピュータ可読プログラム命令と、
前記特定された名前に基づいて前記抽出された名前を訂正するためのコンピュータ可読プログラム命令と
を含む、コンピュータ可読ストレージデバイス。
【請求項１２】
前記抽出された名前および前記特定された名前が、前記名前の中のそれぞれの空白においてセグメントに分割される、請求項11に記載のコンピュータ可読ストレージデバイス。
【請求項１３】
信頼性のレベルが予め構成された閾値未満であると判定すると、前記金融カードの前記デジタル画像に前記光学式文字認識アルゴリズムを再適用するためのコンピュータが実行可能なプログラム命令をさらに含む、請求項11または12に記載のコンピュータ可読ストレージデバイス。
【請求項１４】
前記訂正された名前を、取引で使用するためにユーザコンピューティングデバイス上のデジタル財布アプリケーションに提供するためのコンピュータ可読プログラム命令をさらに含む、請求項11から13のいずれか一項に記載のコンピュータ可読ストレージデバイス。
【請求項１５】
前記金融カードが、クレジットカードまたはデビットカードを含む、請求項11から14のいずれか一項に記載のコンピュータ可読ストレージデバイス。
【請求項１６】
前記記憶されたユーザデータが、1つまたは複数のコンピューティングデバイス上の連絡先リストからのものである、請求項11から15のいずれか一項に記載のコンピュータ可読ストレージデバイス。
【請求項１７】
金融カードからユーザ名を抽出し、前記ユーザ名のセグメントをユーザデータ内に記憶された名前と比較して前記抽出された名前を訂正するためのシステムであって、
ストレージデバイスと、
前記ストレージデバイスに通信可能なように結合されたプロセッサであって、前記システムに、
カードのデジタル画像を受け取ることと、
前記カードの前記デジタル画像に光学式文字認識アルゴリズムを適用して、前記カードに関連するユーザの抽出された名前を取得することと、
前記抽出された名前に関連する可能性が高い記憶されたユーザデータからの名前を特定することと、
前記抽出された名前を一連のセグメントに分割することと、
前記特定された名前を一連のセグメントに分割することと、
前記抽出された名前の前記一連のセグメントを前記特定された名前の前記一連のセグメントと比較することと、
前記抽出された名前の前記セグメントから前記特定された名前の一連のセグメントまでの編集距離を計算することと、
前記編集距離が構成された閾値未満であると判定することと、
訂正された名前を、検証または訂正のためにユーザに提供することであって、前記訂正が、前記特定された名前に基づく、提供することと、
前記ユーザから前記訂正の検証を受け取ることと
を行わせるために前記ストレージデバイスに記憶されるコンピュータ可読命令を実行するように構成される、プロセッサと
を含む、システム。
【請求項１８】
前記編集距離が、対応する特定された名前のセグメントに一致するために訂正を必要とする抽出された名前のセグメント内の文字の数である、請求項17に記載のシステム。
【請求項１９】
前記抽出された名前および前記特定された名前が、前記名前の中のそれぞれの空白においてセグメントに分割される、請求項17または18に記載のシステム。
【請求項２０】
前記記憶されたユーザデータが、前記プロセッサ上に保持される前記ユーザの口座からのものである、請求項17から19のいずれか一項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、2015年8月16日に出願した、「Comparing An Extracted User Name with Stored User Data」と題した米国特許出願第14/827,330号の優先権を主張するものである。上で特定された優先権出願の内容の全体は、参照により本明細書に完全に組み込まれる。
【０００２】
本明細書において開示されるテクノロジーは、金融カードからユーザ名を抽出し、ユーザ名のセグメントをユーザデータ内に記憶された名前と比較して抽出された名前を手直しすることに関する。
【背景技術】
【０００３】
消費者は、オンライン購入またはモバイルデバイスを用いる購入を行うとき、支払いのためにモバイルデバイスにクレジットカードの情報を入力することを強いられることが多い。モバイルデバイスの小さなスクリーンサイズおよびキーボードインターフェースが原因で、概して、そのような入力は煩わしく、誤りやすい。ユーザは、クレジットカード、デビットカード、ストアドバリューカード(stored value card)、およびその他のカードなどの購入のための多くの異なるカードを使用する可能性がある。情報の入力の難しさは、小売商が複数の取引に関してモバイルデバイス上でモバイル決済を処理しようとするために高められる。
【０００４】
ペイメントカードから支払い情報を取得するために光学式文字認識(「OCR」)アプリケーションを使用するための現在の応用は、抽出された名前を訂正するためにユーザデータ内に記憶された名前および連絡先などのその他の利用可能なデータを利用しない。
【発明の概要】
【課題を解決するための手段】
【０００５】
本明細書の技術は、ユーザコンピューティングデバイスが光学式文字認識(「OCR」)を用いて、抽出された名前を手直しするためにユーザ名のセグメントをユーザデータ内に記憶された名前と比較して金融カードの画像からユーザ名を抽出することを可能にするためのコンピュータによって実装される方法を提供する。OCRアプリケーションが、カードの画像を取り込み、カード画像に対してOCRアルゴリズムを実行する。OCRアプリケーションは、潜在的に一致する記憶された名前のリストを特定する。OCRアプリケーションは、抽出された名前を1つまたは複数の一連のセグメントに分け、抽出された名前からのセグメントを記憶された名前からのセグメントと比較する。OCRアプリケーションは、抽出された名前とそれぞれの潜在的に一致する記憶された名前との間の編集距離(edit distance)を決定する。全体的な編集距離が、各セグメントに関する編集距離およびセグメント間の編集距離を考慮に入れることによって計算される。最も小さな全体的な編集距離を有する一連を特定した後、OCRアプリケーションは、編集距離を構成された閾値と比較する。編集距離が閾値未満である場合、OCRアプリケーションは、特定された記憶された名前に一致するように抽出された名前を訂正する。手直しされた名前は、検証のためにユーザに提示される。
【０００６】
本明細書において説明される特定のその他の例示的な態様においては、金融カードからユーザ名を抽出し、ユーザ名のセグメントをユーザデータ内に記憶された名前と比較して抽出された名前を手直しするためのシステムおよびコンピュータプログラム製品が提供される。
【０００７】
例示的な実施形態のこれらのおよびその他の態様、目的、特徴、および利点は、示される例示的な実施形態の以降の詳細な説明を考慮すると当業者に明らかになるであろう。
【図面の簡単な説明】
【０００８】
【図１】本明細書において開示されるテクノロジーの特定の例示的な実施形態による記憶されたユーザ名を使用して抽出されたユーザ名を検証し、正すためのシステムを示すブロック図である。
【図２】特定の例示的な実施形態による記憶されたユーザ名を使用して抽出されたユーザ名を検証し、正すための方法を示すブロック流れ図である。
【図３】特定の例示的な実施形態による抽出された名前を分析されたユーザデータと比較するための方法を示すブロック流れ図である。
【図４】特定の例示的な実施形態による金融カードの画像を表示するユーザコンピューティングデバイスの図である。
【図５】特定の例示的な実施形態によるコンピューティングマシンおよびモジュールを示すブロック図である。
【発明を実施するための形態】
【０００９】
概要
本明細書の実施形態は、ユーザコンピューティングデバイスが光学式文字認識(「OCR」)を用いて、抽出された名前を手直しするためにユーザ名のセグメントをユーザデータ内に記憶された名前と比較して金融カードの画像からユーザ名を抽出することを可能にするためのコンピュータによって実装される技術を提供する。
【００１０】
ユーザは、モバイル電話、デジタルカメラ、またはその他のユーザコンピューティングデバイスを用いて、ユーザコンピューティングデバイスに入力したい口座に関連するカードの画像を取り込む。ユーザコンピューティングデバイスまたはユーザコンピューティングデバイスに関連するサーバ上で動作するOCRアプリケーションが、カードの画像を受け取る。OCRアプリケーションは、カード画像に対してOCRアルゴリズムを実行し、抽出された名前を、ユーザコンピューティングデバイス上に、もしくは連絡先データベース、ユーザの金融口座、デジタル財布口座などのユーザに関連する任意の関連口座内に記憶されたユーザデータ、もしくは任意その他の好適なユーザデータと比較する。OCRアプリケーションは、潜在的に一致する記憶された名前のリストを特定する。
【００１１】
OCRアプリケーションは、抽出された名前を1つまたは複数の一連のセグメントに分ける。一例において、セグメントは、抽出された名前の中のそれぞれの空白において分けられる。たとえば、名前John A Smithにおいて、セグメントは、Jon / A /Smithのような3つのセグメントに分けられる可能性がある。名前認識アルゴリズムにおいて特定された記憶された名前が、同様にしてセグメントに分けられる。
【００１２】
OCRアプリケーションは、抽出された名前からのセグメントを記憶された名前からのセグメントと比較する。OCRアプリケーションは、比較において各組の名前の間の編集距離を決定する。たとえば、記憶された名前の第1のセグメントがJanである場合、編集距離は1文字である。つまり、Jonの単一の文字「o」を「a」に変えることが、記憶された名前のセグメント「Jan」を生成する。全体的な編集距離が、各セグメントに関する編集距離およびセグメント間の編集距離を考慮に入れることによって計算される可能性がある。たとえば、3つのセグメントのうちの2つが完全に一致するが、1つのセグメントが編集を必要とする場合、セグメント間の編集距離は、1セグメントである。
【００１３】
別の例においては、全体的な編集距離が、各セグメントに関する編集距離を合計することによって計算される可能性がある。別の例において、比較された名前の中に対応するセグメントを持たないセグメントは、全体的な編集距離に寄与しない。別の例において、記憶された名前からのスキップされたセグメントは、全体的な編集距離に寄与しないが、対応する記憶された名前のセグメントを持たない抽出されたセグメントは、全体的な編集距離に寄与する。
【００１４】
別の例においては、追加的なセグメントの分け目が、抽出された名前に関して特定される可能性がある。たとえば、Jon A Smithは、Jon / A Smith、Jon A / Smith、もしくはJon / A / Smith、またはセグメントの任意のその他の好適なグループにセグメント分けされる可能性がある。
【００１５】
別の例においては、特定の文字が、金融カードからすり減って薄れており、抽出された名前がJon A Sm thであるなど、抽出された名前の中に空白を残す可能性がある。OCRアプリケーションは、例示的な抽出された名前を1、2、3、または4セグメントに分割する可能性がある。記憶された名前との比較の後、最も小さな編集距離を生じるセグメントの数が、利用される可能性がある。
【００１６】
最も短い全体的な編集距離を有する一連を特定した後、OCRアプリケーションは、編集距離を構成された閾値と比較する。編集距離が閾値未満である場合、OCRアプリケーションは、特定された記憶された名前に一致するように抽出された名前を訂正する。訂正された名前は、検証のためにユーザに提示される。訂正された名前は、デジタル財布アプリケーションなどのユーザ名を利用するアプリケーションまたはシステムに伝達される。
【００１７】
特定の例において、抽出された名前は、完全な記憶された名前を反映するために訂正されない。つまり、全体的な編集距離が、訂正を認めるかまたは却下するためだけに使用されない。その代わりに、個々の抽出された名前のセグメントが構成された閾値未満の編集距離を有する場合、個々の抽出された名前のセグメントが訂正される可能性がある。個々のセグメントを訂正することは、部分的な一致が使用されることを可能にする。一例において、ユーザは、ユーザデバイスを使用して配偶者のカードをスキャンする。カード上の姓のセグメントがユーザデバイスに関連するセル電話の口座の口座名の姓に一致する場合、OCRアプリケーションは、姓のセグメントに対して修正を実行する。しかし、名が閾値未満で一致しない場合、名は訂正されない。
【００１８】
本明細書において説明される方法およびシステムを使用し、それらに依拠することによって、OCRアプリケーション、OCRシステム、ユーザコンピューティングデバイス、またはその他のコンピューティングシステムは、金融カードからユーザ名を抽出し、ユーザ名のセグメントをユーザデータ内に記憶された名前と比較して、名前を手直しすることによって抽出プロセスを改良する。したがって、本明細書において説明されるシステムおよび方法は、コンピューティングデバイスが連絡先アプリケーションおよび口座名などのユーザデータを利用して、ユーザに提示する前に提案されるユーザ名を検証し、訂正することを可能にするために使用され得る。抽出プロセスを改良するためにユーザデータに依拠することは、コンピューティングデバイスがより正確で精密なデータ抽出をユーザに提供することを可能にする。改良された抽出は、ユーザが金融カードのデータをデジタル財布またはその他の好適なアプリケーションに入力するために必要とされる時間を短縮し、手間を少なくすることを可能にする。さらに、フルネームに対して対応する操作を実行することが(より計算が複雑なために)セグメント毎に同じ操作を実行するよりも多くの計算リソースを必要とするので、抽出された名前および記憶された名前を1つまたは複数の一連のセグメントに分け、それから、比較し、セグメント毎に編集距離を計算することは、手直しされた名前を計算するための効率的な実装をもたらす。
【００１９】
例示的なシステムアーキテクチャ
図全体を通じて同様の番号が同様の(しかし、必ずしも同一ではない)要素を表す図面にここで目を向けて、例示的な実施形態が詳細に説明される。
【００２０】
図1は、特定の例示的な実施形態による記憶されたユーザ名を使用して抽出されたユーザ名を検証し、正すためのシステムを示すブロック図である。
【００２１】
図1に示されるように、システム100は、1つまたは複数のネットワーク105を介して互いに通信するように構成されるネットワークコンピューティングデバイス110、120、および170を含む。一部の実施形態においては、デバイスに関連するユーザ101が、本明細書に記載の技術の恩恵を得るためにアプリケーションをインストールしおよび/または特徴の選択をしなければならない。
【００２２】
各ネットワーク105は、(デバイス110、120、および170を含む)ネットワークデバイスがデータを交換し得る有線またはワイヤレス電気通信手段を含む。たとえば、各ネットワーク105は、ローカルエリアネットワーク(「LAN」)、広域ネットワーク(「WAN」)、イントラネット、インターネット、モバイル電話ネットワーク、ストレージエリアネットワーク(SAN)、パーソナルエリアネットワーク(PAN)、メトロポリタンエリアネットワーク(MAN)、ワイヤレスローカルエリアネットワーク(WLAN)、仮想プライベートネットワーク(VPN)、セルラーもしくはその他のモバイル通信ネットワーク、Bluetooth(登録商標)、NFC、またはそれらの任意の組合せ、あるいは信号またはデータの通信を容易にする任意のその他の適切なアーキテクチャまたはシステムを含む可能性がある。例示的な実施形態の検討全体を通じて、用語「データ」および「情報」はテキスト、画像、音声、動画、またはコンピュータに基づく環境内に存在する可能性がある任意のその他の形態の情報を指すために本明細書において交換可能なように使用されることを理解されたい。デバイス110、120、および170によって利用される通信テクノロジーは、ネットワーク105と同様のネットワークまたは代替的な通信テクノロジーである可能性がある。
【００２３】
各ネットワークコンピューティングデバイス110、120、および170は、ネットワーク105を介してデータを送信および受信することができる通信モジュールを有するデバイスを含む。たとえば、各ネットワークデバイス110、120、および170は、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、1つもしくは複数のプロセッサが組み込まれたおよび/もしくは結合されたテレビ、スマートフォン、ハンドヘルドコンピュータ、携帯情報端末(「PDA」)、または任意のその他の有線もしくはワイヤレスプロセッサ駆動デバイスを含み得る。図1に示された例示的な実施形態において、ネットワークデバイス110、120、および170は、それぞれ、エンドユーザまたは消費者、OCRシステムのオペレータ、およびカード発行者のオペレータによって操作される。
【００２４】
ユーザ101は、たとえば、ウェブブラウザアプリケーションまたはスタンドアロンのアプリケーションである可能性がある通信アプリケーション112を用いて、分散型ネットワーク105を介してドキュメントまたはウェブページを閲覧するか、ダウンロードするか、アップロードするか、またはそうでなければそこにアクセスすることができる。ネットワーク105は、(デバイス110、120、および170を含む)ネットワークデバイスがデータを交換し得る有線またはワイヤレス電気通信システムまたはデバイスを含む。たとえば、ネットワーク105は、ローカルエリアネットワーク(「LAN」)、広域ネットワーク(「WAN」)、イントラネット、インターネット、ストレージエリアネットワーク(SAN)、パーソナルエリアネットワーク(PAN)、メトロポリタンエリアネットワーク(MAN)、ワイヤレスローカルエリアネットワーク(WLAN)、仮想プライベートネットワーク(VPN)、セルラーもしくはその他のモバイル通信ネットワーク、Bluetooth(登録商標)、NFC、またはそれらの任意の組合せ、あるいは信号、データ、および/またはメッセージの通信を容易にする任意のその他の適切なアーキテクチャまたはシステムを含む可能性がある。
【００２５】
ユーザコンピューティングデバイス110は、通信アプリケーション112を用いてOCRシステム120のウェブサーバ124またはその他のサーバと通信し得る。通信アプリケーション112は、デバイスがネットワーク105以外のテクノロジーによって通信することを可能にし得る。例は、セルラーネットワーク、無線ネットワーク、またはその他の通信ネットワークを含む可能性がある。
【００２６】
ユーザコンピューティングデバイス110は、デジタル財布アプリケーション111を含み得る。デジタル財布アプリケーション111は、ユーザ101が購入を完了するのを支援するためにユーザコンピューティングデバイス110が使用し得る任意のアプリケーション、ハードウェア、ソフトウェア、またはプロセスを包含する可能性がある。デジタル財布アプリケーション111は、通信アプリケーション112とインタラクションすることができるか、または通信アプリケーション112の付随アプリケーションとして組み込まれる可能性がある。付随アプリケーションとして、デジタル財布アプリケーション111は、通信アプリケーション112内で実行される。つまり、デジタル財布アプリケーション111は、通信アプリケーション112に組み込まれたアプリケーションプログラムである可能性がある。特定の実施形態において、ユーザ101のデジタル財布は、クラウドコンピューティング環境内、小売商のサーバ上、または任意のその他の環境内に存在する可能性がある。
【００２７】
ユーザコンピューティングデバイス110は、光学式文字認識(「OCR」)アプリケーション115を含み得る。OCRアプリケーション115は、通信アプリケーション112とインタラクションするか、または通信アプリケーション112の付随アプリケーションとして組み込まれ、通信アプリケーション112内で実行される可能性がある。例示的な実施形態において、OCRアプリケーション115は、追加的にまたは代替的に、デジタル財布アプリケーション111の付随アプリケーションとして組み込まれ、デジタル財布アプリケーション111内で実行される可能性がある。OCRアプリケーション115は、デジタル財布アプリケーション111内に開く可能性があるかまたは通信アプリケーション112内に開く可能性があるソフトウェアインターフェースを使用し得る。インターフェースは、ユーザ101がOCRアプリケーション115を構成することを可能にし得る。
【００２８】
OCRアプリケーション115は、カード102を分析し、カード102から情報またはその他のデータを抽出するために使用され得る。OCRシステム120、またはOCRアルゴリズムもしくはその他の方法を展開するその他のシステムは、OCRシステム120がOCRアプリケーション115とインタラクションすることを可能にする、たとえば、JavaScript(登録商標)を用いる1組のコンピュータ可読プログラム命令を含み得る。
【００２９】
OCRアプリケーション115によって実行されるものとして本明細書において説明される機能のいずれかが、OCRシステム120、ユーザコンピューティングデバイス110、デジタル財布アプリケーション111、小売システム(図示せず)、または任意のその他の好適なハードウェアもしくはソフトウェアシステムもしくはアプリケーションによって実行される可能性がある。一例においては、ユーザコンピューティングデバイス110上のOCRアプリケーション115が、カード102の画像を取得し、カード102上の情報を抽出するためにOCRシステム120に画像を送信する可能性がある。
【００３０】
ユーザコンピューティングデバイス110は、OCRアプリケーション115によってアクセスされ得るデータストレージユニット113、通信アプリケーション112、または任意の好適なコンピューティングデバイスもしくはアプリケーションを含む。例示的なデータストレージユニット113は、1つまたは複数の有形のコンピュータ可読媒体を含み得る。データストレージユニット113は、ユーザコンピューティングデバイス110に記憶される可能性があり、またはユーザコンピューティングデバイス110に論理的に結合される可能性がある。たとえば、データストレージユニット113は、オンボードフラッシュメモリおよび/または1つもしくは複数の取り外し可能なメモリカードもしくは取り外し可能なフラッシュメモリを含み得る。
【００３１】
ユーザコンピューティングデバイス110は、カメラ114を含み得る。カメラは、デジタル画像を取得するユーザコンピューティングデバイス110の任意のモジュールまたは機能である可能性がある。カメラ114は、ユーザコンピューティングデバイス110に搭載されているか、またはユーザコンピューティングデバイス110に任意の方法で論理的に接続される可能性がある。カメラ114は、個々の画像または動画のスキャンを得ることができる可能性がある。任意のその他の好適な画像撮影デバイスが、カメラ114によって表される可能性がある。
【００３２】
ユーザコンピューティングデバイス110は、ユーザアプリケーション116を含み得る。ユーザアプリケーション116は、連絡先アプリケーション、電子メールアプリケーション、デジタル財布アプリケーション111、またはユーザ101の名前および/もしくはユーザ101の知人の名前を使用する可能性がある任意のアプリケーションである可能性がある。ユーザ101は、ユーザアプリケーション116からの名前およびその他のデータにアクセスするためのパーミッションをOCRアプリケーション115に与える可能性がある。OCRアプリケーション115は、ユーザアプリケーション116のデータを使用してOCRプロセスを検証または改良し得る。
【００３３】
銀行またはその他の機関などのカード発行者は、登録される金融口座の発行者である可能性がある。たとえば、カード発行者は、クレジットカードの発行者、デビットカードの発行者、ストアドバリューカードの発行者、口座を提供する金融機関、または金融口座の任意のその他の提供者である可能性がある。決済処理システム(図示せず)が、関連する金融口座に関する発行者として機能する可能性もある。ユーザ101の登録情報は、カード発行者のデータストレージユニットに保存され、ウェブサーバ174によってアクセスされ得る。カード発行者は、カード発行者システム170を使用してカードを発行し、ユーザの口座を管理し、任意のその他の好適な機能を実行する。代替的に、カード発行者システム170は、本人確認、アクセス、検証、発券のために使用されるカード、または任意の他の好適な目的のためのカードを発行する可能性がある。カード発行者システム170は、ユーザ101がカードを登録することを可能にし、小売商がカード発行者システム170と通信し、取引を行い、または任意のその他の好適なタスクを実行することを可能にするためにウェブサーバ174を使用する。
【００３４】
OCRシステム120は、OCRアルゴリズム、方法、プロセス、またはサービスを生成するか、管理するか、記憶するか、または維持するシステムを動作させるOCRシステムのウェブサーバ124を利用する。OCRシステムのウェブサーバ124は、ユーザコンピューティングデバイス110、小売コンピューティングシステム、または任意の好適な主体にOCRサービスを提供するためにOCRシステム120が使用するコンピュータによって実装されるシステムを表す可能性がある。OCRシステムのウェブサーバ124は、任意の利用可能なテクノロジーによって1つもしくは複数の決済処理システム、ユーザコンピューティングデバイス110、またはその他のコンピューティングデバイスと通信し得る。そのようなテクノロジーは、たとえば、ネットワーク105を介したインターネット接続、電子メール、テキスト、インスタントメッセージング、またはその他の好適な通信テクノロジーを含む可能性がある。OCRシステム120は、OCRシステム120のウェブサーバ124によってアクセスされ得るデータストレージユニット127を含み得る。データストレージユニット127は、1つまたは複数の有形のコンピュータ可読ストレージデバイスを含み得る。
【００３５】
特定の例においては、OCRシステム120によって実行されるものとして本明細書において説明される機能のいずれかが、OCRアプリケーション115、ユーザコンピューティングデバイス110、または任意のその他の好適なハードウェアもしくはソフトウェアシステムもしくはアプリケーションによって実行される可能性がある。
【００３６】
本明細書の全体を通じて、広い用語「カード」は、決済口座カード102などの任意の種類の物理的なカード機器を表すために使用される。例示的な実施形態において、「カード」102によって表される異なる種類のカード102は、クレジットカード、デビットカード、ストアドバリューカード、ポイントカード、身分証明カード、またはカード上にユーザ101の口座もしくはその他の情報を表す任意のその他の好適なカードを含み得る。
【００３７】
ユーザ101は、購入、チケットによる入場、ポイント制度へのチェックイン、またはその他の好適な取引などの取引を行うときにカード102を使用する可能性がある。ユーザ101は、カード102によって表される口座をコンピューティングデバイス110のデジタル財布アプリケーション111にインポートする目的またはその他のデジタル口座の目的でカード情報を得る可能性がある。概して、カード102は、カード102上に口座情報およびその他のデータを含むプラスチックカードである。多くのカード102の実施形態においては、顧客の名前、有効期限、およびカード番号が、カード102上に物理的に浮き出し印刷される。浮き出し印刷された情報は、概してカード102の裏では裏返されるが、カード102の表と裏との両方から見える。
【００３８】
示されたネットワーク接続は例示的であり、コンピュータとデバイスとの間で通信リンクを確立するその他の手段が使用され得ることが認識されるであろう。さらに、本開示の恩恵を有する当業者は、図1に示されたユーザコンピューティングデバイス110、OCRシステム120、およびカード発行者システム170がいくつかのその他の好適なコンピュータシステムの構成のいずれかを有する可能性があることを理解するであろう。たとえば、モバイル電話またはハンドヘルドコンピュータとして具現化されるユーザコンピューティングデバイス110は、上述のすべての構成要素を含まない可能性がある。
【００３９】
例示的な実施形態において、本明細書において提示されるテクノロジーに関連するネットワークコンピューティングデバイスおよび任意のその他のコンピューティングマシンは、図5に関連してより詳細に検討されるコンピューティングマシンなどであるがこれに限定されない任意の種類のコンピューティングマシンである可能性がある。さらに、本明細書において説明される機能、アプリケーション、もしくはモジュールなどのこれらのコンピューティングマシンのいずれかに関連する任意の機能、アプリケーション、もしくはモジュール、または本明細書において提示されるテクノロジーに関連する任意のその他のもの(たとえば、スクリプト、Webコンテンツ、ソフトウェア、ファームウェア、もしくはハードウェア)は、図5に関連してより詳細に検討されるモジュールのいずれかである可能性がある。本明細書において検討されるコンピューティングマシンは、ネットワーク105などの1つまたは複数のネットワークを介して互いに通信し、その他のコンピューティングマシンまたは通信システムと通信する可能性がある。ネットワーク105は、図5に関連して検討されるネットワークテクノロジーのいずれかを含む任意の種類のデータおよび通信ネットワークを含む可能性がある。
【００４０】
例示的なプロセス
図2〜図3に示される例示的な方法が、例示的な動作環境100の構成要素に関連して以降で説明される。図2〜図3の例示的な方法は、その他のシステムによって、その他の環境内で実行される可能性もある。
【００４１】
図2は、特定の例示的な実施形態による記憶されたユーザ名を使用して抽出されたユーザ名を検証し、正すための方法200を示すブロック流れ図である。
【００４２】
図1および図2を参照すると、ブロック205において、ユーザコンピューティングデバイス110上の光学式文字認識(「OCR」)アプリケーション115が、決済口座カード102のデジタルスキャンまたは画像を取得する。ユーザ101は、モバイル電話、デジタルカメラ、またはその他のユーザコンピューティングデバイス110を用いて、ユーザコンピューティングデバイス110に入力したい口座に関連するカード102の画像を取り込む。
【００４３】
本明細書の全体を通じて、広い用語「カード」は、磁気ストライプカードなどの任意の種類の物理的なカード機器を表すために使用される。例示的な実施形態において、「カード」102によって表される異なる種類の機器は、クレジットカード、デビットカード、ストアドバリューカード、ポイントカード、身分証明カード、あるいはカード上にユーザの口座もしくはその他の記録またはその他の情報を表す任意のその他の好適なカードを含み得る。本明細書において説明される例示的な実施形態は、レシート、搭乗券、チケット、およびその他の好適な物などのその他の物の画像に適用され得る。カード102は、カードの画像または複写である可能性もある。たとえば、カード102は、ディスプレイスクリーン上のカードの表現またはカード102の印刷された画像である可能性がある。
【００４４】
ユーザ101は、購入、チケットによる入場、ポイント制度へのチェックイン、またはその他の好適な取引などの取引を行うときにカード102を使用する可能性がある。ユーザ101は、カード102によって表される口座をコンピューティングデバイス110のデジタル財布アプリケーション111モジュールにインポートする目的またはその他のデジタル口座の目的でカード情報を得る可能性がある。概して、カード102は、カード102上に口座情報およびその他のデータを含むプラスチックカードである。多くのカード102の実施形態においては、顧客の名前、有効期限、およびカード番号が、カード上に物理的に浮き出し印刷されるかまたはその他の方法で書き込まれる。
【００４５】
ユーザ101は、たとえば、オンライン購入を行うため、小売店において購入を行うため、ユーザコンピューティングデバイス上のデジタル財布アプリケーション111に情報を追加するため、または任意のその他の好適な理由で、カード102からの情報をユーザコンピューティングデバイス110またはその他のコンピューティングデバイスに入力したい可能性がある。一例において、ユーザ101は、モバイルコンピューティングデバイス上で実行されるデジタル財布アプリケーション111を使用して購入取引を行うためにユーザコンピューティングデバイス110を使用することを望む。デジタル財布アプリケーション111は、特定のユーザの決済口座によって取引を行うためまたは口座を設定するために特定のユーザの決済口座の詳細の入力を必要とする可能性がある。モバイルデバイスの小さなスクリーンサイズおよびキーボードインターフェースが原因で、そのような入力は、手動入力であるために煩わしく、誤りやすい可能性がある。さらに、小売システムは、取引を行うためまたはその他の理由でカード情報を取り込む必要がある可能性がある。
【００４６】
ユーザコンピューティングデバイス110上のOCRアプリケーション115が、ユーザ101の名前などの必要とされる情報を抽出する目的でカード102の画像を受け取る。画像は、モバイル電話のカメラ114などのユーザコンピューティングデバイス110のカメラ114またはその他のデジタル画像モジュールから得られる可能性がある。画像は、ユーザコンピューティングデバイス110に結合されたスキャナまたは任意のその他の好適なデジタル撮像デバイスから得られる可能性がある。画像は、ユーザコンピューティングデバイス110によって取り込まれた動画から得られる可能性がある。画像は、ユーザコンピューティングデバイス110上の記憶位置、遠隔の記憶位置、または任意の好適な位置から、ユーザコンピューティングデバイス110上のOCRアプリケーション115によってアクセスされ得る。画像を提供することができるすべてのソースが、本明細書では「カメラ」114と呼ばれる。
【００４７】
OCRアプリケーション115は、カメラ114からカード102の画像を受け取る。OCRアプリケーション115の機能は、ユーザコンピューティングデバイス上で動作する任意の好適なモジュール、ハードウェア、ソフトウェア、またはアプリケーションによって実行される可能性がある。OCRアプリケーション115の機能の一部またはすべてが、OCRシステム120内で動作するサーバなどの遠隔のサーバまたはその他のコンピューティングデバイスによって実行される可能性がある。たとえば、ユーザコンピューティングデバイス110上のデジタル財布アプリケーション111が、カード102の画像を取得し、処理するためにOCRシステム120に画像を送信する可能性がある。別の例においては、OCR機能の一部が、ユーザコンピューティングデバイス110によって実行される可能性があり、一部が、OCRシステム120または別の遠隔のサーバによって実行される可能性がある。本明細書において提供される例は、機能の多くがユーザコンピューティングデバイス110上のOCRアプリケーション115によって実行されることを示す可能性があるが、機能の一部またはすべては、任意の好適なコンピューティングデバイスによって実行される可能性がある。
【００４８】
画像は、カード102のライブビデオ画像またはカード102の単一の画像としてユーザコンピューティングデバイス110のユーザインターフェース上に提示される。OCRアプリケーション115は、1つまたは複数の画像をカメラ114のビデオフィードから分離し、記憶することができる。たとえば、ユーザ101は、カードの上にユーザコンピューティングデバイス110のカメラ114機能を浮かせ、ユーザコンピューティングデバイス110のユーザインターフェース上のカードの提示を観察する可能性がある。ユーザコンピューティングデバイス上に表示されたカード102の図が、図4に示される。
【００４９】
図4は、特定の例示的な実施形態による金融カード102の画像を表示するユーザコンピューティングデバイス110の図である。ユーザコンピューティングデバイス110は、モバイルスマートフォンとして示される。ユーザインターフェースとしてディスプレイスクリーン405を有するユーザコンピューティングデバイス110が示される。ユーザコンピューティングデバイス110上に表示されるカード102が、示される。
【００５０】
図2に戻ると、ブロック210において、OCRアプリケーション115が、カードの画像を分離する。任意の画像データの操作または画像の抽出が、カード画像を分離するために使用され得る。
【００５１】
OCRアプリケーション115、またはユーザコンピューティングデバイス110、またはその他のコンピューティングデバイスが、画像に対してぼけ検出を実行する。画像は、ぼやけている、明るすぎる、暗すぎる、またはそれ以外で高解像度画像が取得されるのを妨げるようにして不明瞭にされると認識される可能性がある。OCRアプリケーション115またはその他のコンピューティングデバイスは、画像のぼけを軽減するために画像撮影方法を調整し得る。たとえば、OCRアプリケーション115が、金融カード上に焦点を調整するようにカメラ114に指示する可能性がある。別の例においては、OCRアプリケーション115が、カメラ114を金融カードにより近づけるようにまたは金融カードからより遠ざけるようにユーザに指示する可能性がある。別の例においては、OCRアプリケーション115が、ぼけを取り除くためのデジタル画像の操作を実行する可能性がある。ぼけた画像を修正する任意のその他の好適な方法が、利用され得る。
【００５２】
ブロック215において、OCRアプリケーション115が、カード102の画像からユーザ名を抽出する。OCRアプリケーション115は、カード102上の情報を特定するためにカード画像にOCRアルゴリズムを適用する。OCRアルゴリズムは、カード画像上に表されるディジット(digit)または文字を認識する任意の好適なプロセス、プログラム、方法、またはその他のやり方を表す可能性がある。OCRアルゴリズムは、カード画像上の特定の位置でユーザ名の文字を探すようにカスタマイズされる可能性がある。OCRアルゴリズムは、文字の特定の組合せを探すようにカスタマイズされる可能性がある。OCRアルゴリズムは、特定のクレジットカード会社のカードが概してカード102の裏側に特定のデータを有することを知るようにカスタマイズされる可能性がある。OCRアルゴリズムは、文字が概して浮き出し印刷されることを知るようにカスタマイズされる可能性がある。OCRアルゴリズムは、任意の構成された配列、データの場所、制限、カードの種類、文字の構成、またはユーザ名およびその他の口座情報を特定するためのその他の好適なカードデータを探すようにカスタマイズされる可能性がある。OCRアプリケーション115は、結果を手直しするために統計的な言語モデルを使用する可能性がある。言語モデルは、異なる文字の可能性についての情報を使用し、文字を組み合わせて最もありそうな名前を決定する。たとえば、OCRアルゴリズムの結果が抽出された名前「Anma」を返す場合に、統計的な言語モデルが、「Anna」が最もありそうな結果であると結論づけ、結果を更新する。
【００５３】
ブロック220において、OCRアプリケーション115が、ユーザの連絡先リストおよびその他のユーザデータを分析する。OCRアプリケーション115は、ユーザコンピューティングデバイス110および任意のその他の好適な場所のユーザ101に関連する記憶された情報にアクセスする。名前は、連絡先リスト、電子メールアプリケーション、ユーザのソーシャルネットワーク、およびその他の好適なユーザアプリケーション116、ユーザコンピューティングデバイス110、OCRシステム120、または別の好適な場所に記憶され得る情報から抽出される可能性がある。別の例において、OCRアプリケーション115は、デジタル財布口座、金融決済口座、またはユーザ101の任意のその他の好適な口座などの様々なユーザの口座に関連する記憶された情報にアクセスする。OCRアプリケーション115は、抽出された名前と比較されるべきユーザデータ内の名前を特定する。たとえば、OCRアプリケーション115は、ユーザコンピューティングデバイス110上のデジタル財布口座にアクセスし、デジタル財布口座に関連するユーザ101の名前を特定する。デジタル財布口座に関連するユーザ101の名前は、カード102上のユーザ名と同じ名前である可能性が高い。
【００５４】
ブロック225において、OCRアプリケーション115が、抽出された名前を分析されたユーザデータと比較する。ブロック225の詳細は、図3の方法225に関連してより詳細に説明される。
【００５５】
図3は、特定の例示的な実施形態による抽出された名前を分析されたユーザデータと比較するための方法を示すブロック流れ図である。ブロック305において、OCRアプリケーション115が、抽出された名前に関連する可能性が高い1つまたは複数の記憶された名前を特定する。OCRアプリケーション115は、ユーザコンピューティングデバイス110上で管理されるユーザの口座上の名前などの、ユーザデータ内で繰り返される名前を特定する。代替的に、OCRアプリケーション115は、ユーザ名に似ている名前を特定する。たとえば、ユーザ101の同じ名字を有する配偶者またはその他の家族は、連絡先リストまたはソーシャルネットワーク上など、ユーザデータ内に頻繁に表される可能性がある。
【００５６】
ブロック310において、OCRアプリケーション115が、抽出された名前を1つまたは複数の一連のセグメントに分ける。一例において、セグメントは、抽出された名前の中のそれぞれの空白において分けられる。たとえば、名前Jon A Smithにおいて、セグメントは、Jon / A /Smithのような3つのセグメントに分けられる可能性がある。名前認識アルゴリズムにおいて特定された記憶された名前が、同様にしてセグメントに分けられる。
【００５７】
別の例においては、追加的なセグメントの分け目が、抽出された名前に関して特定される可能性がある。たとえば、Jon A Smithは、Jon / A Smith、Jon A / Smith、もしくはJon / A / Smith、またはセグメントの任意のその他の好適なグループにセグメント分けされる可能性がある。
【００５８】
別の例においては、特定の文字が、金融カードからすり減って薄れており、抽出された名前がJon A Sm thであるなど、抽出された名前の中に空白を残す可能性がある。OCRアプリケーションは、例示的な抽出された名前を1、2、3、または4セグメントに分割する可能性がある。たとえば、セグメントは、Jon / A Sm / th、Jon A Sm / th、Jon / A Sm th、Jon / A / Sm th、Jon A / Sm th、Jon / A / Sm / th、または任意のその他の好適な一連のセグメントとして表される可能性がある。
【００５９】
ブロック315において、OCRアプリケーション115が、記憶された名前を1つまたは複数の一連のセグメントに分ける。記憶された名前のセグメント分けは、ブロック310において抽出された名前をセグメント分けするための方法と同様の方法で実行される。概して、記憶された名前のセグメントは、名前の中のそれぞれの空白において分けられる。
【００６０】
ブロック320において、OCRアプリケーション115が、抽出された名前の1つまたは複数の一連のセグメントの各セグメントを記憶された名前のセグメントと比較する。抽出された名前のセグメントの各々が、記憶された名前のセグメントと比較される。たとえば、OCRアプリケーション115は、抽出された名前のセグメントのそれぞれの文字を記憶された名前のセグメントのそれぞれの文字と比較し、文字が同じかどうかを判定する。文字が同じではない場合、異なる文字が特定される。
【００６１】
ブロック325において、OCRアプリケーション115が、セグメントの各々に関する編集距離を計算する。OCRアプリケーション115は、比較において各セグメントの間の編集距離を決定する。例においては、記憶された名前の第1のセグメントがJanである場合、編集距離は1文字である。つまり、Jonの単一の文字「o」を「a」に変えることが、記憶された名前のセグメント「Jan」を生成する。単一の文字を変えることは、編集距離1を与える。編集距離の比較が、一連のセグメントの各々の各セグメントに関して実行される可能性がある。セグメントは、抽出された名前に一致する可能性が高いものとして特定された記憶された名前の各々と比較される可能性がある。
【００６２】
ブロック330において、OCRアプリケーション115が、記憶された名前のセグメントに対する抽出された名前の1つまたは複数の一連のセグメントの各々に関する全体的な編集距離を計算する。OCRアプリケーション115は、一連のセグメントの個々のセグメントの各々の編集距離を組み合わせることによって一連のセグメントに関する全体的な編集距離を計算する。編集距離は、足されるか、またはセグメントの編集距離に適用される任意のその他の数学関数を有する可能性がある。たとえば、「90%」または「A」などのスコアが、一連のセグメントの個々のセグメントの各々の編集距離に基づいて生成される可能性がある。
【００６３】
特定の例においては、全体的な編集距離を計算するとき、特定のセグメントが、計算から省かれる可能性がある。一例においては、抽出されたユーザ名が「Jon / Smith」にセグメント分けされる一方、記憶された名前は「Dr / Jon / A / Smith」にセグメント分けされる。セグメント「Jon」および「Smith」は、編集距離0であり、記憶された名前の「Dr」および「A」セグメントは、全体的な編集距離を計算する目的では省かれる可能性があり、全体的な編集距離0をもたらす。別の例において、スキップされた記憶されたセグメントは、全体的な編集距離に寄与しないが、対応する記憶された名前のセグメントを持たない抽出されたセグメントは、全体的な編集距離に寄与する。
【００６４】
一例においては、抽出されたユーザ名が「Jon / A / Smith」にセグメント分けされる一方、記憶された名前は「Dr / Jan / Smith」にセグメント分けされる。「Jon」および「A」に関する編集距離は、それぞれ1であると判定される。つまり、記憶された名前との一致を作るために各セグメントに関して1文字が変更される可能性がある。記憶された名前のセグメント「Dr」は、抽出された名前が対応するセグメントを含まないので全体的な編集距離から省かれる。必要とされる編集距離を足すことは、全体的な編集距離2を生じる。代替的に、スコアA、90%または任意のその他の好適な採点システムなどの一致スコアが、編集距離に基づいて生成される可能性がある。
【００６５】
一例において、編集距離は、セグメントではなく、文字において測定されるだけである。たとえば、編集距離は、編集された合計の文字としてカウントされ、編集されたセグメントの数を含まない。あらゆる抽出された名前のセグメントが対応する記憶された名前のセグメントを有するかまたはスキップされるかのどちらかであり、同様に、それぞれの記憶された名前のセグメントが対応する抽出された名前のセグメントを有するかまたはスキップされるように、抽出された名前のセグメントと記憶された名前のセグメントとの対応が確立される。そして、合計の編集距離が、それぞれの対の対応するセグメントの間の編集距離を合計し、スキップされたすべての抽出された名前のセグメントの合計の長さをそれに加えることによって計算される。つまり、記憶された名前のセグメントをスキップすることは、ペナルティーを科されず、記憶された名前のセグメントをスキップすることは、合計の編集距離を増やさない。
【００６６】
例として、
【００６７】
抽出された名前: Mr Jon Smith
【００６８】
記憶された名前: Joe P Smithers
【００６９】
編集距離は、次の通りである。抽出された名前の「Mr」は、セグメントが抽出された名前からのものであるので編集距離2を有する。「Jon」は、「Joe」と比較して編集距離1を有する。記憶された名前の「P」は、スキップされたセグメントが記憶された名前からのものであるので編集距離に寄与しない。「Smith」は、「Smithers」と比較して編集距離3を有する。
【００７０】
したがって、全体的な編集距離は、2+1+3=6である。
【００７１】
ブロック335において、OCRアプリケーション115が、最も小さな編集距離を有する一連のセグメントを特定する。一致する可能性が高いものとして特定された記憶された名前の各々と比較して、一連のセグメントの各々から全体的な編集距離またはスコアを計算した後、OCRアプリケーション115は、最も小さな全体的な編集距離を有する一連のセグメントを特定する。一例において、抽出された名前は、次のように、つまり、Jon / A Smith、Jon A / Smith、またはJon / A / Smithに分けられる。Jon / A Smithは、全体的な編集距離3を有する。Jon A / Smithは、全体的な編集距離2を有する。Jon / A / Smithは、全体的な編集距離1を有する。したがって、Jon / A / Smithが、異なる一連のセグメントの最も小さな全体的な編集距離を有する。
【００７２】
ブロック340において、OCRアプリケーション115が、編集距離を閾値の編集距離と比較する。最も小さな全体的な編集距離を有する一連を特定した後、OCRアプリケーション115は、全体的な編集距離を構成された閾値と比較する。編集距離が閾値未満である場合、OCRアプリケーション115は、特定された記憶された名前に一致するように抽出された名前を訂正する。一例において、閾値の全体的な編集距離は、3であるように構成される。閾値は、ユーザ101、OCRシステム140のオペレータ、カード発行者システム170のオペレータ、または任意のその他の好適な人、システム、もしくは団体によって構成される可能性がある。閾値は、計算された全体的な編集距離に基づくか、セグメントの編集距離に基づくスコアであるか、または抽出されたユーザ名を評価するために使用されたシステムに基づく任意のその他の閾値である可能性がある。
【００７３】
ブロック340から、方法225は、図2のブロック230に戻る。
【００７４】
ブロック230において、OCRアプリケーション115は、全体的な編集距離が構成された閾値未満であるかどうかを判定する。全体的な編集距離が構成された閾値未満である場合、方法200は、ブロック235に進む。
【００７５】
ブロック235において、OCRアプリケーション115が、記憶された名前に基づいて抽出された名前を手直しする。記憶された名前がユーザ101、カード発行者、または別の人もしくはシステムによって正確に入力されると推定されるので、抽出された名前は、記憶された名前に合致するように訂正される。たとえば、抽出された名前が「Jon A. Smith」であり、記憶された名前が「Jan A. Smith」である場合、OCRアプリケーション115は、抽出された名前を「Jan A. Smith」に変える。抽出された名前に表れなかったセグメントは、訂正されずに残されるかまたは挿入される可能性がある。つまり、抽出された名前が「Jon A. Smith」であり、記憶された名前が「Dr Jon H. Smith」である場合、OCRアプリケーション115は、抽出された名前を「Dr Jon H. Smith」に訂正する可能性がある。代替的に、OCRアプリケーション115は、抽出された名前を「Jon H. Smith」に正すだけで、「Dr.」を省く可能性がある。
【００７６】
特定の例において、完全な抽出された名前は、完全な記憶された名前を反映するために訂正されない。つまり、全体的な編集距離が、訂正を認めるかまたは却下するためだけに使用されない。その代わりに、個々の抽出された名前のセグメントが構成された閾値未満の編集距離を有する場合、個々の抽出された名前のセグメントが訂正される可能性がある。個々のセグメントを訂正することは、部分的な一致が使用されることを可能にする。一例において、ユーザ101は、ユーザコンピューティングデバイス110を使用して配偶者のカードをスキャンする。カード上の姓がユーザコンピューティングデバイス110に関連するセル電話の口座の口座名に一致する場合、OCRアプリケーション115は、姓に対して修正を実行する。しかし、名が閾値未満で一致しない場合、名は訂正されない。たとえば、カードからの抽出された名前が「Alice Smathers」であり、記憶された名前「Jon Smithers」がユーザデータ内に頻繁に現れる場合、OCRアプリケーション115は、抽出された名前を「Alice Smithers」へと手直しする可能性がある。
【００７７】
ブロック240において、OCRアプリケーション115が、ユーザ101から抽出された名前の確認を受け取る。OCRアプリケーション115は、手直しされた名前を、名前を検証するかまたは正すための指示とともに、ユーザコンピューティングデバイス110のユーザインターフェース上でユーザ101に与える。たとえば、OCRアプリケーション115が抽出された名前を間違って訂正した場合、ユーザ101は、正しい名前をユーザインターフェースに入力し得る。
【００７８】
ブロック240から、方法200は、ブロック245に進む。
【００７９】
ブロック230に戻って、全体的な編集距離が構成された閾値以上である場合、方法200は、ブロック240に進む。OCRアプリケーション115は、ブロック235において説明されたように、訂正されていない名前をユーザコンピューティングデバイス110に提供することに移るだけである。つまり、OCRアプリケーション115は、修正されていない名前を、名前を検証するかまたは正すための指示とともに、ユーザコンピューティングデバイス110のユーザインターフェース上でユーザ101に与える。たとえば、OCRアプリケーション115が抽出された名前を間違って抽出した場合、ユーザ101は、正しい名前をユーザインターフェースに入力し得る。
【００８０】
代替的な例において、方法200は、編集距離が構成された閾値以上である場合、ブロック230からブロック215に戻る。方法200は、閾値未満である全体的な編集距離を生じるユーザ名を抽出しようとしてブロック215、220、225、および230の方法を繰り返す可能性がある。一例において、方法200は、ブロック215、220、225、および230を、2回、5回、または10回などの制限された試行回数だけ繰り返す。別の例において、方法200は、試みがユーザ101によって断念されるか、好適なユーザ名が取得されるか、またはその他の指示が受け取られるまでブロック215、220、225、および230を繰り返す。
【００８１】
ブロック245において、OCRアプリケーション115が、デジタル財布アプリケーション111、販売時点情報管理端末、決済処理システム、ウェブサイト、またはユーザ101が認可する任意のその他の好適なアプリケーションもしくはシステムに抽出されたデータを供給する。抽出されたデータは、デジタル財布アプリケーション111などのユーザコンピューティングデバイス110上のアプリケーションによって使用され得る。抽出されたデータは、ネットワーク105を介したインターネット接続によって送信されるか、近距離無線通信(「NFC」)テクノロジーによって送信されるか、電子メールで送信されるか、テキストメッセージで送信されるか、または任意の好適な方法で送信される可能性がある。
【００８２】
例示的なシステム
図5は、特定の例示的な実施形態によるコンピューティングマシン2000およびモジュール2050を示す。コンピューティングマシン2000は、本明細書において提示された様々なコンピュータ、サーバ、モバイルデバイス、組み込みシステム、またはコンピューティングシステムのいずれかに対応する可能性がある。モジュール2050は、本明細書において提示された様々な方法および処理機能を実行する際にコンピューティングマシン2000を楽にするように構成された1つまたは複数のハードウェアまたはソフトウェア要素を含み得る。コンピューティングマシン2000は、プロセッサ2010、システムバス2020、システムメモリ2030、ストレージ媒体2040、入力/出力インターフェース2060、およびネットワーク2080と通信するためのネットワークインターフェース2070などの様々な内部のまたは取り付けられた構成要素を含み得る。
【００８３】
コンピューティングマシン2000は、通常のコンピュータシステム、組み込みコントローラ、ラップトップ、サーバ、モバイルデバイス、スマートフォン、ウェアラブルコンピュータ、セットトップボックス、キオスク、車両情報システム、テレビに関連する1つもしくは複数のプロセッサ、カスタマイズされたマシン、任意のその他のハードウェアプラットフォーム、またはそれらの任意の組合せもしくは複数として実装される可能性がある。コンピューティングマシン2000は、データネットワークまたはバスシステムを介して相互に接続された複数のコンピューティングマシンを用いて機能するように構成された分散型システムである可能性がある。
【００８４】
プロセッサ2010は、本明細書において説明された動作および機能を実行し、要求のフローおよびアドレスマッピングを管理し、計算を実行し、コマンドを生成するためのコードまたは命令を実行するように構成され得る。プロセッサ2010は、コンピューティングマシン2000の構成要素の動作を監視し、制御するように構成され得る。プロセッサ2010は、汎用プロセッサ、プロセッサコア、マルチプロセッサ、再構成可能なプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(「DSP」)、特定用途向け集積回路(「ASIC」)、グラフィックス処理ユニット(「GPU」)、フィールドプログラマブルゲートアレイ(「FPGA」)、プログラマブルロジックデバイス(「PLD」)、コントローラ、状態機械、ゲート論理、ディスクリートハードウェア構成要素、任意のその他の処理ユニット、またはそれらの任意の組合せもしくは複数である可能性がある。プロセッサ2010は、単一の処理ユニット、複数の処理ユニット、単一の処理コア、複数の処理コア、専用の処理コア、コプロセッサ、またはそれらの任意の組合せである可能性がある。特定の実施形態によれば、プロセッサ2010は、コンピューティングマシン2000のその他の構成要素と共に、1つまたは複数のその他のコンピューティングマシン内で実行される仮想化されたコンピューティングマシンである可能性がある。
【００８５】
システムメモリ2030は、読み出し専用メモリ(「ROM」)、プログラマブル読み出し専用メモリ(「PROM」)、消去可能プログラマブル読み出し専用メモリ(「EPROM」)、フラッシュメモリ、または電力を適用することによってもしくは電力を適用することなくプログラム命令もしくはデータを記憶することができる任意のその他のデバイスなどの不揮発性メモリを含み得る。システムメモリ2030は、ランダムアクセスメモリ(「RAM」)、スタティックランダムアクセスメモリ(「SRAM」)、ダイナミックランダムアクセスメモリ(「DRAM」)、および同期ダイナミックランダムアクセスメモリ(「SDRAM」)などの揮発性メモリも含み得る。その他の種類のRAMが、システムメモリ2030を実装するためにやはり使用され得る。システムメモリ2030は、単一のメモリモジュールまたは複数のメモリモジュールを用いて実装され得る。システムメモリ2030はコンピューティングマシン2000の一部であるものとして示されているが、当業者は、システムメモリ2030が対象のテクノロジーの範囲を逸脱することなくコンピューティングマシン2000と別々である可能性があることを認めるであろう。システムメモリ2030はストレージ媒体2040などの不揮発性ストレージデバイスを含むかまたはそのような不揮発性ストレージデバイスと連携して動作する可能性があることも、理解されるに違いない。
【００８６】
ストレージ媒体2040は、ハードディスク、フロッピーディスク、コンパクトディスク読み出し専用メモリ(「CD-ROM」)、デジタルバーサタイルディスク(「DVD」)、ブルーレイディスク、磁気テープ、フラッシュメモリ、その他の不揮発性メモリデバイス、ソリッドステートドライブ(「SSD」)、任意の磁気式ストレージデバイス、任意の光学式ストレージデバイス、任意の電気式ストレージデバイス、任意の半導体ストレージデバイス、任意の物理ベースストレージデバイス、任意のその他のデータストレージデバイス、またはそれらの任意の組合せもしくは複数を含み得る。ストレージ媒体2040は、1つもしくは複数のオペレーティングシステム、モジュール2050などのアプリケーションプログラムおよびプログラムモジュール、データ、または任意のその他の情報を記憶し得る。ストレージ媒体2040は、コンピューティングマシン2000の一部であるかまたはコンピューティングマシン2000に接続される可能性がある。ストレージ媒体2040は、サーバ、データベースサーバ、クラウドストレージ、ネットワーク接続ストレージなどの、コンピューティングマシン2000と通信する1つまたは複数のその他のコンピューティングマシンの一部である可能性もある。
【００８７】
モジュール2050は、本明細書において提示された様々な方法および処理機能を実行することによってコンピューティングマシン2000を楽にするように構成された1つまたは複数のハードウェアまたはソフトウェア要素を含み得る。モジュール2050は、システムメモリ2030、ストレージ媒体2040、またはそれら両方に関連してソフトウェアまたはファームウェアとして記憶される命令の1つまたは複数のシーケンスを含み得る。したがって、ストレージ媒体2040は、プロセッサ2010による実行のために命令またはコードが記憶され得る機械またはコンピュータ可読媒体の例を表す可能性がある。概して、機械またはコンピュータ可読媒体は、プロセッサ2010に命令を与えるために使用される任意の1つの媒体または複数の媒体を指す可能性がある。モジュール2050に関連するそのような機械またはコンピュータ可読媒体は、コンピュータソフトウェア製品を含み得る。モジュール2050を含むコンピュータソフトウェア製品はネットワーク2080、任意の信号を運ぶ媒体、または任意のその他の通信もしくは配信テクノロジーによってモジュール2050をコンピューティングマシン2000に配信するための1つまたは複数のプロセスまたは方法に関連付けられる可能性もあることを理解されたい。モジュール2050は、ハードウェア回路、またはFPGAもしくはその他のPLDに関するマイクロコードもしくは構成情報などのハードウェア回路を構成するための情報を含む可能性もある。
【００８８】
入力/出力(「I/O」)インターフェース2060は、1つまたは複数の外部デバイスに結合し、1つまたは複数の外部デバイスからデータを受信し、1つまたは複数の外部デバイスにデータを送信するように構成され得る。そのような外部デバイスは、様々な内部デバイスと共に、周辺デバイスとしても知られている可能性がある。I/Oインターフェース2060は、様々な周辺デバイスをコンピューティングマシン2000またはプロセッサ2010に動作可能なように結合するための電気的接続と物理的接続との両方を含み得る。I/Oインターフェース2060は、周辺デバイス、コンピューティングマシン2000、またはプロセッサ2010の間でデータ、アドレス、および制御信号を伝達するように構成され得る。I/Oインターフェース2060は、スモールコンピュータシステムインターフェース(「SCSI」)、シリアル接続SCSI(「SAS: serial-attached SCSI」)、ファイバチャネル、周辺装置相互接続(「PCI」)、PCIエクスプレス(PCIe)、シリアルバス、パラレルバス、アドバンストテクノロジーアタッチト(「ATA: advanced technology attached」)、シリアルATA(「SATA」)、ユニバーサルシリアルバス(「USB」)、Thunderbolt、FireWire、様々なビデオバスなどの任意の標準インターフェースを実装するように構成され得る。I/Oインターフェース2060は、ただ1つのインターフェースまたはバステクノロジーを実装するように構成される可能性がある。代替的に、I/Oインターフェース2060は、複数のインターフェースまたはバステクノロジーを実装するように構成される可能性がある。I/Oインターフェース2060は、システムバス2020の一部として、システムバス2020のすべてとして、またはシステムバス2020と連携して動作するように構成される可能性がある。I/Oインターフェース2060は、1つもしくは複数の外部デバイス、内部デバイス、コンピューティングマシン2000、またはプロセッサ2010の間の送信をバッファリングするための1つまたは複数のバッファを含み得る。
【００８９】
I/Oインターフェース2060は、コンピューティングマシン2000を、マウス、タッチスクリーン、スキャナ、電子デジタイザ、センサ、受信機、タッチパッド、トラックボール、カメラ、マイクロフォン、キーボード、任意のその他のポインティングデバイス、またはそれらの任意の組合せを含む様々な入力デバイスに結合する可能性がある。I/Oインターフェース2060は、コンピューティングマシン2000を、ビデオディスプレイ、スピーカ、プリンタ、プロジェクタ、触覚フィードバックデバイス、オートメーションコントロール、ロボットの構成要素、アクチュエータ、モータ、ファン、ソレノイド、バルブ、ポンプ、送信機、信号エミッタ、照明などを含む様々な出力デバイスに結合する可能性がある。
【００９０】
コンピューティングマシン2000は、ネットワーク2080中の1つまたは複数のその他のシステムまたはコンピューティングマシンへのネットワークインターフェース2070を通じた論理接続を用いるネットワーク化された環境内で動作する可能性がある。ネットワーク2080は、広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)、イントラネット、インターネット、ワイヤレスアクセスネットワーク、有線ネットワーク、モバイルネットワーク、電話網、光ネットワーク、またはそれらの組合せを含み得る。ネットワーク2080は、パケット交換され、回線交換され、任意のトポロジーである可能性があり、任意の通信プロトコルを使用する可能性がある。ネットワーク2080内の通信リンクは、光ファイバケーブル、自由空間光通信(free-space optics)、導波路、導電体、ワイヤレスリンク、アンテナ、無線周波数通信などの様々なデジタルまたはアナログ通信媒体を含み得る。
【００９１】
プロセッサ2010は、システムバス2020を通じてコンピューティングマシン2000のその他の要素または本明細書において検討された様々な周辺機器に接続される可能性がある。システムバス2020は、プロセッサ2010内、プロセッサ2010外、またはそれら両方にある可能性があることを理解されたい。一部の実施形態によれば、プロセッサ2010、コンピューティングマシン2000のその他の要素、または本明細書において検討された様々な周辺機器のいずれかが、システムオンチップ(「SOC」)、システムオンパッケージ(「SOP」)、またはASICデバイスなどの単一のデバイスに統合される可能性がある。
【００９２】
本明細書において検討されたシステムがユーザについての個人情報を収集するかまたは個人情報を利用し得る状況において、ユーザは、プログラムまたは特徴がユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルな行為もしくは活動、職業、ユーザの好み、またはユーザの現在の位置についての情報)を収集するかどうかを制御するか、あるいはユーザにより関連性がある可能性があるコンテンツをコンテンツサーバから受信すべきかどうかおよび/またはどのようにして受信すべきかを制御する機会を与えられる可能性がある。さらに、特定のデータが、個人を特定できる情報が削除されるように、記憶されるかまたは使用される前に1つまたは複数の方法で処理される可能性がある。たとえば、ユーザの識別情報が、個人を特定できる情報がユーザに関して特定され得ないか、または位置情報が取得される場合にユーザの地理的位置が(都市、郵便番号、もしくは州のレベルまでになど)一般化される可能性があり、したがって、ユーザの特定の位置が決定され得ないように処理される可能性がある。したがって、ユーザは、情報がユーザについてどのように収集され、コンテンツサーバによって使用されるかを制御し得る。
【００９３】
実施形態は、本明細書において説明され、図示された機能を具現化するコンピュータプログラムを含む可能性があり、コンピュータプログラムは、機械可読媒体に記憶された命令および命令を実行するプロセッサを含むコンピュータシステムに実装される。しかし、実施形態をコンピュータプログラミングで実装する多くの異なる方法が存在する可能性があることは明らかであるに違いなく、実施形態は、いずれかの1組のコンピュータプログラム命令に限定されると解釈されるべきでない。さらに、習熟したプログラマーは、添付の流れ図および本出願の本文の関連する説明に基づいて開示された実施形態の実施形態を実装するようにそのようなコンピュータプログラムを記述することができる。したがって、プログラムコードの命令の特定の組の開示は、実施形態をどのように実施し、使用すべきかを適切に理解するために必須であるとは考えられない。さらに、当業者は、1つまたは複数のコンピューティングシステムにおいて具現化され得るように、本明細書において説明された実施形態の1つまたは複数の態様がハードウェア、ソフトウェア、またはそれらの組合せによって実行され得ることを理解するであろう。さらに、動作がコンピュータによって実行されることに関するいずれの言及も、2つ以上のコンピュータが動作を実行し得るので、単一のコンピュータによって実行されるものと解釈されるべきでない。
【００９４】
本明細書において説明された例示的な実施形態は、以前に説明された方法および処理機能を実行するコンピュータのハードウェアおよびソフトウェアで使用され得る。本明細書おいて説明されたシステム、方法、および手順は、プログラミング可能なコンピュータ、コンピュータが実行可能なソフトウェア、またはデジタル回路において具現化され得る。ソフトウェアは、コンピュータ可読媒体に記憶され得る。たとえば、コンピュータ可読媒体は、フロッピーディスク、RAM、ROM、ハードディスク、取り外し可能な媒体、フラッシュメモリ、メモリスティック、光媒体、光磁気媒体、CD-ROMなどを含み得る。デジタル回路は、集積回路、ゲートアレイ、ビルディングブロック論理(building block logic)、フィールドプログラマブルゲートアレイ(FPGA)などを含み得る。
【００９５】
上で提示された実施形態において説明された例示的なシステム、方法、および動作は、例示的であり、代替的な実施形態においては、特定の動作が、異なる順序で実行され、互いに並列に実行され、完全に省略され、および/もしくは異なる例示的な実施形態の間で組み合わされる可能性があり、ならびに/または特定のさらなる動作が、様々な実施形態の範囲および精神を逸脱することなく実行され得る。したがって、そのような代替的な実施形態は、本明細書において説明された本発明に含まれる。
【００９６】
特定の実施形態が上で詳細に説明されたが、説明は例示を目的とするに過ぎない。したがって、上述の多くの態様は、別途明示的に述べられない限り必須のまたは不可欠の要素として意図されていないことを理解されたい。上述の態様に加えて、例示的な実施形態の開示された態様の修正、および例示的な実施形態の開示された態様に対応する均等な構成要素または動作が、添付の請求項において定義される実施形態の精神および範囲を逸脱することなく、本開示の恩恵を受ける当業者によってなされる可能性があり、添付の請求項の範囲は、そのような修正および均等な構造を包含するように最も広い解釈を与えられるべきである。
【符号の説明】
【００９７】
100  システム、動作環境
101  ユーザ
102  カード、決済口座カード
105  ネットワーク
110  ネットワークコンピューティングデバイス、ユーザコンピューティングデバイス
111  デジタル財布アプリケーションモジュール、デジタル財布アプリケーション
112  通信アプリケーション
113  データストレージユニット
114  カメラ
115  光学式文字認識(「OCR」)アプリケーション
116  ユーザアプリケーション
120  ネットワークコンピューティングデバイス、OCRシステム
124  ウェブサーバ
127  データストレージユニット
140  OCRシステム
170  ネットワークコンピューティングデバイス、カード発行者システム
174  ウェブサーバ
405  ディスプレイスクリーン
2000  コンピューティングマシン
2010  プロセッサ
2020  システムバス
2030  システムメモリ
2040  ストレージ媒体
2050  モジュール
2060  入力/出力インターフェース
2070  ネットワークインターフェース
2080  ネットワーク
【図１】
2018523188.tif 000003
【図２】
2018523188.tif 000004
【図３】
2018523188.tif 000005
【図４】
2018523188.tif 000006
【図５】
2018523188.tif 000007
【国際調査報告】
2018523188.tif 000008
2018523188.tif 000009
2018523188.tif 000010