KR20230019025A - 템플릿 변경을 처리하기 위한 메시지 매핑을 위한 방법 및 시스템 - Google Patents

템플릿 변경을 처리하기 위한 메시지 매핑을 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20230019025A
KR20230019025A KR1020220089036A KR20220089036A KR20230019025A KR 20230019025 A KR20230019025 A KR 20230019025A KR 1020220089036 A KR1020220089036 A KR 1020220089036A KR 20220089036 A KR20220089036 A KR 20220089036A KR 20230019025 A KR20230019025 A KR 20230019025A
Authority
KR
South Korea
Prior art keywords
message
information
extractor
computer system
extractors
Prior art date
Application number
KR1020220089036A
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 KR20230019025A publication Critical patent/KR20230019025A/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
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • G06Q10/0833Tracking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/42Mailbox-related aspects, e.g. synchronisation of mailboxes
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/83Querying
    • G06F16/835Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/131Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0633Lists, e.g. purchase orders, compilation or processing
    • 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
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/28Logistics, e.g. warehousing, loading, distribution or shipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Abstract

컴퓨터 시스템, 및 컴퓨터 시스템에서의 방법으로서, 방법은, 특성값을 생성하기 위해, 수신된 메시지에 매핑 함수를 적용하는 단계로서, 매핑 함수는, 유사한 메시지를 유사한 특성값에 매핑하도록 조정되는, 단계; 특성값을 복수의 메시지 추출기 각각과 관련된 값과 비교하는 단계; 특성값이 복수의 메시지 추출기와 관련된 임의의 값과 매칭되지 않는 것으로 결정하는 단계; 복수의 메시지 추출기로부터 적어도 하나의 메시지 추출기를 식별하는 단계로서, 식별하는 단계는, 메시지 추출기와 관련된 값 및 수신된 메시지로부터의 특성값이 비교될 때 유사성 기준을 충족시키는 것으로 결정하는, 단계; 및 수신된 메시지로부터 정보를 추출하기 위해, 식별된 적어도 하나의 메시지 추출기를 사용하는 단계를 포함한다.

Description

템플릿 변경을 처리하기 위한 메시지 매핑을 위한 방법 및 시스템{METHOD AND SYSTEM FOR MESSAGE MAPPING TO HANDLE TEMPLATE CHANGES}
본 개시물은 전자 메시지(electronic message)의 모니터링에 관한 것이며, 특히 메시지 템플릿(message template)을 사용하여 생성된 전자 메시지로부터 정보를 추출하는 것에 관한 것이다.
메시지로부터 추출된 정보는 다양한 상황에서 사용될 수 있다. 예를 들어, 전자 상거래 플랫폼은, 플랫폼의 계정을 가진 사람들이 이들의 이메일 계정을 연결할 수 있도록 할 수 있다. 이 경우, 이러한 이메일 계정에 수신되는 이메일 중 일부 또는 전부는 전자 상거래 플랫폼에 의해 모니터링되어, 계정 소유자를 위해 구매, 수송 및 배송을 추적하는 것과 같은 부가가치 서비스를 제공할 수 있다.
정보를 추출하기 위해, 이메일 추출기가 사용될 수 있다. 이메일 추출기는, 이메일의 내용으로부터 관련 정보 부분을 추출할 수 있는 알고리즘이다. 예를 들어, 이메일 추출기는, 이들이 최근에 주문을 했던 판매자로부터 수신된 구매자의 배송 알림 이메일로부터 주문과 관련된 추적 식별자, 주문 일자, 배송 일자, 배송업체, 및 제품, 또는 다른 정보를 추출할 수 있다.
높은 정확도 및 정밀도의 이메일 추출기는, 전형적으로 각각 하나의 특정 이메일 템플릿만을 파싱(parsing)하도록 트레이닝된다. 따라서, 구매자의 받은편지함으로부터 전자 상거래 이메일을 해석하기 위해 구축된 것과 같은, 정교한 이메일 추출 시스템은, 별개의 단일 이메일 템플릿으로부터 특정 관련 정보를 식별하도록 각각 트레이닝된 수천 개 또는 수십만 개의 이메일 추출기를 필요로 할 수 있다.
경우에 따라, 템플릿을 사용하여 생성된 메시지로부터의 정보는, 이러한 템플릿을 위해 특화된 메시지 추출기를 사용함으로써 추출될 수 있다. 그러나, 판매자가 메시지에 대한 템플릿을 변경하는 경우, 적합한 추출기를 식별하기가 어려울 수 있다. 본 개시물의 실시형태에 따라, 수신된 메시지에 특성값이 할당될 수 있다. 그 다음, 다양한 메시지 추출기에 대해 저장된 값과 비교하기 위해 특성값이 사용될 수 있으며, 유사성 지수(similarity index) 및 잠재적으로 품질 스코어(quality score)에 기초하여, 이러한 메시지를 위한 새로운 메시지 추출기가 생성 및/또는 사용될 수 있다.
본 출원의 청구 대상은 수신된 메시지로부터 정보를 획득하기 위해 사용될 메시지 추출기의 식별에 관한 것이다.
일 양태에서, 컴퓨터 시스템에서의 방법이 제공된다. 방법은, 특성값을 생성하기 위해, 수신된 메시지에 매핑(mapping) 함수를 적용하는 단계를 포함하며, 매핑 함수는, 유사한 메시지를 유사한 특성값에 매핑하도록 조정된다. 방법은, 특성값을 복수의 메시지 추출기 각각과 관련된 값과 비교하는 단계, 및 특성값이 복수의 메시지 추출기와 관련된 임의의 값과 매칭되지 않는 것으로 결정하는 단계를 더 포함한다. 방법은, 복수의 메시지 추출기로부터 적어도 하나의 메시지 추출기를 식별하는 단계를 더 포함하며, 식별하는 단계는, 메시지 추출기와 관련된 값 및 수신된 메시지로부터의 특성값이 비교될 때 유사성 기준을 충족시키는 것으로 결정한다. 방법은, 수신된 메시지로부터 정보를 추출하기 위해, 식별된 적어도 하나의 메시지 추출기를 사용하는 단계를 더 포함한다.
일부 실시형태에서, 방법은, 식별된 적어도 하나의 메시지 추출기가 정보를 정확히 추출하는지를 확인하기 위해, 알려진 정보 필드 값과 비교하여 추출된 정보를 검사하는 단계를 더 포함할 수 있다.
일부 실시형태에서, 유사성 기준은, 특성값으로부터 임계치 거리 내에 있는 유사성 지수를 포함한다.
일부 실시형태에서, 수신된 메시지는 이메일 메시지이며, 요소는, XPath를 사용하여 추출된 이메일 메시지로부터의 하이퍼텍스트 마크업 언어(HTML) 요소를 포함한다.
일부 실시형태에서, 유사성 지수는, 고정된 길이 어레이로부터의 요소를 복수의 메시지 추출기 각각과 관련된 고정된 길이 어레이와 상관시킴으로써 생성된다.
일부 실시형태에서, 식별하는 단계는, 적어도 하나의 메시지 추출기를 식별하기 위해, 수신된 메시지 내로부터의 정보를 사용하는 단계를 더 포함한다.
일부 실시형태에서, 정보는, 수신된 메시지 내의 판매자 이름, 발송자 주소, 제품명, 배송업체, 또는 식별자 형식 중 적어도 하나를 포함한다.
일부 실시형태에서, 식별하는 단계는, 적어도 하나의 메시지 추출기를 식별하기 위해, 특성값과 관련된 메시지의 양(volume) 증가 또는 감소를 추가로 사용한다.
일부 실시형태에서, 방법은, 수신된 메시지로부터 추출된 정보에 대한 품질 스코어를 생성하는 단계; 및 품질 스코어가 품질 임계치를 초과하는 경우, 정보를 추출하는 단계를 더 포함한다.
일부 실시형태에서, 방법은, 수신된 메시지로부터 추출된 정보에 대한 품질 스코어를 생성하는 단계; 및 수신된 메시지 내의 정보를 확인하기 위해, 상거래 플랫폼의 운영자 또는 수신 엔티티(entity) 중 하나에 메시지를 조회하는 단계를 더 포함한다.
다른 양태에서, 프로세서 및 통신 서브 시스템을 포함하는 컴퓨터 시스템이 제공된다. 컴퓨터 시스템은, 특성값을 생성하기 위해, 통신 서브 시스템을 통해 수신되는 수신된 메시지에 매핑 함수를 적용하도록 구성되며, 매핑 함수는, 유사한 메시지를 유사한 특성값에 매핑하도록 조정된다. 컴퓨터 시스템은, 특성값을 복수의 메시지 추출기 각각과 관련된 값과 비교하고, 특성값이 복수의 메시지 추출기와 관련된 임의의 값과 매칭되지 않는 것으로 결정하도록 추가로 구성된다. 컴퓨터 시스템은, 복수의 메시지 추출기로부터 적어도 하나의 메시지 추출기를 식별하도록 추가로 구성되며, 식별은, 메시지 추출기와 관련된 값 및 수신된 메시지로부터의 특성값이 비교될 때 유사성 기준을 충족시키는 것으로 결정한다. 컴퓨터 시스템은, 수신된 메시지로부터 정보를 추출하기 위해, 식별된 적어도 하나의 메시지 추출기를 사용하도록 추가로 구성된다.
일부 실시형태에서, 컴퓨터 시스템은, 식별된 적어도 하나의 메시지 추출기가 정보를 정확히 추출하는지를 확인하기 위해, 알려진 정보 필드 값과 비교하여 추출된 정보를 검사하도록 추가로 구성된다.
일부 실시형태에서, 유사성 기준은, 특성값으로부터 임계치 거리 내에 있는 유사성 지수를 포함한다.
일부 실시형태에서, 수신된 메시지는 이메일 메시지이며, 요소는, XPath를 사용하여 추출된 이메일 메시지로부터의 하이퍼텍스트 마크업 언어(HTML) 요소를 포함한다.
일부 실시형태에서, 유사성 지수는, 고정된 길이 어레이로부터의 요소를 복수의 메시지 추출기 각각과 관련된 고정된 길이 어레이와 상관시킴으로써 생성된다.
일부 실시형태에서, 컴퓨터 시스템은, 적어도 하나의 메시지 추출기를 식별하기 위해, 수신된 메시지 내로부터의 정보를 사용함으로써 식별하도록 추가로 구성된다.
일부 실시형태에서, 정보는, 수신된 메시지 내의 판매자 이름, 발송자 주소, 제품명, 배송업체, 또는 식별자 형식 중 적어도 하나를 포함한다.
일부 실시형태에서, 컴퓨터 시스템은, 적어도 하나의 메시지 추출기를 식별하기 위해, 특성값과 관련된 메시지의 양 증가 또는 감소를 사용함으로써 식별하도록 추가로 구성된다.
일부 실시형태에서, 컴퓨터 시스템은, 수신된 메시지로부터 추출된 정보에 대한 품질 스코어를 생성하는 단계; 및 품질 스코어가 품질 임계치를 초과하는 경우, 정보를 추출하는 단계에 의해, 식별된 적어도 하나의 메시지 추출기를 사용하도록 추가로 구성된다.
일부 실시형태에서, 컴퓨터 시스템은, 수신된 메시지로부터 추출된 정보에 대한 품질 스코어를 생성하는 단계; 및 수신된 메시지 내의 정보를 확인하기 위해, 상거래 플랫폼의 운영자 또는 수신 엔티티 중 하나에 메시지를 조회하는 단계에 의해, 식별된 적어도 하나의 메시지 추출기를 사용하도록 추가로 구성된다.
추가적인 양태에서, 명령 코드를 저장하기 위한 비-일시적 컴퓨터 판독 가능 매체가 제공된다. 명령 코드는, 컴퓨터 시스템의 프로세서에 의해 실행될 때, 컴퓨터 시스템으로 하여금, 특성값을 생성하기 위해, 통신 서브 시스템을 통해 수신되는 수신된 메시지에 매핑 함수를 적용하도록 하며, 매핑 함수는, 유사한 메시지를 유사한 특성값에 매핑하도록 조정되고; 명령 코드는, 컴퓨터 시스템의 프로세서에 의해 실행될 때, 컴퓨터 시스템으로 하여금, 특성값을 복수의 메시지 추출기 각각과 관련된 값과 비교하도록 하며; 명령 코드는, 컴퓨터 시스템의 프로세서에 의해 실행될 때, 컴퓨터 시스템으로 하여금, 특성값이 복수의 메시지 추출기와 관련된 임의의 값과 매칭되지 않는 것으로 결정하도록 하고; 명령 코드는, 컴퓨터 시스템의 프로세서에 의해 실행될 때, 컴퓨터 시스템으로 하여금, 복수의 메시지 추출기로부터 적어도 하나의 메시지 추출기를 식별하도록 하며, 식별은, 메시지 추출기와 관련된 값 및 수신된 메시지로부터의 특성값이 비교될 때 유사성 기준을 충족시키는 것으로 결정하고; 명령 코드는, 컴퓨터 시스템의 프로세서에 의해 실행될 때, 컴퓨터 시스템으로 하여금, 수신된 메시지로부터 정보를 추출하기 위해, 식별된 적어도 하나의 메시지 추출기를 사용하도록 한다.
따라서, 이하의 청구범위에서 상세화되는 바와 같은 방법, 컴퓨터 시스템, 컴퓨터 프로그램, 및 컴퓨터 판독 가능 매체가 제공된다.
본 개시물은 도면을 참조하여 더 잘 이해될 것이며, 도면으로서:
도 1은 본 개시물의 실시형태를 구현할 수 있는 예시적인 전자 상거래 시스템을 도시하는 블록도이다.
도 2는 도 1의 전자 상거래 플랫폼을 사용하는 판매자를 위한 예시적인 인터페이스를 도시하는 블록도이다.
도 3은 그 안에 내장된 정보를 갖는, 템플릿으로부터 생성된 예시적인 제1 메시지를 도시하는 블록도이다.
도 4는 그 안에 내장된 정보를 갖는, 템플릿으로부터 생성된 예시적인 제2 메시지를 도시하는 블록도이다.
도 5는 값을 클러스터에 할당하기 위한 프로세스를 도시하는 프로세스 구성도이다.
도 6은 수신된 메시지로부터 정보를 추출할 때 사용하기 위한 적어도 하나의 메시지 추출기의 식별을 위한 프로세스 구성도이다.
도 7은 본 개시물의 실시형태에 사용될 수 있는 간략화된 컴퓨터 장치의 블록도이다.
이제 본 개시물은, 첨부된 도면 및 참조물을 참조하여, 이의 제한적이지 않은 다양한 예시적인 실시형태를 설명함으로써 상세히 설명될 것이다. 그러나, 본 개시물은 많은 상이한 형태로 구현될 수 있으며, 본원에 설명된 예시적인 실시형태로 제한되는 것으로 해석되어서는 안된다. 오히려, 본 개시물이 완전해지고 본 개시물의 개념을 당업자에게 완전히 전달하도록, 실시형태가 제공된다.
본 개시물의 다양한 실시형태에 따라, 시스템은, 시스템과 관련된 메시지를 위해 새로운 템플릿이 사용되고 있음을 탐지할 수 있다. 그 다음, 시스템은, 어떤 것도 이미 할당되지 않은 경우, 메시지로부터 정보를 추출하기 위해 사용될 수 있는 가능한 추출기를 식별할 수 있다.
특히, 전자 상거래 플랫폼과 같은 컴퓨터 시스템은, 특정 유형의 메시지에 대해, 사용자의 이메일 편지함 또는 다른 메시징 시스템을 모니터링할 수 있다. 이러한 메시지는 전형적으로 컴퓨터로 생성되며, 전자 상거래 거래의 일부를 형성하고, 다른 옵션 중에서도, 주문되었다는 메시지, 주문품이 배송되었다는 메시지, 주문품이 배송되었다는 메시지를 포함할 수 있다. 전형적으로, 이러한 메시지는 템플릿을 사용하여 형성된다. 전자 상거래 플랫폼은, 알려진 템플릿 또는 템플릿 그룹을 위한 메시지 추출기를 포함할 수 있으며, 메시지 추출기는 이러한 메시지로부터 정보를 성공적으로 추출할 수 있다.
템플릿이 변경되는 경우(예를 들어, 특정 발송자가 이들의 메시지 중 일부 또는 전부를 전송하기 위해 이들이 사용하고 있는 템플릿을 변경하는 경우), 예를 들어, 판매자가 주문 확인 이메일과 같은 이메일의 레이아웃을 완전히 변경하거나 수정하는 경우, 이러한 새로운 템플릿을 사용하는 메시지로부터 정보를 추출하기 위해, 새로운 메시지 추출기가 사용되어야 할 수 있다. 다른 경우에, 템플릿을 위한 컨테이너(container)가 완전히 변경될 수 있으며, 예를 들어, 판매자가 이메일 알림으로부터 단문 메시지 서비스(SMS) 알림으로 변경할 수 있다. 또한, 경우에 따라, SMS 알림은 이들 자체의 템플릿을 가질 수 있다.
그러나, 수천 개의 공급자를 제공하는 전자 상거래 플랫폼은, 알려진 템플릿에 기초하는 수천 개 또는 수십만 개의 메시지 추출기를 가질 수 있으므로, 적절한 추출기를 식별하기가 어려울 수 있거나, 적절한 추출기가 존재하지 않을 수 있다. 그 결과로, 시스템은, 판매자의 새로운 템플릿을 사용하는, 그것이 수신하는 임의의 주문 확인 이메일로부터 콘텐츠를 더 이상 추출하지 못할 수 있다. 또한, 기존의 이메일 추출기 중 어떤 것도 새로운 이메일 템플릿으로부터의 정보를 추출하는 데 효과적이지 않을 수 있으므로, 새로운 추출기가 필요할 수 있다. 그 동안에, 구매자는 이러한 상거래 활동에 관한 업데이트를 더 이상 수신할 수 없다.
때때로 핑거프린트(fingerprint)로도 지칭되는 특성값을 생성하기 위해, 수신된 메시지에 매핑 함수를 적용하기 위한 시스템 및 방법이 아래에 제공되며, 매핑 함수는, 유사한 메시지를 유사한 특성값에 매핑하도록 조정된다. 그 다음, 이러한 특성값은, 복수의 메시지 추출기 각각과 관련된 값과 비교될 수 있다. 특성값이 복수의 메시지 추출기와 관련된 임의의 값과 매칭되지 않는 경우, 메시지 추출기와 관련된 값 및 수신된 메시지로부터의 특성값이 비교될 때 유사성 기준을 충족시키는 것으로 결정함으로써, 수신된 메시지를 위한 메시지 추출기가 탐색될 수 있다. 그 다음, 식별된 메시지 추출기는, 수신된 메시지로부터 정보를 추출하기 위해 사용될 수 있다.
예시적인 전자 상거래 플랫폼
상거래 플랫폼과의 통합이 요구되는 것은 아니지만, 일부 실시형태에서, 본원에 개시된 방법은, 전자 상거래 플랫폼과 같은 상거래 플랫폼과 연계하여 또는 상거래 플랫폼을 통해 수행될 수 있다. 따라서, 상거래 플랫폼의 일 실시예가 설명될 것이다.
도 1은 일 실시형태에 따라, 예시적인 전자 상거래 플랫폼(100)을 도시한다. 전자 상거래 플랫폼(100)은, 판매자 제품 및 서비스를 고객에게 제공하기 위해 사용될 수 있다. 본 개시물은 장치, 시스템, 및 프로세스를 사용하여 제품 및 서비스를 구매하는 것을 고려하지만, 단순화를 위해, 본원의 설명은 제품을 언급할 것이다. 또한, 본 개시물 전반에 걸쳐서 제품에 대한 모든 언급은, 예를 들어, 물리적 제품, 디지털 콘텐츠(예를 들어, 음악, 비디오, 게임), 소프트웨어, 티켓, 구독, 제공될 서비스 등을 포함하는, 제품 및/또는 서비스에 대한 언급인 것으로 이해되어야 한다.
본 개시물은 전반에 걸쳐서 "판매자" 및 "고객"이 개인 이상일 수 있음을 고려하지만, 단순화를 위해, 본원의 설명은 이에 따라 전반적으로 판매자 및 고객을 언급할 수 있다. 또한, 본 개시물 전반에 걸쳐서 판매자 및 고객에 대한 모든 언급은, 개인, 회사, 법인, 컴퓨팅 엔티티 등의 그룹에 대한 언급인 것으로 이해되어야 하며, 영리 또는 비영리 제품 교환을 나타낼 수 있다. 또한, 본 개시물은 전반에 걸쳐서 "판매자" 및 "고객"을 언급하고, 이에 따라 이들의 역할을 설명하지만, 전자 상거래 플랫폼(100)은, 전자 상거래 환경에서 보다 일반적으로 사용자를 지원하는 것으로 이해되어야 하며, 또한 본 개시물 전반에 걸쳐서 판매자 및 고객에 대한 모든 언급은 사용자에 대한 언급인 것으로 이해되어야 하고, 예를 들어, 사용자는, 판매자-사용자(예를 들어, 제품의 판매자, 소매업자, 도매업자, 또는 제공자), 고객-사용자(예를 들어, 제품의 구매자, 구매 대리인, 소비자, 또는 사용자), 예비 사용자(예를 들어, 검색을 하고 아직 구매하지 않은 사용자, 제품을 마케팅 및 판매할 때 잠재적인 사용에 대해 전자 상거래 플랫폼(100)을 평가하는 사용자 등), 서비스 제공자 사용자(예를 들어, 배송 제공자(112), 금융 제공자 등), 회사 또는 법인 사용자(예를 들어, 제품의 구매, 판매, 또는 사용을 위한 전형적인 회사; 기업 사용자; 고객 관계 또는 고객 관리 대리인 등), 정보 기술 사용자, 컴퓨팅 엔티티 사용자(예를 들어, 제품의 구매, 판매, 또는 사용을 위한 컴퓨팅 봇(computing bot)) 등이다. 또한, 주어진 사용자는 (예를 들어, 판매자로서) 주어진 역할로 역할을 할 수 있고, 이들의 관련 장치는 하나의 상황에서 (예를 들어, 판매자 장치로서) 이에 따라 언급될 수 있지만, 그러한 동일한 개인은 다른 상황에서 상이한 역할로 (예를 들어, 고객으로서) 역할을 할 수 있으며, 그러한 동일한 또는 다른 관련 장치는 이에 따라 (예를 들어, 고객 장치로서) 언급될 수 있음을 인식할 수 있다. 예를 들어, 개인은 하나의 유형의 제품(예를 들어, 신발)에 대한 판매자일 수 있으며, 다른 유형의 제품(예를 들어, 식료품)의 고객/소비자일 수 있다. 다른 실시예에서, 개인은 동일한 유형의 제품의 소비자 및 판매자 둘 다일 수 있다. 특정 실시예에서, 특정 카테고리의 상품으로 거래하는 판매자는, 이들이 도매업자(판매자의 역할을 하는 도매업자)에게 주문하는 경우, 그러한 동일한 카테고리의 상품에 대해 고객의 역할을 할 수 있다.
전자 상거래 플랫폼(100)은, 판매자에게 이들의 사업을 관리하기 위한 온라인 서비스/설비를 제공한다. 본원에 설명된 설비는 플랫폼(100)의 일부로서 구현되는 것으로 도시되지만, 전체적으로 또는 부분적으로, 독립형 서비스로서, 플랫폼(100)과 별도로 구성될 수도 있다. 또한, 그러한 설비는, 일부 실시형태에서, 추가적으로 또는 대안적으로, 하나 이상의 제공자/엔티티에 의해 제공될 수 있다.
도 1의 실시예에서, 설비는, 전술한 바와 같이, 플랫폼(100)의 일부일 수 있거나 플랫폼(100)의 외부에 있을 수 있는 하나 이상의 프로세서를 통해 컴퓨터 소프트웨어, 모듈, 프로그램 코드, 및/또는 명령을 실행하는 기계, 서비스 또는 엔진을 통하여 전개된다. 판매자는, 예를 들어, 온라인 스토어(138), 애플리케이션(142A-B), 채널(110A-B)을 통해, 및/또는 물리적인 장소(예를 들어, 키오스크, 단말기, 판독기, 프린터, 3D 프린터 등을 통한 예를 들어, 물리적인 상점 또는 다른 장소)에서의 판매시점관리(POS) 장치(152)를 통해, 고객과의 전자 상거래 경험을 구현함으로써, 고객과의 상거래를 활성화하거나 관리하기 위해 전자 상거래 플랫폼(100)을 사용할 수 있다. 판매자는 고객과의 단독 상거래 존재(presence)로서 전자 상거래 플랫폼(100)을 사용할 수 있거나, 예를 들어, 물리적 스토어(예를 들어, "오프라인(brick-and-mortar)" 소매점), 판매자 오프-플랫폼 웹사이트(104)(예를 들어, 전자 상거래 플랫폼(100)과 별도로 판매자에 의해 또는 판매자를 대신하여 지원되는, 상거래 인터넷 웹사이트 또는 다른 인터넷 또는 웹 속성 또는 자산), 애플리케이션(142B) 등을 통해, 다른 판매자 상거래 설비와 함께 전자 상거래 플랫폼(100)을 사용할 수 있다. 그러나, 예를 들어, 판매자의 물리적 스토어의 POS 장치(152)가 전자 상거래 플랫폼(100)에 링크되는 경우, 예를 들어, 판매자 오프 플랫폼 웹사이트(104)로부터 온라인 스토어(138)로 콘텐츠를 링크하는 "구매 버튼"을 통해, 판매자 오프-플랫폼 웹사이트(104)가 전자 상거래 플랫폼(100)에 연결되는 경우 등과 같이, 이러한 "다른" 판매자 상거래 설비도 전자 상거래 플랫폼(100) 내에 통합될 수 있거나 전자 상거래 플랫폼(100)과 통신할 수 있다.
온라인 스토어(138)는, 복수의 가상 상점을 포함하는 멀티-테넌트(multi-tenant) 설비를 나타낼 수 있다. 실시형태에서, 판매자는, 예를 들어, 판매자 장치(102)(예를 들어, 컴퓨터, 랩톱 컴퓨터, 모바일 컴퓨팅 장치 등)를 통해, 온라인 스토어(138)에서 하나 이상의 상점을 구성 및/또는 관리할 수 있으며, 다수의 상이한 채널(110A-B)(예를 들어, 온라인 스토어(138); 애플리케이션(142A-B); POS 장치(152)를 통한 물리적인 상점; 예를 들어, 소셜 네트워크, 소셜 미디어 페이지, 소셜 미디어 메시징 시스템을 통한 소설 미디어 채널 또는 웹사이트에 통합되는 예를 들어 전자 구매 버튼을 통하는 전자 시장; 및/또는 기타)을 통해 고객에게 제품을 공급할 수 있다. 판매자는 채널(110A-B)에 걸쳐서 판매할 수 있으며, 그 다음, 전자 상거래 플랫폼(100)을 통해 이들의 판매를 관리할 수 있고, 채널(110A)은 전자 상거래 플랫폼(100)의 내부 또는 외부의 설비 또는 서비스로서 제공될 수 있다. 판매자는, 추가적으로 또는 대안적으로, 이들의 물리적인 소매점에서, 팝업(pop up)에서, 도매를 통해, 전화 등을 통해 판매할 수 있으며, 그 다음, 전자 상거래 플랫폼(100)을 통해 이들의 판매를 관리할 수 있다. 판매자는 이러한 운영 방식의 임의의 조합 또는 전부를 사용할 수 있다. 특히, 다양한 및/또는 특정 조합의 방식을 사용함으로써, 판매자가 판매의 확률 및/또는 양을 개선할 수 있다. 본 개시물 전반에 걸쳐서, 온라인 스토어(138) 및 상점이라는 용어는, 전자 상거래 플랫폼(100)을 통해 공급되는 판매자의 온라인 전자 상거래 서비스를 지칭하는 것으로 동의어로 사용될 수 있으며, 온라인 스토어(138)는, (예를 들어, 하나의 판매자 또는 복수의 판매자를 위한) 전자 상거래 플랫폼(100)에 의해 지원되는 상점 모음(collection), 또는 개별 판매자의 상점(예를 들어, 판매자의 온라인 스토어)을 지칭할 수 있다.
일부 실시형태에서, 고객은, 고객 장치(150)(예를 들어, 컴퓨터, 랩톱 컴퓨터, 모바일 컴퓨팅 장치 등), POS 장치(152)(예를 들어, 소매점 장치, 키오스크, 자동화된 (셀프 서비스) 결제 시스템 등), 및/또는 당업계에 알려진 임의의 다른 상거래 인터페이스 장치를 통해 플랫폼(100)과 상호 작용할 수 있다. 전자 상거래 플랫폼(100)에 따라, 판매자는, 온라인 스토어(138)를 통해, 애플리케이션(142A-B)을 통해, 물리적인 장소(예를 들어, 판매자의 상점 또는 다른 곳)의 POS 장치(152)를 통해 고객과 연결되어, 전자 통신 설비(129) 및/또는 기타를 통해 고객과 통신할 수 있으므로, 고객과 연결되어 상호 작용하기 위해 이용 가능한 실제 또는 가상 경로에 대한 판매자 서비스를 촉진시키고 고객과 연결하기 위한 시스템을 제공할 수 있다.
일부 실시형태에서, 그리고 본원에 추가로 설명된 바와 같이, 전자 상거래 플랫폼(100)은 처리 설비를 통해 구현될 수 있다. 이러한 처리 설비는, 프로세서 및 메모리를 포함할 수 있다. 프로세서는 하드웨어 프로세서일 수 있다. 메모리는 비-일시적 컴퓨터 판독 가능 매체일 수 있거나/있고, 이를 포함할 수 있다. 메모리는 랜덤 액세스 메모리(RAM) 및/또는 지속성 저장 장치(예를 들어, 자기 저장 장치)일 수 있거나/있고, 이를 포함할 수 있다. 처리 설비는 명령 세트를 (예를 들어, 메모리에) 저장할 수 있으며, 명령 세트는, 실행될 때, 전자 상거래 플랫폼(100)으로 하여금, 본원에 설명된 바와 같은 전자 상거래 및 지원 기능을 수행하도록 한다. 처리 설비는, 서버, 클라이언트, 네트워크 인프라, 모바일 컴퓨팅 플랫폼, 클라우드 컴퓨팅 플랫폼, 고정식 컴퓨팅 플랫폼, 및/또는 일부 다른 컴퓨팅 플랫폼 중 하나 이상일 수 있거나 이의 일부일 수 있으며, 전자 상거래 플랫폼(100)의 구성 요소, 판매자 장치(102), 결제 게이트웨이(106), 애플리케이션(142A-B), 채널(110A-B), 배송 제공자(112), 고객 장치(150), 판매시점관리 장치(152) 등 간의 및 사이의 전자 연결 및 통신을 제공할 수 있다. 일부 구현예에서, 처리 설비는, 일제히 작동되는 하나 이상의 이러한 컴퓨팅 장치일 수 있거나 이를 포함할 수 있다. 예를 들어, 복수의 협동 컴퓨팅 장치는 처리 설비를 제공하는 역할을 하거나, 처리 설비의 역할을 할 수 있다. 전자 상거래 플랫폼(100)은, 클라우드 컴퓨팅 서비스, 서비스형 소프트웨어(software as a service: SaaS), 서비스형 인프라(IaaS), 서비스형 플랫폼(PaaS), 서비스형 데스크톱(DaaS), 서비스형 관리 소프트웨어(MSaaS), 서비스형 모바일 백엔드(MBaaS), 서비스형 정보 기술 관리(ITMaaS), 및/또는 기타 중 하나 이상으로서 또는 하나 이상을 사용하여 구현될 수 있다. 예를 들어, 본원에 설명된 설비(예를 들어, 온라인 스토어(138))를 구현하는 기본 소프트웨어는 서비스로서 제공될 수 있으며, 중앙에서 호스팅될 수 있다(그리고 예를 들어, 그 다음, 웹 브라우저 또는 다른 애플리케이션을 통해, 및/또는 고객 장치(150), POS 장치(152), 및/또는 기타를 통해 사용자에 의해 접속될 수 있다). 일부 실시형태에서, 전자 상거래 플랫폼(100)의 요소는, 다양한 다른 플랫폼 및 운영 체제와 통합 및/또는 작동되도록 구현될 수 있다.
일부 실시형태에서, 전자 상거래 플랫폼(100)의 설비(예를 들어, 온라인 스토어(138))는, 예를 들어 전자 상거래 플랫폼(100)에 연결된 네트워크를 통해, (데이터(134)를 사용하여) 고객 장치(150)에 콘텐츠를 제공할 수 있다. 예를 들어, 온라인 스토어(138)는 고객 장치(150)로부터의 데이터(134)에 대한 요청에 응답하여 콘텐츠를 제공 또는 전송할 수 있으며, 브라우저(또는 다른 애플리케이션)는 네트워크 통신 프로토콜(예를 들어, 인터넷 프로토콜)을 사용하여 네트워크를 통해 온라인 스토어(138)에 연결된다. 콘텐츠는 기계 판독 가능 언어로 작성될 수 있으며, 하이퍼텍스트 마크업 언어(HTML), 템플릿 언어, 자바스크립트 등, 및/또는 이들의 임의의 조합을 포함할 수 있다.
일부 실시형태에서, 온라인 스토어(138)는, 고객 장치에 콘텐츠를 제공하고, 고객이 이용 가능한 다양한 제품을 브라우징 및 구매할 수 있게 하는(예를 들어, 이들을 카트에 추가, 구매 버튼을 통해 구매 등), 서비스 인스턴스일 수 있거나 이를 포함할 수 있다. 또한, 판매자는, 예를 들어, 판매자가 온라인 스토어의 제품 정보 내에 표시되는 동일한 기본 제품 및 거래 데이터를 가지면서, 이들의 테마를 변경함으로써 이들의 온라인 스토어(138)의 룩 앤드 필(look and feel)을 선택하여 변경할 수 있는 테마 시스템과 같은, 테마 시스템을 통해 이들의 웹사이트의 룩 앤드 필을 맞춤화할 수 있다. 사용자가 유연하게 이들의 웹사이트의 디자인을 맞춤화할 수 있게 하는 디자인 인터페이스인 테마 편집기를 통해, 테마가 추가로 맞춤화될 수 있다. 추가적으로 또는 대안적으로, 테마는, 예를 들어, 특정 색상, 폰트, 및 사전 구축된 레이아웃 체계와 같은, 주어진 테마의 양태를 변경할 수 있는 예를 들어 설정과 같은, 테마별 설정을 사용하여, 추가적으로 또는 또는 대안적으로 맞춤화될 수 있다. 일부 구현예에서, 온라인 스토어는, 웹사이트 콘텐츠를 위한 콘텐츠 관리 시스템을 구현할 수 있다. 판매자는, 블로그 게시물 또는 정적 페이지를 작성할 때 이러한 콘텐츠 관리 시스템을 사용할 수 있으며, 예를 들어 블로그, 기사, 랜딩 페이지 등을 통해, 이들의 온라인 스토어(138)에 이들을 게시할 수 있을 뿐만 아니라, 내비게이션 메뉴를 구성할 수 있다. 판매자는, (예를 들어, 데이터(134)로서) 시스템에 의해 저장하기 위해, 이미지(예를 들어, 제품의 경우), 비디오, 콘텐츠, 데이터 등을 전자 상거래 플랫폼(100)에 업로드할 수 있다. 일부 실시형태에서, 전자 상거래 플랫폼(100)은, 예를 들어, 이미지를 크기 조절하기 위한 기능, 이미지를 제품과 연계시키기 위한 기능, 텍스트를 추가하여 이미지와 연계시키기 위한 기능, 신제품 변형을 위한 이미지를 추가하기 위한 기능, 이미지를 보호하기 위한 기능 등과 같은, 이러한 이미지 및 콘텐츠를 조정하기 위한 기능을 제공할 수 있다.
본원에 설명된 바와 같이, 전자 상거래 플랫폼(100)은, 예를 들어, 온라인 스토어(138), 애플리케이션(142A-B)을 포함하는 다수의 상이한 채널(110A-B)을 통해 뿐만 아니라, 본원에 설명된 바와 같은 물리적인 POS 장치(152)를 통해, 제품에 대한 판매 및 마케팅 서비스를 판매자에게 제공할 수 있다. 전자 상거래 플랫폼(100)은, 추가적으로 또는 대안적으로, 예를 들어, 이들의 온라인 스토어와 연계된 도메인 등록 서비스(118), 고객과의 거래를 촉진시키기 위한 결제 서비스(120), 구매한 제품에 대한 고객 배송 옵션을 제공하기 위한 배송 서비스(122), 재고, 리스크를 관리하기 위한 이행(fulfillment) 서비스, 및 제품 보호 및 책임과 연계된 보험 서비스(124), 판매자 빌링 등을 제공하는 것 중 하나 이상과 같은, 온라인 사업 운영과 연계되는, 사업 지원 서비스(116), 관리자(114), 웨어하우스(warehouse) 관리 시스템 등을 포함할 수 있다. 서비스(116)는 전자 상거래 플랫폼(100)을 통해 제공될 수 있거나, 예를 들어, 결제 처리를 위한 결제 게이트웨이(106), 제품의 배송을 신속 처리하기 위한 배송 제공자(112) 등을 통해, 외부 설비와 연계하여 제공될 수 있다.
일부 실시형태에서, 전자 상거래 플랫폼(100)은, 예를 들어, 배송 라벨 또는 요금 정보, 실시간 배송 업데이트, 추적, 및/또는 기타와 같은, 다양한 배송 관련 정보를 판매자 및/또는 이들의 고객에게 제공하기 위해, (예를 들어, 전자 상거래 플랫폼 배송 설비를 통한 또는 타사 배송업체를 통한) 배송 서비스(122)와 함께 구성될 수 있다.
도 2는 관리자(114)의 홈페이지의 제한적이지 않은 실시형태를 도시한다. 관리자(114)는, 관리 콘솔 및/또는 관리자 콘솔로 지칭될 수 있다. 관리자(114)는, 일상적인 작업에 관한 정보, 스토어의 최근 활동, 및 판매자가 이들의 사업을 구축하기 위해 취할 수 있는 다음 단계를 표시할 수 있다. 일부 실시형태에서, 판매자는 판매자 장치(102)(예를 들어, 데스크톱 컴퓨터 또는 모바일 장치)를 통해 관리자(114)에 로그인할 수 있으며, 예를 들어, 온라인 스토어(138)의 최근 방문 또는 주문 활동 보기, 온라인 스토어(138)의 카탈로그 업데이터, 주문 관리, 및/또는 기타와 같은, 이들의 온라인 스토어(138)의 양태를 관리할 수 있다. 일부 실시형태에서, 판매자는, 도 2에 도시된 것과 같은, 사이드바를 사용함으로써 관리자(114)의 상이한 섹션에 접속할 수 있다. 관리자(114)의 섹션은, 주문, 제품, 고객, 이용 가능한 리포트 및 할인을 포함하는, 판매자의 사업의 핵심적인 양태에 접속하여 관리하기 위한 다양한 인터페이스를 포함할 수 있다. 관리자(114)는, 추가적으로 또는 대안적으로, 온라인 스토어(138), 스토어에 접속하기 위해 고객에게 이용 가능하게 되는 모바일 애플리케이션(들)(모바일 앱), POS 장치, 및/또는 구매 버튼을 포함하는, 스토어를 위한 판매 채널을 관리하기 위한 인터페이스를 포함할 수 있다. 관리자(114)는, 추가적으로 또는 대안적으로, 판매자의 계정을 통해 설치된 애플리케이션(앱)을 관리하고, 판매자의 온라인 스토어(138) 및 계정에 적용되는 설정을 관리하기 위한 인터페이스를 포함할 수 있다. 판매자는 검색 바를 사용하여, 이들의 스토어에서 제품, 페이지, 또는 다른 정보를 탐색할 수 있다.
판매자의 온라인 스토어(138)의 방문자 및 상거래에 관한 보다 상세한 정보는 리포트 또는 메트릭(metric)을 통해 볼 수 있다. 리포트는, 예를 들어, 구입 리포트, 행동 리포트, 고객 리포트, 금융 리포트, 마케팅 리포트, 판매 리포트, 제품 리포트, 및 맞춤형 리포트를 포함할 수 있다. 판매자는, 예를 들어 드롭-다운 메뉴를 사용함으로써, 상이한 시간 기간(예를 들어, 일별, 주별, 월별 등)으로부터 상이한 채널(110A-B)에 대한 판매 데이터를 볼 수 있다. 스토어의 판매 및 계약 데이터에 대한 보다 상세한 보기를 원하는 판매자를 위해, 개요 대시보드가 제공될 수도 있다. 판매자의 계정을 통한 활동의 개요를 나타내기 위해, 홈 메트릭 섹션의 활동 피드(activity feed)가 제공될 수 있다. 예를 들어, 판매자는, "모든 최근 활동 보기" 대시보드 버튼을 클릭함으로써, 이들의 계정을 통한 최근 활동의 더 긴 피드를 볼 수 있다. 홈 페이지는, 예를 들어, 계정 상태, 성장, 최근 고객 활동, 주문 업데이트 등에 기초하여, 판매자의 온라인 스토어(138)에 관한 알림을 표시할 수 있다. 예를 들어, 결제 작업 흐름, 주문 이행 작업 흐름, 주문 파일보관 작업 흐름, 반품 작업 흐름 등과 같은, 온라인 스토어(138)에 대해 구성된 작업 흐름을 탐색하는 판매자를 지원하기 위해, 알림이 제공될 수 있다.
전자 상거래 플랫폼(100)은, 예를 들어 판매 전환 등을 증가시키도록, 통신을 집계 및 분석하기 위해, 예를 들어, 판매자, 고객, 판매자 장치(102), 고객 장치(150), POS 장치(152) 등 간의 통신 상호 작용을 수집 및 분석하기 위해 전자 메시징 설비를 사용하여, 마케팅 및 전자 통신을 제공하기 위한 통신 설비(129) 및 관련 판매자 인터페이스를 제공할 수 있다. 예를 들어, 고객은 제품과 관련된 문의사항이 있을 수 있으며, 이는 고객과 판매자(또는 판매자를 대신하는 자동화된 프로세서 기반 에이전트/챗봇) 간의 대화를 생성할 수 있고, 통신 설비(129)는, 예를 들어, 판매 확률을 개선하기 위해, 고객 요청에 대한 자동화된 응답을 제공하도록 및/또는 응답 방법에 관한 권장 사항을 판매자에게 제공하도록 구성된다.
전자 상거래 플랫폼(100)은, 예를 들어 보안 카드 서버 환경을 통해, 고객과의 안전한 금융 거래를 위한 금융 설비(120)를 제공할 수 있다. 전자 상거래 플랫폼(100)은, 전자 상거래 플랫폼(100)과 판매자의 은행 계좌 간에 자동 결제(ACH) 이체를 수행하고, 판매자에게 비용을 청구하며, 금융거래를 중재하는 등을 위해, 결제 카드 업계 데이터(PCI) 환경(예를 들어, 카드 서버)에 신용 카드 정보를 저장할 수 있다. 또한, 금융 설비(120)는, 자금의 대출(예를 들어, 자금 대출, 현금서비스 등) 및 보험의 제공을 통해, 금융 지원을 판매자 및 구매자에게 제공할 수 있다. 일부 실시형태에서, 온라인 스토어(138)는 다수의 독립적으로 관리되는 상점을 지원할 수 있으며, 다양한 제품 및 서비스를 위해 일일 단위로 대량의 거래 데이터를 처리할 수 있다. 거래 데이터는, 고객, 고객 계정, 또는 고객에 의해 수행된 거래를 나타내는 임의의 고객 정보를 포함할 수 있으며, 예를 들어, 연락처 정보, 빌링 정보, 배송 정보, 반품/환불 정보, 할인/오퍼(offer) 정보, 결제 정보, 또는 온라인 스토어 이벤트 또는 정보, 예를 들어, 페이지 뷰, 제품 검색 정보(검색 키워드, 연결 클릭(click-through) 이벤트), 제품 리뷰, 폐기된 카트, 및/또는 전자 상거래 플랫폼(100)을 통한 사업과 관련된 다른 거래 정보를 포함할 수 있다. 일부 실시형태에서, 전자 상거래 플랫폼(100)은 이러한 데이터를 데이터 설비(134)에 저장할 수 있다. 도 1을 다시 참조하면, 일부 실시형태에서, 전자 상거래 플랫폼(100)은, 예를 들어, 제품, 재고, 고객, 주문, 공급자, 리포트, 금융, 리스크 및 사기 행위 등과 관련된 작업 자동화 또는 콘텐츠 관리를 위한 다양한 작업 흐름을 수행하도록 구성될 수 있는 상거래 관리 엔진(136)을 포함할 수 있다. 일부 실시형태에서, 추가적인 기능은, 추가적으로 또는 대안적으로, 점점 늘어나는 다양한 온라인 스토어, POS 장치, 제품, 및/또는 서비스를 수용하기 위해 필요한 더 큰 유연성 및 맞춤화를 가능하게 하기 위해, 애플리케이션(142A-B)을 통해 제공될 수 있다. 애플리케이션(142A)은 전자 상거래 플랫폼(100)의 구성 요소일 수 있는 반면에, 애플리케이션(142B)은 전자 상거래 플랫폼(100)의 외부의 타사 서비스로서 제공되거나 호스팅될 수 있다. 상거래 관리 엔진(136)은 스토어별 작업 흐름을 수용할 수 있으며, 일부 실시형태에서, 관리자(114) 및/또는 온라인 스토어(138)를 포함할 수 있다.
애플리케이션(142A-B)으로서 기능을 구현함으로써, 상거래 관리 엔진(136)은 계속 반응할 수 있고, 서비스 저하 또는 보다 심각한 인프라 고장 등을 감소시키거나 방지할 수 있다.
온라인 스토어 데이터를 분리시키는 것은 온라인 스토어(138)와 판매자 간에 데이터 개인정보 보호를 유지하는 데 중요할 수 있지만, 예를 들어, 주문 리스크 평가 시스템 또는 플랫폼 결제 설비(이 둘 모두는 적절히 수행하기 위해 다수의 온라인 스토어(138)로부터의 정보를 필요로 함)를 통해, 교차-스토어(cross-store) 데이터를 수집하여 사용하기 위한 이유가 있을 수 있다. 일부 실시형태에서, 상거래 관리 엔진(136)으로부터 그리고 전자 상거래 플랫폼(100) 내의 이들 자체의 인프라 내로 이러한 구성 요소를 이동시키는 것이 바람직할 수 있다.
플랫폼 결제 설비(120)는, 상거래 관리 엔진(136)으로부터의 데이터를 사용하지만, 별도의 구성 요소 또는 서비스로서 구현되는 구성 요소의 일 실시예이다. 플랫폼 결제 설비(120)에 따라, 온라인 스토어(138)와 상호 작용하는 고객은, 상거래 관리 엔진(136)에 의해 안전하게 저장된 이들의 결제 정보를 가질 수 있으므로, 이들은 단지 이를 한 번 입력하기만 하면 된다. 고객이 상이한 온라인 스토어(138)를 방문하는 경우, 이들이 이전에 거기에 가본 적이 없더라도, 플랫폼 결제 설비(120)는, (예를 들어, 이들이 대신에 이를 재입력해야 하는 경우, 이들의 정보를 잘못 입력할 수 있는 것을 방지함으로써) 더 빠른 계산 및/또는 잠재적으로 더 적은 에러 취약성의 계산을 가능하게 하기 위해, 이들의 정보를 기억할 수 있다. 이는 교차-플랫폼 네트워크 효과를 제공할 수 있으며, 예를 들어, 고객의 구매와 관련된 사용의 편의성으로 인해, 더 자주 결제하는 더 많은 고객이 있기 때문에, 전자 상거래 플랫폼(100)은, 더 많은 판매자 및 구매자가 가입함에 따라, 이의 판매자 및 구매자에게 더 유용해진다. 이러한 네트워크 효과를 극대화하기 위해, 주어진 고객에 대한 결제 정보가 검색 가능할 수 있으며, 다수의 온라인 스토어(138)에 걸쳐서 전체적으로 이용 가능해질 수 있다.
상거래 관리 엔진(136) 내에 포함되지 않는 기능의 경우, 애플리케이션(142A-B)은, 전자 상거래 플랫폼(100) 또는 개별 온라인 스토어(138)에 기능을 추가하기 위한 방법을 제공한다. 예를 들어, 애플리케이션(142A-B)은, 판매자의 온라인 스토어(138)의 데이터에 접속하여 데이터를 변경할 수 있으며, 관리자(114)를 통해 작업을 수행할 수 있고, (예를 들어, 확장자/API를 통해 표시되는) 사용자 인터페이스를 통해 판매자를 위한 새로운 흐름을 구현할 수 있는 등이다. 판매자는, 애플리케이션 검색, 권장사항, 및 지원(128)을 통해 애플리케이션(142A-B)을 탐색하여 설치할 수 있게 될 수 있다. 일부 실시형태에서, 상거래 관리 엔진(136), 애플리케이션(142A-B), 및 관리자(114)는 함께 작업하도록 개발될 수 있다. 예를 들어, 애플리케이션 확장 포인트는 상거래 관리 엔진(136)의 내부에 구축될 수 있으며, 추가적인 기능을 전달하기 위해 인터페이스(140B 및 140A)를 통해 애플리케이션(142A 및 142B)에 의해 접속될 수 있고, 관리자(114)의 사용자 인터페이스에서 판매자에게 표시될 수 있다.
일부 실시형태에서, 애플리케이션(142A-B)은 인터페이스(140A-B)를 통해 판매자에게 기능을 전달할 수 있으며, 예를 들어, 애플리케이션(142A-B)은 거래 데이터를 판매자에게 표시할 수 있거나/표시할 수 있고(예를 들어, 앱: "엔진, 모바일 앱 또는 관리자(114)의 나의 앱 데이터를 표시"), 상거래 관리 엔진(136)은 주문형 작업을 수행하도록 애플리케이션에 요청할 수 있다(엔진: "앱, 이러한 결제를 위해 지방세 계산 결과를 나에게 제공").
애플리케이션(142A-B)은, 상거래 관리 엔진(136)을 통해 그리고 상거래 관리 엔진(136) 내에서 이용 가능한 데이터 및/또는 기능을 애플리케이션의 기능에 노출시키기 위해, 인터페이스(140A-B)를 통해(예를 들어, REST(웹 표현상태 변경) 및/또는 그래프QL(GraphQL) API를 통해) 상거래 관리 엔진(136)에 연결될 수 있다. 예를 들어, 전자 상거래 플랫폼(100)은, 플랫폼(100) 외부의 제품 및 서비스에 연결할 수 있는 API 인터페이스(140A-B)를 애플리케이션(142A-B)에 제공할 수 있다. (예를 들어, 애플리케이션 개발을 위해 제공되는 바와 같은) API 및 애플리케이션의 사용을 통해 제공되는 유연성에 따라, 전자 상거래 플랫폼(100)은 판매자의 새롭고 특별한 요구를 더 잘 수용할 수 있거나, 상거래 관리 엔진(136)에 대한 지속적인 변경을 필요로 하지 않으면서 특정 사용 사례를 해결할 수 있다. 예를 들어, 배송 서비스(122)는 배송 또는 운송 업체 서비스 API를 통해 상거래 관리 엔진(136)과 통합될 수 있으므로, 전자 상거래 플랫폼(100)은, 상거래 관리 엔진(136)에서 실행되는 코드에 직접적인 영향을 주지 않으면서, 배송 서비스 기능을 제공할 수 있다.
구현예에 따라, 애플리케이션(142A-B)은 API를 사용하여 주문형 데이터(예를 들어, 고객 생성 이벤트, 제품 교환 이벤트, 또는 주문 취소 이벤트 등)를 획득할 수 있거나, 업데이트가 발생하는 경우 푸시되는 데이터를 가질 수 있다. 구독 모델은, 이벤트가 발생함에 따라 이벤트를 애플리케이션(142A-B)에 제공하기 위해 사용될 수 있거나, 상거래 관리 엔진(136)의 변경된 상태와 관련하여 업데이트를 제공하기 위해 사용될 수 있다. 일부 실시형태에서, 업데이트 이벤트 구독과 관련된 변경이 발생하는 경우, 상거래 관리 엔진(136)은, 예를 들어 사전 정의된 콜백 URL에 대한 요청을 게시할 수 있다. 이러한 요청의 본문은, 객체의 새로운 상태, 및 동작 또는 이벤트에 대한 설명을 포함할 수 있다. 업데이트 이벤트 구독은 관리자 설비(114)에서 수동으로 생성될 수 있거나, (예를 들어, API(140A-B)를 통해) 자동으로 생성될 수 있다. 일부 실시형태에서, 업데이트 이벤트는, 이들을 트리거한 상태 변경으로부터 비동기식으로 큐잉(queued) 및 처리될 수 있으며, 이는 실시간 또는 거의 실시간으로 분배되지 않는 업데이트 이벤트 알림을 생성할 수 있다.
일부 실시형태에서, 전자 상거래 플랫폼(100)은, 하나 이상의 애플리케이션 검색, 권장사항 및 지원(128)을 제공할 수 있다. 애플리케이션 검색, 권장사항 및 지원(128)은, 애플리케이션의 개발을 보조하기 위한 개발자 제품 및 도구, 애플리케이션 대시보드(예를 들어, 애플리케이션의 관리를 위한 관리자를 위해, 애플리케이션의 맞춤화를 위한 판매자를 위해, 개발자에게 개발 인터페이스를 제공하기 위해 등), 애플리케이션(142A-B)으로의 접속을 제공하는 것과 관련된 승인을 제공하고 설치하기 위한 설비(예를 들어, 설치하기 전에 기준이 충족되어야 하는 경우와 같은 공용 접속을 위해, 또는 판매자에 의한 사적 사용을 위해), 판매자가 이들의 온라인 스토어(138)를 위한 요구사항을 충족시키는 애플리케이션(142A-B)을 용이하게 검색하도록 하기 위한 애플리케이션 검색, 이들이 이들의 온라인 스토어(138)를 통해 사용자 경험을 개선할 수 있는 방법에 대한 제안을 판매자에게 제공하기 위한 애플리케이션 권장사항 등을 포함할 수 있다. 일부 실시형태에서, (예를 들어, API를 통해) 예를 들어 애플리케이션에 연결하고, 애플리케이션을 검색하며, 애플리케이션 권장사항을 생성하는 등을 위한 애플리케이션 식별자(ID)가 애플리케이션(142A-B)에 할당될 수 있다.
애플리케이션(142A-B)은, 대략적으로 3개의 카테고리로서, 고객 응대 애플리케이션, 판매자 응대 애플리케이션, 통합 애플리케이션 등으로 그룹화될 수 있다. 고객 응대 애플리케이션(142A-B)은, 판매자가 제품을 나열하여 이들이 구매되도록 할 수 있는 장소인 온라인 스토어(138) 또는 채널(110A-B)(예를 들어, 온라인 스토어, 반짝 세일을 위한 애플리케이션(예를 들어, 판매자 제품, 또는 타사 소스로부터의 우발적인 판매 기회로부터), 모바일 스토어 애플리케이션, 소셜 미디어 채널, 대량 구매를 제공하기 위한 애플리케이션 등)을 포함할 수 있다. 판매자 응대 애플리케이션(142A-B)은, (예를 들어, 웹 또는 웹사이트 또는 모바일 장치와 관련된 애플리케이션을 통해) 판매자가 이들의 온라인 스토어(138)를 관리할 수 있게 하는 애플리케이션, (예를 들어, POS 장치와 관련된 애플리케이션을 통해) 이들의 사업을 운영할 수 있게 하는 애플리케이션, (예를 들어, 배송(예를 들어, 드롭 배송), 자동화된 에이전트의 사용, 프로세스 흐름 개발의 사용 및 개선과 관련된 애플리케이션을 통해) 이들의 사업을 성장시킬 수 있게 하는 애플리케이션 등을 포함할 수 있다. 통합 애플리케이션은, 배송 제공자(112) 및 결제 게이트웨이(106)와 같은, 사업의 운영에 참여하는 유용한 통합을 제공하는 애플리케이션을 포함할 수 있다.
따라서, 전자 상거래 플랫폼(100)은, 판매자가 유연하고 투명한 방식으로 고객과 연결될 수 있게 하는 유연한 시스템 아키텍처를 통해 온라인 쇼핑 경험을 제공하도록 구성될 수 있다. 전형적인 고객 경험은 일 실시형태의 예시적인 구매 작업 흐름을 통해 더 잘 이해될 수 있으며, 고객은 채널(110A-B)을 통해 판매자의 제품을 브라우징하고, 이들이 구매하려고 의도하는 것을 이들의 카트에 추가하며, 계산으로 진행하고, 이들의 카트의 내용물에 대해 결제함으로써, 판매자에 대한 주문의 생성을 야기한다. 그 다음, 판매자는 주문을 검토 및 이행(또는 취소)할 수 있다. 그 다음, 제품이 고객에게 배달된다. 고객이 만족하지 않는 경우, 이들은 제품을 판매자에게 반품할 수 있다.
예시적인 실시형태에서, 고객은, 예를 들어, 판매자의 온라인 스토어(138), POS 장치(152)를 통한 물리적인 상점; 웹사이트 또는 소셜 미디어 채널에 통합된 전자 구매 버튼을 통한 전자 시장와 같은, 다수의 상이한 채널(110A-B)을 통해 판매자의 제품을 브라우징할 수 있다. 경우에 따라, 채널(110A-B)은 애플리케이션(142A-B)으로서 모델링될 수 있다. 상거래 관리 엔진(136)의 판촉 구성 요소는, 판매자가 이들이 판매하길 원하는 것과 이들의 이를 판매하는 곳을 기술할 수 있도록 하기 위해, (예를 들어, 제품 데이터 객체 또는 모델을 사용하여) 제품 목록을 생성 및 관리하도록 구성될 수 있다. 제품 목록과 채널 간의 연계는 제품 공개물(publication)로서 모델링될 수 있으며, 예를 들어 제품 목록 API를 통해, 채널 애플리케이션에 의해 접속될 수 있다. 제품은, 크기 및 색상과 같은 다수의 속성 및/또는 특성을 가질 수 있으며, 특소형 사이즈 및 녹색인 변형물, 또는 대형 사이즈 및 청색인 변형물과 같이, 이용 가능한 옵션을 모든 속성의 특정 조합으로 확장시키는 다수의 변형물을 가질 수 있다. 제품은, 임의의 옵션 없이, 제품에 대해 생성된 적어도 하나의 변형물(예를 들어, "디폴트 변형물")을 가질 수 있다. 브라우징 및 관리를 원활하게 하기 위해, 제품은, 제품 식별자(예를 들어, 스톡 키핑 유닛(stock keeping unit: SKU)) 등이 제공된 모음으로 그룹화될 수 있다. 제품의 모음은, 제품을 하나로 수동으로 분류함으로써(예를 들어, 맞춤형 모음), 자동 분류를 위한 규칙 세트를 구축함으로써(예를 들어, 스마트 모음) 등으로 구축될 수 있다. 제품 목록은, 가상 또는 증강 현실 인터페이스 등을 통해 볼 수 있는 2D 이미지, 3D 이미지 또는 모델을 포함할 수 있다.
일부 실시형태에서, 쇼핑 카트 객체는, 고객이 구매하려고 의도하는 제품을 저장하거나 추적하기 위해 사용된다. 쇼핑 카트 객체는 채널 특정될 수 있으며, 다수의 카트 라인 물품으로 구성될 수 있고, 각각의 카트 라인 물품은, 특정 제품 변형물에 대한 수량을 추적한다. 카트에 제품을 추가하는 것은 고객 또는 판매자로부터의 임의의 의무이행을 의미하지 않으며, 카트의 예상 수명은 대략 몇 분(몇 일이 아님)일 수 있기 때문에, 카트 객체/카트를 나타내는 데이터는 일시적 데이터 저장소에 지속될 수 있다.
그 다음, 고객은 결제로 진행된다. 상거래 관리 엔진(136)에 의해 생성된 계산 객체 또는 페이지는, 고객의 연락처 정보, 빌링 정보 및/또는 배송 세부사항과 같은, 주문을 완료하기 위한 고객 정보를 수신하도록 구성될 수 있다. 고객이 이들의 연락처 정보를 입력하지만 결제를 진행하지 않는 경우, 전자 상거래 플랫폼(100)은, (예를 들어, 폐기된 계산 구성 요소를 통해) 고객이 계산을 완료하도록 권장하기 위한 메시지를 고객 장치(150)에 전송할 수 있다. 그러한 이유로, 계산 객체는, 카트 객체보다 훨씬 더 긴 수명(몇 시간 또는 심지어 몇 일)을 가질 수 있으므로, 지속될 수 있다. 그 다음, 고객은 이들의 카트의 내용물에 대해 결제함으로써, 판매자에 대한 주문의 생성을 야기한다. 일부 실시형태에서, 상거래 관리 엔진(136)은, 결제 처리 구성 요소를 통해 다양한 결제 게이트웨이 및 서비스(106)(예를 들어, 온라인 결제 시스템, 모바일 결제 시스템, 디지털 지갑, 신용카드 게이트웨이)와 통신하도록 구성될 수 있다. 결제 게이트웨이(106)와의 실제 상호 작용은, 카드 서버 환경을 통해 제공될 수 있다. 결제 프로세스의 종료 시에, 주문이 생성된다. 주문은 판매자와 고객 간의 판매 계약이며, 판매자는 주문을 통해 열거된 상품 및 서비스(예를 들어, 주문 라인 물품, 배송 라인 물품 등)를 제공하기로 동의하고, 고객은 결제금액(세금을 포함함)을 제공하기로 동의한다. 주문이 생성되면, 알림 구성 요소를 통해, 주문 확인 알림이 고객에게 전송될 수 있으며, 주문 알림이 판매자에게 전송될 수 있다. 결제 처리 작업이 초과 판매(over-selling)를 회피하기 시작하는 경우, 재고가 비축될 수 있다(예를 들어, 판매자는 각각의 변형물에 대한 재고 정책 또는 구성을 사용하여 이러한 특성을 제어할 수 있다). 재고 비축은 짧은 기간(몇 분)을 가질 수 있으며, 특정 장소에서 및/또는 특정 (일반적으로 짧은) 시간 동안 구매자에게 판매하기 위해, 할인, 판촉 또는 제한된 재고의 제품이 공급될 수 있는 이벤트인, 반짝 세일 또는 "드롭"을 지원하도록 신속하고 가변적이어야 할 수 있다. 결제가 실패하는 경우, 비축은 해제된다. 결제가 성공하고, 주문이 생성되는 경우, 비축은 특정 장소에 할당된 영구적인(장기) 재고 의무이행으로 전환된다. 상거래 관리 엔진(136)의 재고 구성 요소는, 변형물이 비축된 위치를 기록할 수 있으며, 재고 추적이 활성화된 변형물에 대한 수량을 추적할 수 있다. 이에 따라, 재고 물품(수량 및 위치가 관리되는 물품을 나타내는 판매자 응대 개념)으로부터 제품 변형물(제품 목록의 템플릿을 나타내는 고객 응대 개념)을 분리시킬 수 있다. 재고 레벨 구성 요소는, 판매를 위해 이용 가능하거나, 주문에 할당되거나, 재고 이송 구성 요소로부터(예를 들어, 공급자로부터) 들어오는 수량을 추적할 수 있다.
그 다음, 판매자는 주문을 검토 및 이행(또는 취소)할 수 있다. 상거래 관리 엔진(136)의 검토 구성 요소는, 실제로 이들을 이행하기 전에 주문이 이행을 위해 적합하도록 보장하기 위해, 사업 프로세스 판매자의 사용을 구현할 수 있다. 주문은 사기성일 수 있고, 검증이 필요할 수 있으며(예를 들어, ID 확인), 판매자가 이들의 자금을 받도록 보장하기 위해 대기해야 하는 결제 방법 등을 가질 수 있다. 리스크 및 권장사항은 주문 리스크 모델에서 지속될 수 있다. 주문 리스크는 사기 탐지 도구로부터 생성될 수 있으며, 주문 리스크 API 등을 통해 타사에 의해 제출될 수 있다. 이행으로 진행하기 전에, 판매자는 결제 정보(예를 들어, 신용카드 정보)를 포착해야 할 수 있거나, 주문을 결제된 것으로 표시하기 전에, (예를 들어, 은행 이제, 수표 등을 통해) 이를 수신하기 위해 대기해야 할 수 있다. 판매자는 이제 배송을 위한 제품을 준비할 수 있다. 일부 실시형태에서, 이러한 사업 프로세스는, 상거래 관리 엔진(136)의 이행 구성 요소에 의해 구현될 수 있다. 이행 구성 요소는, 재고 위치 및 이행 서비스에 기초하여, 주문의 라인 물품을 논리적인 이행 작업 단위로 그룹화할 수 있다. 판매자는 작업 단위를 검토하여 조정할 수 있으며, 예를 들어, 판매자가 제품을 선택하여 상자에 포장하는 경우 사용되는 (예를 들어, 판매자 관리 위치에서의) 수동 이행 서비스를 통해, 관련 이행 서비스를 트리거할 수 있고, 배송 라벨을 구매하여 이의 추적 번호를 입력하거나, 단지 물품을 이행된 것으로 표시할 수 있다. 대안적으로, API 이행 서비스는, 타사 이행 서비스에 대한 이행 기록을 생성하도록, 타사 애플리케이션 또는 서비스를 트리거할 수 있다. 주문을 이행하기 위한 다른 가능성이 존재한다. 고객이 만족하지 않는 경우, 이들은 제품(들)을 판매자에게 반품할 수 있다. 사업 프로세스 판매자는, 반품 구성 요소에 의해 구현될 수 있는 물품을 "판매하지 않도록" 검토할 수 있다. 반품은, 판매된 제품이 실제로 사업으로 복귀되어 다시 판매 가능한 재고 보충(restock); 고객으로부터 징수된 돈이 부분적으로 또는 완전히 반환되는 환불; 환불된 돈이 얼마인지를 표기하는 회계 조정(예를 들어, 반품되지 않고 고객의 소유로 남아있는 상품 또는 임의의 재고보충 수수료가 있는 경우를 포함함) 등과 같은, 다양한 상이한 조치로 구성될 수 있다. 반품은 판매 계약(예를 들어, 주문)에 대한 변경을 나타낼 수 있으며, 전자 상거래 플랫폼(100)은, 법적 의무와 관련된(예를 들어, 세금과 관련된) 규정 준수 문제를 판매자가 인식하게 할 수 있다. 일부 실시형태에서, 전자 상거래 플랫폼(100)에 따라, 판매자는, 예를 들어 판매 모델 구성 요소(예를 들어, 물품에 발생된 판매 관련 이벤트를 기록하는 부록-전용 일자-기반 원장(append-only date-based ledger))를 통해 구현되는, 시간이 지남에 따른 판매 계약의 변경을 추적할 수 있다.
메시지 템플릿
위에 제공된 바와 같이, 도 1과 관련하여 설명된 것과 같은 전자 상거래 플랫폼에 따라, 플랫폼의 계정을 가진 사람들은 이들의 메시징 계정을 연결할 수 있다. 메시징 계정은, 이메일 계정, 문자 메시지 계정, 또는 판매자가 고객에게 메시지를 전송할 수 있는 임의의 다른 유형의 계정을 포함할 수 있다. 본 개시물은 예시를 위해 이메일 계정과 관련하여 설명된다. 그러나, 이는 제한적인 것이 아니며, 동일한 원리가 다른 유형의 메시징 계정에 적용될 수 있다.
이 경우, 이러한 이메일 계정에 수신되는 메시지 중 일부 또는 전부는 전자 상거래 플랫폼에 의해 모니터링되어, 계정 소유자를 위한 구매, 수송 및 배송을 추적하는 것과 같은, 부가가치 서비스를 제공할 수 있다.
전형적으로, 이러한 메시지는, 템플릿을 사용하여 컴퓨터로 생성될 것이다. 템플릿은 메시지의 구조 또는 레이아웃을 나타낸다. 예를 들어, 도 3을 참조한다.
도 3의 실시예에서, 전자 상거래 플랫폼의 계정 소유자에 의해 메시지(300)가 수신될 수 있다. 계정 소유자는 거래를 모니터링하기 위해 전자 상거래 플랫폼을 구독하였으며, 이와 관련하여, 메시지(300)는 전자 상거래 플랫폼에 의해 분석될 수 있다.
메시지(300)는, 제1 템플릿을 사용하는 공급자로부터 비롯된 것이다. 특히, 메시지(300)는, 제품이 배송되었거나 곧 배송될 것임을 나타내기 위한 배송 알림이다. 메시지 내의 다양한 필드는, 메시지를 생성하는 컴퓨터에 의해 작성되며, 템플릿의 나머지 부분은 메시지 간에 동일하게 유지된다. 예를 들어, 메시지(300)를 위한 템플릿은, 이름 필드(310), 배송 일자(312), 배송되는 주소 블록(314)을 포함할 뿐만 아니라, 배송업체(318)의 URL(316)과 함께 표시된 배송 번호의 URL을 포함한다.
도 4를 참조하면, 전자 상거래 플랫폼에 대한 계정 소유자에 의해 수신된 다른 예시적인 이메일이 제공된다. 도 4의 실시예에서, 또 다시, 메시지(400)는 주문품이 배송되었음을 나타내는 배송 알림이다. 메시지(400)는 상이한 공급자로부터 비롯된 것이며, 도 3의 템플릿과 상이한 템플릿을 사용하고, 주문 번호(410), 배송 일자(412), 블록 또는 버튼(414)(이러한 버튼 뒤에 고유 URL을 가짐), 배송 도착지(416), 주문 가격(420), 배송업체(422), 및 추적 번호(424)와 같은, 다양한 필드를 갖는다.
도 3 및 도 4에 도시된 템플릿의 실시형태를 비교하면, 템플릿의 구조는 완전히 상이하다. 각각의 이메일은, 고유한 레이아웃, 하이퍼텍스트 마크업 언어(HTML) 및/또는 확장성 마크업 언어(XML) 구조를 가지며, 상이한 XML 경로(XPath)를 갖는다. 특히, XPath는 XML 경로 표현을 사용하여 XML 문서 내의 임의의 요소를 탐색하기 위한 구문 또는 언어이다.
또한, 도 3 및 도 4의 실시형태는 배송 알림을 나타내지만, 공급자로부터의 다른 메시지는, 특히 주문 확인 메시지, 주문 처리 알림, 배송 임박(delivery pending shortly) 알림, 배송 알림을 포함할 수 있다. 각각은 이에 할당된 상이한 템플릿을 가질 수 있다.
또한, 공급자는, 다른 옵션 중에서도, 메시지의 수신자에 기초하여, 특정 거래와 관련된 제품 또는 서비스의 유형, 고객의 국가 또는 지역과 같은, 다른 요소에 따라 상이한 알림 템플릿을 사용할 수 있다. 예를 들어, 제품이 캐나다의 고객에게 배송되는 경우, 알림 메시지는 영어 및 프랑스어 둘 모두일 수 있는 반면에, 미국의 고객에게로의 알림은 영어만일 수 있거나, 경우에 따라 영어 및 스페인어일 수 있다. 고객이 로열티 프로그램(loyalty program)의 멤버인 경우, 사용되는 템플릿은, 거래에 대한 로열티 보상에 관한 필드 및 문구를 포함할 수 있다. 다른 요소도 가능하다. 따라서, 각각은 상이한 템플릿을 사용할 수 있다.
템플릿의 구조는, 클러스터로 지칭되는 그룹으로 템플릿을 할당하고, 그러한 클러스터에 값을 할당하기 위해 사용될 수 있다.
클러스터 및 클러스터 값
경우에 따라, 동일한 템플릿이 상이한 공급자에 의해 사용될 수 있다. 예를 들어, 공급자가 전자 상거래 플랫폼의 일부인 경우, 전자 상거래 플랫폼은, 이의 서비스의 일부로서, 공급자가 이들의 상점으로부터의 알림을 위해 사용할 수 있는 다양한 템플릿을 제공할 수 있다. 다른 경우에, 관련 회사가 동일한 알림 템플릿을 사용할 수 있다. 템플릿의 재사용을 위한 다른 옵션도 가능하다.
이와 관련하여, 템플릿은, 본원에서 클러스터로 지칭되는 논리 그룹에 할당될 수 있다. 동일한 템플릿을 사용하는 이메일의 그룹은 이러한 클러스터로 그룹화되거나 분류될 수 있으며, 아래에 정의된 바와 같은 하나 이상의 이메일 추출기가 이러한 클러스터에 할당될 수 있다.
각각의 클러스터는 이에 할당된 값을 가질 수 있다. 구체적으로, 값을 클러스터에 할당하기 위한 프로세스를 도시하는 도 5를 참조한다.
도 5의 프로세스는 블록(510)에서 시작되며, 메시지로부터 특성이 추출되는 블록(520)으로 진행된다.
블록(520)에서 추출된 특성에 기초하여, 클러스터가 메시지 특성에 대해 알려져 있는지 여부를 결정하기 위한 확인이 블록(522)에서 이루어질 수 있다. "예"인 경우, 프로세스는 블록(530)으로 진행되어 종료된다.
반대로, 클러스터가 알려져 있지 않은 경우, 프로세스는 블록(540)으로 진행되어, 클러스터가 생성될 수 있다. 그 다음, 프로세스는 블록(542)으로 진행되어, 값이 클러스터에 할당된다. 값은 다양한 방식으로 할당될 수 있다.
일 실시형태에서, 값은 템플릿 내의 요소의 해시(hash)일 수 있다. 예를 들어, 도 3의 메시지를 위한 템플릿을 사용하면, 이메일 템플릿의 XPath는 다음과 같다:
Figure pat00001
따라서, 일 실시형태에서, 클러스터의 값은, 그러한 클러스터에 사용된 기본 이메일 템플릿에 대한 XPath의 민해시(minhash)에 기초할 수 있다. 민해시는, 2개의 세트가 얼마나 유사한지를 추정하기 위한 알고리즘이며, 경우에 따라, 주어진 입력에 대해 고정된 길이 어레이의 값을 생성할 수 있다. 예를 들어, 표 1의 XPath는, 출력이 고정된 크기 어레이의 값, 예를 들어 128 값을 갖도록 정의되는, 민해시 함수에서 사용될 수 있다. 그러나, 이는 제한적인 것이 아니며, 다른 길이가 가능하다. 이러한 민해시 함수의 출력은 다음과 같을 수 있다:
Figure pat00002
따라서, 표 2의 어레이는, 도 3의 이메일 메시지를 위한 템플릿을 포함하는 클러스터에 블록(542)에서 할당된 값일 수 있다.
그러나, 블록(542)에서 값을 계산하기 위한 민해시의 사용은 단지 일 실시예일 뿐이다. 다른 경우에, 다른 기술을 사용하여 값이 생성될 수 있다. 예를 들어, 자연어 처리 기계 학습(ML) 모델을 사용하는 인코더가 사용될 수 있다. 이러한 인코더는, 이메일 및 구조에 대해 그 자체적으로 이해하게 되기 위해, 수백만 개의 미가공 이메일을 통해 트레이닝될 수 있다. 이러한 인코더는 클러스터에 값을 할당할 수 있으며, 후속적으로, 코사인 유사성을 사용하여, 수신되는 이메일에 대한 값을 중심에 매칭시킬 수 있다.
다른 경우에, 다른 값 할당 프로세스가 사용될 수 있다.
값이 블록(542)에서 할당되면, 프로세스는 블록(530)으로 진행되어 종료된다.
예를 들어, 도 5의 프로세스는, 새로운 클러스터가 생성될 때마다 사용될 수 있다. 값이 시스템의 하나 초과의 클러스터에 할당되어야 하는 경우, 도 5의 프로세스는 각각의 클러스터에 대해 반복될 수 있다.
메시지 추출기
메시지 추출기는, 메시지로부터 정보를 탐색하기 위해 사용되는 알고리즘, 코드 세그먼트 또는 프로그램이다. 메시지 추출기는, 전자 상거래 플랫폼과 같은 컴퓨터 시스템이 원하는 정보 요소를 프로그램이 빠르고 정확하게 탐색할 수 있게 하기 위해, 템플릿에 대해 특별히 맞춤화 또는 프로그래밍될 수 있다.
이메일 추출기에 의해 추출되는 정보 요소는, 수신되는 메시지의 유형, 및 그러한 메시지 내의 정보의 유형에 기초하여 구성될 수 있다. 또한, 특정 정보는 전자 상거래 플랫폼 또는 컴퓨터 시스템에 관련이 있을 수 있지만, 다른 정보는 관련이 없을 수 있으므로, 메시지 추출기는, 경우에 따라 관련 정보만을 획득하도록 맞춤화될 수 있다.
도 3의 예시적인 메시지를 사용하여, 하나의 단순화된 메시지 추출기가 표 3에 대하여 예시된다.
Figure pat00003
표 3의 실시예에서 알 수 있는 바와 같이, 전자 상거래 플랫폼과 같은 컴퓨터 시스템에 의해 도 3의 메시지로부터 탐색된 정보는, 추적 번호, 및 추적 URL을 포함한다. 이러한 요소의 위치는, 메시지 내에서 XPath로서 제공된다. 그러나, 이는 단지 일 실시예일 뿐이며, 메시지 템플릿 내의 원하는 정보의 식별은, 다른 옵션 중에서도, 메시지 내의 태그에 기초하는 상대 위치와 같이, 다른 방식으로 수행될 수 있다.
또한, 표 3의 실시예에서, 배송업체에 관한 정보도 전자 상거래 플랫폼에 의해 요구될 수 있다. 그러나, 이 경우, 메시지는 그러한 정보를 포함하지 않으므로, 값은 표 3의 실시예에 따라 널(null) 값으로 할당된다. 다른 경우에, 이용 가능하지 않는 정보는, 메시지 추출기에 의해 단순히 무시될 수 있다. 다른 옵션이 가능하다.
표 3의 단순화된 메시지 추출기에 기초하여, 도 3의 메시지로부터 추출된 정보는 아래의 표 4에 제공된다.
Figure pat00004
표 3의 예시적인 추출기 및 표 4의 결과는 추적 번호 및 추적 URL을 제공한다. 다른 실시예에서, 컴퓨터 시스템 또는 전자 상거래 플랫폼은, 고객의 등록된 배송 주소와 비교하여 배송 주소를 확인하길 원할 수 있으므로, 메시지(300)로부터 배송 주소(314)를 추출할 수 있다. 다른 경우에, 일자(312)가 추출될 수 있다. 경우에 따라, 보다 정교한 알고리즘이 데이터에 적용될 수 있으며, 더 많거나 더 적은 데이터 필드가 추출되어야 할 수 있다. 따라서, 표 3의 실시예는 단지 예시 목적으로만 제공된다.
표 3의 실시예로부터 알 수 있는 바와 같이, 메시지 추출기는, 이들이 시스템에 수신됨에 따라 메시지에 대해 빠르게 실행될 수 있는 프로그램이며, 메시지 추출기는, 추출을 위한 메시지 내의 정보의 위치를 사용함으로써 템플릿에 맞춤화된다. 이에 따라, 짧은 시간 기간 내에 수천 개 또는 수십만 개의 메시지를 처리하는 경우, 컴퓨팅 자원이 효율적으로 사용되도록 보장한다.
이러한 이유로, 높은 정확도 및 정밀도의 이메일 추출기는, 전형적으로 각각 하나의 특정 이메일 템플릿만을 파싱하도록 트레이닝된다. 따라서, 구매자의 받은편지함으로부터 전자 상거래 이메일을 해석하기 위해 구축된 것과 같은, 정교한 이메일 추출 시스템은, 별개의 단일 이메일 템플릿으로부터 특정 관련 정보를 식별하도록 각각 트레이닝된 수천 개 또는 수십만 개의 이메일 추출기를 필요로 할 수 있다.
이메일 템플릿이 변경되는 경우, 예를 들어, 판매자가 주문 확인 이메일과 같은 이메일의 레이아웃을 수정하거나 완전히 변경하는 경우, 적절한 추출기를 식별하기 어려울 수 있거나, 적절한 추출기가 존재하지 않을 수 있다. 그 결과로, 시스템은, 판매자의 새로운 템플릿을 사용하는 그것이 수신하는 임의의 주문 확인 이메일로부터 콘텐츠를 더 이상 추출하지 못할 수 있다. 또한, 심지어 기존의 이메일 추출기 중 어떤 것도 새로운 이메일 템플릿으로부터의 정보를 추출하는 데 효과적이지 않을 수 있으므로, 새로운 추출기가 필요할 수 있다.
그러나, 수천 개 또는 수십만 개의 추출기가 존재할 수 있기 때문에, 새로운 템플릿과 비교하여 각각을 시도하는 것은 계산적으로 효율적이지 않다. 따라서, 새로운 템플릿이 식별되는 경우, 추출기를 프로그램에 따라 그리고 효율적으로 식별하거나 생성하기 위한 기술이 본원에 제공된다.
매칭 추출기 탐색
새로운 메시지 템플릿이 컴퓨터 시스템 내에 도입되었음을 식별하기 위한 다양한 기술이 존재한다. 제1 실시형태에서, 식별은 메시지별 기반으로 수행될 수 있으며, 수신된 메시지에 값이 할당되고, 값은 클러스터 값과 비교되어, 메시지 추출기를 탐색한다.
다른 실시형태에서, 특정 클러스터에 대한 메시지의 양은 과거의 양과 비교될 수 있으며, 특정 클러스터에 대한 현저한 감소가 인식되는 경우, 이는 클러스터와 관련된 판매자(들)가 이들의 템플릿을 변경했을 수 있음을 나타낼 수 있다. 이러한 실시형태는, 현저한 감소를 겪었는지 여부를 결정할 때, 다른 그러한 정보 중에서도, 요일, 날짜, 현저한 쇼핑 일수와 같은 요인을 고려할 수 있다. 이러한 실시형태에서, 예를 들어, 현저한 감소는, 임계치 퍼센티지보다 더 큰 감소일 수 있다.
일 실시형태에서, 트래픽의 감소 대신에, 클러스터에 대해 제공된 정보의 양의 감소가 탐지될 수 있다. 예를 들어, 클러스터가 더 적은 정보를 제공하는 경우, 이는 정보가 다른 곳에서 통신되고 있다는 표시자일 수 있다.
따라서, 이러한 실시형태에 따라, 새로운 클러스터로의 이메일 양의 플립(flip), 또는 클러스터로부터의 정보의 감소를 탐지할 수 있고, 새로운 이메일로부터 정보를 추출하기 위해 사용될 수 있는 가능한 추출기를 식별할 수 있는 시스템은, 어떤 것도 이미 할당되지 않은 경우, 제공된다.
각각은 아래에 설명된다.
특히, 이제 도 6을 참조한다. 도 6의 실시형태에서, 프로세스는 블록(610)에서 시작되어 블록(620)으로 진행되며, 그러한 메시지에 대한 특성 값을 생성하기 위해, 매핑 함수가 수신된 메시지에 적용될 수 있다. 예를 들어, 매핑 함수는, 표 2와 관련하여 전술한 XPath 민해시 함수일 수 있다. 다른 경우에, 매핑 함수는, 메시지에 적용된 자연어 처리 알고리즘일 수 있다. 다른 경우에, 다른 유형의 매핑 함수도 사용될 수 있다.
매핑 함수는 특성 값을 생성하며, 그 다음, 특성 값은, 클러스터 및 해당 메시지 추출기 또는 추출기들을 식별하기 위해 사용될 수 있다. 특히, 블록(620)으로부터, 프로세스는 블록(630)으로 진행되어, 특성 값이 임의의 추출기 값과 매칭되는지 여부를 확인한다. 이는 예를 들어, 클러스터 및 이와 관련된 추출기에 대한 값 어레이와 메시지에 대한 민해시의 값 어레이를 확인함으로써 수행될 수 있다. 비교는 정확한 매칭을 필요로 하지 않을 수 있지만, 경우에 따라, 매칭은 특정 임계치에 따라 충분히 근접되어야 할 수 있다.
예를 들어, 위의 민해시 실시예를 사용하면, 민해시는 어레이에서 128개 값을 생성할 것이다. 따라서, 메시지에 대한 특성 값이 128개 값의 어레이이고, 클러스터와 관련된 값이 128개 값의 어레이인 경우, 각각의 값은 다른 어레이의 해당 위치의 값과 비교될 수 있다. 값의 임계치 수가 매칭되는 경우, 이는 특성 값이 추출기 값과 매칭됨을 나타낼 수 있다.
유사하게, 자연어 처리는 값을 생성할 수 있으며, 그 다음, 값은, 매칭이 존재하는지를 탐색하기 위해, 각각의 추출기의 값과 코사인 유사성 기반으로 비교될 수 있다. 이 경우, 코사인 유사성 함수가 적용될 때, 특성 값이 임계치 초과인 경우, 매칭이 존재할 수 있다.
블록(630)에서 특성 값이 추출기의 값과 매칭되는지 여부를 결정하기 위한 다른 기술도 가능하다.
블록(630)으로부터, 매칭이 존재하는 경우, 프로세스는 블록(632)으로 진행되어, 블록(630)에서 탐색된 메시지 추출기(들)는, 메시지로부터 원하는 정보를 추출하기 위해 사용된다. 그 다음, 프로세스는 블록(640)으로 진행되어 종료된다.
블록(620 및 630)의 프로세스 대신에, 경우에 따라, 클러스터의 사용이 모니터링되어, 메시지로부터의 정보 또는 클러스터 내에 배치되는 메시지의 수의 감소가 탐지되는지 여부를 결정할 수 있다. 예를 들어, 이는 소매업체가 알림 템플릿을 변경하는 경우 발생할 수 있다. 원래의 템플릿을 사용하는 경우 원래의 클러스터로 예정된 메시지는 감소를 겪는 반면에, 새로운 클러스터는 메시지의 비례적 증가를 겪을 것이다. 새로운 클러스터는 시스템 내에 존재할 수 있거나, 존재하지 않을 수 있다. 따라서, 일 실시형태(도시되지 않음)에서, 컴퓨터 시스템은, 각각의 클러스터에 의해 처리되는 메시지의 양을 모니터링할 수 있으며, 임의의 특정 클러스터에서의 예상 메시지 수의 임의의 감소를 기록할 수 있다. 컴퓨터 시스템은, 새로운 클러스터의 임의의 증가 또는 생성을 추가로 모니터링할 수 있다. 하나의 클러스터에서의 메시지의 감소, 및 다른 클러스터에서의 생성 또는 증가는, 템플릿 변경을 나타낼 수 있다. 이 경우, 컴퓨터 시스템은, 새로운 클러스터가 이미 시스템에 있는지 그리고 수신된 메시지를 위해 사용될 수 있는 추출기를 갖는지 여부를 결정하기 위한 확인을 수행할 수 있다. "예"인 경우, 프로세스는 블록(632)으로 진행되어, 알려진 메시지 추출기를 사용하여, 수신된 메시지로부터 관련 정보를 추출할 수 있다.
당업자에 의해 이해되는 바와 같이, 클러스터에서 확인되는 메시지의 수의 증가 또는 감소는, 컴퓨터 시스템에 의해 고려될 수 있는 외부 요소에 의해 영향을 받을 수 있다. 예를 들어, 클러스터는, 블랙 프라이데이 또는 사이버 먼데이(Cyber Monday)와 같은, 연중 특정 날짜에서 현저한 증가를 겪을 수 있다. 특정 요일은 과거에 더 많거나 더 적은 메시지 양을 가질 수 있으며, 이러한 과거의 값은, 양의 감소를 겪었는지 여부를 결정하기 위해 컴퓨터 시스템에 의해 사용될 수도 있다. 또한, 클러스터에 대한 메시지의 양이 변경되었는지 여부를 결정할 때, 다른 요소도 고려될 수 있다.
도 6을 다시 참조하면, 개별 메시지 또는 클러스터에 기초하여, 특성 값이 임의의 추출기 값과 매칭되지 않는 것으로 결정되는 경우, 프로세스는 블록(630)으로부터 블록(650)으로 진행되어, 유사성 기준에 기초하여, 적어도 하나의 메시지 추출기가 식별될 수 있다.
구체적으로, 메시지 추출기가 수신된 메시지 또는 새로운 클러스터에 현재 할당되지 않았기 때문에, 시스템은, 작용하는 기존의 추출기를 식별하거나, 새로운 메시지 추출기를 생성해야 한다. 그러나, 이는 필요한 정보가 성공적으로 추출되었는지 여부를 결정하기 위해, 수신된 메시지와 비교하여 시스템의 모든 메시지 추출기를 실행하는 것은 계산적으로 매우 긴 프로세스이다. 전형적인 전자 상거래 플랫폼에서 수신되는 메시지의 양을 고려할 때, 이러한 처리로 인해, 다른 어려움 중에서도, 현저한 지연, 감소된 메시지, 또는 필요한 처리 능력을 제공하기 위한 현저한 자원의 소비를 야기할 수 있다. 오히려, 본 개시물은 메시지 추출기에 대한 보다 집중적인 검색을 가능하게 한다.
구체적으로, 본 개시물의 실시형태에 따라, 수신된 메시지에 대해 획득된 특성 값은, 사용되도록 시도될 수 있는 메시지 추출기의 서브세트를 식별하기 위해, 기존의 메시지 추출기와 관련된 값과 비교될 수 있다.
일 실시형태에서, 메시지 추출기는, 유사성 지수를 초과하는 메시지 추출기를 탐색함으로써 식별될 수 있다. 민해시 실시예를 다시 사용하여, 특성 값에 대한 어레이와 복수의 메시지 추출기에 대한 어레이 간의 비교가 수행될 수 있다. 2개의 어레이 간의 매칭의 수가 유사성 지수를 초과하는 경우, 이러한 메시지 추출기가 시도될 수 있다.
다른 경우에, 코사인 유사성 값이 사용될 수 있다.
다른 경우에, 자카드(Jaccard) 유사성이 사용될 수 있다. 다른 유사성 비교도 수행될 수 있다.
블록(650)에서의 식별은 하나 이상의 메시지 추출기를 식별할 수 있다. 예를 들어, 유사성 지수가 복수의 메시지 추출기에 의해 매칭되는 경우, 경우에 따라, 유사성 지수를 초과하는 각각의 메시지 추출기가 시도될 수 있다. 다른 경우에, 유사성 지수를 초과하는 메시지 추출기의 수가 너무 많은 경우, 식별된 메시지 추출기의 서브세트가 시도될 수 있다.
또한, 메시지 추출기를 식별하는 것을 보조하기 위해, 보조적인 요소가 사용될 수도 있다. 예를 들어, 하나의 클러스터의 양의 급격한 증가가 인식되는 경우(이는 다른 클러스터의 감소에 해당할 수 있음), 이는 감소된 클러스터로부터의 이메일에 대한 템플릿이 변경되었을 수 있고, 감소된 클러스터에 대한 추출기가 식별된 하나 이상의 추출기에 추가될 수 있음을 나타낼 수 있다.
다른 경우에, 특히, 판매자의 이름, 제목 라인, 발송자 이메일 주소, 제품명, 배송 식별자의 길이 및 번호와 같은 증거는, 식별된 하나 이상의 추출기에 추가하기 위해 사용될 수 있다.
경우에 따라, 포괄적인 또는 광범위한 추출기, 및/또는 자동 추출기가 식별된 하나 이상의 추출기에 추가될 수도 있다.
하나 이상의 추출기가 식별되면, 블록(660)에 나타낸 바와 같이, 이들은 메시지로부터 정보를 추출하기 위해 사용될 수 있다. 예를 들어, 최고 유사성 지수를 갖는 클러스터는, 경우에 따라, 수신된 메시지 또는 수신된 메시지에 대한 클러스터에 바인딩될 수 있다. 예를 들어, 더 우수한 메시지 추출기가 탐색될 때까지, 이러한 바인딩은 경우에 따라 일시적일 수 있다.
또한, 추출된 정보에는, 다양한 요소에 기초하여 선택적으로 "품질 스코어"가 주어질 수 있다. 예를 들어, X 값이 추출될 것으로 예상되지만, 추출기를 사용하여 X-Y 값만 탐색되는 경우, 이는 품질 지수를 감소시킬 수 있다. 각각의 예상 필드에는 경우에 따라 가중치가 주어질 수 있으며, 품질 스코어는 누락된 필드의 가중치에 의해 영향을 받을 수 있다.
특정 판매자로부터의 데이터에 대한 알려진 형식과 같은, 외적 증거도 품질 스코어를 탐색할 때 사용될 수 있다.
경우에 따라, 복수의 추출기로부터 획득된 값 간의 비교도 사용될 수 있다.
경우에 따라 하나의 추출기로부터의 품질 스코어, 또는 다른 경우에 복수의 추출기로부터의 값의 품질 스코어가 임계치를 초과하는 경우, 새로운 추출기가 메시지 식별자에 할당될 수 있으며, 새로운 추출기는 그러한 메시지를 즉시 파싱하기 시작할 수 있다.
경우에 따라, 예상 값 필드를 탐색하기 위해, 새로운 추출기는 2개 이상의 이전 추출기의 조합, 또는 이의 일부일 수 있다. 따라서, 이전에 알려진 복수의 메시지 추출기에 기초하여, 새로운 메시지 추출기가 생성될 수 있으며, 원하는 데이터를 생성하는 이전에 알려진 그러한 메시지 추출기의 일부가 조합될 수 있다.
경우에 따라, 기존의 추출기의 변경에 기초하여, 그리고 원래의 추출기 템플릿과 새로운 템플릿 간의 계산된 차이에 관한 정보에 추가로 기초하여, 새로운 추출기가 생성될 수 있다. 구체적으로, 이전 템플릿과 새로운 템플릿 간의 차이에 관한 정보는, 추출기를 변경하기 위해 사용될 수 있다. 예를 들어, XPath의 루트(root)는 업데이트된 구조로 변경될 수 있으며, 그 다음, 새로운 추출기가 새로운 템플릿에 대해 시도될 수 있다. 다른 실시예가 가능하다.
이러한 선택적인 품질 확인은 도 6의 실시형태에서 블록(652)으로서 제시되며, 블록(660)에서 식별된 적어도 하나의 메시지 추출기의 사용은, 품질 확인이 임계치를 초과하는 경우에만 수행된다. 그렇지 않은 경우, 더 많은 메시지 추출기가 블록(650)에서 식별될 수 있다.
또한, 경우에 따라, 정보 요소를 검증하기 위한 크라우드소싱(crowdsourcing), 또는 정보 요소를 식별하는 판매자 플랫폼에 대한 운영자와 같은, 다른 정보 소스를 사용함으로써, 품질이 증가될 수 있다. 예를 들어, 새로운 클러스터가 식별되는 경우, 추출기가 정확하게 작용하고 있는지를 검증하도록, 전자 상거래 플랫폼의 운영자로의 요청이 이루어질 수 있다. 다른 경우에, 메시지 내에서 식별된 정보가 정확한지 여부를 결정하기 위해, 원래의 메시지의 수신자에게 질의될 수 있다. 다른 경우에, 블로그 또는 품질 관리 웹사이트를 통해 검증을 요청하는 크라우드소싱이 수행될 수 있다. 다른 옵션이 가능하다. 따라서, 이는 이전 메시지 추출기에 기초하여 새로운 메시지 추출기를 생성하기 위해 사용될 수 있다.
다른 정보 소스에 대한 요청의 긴급성은, 경우에 따라 컴퓨터 시스템 내에 동일한 식별자를 갖는 이메일 메시지의 양과 상관될 수 있다.
전술한 방법은 컴퓨터 구현 방법이며, 이들의 구현/사용을 위해 컴퓨터를 필요로 한다. 이러한 컴퓨터 시스템은, 네트워크 요소 또는 컴퓨팅 장치의 조합 또는 임의의 유형으로 구현될 수 있다. 예를 들어, 본원에 설명된 실시형태의 일부 또는 전부를 수행할 수 있는 하나의 간략화된 컴퓨팅 장치가 도 7과 관련하여 제공된다.
도 7에서, 컴퓨팅 장치(710)는, 프로세서(720) 및 통신 서브 시스템(730)을 포함하며, 프로세서(720) 및 통신 서브 시스템(730)은 협력하여 본원에 설명된 실시형태의 방법을 수행한다.
프로세서(720)는 프로그래밍 가능 로직을 실행하도록 구성되며, 프로그래밍 가능 로직은 컴퓨팅 장치(710)를 통해 데이터와 함께 저장될 수 있고, 메모리(740)로서 도 7의 실시예에 도시된다. 메모리(740)는, DRAM, 플래시, 광학(예를 들어, CD, DVD 등), 자기(예를 들어, 테이프), 플래시 드라이브, 하드 드라이브, 또는 당업계에 알려진 다른 메모리와 같은, 임의의 실체적인(tangible) 비-일시적 컴퓨터 판독 가능 저장 매체일 수 있다. 또한, 일 실시형태에서, 프로세서(720)는 전적으로 하드웨어로 구현될 수 있으며, 로직 함수를 실행하기 위한 임의의 저장된 프로그램이 필요하지 않을 수 있다. 메모리(740)는 명령 코드를 저장할 수 있으며, 명령 코드는, 프로세서(720)에 의해 실행될 때, 컴퓨팅 장치(710)로 하여금, 본 개시물의 실시형태를 수행하도록 한다.
대안적으로, 또는 메모리(740)와 더불어, 컴퓨팅 장치(710)는, 예를 들어 통신 서브 시스템(730)을 통해, 외부 저장 매체로부터의 데이터 또는 프로그래밍 가능 로직에 액세스할 수 있다.
통신 서브 시스템(730)은, 컴퓨팅 장치(710)가 다른 장치 또는 네트워크 요소와 통신할 수 있게 한다. 일부 실시형태에서, 통신 서브 시스템(730)은, 특히, 이더넷, 섬유, 범용 직렬 버스(USB), 셀룰러 무선 트랜시버, 와이파이 트랜시버, 블루투스 트랜시버, 블루투스 저에너지 트랜시버, GPS 수신기, 위성 트랜시버, IrDA 트랜시버를 포함하지만 이에 제한되지 않는, 수신기 또는 트랜시버를 포함한다. 당업자에 의해 이해되는 바와 같이, 통신 서브 시스템(730)의 설계는, 거래 장치가 참여할 것으로 예상되는 통신의 유형에 따라 좌우될 것이다.
일 실시형태에서, 컴퓨팅 장치(710)의 다양한 요소 간의 통신은 내부 버스(760)를 통해 이루어질 수 있다. 그러나, 다른 형태의 통신이 가능하다.
도면 전반에 걸친 흐름도 및 블록도를 포함하여, 본원에 설명되고 도시된 요소는, 요소 간의 논리적 경계를 포함한다. 그러나, 소프트웨어 또는 하드웨어 엔지니어링 관행에 따라, 도시된 요소 및 이의 기능은, 모놀리식(monolithic) 소프트웨어 구조로서, 독립형 소프트웨어 모듈로서, 또는 외부 루틴, 코드, 서비스 등, 또는 이들의 임의의 조합을 사용하는 모듈로서, 이에 저장된 프로그램 명령을 실행할 수 있는 프로세서를 갖는 컴퓨터 실행 가능 매체를 통해 기계로 구현될 수 있으며, 이러한 모든 구현예는 본 개시물의 범위 내에 있을 수 있다. 이러한 기계의 실시예는, 개인용 휴대 정보 단말기, 랩톱, 개인용 컴퓨터, 휴대폰, 다른 휴대용 컴퓨팅 장치, 의료 장비, 유선 또는 무선 통신 장치, 트랜스듀서, 칩, 계산기, 위성, 태블릿 PC, 전자책, 가젯(gadget), 전자 장치, 인공 지능을 갖는 장치, 컴퓨팅 장치, 네트워킹 장비, 서버, 라우터 등을 포함할 수 있지만, 이들로 제한되지 않을 수 있다. 또한, 흐름도 및 블록도로 도시된 요소, 또는 임의의 다른 논리적 구성 요소는, 프로그램 명령을 실행할 수 있는 기계로 구현될 수 있다. 따라서, 전술한 도면 및 설명은 개시된 시스템의 기능적 양태를 설명하지만, 명시적으로 상술되지 않는 한 또는 문맥으로부터 달리 명백하지 않는 한, 이러한 기능적 양태를 구현하기 위한 소프트웨어의 특정 장치가 이러한 설명으로부터 추정되어서는 안된다. 유사하게, 위에서 식별되고 설명된 다양한 단계는 달라질 수 있으며, 단계의 순서는 본원에 개시된 기술의 특정 적용예에 맞춰질 수 있음을 이해할 것이다. 이러한 모든 변경예 및 변형예는 본 개시물의 범위 내에 속하도록 의도된다. 따라서, 다양한 단계에 대한 순서의 설명 및/또는 묘사는, 특정 적용예에 의해 요구되지 않는 한, 또는 문맥으로부터 달리 명백하지 않는 한, 이러한 단계에 대한 특정 순서의 실행을 요구하는 것으로 이해되어서는 안된다.
전술한 방법 및/또는 프로세스, 및 이의 단계는, 하드웨어, 소프트웨어, 또는 특정 적용예를 위해 적합한 하드웨어 및 소프트웨어의 임의의 조합으로 구현될 수 있다. 하드웨어는, 범용 컴퓨터 및/또는 전용 컴퓨팅 장치, 또는 특정 컴퓨팅 장치, 또는 특정 컴퓨팅 장치의 구체적인 양태 또는 구성 요소를 포함할 수 있다. 프로세스는, 내부 및/또는 외부 메모리와 함께, 하나 이상의 마이크로프로세서, 마이크로컨트롤러, 내장형 마이크로컨트롤러, 프로그래밍 가능 디지털 신호 프로세서, 또는 다른 프로그래밍 가능 장치로 구현될 수 있다. 추가로 또는 그 대신에, 프로세스는, 주문형 집적 회로, 프로그래밍 가능 게이트 어레이, 프로그래밍 가능 어레이 로직, 또는 전자 신호를 처리하도록 구성될 수 있는 임의의 다른 장치 또는 장치의 조합으로 구현될 수 있다. 또한, 하나 이상의 프로세스는 기계 판독 가능 매체를 통해 실행될 수 있는 컴퓨터 실행 가능 코드로서 구현될 수 있음을 이해할 것이다.
컴퓨터 실행 가능 코드는, 위의 장치 중 하나를 통해 실행될 뿐만 아니라, 프로세서, 프로세서 아키텍처의 이종 조합, 또는 상이한 하드웨어 및 소프트웨어의 조합, 또는 프로그램 명령을 실행할 수 있는 임의의 다른 기계를 통해 실행되도록 저장되거나, 컴파일되거나, 해석될 수 있는, C와 같은 구조화된 프로그래밍 언어, C++과 같은 객체 지향 프로그래밍 언어, 또는 임의의 다른 상위-레벨 또는 하위-레벨 프로그래밍 언어(어셈블리 언어, 하드웨어 기술 언어, 및 데이터베이스 프로그래밍 언어 및 기술을 포함함)를 사용하여 생성될 수 있다.
따라서, 일 양태에서, 전술한 각각의 방법, 및 이들의 조합은, 하나 이상의 컴퓨팅 장치를 통해 실행될 때, 이의 단계를 수행하는 컴퓨터 실행 가능 코드로 구현될 수 있다. 다른 양태에서, 방법은 이의 단계를 수행하는 시스템으로 구현될 수 있으며, 다수의 방식으로 장치들에 걸쳐서 분산될 수 있거나, 모든 기능이 전용의 독립형 장치 또는 다른 하드웨어 내에 통합될 수 있다. 다른 양태에서, 전술한 프로세스와 관련된 단계를 수행하기 위한 수단은, 전술한 하드웨어 및/또는 소프트웨어 중 어느 하나를 포함할 수 있다. 이러한 모든 변경 및 조합은 본 개시물의 범위 내에 속하도록 의도된다.
또한, 본 교시는 이하의 번호 표시된 조항 중 하나 이상의 특징으로 확장될 수 있다:
1. 컴퓨터 시스템에서의 방법으로서,
특성값을 생성하기 위해, 수신된 메시지에 매핑 함수를 적용하는 단계로서, 상기 매핑 함수는, 유사한 메시지를 유사한 특성값에 매핑하도록 조정되는, 단계;
상기 특성값을 복수의 메시지 추출기 각각과 관련된 값과 비교하는 단계;
상기 특성값이 상기 복수의 메시지 추출기와 관련된 임의의 값과 매칭되지 않는 것으로 결정하는 단계;
상기 복수의 메시지 추출기로부터 적어도 하나의 메시지 추출기를 식별하는 단계로서, 상기 식별하는 단계는, 상기 메시지 추출기와 관련된 상기 값 및 상기 수신된 메시지로부터의 상기 특성값이 비교될 때 유사성 기준을 충족시키는 것으로 결정하는, 단계; 및
상기 수신된 메시지로부터 정보를 추출하기 위해, 상기 식별된 적어도 하나의 메시지 추출기를 사용하는 단계를 포함하는, 컴퓨터 시스템에서의 방법.
2. 제1항에 있어서, 상기 식별된 적어도 하나의 메시지 추출기가 정보를 정확히 추출하는지를 확인하기 위해, 알려진 정보 필드 값과 비교하여 추출된 정보를 검사하는 단계를 더 포함하는, 방법.
3. 제1항에 있어서, 상기 유사성 기준은, 상기 특성값으로부터 임계치 거리 내에 있는 유사성 지수를 포함하는, 방법.
4. 제1항에 있어서, 상기 수신된 메시지는 이메일 메시지이며, 상기 요소는, XPath를 사용하여 추출된 상기 이메일 메시지로부터의 하이퍼텍스트 마크업 언어(HTML) 요소를 포함하는, 방법.
5. 제3항에 있어서, 상기 유사성 지수는, 고정된 길이 어레이로부터의 요소를 상기 복수의 메시지 추출기 각각과 관련된 고정된 길이 어레이와 상관시킴으로써 생성되는, 방법.
6. 제1항에 있어서, 상기 식별하는 단계는, 적어도 하나의 메시지 추출기를 식별하기 위해, 상기 수신된 메시지 내로부터의 정보를 사용하는 단계를 더 포함하는, 방법.
7. 제6항에 있어서, 상기 정보는, 상기 수신된 메시지 내의 판매자 이름, 발송자 주소, 제품명, 배송업체, 또는 식별자 형식 중 적어도 하나를 포함하는, 방법.
8. 제1항에 있어서, 상기 식별하는 단계는, 상기 적어도 하나의 메시지 추출기를 식별하기 위해, 특성값과 관련된 메시지의 양 증가 또는 감소를 추가로 사용하는, 방법.
9. 제1항에 있어서, 상기 사용하는 단계는,
상기 수신된 메시지로부터 추출된 정보에 대한 품질 스코어를 생성하는 단계; 및
상기 품질 스코어가 품질 임계치를 초과하는 경우, 정보를 추출하는 단계를 더 포함하는, 방법.
10. 제1항에 있어서, 상기 사용하는 단계는,
상기 수신된 메시지로부터 추출된 정보에 대한 품질 스코어를 생성하는 단계; 및
상기 수신된 메시지 내의 정보를 확인하기 위해, 상거래 플랫폼의 운영자 또는 수신 엔티티 중 하나에 상기 메시지를 조회하는 단계를 더 포함하는, 방법.
11. 컴퓨터 시스템으로서,
프로세서; 및
통신 서브 시스템을 포함하며,
상기 컴퓨터 시스템은, 특성값을 생성하기 위해, 상기 통신 서브 시스템을 통해 수신되는 수신된 메시지에 매핑 함수를 적용하도록 구성되고, 상기 매핑 함수는, 유사한 메시지를 유사한 특성값에 매핑하도록 조정되며;
상기 컴퓨터 시스템은, 상기 특성값을 복수의 메시지 추출기 각각과 관련된 값과 비교하도록 구성되고;
상기 컴퓨터 시스템은, 상기 특성값이 상기 복수의 메시지 추출기와 관련된 임의의 값과 매칭되지 않는 것으로 결정하도록 구성되며;
상기 컴퓨터 시스템은, 상기 복수의 메시지 추출기로부터 적어도 하나의 메시지 추출기를 식별하도록 구성되고, 상기 식별은, 상기 메시지 추출기와 관련된 상기 값 및 상기 수신된 메시지로부터의 상기 특성값이 비교될 때 유사성 기준을 충족시키는 것으로 결정하며;
상기 컴퓨터 시스템은, 상기 수신된 메시지로부터 정보를 추출하기 위해, 상기 식별된 적어도 하나의 메시지 추출기를 사용하도록 구성되는, 컴퓨터 시스템.
12. 제11항에 있어서, 상기 컴퓨터 시스템은, 상기 식별된 적어도 하나의 메시지 추출기가 정보를 정확히 추출하는지를 확인하기 위해, 알려진 정보 필드 값과 비교하여 추출된 정보를 검사하도록 추가로 구성되는, 컴퓨터 시스템.
13. 제11항에 있어서, 상기 유사성 기준은, 상기 특성값으로부터 임계치 거리 내에 있는 유사성 지수를 포함하는, 컴퓨터 시스템.
14. 제11항에 있어서, 상기 수신된 메시지는 이메일 메시지이며, 상기 요소는, XPath를 사용하여 추출된 상기 이메일 메시지로부터의 하이퍼텍스트 마크업 언어(HTML) 요소를 포함하는, 컴퓨터 시스템.
15. 제13항에 있어서, 상기 유사성 지수는, 고정된 길이 어레이로부터의 요소를 상기 복수의 메시지 추출기 각각과 관련된 고정된 길이 어레이와 상관시킴으로써 생성되는, 컴퓨터 시스템.
16. 제11항에 있어서, 상기 컴퓨터 시스템은, 적어도 하나의 메시지 추출기를 식별하기 위해, 상기 수신된 메시지 내로부터의 정보를 사용함으로써 식별하도록 추가로 구성되는, 컴퓨터 시스템.
17. 제16항에 있어서, 상기 정보는, 상기 수신된 메시지 내의 판매자 이름, 발송자 주소, 제품명, 배송업체, 또는 식별자 형식 중 적어도 하나를 포함하는, 컴퓨터 시스템.
18. 제11항에 있어서, 상기 컴퓨터 시스템은, 상기 적어도 하나의 메시지 추출기를 식별하기 위해, 특성값과 관련된 메시지의 양 증가 또는 감소를 사용함으로써 식별하도록 추가로 구성되는, 컴퓨터 시스템.
19. 제11항에 있어서, 상기 컴퓨터 시스템은,
상기 수신된 메시지로부터 추출된 정보에 대한 품질 스코어를 생성하는 단계; 및
상기 품질 스코어가 품질 임계치를 초과하는 경우, 정보를 추출하는 단계에 의해, 상기 식별된 적어도 하나의 메시지 추출기를 사용하도록 추가로 구성되는, 컴퓨터 시스템.
20. 제11항에 있어서, 상기 컴퓨터 시스템은,
상기 수신된 메시지로부터 추출된 정보에 대한 품질 스코어를 생성하는 단계; 및
상기 수신된 메시지 내의 정보를 확인하기 위해, 상거래 플랫폼의 운영자 또는 수신 엔티티 중 하나에 상기 메시지를 조회하는 단계에 의해, 상기 식별된 적어도 하나의 메시지 추출기를 사용하도록 추가로 구성되는, 컴퓨터 시스템.
21. 명령 코드를 저장하기 위한 비-일시적 컴퓨터 판독 가능 매체로서, 상기 명령 코드는, 컴퓨터 시스템의 프로세서에 의해 실행될 때, 상기 컴퓨터 시스템으로 하여금, 특성값을 생성하기 위해, 상기 통신 서브 시스템을 통해 수신되는 수신된 메시지에 매핑 함수를 적용하도록 하고, 상기 매핑 함수는, 유사한 메시지를 유사한 특성값에 매핑하도록 조정되며;
상기 명령 코드는, 컴퓨터 시스템의 프로세서에 의해 실행될 때, 상기 컴퓨터 시스템으로 하여금, 상기 특성값을 복수의 메시지 추출기 각각과 관련된 값과 비교하도록 하고;
상기 명령 코드는, 컴퓨터 시스템의 프로세서에 의해 실행될 때, 상기 컴퓨터 시스템으로 하여금, 상기 특성값이 상기 복수의 메시지 추출기와 관련된 임의의 값과 매칭되지 않는 것으로 결정하도록 하며;
상기 명령 코드는, 컴퓨터 시스템의 프로세서에 의해 실행될 때, 상기 컴퓨터 시스템으로 하여금, 상기 복수의 메시지 추출기로부터 적어도 하나의 메시지 추출기를 식별하도록 하고, 상기 식별은, 상기 메시지 추출기와 관련된 상기 값 및 상기 수신된 메시지로부터의 상기 특성값이 비교될 때 유사성 기준을 충족시키는 것으로 결정하며;
상기 명령 코드는, 컴퓨터 시스템의 프로세서에 의해 실행될 때, 상기 컴퓨터 시스템으로 하여금, 상기 수신된 메시지로부터 정보를 추출하기 위해, 상기 식별된 적어도 하나의 메시지 추출기를 사용하도록 하는, 명령 코드를 저장하기 위한 비-일시적 컴퓨터 판독 가능 매체.

Claims (13)

  1. 컴퓨터 시스템에서의 방법으로서,
    특성값을 생성하기 위해, 수신된 메시지에 매핑 함수를 적용하는 단계로서, 상기 매핑 함수는, 유사한 메시지를 유사한 특성값에 매핑하도록 조정되는, 단계;
    상기 특성값을 복수의 메시지 추출기 각각과 관련된 값과 비교하는 단계;
    상기 특성값이 상기 복수의 메시지 추출기와 관련된 임의의 값과 매칭되지 않는 것으로 결정하는 단계;
    상기 복수의 메시지 추출기로부터 적어도 하나의 메시지 추출기를 식별하는 단계로서, 상기 식별하는 단계는, 상기 메시지 추출기와 관련된 상기 값 및 상기 수신된 메시지로부터의 상기 특성값이 비교될 때 유사성 기준을 충족시키는 것으로 결정하는, 단계; 및
    상기 수신된 메시지로부터 정보를 추출하기 위해, 상기 식별된 적어도 하나의 메시지 추출기를 사용하는 단계를 포함하는,
    컴퓨터 시스템에서의 방법.
  2. 제1항에 있어서,
    상기 식별된 적어도 하나의 메시지 추출기가 정보를 정확히 추출하는지를 확인하기 위해, 알려진 정보 필드 값과 비교하여 추출된 정보를 검사하는 단계를 더 포함하는, 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 유사성 기준은, 상기 특성값으로부터 임계치 거리 내에 있는 유사성 지수를 포함하는, 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 수신된 메시지는 이메일 메시지이며,
    상기 요소는, XPath를 사용하여 추출된 상기 이메일 메시지로부터의 하이퍼텍스트 마크업 언어(HTML) 요소를 포함하는, 방법.
  5. 제3항에 있어서,
    상기 유사성 지수는, 고정된 길이 어레이로부터의 요소를 상기 복수의 메시지 추출기 각각과 관련된 고정된 길이 어레이와 상관시킴으로써 생성되는, 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 식별하는 단계는, 적어도 하나의 메시지 추출기를 식별하기 위해, 상기 수신된 메시지 내로부터의 정보를 사용하는 단계를 더 포함하는, 방법.
  7. 제6항에 있어서,
    상기 정보는, 상기 수신된 메시지 내의 판매자 이름, 발송자 주소, 제품명, 배송업체, 또는 식별자 형식 중 적어도 하나를 포함하는, 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 식별하는 단계는, 상기 적어도 하나의 메시지 추출기를 식별하기 위해, 특성값과 관련된 메시지의 양 증가 또는 감소를 추가로 사용하는, 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 사용하는 단계는,
    상기 수신된 메시지로부터 추출된 정보에 대한 품질 스코어를 생성하는 단계; 및
    상기 품질 스코어가 품질 임계치를 초과하는 경우, 정보를 추출하는 단계를 더 포함하는, 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 사용하는 단계는,
    상기 수신된 메시지로부터 추출된 정보에 대한 품질 스코어를 생성하는 단계; 및
    상기 수신된 메시지 내의 정보를 확인하기 위해, 상거래 플랫폼의 운영자 또는 수신 엔티티 중 하나에 상기 메시지를 조회하는 단계를 더 포함하는, 방법.
  11. 컴퓨터 시스템으로서,
    프로세서; 및
    통신 서브 시스템을 포함하며,
    상기 컴퓨터 시스템은, 제1항 내지 제10항 중 어느 한 항에 따른 방법을 수행하도록 구성되는,
    컴퓨터 시스템.
  12. 명령을 포함하는 컴퓨터 프로그램으로서,
    상기 명령은, 프로세서에 의해 실행될 때, 상기 프로세서로 하여금, 제1항 내지 제10항 중 어느 한 항에 따른 방법을 수행하도록 하는,
    명령을 포함하는 컴퓨터 프로그램.
  13. 명령 코드를 저장하기 위한 비-일시적 컴퓨터 판독 가능 매체로서,
    상기 명령 코드는, 컴퓨터 시스템의 프로세서에 의해 실행될 때, 상기 컴퓨터 시스템으로 하여금, 제1항 내지 제10항 중 어느 한 항에 따른 방법을 수행하도록 하는,
    명령 코드를 저장하기 위한 비-일시적 컴퓨터 판독 가능 매체.
KR1020220089036A 2021-07-30 2022-07-19 템플릿 변경을 처리하기 위한 메시지 매핑을 위한 방법 및 시스템 KR20230019025A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US17/390,162 2021-07-30
US17/390,162 US11810052B2 (en) 2021-07-30 2021-07-30 Method and system for message mapping to handle template changes
EP22173112.8 2022-05-12
EP22173112.8A EP4125017A1 (en) 2021-07-30 2022-05-12 Method and system for message mapping to handle template changes

Publications (1)

Publication Number Publication Date
KR20230019025A true KR20230019025A (ko) 2023-02-07

Family

ID=81648388

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220089036A KR20230019025A (ko) 2021-07-30 2022-07-19 템플릿 변경을 처리하기 위한 메시지 매핑을 위한 방법 및 시스템

Country Status (5)

Country Link
US (1) US11810052B2 (ko)
EP (1) EP4125017A1 (ko)
KR (1) KR20230019025A (ko)
CN (1) CN115705560A (ko)
CA (1) CA3159641A1 (ko)

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE9602594D0 (sv) 1996-07-01 1996-07-01 Stefan Nilsson Förfarande och anordning vid datortomografi
US6792535B1 (en) 1999-04-06 2004-09-14 Kwan Software Engineering, Inc. System and method for digitally marking a file with a removable mark
US20050165648A1 (en) 2004-01-23 2005-07-28 Razumov Sergey N. Automatic call center for product ordering in retail system
US9002832B1 (en) 2012-06-04 2015-04-07 Google Inc. Classifying sites as low quality sites
US20140157440A1 (en) 2012-11-30 2014-06-05 Nikolay Georgiev Methods, apparatus, and articles of manufacture to encode auxiliary data into numeric data and methods, apparatus, and articles of manufacture to obtain encoded data from numeric data
US9652530B1 (en) * 2014-08-27 2017-05-16 Google Inc. Generating and applying event data extraction templates
US9563689B1 (en) * 2014-08-27 2017-02-07 Google Inc. Generating and applying data extraction templates
US9785705B1 (en) 2014-10-16 2017-10-10 Google Inc. Generating and applying data extraction templates
US10057741B2 (en) 2014-11-13 2018-08-21 Branch Metrics, Inc. Contextual deep linking of applications
US10049098B2 (en) * 2016-07-20 2018-08-14 Microsoft Technology Licensing, Llc. Extracting actionable information from emails
US11921687B2 (en) 2019-06-10 2024-03-05 Oracle International Corporation Similarity analysis using enhanced MinHash
US20210360001A1 (en) 2020-05-15 2021-11-18 Ebay Inc. Cluster-based near-duplicate document detection

Also Published As

Publication number Publication date
US20230030234A1 (en) 2023-02-02
EP4125017A1 (en) 2023-02-01
US11810052B2 (en) 2023-11-07
CA3159641A1 (en) 2023-01-30
CN115705560A (zh) 2023-02-17

Similar Documents

Publication Publication Date Title
CN112118116B (zh) 基于电子商务平台中的设置来推荐商家讨论组的系统和方法
US20210012281A1 (en) System and method for managing inventory through return labels
US20210012280A1 (en) System and method for processing returned items based on related inventory information
US20210312531A1 (en) Systems and methods for displaying global product data
US20200402118A1 (en) Systems and methods for recommending merchant discussion groups based on merchant categories
US20220374591A1 (en) Systems and methods for dynamically rendering content based on a template
US20220036376A1 (en) Methods and systems for suggesting alternative phrases for text-based web content
US20230139339A1 (en) Method and system for adaptive product categorization
KR20230034143A (ko) 결제 옵션의 지연 로딩을 통한 전자 상거래 결제를 위한 시스템 및 방법
EP3945484A1 (en) Systems and methods for obtaining information from a digital message
US11810052B2 (en) Method and system for message mapping to handle template changes
US20230351334A1 (en) Method and system for message respeciation
US11562043B1 (en) System and method for rendering webpage code to dynamically disable an element of template code
US20230410031A1 (en) Method and system for taking action based on product reviews
US20240020622A1 (en) Methods and systems for linking accounts across disparate computing systems to facilitate information retrieval
US11615424B2 (en) Systems and methods for dynamically conducting messaging campaigns responsive to customer events
US11809904B2 (en) System and method for executing multiple scripts at a single extension point
US20230031992A1 (en) Systems and methods for automatic printing of shipping labels for orders bypassing stowage in a warehouse
US11775599B2 (en) System and method for displaying customized search results based on past behaviour
US20220398646A1 (en) Systems and methods for obscuring content in electronic messages
US20230196270A1 (en) Methods and systems for improved address entry interface
US20240062142A1 (en) Systems and methods for computer memory optimization for the storage of delivery time information for a product sold online
US20230179676A1 (en) Method and system for actionable push notifications
US20240070761A1 (en) Live view of a website such as an e-commerce store
US20240095810A1 (en) Systems and methods for preventing malicious modifications to order information sent over a network

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal