KR20170133462A - 추출된 사용자 이름과 저장된 사용자 이름의 비교 - Google Patents

추출된 사용자 이름과 저장된 사용자 이름의 비교 Download PDF

Info

Publication number
KR20170133462A
KR20170133462A KR1020177031612A KR20177031612A KR20170133462A KR 20170133462 A KR20170133462 A KR 20170133462A KR 1020177031612 A KR1020177031612 A KR 1020177031612A KR 20177031612 A KR20177031612 A KR 20177031612A KR 20170133462 A KR20170133462 A KR 20170133462A
Authority
KR
South Korea
Prior art keywords
name
segments
extracted
user
card
Prior art date
Application number
KR1020177031612A
Other languages
English (en)
Inventor
헨리 알란 라울리
산지브 쿠마르
샤오펭 리우
브라이언 린 창
다니엘 니엘스 홀트만-라이스
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20170133462A publication Critical patent/KR20170133462A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/356Aspects of software for card payments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06K9/00442
    • G06K9/03
    • G06K9/2063
    • G06K9/723
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • G06V10/225Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on a marking or identifier characterising the area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/98Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/12Detection or correction of errors, e.g. by rescanning the pattern
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/26Techniques for post-processing, e.g. correcting the recognition result
    • G06V30/262Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
    • G06V30/268Lexical context
    • G06K2209/01
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Security & Cryptography (AREA)
  • Character Discrimination (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

어플리케이션은 광학 문자 식별("OCR")을 사용하여 금융 카드 이미지로부터 사용자 이름을 추출하고, 사용자 이름의 세그먼트들을 사용자 데이터에 저장되는 이름들과 비교하여 추출된 이름을 수정한다. 어플리케이션은 카드 이미지상에서 OCR 알고리즘을 수행하여, 추출된 이름과 사용자 데이터를 비교한다. 어플리케이션은 추출된 이름에 매치될 가능성이 있는 이름들을 식별한다. OCR 어플리케이션은 추출된 이름을 하나 이상의 일련의 세그먼트들로 나눠서, 추출된 이름으로부터의 세그먼트들과 저장된 이름들로부터의 세그먼트들을 비교한다. OCR 어플리케이션은 추출된 이름과 각각의 잠재적으로 매치되는 저장된 이름 사이의 편집 거리를 결정한다. 편집 거리가 설정된 임계값 미만인 경우, OCR 어플리케이션은 추출된 이름을 식별된 저장된 이름과 매치되도록 수정한다. 수정된 이름은 검증을 위해 사용자에게 제시된다.

Description

추출된 사용자 이름과 저장된 사용자 이름의 비교
관련 출원에 대한 상호참조
본 출원은 2015년 8월 16일자로 출원된 "추출된 사용자 이름과 저장된 사용자 데이터의 비교"라는 명칭의 미국 특허출원 제14/827,330호에 대한 우선권을 주장한다. 위에서 참조된 우선 출원의 전체 내용이 본 명세서에 참조로서 완전히 포함된다.
기술 분야
본 명세서에 개시된 기술은 금융 카드로부터 사용자 이름을 추출하고, 사용자 이름의 세그먼트들을 사용자 데이터에 저장된 이름들과 비교하여 추출된 이름을 정제(refine)하는 것에 관련된다.
소비자들이 온라인 구매를 하거나 모바일 디바이스를 사용하여 구매할 때, 그들은 종종 지불을 위해 모바일 디바이스에 신용카드 정보를 입력하도록 강요된다. 모바일 디바이스의 작은 화면 크기와 키보드 인터페이스 때문에, 이러한 입력은 일반적으로 번거롭고 오류를 발생하기 쉽다. 사용자는 예컨대, 신용 카드, 직불 카드, 선불 카드 및 기타 카드와 같이 다양한 카드를 사용하여 구매할 수 있다. 다수의 트랜젝션을 위해 모바일 디바이스에서 모바일 결제를 처리하려고 시도하는 판매자에 대해서는, 정보 입력 문제가 배가 된다.
지불 카드로부터 결제 정보를 획득하기 위해 광학 문자 인식(Optical character recognition, "OCR") 어플리케이션들을 사용하는 현재 어플리케이션들은 추출된 이름을 수정하기 위해, 예컨대 사용자 데이터에 저장된 이름 및 연락처와 같은 다른 사용 가능한 데이터를 활용하지 않는다.
본 명세서의 기술들은 사용자로 하여금 광학 문자 인식("OCR")을 사용하여 금융 카드 이미지로부터 사용자 이름을 추출하고 사용자 이름의 세그먼트들을 사용자 데이터에 저장된 이름들과 비교하여 추출된 이름을 정제할 수 있도록 하는 컴퓨터-구현 방법을 제공한다. OCR 어플리케이션은 카드의 이미지를 캡처하여, 카드 이미지에서 OCR 알고리즘을 수행한다. OCR 어플리케이션은 잠재적으로 매치하는 저장된 이름들의 리스트를 식별한다. OCR 어플리케이션은 추출된 이름을 하나 이상의 일련의 세그먼트들로 분리하여, 추출된 이름으로부터의 세그먼트들을 저장된 이름의 세그먼트들과 비교한다. OCR 어플리케이션은 추출된 이름과 각각의 잠재적으로 매치하는 저장된 이름 사이의 편집 거리를 결정한다.
각 세그먼트에 대한 편집 거리와 세그먼트 간의 편집 거리를 고려하여 전체 편집 거리가 계산된다. 가장 낮은 전체 편집 거리로 시리즈들을 식별한 후, OCR 어플리케이션은 편집 거리와 설정된(configured) 임계값을 비교한다. 편집 거리가 임계값보다 낮으면, OCR 어플리케이션은 추출된 이름을 식별된 저장된 이름과 매치하도록 수정한다. 정제된 이름은 검증을 위해 사용자에게 제공된다.
본 명세서에 설명된 임의의 다른 예시적인 양태들에서, 시스템들 및 컴퓨터 프로그램 제품들은 금융 카드로부터 사용자 이름을 추출하여 사용자 이름의 세그먼트들을 사용자 데이터에 저장된 이름들과 비교하여 추출된 이름을 정제한다.
예시적인 실시예들의 이러한 양태들, 목적들, 특징들과 장점들 및 다른 양태, 목적, 특징 및 이점은 설명된 예시적인 실시예들에 대한 이하의 상세한 설명을 고려하면 통상의 기술자에게 명백해질 것이다.
도 1은 본 명세서에 개시된 기술의 특정 예시적인 실시예들에 따른, 저장된 사용자 이름들을 사용하여 추출된 사용자 이름들을 검증하고 정정하는 시스템을 도시하는 블록 다이어그램이다.
도 2는 특정 예시적인 실시예들에 따른, 저장된 사용자 이름들을 사용하여 추출된 사용자 이름들을 검증하고 정정하는 방법을 나타내는 블록 흐름도이다.
도 3은 특정 예시적인 실시예들에 따른, 추출된 이름을 분석된 사용자 데이터와 비교하는 방법을 나타내는 블록 흐름도이다.
도 4는 특정 예시적인 실시예들에 따른, 금융 카드의 이미지를 디스플레이하는 사용자 컴퓨팅 디바이스의 예시이다.
도 5는 특정 예시적인 실시예들에 따른, 컴퓨팅 기계 및 모듈을 나타내는 블록 다이어그램이다.
개요
본 명세서의 실시예들은 사용자 컴퓨팅 장치로 하여금 광학 문자 인식("OCR")을 사용하여 금융 카드 이미지로부터 사용자 이름을 추출하고 사용자 이름의 세그먼트들을 사용자 데이터에 저장된 이름들과 비교하여 추출된 이름을 정제할 수 있도록 하는 컴퓨터-구현 기술을 제공한다.
사용자는 이동 전화, 디지털 카메라 또는 기타 사용자 컴퓨팅 디바이스를 사용하여, 사용자가 사용자 컴퓨팅 디바이스에 입력하기를 희망하는 계정과 관련된 카드의 이미지를 캡처한다. 사용자 컴퓨팅 디바이스 또는 사용자 컴퓨팅 디바이스와 관련된 서버에서 작동하는 OCR 어플리케이션이 카드의 이미지를 수신한다. OCR 어플리케이션은 카드 이미지에 대해 OCR 알고리즘을 수행하여, 추출된 이름을 사용자 컴퓨팅 디바이스, 또는 예컨대 연락처 데이터베이스, 사용자 금융 계정들, 전자 지갑 계정 또는 기타 적절한 사용자 데이터와 같은 사용자와 관련된 임의의 관련 계정들에 저장된 사용자 데이터와 비교한다. OCR 어플리케이션은 잠재적으로 매치하는 저장된 이름들의 리스트를 식별한다.
OCR 어플리케이션은 추출된 이름을 하나 이상의 일련의 세그먼트들로 나눈다. 예를 들어, 세그먼트들은 추출된 이름의 각 공백에서 나눠진다. 예를 들어, John A Smith라는 이름에서 세그먼트는 Jon / A / Smith와 같은 세 가지 세그먼트들로 분리될 수 있다. 이름 인식 알고리즘에서 식별된 저장된 이름들은 유사한 방식으로 세그먼트들로 분리된다.
OCR 어플리케이션은 추출된 이름의 세그먼트들과 저장된 이름들의 세그먼트들을 비교한다. OCR 어플리케이션은 비교되는 각 세트의 이름들 사이의 편집 거리를 결정한다. 예를 들어, 저장된 이름의 제1 세그먼트가 Jan인 경우, 편집 거리는 하나의 문자가 된다. 즉, Jon의 단일 문자 "o"를 "a"로 변경하면, 저장된 이름 세그먼트 "Jan"이 생성된다. 각 세그먼트에 대한 편집 거리와 세그먼트들 간의 편집 거리를 인수로 계산하여(factoring) 전체 편집 거리가 계산될 수 있다. 예를 들어, 세 개의 세그먼트 중 두 세그먼트가 완벽하게 일치하지만 하나의 세그먼트가 편집되어야 하는 경우, 세그먼트들 간의 편집 거리는 하나의 세그먼트가 된다.
또 다른 예시에서, 전체 편집 거리는 각 세그먼트에 대한 편집 거리를 더함으로써 계산될 수 있다. 또 다른 예시에서, 비교되는 이름 내에 대응하는 세그먼트를 갖지 않는 세그먼트들은 전체 편집 거리에 기여하지 않는다. 또 다른 예시에서, 저장된 이름으로부터 스킵된 세그먼트들은 전체 편집 거리에 기여하지 않지만, 대응하는 저장된 이름 세그먼트를 갖지 않는 추출된 세그먼트들은 전체 편집 거리에 기여한다.
또 다른 예시에서, 추출된 이름에 대해 추가적인 세그먼트 분할(split)이 식별될 수 있다. 예를 들어, Jon A Smith는 Jon / A Smith, Jon A / Smith 또는 Jon / A /Smith 또는 세그먼트들의 다른 적절한 그룹핑(grouping)으로 세그먼트화될 수 있다.
또 다른 예시에서, 특정 문자들은 금융 카드에서 지워져서, 예컨대 Jon A Sm th와 같이 추출된 이름에 공백들을 남길 수 있다. OCR 어플리케이션은 예시적인 추출된 이름을 1, 2, 3 또는 4개의 세그먼트들로 나눌 수 있다. 저장된 이름들과의 비교 후, 최저 편집 거리를 생성하는 세그먼트들의 개수가 이용될 수 있다.
전체 편집 거리가 가장 짧은 시리즈를 식별한 후, OCR 어플리케이션은 편집 거리와 설정된 임계값을 비교한다. 편집 거리가 임계값 미만인 경우, OCR 어플리케이션은 추출된 이름을 수정하여 식별된 저장된 이름과 매치시킨다. 수정된 이름은 검증을 위해 사용자에게 제시된다. 수정된 이름은, 예컨대 전자 지갑 어플리케이션과 같이, 사용자 이름을 활용할 어플리케이션 또는 시스템에 전달된다.
특정 예시들에서, 추출된 이름은 완전한 저장된 이름을 반영하기 위해 수정되지 않는다. 즉, 전체 편집 거리는 수정을 수락하거나 거부하는 데에만 사용되지 않는다. 그 대신, 개별의 추출된 이름 세그먼트가 설정된 임계값 미만의 편집 거리를 갖는 경우, 개별의 추출된 이름 세그먼트들이 수정될 수 있다. 개별 세그먼트들을 수정하면 부분적인 매치들이 사용될 수 있다. 일 예시에서, 사용자는 사용자 디바이스를 사용하여 배우자의 카드를 스캔한다. 카드상의 성(last name) 세그먼트가 사용자 디바이스와 관련된 휴대 전화 계정상의 성과 일치하면, OCR 어플리케이션은 성 세그먼트에 대한 정정 작업을 수행할 것이다. 하지만, 이름(first name)이 임계값 미만으로 매치하지 않는 경우, 이름은 수정되지 않는다.
본 명세서에 설명되는 방법들 및 시스템들을 사용하고 의존함으로써, OCR 어플리케이션, OCR 시스템, 사용자 컴퓨팅 디바이스 또는 기타 컴퓨팅 시스템은 금융 카드로부터 사용자 이름을 추출하고, 사용자 이름의 세그먼트들을 사용자 데이터에 저장된 이름들에 비교하여 이름을 정제함으로써 추출 프로세스를 개선한다. 이와 같이, 본 명세서에 설명된 시스템들 및 방법들은 컴퓨팅 디바이스로 하여금, 예컨대 연락처 애플리케이션들 및 계정 이름과 같은 사용자 데이터를 활용하여, 사용자에게 제시되기 전에 제안된 사용자 이름들을 검증 및 수정할 수 있도록 하기 위해 이용될 수 있다. 추출 프로세스를 개선하기 위해 사용자 데이터에 의존함으로써, 컴퓨팅 디바이스는 보다 정확하고 정밀한 데이터 추출을 사용자에게 제공할 수 있게 된다. 개선된 추출은, 사용자가 전자 지갑이나 기타 적절한 어플리케이션에 금융 카드 데이터를 입력하는 데에 필요한 시간을 줄이고, 그러한 노력을 줄일 수 있도록 할 것이다. 또한, 추출된 이름과 저장된 이름을 하나 이상의 세그먼트들로 분해한 다음, 편집 거리를 세그먼트 단위로 비교 및 계산하는 것은, 일반적으로 대응하는 전체 이름들에 대해 작업을 수행하는 것이 세그먼트 단위의 동일한 작업들을 수행하는 것보다 (더 높은 계산 복잡도에 의해) 더 많은 계산을 요구하기 때문에, 결과적으로 정제된 이름을 컴퓨팅하기 위한 효율적인 구현을 낳는다.
예시적인 시스템 아키텍처
이제 동일한 도면 부호들이 도면 전체에 걸쳐 유사한 (그러나 반드시 동일하지는 않은) 요소를 나타내는 도면들을 참조하여, 예시적인 실시예들이 상세하게 설명된다.
도 1은 특정 예시적인 실시예에 따라, 저장된 사용자 이름들을 사용하여 추출된 사용자 이름들을 검증하고 정정하기 위한 시스템을 도시하는 블록 다이어그램이다.
도 1에 도시 된 바와 같이, 시스템(100)은 하나 이상의 네트워크(105)를 통해 서로 통신하도록 구성되는 네트워크 컴퓨팅 디바이스들(110, 120 및 170)을 포함한다. 일부 실시예들에서, 디바이스와 관련된 사용자(101)는 본 명세서에 설명되는 기술들의 장점들을 획득하기 위해 어플리케이션을 설치하거나 및/또는 기능 선택(feature selection)을 해야 한다.
각각의 네트워크(105)는 네트워크 디바이스들(디바이스 110, 120 및 170을 포함)이 데이터를 교환할 수 있는 유선 또는 무선 전자통신 수단들을 포함한다. 예를 들어, 각각의 네트워크(105)는 근거리 통신망 ("LAN"), 광역 통신망("WAN"), 인트라넷, 인터넷, 이동 전화 네트워크, 저장장치 영역 네트워크(SAN), 개인 영역 네트워크(PAN), 도시권 영역 네트워크(MAN), 무선 근거리 통신망(WLAN), 가상 사설망(VPN), 셀룰러 또는 다른 이동 통신 네트워크, 블루투스, NFC, 또는 이들의 임의의 조합이나 신호 또는 데이터의 통신을 용이하게 하는 임의의 다른 적절한 아키텍처 또는 시스템을 포함할 수 있다. 예시적인 실시예에 대한 설명에서, "데이터" 및 "정보"라는 용어는 본 명세서에서 텍스트, 이미지, 오디오, 비디오, 또는 컴퓨터 기반의 환경에 존재할 수 있는 임의의 다른 형태의 정보를 지칭하기 위해 상호교환적으로 사용된다. 디바이스들(110, 120 및 170)에 의해 활용되는 통신 기술은 네트워크(105)와 유사한 네트워크들 또는 대안적인 통신 기술일 수 있다.
각각의 네트워크 컴퓨팅 디바이스(110, 120, 170)는 네트워크(105)를 통해 데이터를 송신 및 수신할 수 있는 통신 모듈을 구비하는 디바이스를 포함한다. 예를 들어, 각각의 네트워크 디바이스(110, 120 및 170)는 서버, 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 하나 이상의 프로세서들이 내부에 내장되는 및/또는 연결되는 텔레비전, 스마트폰, 휴대용 컴퓨터, 개인 정보 단말기("PDA"), 또는 임의의 다른 무선 또는 유선 프로세서-구동 장치를 포함할 수 있다. 도 1에 도시된 예시적인 실시예에서, 네트워크 디바이스들(110, 120, 170)은 최종 사용자들 또는 소비자들, OCR 시스템 운영자들 및 카드사 운영자들에 의해 각각 작동된다.
사용자(101)는 분산형 네트워크(105)를 통해 문서 또는 웹 페이지를 보거나, 다운로드하거나, 업로드하거나 또는 다른 방법으로 액세스하기 위해, 예를 들어 웹 브라우저 어플리케이션 또는 독립형 어플리케이션 일 수 있는 통신 애플리케이션(112)을 사용할 수 있다. 네트워크(105)는 네트워크 디바이스들(110, 120 및 170을 포함함)이 데이터를 교환할 수 있는 유선 또는 무선 통신 시스템 또는 디바이스를 포함한다. 예를 들어, 네트워크(105)는 근거리 통신망("LAN"), 광역 통신망("WAN"), 인트라넷, 인터넷, 저장장치 영역 네트워크(SAN), 개인 영역 네트워크(PAN), 도시권 영역 네트워크(MAN), 무선 근거리 통신망(WLAN), 가상 사설망(VPN), 셀룰러 또는 다른 이동 통신 네트워크, 블루투스, NFC, 또는 이들의 임의의 조합이나 신호, 데이터 및/또는 메시지들의 통신을 용이하게 하는 임의의 다른 적절한 아키텍처 또는 시스템을 포함할 수 있다.
사용자 컴퓨팅 디바이스(110)는 통신 어플리케이션(112)을 이용하여 OCR 시스템(120)의 웹 서버(124) 또는 다른 서버들과 통신할 수 있다. 통신 어플리케이션(112)은 디바이스들이 네트워크(105) 이외의 기술들을 통해 통신할 수 있도록 한다. 예시로는 셀룰러 네트워크, 무선 네트워크(radio network) 또는 다른 통신 네트워크가 포함될 수 있다.
사용자 컴퓨팅 디바이스(110)는 전자 지갑 어플리케이션(111)을 포함할 수 있다. 전자 지갑 어플리케이션(111)은, 사용자 컴퓨팅 디바이스(110)가 사용자(101)의 구매 완료를 돕기 위해 이용할 수 있는 임의의 어플리케이션, 하드웨어, 소프트웨어 또는 프로세스를 포함할 수 있다. 전자 지갑 어플리케이션(111)은 통신 어플리케이션(112)과 상호작용할 수 있거나, 통신 어플리케이션(112)의 동반 어플리케이션(companion application)으로서 구현될 수 있다. 전자 지갑 어플리케이션(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를 사용한 명령어들의 세트를 포함할 수 있다.
본 명세서에서 설명된 OCR 어플리케이션(115)에 의해 수행되는 것으로서 기능들 중 임의의 것이, OCR 시스템(120), 사용자 컴퓨팅 디바이스(110), 전자 지갑 어플리케이션(111), 판매자 시스템(도시되지 않음) 또는 임의의 다른 적절한 하드웨어 또는 소프트웨어 시스템 또는 어플리케이션에 의해 수행될 수 있다. 일 예시에서, 사용자 컴퓨팅 디바이스(110) 상의 OCR 어플리케이션(115)은 카드(102)의 이미지를 획득하고, 이미지를 OCR 시스템(120)으로 전송하여 카드(102) 상의 정보를 추출할 수 있다.
사용자 컴퓨팅 디바이스(110)는, OCR 어플리케이션(115), 통신 어플리케이션(112), 또는 임의의 적합한 컴퓨팅 디바이스나 어플리케이션에 의해 액세스 가능한 데이터 저장 유닛(113)을 포함한다. 예시적인 데이터 저장 유닛(113)은 하나 이상의 유형의(tangible) 컴퓨터-판독 가능한 매체를 포함할 수 있다. 데이터 저장 유닛(113)은 사용자 컴퓨팅 디바이스(110) 상에 저장될 수 있거나, 사용자 컴퓨팅 디바이스(110)에 논리적으로 결합될 수 있다. 예를 들어, 데이터 저장 유닛(113)은 온-보드 플래시 메모리 및/또는 하나 이상의 탈착 가능한 메모리 카드 또는 탈착 가능한 플래시 메모리를 포함할 수 있다.
사용자 컴퓨팅 디바이스(110)는 카메라(114)를 포함할 수 있다. 카메라는 디지털 이미지를 획득하는 사용자 컴퓨팅 디바이스(110)의 임의의 모듈 또는 기능일 수 있다. 카메라(114)는 사용자 컴퓨팅 디바이스(110) 상에 탑재되거나, 사용자 컴퓨팅 디바이스(110)에 임의의 방식으로 논리적으로 연결될 수 있다. 카메라(114)는 개별 이미지들 또는 비디오 스캔을 획득할 수 있다. 임의의 다른 적절한 이미지 캡처 디바이스가 카메라(114)로써 나타내어질 수 있다.
사용자 컴퓨팅 디바이스(110)는 사용자 어플리케이션(116)들을 포함할 수 있다. 사용자 어플리케이션(116)은 연락처 어플리케이션, 이메일 어플리케이션, 전자 지갑 어플리케이션(111), 또는 사용자(101)의 이름 및/또는 사용자(101)의 지인의 이름을 활용할 수 있는 임의의 어플리케이션들일 수 있다. 사용자(1001)는 OCR 어플리케이션(115)이 사용자 어플리케이션(116)으로부터의 이름들 및 다른 데이터로의 액세스에 대한 허가를 제공할 수 있다. OCR 어플리케이션(115)은 사용자 어플리케이션(116)으로부터의 데이터를 사용하여 OCR 프로세스를 검증 또는 개선할 수 있다.
예컨대 은행이나 다른 기관과 같은 카드 발행자는 등록되는 금융 계정의 발행자일 수 있다. 예를 들어, 카드 발행자는 신용 카드 발행자, 직불 카드 발행자, 선불카드 발행자, 계정을 제공하는 금융 기관, 또는 임의의 다른 금융 계정 제공자일 수 있다. 지불 처리 시스템(도시되지 않음)도 관련 금융 계정의 발행자로서의 기능을 할 수 있다. 사용자(101)의 등록 정보는 카드 발행자의 데이터 저장 유닛에 저장되고, 웹 서버(174)에 의해 액세스 가능하다. 카드 발행자는 카드 발행자 시스템(170)을 이용하여, 카드를 발행하고, 사용자 계정을 관리하며, 임의의 다른 적절한 기능들을 수행한다. 카드 발행자 시스템(170)은 대안적으로, 식별, 액세스, 검증, 티켓팅용 카드들, 또는 임의의 다른 적절한 목적을 위한 카드들을 발행 할 수 있다. 카드 발행자 시스템(170)은 웹 서버(174)를 이용하여, 사용자(101)가 카드를 등록할 수 있도록 하고, 판매자가 카드 발행자 시스템(170)과 통신할 수 있도록 하여, 트랜잭션 또는 다른 적절한 작업들을 수행할 수 있도록 한다.
OCR 시스템(120)은 OCR 알고리즘, 방법, 프로세스 또는 서비스를 생산, 관리, 저장 또는 유지하는 시스템을 운영하는 OCR 시스템 웹 서버(124)를 이용한다. OCR 시스템 웹 서버(124)는 OCR 시스템(120)이 OCR 서비스를 사용자 컴퓨팅 장치(110), 판매자 컴퓨팅 시스템 또는 임의의 적합한 개체에 제공하기 위해 이용하는 컴퓨터-구현 시스템을 나타낼 수 있다. OCR 시스템 웹 서버(124)는 임의의 이용 가능한 기술을 통해 하나 이상의 지불 처리 시스템, 사용자 컴퓨팅 디바이스(110) 또는 다른 컴퓨팅 장치와 통신할 수 있다. 이러한 기술들은, 예를 들어 네트워크(105)를 통한 인터넷 접속, 이메일, 텍스트, 인스턴트 메신저, 또는 다른 적절한 통신 기술들을 포함할 수 있다. OCR 시스템(120)은, OCR 시스템(120)의 웹 서버(124)에 의해 액세스 가능한 데이터 저장 유닛(127)을 포함할 수 있다. 데이터 저장 유닛(127)은 하나 이상의 유형의 컴퓨터-판독 가능한 저장 장치를 포함할 수 있다
특정 예시들에서, OCR 시스템(120)에 의해 수행되는 것으로서 본 명세서에 설명되는 기능들 중 임의의 기능은 OCR 어플리케이션(115), 사용자 컴퓨팅 디바이스(110), 또는 임의의 다른 적절한 하드웨어 또는 소프트웨어 시스템 또는 어플리케이션에 의해 수행될 수 있다.
명세서 전반에서, 일반적인 용어인 "카드"는 예컨대 지불 계정 카드(102)와 같은 임의의 유형의 물리적인 카드 수단을 나타내는데 사용될 것이다. 예시적인 실시예들에서, "카드"(102)로써 표현된 다양한 유형의 카드(102)는 신용 카드(102), 직불 카드, 선불카드, 로열티 카드, 식별 카드, 또는 그 위에 사용자(101)의 계정 또는 다른 정보를 나타내는 임의의 다른 적절한 카드일 수 있다.
사용자(101)는, 예컨대 구매, 발권된 입장, 로열티 체크-인, 또는 다른 적절한 트랜젝션과 같은 트랜젝션을 할 때, 카드(102)를 이용할 수 있다. 사용자(101)는 카드(102)에 의해 표현되는 계정을 컴퓨팅 디바이스(110)의 전자 지갑 어플리케이션(111)으로 불러오는 목적 또는 다른 디지털 계정 목적으로 카드 정보를 획득할 수 있다. 카드(102)는 일반적으로, 계정 정보 및 다른 데이터를 카드(102)상에 포함하는 플라스틱 카드이다. 많은 카드(102) 실시예들에서, 고객 이름, 유효기간 및 카드 번호는 카드(102) 상에 물리적으로 양각으로 새겨진다(embossed). 양각으로 새겨진 정보는 카드(102)의 전방 및 후방 모두에서 볼 수 있지만, 양각으로 새겨진 정보는 카드(102)의 뒷면에서는 역전된다.
도시된 네트워크 접속은 예시적인 것이며, 컴퓨터들과 디바이스들 간의 통신 링크를 확립하는 다른 수단이 사용될 수 있음을 이해할 것이다. 또한, 본 개시의 이점을 갖는 당 업계의 일반적인 기술을 갖는 사람들은, 도 1에 도시된 사용자 컴퓨팅 디바이스(110), OCR 시스템(120) 및 카드 발행자 시스템(170)이 몇몇 다른 적절한 컴퓨터 시스템 구성들 중 임의의 것을 가질 수 있음을 이해할 것이다. 예를 들어, 이동 전화 또는 휴대용 컴퓨터로서 구현되는 사용자 컴퓨팅 디바이스(110)는 전술된 구성 요소들을 모두 포함하지 않을 수 있다.
예시적인 실시예에서, 본 명세서에 제시된 기술과 관련된 네트워크 컴퓨팅 디바이스들 및 임의의 다른 컴퓨팅 머신은, 도 5와 관련하여 보다 상세하게 논의되는 것과 같은 임의의 유형의 컴퓨팅 머신일 수 있으나, 이에 제한되는 것은 아니다. 또한, 본 명세서에서 설명되는 것들과 같은 컴퓨팅 머신들과 관련된 임의의 기능, 어플리케이션 또는 모듈, 또는 본 명세서에서 제시되는 기술과 관련된 임의의 다른 것들(예를 들어, 스크립트, 웹 콘텐츠, 소프트웨어, 펌웨어 또는 하드웨어)은 도 5와 관련하여 보다 상세하게 논의되는 모듈들 중 임의의 것일 수 있다. 본 명세서에 논의되는 컴퓨팅 머신들은 서로와 통신할 수 있을 뿐만 아니라, 예컨대 네트워크(105)와 같은 하나 이상의 네트워크들을 통해 다른 컴퓨팅 머신들 또는 통신 시스템들과 통신할 수 있다. 네트워크(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)는, 예를 들어 온라인 구매를 수행하기 위해, 판매자 위치에서 구매를 수행하기 위해, 사용자 컴퓨팅 디바이스 상의 전자 지갑에 정보를 추가하기 위해서, 또는 임의의 다른 적절한 이유로, 카트(102)로부터 사용자 컴퓨팅 디바이스(111)에 정보를 입력하기를 희망할 수 있다. 일 예시에서, 사용자(101)는 모바일 컴퓨팅 장치에서 실행되는 전자 지갑 어플리케이션(111)을 사용하여 구매 트랜잭션을 수행하기 위해 사용자 컴퓨팅 디바이스(110)를 사용하기를 희망한다. 전자 지갑 어플리케이션(111)은 특정 사용자 지불 계정과의 트랜젝션을 수행하기 위해, 또는 계정을 설정하기 위해, 상기 특정 사용자 지불 계정의 세부 사항의 입력을 요구할 수 있다. 모바일 디바이스의 화면 크기와 키보드 인터페이스가 작기 때문에, 이러한 입력은 번거롭고 수동 입력 시에는 오류가 발생할 수 있다. 또한, 판매자 시스템은 트랜젝션을 수행하기 위해 또는 다른 이유로 카드 정보를 캡처해야 할 수 있다.
사용자 컴퓨팅 디바이스(110) 상의 OCR 어플리케이션(115)은, 예컨대 사용자(102)의 이름과 같은 필요한 정보를 추출하는 목적으로, 카드(102)의 이미지를 수신한다. 이미지는 카메라(114) 또는 예컨대 이동 전화상의 카메라(114)와 같은 사용자 컴퓨팅 디바이스(110)의 다른 디지털 이미지 모듈로부터 획득될 수 있다. 이미지는 사용자 컴퓨팅 디바이스(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)은 카메라(114)의 비디오 피드로부터 하나 이상의 이미지를 격리하여 저장할 수 있다. 예를 들어, 사용자(101)는 사용자 컴퓨팅 디바이스(110)의 카메라(114) 기능을 카드 위로 가져가서, 사용자 컴퓨팅 디바이스(110)의 사용자 인터페이스상에서 카드의 표현을 관찰할 수 있다. 사용자 컴퓨팅 디바이스 상에 디스플레이되는 카드(102)의 예가 도 4에 제시된다.
도 4는 특정 예시적인 실시예에 따른, 금융 카드(102)의 이미지를 디스플레이하는 사용자 컴퓨팅 디바이스(110)의 예시이다. 사용자 컴퓨팅 디바이스(110)는 모바일 스마트폰으로서 도시된다. 사용자 컴퓨팅 디바이스(110)는 사용자 인터페이스로서 디스플레이 스크린(405)과 함께 도시된다. 카드(102)는 사용자 컴퓨팅 디바이스(110) 상에 디스플레이된 것으로 도시된다
도 2로 돌아가서, 블록 210에서, OCR 어플리케이션(115)은 카드의 이미지를 격리시킨다. 임의의 이미지 데이터 조작 또는 이미지 추출이 카드 이미지를 분리하는데 사용될 수 있다.
OCR 어플리케이션(115), 카메라(114), 또는 사용자 컴퓨팅 디바이스(110), 또는 다른 컴퓨팅 디바이스가 이미지에 흐림 검출(blur detection)을 수행한다. 이미지는 흐리거나, 너무 밝거나, 지나치게 어둡거나, 그렇지 않으면 고해상도 이미지를 얻을 수 없도록 모호하게 인식될 수 있다. OCR 어플리케이션(115) 또는 다른 컴퓨팅 디바이스는 이미지 포착 방법을 조정하여 이미지의 흐림을 감소시킬 수 있다. 예를 들어, OCR 어플리케이션(115)은 금융 카드에서 초점을 조정하도록 카메라(114)에 지시할 수 있다. 또 다른 예시에서, OCR 어플리케이션(115)은 사용자가 카메라(114)를 금융 카드에 더 가깝게 또는 멀어지게 이동시키도록 지시할 수 있다. 또 다른 예시에서, OCR 어플리케이션(115)은 흐림을 제거하기 위해 디지털 이미지 조작을 수행할 수 있다. 흐려진 이미지를 정정하는 임의의 다른 적절한 방법이 이용될 수 있다.
블록 215에서, OCR 어플리케이션(115)은 카드(102)의 이미지로부터 사용자 이름을 추출한다. OCR 어플리케이션(115)은 카드(102) 상의 정보를 식별하기 위해 카드 이미지에 OCR 알고리즘을 적용한다. OCR 알고리즘은 임의의 적합한 프로세스, 프로그램, 방법, 또는 카드 이미지상에 나타나 있는 숫자 또는 문자를 인식하는 다른 방식에 해당(represent)할 수 있다. OCR 알고리즘은 카드 이미지의 특정 위치들에서 사용자 이름의 문자들을 찾도록 커스터마이즈(customized) 될 수 있다. 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)은 추출된 이름과 연관될 가능성이 있는 하나 이상의 저장된 이름을 식별한다. OCR 어플리케이션(115)은, 예컨대 사용자 컴퓨팅 디바이스(110) 상에서 관리되는 사용자 계정들 상의 이름들과 같은, 사용자 데이터에서 반복되는 이름들을 식별한다. 대안적으로, OCR 어플리케이션(115)은 사용자 이름과 유사한 이름들을 식별한다. 예를 들어, 사용자(101)와 동일한 성을 갖는 배우자 또는 다른 가족 구성원들은, 예컨대 연락처 리스트 또는 소셜 네트워크와 같은 사용자 데이터에서 자주 나타날 수 있다.
블록 310에서, OCR 어플리케이션(115)은 추출된 이름을 하나 이상의 일련의 세그먼트들로 분해된다. 일 예시에서, 추출된 이름의 각 공백에서 세그먼트들이 분해된다. 예를 들어, Jon A Smith라는 이름에서 세그먼트들은 Jon / A / Smith와 같은 세 개의 세그먼트들로 분해될 수 있다. 이름 인식 알고리즘에서 식별된 저장된 이름들은 유사한 방식으로 세그먼트들로 분해된다.
또 다른 예시에서, 추출된 이름에 대해 추가적인 세그먼트 분할이 식별될 수 있다. 예를 들어, 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)은 저장된 이름들을 하나 이상의 일련의 세그먼트들로 분해한다. 저장된 이름들의 세그먼트화는 블록 310에서의 추출된 이름의 세그먼트화 하는 방법과 유사한 방법으로 수행된다. 보편적으로, 저장된 이름들의 세그먼트들은 이름의 각 공백에서 분해된다.
블록 320에서, OCR 어플리케이션(115)은 추출된 이름의 하나 이상의 일련의 세그먼트들의 각 세그먼트를 저장된 이름의 세그먼트들과 비교한다. 추출된 이름의 각 세그먼트는 저장된 이름의 세그먼트들과 비교된다. 예를 들어, OCR 어플리케이션(115)은 추출된 이름의 세그먼트의 각각의 문자를 저장된 이름의 세그먼트의 각 문자와 비교하여, 문자들이 동일한지 결정한다. 문자들이 동일하지 않으면, 상이한 문자가 식별된다.
블록 325에서, OCR 어플리케이션(115)은 각 세그먼트에 대한 편집 거리를 계산한다. OCR 어플리케이션(115)은 비교되는 각 세그먼트 간의 편집 거리를 결정한다. 이 예시에서, 저장된 이름의 제1 세그먼트가 Jan인 경우, 편집 거리는 한 글자이다. 즉, Jon의 단일 문자 "o"를 "a"로 변경하면, 저장된 이름 세그먼트 "Jan"이 생성된다. 단일 문자를 변경하는 것은 편집 거리 1을 제공한다. 편집 거리 비교는 각 일련의 세그먼트들 중 각 세그먼트에 대해 수행될 수 있다. 세그먼트들은 추출된 이름과 매치하는 것으로 식별된 저장된 이름들 각각과 비교될 수 있다.
블록 330에서, OCR 어플리케이션(115)은 저장된 이름의 세그먼트들에 대한 추출된 이름의 각각의 하나 이상의 일련의 세그먼트들에 대한 전체 편집 거리를 계산한다. 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로 결정된다. 즉, 각 세그먼트에 대해 하나의 문자가 변경되면 저장된 이름과의 매치를 생성할 수 있다. 추출된 이름에 대응하는 세그먼트가 없기 때문에, 저장된 이름의 세그먼트 "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)은 도 3의 블록 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)은 예컨대 2, 5 또는 10과 같은 제한된 시도 횟수로 블록 215, 220, 225 및 230을 반복한다. 또 다른 예시에서, 방법(200)은, 사용자(101)에 의해 시도가 포기되거나, 적절한 사용자 이름이 획득되거나, 또는 기타 명령어들이 수신될 때까지, 블록 215, 220, 225 및 230을 반복한다.
블록 245에서, OCR 어플리케이션(115)은 전자 지갑 어플리케이션(111), POS 단말 장치(point of sale terminal), 지불 처리 시스템, 웹 사이트, 또는 사용자(101)가 인가한 임의의 다른 적절한 어플리케이션이나 시스템에 추출된 데이터를 공급한다. 추출된 데이터는, 예컨대 전자 지갑 어플리케이션(111)과 같은 사용자 컴퓨팅 디바이스(110)상의 어플리케이션에 의해 사용될 수 있다. 추출된 데이터는 네트워크(105)를 통한 인터넷 접속을 통해 전송되거나, 근거리 통신("NFC") 기술을 통해 전송되거나, 전자 우편으로 보내거나, 문자로 보내거나, 또는 임의의 적절한 방식으로 전송될 수 있다.
예시적인 시스템들
도 5는 특정 예시적인 실시예들에 따른 컴퓨팅 머신(2000) 및 모듈(2050)을 도시한다. 컴퓨팅 머신(2000)은 다양한 컴퓨터들, 서버들, 모바일 디바이스들, 임베디드 시스템들 또는 본 명세서 제시된 컴퓨팅 시스템들 중 어느 것에 대응할 수 있다. 모듈(2050)은 본 명세서에 제시된 다앙한 방법들을 수행하고 기능들을 프로세싱함에 있어서 컴퓨팅 머신(2000)을 지원하도록 구성된 하나 이상의 하드웨어 또는 소프트웨어 요소들을 포함할 수 있다. 컴퓨팅 머신(2000)은 예컨대 프로세서(2010), 시스템 버스(2020), 시스템 메모리(2030), 저장 매체(2040), 입력/출력 인터페이스(2060) 및 네트워크(2080)와 통신하기 위한 네트워크 인터페이스(2070)와 같은 다양한 내부 또는 부착된 컴포넌트들을 포함할 수 있다.
컴퓨팅 머신(2000)은 종래의 컴퓨터 시스템, 임베디드 제어기, 랩탑, 서버, 모바일 디바이스, 스마트폰, 셋-탑 박스, 키오스크(kiosk), 차량 정보 시스템, 텔레비젼과 관련된 하나 이상의 프로세서들, 커스토마이징된 머신, 어떤 다른 하드웨어 플랫폼 또는 이들의 어떤 조합 또는 복수(multiplicity)로서 구현될 수 있다. 컴퓨팅 머신(2000)은 데이터 네트워크 또는 버스 시스템을 통해 상호연결된 복수의 컴퓨팅 머신들을 이용하여 기능하도록 구성된 분산형 시스템일 수 있다.
프로세서(2010)는 코드 또는 명령어들을 실행하여, 본 명세서에 기술된 동작들 및 기능을 수행하고, 요청 흐름 및 어드레스 매핑을 관리하며, 그리고 계산들을 수행하고 커맨드들을 생성하도록 구성될 수 있다. 프로세서(2010)는 컴퓨팅 머신(2000) 내의 컴포넌트들의 동작을 모니터하고 제어하도록 구성될 수 있다. 프로세서(2010)는 범용 프로세서, 프로세서 코어, 멀티프로세서, 재구성가능한 프로세서, 마이크로제어기, 디지털 신호 처리기(DSP), 주문형 집적 회로(ASIC), 그래픽 프로세서 유닛(GPU), 현장 프로그래밍가능 게이트 어레이(FPGA), 프로그래밍가능 로직 디바이스(PLD), 제어기, 상태 머신, 게이티드 로직, 이산 하드웨어 컴포넌트들, 어떤 다른 프로세싱 유닛 또는 이들의 어떤 조합 또는 복수일 수 있다. 프로세서(2010)는 단일 프로세싱 유닛, 복수의 프로세싱 유닛, 단일 프로세싱 코어, 복수의 프로세싱 코어들, 특수용 프로세싱 코어들, 코-프로세서들, 또는 이들의 어떤 조합일 수 있다. 특정 실시예들에 따르면, 컴퓨팅 머신(2000)의 다른 컴포넌트들과 함께 프로세서(2010)는 하나 이상의 컴퓨팅 머신들 내에서 실행되는 가상화된 컴퓨팅 머신일 수 있다.
시스템 메모리(2030)는 판독 전용 메모리("ROM"), 프로그래밍가능한 판독 전용 메모리("PROM"), 소거가능하고 프로그래밍가능한 판독 전용 메모리("EPROM"), 플래시 메모리와 같은 비휘발성 메모리, 또는 파워가 인가된 채로 또는 파워를 인가함이 없이 프로그램 명령어들 또는 데이터를 저장할 수 있는 어떤 다른 디바이스를 포함할 수 있다. 시스템 메모리(2030)는 또한, 랜덤 액세스 메모리("RAM"), 정적 랜덤 액세스 메모리("SRAM"), 동적 랜덤 액세스 메모리("DRAM"), 및 동기식 동적 랜덤 액세스 메모리("SDRAM")와 같은 휘발성 메모리들을 포함할 수 있다. RAM의 다른 타입들은 또한, 시스템 메모리(2030)를 구현하기 위해 이용될 수 있다. 시스템 메모리(2030)는 단일 메모리 모듈 또는 복수의 메모리 모듈들을 이용하여 구현될 수 있다. 시스템 메모리(2030)가 컴퓨팅 머신(2000)의 일부로서 도시되지만, 이 기술 분야의 숙련자는 시스템 메모리(2030)가 본 기술의 범위를 벗어남이 없이 컴퓨팅 머신(2000)과 별도일 수 있음을 인지할 것이다. 또한, 시스템 메모리(2030)는 저장 매체(2040)와 같은 비휘발성 저장 디바이스를 포함하거나 또는 이와 연계하여 동작할 수 있다.
저장 매체(2040)는 하드 디스크, 플로피 디스크, 컴팩트 디스크 판독 전용 메모리("CD-ROM"), 디지털 다기능 디스크("DVD"), 블루-레이 디스크, 자기 테이프, 플래시 메모리, 다른 비휘발성 메모리 디바이스, 고체 상태 드라이브("SSD"), 어떤 자기 저장 디바이스, 어떤 광학 저장 디바이스, 어떤 전기적 저장 디바이스, 어떤 반도체 저장 디바이스, 어떤 물리 기반의 저장 디바이스, 어떤 다른 데이터 저장 디바이스 또는 이들의 어떤 조합 또는 복수를 포함할 수 있다. 저장 매체(2040)는 하나 이상의 운영 체제들, 어플리케이션 프로그램들 및 모듈(2050)과 같은 프로그램 모듈들, 데이터 또는 어떤 다른 정보를 저장할 수 있다. 저장 매체(2040)는 컴퓨팅 머신(2000)의 일부이거나 또는 이에 연결될 수 있다. 저장 매체(2040)는 또한, 서버들, 데이터베이스 서버들, 클라우드 저장소, 네트워크 어태치 저장소, 등등과 같이, 컴퓨팅 머신(200)과 통신하는 하나 이상의 다른 컴퓨팅 머신들의 일부일 수 있다.
모듈(2050)은 본 명세서에 제시된 다양한 방법들을 수행하고 기능들을 프로세싱함에 있어서 컴퓨팅 머신(2000)을 지원하도록 구성된 하나 이상의 하드웨어 또는 소프트웨어 요소들을 포함할 수 있다. 모듈(2050)은 시스템 메모리(2030), 저장 매체(2040) 또는 둘 모두와 관련하여 소프트웨어 또는 펌웨어로 저장된 명령어들의 하나 이상의 시퀀스들을 포함할 수 있다. 그러므로, 저장 매체(2040)는 명령어들 또는 코드가 프로세서(2010)에 의한 실행을 위해 저장될 수 있는 머신 또는 컴퓨터 판독가능 매체의 예들을 나타낼 수 있다. 머신 또는 컴퓨터 판독가능 매체는 일반적으로, 프로세서(2010)에 명령어들을 제공하기 위해 이용되는 어떤 매체 또는 매체들을 나타낼 수 있다. 모듈(2050)과 관련된 이러한 머신 또는 컴퓨터 판독가능 매체는 컴퓨터 소프트웨어 물을 포함할 수 있다. 모듈(2050)을 포함하는 컴퓨터 소프트웨어 물이 또한, 네트워크(2080), 어떤 시그널-베어링 매체, 또는 어떤 다른 통신 또는 전달 기술을 통해 컴퓨팅 머신(2000)에 모듈(2050)을 전달하기 위한 하나 이상의 프로세스들 또는 방법들과 관련될 수 있음이 이해되어야 한다. 모듈(2050)은 또한, FPGA 또는 다른 PLD에 대한 마이크로코드 또는 구성 정보와 같은 하드웨어 회로들을 구성하기 위한 하드웨어 회로들 또는 정보를 포함할 수 있다.
입력/출력("I/O") 인터페이스(2060)는 하나 이상의 외부 디바이스들로부터 데이터를 수신하고 하나 이상의 외부 디바이스들에 데이터를 전송하기 위해 하나 이상의 외부 디바이스들에 결합되도록 구성될 수 있다. 다양한 내부 디바이스들과 함께 이러한 외부 디바이스들은 또한, 주변 디바이스들로서 알려질 수 있다. I/O 인터페이스(2060)는 컴퓨팅 머신(2000) 또는 프로세서(2010)에 다양한 주변 디바이스들을 동작적으로 결합하기 위한 전기적인 그리고 물리적인 연결들을 포함할 수 있다. I/O 인터페이스(2060)는 주변 디바이스들, 컴퓨팅 머신(2000), 프로세서(2010) 간에 데이터, 어드레스들 및 제어 신호들을 통신하도록 구성될 수 있다. I/O 인터페이스(2060)는 소형 컴퓨터 시스템 인터페이스("SCSI")와 같은 어떤 표준 인터페이스, 직렬 어태치 SCSI("SAS"), 섬유 채널, 주변 컴포넌트 상호연결("PCI"), PCI 익스프레스(PCIe), 직렬 버스, 병렬 버스, 고급 기술 어태치("ATA"), 직렬 ATA("SATA"), USB, 썬더볼트(Thunderbolt), 파이어와이어(Fire Wire), 다양한 비디오 버스들, 등등을 구현하도록 구성될 수 있다. I/O 인터페이스(2060)는 단 하나의 인터페이스 또는 버스 기술을 구현하도록 구성될 수 있다. 대안적으로는, I/O 인터페이스(2060)는 복수의 인터페이스들 또는 버스 기술들을 구현하도록 구성될 수 있다. I/O 인터페이스(2060)는 시스템 버스(2020)의 일부로서 또는 전부로서 또는 이와 연계하여 동작하도록 구성될 수 있다. I/O 인터페이스(2060)는 하나 이상의 외부 디바이스들, 내부 디바이스들, 컴퓨팅 머신(2000), 프로세서(2010) 사이의 전송들을 버퍼링하기 위한 하나 이상의 버퍼들을 포함할 수 있다.
I/O 인터페이스(2060)는 마우스들, 터치 스크린들, 스캐너들, 전자 디지털라이져들, 센서들, 수신기들, 터치패드들, 트랙볼들, 카메라들, 마이크들, 키보드들, 어떤 다른 포인팅 디바이스들 또는 이들의 어떤 조합을 포함하는 다양한 입력 디바이스들에 컴퓨팅 머신(2000)을 결합할 수 있다. I/O 인터페이스(2060)는 비디오 디스플레이들, 스피커들, 프린트들, 프로젝터들, 촉각 피드백 디바이스들, 자동화 제어, 로봇 컴포넌트들, 액추에이터들, 모터들, 팬들, 솔레노이드들, 밸브들, 펌프들, 송신기들, 신호 에미터들, 라이트들 및 등등을 포함하여 다양한 출력 디바이스들에 컴퓨팅 머신(2000)을 결합할 수 있다.
컴퓨팅 머신(2000)은 네트워크(2080)에 걸쳐 하나 이상의 다른 시스템들 또는 컴퓨팅 머신들로의 네트워크 인터페이스(2070)를 통한 로직적 연결을 이용하여 네트워킹된 환경에서 동작할 수 있다. 네트워크(2080)는 광역 네트워크(WAN), 로컬 영역 네트워크(LAN), 인트라넷, 인터넷, 무선 액세스 네트워크들, 유선 네트워크들, 모바일 네트워크들, 전화 네트워크들, 광학 네트워크들, 또는 이들의 조합들을 포함할 수 있다. 네트워크(2080)는 패킷 교환방식, 회로 교환방식일 수 있거나 다른 기술로 이루어질 수 있고, 어떤 통신 프로토콜을 이용할 수 있다. 네트워크(2080) 내의 통신 링크들은 광섬유 케이블, 자유 공간 광학(free-space optics), 웨이브가이드들, 전자 전도체들, 무선 링크들, 안테나들, 무선 주파수 통신들, 등등과 같은 다양한 디지털 또는 아날로그 통신 매체를 수반할 수 있다.
프로세서(2010)는 시스템 버스(2020)를 통해 컴퓨팅 머신(2000)의 다른 요소들 또는 본 명세서에 논의된 다양한 주변기기들에 연결될 수 있다. 시스템 버스(2020)는 프로세서(2010) 내에, 프로세서(2010) 외부에, 또는 두 가지 모두에 존재할 수 있음이 이해되어야 한다. 일부 실시예들에 따르면, 프로세서(2010), 컴퓨팅 머신(2000)의 다른 요소들 또는 본 명세서에 논의된 다양한 주변기기들 중 어느 것이든 시스템 온 칩(SOC), 시스템 온 패키지(SOP), 또는 ASIC 디바이스와 같은 단일 디바이스 내로 통합될 수 있다.
본 명세서에서 논의된 시스템들이 사용자들에 관한 개인 정보를 수집하거나 또는 개인 정보를 이용할 수 있는 상황들에서, 사용자들은 프로그램 또는 특징들이 사용자 정보(예컨대, 사용자의 소셜 네트워크, 소셜 액션들 또는 활동들, 직업, 사용자의 선호도들 또는 사용자의 현재 위치에 관한 정보)를 수집할지를 제어하기 위한 또는 사용자에 더 관련될 수 있는 컨텐츠를 컨텐츠 서버로부터 수신할지의 여부 그리고/또는 수신하는 법을 제어하기 위한 기회 또는 옵션을 제공받을 수 있다. 추가적으로, 특정 데이터는 저장되거나 사용되기 전에 하나 이상의 방식들로 처리될 수 있어서, 개인적으로 식별 가능한 정보가 제거된다. 예를 들어, 사용자의 신원은 어떤 개인적으로 식별 가능한 정보도 사용자에 대해 결정될 수 없도록 처리될 수 있거나 또는 사용자의 지리적 위치는 위치 정보가 획득되는 곳에서 (예컨대, 시(city), 우편 번호(ZIP code), 또는 주 레벨(state level)로) 일반화될 수 있어서, 사용자의 특별한 위치가 결정될 수 없다. 따라서, 사용자는 정보가 어떻게 사용자에 대해 수집되고 컨텐츠 서버에 의해 사용되는지에 관한 제어를 가질 수 있다.
실시예들은 본 명세서에 설명되고 예시되는 기능들을 구현하는 컴퓨터 프로그램을 포함할 수 있으며, 여기서 컴퓨터 프로그램은 머신 판독 가능 매체에 저장되는 명령어들 및 상기 명령어들을 실행하는 프로세서를 포함하는 컴퓨터 시스템에서 구현된다. 그러나, 컴퓨터 프로그래밍에서 실시예들을 구현하는 서로 다른 많은 방법들이 있을 수 있음이 분명할 것이며, 실시예들이 컴퓨터 프로그램 명령어들의 임의의 하나의 세트에 제한되는 것으로 이해서는 안 된다. 또한, 숙련된 프로그래머는 어플리케이션 텍스트 내의 첨부된 흐름도들 및 관련 설명에 기초하여 개시된 실시예들 중의 실시예를 구현하기 위한 그러한 컴퓨터 프로그램을 작성할 수 있다. 따라서, 프로그램 코드 명령어들의 특정한 세트의 개시는 실시예들을 만들고 사용하는 방법의 적절한 이해를 위해 필수적인 것으로 고려되지 않는다. 또한, 당업자들은 본 명세서에 설명되는 실시예들의 하나 이상의 양상들이 하나 이상의 컴퓨팅 시스템들에서 구현될 수 있는 바와 같이, 하드웨어, 소프트웨어, 또는 그것들의 조합에 의해 수행될 수 있다는 것을 이해할 것이다. 더욱이, 하나보다 많은 컴퓨터가 동작을 수행할 수 있기 때문에, 컴퓨터에 의해 수행되는 동작에 대한 어떤 참조는 단일 컴퓨터에 의해 수행되는 것으로 고려되어서는 안 된다.
본 명세서에 설명되는 예시적인 실시예들은 본 명세서에 설명되는 방법들을 수행하고 기능들을 처리하는 컴퓨터 하드웨어 및 소프트웨어와 함께 사용될 수 있다. 본 명세서에 설명되는 시스템들, 방법들, 및 절차들은 프로그램가능 컴퓨터, 컴퓨터 실행가능 소프트웨어, 또는 디지털 회로에서 구현될 수 있다. 소프트웨어는 컴퓨터 판독가능 매체 상에 저장될 수 있다. 예를 들어, 컴퓨터 판독가능 매체는 플로피 디스크, RAM, ROM, 하드 디스크, 탈착 가능한 매체, 플래쉬 메모리, 메모리 스틱(memory stick), 광학 매체, 자기-광학 매체, CD-ROM 등을 포함할 수 있다. 디지털 회로는 집적 회로들, 게이트 어레이들, 빌딩 블록 로직(building block logic), 현장 프로그램가능 게이트 어레이들(FPGA) 등을 포함할 수 있다.
이전에 제시된 실시예들에서 설명되는 예시적인 시스템들, 방법들, 및 동작들은 예시적이며, 대안적인 실시예들에서, 특정 동작들은 다른 순서로, 서로 병행하여, 전부 생략되어, 및/또는 서로 다른 예시적인 실시예들 간에 조합되어 수행될 수 있으며, 그리고/또는 특정한 추가 동작들이 다양한 실시예들의 범위 및 사상을 벗어남이 없이 수행될 수 있다. 따라서, 그러한 대안적인 실시예들은 여기에 청구되는 본 발명에 포함된다.
비록 특정한 실시예들이 상기에 상세히 설명되지만, 설명은 단지 예시를 위한 것이다. 따라서, 상기에 설명되는 많은 양상들이 달리 명시되지 않는 한 필수 또는 본질적인 요소들로 의도되지 않는다는 것이 이해되어야 한다. 상기에 설명된 예시적인 실시예들에 추가적으로, 예시적인 실시예들의 개시된 양상들의 수정예들, 및 예시적인 실시예들의 개시된 양상들과 균등한 컴포넌트들 또는 대응하는 동작들은 다음의 청구항들에서 정의되는 실시예들의 사상 및 범위를 벗어남이 없이 본 발명의 이득을 가지는 당업자에 의해 행해질 수 있으며, 그 범위는 그러한 수정예들 및 균등한 구조들을 포함하도록 가장 넓은 해석이 부여되어야 한다.

Claims (20)

  1. 금융 카드들로부터 사용자 이름들을 추출하고, 사용자 이름들의 세그먼트들을 사용자 데이터에 저장된 이름들과 비교하여 상기 추출된 이름을 수정하는, 컴퓨터-구현 방법으로,
    하나 이상의 컴퓨팅 디바이스에 의해, 카드의 디지털 이미지를 수신하는 단계,
    상기 하나 이상의 컴퓨팅 디바이스에 의해, 상기 카드의 디지털 이미지에 광학 문자 인식 알고리즘을 적용하여, 상기 카드와 관련된 사용자의 추출된 이름을 획득하는 단계,
    상기 하나 이상의 컴퓨팅 디바이스에 의해, 저장된 사용자 데이터로부터 상기 추출된 사용자 이름과 관련될 가능성이 있는 이름을 식별하는 단계,
    상기 하나 이상의 컴퓨팅 디바이스에 의해, 상기 추출된 이름을 일련의 세그먼트들로 나누는 단계,
    상기 하나 이상의 컴퓨팅 디바이스에 의해, 상기 식별된 이름을 일련의 세그먼트들로 나누는 단계,
    상기 하나 이상의 컴퓨팅 디바이스에 의해, 상기 추출된 이름의 일련의 세그먼트들을 상기 식별된 이름의 일련의 세그먼트들과 비교하는 단계,
    상기 하나 이상의 컴퓨팅 디바이스에 의해, 상기 추출된 이름들의 세그먼트들로부터 상기 식별된 이름의 일련의 세그먼트들로의 편집 거리를 계산하는 단계,
    상기 하나 이상의 컴퓨팅 디바이스에 의해, 상기 편집 거리가 설정된 임계값 미만인지 결정하는 단계, 및
    상기 하나 이상의 컴퓨팅 디바이스에 의해, 상기 식별된 이름에 기초하여 상기 추출된 이름의 하나 이상의 세그먼트들을 수정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터-구현 방법.
  2. 제1항에 있어서,
    상기 하나 이상의 컴퓨팅 디바이스에 의해, 상기 추출된 이름을 복수의 일련의 세그먼트들로 나누는 단계로, 상기 복수의 일련의 세그먼트들의 각각은 서로 다른 세그먼트 분할을 갖는 단계,
    상기 하나 이상의 컴퓨팅 디바이스에 의해, 상기 추출된 이름의 복수의 일련의 세그먼트들 각각을 상기 식별된 이름의 일련의 세그먼트들과 비교하는 단계,
    상기 하나 이상의 컴퓨팅 디바이스에 의해, 복수의 일련의 세그먼트들 중 상기 추출된 이름으로 가장 짧은 편집 거리를 갖는 일련의 세그먼트를 선택하는 단계,
    상기 하나 이상의 컴퓨팅 디바이스에 의해, 상기 편집 거리가 설정된 임계값 미만인지 결정하는 단계, 및
    상기 하나 이상의 컴퓨팅 디바이스에 의해, 상기 식별된 이름에 기초하여 상기 추출된 이름을 수정하는 단계를 추가적으로 포함하는 것을 특징으로 하는 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 추출된 이름과 상기 식별된 이름은 이름 내 각 공백에서 세그먼트들로 나눠지는 것을 특징으로 하는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 하나 이상의 컴퓨팅 장치에 의해, 검증 또는 수정을 위해 상기 수정된 이름을 사용자에게 제공하는 단계, 및
    상기 하나 이상의 컴퓨팅 장치에 의해, 사용자로부터 수정의 입력을 수신하는 단계를 추가적으로 포함하는 것을 특징으로 하는, 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 카드는 신용 카드, 직불 카드, 로열티 카드, 액세스 카드 또는 선불 카드를 포함하는 것을 특징으로 하는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 하나 이상의 컴퓨팅 디바이스에 의해, 트랜젝션에 사용하기 위해 상기 수정된 이름을 상기 하나 이상의 컴퓨팅 디바이스 상의 전자 지갑 어플리케이션에 제공하는 단계를 추가적으로 포함하는 것을 특징으로 하는 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 편집 거리는, 상기 추출된 이름 세그먼트에서, 대응하는 식별된 이름 세그먼트에 매치하기 위해 수정될 필요가 있는 문자의 개수인 것을 특징으로 하는 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 하나 이상의 컴퓨팅 디바이스에 의해, 상기 추출된 이름으로부터의 세그먼트가 상기 식별된 이름에 대응하는 세그먼트를 가지지 않는 경우, 상기 추출된 이름으로부터의 세그먼트를 생략하는 단계를 추가적으로 포함하는 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 저장된 사용자 데이터는 상기 하나 이상의 컴퓨팅 디바이스 상의 연락처 리스트로부터 비롯된 것임을 특징으로 하는 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 저장된 사용자 데이터는 상기 하나 이상의 컴퓨팅 디바이스들 상에서 유지되는 사용자의 계정으로부터 비롯된 것임을 특징으로 하는 방법.
  11. 컴퓨터 프로그램 제품으로서,
    컴퓨터-실행가능 프로그램 명령어들이 수록되는 비-일시적 컴퓨터-판독가능 저장 매체를 포함하고, 상기 명령어들은 컴퓨터에 의해 실행될 때, 상기 컴퓨터로 하여금 금융 카드들로부터 사용자 이름들을 추출하고, 상기 사용자 이름들의 세그먼트들과 사용자 데이터 내에 저장되는 이름들을 비교하여 상기 추출된 이름을 수정하도록 하며, 상기 컴퓨터-실행가능 프로그램 명령어들은:
    금융 카드로부터 디지털 이미지를 수신하기 위한 컴퓨터-판독가능 프로그램 명령어들;
    상기 금융 카드의 디지털 이미지에 광학 문자 인식 알고리즘을 적용하여 상기 카드와 관련된 사용자의 추출된 이름을 획득하기 위한 컴퓨터-판독가능 프로그램 명령어들;
    저장된 사용자 데이터로부터 상기 추출된 이름과 관련될 가능성이 있는 이름을 식별하기 위한 컴퓨터-판독가능 프로그램 명령어들;
    상기 추출된 이름을 복수의 일련의 세그먼트들로 나누되, 복수의 일련의 세그먼트들 각각은 서로 다른 세그먼트 분할을 갖도록 하기 위한 컴퓨터-판독가능 프로그램 명령어들;
    상기 식별된 이름을 일련의 세그먼트들로 나누기 위한 컴퓨터-판독가능 프로그램 명령어들;
    상기 추출된 이름의 복수의 일련의 세그먼트들 각각을 상기 식별된 이름의 일련의 세그먼트들과 비교하기 위한 컴퓨터-판독가능 프로그램 명령어들;
    상기 추출된 이름들의 세그먼트들로부터 상기 식별된 이름의 일련의 세그먼트들까지의 편집 거리를 계산하기 위한 컴퓨터-판독가능 프로그램 명령어들;
    상기 복수의 일련의 세그먼트들 중 상기 추출된 이름으로 가장 짧은 편집 거리를 갖는 하나의 일련의 세그먼트를 선택하기 위한 컴퓨터-판독가능 프로그램 명령어들;
    상기 편집 거리가 설정된 임계값 미만인지 결정하기 위한 컴퓨터-판독가능 프로그램 명령어들; 및
    상기 식별된 이름에 기초하여 상기 추출된 이름을 수정하기 위한 컴퓨터-판독가능 프로그램 명령어들을 포함하는 것을 특징으로 하는, 컴퓨터 프로그램 제품.
  12. 제11항에 있어서,
    상기 추출된 이름과 상기 식별된 이름은 이름 내의 각각의 공백에서 세그먼트들로 나눠지는 것을 특징으로 하는, 컴퓨터 프로그램 제품.
  13. 제11항 또는 제12항에 있어서,
    신뢰 수준이 미리 설정된 임계값 미만임을 결정 시, 상기 금융 카드의 이미지에 상기 광학 문자 인식 알고리즘을 재적용하기 위한 컴퓨터-판독가능 프로그램 명령어들을 추가적으로 포함하는 것을 특징으로 하는, 컴퓨터 프로그램 제품.
  14. 제11항 내지 제13항 중 어느 한 항에 있어서,
    트랜젝션에 사용하기 위해, 사용자 컴퓨팅 디바이스 상의 전자 지갑 어플리케이션에 상기 수정된 이름을 제공하기 위한 컴퓨터-판독가능 프로그램 명령어들을 추가적으로 포함하는 것을 특징으로 하는, 컴퓨터 프로그램 제품.
  15. 제11항 내지 제14항 중 어느 한 항에 있어서,
    상기 금융 카드는 신용카드 또는 직불 카드를 포함하는 것을 특징으로 하는, 컴퓨터 프로그램 제품.
  16. 제11항 내지 제15항 중 어느 한 항에 있어서,
    상기 저장된 사용자 데이터는 상기 하나 이상의 컴퓨팅 장치들 상의 연락처 리스트로부터 비롯된 것임을 특징으로 하는, 컴퓨터 프로그램 제품.
  17. 금융 카드로부터 사용자 이름들을 추출하고, 상기 사용자 이름들의 세그먼트들을 사용자 데이터에 저장되는 이름들과 비교하여, 상기 추출된 이름을 수정하기 위한 시스템으로서,
    저장 디바이스;
    상기 저장 디바이스에 통신적으로 결합되는 프로세서를 포함하고, 상기 프로세서는 상기 시스템으로 하여금;
    카드의 디지털 이미지를 수신하고;
    상기 카드의 디지털 이미지에 광학 문자 인식 알고리즘을 적용하여 상기 카드와 관련된 사용자의 추출된 이름을 획득하고;
    저장된 사용자 데이터로부터 상기 추출된 이름과 관련될 가능성이 있는 이름을 식별하고;
    상기 추출된 이름을 일련의 세그먼트들로 나누고;
    상기 식별된 이름을 일련의 세그먼트들로 나누고;
    상기 추출된 이름의 일련의 세그먼트들과 상기 식별된 이름의 일련의 세그먼트들을 비교하고;
    상기 추출된 이름들의 세그먼트들로부터 상기 식별된 이름의 일련의 세그먼트들로의 편집 거리를 계산하고;
    상기 편집 거리가 설정된 임계값 미만인지 결정하고;
    검증 또는 수정을 위해 사용자에게 수정된 이름을 제공하되, 수정은 상기 식별된 이름에 기초한 것이고; 및
    상기 사용자로부터 수정에 대한 검증을 수신하도록 하는, 상기 저장 디바이스에 저장되는 컴퓨터-판독가능 명령어들을 실행하도록 구성되는 것을 특징으로 하는 시스템.
  18. 제17항에 있어서,
    상기 편집 거리는, 추출된 이름 세그먼트에서, 대응하는 식별 이름 세그먼트에 매치하기 위해 수정될 필요가 있는 문자의 개수인 것을 특징으로 하는 시스템.
  19. 제17항 또는 제18항에 있어서,
    상기 추출된 이름 및 상기 식별된 이름은 이름 내 각 공백에서 세그먼트들로 나눠지는 것을 특징으로 하는 시스템.
  20. 제17항 내지 제19항 중 어느 한 항에 있어서,
    상기 저장된 사용자 데이터는 상기 프로세서 상에서 유지되는 사용자의 계정으로부터 비롯된 것임을 특징으로 하는 시스템.
KR1020177031612A 2015-08-16 2016-08-16 추출된 사용자 이름과 저장된 사용자 이름의 비교 KR20170133462A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/827,330 US20170046668A1 (en) 2015-08-16 2015-08-16 Comparing An Extracted User Name with Stored User Data
US14/827,330 2015-08-16
PCT/US2016/047226 WO2017031135A1 (en) 2015-08-16 2016-08-16 Comparing an extracted user name with stored user data

Publications (1)

Publication Number Publication Date
KR20170133462A true KR20170133462A (ko) 2017-12-05

Family

ID=56801823

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177031612A KR20170133462A (ko) 2015-08-16 2016-08-16 추출된 사용자 이름과 저장된 사용자 이름의 비교

Country Status (8)

Country Link
US (1) US20170046668A1 (ko)
EP (1) EP3335152A1 (ko)
JP (1) JP2018523188A (ko)
KR (1) KR20170133462A (ko)
CN (1) CN108064385A (ko)
DE (1) DE112016003724T5 (ko)
GB (1) GB2553722A (ko)
WO (1) WO2017031135A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10282535B2 (en) * 2014-09-02 2019-05-07 NXT-ID, Inc. Method and system to validate identity without putting privacy at risk
SG10202109555WA (en) 2016-02-23 2021-09-29 Nchain Holdings Ltd Agent-based turing complete transactions integrating feedback within a blockchain system
SG10201805995VA (en) 2016-02-23 2018-08-30 Nchain Holdings Ltd Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
EP3257191B1 (en) 2016-02-23 2018-04-11 Nchain Holdings Limited Registry and automated management method for blockchain-enforced smart contracts
BR112018016234A2 (pt) * 2016-02-23 2019-01-02 Nchain Holdings Ltd método implementado por computador para controlar o acesso a um recurso, sistemas baseados em computador e método para controle de acesso a uma carteira digital
US10296788B1 (en) * 2016-12-19 2019-05-21 Matrox Electronic Systems Ltd. Method and system for processing candidate strings detected in an image to identify a match of a model string in the image
JP2019004365A (ja) * 2017-06-16 2019-01-10 富士ゼロックス株式会社 情報処理装置
US10192215B1 (en) * 2018-03-02 2019-01-29 Capital One Services, Llc Trigger peer to peer payment with financial cards and phone camera
JP7254606B2 (ja) * 2019-04-25 2023-04-10 日本電設工業株式会社 積算業務支援システム及び積算業務支援プログラム
SG10201904554TA (en) 2019-05-21 2019-09-27 Alibaba Group Holding Ltd Methods and devices for quantifying text similarity
CN112069374B (zh) * 2020-09-18 2024-04-30 中国工商银行股份有限公司 一种银行多个客户编号的识别方法及装置
CN116129456B (zh) * 2023-02-09 2023-07-25 广西壮族自治区自然资源遥感院 一种产权权属信息识别录入方法及系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2004016443A1 (ja) * 2002-08-19 2005-12-02 セイコーエプソン株式会社 データ収集用シート、データ収集システムおよびデータ収集方法
US7826665B2 (en) * 2005-12-12 2010-11-02 Xerox Corporation Personal information retrieval using knowledge bases for optical character recognition correction
US7664343B2 (en) * 2006-01-23 2010-02-16 Lockheed Martin Corporation Modified Levenshtein distance algorithm for coding
US8150161B2 (en) * 2008-09-22 2012-04-03 Intuit Inc. Technique for correcting character-recognition errors
KR20110056561A (ko) * 2008-09-30 2011-05-30 애플 인크. 피어 대 피어 금융 트랜잭션 장치들 및 방법들
US8774516B2 (en) * 2009-02-10 2014-07-08 Kofax, Inc. Systems, methods and computer program products for determining document validity
US9349063B2 (en) * 2010-10-22 2016-05-24 Qualcomm Incorporated System and method for capturing token data with a portable computing device
EP2533141A1 (en) * 2011-06-07 2012-12-12 Amadeus S.A.S. A personal information display system and associated method
CN102393847B (zh) * 2011-07-05 2013-04-17 上海合合信息科技发展有限公司 判断联系人列表中是否存在欲添加名片的方法
KR20140128172A (ko) * 2013-04-26 2014-11-05 인텔렉추얼디스커버리 주식회사 신용 카드 정보를 처리하는 단말 장치 및 그 동작 방법
US20150006362A1 (en) * 2013-06-28 2015-01-01 Google Inc. Extracting card data using card art
US20150227690A1 (en) * 2014-02-12 2015-08-13 Xerox Corporation System and method to facilitate patient on-boarding

Also Published As

Publication number Publication date
DE112016003724T5 (de) 2018-05-03
GB2553722A (en) 2018-03-14
CN108064385A (zh) 2018-05-22
EP3335152A1 (en) 2018-06-20
WO2017031135A1 (en) 2017-02-23
US20170046668A1 (en) 2017-02-16
GB201717859D0 (en) 2017-12-13
JP2018523188A (ja) 2018-08-16

Similar Documents

Publication Publication Date Title
US10963730B2 (en) Comparing extracted card data using continuous scanning
US10055663B2 (en) Comparing extracted card data with user data
US10296799B2 (en) Extracting card identification data
KR20170133462A (ko) 추출된 사용자 이름과 저장된 사용자 이름의 비교
US9626556B2 (en) Client side filtering of card OCR images
US20170053162A1 (en) Card art display

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application