KR20220015322A - 디지털 메시지로부터 정보를 획득하는 시스템 및 방법 - Google Patents
디지털 메시지로부터 정보를 획득하는 시스템 및 방법 Download PDFInfo
- Publication number
- KR20220015322A KR20220015322A KR1020210092282A KR20210092282A KR20220015322A KR 20220015322 A KR20220015322 A KR 20220015322A KR 1020210092282 A KR1020210092282 A KR 1020210092282A KR 20210092282 A KR20210092282 A KR 20210092282A KR 20220015322 A KR20220015322 A KR 20220015322A
- Authority
- KR
- South Korea
- Prior art keywords
- url
- shipping
- message
- tracking
- shipment
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 140
- 238000010801 machine learning Methods 0.000 claims description 141
- 238000012384 transportation and delivery Methods 0.000 claims description 59
- 238000004590 computer program Methods 0.000 claims description 3
- 239000000047 product Substances 0.000 description 115
- 230000000875 corresponding effect Effects 0.000 description 51
- 238000004458 analytical method Methods 0.000 description 48
- 238000007726 management method Methods 0.000 description 39
- 230000008569 process Effects 0.000 description 19
- 238000012549 training Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 17
- 230000008859 change Effects 0.000 description 14
- 230000000694 effects Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 238000003860 storage Methods 0.000 description 10
- 238000011161 development Methods 0.000 description 9
- 239000008186 active pharmaceutical agent Substances 0.000 description 8
- 230000008901 benefit Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 239000012634 fragment Substances 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000012552 review Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000007621 cluster analysis Methods 0.000 description 3
- 238000002955 isolation Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 230000002354 daily effect Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000001976 improved effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 235000014347 soups Nutrition 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 230000029305 taxis Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 210000001072 colon Anatomy 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012015 optical character recognition Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 238000012502 risk assessment Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 230000008093 supporting effect Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/107—Computer-aided management of electronic mailing [e-mailing]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
- G06Q10/0833—Tracking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
- G06Q10/0838—Historical data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G06Q50/30—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/50—Business processes related to the communications industry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 개시는, 부분적으로, 메시지 내의 URL(uniform resource locator)을 사용하여 정보를 획득하기 위한 시스템 및 방법에 관한 것이다. 확률론적 방법을 사용하여 URL로부터 정보가 획득될 수 있으며, 이는 결정론적 방법보다 나은 결과를 달성할 수 있다. 게다가, URL로부터 획득되는 정보가 URL과 연관된 웹 리소스로부터 획득된 정보를 사용하여 보완 및/또는 확인될 수 있다. 일 실시예에 따르면, 웹 리소스에 대한 URL은 메시지에 대응하는 디지털 콘텐츠로부터 획득된다. 이어서 URL 및 웹 리소스에 기초하여 배송 정보가 획득될 수 있다. 배송 정보는 웹 리소스가 배송을 추적하기 위한 것이라는 표시, 배송에 대한 추적 번호, 및 배송에 대한 배송 제공업체 중 적어도 하나를 포함할 수 있다. 이어서 배송 정보는 나중에 배송에 대한 추적 업데이트를 획득하기 위해 저장될 수 있다.
Description
본 출원은 디지털 메시지로부터 정보를 획득하는 것에 관한 것이고, 특정 실시예에서, 디지털 메시지로부터 배송 정보를 획득하는 것에 관한 것이다.
고객이 온라인 상점을 통해 제품을 주문할 때, 고객은 제품의 배송을 추적하기 위한 배송 정보를 제공하는 이메일 또는 다른 메시지를 수신할 수 있다. 이 배송 정보는 배송을 용이하게 하는 배송 제공업체, 배송에 대한 추적 번호, 및 배송을 추적하기 위한 웹 페이지 또는 다른 웹 리소스에 대응하는 URL(uniform resource locator)을 포함할 수 있다. 웹 리소스를 사용하여, 고객은 배송의 상태 및/또는 배송에 대한 예상 배달 날짜를 볼 수 있다. 웹 리소스는 또한 배송 제공업체 및/또는 배송에 대한 추적 번호를 포함할 수 있다.
일부 경우에서, 배송 정보를 제공하는 메시지가 고객의 받은 편지함에 묻히게 될 수 있어, 고객이 나중에 메시지를 찾아내어 배송 정보를 획득하는 것을 어렵게 만들 수 있다. 온라인으로 제품을 빈번히 주문하고 임의의 주어진 시간에 다수의 보류 중인 제품 배송을 가질 수 있는 고객에게는 이 문제가 더 심해질 수 있다. 이러한 배송 각각에 대한 추적 정보는 종종 상이한 메시지에서 제공될 것인데, 이러한 메시지를 정리하는 것이 어렵고 시간이 오래 걸릴 수 있다. 이에 따라, 고객이 일부 제품에 대한 배송 정보를 찾아내는 데 어려움을 겪을 수 있고 심지어 해당 제품을 추적하지 못할 수 있다. 추가적으로 또는 대안적으로, 주어진 배송에 대한 추적 정보를 제공하는 메시지가 고객에게 가장 익숙하지 않을 수 있고 추적 정보의 식별, 찾아내기 및/또는 이해를 방해할 수 있는 언어로 작성될 수 있다.
본 개시의 일부 실시예는, 이메일 메시지, 텍스트 메시지 등을 포함한, 사용자의 디지털 메시지로부터 배송 정보를 자동으로 추출하기 위한 컴퓨터 구현 시스템 및 방법을 제공한다. 배송 정보는 이어서 사용자에 대한 배송 정보의 통합 목록에 추가될 수 있는데, 이는 사용자가 메시지 및/또는 배송 정보를 수동으로 정리하고 추적하는 것을 피할 수 있게 한다. 달리 말하면, 일단 추출되면, 배송 정보 등이, 예를 들어, 정의된 및/또는 일관된 형식으로와 같이, 사용자에게 제시될 수 있고/있거나 그러한 제시를 제공하는 데 이용될 수 있다. 편리하게도, 이러한 방식으로, 고객/사용자는, 예를 들어, 일련의 메시지(예를 들면, 사용자의 하나 이상의 받은 편지함에 있는 메시지)에 기초하여 배송 정보가 식별된 모든 미처리된(예를 들면, 아직 배달되지 않은) 배송 전부의 집계된 요약 목록과 같은, 다양한 배송에 관한 정보를 한 눈에 볼 수 있게 제시받을 수 있다. 추가적으로 또는 대안적으로, 그러한 배송 정보는, 예를 들어, 잠재적으로 미처리된 배송의 일부 또는 전부에 대해, 사용자의 다양한 배송에 관한 업데이트를 사용자에게 제공하는 것과 같은 다른 목적으로 이용될 수 있다. 예를 들어, 그러한 업데이트는 정의된 및/또는 일관된 형식으로 사용자에게 함께 제시될 수 있다. 특정 예에서, 그러한 업데이트는 다양한 배송에 대한 추적 정보/업데이트를 나열하거나 다른 방식으로 그에 대한 액세스를 제공할 수 있는 것과 같은 적합한 집계된 요약을 통해 제시될 수 있다.
예를 들어, 이메일 메시지와 같은 메시지에 기초한 배송 정보의 식별은 다양한 이유로 쉬운 일이 아닐 수 있다. 첫째, 배송 정보를 제공하는 메시지가 다양한 형식으로 되어 있을 수 있다. 예를 들어, 특정 판매자/배송업체/운송사로부터의 보류 중인 배송에 관한 정보를 제공하는 메시지는 (예를 들면, 메시지의 콘텐츠 및/또는 메시지 내에서의 콘텐츠의 레이아웃/배열 면에서) 제1 형식으로 되어 있을 수 있는 반면, 다른 판매자/배송업체/운송사는 상이한 형식을 이용할 수 있다. 게다가, 그러한 형식이 동일한 판매자/배송업체/운송사에 대해서도 수시로 변경되거나 다양한 요인에 따라 달라질 수 있다. 추가적으로, 일부 경우에서, 배송의 표시를 제공하는 메시지가 메시지에 직접 배송 정보를 포함하지 않을 수 있고 오히려 주어진 배송에 관한 정보가 획득될 수 있는 웹 페이지 또는 다른 웹 리소스에 액세스하는 데 사용될 수 있는 하나 이상의 URL을 포함할 수 있다. 예를 들어, 그러한 정보는 추적 정보, 추적 번호 등을 포함할 수 있다. 이러한 URL의 형식 및 이에 대응하는 웹 페이지가, 메시지의 형식에 대해 위에서 논의된 것과 유사하게, 판매자/배송업체/운송사마다 다를 수 있다. 게다가, URL의 형식 및/또는 이에 대응하는 웹 페이지의 콘텐츠/레이아웃/형식이 판매자/배송업체/운송사마다 다를 수 있을 뿐만 아니라, 일부 경우에서, 이들이 또한 주어진 판매자/배송업체/운송사에 대해 수시로 및/또는 다양한 다른 요인에 기초하여 다르거나 변경될 수 있다.
본 출원은 메시지에 기초하여 배송 정보를 획득 및 추출하는 다양한 방식을 기술한다. 예를 들어, 배송 정보는, 예를 들어, 사용자의 이메일 받은 편지함 및/또는 사용자의 텍스트 메시지(SMS) 받은 편지함과 같은, 사용자의 받은 편지함(들)에 도착하는 메시지에 기초하여 획득될 수 있다. 일부 실시예에서, 배송 정보는 a) 메시지로부터 URL을 추출하는 것, b) 배송 정보를 결정 및/또는 확인하기 위해 URL을 분석하는 것, 및 c) 배송 정보를 결정 및/또는 확인하기 위해 URL에 대응하는 웹 리소스를 분석하는 것에 의해 메시지로부터 획득된다. URL 및/또는 웹 리소스로부터 배송 정보를 결정하는 확률론적 방법이 제공된다. 결정론적 방법과 비교할 때, 예를 들어, 이러한 확률론적 방법은 제품의 배송에 이용될 수 있는 수많은 배송 제공업체, 주문 처리 네트워크(fulfillment network), 우편 서비스 제공업체 및 라스트 마일 배달 서비스를 처리하는 데 더 적합할 수 있다. 따라서, 확률론적 방법은 메시지로부터 배송 정보를 결정하는 보다 신뢰할 수 있는 방식을 제공할 수 있다.
본 개시의 일 양태에 따르면, 컴퓨터 구현 방법이 제공된다. 이 방법은 고객에 대한 복수의 메시지를 식별하는 단계 및, 복수의 메시지로부터, 적어도 하나의 배송에 대한 배송 정보를 추출하는 단계를 포함한다. 추출하는 단계는 복수의 메시지 중 주어진 메시지에 대응하는 디지털 콘텐츠를 획득하는 단계 및 디지털 콘텐츠로부터 웹 리소스에 대한 URL을 획득하는 단계를 포함한다. 이 방법은 또한, URL 및 웹 리소스에 기초하여, 배송에 대한 배송 정보를 결정하는 단계를 포함한다. 배송 정보는 웹 리소스가 배송을 추적하기 위한 것이라는 표시, 배송에 대한 추적 번호, 및 배송에 대한 배송 제공업체 중 적어도 하나를 포함한다. 이 방법은 배송에 대한 추적 업데이트를 획득하기 위한 배송 정보를, 메모리에, 저장하는 단계를 더 포함한다.
배송 정보는 적어도 하나의 배송에 대한 추적 업데이트를 획득하는 데 사용될 수 있다. 추적 업데이트는 고객에 대한 제품 배송의 집계된 요약을 제시하는 데 사용하기 위해 제공될 수 있다.
배송 정보는 다수의 상이한 방식들 중 임의의 것으로 URL 및 웹 리소스로부터 결정될 수 있다. 일부 실시예에서, 배송 정보를 결정하는 단계는 URL을 파싱하는 것에 의해 추적 번호 및 배송 제공업체를 결정하는 단계, 및 웹 리소스를 파싱하는 것에 의해 추적 번호 및 배송 제공업체를 확인하는 단계를 포함한다. 일부 실시예에서, 배송 정보를 결정하는 단계는 URL을 파싱하는 것에 의해 추적 번호 및 배송 제공업체 중 하나를 결정하는 단계, 및 웹 리소스를 파싱하는 것에 의해 추적 번호 및 배송 제공업체 중 다른 하나를 결정하는 단계를 포함한다. 일부 실시예에서, 배송 정보를 결정하는 단계는 웹 리소스를 파싱하는 것에 의해 추적 번호 및 배송 제공업체를 결정하는 단계를 포함한다.
배송 정보를 결정하는 데 도움을 주기 위해 머신 러닝(ML) 모델이 구현될 수 있다. 이러한 ML 모델 중 임의의 것, 하나, 일부 또는 전부는 다중 작업 학습(multi-task learning, MTL) 모델일 수 있다. 일부 실시예에서, 배송 정보를 결정하는 단계는 URL을 ML 모델에 입력하는 단계, 및, ML 모델의 출력에 기초하여, URL로부터 추적 번호에 대응하는 텍스트 문자열을 획득하는 단계를 포함한다. 배송 정보를 결정하는 단계는 예측을 획득하는 단계 - 예측은 URL에서의 추적 번호의 시작에 대응하는 제1 인덱스 및 URL에서의 추적 번호의 끝에 대응하는 제2 인덱스를 포함함 -, 및 제1 인덱스 및 제2 인덱스를 ML 모델에 입력하는 단계를 더 포함할 수 있다.
일부 실시예에서, 배송 정보를 결정하는 단계는 URL을 ML 모델에 입력하는 단계, 및, ML 모델의 출력으로부터, 미리 정의된 배송 제공업체들의 세트 중에서 선택되는 배송 제공업체에 대응하는 텍스트 문자열을 획득하는 단계를 포함한다.
일부 실시예에서, 메시지의 디지털 콘텐츠로부터 다수의 URL이 획득될 수 있다. 예를 들어, 이 방법은, 디지털 콘텐츠로부터, 제2 웹 리소스에 대한 제2 URL을 획득하는 단계를 더 포함할 수 있다. 이 방법은 또한, 제2 URL 및 제2 웹 리소스에 기초하여, 제2 웹 리소스가 배송, 배송에 대한 제2 추적 번호, 및 배송에 대한 제2 배송 제공업체를 추적하기 위한 것이라고 결정하는 단계를 포함할 수 있다. 제1 URL과 제2 URL이 동일한 배송에 관련될 수 있다. 따라서, 이 방법은 제1 추적 번호가 제2 추적 번호와 매칭하고 제1 배송 제공업체가 제2 배송 제공업체와 매칭한다고 결정하는 단계를 더 포함할 수 있다.
일부 실시예에서, 이 방법은, 디지털 콘텐츠에 기초하여, 메시지가 배송을 추적하는 것에 관련되어 있다고 결정하는 단계를 더 포함한다. 이 단계는 디지털 콘텐츠를 ML 모델에 입력하는 단계; ML 모델의 출력으로부터, 미리 정의된 메시지 카테고리들의 세트 중에서 선택되는 메시지에 대한 메시지 카테고리를 획득하는 단계; 및 메시지 카테고리가 배송 추적에 관련되어 있다고 결정하는 단계를 포함할 수 있다. 이 단계는 또한 또는 그 대신에 URL을 ML 모델에 입력하는 단계; ML 모델의 출력으로부터, 미리 정의된 URL 카테고리들의 세트 중에서 선택되는 URL에 대한 URL 카테고리를 획득하는 단계; 및 URL 카테고리가 배송 추적에 관련되어 있다고 결정하는 단계를 포함할 수 있다.
일부 실시예에서, 메시지는 특정 사용자에 대응한다. 이 방법은 특정 사용자와 연관된 복수의 배송에 대한 배송 정보 기록에 배송 정보를 저장하는 단계를 포함할 수 있다. 이 기록은 사용자가 볼 수 있다. 이에 따라, 이 방법은 특정 사용자와 연관된 디바이스 상에 디스플레이하기 위해 배송 정보 기록의 적어도 일 부분을 출력하는 단계를 더 포함할 수 있다.
본 개시의 다른 양태에 따르면, 배송 정보를 저장하기 위한 메모리, 및 본 명세서에서 개시된 바와 같은 임의의 방법을 수행하기 위한 하나 이상의 프로세서를 포함하는 시스템이 제공된다.
본 개시의 추가 양태에 따르면, 컴퓨터 시스템의 프로세서에 의해 실행될 때, 컴퓨터 시스템으로 하여금 본 명세서에서 개시된 임의의 방법을 수행하게 하는 명령어를 저장하는 컴퓨터 판독 가능 매체가 제공된다.
본 개시의 추가 양태에 따르면, 컴퓨터의 프로세서 상에서 실행될 때, 본 명세서에서 개시된 임의의 방법을 수행하도록 구성된 컴퓨터 프로그램이 제공된다.
그에 따라, 이하의 청구항에 상세히 기술된 바와 같은 방법, 시스템 및 컴퓨터 프로그램이 제공된다.
실시예가 첨부 도면을 참조하여 단지 예로서 기술될 것이다.
도 1은 일 실시예에 따른, 전자 상거래 플랫폼의 블록 다이어그램이다;
도 2는 일 실시예에 따른, 관리자의 홈 페이지의 예이다;
도 3은 메시지 분석 엔진을 포함하는 도 1의 전자 상거래 플랫폼을 예시한다;
도 4는 일 실시예에 따른, 디지털 메시지로부터 정보를 획득하기 위한 시스템을 예시하는 블록 다이어그램이다;
도 5는 일 실시예에 따른, 배송 정보를 획득하기 위해 메시지를 분석하기 위한 방법을 예시하는 흐름 다이어그램이다;
도 6은 일 실시예에 따른, 배송을 추적하는 것에 관련된 이메일 메시지를 예시한다;
도 7은 도 6의 이메일 메시지에서의 추적 URL에 대응하는 웹 페이지를 예시한다;
도 8은 다른 실시예에 따른, 배송을 추적하는 것에 관련된 이메일 메시지를 예시한다;
도 9는 도 8의 이메일 메시지에서의 추적 URL에 대응하는 웹 페이지를 예시한다;
도 10은 일 실시예에 따른, 배송 정보의 통합 기록을 예시한다.
도 1은 일 실시예에 따른, 전자 상거래 플랫폼의 블록 다이어그램이다;
도 2는 일 실시예에 따른, 관리자의 홈 페이지의 예이다;
도 3은 메시지 분석 엔진을 포함하는 도 1의 전자 상거래 플랫폼을 예시한다;
도 4는 일 실시예에 따른, 디지털 메시지로부터 정보를 획득하기 위한 시스템을 예시하는 블록 다이어그램이다;
도 5는 일 실시예에 따른, 배송 정보를 획득하기 위해 메시지를 분석하기 위한 방법을 예시하는 흐름 다이어그램이다;
도 6은 일 실시예에 따른, 배송을 추적하는 것에 관련된 이메일 메시지를 예시한다;
도 7은 도 6의 이메일 메시지에서의 추적 URL에 대응하는 웹 페이지를 예시한다;
도 8은 다른 실시예에 따른, 배송을 추적하는 것에 관련된 이메일 메시지를 예시한다;
도 9는 도 8의 이메일 메시지에서의 추적 URL에 대응하는 웹 페이지를 예시한다;
도 10은 일 실시예에 따른, 배송 정보의 통합 기록을 예시한다.
예시 목적으로, 특정 예시적인 실시예가 이제부터 도면과 관련하여 아래에서 더 상세히 설명될 것이다.
예시적인 전자 상거래 플랫폼
일부 실시예에서, 본 명세서에서 개시된 방법은, 본 명세서에서 전자 상거래 플랫폼이라고 지칭될, 상거래 플랫폼 상에서 또는 이와 관련하여 수행될 수 있다. 따라서, 전자 상거래 플랫폼의 예가 기술될 것이다.
도 1은 일 실시예에 따른, 전자 상거래 플랫폼(100)을 예시한다. 전자 상거래 플랫폼(100)은 판매자 제품 및 서비스를 고객에게 제공하기 위해 사용될 수 있다. 본 개시는 제품 및 서비스를 구매하기 위해 장치, 시스템 및 프로세스를 사용하는 것을 고려하지만, 간략함을 위해 본 명세서에서의 설명은 제품을 언급할 것이다. 본 명세서 전반에 걸친 제품에 대한 모든 언급이 또한, 물리적 제품, 디지털 콘텐츠, 티켓, 가입, 제공될 서비스 등을 포함한, 제품 및/또는 서비스에 대한 언급인 것으로 이해되어야 한다.
본 개시가 전반에 걸쳐 '판매자' 및 '고객'이 개인 이상일 수 있음을 고려하지만, 단순함을 위해, 본 명세서에서의 설명은 일반적으로 그 자체로서 판매자 및 고객을 지칭할 수 있다. 본 개시 전반에 걸친 판매자 및 고객에 대한 모든 언급은 또한 개인, 회사, 기업, 컴퓨팅 엔티티 등의 그룹에 대한 언급인 것으로 이해되어야 하며, 제품의 영리 목적 또는 비영리 목적의 교환을 나타낼 수 있다. 게다가, 본 개시가 전반에 걸쳐 '판매자' 및 '고객'을 언급하고 그 자체로서 이들의 역할을 기술하지만, 전자 상거래 플랫폼(100)은 전자 상거래 환경에서의 사용자를 보다 일반적으로 지원하는 것으로 이해되어야 하고, 본 명세서 전반에 걸친 판매자 및 고객에 대한 모든 언급이 또한 사용자에 대한 언급인 것으로 이해되어야 하며, 예컨대, 여기서 사용자는 판매자 사용자(예를 들면, 제품의 매도자, 소매업체, 도매업체 또는 제공업체), 고객 사용자(예를 들면, 제품의 구매자, 구매 에이전트 또는 사용자), 잠재 사용자(예를 들면, 브라우징하지만 아직 구매를 약정하지 않은 사용자, 제품의 마케팅 및 판매 등에서의 잠재적인 사용을 위해 전자 상거래 플랫폼(100)을 평가하는 사용자), 서비스 제공업체 사용자(예를 들면, 배송 제공업체(112), 금융 제공업체 등), 회사 또는 기업 사용자(예를 들면, 제품의 구매, 판매 또는 사용을 위한 회사 대표; 기업 사용자; 고객 관계 또는 고객 관리 에이전트 등), 정보 기술 사용자, 컴퓨팅 엔티티 사용자(예를 들면, 제품의 구매, 판매 또는 사용을 위한 컴퓨팅 봇(computing bot)) 등이다.
전자 상거래 플랫폼(100)은 판매자에게 그의 사업을 관리하기 위한 온라인 리소스 및 시설을 제공하기 위한 중앙 집중식 시스템을 제공할 수 있다. 본 명세서에서 기술된 시설은 플랫폼(100)의 일부일 수 있거나 또는 그 외부에 있을 수 있는 하나 이상의 프로세서 상에서 컴퓨터 소프트웨어, 모듈, 프로그램 코드 및/또는 명령어를 실행하는 머신을 통해 부분적으로 또는 전체적으로 배포될 수 있다. 판매자는, 예컨대, 온라인 상점(138)을 통해, 채널(110A 및 110B)을 통해, 물리적 위치(예를 들면, 키오스크, 단말기, 리더기(reader), 프린터, 3D 프린터 등을 통하는 것과 같이, 실제 점포 또는 다른 위치)에 있는 POS 디바이스(152)를 통해 고객과의 전자 상거래 경험을 구현하는 것, 전자 상거래 플랫폼(100)을 통해 그들의 비즈니스를 관리하는 것에 의해, 그리고 전자 상거래 플랫폼(100)의 통신 시설(129)을 통해 고객과 상호 작용하는 것에 의해 또는 이들의 임의의 조합으로, 고객과의 상거래를 관리하기 위해 전자 상거래 플랫폼(100)을 활용할 수 있다. 판매자는 고객과의 단독 상거래 존재(commerce presence)로서 또는, 실제 상점(예를 들면, '오프라인' 소매점), 판매자 오프-플랫폼 웹 사이트(104)(예를 들면, 전자 상거래 플랫폼과는 별도로 판매자에 의해 또는 판매자를 위해 지원되는 상거래 인터넷 웹 사이트 또는 다른 인터넷 또는 웹 재산 또는 자산) 등을 통하는 것과 같이, 다른 판매자 상거래 시설과 함께 전자 상거래 플랫폼(100)을 활용할 수 있다. 그렇지만, 판매자의 실제 상점에 있는 POS 디바이스(152)가 전자 상거래 플랫폼(100)에 링크되는 경우, 판매자 오프-플랫폼 웹 사이트가, 예컨대, 판매자 오프-플랫폼 웹 사이트(104)로부터의 콘텐츠를 온라인 상점(138)에 링크시키는 '구매 버튼'을 통해, 전자 상거래 플랫폼(100)에 연계되는 경우 등과 같이, 이러한 '다른' 판매자 상거래 시설조차도 전자 상거래 플랫폼에 통합될 수 있다.
온라인 상점(138)은 복수의 가상 점포를 포함하는 멀티테넌트 시설을 나타낼 수 있다. 실시예에서, 판매자는, 예컨대, 판매자 디바이스(102)(예를 들면, 컴퓨터, 랩톱 컴퓨터, 모바일 컴퓨팅 디바이스 등)를 통해 온라인 상점(138)에 있는 하나 이상의 점포를 관리할 수 있고, 다수의 상이한 채널(110A 및 110B)(예를 들면, 온라인 상점(138), POS 디바이스(152)를 통한 실제 점포; 웹 사이트 또는 소셜 네트워크, 소셜 미디어 페이지, 소셜 미디어 메시징 시스템에서와 같은 소셜 미디어 채널에 통합된 전자 구매 버튼을 통한 전자 시장(electronic marketplace) 등)을 통해 고객에게 제품을 제공할 수 있다. 판매자는 채널(110A 및 110B)을 통해 판매하고 이어서 전자 상거래 플랫폼(100)을 통해 그의 판매를 관리할 수 있으며, 여기서 채널(110A)은 전자 상거래 플랫폼(100) 내부에 또는 전자 상거래 채널(110B) 외부로부터 제공될 수 있다. 판매자는 그의 실제 소매점에서, 팝업 매장(pop up)에서, 도매를 통해, 전화 등을 통해 판매하고, 이어서 전자 상거래 플랫폼(100)을 통해 그의 판매를 관리할 수 있다. 판매자는, POS 디바이스(152)를 활용하는 실제 점포를 통해 비즈니스를 유지하는 것, 온라인 상점(138)을 통해 가상 점포를 유지하는 것, 및 고객 상호 작용 및 분석(132)을 활용하여 판매 확률을 개선시키기 위해 통신 시설(129)을 활용하는 것의 전부 또는 이들의 임의의 조합을 이용할 수 있다. 본 개시 전반에 걸쳐, 용어 온라인 상점(138) 및 점포는 전자 상거래 플랫폼(100)을 통한 판매자의 온라인 전자 상거래 제공 존재(online e-commerce offering presence)를 지칭하기 위해 동의어로 사용될 수 있으며, 여기서 온라인 상점(138)은 (예를 들면, 복수의 판매자를 위한) 전자 상거래 플랫폼(100)에 의해 지원되는 멀티테넌트 점포 집합체(multitenant collection of storefronts) 또는 개별 판매자의 점포(예를 들면, 판매자의 온라인 상점)를 지칭할 수 있다.
일부 실시예에서, 고객은 고객 디바이스(150)(예를 들면, 컴퓨터, 랩톱 컴퓨터, 모바일 컴퓨팅 디바이스 등), POS 디바이스(152)(예를 들면, 소매 디바이스, 키오스크, 자동화된 계산대(checkout) 시스템 등), 또는 본 기술 분야에서 알려진 임의의 다른 상거래 인터페이스 디바이스를 통해 상호 작용할 수 있다. 전자 상거래 플랫폼(100)은 판매자가 온라인 상점(138)을 통해, 물리적 위치(예를 들면, 판매자의 점포 또는 다른 곳)에 있는 POS 디바이스(152)을 통해 고객에 도달하는 것, 전자 통신 시설(129)을 통한 대화를 통해 고객과의 상거래를 촉진하는 것 등을 가능하게 하여, 고객에 도달하는 것 및 고객에 도달하여 고객과 상호 작용하는 데 이용 가능한 실제 또는 가상 경로에 대한 판매자 서비스를 용이하게 하는 것을 위한 시스템을 제공할 수 있다.
일부 실시예에서, 그리고 본 명세서에서 더 기술되는 바와 같이, 전자 상거래 플랫폼(100)은 프로세서 및 메모리를 포함하는 프로세싱 시설을 통해 구현될 수 있으며, 프로세싱 시설은, 실행될 때, 전자 상거래 플랫폼(100)으로 하여금 본 명세서에서 기술된 바와 같은 전자 상거래 및 지원 기능을 수행하게 하는 명령어들의 세트를 저장한다. 프로세싱 시설은 서버, 클라이언트, 네트워크 인프라스트럭처, 모바일 컴퓨팅 플랫폼, 클라우드 컴퓨팅 플랫폼, 고정 컴퓨팅 플랫폼 또는 다른 컴퓨팅 플랫폼의 일부일 수 있으며, 전자 상거래 플랫폼(100)의 전자 컴포넌트, 판매자 디바이스(102), 결제 게이트웨이(106), 애플리케이션 개발자, 채널(110A 및 110B), 배송 제공업체(112), 고객 디바이스(150), POS(point of sale) 디바이스(152) 등 사이에 전자 연결성 및 통신을 제공할 수 있다. 전자 상거래 플랫폼(100)은, 소프트웨어가 가입 기반으로 라이선싱되고 중앙집중식으로 호스팅되는(예를 들면, POS 디바이스 등에 의해 액세스되는, 웹 브라우저 또는 다른 애플리케이션을 통해 클라이언트(예를 들면, 씬 클라이언트(thin client))를 사용하는 사용자에 의해 액세스되는) 소프트웨어 및 배달 모델에서와 같이, 클라우드 컴퓨팅 서비스, SaaS(software as a service), IaaS(infrastructure as a service), PaaS(platform as a service), DaaS(desktop as a Service), MSaaS(managed software as a service), MBaaS(mobile backend as a service), ITMaaS(information technology management as a service) 등으로서 구현될 수 있다. 일부 실시예에서, 전자 상거래 플랫폼(100)의 요소는, iOS, Android, 온 더 웹(on the web) 등과 같은, 다양한 플랫폼 및 운영 체제에서 동작하도록 구현될 수 있다(예를 들면, 관리자(114)는, 각각이 유사한 기능성을 가진, iOS, Android 및 웹을 위한 주어진 온라인 상점에 대한 다수의 인스턴스에서 구현됨).
일부 실시예에서, 온라인 상점(138)은 전자 상거래 플랫폼(100)의 서버에 의해 제공되는 웹 페이지를 통해 고객 디바이스(150)에 서빙될 수 있다. 서버는 고객 디바이스(150)에 설치된 브라우저 또는 다른 애플리케이션으로부터 웹 페이지에 대한 요청을 수신할 수 있으며, 여기서 브라우저(또는 다른 애플리케이션)는 IP 주소를 통해 서버에 연결하며, IP 주소는 도메인 이름을 변환하는 것에 의해 획득된다. 그 회답으로, 서버는 요청된 웹 페이지를 다시 송신한다. 웹 페이지는 HTML(Hypertext Markup Language), 템플릿 언어, JavaScript 등 또는 이들의 임의의 조합으로 작성되거나 이를 포함할 수 있다. 예를 들어, HTML은, 웹 페이지의 레이아웃, 형식 및 콘텐츠와 같은, 웹 페이지에 대한 정적 정보를 기술하는 컴퓨터 언어이다. 웹 사이트 디자이너 및 개발자는 다수의 페이지에서 동일한 정적 콘텐츠와 페이지마다 변하는 동적 콘텐츠를 조합하는 웹 페이지를 구축하기 위해 템플릿 언어를 사용할 수 있다. 템플릿 언어는 웹 페이지의 레이아웃을 정의하는 정적 요소를 재사용하면서 온라인 상점으로부터의 데이터로 페이지를 동적으로 채우는 것을 가능하게 만들 수 있다. 정적 요소는 HTML로 작성될 수 있고, 동적 요소는 템플릿 언어로 작성될 수 있다. 파일에서의 코드가 컴파일되어 고객 디바이스(150)로 송신되고 이어서, 테마(theme)가 설치될 때와 같이, 템플릿 언어가 온라인 상점(138)으로부터의 데이터로 대체되도록, 파일에서의 템플릿 언어 요소는 플레이스 홀더(placeholder)로서 작용할 수 있다. 템플릿과 테마는 태그, 객체 및 필터를 고려할 수 있다. 이어서 클라이언트 디바이스 웹 브라우저(또는 다른 애플리케이션)는 그에 따라 페이지를 렌더링한다.
일부 실시예에서, 온라인 상점(138)이 전자 상거래 플랫폼(100)에 의해 고객에게 서빙될 수 있으며, 여기서 고객은 이용 가능한 다양한 제품을 브라우징하고 구매할 수 있다(예를 들면, 제품을 장바구니(cart)에 추가하고, 구매 버튼을 통해 즉시 구매하는 등을 할 수 있음). 온라인 상점(138)은 고객이 (판매자로부터 직접 제공되는 것이 아니라) 전자 상거래 플랫폼(100)을 통해 제공되고 있음을 반드시 인식하는 것은 아닌 투명한 방식으로 고객에게 서빙될 수 있다. 판매자는 자신의 온라인 상점(138)을 커스터마이징하기 위해 판매자 구성 가능한 도메인 이름, 커스터마이징 가능한 HTML 테마 등을 사용할 수 있다. 판매자가 온라인 상점의 제품 계층구조 내에서 동일한 기본 제품 및 비즈니스 데이터가 보이게 하면서 자신의 테마를 변경하는 것에 의해 자신의 온라인 상점(138)의 룩앤필(look and feel)을 선택 및 변경할 수 있는 경우와 같이, 판매자는 테마 시스템을 통해 자신의 웹 사이트의 룩앤필을 커스터마이징할 수 있다. 테마는 사용자가 유연하게 자신의 웹 사이트의 디자인을 커스터마이징하는 것을 가능하게 하는 디자인 인터페이스인 테마 편집기를 통해 추가로 커스터마이징될 수 있다. 테마는 또한, 특정 색상, 글꼴 및 사전 작성된 레이아웃 스킴(layout scheme)과 같은, 측면을 변경하는 테마별 설정을 사용하여 커스터마이징될 수 있다. 온라인 상점은 웹 사이트 콘텐츠에 대한 콘텐츠 관리 시스템을 구현할 수 있다. 판매자는 블로그 게시물 또는 정적 페이지를 저작하고 이들을, 블로그, 기사 등을 통해, 자신의 온라인 상점(138)에 게시하는 것은 물론 탐색 메뉴를 구성할 수 있다. 판매자는, 예컨대, 시스템에 의해 (예를 들면, 데이터(134)로서) 저장하기 위해, (예를 들면, 제품에 대한) 이미지, 비디오, 콘텐츠, 데이터 등을 전자 상거래 플랫폼(100)에 업로드할 수 있다. 일부 실시예에서, 전자 상거래 플랫폼(100)은 이미지를 크기 조정하는 것, 이미지를 제품과 연관시키는 것, 텍스트를 추가하고 이미지와 연관시키는 것, 새로운 제품 변형(variant)에 대한 이미지를 추가하는 것, 이미지를 보호하는 것 등을 위한 기능을 제공할 수 있다.
본 명세서에서 기술된 바와 같이, 전자 상거래 플랫폼(100)은, 본 명세서에서 기술된 바와 같이 온라인 상점(138), 전화를 통하는 것은 물론 실제 POS 디바이스(152)를 통하는 것을 포함한, 다수의 상이한 채널(110A 및 110B)을 통해 제품에 대한 거래 시설을 판매자에게 제공할 수 있다. 전자 상거래 플랫폼(100)은, 그의 온라인 상점과 연관된 도메인 서비스(118), 고객과의 거래를 용이하게 하기 위한 결제 서비스(120), 구매된 제품에 대한 고객 배송 옵션을 제공하기 위한 배송 서비스(122), 제품 보호 및 책임과 연관된 위험 및 보험 서비스(124), 판매자 청구(merchant billing) 등과 같은, 온라인 비즈니스를 운영하는 것과 연관된 비즈니스 지원 서비스(116), 관리자(114) 등을 포함할 수 있다. 서비스(116)는 전자 상거래 플랫폼(100)을 통해 또는 외부 시설과 관련하여, 예컨대, 결제 프로세싱을 위한 결제 게이트웨이(106), 제품의 배송을 신속 처리하기 위한 배송 제공업체(112) 등을 통해, 제공될 수 있다.
일부 실시예에서, 전자 상거래 플랫폼(100)은, 판매자에게 실시간 업데이트, 추적, 자동 요금 계산, 대량 주문 준비, 라벨 인쇄 등을 제공하는 것과 같은, (예를 들면, 전자 상거래 플랫폼 배송 시설을 통한 또는 제3자 배송 운송사(shipping carrier)를 통한) 통합 배송 서비스(122)를 제공할 수 있다.
도 2는, 일일 업무, 상점의 최근 활동 및 판매자가 자신의 비즈니스를 구축하기 위해 취할 수 있는 다음 단계에 관한 정보를 보여줄 수 있는, 관리자(114)의 홈 페이지에 대한 비제한적인 실시예를 묘사한다. 일부 실시예에서, 판매자는 판매자 디바이스(102)를 통해, 예컨대, 데스크톱 컴퓨터 또는 모바일 디바이스로부터 관리자(114)에 로그인할 수 있고, 온라인 상점(138)의 최근 활동을 보는 것, 온라인 상점(138)의 카탈로그를 업데이트하는 것, 주문을 관리하는 것, 최근 방문 활동, 총 주문 활동 등과 같은, 그의 온라인 상점(138)의 측면을 관리할 수 있다. 일부 실시예에서, 판매자는, 도 2에 도시된 것과 같은, 사이드바(sidebar)를 사용하여 관리자(114)의 상이한 섹션에 액세스할 수 있다. 관리자(114)의 섹션은, 주문(orders), 제품(products), 고객(customers), 이용 가능한 보고서(reports) 및 할인(discounts)을 포함하여, 판매자의 비즈니스의 핵심 측면에 액세스하고 관리하기 위한 다양한 인터페이스를 포함할 수 있다. 관리자(114)는 또한 온라인 상점(online store), 상점에 액세스하기 위해 고객이 이용할 수 있게 되는 모바일 애플리케이션(들)(모바일 앱(Mobile App), POS 디바이스, 및/또는 구매 버튼을 포함한 상점에 대한 판매 채널을 관리하기 위한 인터페이스를 포함할 수 있다. 관리자(114)는 또한 판매자의 계정에 설치된 애플리케이션(앱)을 관리하기 위한 인터페이스; 판매자의 온라인 상점(138) 및 계정에 적용되는 설정(settings)을 포함할 수 있다. 판매자는 제품, 페이지 또는 다른 정보를 찾기 위해 검색 창(search bar)을 사용할 수 있다. 판매자가 사용하고 있는 디바이스(102) 또는 소프트웨어 애플리케이션에 따라, 이들은 관리자(114)를 통해 상이한 기능성을 위해 인에이블될 수 있다. 예를 들어, 판매자가 브라우저로부터 관리자(114)에 로그인하는 경우, 판매자는 자신의 온라인 상점(138)의 모든 측면들을 관리할 수 있다. 판매자가 자신의 모바일 디바이스로부터(예를 들면, 모바일 애플리케이션을 통해) 로그인하는 경우, 판매자는, 온라인 상점(138)의 최근 활동을 보는 것, 온라인 상점(138)의 카탈로그를 업데이트하는 것, 주문을 관리하는 것 등과 같은, 자신의 온라인 상점(138)의 측면의 전부 또는 일부를 볼 수 있다.
판매자의 온라인 상점(138)에 대한 상거래 및 방문자에 관한 더 많은 상세한 정보는, 판매자의 전체 비즈니스에 대한 판매 요약, 활성 판매 채널에 대한 특정 판매 및 참여 데이터 등을 디스플레이하는 것과 같은, 획득 보고서 또는 메트릭을 통해 보일 수 있다. 보고서는 획득 보고서, 행동 보고서, 고객 보고서, 재무 보고서, 마케팅 보고서, 판매 보고서, 맞춤 보고서 등을 포함할 수 있다. 판매자는, 예컨대, 드롭 다운 메뉴를 사용하여, 상이한 시간 기간(예를 들면, 일, 주, 월 등)으로부터의 상이한 채널(110A 및 110B)에 대한 판매 데이터를 볼 수 있다. 상점의 판매 및 참여 데이터에 대한 보다 상세한 뷰를 원하는 판매자를 위해 개요 대시보드가 제공될 수 있다. 판매자의 계정에서의 활동의 개요를 보여주기 위해 홈 메트릭 섹션 내의 활동 피드가 제공될 수 있다. 예를 들어 '최근 활동 모두 보기(view all recent activity)' 대시보드 버튼을 클릭하는 것에 의해, 판매자는 자신의 계정에서의 최근 활동에 대한 더 긴 피드를 볼 수 있다. 홈 페이지는, 예컨대, 계정 상태, 성장, 최근 고객 활동 등에 기초하여, 판매자의 온라인 상점(138)에 관한 통지를 보여줄 수 있다. 판매자가, 결제를 캡처하는 것, 주문을 이행된 것으로 표시하는 것, 완료된 주문을 아카이빙하는 것 등과 같은, 프로세스를 통해 탐색하는 것을 돕기 위해 통지가 제공될 수 있다.
전자 상거래 플랫폼(100)은, 예컨대, 제품의 판매를 제공할 가능성을 증가시키는 것 등을 위해, 통신을 집계하고 분석하기 위해, 판매자, 고객, 판매자 디바이스(102), 고객 디바이스(150), POS 디바이스(152) 등 사이의 통신 상호 작용을 수집하고 분석하기 위한 전자 메시징 집계 시설을 활용하는 것과 같은, 전자 통신 및 마케팅을 제공하기 위한 통신 시설(129) 및 관련 판매자 인터페이스를 제공할 수 있다. 예를 들어, 고객은 제품에 관련된 질문을 가질 수 있고, 이는 고객과 판매자(또는 판매자를 대표하는 자동화된 프로세서 기반 에이전트) 사이에 대화를 생성할 수 있으며, 여기서 통신 시설(129)은 상호 작용을 분석하고 판매 가능성을 개선시키는 방법에 대한 분석을 제공한다.
전자 상거래 플랫폼(100)은, 예컨대, 보안 카드 서버 환경을 통해, 고객과의 안전한 금융 거래를 위한 금융 시설(120)을 제공할 수 있다. 전자 상거래 플랫폼(100)은, 재무를 조정하는 것, 판매자에 청구하는 것, (예를 들면, 자본을 사용할 때) 전자 상거래 플랫폼(100)의 금융 기관 계정과 판매자의 은행 계정 사이의 ACH(automated clearing house) 이체를 수행하는 것 등을 위해, 신용 카드 정보를, 예컨대, 결제 카드 산업 데이터(payment card industry data, PCI) 환경(예를 들면, 카드 서버)에 저장할 수 있다. 이러한 시스템은 SOX(Sarbanes-Oxley Act)를 준수하고 그의 개발 및 운영에 필요한 높은 수준의 성실함을 가질 수 있다. 금융 시설(120)은 또한, 예컨대, 자본 대출(예를 들면, 대출 자금, 현금 서비스 등) 및 보험 제공을 통해, 판매자에게 금융 지원을 제공할 수 있다. 추가적으로, 전자 상거래 플랫폼(100)은 일련의 마케팅 및 파트너 서비스를 제공하고 전자 상거래 플랫폼(100)과 파트너 간의 관계를 제어할 수 있다. 금융 시설(120)은 또한 새로운 판매자를 전자 상거래 플랫폼(100)과 연결시키고 온보딩(onboard)할 수 있다. 이러한 서비스는 판매자가 전자 상거래 플랫폼(100)을 통해 사업하는 것을 더 쉽게 만들어주는 것에 의해 판매자 성장을 가능하게 할 수 있다. 이러한 서비스를 통해, 판매자는 전자 상거래 플랫폼(100)을 통해 도움 시설을 제공받을 수 있다.
일부 실시예에서, 온라인 상점(138)은 다수의 독립적으로 관리되는 점포를 지원하고 다양한 제품에 대해 매일 대량의 거래 데이터를 프로세싱할 수 있다. 거래 데이터는 고객 연락처 정보, 청구 정보, 배송 정보, 구매된 제품에 대한 정보, 제공되는 서비스에 대한 정보, 및 전자 상거래 플랫폼(100)을 통한 비즈니스와 연관된 임의의 다른 정보를 포함할 수 있다. 일부 실시예에서, 전자 상거래 플랫폼(100)은 이 데이터를 데이터 시설(134)에 저장할 수 있다. 거래 데이터는 분석(132)을 생성하기 위해 프로세싱될 수 있으며, 분석(132)은 차례로, 온라인 상거래에 관련되고 대시보드 인터페이스, 보고서 등을 통해 제공되는, 소비자 동향, 마케팅 및 판매 통찰력, 판매를 개선시키기 위한 추천, 고객 행동의 평가, 마케팅 및 판매 모델링, 사기 동향 등을 제공하는 것과 같이, 판매자 또는 제3자 상거래 엔티티에 제공될 수 있다. 전자 상거래 플랫폼(100)은 비즈니스 및 판매자 거래에 관한 정보를 저장할 수 있고, 데이터 시설(134)은 데이터를 향상, 제공, 정제 및 추출하는 많은 방법을 가질 수 있으며, 여기서 시간이 지남에 따라 수집된 데이터는 전자 상거래 플랫폼(100)의 측면에 대한 개선을 가능하게 할 수 있다.
도 1을 다시 참조하면, 일부 실시예에서, 전자 상거래 플랫폼(100)은 (예를 들면, 제품, 재고, 고객, 주문, 협업, 공급업체, 보고서, 재무, 위험 및 사기 등에 관련된) 복수의 온라인 상점(138)에 대한 지원 및 서비스를 가능하게 하기 위해 콘텐츠 관리, 업무 자동화 및 데이터 관리를 위한 상거래 관리 엔진(136)으로 구성될 수 있지만, 계속해서 증가하는 다양한 판매자 온라인 상점, POS 디바이스, 제품 및 서비스를 수용하는 데 필요한 더 큰 유연성과 맞춤 프로세스를 가능하게 하는 애플리케이션(142A 및 142B)을 통해 확장 가능할 수 있으며, 여기서 애플리케이션(142A)은 전자 상거래 플랫폼(100) 내부에 제공될 수 있거나 애플리케이션(142B)은 전자 상거래 플랫폼(100) 외부로부터 제공될 수 있다. 일부 실시예에서, 애플리케이션(142A)은 플랫폼(100)을 제공하는 동일한 당사자에 의해 또는 상이한 당사자에 의해 제공될 수 있다. 일부 실시예에서, 애플리케이션(142B)은 플랫폼(100)을 제공하는 동일한 당사자에 의해 또는 상이한 당사자에 의해 제공될 수 있다. 상거래 관리 엔진(136)은, 예컨대, 고객 식별자, 주문 식별자, 온라인 상점 식별자 등에 의해, 기능 및 데이터의 분할(portioning)(예를 들면, 샤딩(sharding))을 통해 유연성 및 확장성을 위해 구성될 수 있다. 상거래 관리 엔진(136)은 상점별 비즈니스 로직을 수용할 수 있고, 일부 실시예에서, 관리자(114) 및/또는 온라인 상점(138)을 포함할 수 있다.
상거래 관리 엔진(136)은 전자 상거래 플랫폼(100)의 기본 또는 "핵심" 기능을 포함하고, 이에 따라, 본 명세서에서 기술된 바와 같이, 온라인 상점(138)을 지원하는 모든 기능을 포함시키는 것은 적절하지 않을 수 있다. 예를 들어, 상거래 관리 엔진(136)에 포함시키기 위한 기능은 핵심 기능성 임계치를 초과할 필요가 있을 수 있는데, 이 핵심 기능성 임계치를 통해 기능이 상거래 경험의 핵심이고(예를 들면, 대부분의 온라인 상점 활동, 예컨대, 채널, 관리자 인터페이스, 판매자 위치, 산업, 제품 유형 등에 걸쳐 공통임), 온라인 상점(138)에 걸쳐 재사용 가능하며(예를 들면, 핵심 기능에 걸쳐 재사용/수정될 수 있는 기능임), 한 번에 단일 온라인 상점(138)의 콘텍스트로 제한되고(예를 들면, 코드가 한 번에 다수의 온라인 상점(138)과 상호 작용할 수 없어야 하는 온라인 상점 '격리 원칙'을 구현하여, 온라인 상점(138)이 서로의 데이터에 액세스할 수 없도록 보장함), 거래 작업 부하를 제공하는 등인 것으로 결정될 수 있다. 어떤 기능이 구현되는지의 제어를 유지하는 것은 상거래 관리 엔진(136)이 응답성을 유지하는 것을 가능하게 할 수 있는데, 그 이유는 많은 필수 기능이 상거래 관리 엔진(136)에 의해 직접 서빙되거나 또는 인터페이스(140A 및 140B)를 통해, 예컨대, 애플리케이션(142A 및 142B) 및 채널(110A 및 110B)에 대한 애플리케이션 프로그래밍 인터페이스(API) 연결을 통해 그의 확장(extension)에 의해 인에이블되기 때문이며, 여기서 인터페이스(140A)는 전자 상거래 플랫폼(100) 내부에 있는 애플리케이션(142A) 및/또는 채널(110A)에 제공될 수 있거나 또는 인터페이스(140B)는 전자 상거래 플랫폼(100) 외부에 있는 애플리케이션(142B) 및/또는 채널(110B)에 제공될 수 있다. 일반적으로, 플랫폼(100)은 다른 플랫폼, 시스템, 소프트웨어, 데이터 소스, 코드 등에 대한 연결 및 통신을 용이하게 하는 인터페이스(140A 및 140B)(확장, 커넥터, API 등일 수 있음)를 포함할 수 있다. 그러한 인터페이스(140A 및 140B)는 보다 일반적으로 상거래 관리 엔진(136)의 인터페이스(140A) 또는 플랫폼(100)의 인터페이스(140B)일 수 있다. 상거래 관리 엔진(136)에서의 기능성을 제한하는 데 주의를 기울이지 않으면, 예컨대, 느린 데이터베이스 또는 비필수(non-critical) 백엔드 장애를 통한 인프라스트럭처 열화를 통해, 데이터 센터가 오프라인으로 되는 경우와 같은 파국적인 인프라스트럭처 장애를 통해, 예상보다 실행하는 데 시간이 더 오래 걸리는 새로운 코드가 배포되는 것 등을 통해, 응답성이 손상될 수 있다. 이러한 상황을 방지하거나 완화시키기 위해, 상거래 관리 엔진(136)은, 예컨대, 열화 등을 방지하기 위해 타임아웃, 큐, 배압(backpressure)을 활용하는 구성을 통해, 응답성을 유지하도록 구성될 수 있다.
온라인 상점 데이터를 격리시키는 것이 온라인 상점(138)과 판매자 사이의 데이터 프라이버시를 유지하는 데 중요하지만, 예를 들어, 주문 위험 평가 시스템 또는 플랫폼 결제 시설 - 둘 모두 다수의 온라인 상점(138)으로부터의 정보가 잘 작동할 것을 요구함 - 에서와 같이, 교차 상점(crossstore) 데이터를 수집하고 사용하는 이유가 있을 수 있다. 일부 실시예에서, 격리 원칙을 위반하는 것보다는, 이러한 컴포넌트를 상거래 관리 엔진(136)으로부터 전자 상거래 플랫폼(100) 내의 자체 인프라스트럭처 내로 이동시키는 것이 바람직할 수 있다.
일부 실시예에서, 전자 상거래 플랫폼(100)은, 상거래 관리 엔진(136)으로부터의 데이터를 활용하지만 격리 원칙을 위반하지 않기 위해 외부에 위치할 수 있는 컴포넌트의 또 다른 예인, 플랫폼 결제 시설(120)을 제공할 수 있다. 플랫폼 결제 시설(120)는 온라인 상점(138)과 상호 작용하는 고객이 자신의 결제 정보를 한 번만 입력하면 되도록 이를 상거래 관리 엔진(136)에 의해 안전하게 저장되게 할 수 있다. 고객이 상이한 온라인 상점(138)을 방문할 때, 이전에 거기에 가본 적이 없더라도, 플랫폼 결제 시설(120)은 보다 빠르고 정확한 체크 아웃(check out)을 가능하게 하기 위해 고객 정보를 호출(recall)할 수 있다. 이는, 예컨대, 고객 구매와 관련한 사용 편의성으로 인해 보다 많은 고객이 보다 자주 체크 아웃하기 때문에, 보다 많은 판매자가 가입함에 따라 전자 상거래 플랫폼(100)이 그의 판매자에게 더 유용하게 되는, 교차 플랫폼 네트워크 효과를 제공할 수 있다. 이 네트워크의 효과를 최대화하기 위해, 주어진 고객에 대한 결제 정보가 온라인 상점의 계산대로부터 검색될 수 있어, 정보가 온라인 상점(138)에 걸쳐 전 세계적으로 이용 가능하게 될 수 있다. 각각의 온라인 상점(138)이 거기에 저장된 결제 정보를 검색하기 위해 임의의 다른 온라인 상점(138)에 연결할 수 있는 것은 어렵고 오류가 발생하기 쉽다. 그 결과, 플랫폼 결제 시설은 상거래 관리 엔진(136) 외부에서 구현될 수 있다.
상거래 관리 엔진(136) 내에 포함되지 않은 해당 기능에 대해, 애플리케이션(142A 및 142B)은 전자 상거래 플랫폼(100)에 기능을 추가하는 방법을 제공한다. 애플리케이션(142A 및 142B)은 판매자의 온라인 상점(138)에 있는 데이터에 액세스하여 수정하고, 관리자(114)를 통해 작업을 수행하며, 사용자 인터페이스(예를 들면, 확장/API를 통해 표출됨)를 통해 판매자를 위한 새로운 흐름을 생성하는 등을 할 수 있다. 판매자는 애플리케이션 검색, 추천 및 지원(128)을 통해 애플리케이션(142A 및 142B)을 발견하고 설치할 수 있다. 일부 실시예에서, 핵심 제품, 핵심 확장 포인트(extension point), 애플리케이션 및 관리자(114)는 함께 작동하도록 개발될 수 있다. 예를 들어, 핵심 기능이 애플리케이션을 통해 확장될 수 있도록 애플리케이션 확장 포인트가 관리자(114) 내부에 구축될 수 있으며, 이는 확장을 통해 판매자에게 기능성을 전달할 수 있다.
일부 실시예에서, 애플리케이션(142A 및 142B)이 거래 데이터를 판매자에게 표출할 수 있는 경우(예를 들면, 앱: "엔진아, 내장된 앱 SDK를 사용하여 모바일 및 웹 관리자에 있는 내 앱 데이터를 표출해줘") 및/또는 상거래 관리 엔진(136)이 요구 시에 작업을 수행하도록 애플리케이션에 요청할 수 있는 경우(엔진: "앱아, 이 체크 아웃에 대한 지방세 계산을 알려 줘")와 같이, 애플리케이션(142A 및 142B)은 인터페이스(140A 및 140B)를 통해 판매자에게 기능성을 전달할 수 있다.
애플리케이션(142A 및 142B)은 온라인 상점(138) 및 채널(110A 및 110B)을 지원하고, 판매자 지원을 제공하며, 다른 서비스와 통합하는 등을 할 수 있다. 상거래 관리 엔진(136)이 온라인 상점(138)에 서비스의 기초를 제공할 수 있는 경우, 애플리케이션(142A 및 142B)은 판매자가 특정의 때때로 고유한 요구를 충족시키는 방법을 제공할 수 있다. 상이한 판매자는 상이한 요구를 가질 것이고, 따라서 상이한 애플리케이션(142A 및 142B)으로부터 이득을 볼 수 있다. 애플리케이션(142A 및 142B)은 애플리케이션이 판매자를 위해 수행하는 기능의 유형에 따라 태깅되는 것을 가능하게 하는 애플리케이션 분류(카테고리)의 개발을 통해; 검색, 순위부여 및 추천 모델을 지원하는 애플리케이션 데이터 서비스를 통해; 애플리케이션 상점, 홈 정보 카드, 애플리케이션 설정 페이지와 같은 애플리케이션 발견 인터페이스를 통해 등으로 전자 상거래 플랫폼(100)을 통해 더 잘 발견될 수 있다.
애플리케이션(142A 및 142B)은 인터페이스(140A 및 140B)를 통해, 예컨대, 상거래 관리 엔진(136)을 통해 그리고 그 내에서 이용 가능한 기능성 및 데이터를 (예를 들면, REST, GraphQL 등을 통해) 애플리케이션의 기능성에 노출시키기 위해 API를 활용하여, 상거래 관리 엔진(136)에 연결될 수 있다. 예를 들어, 전자 상거래 플랫폼(100)은 API 인터페이스(140A 및 140B)를, 예컨대, 애플리케이션 확장, 프로세스 흐름 서비스, 개발자 대면(developer-facing) 리소스 등을 포함한, 판매자 및 파트너 대면 제품 및 서비스에 제공할 수 있다. 고객이 쇼핑을 위해 모바일 디바이스를 보다 자주 사용함에 따라, 모바일 사용에 관련된 애플리케이션(142A 및 142B)은 관련된 증가하는 상거래 트래픽을 지원하기 위해 API의 보다 광범위한 사용으로부터 이득을 볼 수 있다. 애플리케이션 및 (예를 들면, 애플리케이션 개발을 위해 제공되는 것과 같은) API의 사용을 통해 제공되는 유연성은 전자 상거래 플랫폼(100)이 상거래 관리 엔진(136)에 대한 지속적인 변경을 필요로 하지 않으면서 판매자(및 내부 API를 통한 내부 개발자)의 새롭고 고유한 요구를 더 잘 수용하여, 따라서 필요한 것을 필요할 때 판매자에게 제공하는 것을 가능하게 한다. 예를 들어, 배송 서비스(122)는 배송 또는 운송사 서비스 API를 통해 상거래 관리 엔진(136)과 통합될 수 있으며, 따라서 전자 상거래 플랫폼(100)이 상거래 관리 엔진(136)에서 실행되는 코드에 직접 영향을 주지 않으면서 배송 서비스 기능성을 제공하는 것을 가능하게 한다.
파트너가 애플리케이션 개발을 통해 판매자 작업 흐름을 개선시키고 확장하도록 하는 것에 의해, 백오피스(back-office) 운영(판매자 대면 애플리케이션(142A 및 142B)) 및 온라인 상점(138)(고객 대면 애플리케이션(142A 및 142B))과 연관된 문제와 같은, 많은 판매자 문제가 해결될 수 있다. 비즈니스를 수행하는 것의 일환으로, 많은 판매자는 백오피스 작업(예를 들면, 머천다이징, 재고, 할인, 주문 처리 등) 및 온라인 상점 작업(예를 들면, 반짝 세일(flash-sale), 신제품 제공 등을 위한 온라인 점포에 관련된 애플리케이션)을 위해 모바일 및 웹 관련 애플리케이션을 매일 사용할 것이며, 여기서 애플리케이션(142A 및 142B)은, 확장/API(140A 및 140B)를 통해, 빠르게 성장하는 시장에서 제품을 보고 구매하기 쉽게 만들어 주는 데 도움을 준다. 일부 실시예에서, 파트너, 애플리케이션 개발자, 내부 애플리케이션 시설 등은, 예컨대, 애플리케이션 인터페이스를 샌드박스화(sandbox)하는 프레임을 관리자(114) 내에 생성하는 것을 통해, 소프트웨어 개발 키트(SDK)를 제공받을 수 있다. 일부 실시예에서, 관리자(114)는 프레임 내에서 일어나는 일을 제어할 수도 없고 인식하지도 못할 수 있다. SDK는, 상거래 관리 엔진(136)의 확장으로서 기능하는 것과 같이, 전자 상거래 플랫폼(100)의 룩앤필을 모방하는 인터페이스를 생성하기 위해 사용자 인터페이스 키트와 함께 사용될 수 있다.
API를 활용하는 애플리케이션(142A 및 142B)은 요구 시에 데이터를 풀링(pull)할 수 있지만, 종종 업데이트가 발생할 때 데이터를 푸싱(push)할 필요가 있다. 업데이트 이벤트는, 예를 들어, 고객 생성, 제품 변경 또는 주문 취소와 같은, 가입 모델에서 구현될 수 있다. 업데이트 이벤트는, 예컨대, 로컬 데이터베이스를 동기화시키는 것, 외부 통합 파트너에게 통지하는 것 등을 위해, 상거래 관리 엔진(136)의 변경된 상태와 관련하여 필요한 업데이트를 판매자에게 제공할 수 있다. 업데이트 이벤트는, 예컨대, 업데이트 이벤트 가입을 통해, 업데이트를 확인하기 위해 항상 상거래 관리 엔진(136)을 폴링할 필요 없이 이 기능성을 가능하게 할 수 있다. 일부 실시예에서, 업데이트 이벤트 가입에 관련된 변경이 발생할 때, 상거래 관리 엔진(136)은, 예컨대, 미리 정의된 콜백 URL에, 요청을 게시할 수 있다. 이 요청의 본문(body)은 객체의 새로운 상태 및 액션 또는 이벤트에 대한 설명을 포함할 수 있다. 업데이트 이벤트 가입은 관리자 시설(114)에서 수동으로 생성되거나 또는 자동으로(예를 들면, API(140A 및 140B)를 통해) 생성될 수 있다. 일부 실시예에서, 업데이트 이벤트는 업데이트 이벤트를 트리거한 상태 변경과 비동기적으로 큐잉되고 프로세싱될 수 있으며, 이는 실시간으로 배포되지 않는 업데이트 이벤트 통지를 생성할 수 있다.
일부 실시예에서, 전자 상거래 플랫폼(100)은 애플리케이션 검색, 추천 및 지원(128)을 제공할 수 있다. 애플리케이션 검색, 추천 및 지원(128)은 애플리케이션의 개발을 지원하는 개발자 제품 및 툴, (예를 들면, 개발자에게 개발 인터페이스를 제공하고, 관리자에게 애플리케이션 관리를 제공하며, 판매자에게 애플리케이션의 커스터마이제이션을 제공하는 등을 위한) 애플리케이션 대시 보드, (예를 들면, 설치되기 전에 기준이 충족되어야 하는 경우와 같이, 공중 액세스를 위해, 또는 판매자에 의한 사적 사용을 위해) 애플리케이션(142A 및 142B)에 대한 액세스를 제공하는 것과 관련하여 권한을 설치하고 제공하기 위한 시설, 판매자가 자신의 온라인 상점(138)에 대한 요구를 충족시키는 애플리케이션(142A 및 142B)을 검색하는 것을 쉽도록 만들어주는 애플리케이션 검색, 판매자가 자신의 온라인 상점(138)을 통해 사용자 경험을 개선시킬 수 있는 방법에 대한 제안을 판매자에게 제공하는 애플리케이션 추천, 상거래 관리 엔진(136) 내의 핵심 애플리케이션 능력에 대한 설명 등을 포함할 수 있다. 이러한 지원 시설은, 자체 애플리케이션(142A 및 142B)을 개발하는 판매자, (예를 들면, 판매자와 계약된, 공중에게 제공하기 위해 자체적으로 개발된, 전자 상거래 플랫폼(100)과 관련하여 사용하도록 계약된, 기타의) 애플리케이션(142A 및 142B)을 개발하는 제3자 개발자, 또는 전자 상거래 플랫폼(100)과 연관된 내부 개인 리소스에 의해 개발되는 애플리케이션(142A 또는 142B)을 포함한, 임의의 엔티티에 의해 수행되는 애플리케이션 개발에서 활용될 수 있다. 일부 실시예에서, 애플리케이션(142A 및 142B)은, 예컨대, (예를 들면, API를 통해) 애플리케이션에 링크시키는 것, 애플리케이션을 검색하는 것, 애플리케이션 추천을 하는 것 등을 위한, 애플리케이션 식별자(ID)를 할당받을 수 있다.
상거래 관리 엔진(136)은 전자 상거래 플랫폼(100)의 기본 기능을 포함하고 이러한 기능을 API(140A 및 140B)를 통해 애플리케이션(142A 및 142B)에 노출시킬 수 있다. API(140A 및 140B)는 애플리케이션 개발을 통해 구축되는 상이한 유형의 애플리케이션을 가능하게 할 수 있다. 애플리케이션(142A 및 142B)은 판매자에 대한 매우 다양한 요구를 충족시킬 수 있지만 대략 세 가지 카테고리: 고객 대면 애플리케이션, 판매자 대면 애플리케이션, 통합 애플리케이션 등으로 그룹화될 수 있다. 고객 대면 애플리케이션(142A 및 142B)은 판매자가 제품을 나열하고 제품이 구매되게 하는 곳인 온라인 상점(138) 또는 채널(110A 및 110B)(예를 들면, 온라인 상점, 반짝 세일을 위한 애플리케이션(예를 들면, 판매자 제품, 또는 제3자 소스로부터의 기회주의적 판매 기회로부터), 모바일 상점 애플리케이션, 소셜 미디어 채널, 도매 구매를 제공하는 애플리케이션 등)을 포함할 수 있다. 판매자 대면 애플리케이션(142A 및 142B)은 판매자가 (예를 들면, 웹 또는 웹 사이트에 또는 모바일 디바이스에 관련된 애플리케이션을 통해) 자신의 온라인 상점(138)을 관리하고, (예를 들면, POS 디바이스에 관련된 애플리케이션을 통해) 자신의 비즈니스를 운영하며, (예를 들면, 배송(예를 들면, 직배송(drop shipping)), 자동화 에이전트의 사용, 프로세스 흐름 개발 및 개선의 사용에 관련된 애플리케이션을 통해) 자신의 비즈니스를 성장시키는 등을 할 수 있게 하는 애플리케이션을 포함할 수 있다 통합 애플리케이션은, 배송 제공업체(112) 및 결제 게이트웨이와 같은, 비즈니스의 운영에 참여하는 유용한 통합을 제공하는 애플리케이션을 포함할 수 있다.
일부 실시예에서, 애플리케이션 개발자는 외부 위치로부터 데이터를 가져오고 이를 온라인 상점(138)의 페이지 상에 디스플레이하기 위해 애플리케이션 프록시를 사용할 수 있다. 이러한 프록시 페이지의 콘텐츠는 동적일 수 있고, 업데이트될 수 있으며, 기타 등등일 수 있다. 애플리케이션 프록시는 이미지 갤러리, 통계, 맞춤 양식(custom form) 및 다른 종류의 동적 콘텐츠를 디스플레이하는 데 유용할 수 있다. 상거래 관리 엔진(136)이 보다 통상적으로 활용되는 상거래 비즈니스 로직에 집중한 채로 있을 수 있도록, 전자 상거래 플랫폼(100)의 핵심 애플리케이션 구조는 증가하는 수의 판매자 경험이 애플리케이션(142A 및 142B)에 구축될 수 있게 할 수 있다.
전자 상거래 플랫폼(100)은 판매자가 유연하고 투명한 방식으로 고객과 연결하는 것을 가능하게 하는 큐레이팅된(curated) 시스템 아키텍처를 통해 온라인 쇼핑 경험을 제공한다. 전형적인 고객 경험은, 고객이 채널(110A 및 110B)에서 판매자의 제품을 브라우징하고, 구매하려고 의도하는 것을 장바구니에 추가하며, 결제를 진행하고, 장바구니의 내용물에 대해 결제하여 판매자에 대한 주문의 생성을 결과하는, 예시적인 구매 작업 흐름의 실시예를 통해 더 잘 이해될 수 있다. 이어서 판매자는 주문을 검토하고 이행(또는 취소)할 수 있다. 이어서 제품이 고객에게 배달된다. 고객이 만족하지 않는 경우, 고객은 제품을 판매자에게 반품할 수 있다.
예시적인 실시예에서, 고객은 채널(110A 및 110B)에서 판매자의 제품을 브라우징할 수 있다. 채널(110A 및 110B)은 고객이 제품을 보고 구입할 수 있는 곳이다. 일부 실시예에서, 채널(110A 및 110B)은 애플리케이션(142A 및 142B)으로서 모델링될 수 있다(가능한 예외는 상거래 관리 엔진(136) 내에 통합된 온라인 상점(138)임). 머천다이징 컴포넌트는 판매자가 판매하고자 하는 것 및 판매하는 곳을 기술할 수 있게 할 수 있다. 제품과 채널 간의 연관은 제품 게시로서 모델링될 수 있고, 예컨대, 제품 리스팅 API를 통해, 채널 애플리케이션에 의해 액세스될 수 있다. 제품은, 크기 및 색상과 같은, 많은 옵션 및, 매우 작고 녹색인 변형 또는 크기가 크고 청색인 변형과 같은, 이용 가능한 옵션을 모든 옵션의 특정 조합으로 확장시키는 많은 변형을 가질 수 있다. 제품은 적어도 하나의 변형을 가질 수 있다(예를 들면, 어떤 옵션도 없는 제품에 대해 "기본 변형(default variant)"이 생성됨). 브라우징 및 관리를 용이하게 하기 위해, 제품은 컬렉션, 제공된 제품 식별자(예를 들면, 재고 관리 단위(stock keeping unit, SKU)) 등으로 그룹화될 수 있다. 제품 컬렉션은 제품을 하나로 수동적으로 카테고리화하는 것(예를 들면, 맞춤 컬렉션), 자동 분류를 위한 규칙 세트를 구축하는 것(예를 들면, 스마트 컬렉션) 등에 의해 구축될 수 있다. 제품은, 가상 또는 증강 현실 인터페이스 등을 통해, 2D 이미지, 3D 이미지, 회전 보기 이미지로서 보일 수 있다.
일부 실시예에서, 고객은 자신이 구매하려고 의도하는 것을 장바구니에 추가할 수 있다(대안적인 실시예에서, 제품이, 예컨대, 본 명세서에서 기술된 바와 같은 구매 버튼을 통해, 직접 구매될 수 있다). 고객은 제품 변형을 장바구니에 추가할 수 있다. 장바구니 모델은 채널 특정적일 수 있다. 온라인 상점(138) 장바구니는 다수의 장바구니 라인 물품(cart line item)으로 구성될 수 있으며, 여기서 각각의 장바구니 라인 물품은 제품 변형에 대한 수량을 추적한다. 판매자는 장바구니의 내용물에 따라 고객에게 특별 프로모션을 제공하기 위해 장바구니 스크립트를 사용할 수 있다. 제품을 장바구니에 추가하는 것이 고객 또는 판매자로부터의 어떠한 약정(commitment)도 암시하지 않으며 장바구니의 예상 수명이 (며칠이 아니라) 몇 분 정도일 수 있기 때문에, 장바구니는 임시 데이터 저장소에 유지될 수 있다.
이어서 고객은 체크 아웃을 진행한다. 체크 아웃 컴포넌트는 웹 체크 아웃을 고객 대면 주문 생성 프로세스로서 구현할 수 있다. 체크 아웃 API는 (예를 들면, POS(point of sale)의 경우) 고객을 대신하여 주문을 생성하기 위해 일부 채널 애플리케이션에 의해 사용되는 컴퓨터 대면 주문 생성 프로세스로서 제공될 수 있다. 체크 아웃이 장바구니로부터 생성될 수 있고 이메일 주소, 청구 및 배송 세부 사항과 같은 고객의 정보를 기록할 수 있다. 체크 아웃 시에, 판매자는 가격을 약정한다. 고객이 자신의 연락처 정보를 입력하지만 결제를 진행하지 않는 경우, 전자 상거래 플랫폼(100)은 (예를 들면, 포기된 체크 아웃 기능에서) 고객을 재참여시킬 기회를 제공할 수 있다. 이러한 이유로, 체크 아웃은 장바구니보다 훨씬 더 긴 수명(몇 시간 또는 심지어 며칠)을 가질 수 있으며 따라서 지속된다. 체크 아웃은 고객의 배송 주소에 기초하여 세금 및 배송비를 계산할 수 있다. 체크 아웃은 세금 계산을 세금 컴포넌트에 위임하고 배송비 계산을 배달 컴포넌트에 위임할 수 있다. 가격 컴포넌트는 판매자가 할인 코드(예를 들면, 체크 아웃 시에 입력될 때 체크 아웃에서의 물품에 새로운 가격을 적용하는 '비밀' 문자열)를 생성하는 것을 가능하게 할 수 있다. 고객을 유인하고 마케팅 캠페인의 성과를 평가하기 위해 판매자에 의해 할인이 사용될 수 있다. 할인 및 다른 맞춤 가격 시스템은, 예컨대, 가격 규칙(예를 들면, 충족될 때 자격들의 세트를 암시하는 전제 조건들의 세트)을 통해, 동일한 플랫폼 부분 위에 구현될 수 있다. 예를 들어, 전제 조건은 "주문 소계가 $100 초과" 또는 "배송비가 $10 미만"과 같은 물품일 수 있으며, 자격은 "전체 주문에 대해 20% 할인" 또는 "$10 할인 제품 X, Y 및 Z"와 같은 물품일 수 있다.
이어서 고객은 장바구니의 내용물에 대해 결제하여 판매자에 대한 주문의 생성을 결과한다. 채널(110A 및 110B)은 (달러 또는 암호 화폐와 같은) 돈, 통화 또는 가치 저장 수단(store of value)을 고객 및 판매자로/로부터 이동시키기 위해 상거래 관리 엔진(136)을 사용할 수 있다. 다양한 결제 제공업체(예를 들면, 온라인 결제 시스템, 모바일 결제 시스템, 디지털 지갑, 신용 카드 게이트웨이 등)와의 통신은 결제 프로세싱 컴포넌트 내에서 구현될 수 있다. 결제 게이트웨이(106)와의 실제 상호 작용은 카드 서버 환경을 통해 제공될 수 있다. 일부 실시예에서, 결제 게이트웨이(106)는, 선도적인 국제 신용 카드 프로세서와의 통합과 같은, 국제 결제를 수락할 수 있다. 카드 서버 환경은 카드 서버 애플리케이션, 카드 싱크(card sink), 호스팅된 필드(hosted field) 등을 포함할 수 있다. 이 환경은 민감한 신용 카드 정보의 보안 게이트 키퍼(secure gatekeeper)로서 역할할 수 있다. 일부 실시예에서, 대부분의 프로세스는 결제 프로세싱 작업에 의해 조율될 수 있다. 상거래 관리 엔진(136)은, 예컨대, 오프 사이트 결제 게이트웨이(offsite payment gateway)(106)를 통해(예를 들면, 고객이 다른 웹 사이트로 리디렉션되는 경우), 수동으로(예를 들면, 현금), 온라인 결제 방법(예를 들면, 온라인 결제 시스템, 모바일 결제 시스템, 디지털 지갑, 신용 카드 게이트웨이 등), 기프트 카드 등을 통해, 많은 다른 결제 방법을 지원할 수 있다. 체크 아웃 프로세스의 종료 시에, 주문이 생성된다. 주문은 판매자가 주문에 나열된 상품 및 서비스(예를 들면, 주문 라인 물품, 배송 라인 물품 등)를 제공하는 데 동의하고 고객이 결제(세금 포함)를 제공하는 데 동의하는 판매자와 고객 간의 판매 계약이다. 이 프로세스는 판매 컴포넌트에서 모델링될 수 있다. 상거래 관리 엔진(136) 체크 아웃에 의존하지 않는 채널(110A 및 110B)은 주문을 생성하기 위해 주문 API를 사용할 수 있다. 일단 주문이 생성되면, 주문 확인 통지가 고객에게 송신될 수 있고 주문 완료 통지가 통지 컴포넌트를 통해 판매자에게 송신될 수 있다. 초과 판매를 피하기 위해 결제 프로세싱 작업이 시작될 때 재고가 예약될 수 있다(예를 들면, 판매자가 각각의 변형의 재고 정책으로부터 이 거동을 제어할 수 있다). 재고 예약은 짧은 시간 기간(몇 분)을 가질 수 있으며 반짝 세일을 지원하기 위해 매우 빠르고 확장 가능할 필요가 있을 수 있다(예를 들면, 충동 구매를 목표로 하는 것과 같은, 짧은 시간 동안 제공되는 할인 또는 프로모션). 결제가 실패하는 경우 예약이 해제된다. 결제가 성공하고 주문이 생성될 때, 예약은 특정 위치에 할당된 장기 재고 약정으로 전환된다. 재고 컴포넌트는 변형의 재고가 있는 곳을 기록하고 재고 추적이 인에이블되어 있는 변형의 수량을 추적할 수 있다. 이는 제품 변형(제품 목록의 템플릿을 나타내는 고객 대면 개념)을 재고 물품(수량과 위치가 관리되는 물품을 나타내는 판매자 대면 개념)으로부터 분리시킬 수 있다. 재고 수준 컴포넌트는 판매 가능하거나, 주문 확정되거나 또는 재고 이전(inventory transfer) 컴포넌트로부터(예를 들면, 벤더로부터) 들어오는 수량을 추적할 수 있다.
이어서 판매자는 주문을 검토하고 이행(또는 취소)할 수 있다. 검토 컴포넌트는 주문을 실제로 이행하기 전에 주문이 이행에 적합하도록 보장하기 위해 비즈니스 프로세스 판매자의 사용을 구현할 수 있다. 주문이 사기성이거나, 검증(예를 들면, ID 확인)을 필요로 하거나, 판매자가 대금을 받도록 보장하기 위해 판매자에게 기다릴 것을 요구하는 결제 방법을 가질 수 있거나 기타 등등일 수 있다. 위험 및 추천은 주문 위험 모델에서 지속될 수 있다. 주문 위험은 주문 위험 API 등을 통해 제3자에 의해 제출된 사기 탐지 도구로부터 생성될 수 있다. 주문 처리를 진행하기 전에, 판매자는 결제 정보(예를 들면, 신용 카드 정보)를 캡처하거나 (예를 들면, 은행 송금, 수표 등을 통해) 이를 받기 위해 기다리고 주문을 결제된 것으로 표시할 필요가 있을 수 있다. 판매자는 이제 배달을 위해 제품을 준비할 수 있다. 일부 실시예에서, 이러한 비즈니스 프로세스는 주문 처리 컴포넌트에 의해 구현될 수 있다. 주문 처리 컴포넌트는 재고 위치 및 주문 처리 서비스에 기초하여 주문의 라인 물품을 논리적 주문 처리 작업 단위로 그룹화할 수 있다. 판매자는 작업 단위를 검토, 조정하고, 예컨대, 판매자가 제품을 선택하고 상자에 포장할 때 사용되는 (예를 들면, 판매자 관리 위치에 있는) 수동 주문 처리 서비스를 통해, 관련 주문 처리 서비스를 트리거하며, 배송 라벨을 구매하고 그의 추적 번호를 입력하거나, 또는 단지 물품을 주문 처리된 것으로 표시할 수 있다. 맞춤 주문 처리 서비스는 이메일을 송신할 수 있다(예를 들면, API 연결을 제공하지 않는 위치). API 주문 처리 서비스는 제3자를 트리거할 수 있으며, 여기서 제3자 애플리케이션이 주문 처리 기록을 생성한다. 레거시 주문 처리 서비스는 상거래 관리 엔진(136)으로부터 제3자로의 맞춤 API 호출을 트리거할 수 있다(예를 들면, 아마존에 의한 주문 처리). 기프트 카드 주문 처리 서비스는 기프트 카드를 프로비저닝하고(예를 들면, 번호를 생성하고) 활성화시킬 수 있다. 판매자는 주문 프린터 애플리케이션을 사용하여 포장 전표(packing slip)를 인쇄할 수 있다. 주문 처리 프로세스는 물품이 상자에 포장되어 배송 준비되고, 배송되며, 추적되고, 배달되며, 고객이 수령한 것으로 확인될 때 등에 실행될 수 있다.
고객이 만족하지 않는 경우, 고객은 제품(들)을 판매자에게 반품할 수 있다. 비즈니스 프로세스 판매자는 반품 컴포넌트에 의해 구현될 수 있는 물품의 "판매 취소(un-sell)"를 거칠 수 있다. 반품은, 판매된 제품이 실제로 다시 비즈니스로 돌아와 다시 판매 가능한, 재입고(restock); 고객으로부터 수금된 금액이 부분적으로 또는 완전히 반환되는, 환불; 환불된 금액이 얼마인지를 기록하는 회계 조정(예를 들면, 임의의 재입고 수수료가 있는지 또는 반품되지 않고 고객의 손에 남아 있는 상품을 포함함) 등과 같은, 각종의 상이한 액션으로 구성될 수 있다. 반품은 판매 계약(예를 들면, 주문)에 대한 변경을 나타낼 수 있으며, 여기서 전자 상거래 플랫폼(100)은 판매자가 법적 의무에 관련한(예를 들면, 세금과 관련한) 준수 문제(compliance issue)를 알게 할 수 있다. 일부 실시예에서, 전자 상거래 플랫폼(100)은, 판매 모델 컴포넌트(예를 들면, 물품에 발생한 판매 관련 이벤트를 기록하는 추가 전용(append-only) 날짜 기반 원장)를 통해 구현되는 것과 같이, 판매자가 시간에 따른 판매 계약의 변경을 추적하는 것을 가능하게 할 수 있다.
전자 상거래 플랫폼에서의 메시지 분석
위에서 개략적으로 기술된 바와 같이, 고객에 의해 행해진 제품에 대한 주문을 이행하는 것은 고객으로의 제품의 배송을 용이하게 하는 것을 포함할 수 있다. 판매자는, 예를 들어, 배송 제공업체(112)를 통해 배송 라벨을 구매하는 것에 의해 이 배송을 준비할 수 있다. 대안적으로, 제3자가 제품의 배송을 용이하게 할 수 있다. 고객은, 그 중에서도, 배송 제공업체, 추적 번호, 추적 URL, 배송 상태 및/또는 예상 배달 날짜를 포함할 수 있는 배송에 대한 배송 정보를 제공받을 수 있다. 이 배송 정보는, 예를 들어, 이메일 메시지, 문자 또는 SMS(short message service) 메시지 또는 인스턴트 메시지와 같은, 메시지를 통해 사용자에게 제공될 수 있다. 일부 구현에서, 제품 정보 - 즉 배송에 포함된 제품에 대한 정보 - 가, 추가적으로 또는 대안적으로, (예를 들면, 구매자가 특정 배송을 식별할 수 있게 하기 위해) 배송 정보에 포함될 수 있다. 메시지를 전달하는 데 사용되는 메시징 서비스가 전자 상거래 플랫폼(100)에 의해 지원될 수 있다. 예를 들어, 전자 상거래 플랫폼(100)은 고객 및/또는 판매자와 통신하고 고객으로의 배송 정보의 전달을 용이하게 하기 위해 이메일 메시징 서비스를 지원할 수 있다. 메시징 서비스가 또한 또는 그 대신에 제3자에 의해 지원될 수 있다.
고객에게 배송 정보를 제공하는 메시지는 고객이 정리하기 어렵거나 정리하는 데 시간이 많이 걸릴 수 있다. 특히, 배송 정보를 제공하는 메시지가 복수의 메시지 사이에 보관될 수 있다. 예를 들어, 배송 정보를 제공하는 이메일 메시지가 고객의 받은 편지함에 묻히게 될 수 있어, 배송 정보가 필요할 때 고객이 나중에 메시지를 찾아내는 것을 어렵게 만들 수 있다. 다른 예에서, 상이한 유형의 메시지(예를 들면, SMS, 이메일, 채팅/IM 등)에 대한 통합된 받은 편지함이 없는 것 및/또는 주어진 유형의 다수의 받은 편지함으로 인해(예를 들면, SMS의 경우 다수의 전화 번호 또는 이메일의 경우 다수의 이메일 계정/주소로 인해), 그러한 메시지는 하나 이상의 유형의 하나 이상의 받은 편지함에 걸쳐 분산될 수 있고 따라서 찾아내기 어려울 수 있다. 그에 따라, 고객(사용자)의 메시지로부터 배송 정보를 획득하고 통합하기 위한 컴퓨터 구현 시스템이 필요하다.
도 3은 메시지 분석 엔진(300)을 포함하는 도 1의 전자 상거래 플랫폼(100)을 예시한다. 메시지 분석 엔진(300)은 메시지로부터 배송 정보를 획득하고 배송 정보를 저장하기 위한 컴퓨터 구현 시스템의 예이다. 예로서, 고객이 배송을 추적하는 것에 관련된 이메일 메시지를 수신할 때, 메시지 분석 엔진(300)은 이메일 메시지로부터 배송 정보를 추출하고 해당 배송 정보를 고객에 대한 모든 제품 배송의 집계된 요약에 추가할 수 있다. 이 요약은 이어서 전자 상거래 플랫폼(100)에서의 고객의 계정을 통해 고객에 의해 액세스될 수 있어, 고객이 자신의 배송 각각에 대한 배송 제공업체, 추적 번호, 추적 URL, 배송 상태 및/또는 예상 배달 날짜를 빠르고 쉽게 검토할 수 있게 할 수 있다. 고객은 배송 정보를 획득하기 위해 각각의 이메일 메시지를 개별적으로 보는 것을 피할 수 있다. 따라서, 배송 정보의 집계된 요약은 고객의 시간과 노력을 절감하고, 다수의 온라인 상점에서 쇼핑하고 동시에 많은 제품 배송이 보류 중인 고객에게 특히 유용하다.
메시지 분석 엔진(300)이 메시지로부터 배송 정보를 획득하는 것으로 제한되지 않는다는 점에 유의해야 한다. 다른 유형의 정보가 또한 또는 그 대신에 메시지로부터 획득될 수 있다. 예를 들어, 메시지 분석 엔진(300)은 거래 데이터, 청구 정보, 구매한 제품에 대한 정보, 제공되는 서비스에 대한 정보 및 전자 상거래 플랫폼(100)을 통한 비즈니스와 연관된 임의의 다른 정보를 획득하고 저장(그리고, 잠재적으로, 집계)할 수 있다.
메시지 분석 엔진(300)이 도 3에서 전자 상거래 플랫폼(100)의 별개의 컴포넌트로서 예시되어 있지만, 이것은 단지 예일 뿐이다. 메시지 분석 엔진은 또한 또는 그 대신에 전자 상거래 플랫폼(100)의 다른 컴포넌트에 의해 제공되거나 또는 플랫폼(100) 외부에 있는 독립형 컴포넌트 또는 서비스로서 제공될 수 있다. 일부 실시예에서, 상거래 관리 엔진(136) 및/또는 애플리케이션(142A)이 메시지 분석 엔진을 제공한다. 전자 상거래 플랫폼(100)은 하나 이상의 당사자에 의해 제공되는 다수의 메시지 분석 엔진을 포함할 수 있다. 다수의 메시지 분석 엔진은 동일한 방식으로, 유사한 방식으로 및/또는 독특한 방식으로 구현될 수 있다. 추가적으로, 메시지 분석 엔진의 적어도 일 부분이 고객 디바이스(150)에서 구현될 수 있다. 예를 들어, 고객 디바이스(150)는 메시지 분석 엔진을 소프트웨어 애플리케이션으로서 로컬로 저장하고 실행할 수 있다.
메시지 분석 엔진(300)은 본 명세서에서 기술된 기능성의 적어도 일부를 구현할 수 있다. 아래에서 기술되는 실시예가, 전자 상거래 플랫폼(100)과 같은(그러나 이에 제한되지 않는), 전자 상거래 플랫폼과 관련하여 구현될 수 있지만, 아래에서 기술되는 실시예는 도 1 내지 도 3의 특정 전자 상거래 플랫폼(100)으로 제한되지 않는다. 게다가, 본 명세서에서 기술된 실시예는 반드시 전자 상거래 플랫폼과 관련하여 구현될 필요는 없거나 전자 상거래 플랫폼을 포함할 필요는 없다. 다른 컴퓨팅 플랫폼 및 디바이스가 본 명세서에서 개시된 시스템 및 방법 중 적어도 일부를 구현할 수 있다.
메시지로부터 배송 정보 획득
메시지로부터 정확하고 일관되게 배송 정보를 획득하는 것은 어려울 수 있다. 고객에게 제품을 배송하는 데 이용될 수 있는 엄청난 수의 배송 제공업체, 주문 처리 네트워크, 우편 서비스 제공업체, 라스트 마일 배달 서비스 등이 있다. 각각의 판매자 및/또는 배송 제공업체는 전형적으로 자체 메시지 형식과 추적 번호 시스템을 가지고 있다. 더욱이, 디지털 통지는 다양한 형태를 취할 수 있고/예를 들어, 이메일 메시지, 텍스트 메시지, 인스턴트 메시지 등과 같은 다양한 유형을 가질 수 있다. 게다가, 일련의 메시지가, 동일한 유형이든 상이한 유형이든 간에, 모두 상이한 형식을 가질 수 있다. 그 결과, 배송 정보를 포함할 수 있는 잠재적인 메시지 형식의 수가 엄청나다.
메시지로부터 배송 정보를 획득하기 위한 결정론적 방법을 구현하는 것은 이러한 수의 잠재적인 메시지 형식에 대해 실현 가능하지 않을 수 있다. 결정론적 방법은 메시지로부터 배송 정보를 추출하기 위해 종종 고정된 규칙 세트를 사용한다. 그렇지만, 정확하기도 하고 일관되기도 하기 위해, 메시지로부터 배송 정보를 획득하기 위한 결정론적 방법은 각각의 가능한 메시지 형식을 처리하도록 능동적으로 구성되어야 한다. 예를 들어, 결정론적 방법은 모든 개별 메시지 형식을 패턴 매칭하기 위한 특유의 규칙 또는 템플릿 세트가 생성되는 것을 필요로 할 수 있다. 가능한 메시지 형식의 수는 이것을 지나치게 시간이 많이 걸리는 것으로 만들 것이다. 추가적으로, 다양한 유형의 메시지를 추적하기 위한 일관되게 채택된 형식이 없다. 게다가, 그러한 표준화에 대한 시도는 제한된 채택만을 보였고, 그러한 제한된 채택에서, 그러한 표준은 종종 일관성 없게/부정확하게 구현된다. 게다가, 배송 제공업체는 지속적으로 그의 이메일 메시지 형식을 업데이트하고 변경하고 있으며, 새로운 배송 제공업체, 배달 서비스 등도 자주 등장(즉, 사업을 시작)하고 있다. 따라서, 메시지로부터 배송 정보를 획득하기 위한 결정론적 방법도 그에 따라 능동적으로 업데이트될 필요가 있을 것이다.
메시지의 전체 콘텐츠로부터보다는, 메시지 내의 추적 URL로부터 배송 정보를 획득하는 것은 위에서 개략적으로 기술된 결정론적 방법의 적어도 일부 사용을 회피하는 데 도움을 줄 수 있다. 추적 URL은 특정 배송에 대한 배송 정보를 포함하는 웹 리소스로 유도할 수 있다. URL이 메시지의 전체 콘텐츠 중 일부만 나타낼 수 있지만, URL 자체가 여전히 메시지에 포함된 배송 정보의 대부분 또는 심지어 전체를 제공할 수 있다. 따라서, 메시지의 전체 콘텐츠를 파싱하지 않으면서 배송 정보를 획득하기 위해 추적 URL이 사용될 수 있다. URL은 또한 배송 정보를 획득하기 위한 분석을 단순화시킬 수 있는 미리 정의된 구조를 갖는다. URL의 구조는 스킴(scheme), 선택적인 기관(authority), 경로(path), 선택적인 쿼리(query) 및 선택적인 프래그먼트(fragment)를 포함한다.
스킴은 사용 중인 웹 프로토콜을 나타내는 문자열 및 그에 뒤따른 콜론(:)을 포함한다. 스킴의 비제한적인 예는 http, https, ftp, mailto, file, data, 및 irc를 포함한다.
URL에서의 기관은 그 앞에 2개의 슬래시(//)가 나온다. 기관은 사용자 이름 및 선택적으로 비밀번호를 제공하는 선택적인 사용자 정보(userinfo) 서브컴포넌트, 호스트(host) 서브컴포넌트 및 선택적인 포트(port) 서브컴포넌트를 포함할 수 있다.
경로는 서버 상의 특정 웹 리소스, 파일 또는 디렉터리에 대한 맵을 제공할 수 있다. 경로는 하나 이상의 경로 세그먼트를 포함할 수 있으며, 여기서 각각의 경로 세그먼트는 슬래시(/)로 구분된다. 그렇지만, 경로가 그 대신에 비어 있을 수 있다.
URL에서의 쿼리는 그 앞에 물음표(?)가 나오며 하나 이상의 파라미터를 포함한다. 각각의 파라미터는 앰퍼샌드(&)로 구분된다. 쿼리는 웹 리소스에 의해 제공되는 콘텐츠를 지시(dictate)할 수 있다. 예를 들어, 웹 페이지에 디스플레이되는 콘텐츠를 선택하기 위해 쿼리가 사용될 수 있다.
프래그먼트는 그 앞에 해시(#)가 나오며 보조 웹 리소스로의 안내를 제공할 수 있다.
그에 따라, URL의 구조는 scheme:[//authority]path[?query][#fragment]로서 정의될 수 있다. 예를 들어, 다음과 같은 URL: https://soup.myshopify.com/pages/recipes?param1=x¶m2=y#borscht을 고려한다. 여기서, 스킴은 https이고, 기관은 soup.myshopify.com이며, 경로는 pages/recipes이고, 쿼리는 param1=x¶m2=y이며, 프래그먼트는 borscht이다.
적어도 메시지의 전체 콘텐츠와 비교하여, URL의 구조화된 특성과 상대적으로 짧은 길이는 확률론적 방법의 사용이 배송 정보를 획득할 수 있게 한다. 확률론적 방법은 확률 분포에 기초하여 의사 결정을 하고 많은 수의 고유한 입력 및 대응하는 구체적인 출력을 포함하는 문제에 일반적으로 아주 적합하며, 이는 메시지로부터 배송 정보를 획득하기 위한 사례일 수 있다. 확률론적 방법은 상이한 메시지 형식과 메시지 형식에 대한 변경을 수용하기 위해 어느 정도의 유연성을 제공할 수 있다.
일부 실시예에서, 확률론적 방법은 URL에서 특정 파라미터 또는 구문을 인식하는 것에 의해 URL로부터 배송 정보를 추출한다. 예를 들어, URL에서의 쿼리 파라미터는 country=CA&trackingId=368927473835일 수 있으며, 이는 배송의 목적지가 캐나다에 있고 추적 번호가 368927473835임을 나타낸다.
머신 러닝(ML) 모델은 확률론적 방법을 구현하는 하나의 잠재적인 방법이다. 그렇지만, ML 모델은 계산 집약적일 수 있고 트레이닝시키는 데 많은 양의 데이터를 필요로 할 수 있다. 따라서, ML 모델을 사용하여 대규모 입력 데이터 세트를 분석하는 것은 비용이 많이 들고 시간이 많이 걸릴 수 있다. 유리하게도, URL은 상대적으로 적은 수의 문자(전형적으로 50 내지 200개)를 갖고, 잘 구조화되어 있으며, 전형적으로 메시지 형식보다 덜 자주 변경될 수 있고(예를 들면, 적어도 일부 경우에, URL 형식에 대한 변경은 URL 형식에서의 역호환성을 유지할 필요성으로 인해 제한될 수 있는 반면, 이메일 본문의 형식과 같은 메시지의 형식은, 예를 들어, 문체적인 이유로 더 자주 변경될 수 있음), 따라서 ML 모델을 사용한 분석에 아주 적합하다.
URL로부터 배송 정보를 획득하는 것 외에도, 배송 정보가 또한 URL에 의해 링크되거나 URL과 다른 방식으로 연관되는 웹 리소스로부터 획득될 수 있다. 예를 들어, URL이 배송 제공업체, 추적 번호, 배송 상태 및/또는 배송의 예상 배달 날짜를 제공하는 배송 제공업체의 웹 페이지에 링크될 수 있다. 배송 정보는 결정론적 방법 및/또는 확률론적 방법을 사용하여 웹 리소스를 파싱하는 것에 의해 획득될 수 있다.
URL 및 URL과 연관된 웹 리소스 둘 모두를 분석하는 것은 메시지로부터 획득되는 배송 정보의 양을 잠재적으로 증가시킬 수 있고/있거나 배송 정보를 획득하는 데 어느 정도의 중복성을 제공할 수 있다. 예를 들어, URL로부터 획득되는 배송 정보는 URL과 연관된 웹 리소스로부터 획득되는 배송 정보에 의해 확인 및/또는 보완될 수 있으며 그 반대의 경우도 마찬가지이다. 일 예에서, URL이 배송을 추적하기 위한 것인지를 결정하며, 배송에 대한 배송 제공업체를 결정하고/하거나, 배송에 대한 추적 번호를 결정하기 위해 메시지로부터 추출된 URL이 분석된다. URL로부터 획득되는 배송 정보가 이어서 URL과 연관된 웹 리소스로부터 획득된 배송 정보로 보완 및/또는 확인될 수 있다. 다른 예에서, 배송 정보는 URL과 연관된 웹 리소스로부터 결정되고, 배송 정보는 선택적으로 URL의 분석을 통해 확인된다.
사용자 메시지들 중 하나 이상으로부터 배송 정보를 획득한 후에, 고객을 위해 배송 정보의 통합 목록이 컴파일(compile)될 수 있다. 이 목록은 사용자가 보류 중인 배송의 일부 또는 전부에 대한 정보에 한 번에 빠르고 쉽게 액세스할 수 있게 한다. 예를 들어, 사용자가 배송 정보를 가진 새로운 메시지를 수신할 때 그리고 배송이 사용자에게 성공적으로 배달될 때 배송 정보의 목록이 능동적으로 업데이트될 수 있다. 게다가, 사용자가 목록을 변경할 수 있는 능력을 부여받을 수 있다. 예를 들어, 사용자는 목록에 있는 배송 정보를 정리, 추가, 삭제 및/또는 수정할 수 있다.
배송 정보는 본 명세서에서 개시된 시스템 및 방법을 사용하여 사용자의 메시지로부터 획득될 수 있는 한 유형의 정보일뿐이다. 본 개시는 또한 사용자의 메시지로부터 다른 유형의 정보를 획득하는 것에 관한 것이다. 예를 들어, 사용자가 온라인으로 구매한 제품에 관한 정보가 사용자의 메시지로부터 획득될 수 있다. 사용자가 온라인으로 주문한 제품에 대한 제품 정보를 획득하기 위해 이러한 메시지 내의 URL 및 선택적으로 해당 URL과 연관된 웹 리소스를 분석하는 것이 구현될 수 있다. 이러한 제품 정보를 컴파일하는 것은 하나의 상거래 플랫폼으로부터의 제품 추천이, 예를 들어, 다른 상거래 플랫폼으로부터의 사용자의 구매를 포함할 수 있게 할 수 있다. 다른 예에서, 예를 들어, 향후 배송에 관한 정보가 획득될 수 있는 것과 같이, 다른 잠재적으로 관련성 있는 데이터가 사용자의 메시지 내의 URL의 분석에 기초하여 획득될 수 있다. 특히, 그러한 잠재적으로 관련성 있는 데이터는 다가오는 배송에 관련된 제품 데이터/정보를 포함할 수 있다. 추가적으로 또는 대안적으로, 적어도 일부 경우에, 그러한 잠재적으로 관련성 있는 정보는 사용자의 메시지에서 이용 가능하지 않은/메시지를 통해 사용자에게 통신되지 않을 정보를 포함할 수 있다. 추가적으로 또는 대안적으로, 적어도 일부 경우에, 잠재적으로 관련성 있는 정보는 메시지에 존재하지만 메시지가 렌더링될 때 표시되지 않는 정보를 포함할 수 있다. 예를 들어, 잠재적으로 관련성 있는 정보는 메시지에 포함된 메타데이터/마크업에서 발견될 수 있다. 다른 예에서, 메시지가 특정 카테고리의 디바이스/클라이언트에 의해 렌더링될 때 잠재적으로 관련성 있는 정보가 보이지 않을 수 있다(예를 들면, 메시지가 데스크톱 컴퓨터에서 렌더링될 때만 보이고 메시지가 모바일 디바이스에서 제시하기 위해 렌더링될 때는 보이지 않는 정보).
메시지로부터 배송 정보를 획득하기 위한 예시적인 시스템 및 방법
도 4는 디지털 메시지로부터 정보를 획득하기 위한 예시적인 시스템(400)을 예시하는 블록 다이어그램이다. 시스템(400)은 메시지 분석 엔진(402), 네트워크(420) 및 사용자 디바이스(430)를 포함한다.
메시지 분석 엔진(402)은 메시지로부터 정보를 획득하기 위해 메시지를 저장하고 분석한다. 획득된 정보는 이어서 메시지 분석 엔진(402)에 의해 컴파일되어 저장될 수 있으며, 선택적으로 사용자 디바이스(430)로 전송될 수 있다. 메시지 분석 엔진(402)에 의해 획득된 정보가 배송 정보이거나 이를 포함할 수 있지만, 다른 유형의 정보가 또한 고려된다. 예를 들어, 사용자가 온라인으로 구매한 제품에 관한 정보가 메시지 분석 엔진(402)에 의해 획득될 수 있다.
메시지 분석 엔진(402)의 위치는 구현 특정적이다. 일부 구현에서, 메시지 분석 엔진(402)은, 전자 상거래 플랫폼의 핵심 기능으로서 또는 전자 상거래 플랫폼에 의해 지원되는 애플리케이션으로서, 전자 상거래 플랫폼에 의해 적어도 부분적으로 제공된다. 예를 들어, 메시지 분석 엔진(402)은 도 3의 메시지 분석 엔진(300)일 수 있다. 일부 구현에서, 메시지 분석 엔진(402)은 전자 상거래 플랫폼 외부에 있거나 사용자 디바이스에 의해 적어도 부분적으로 구현되는 독립형 컴포넌트, 애플리케이션 또는 서비스로서 구현된다. 메시지 분석 엔진(402)의 다른 구현이 또한 고려된다. 메시지 분석 엔진(402)이 단일 컴포넌트로서 도시되어 있지만, 메시지 분석 엔진(402)은 그 대신에, 예를 들어, 네트워크(420)를 통해 통신하는 다수의 상이한 컴포넌트에 의해 제공될 수 있다.
메시지 분석 엔진(402)은 프로세서(404), 메모리(406) 및 네트워크 인터페이스(408)를 포함한다. 프로세서(404)는 메모리(406)에 또는 다른 비일시적 컴퓨터 판독 가능 매체에 저장된 명령어를 실행하는 하나 이상의 프로세서에 의해 구현될 수 있다. 이러한 명령어는 본 명세서에서 기술된 임의의 방법을 구현할 수 있다. 대안적으로, 프로세서(404)의 일부 또는 전부는, ASIC(application specific integrated circuit), GPU(graphics processing unit) 또는 프로그래밍된 FPGA(field programmable gate array)와 같은, 전용 회로를 사용하여 구현될 수 있다.
네트워크 인터페이스(408)는 네트워크(420)를 통한 통신을 위해 제공된다. 네트워크 인터페이스(408)의 구조는 구현 특정적이다. 예를 들어, 네트워크 인터페이스(408)는 네트워크 인터페이스 카드(NIC), 컴퓨터 포트(예를 들면, 플러그 또는 케이블이 연결되는 물리적 콘센트) 및/또는 네트워크 소켓을 포함할 수 있다.
메모리(406)는 메시지 기록(410), 배송 제공업체 기록(412), 메시지 카테고리 기록(413), URL 카테고리 기록(414), 하나 이상의 ML 모델(들)(416) 및 배송 정보 기록(418)을 저장한다.
메시지 기록(410)은 메시지 분석 엔진(402)에 의한 분석을 위해 저장되는 메시지를 포함한다. 이러한 메시지는 이메일 메시지, 텍스트 메시지, 인스턴트 메시지 등을 포함할 수 있다. 예를 들어, 음성 메일 메시지 및 디지털 어시스턴트로부터의 메시지와 같은, 오디오 메시지가 또한 메시지 기록(410)에 포함될 수 있다. 일부 경우에, 메시지의 직렬화된 버전이 메시지 기록(410)에 저장된다. 메시지의 직렬화된 버전의 예는 이메일 메시지를 위한 EML 파일이다.
메시지는 메시지 분석 엔진(402)에 의한 분석 이전 및/또는 분석 동안에 메시지 기록(410)에 일시적으로만 저장될 수 있다. 그렇지만, 메시지 기록(410)은 또한 메시지의 영구적 또는 반영구적 기록을 제공할 수 있다.
메시지 기록(410)에 저장된 메시지는 다수의 상이한 방식 중 임의의 것으로 획득될 수 있다. 일부 구현에서, 메시지 분석 엔진(402)은 메시징 서비스 상의 하나 이상의 사용자 계정에 대한 액세스를 승인받는다. 이 액세스는 메시지 분석 엔진(402)이 메시징 서비스로부터 사용자 메시지를 획득할 수 있게 할 수 있다. 메시징 서비스의 비제한적인 예는 이메일 서비스, 텍스트 메시징 서비스 및 인스턴트 메시징 서비스를 포함한다. 게다가, 사용자는 메시지 분석 엔진(402)에 다수의 메시징 서비스 상의 자신의 계정에 대한 액세스를 승인할 수 있다. 따라서, 메시지 분석 엔진(402)은 하나 이상의 이메일 계정, 하나 이상의 텍스트 메시징 계정 및/또는 하나 이상의 인스턴트 메시징 계정으로부터 사용자의 메시지를 획득할 수 있다.
일단 메시지 분석 엔진(402)이 메시징 서비스 상의 사용자 계정에 액세스하면, 해당 메시징 서비스 상의 사용자의 메시지 중 임의의 것, 일부 또는 전부가 메시지 기록(410)에 저장될 수 있다. 메시지는 메시징 서비스를 지원하는 서버로부터 및/또는 사용자 디바이스(예를 들어, 사용자 디바이스(430))로부터 수신될 수 있다. 일부 경우에, 사용자가 메시징 서비스를 통해 새로운 메시지를 수신할 때, 메시지 기록(410)은 또한 새로운 메시지를 획득하고 저장할 수 있다. 따라서, 메시지 기록(410)은 사용자가 하나 이상의 메시징 플랫폼을 통해 수신하는 메시지의 통합 목록을 포함할 수 있다. 일부 경우에, 사용자는 어느 메시지가 메시지 기록(410)에 저장되는지를 능동적으로 선택하고/하거나 어느 메시지가 메시지 기록(410)에 저장되는지를 결정하는 규칙 세트를 정의한다. 예를 들어, 사용자는 특정 송신자로부터의 메시지만이 메시지 기록(410)에 저장되도록 메시지 분석 엔진(402)의 액세스를 구성할 수 있다.
배송 제공업체 기록(412)은 알려진 배송 제공업체들의 목록 또는 세트를 포함한다. 일부 경우에, 이 목록은, 예를 들어, 하나 이상의 데이터 소스로부터 획득된 정보에 기초하는 것과 같이, 자동으로 작성되거나 유지될 수 있다. 예를 들어, 배송 제공업체에 의해 사용되는 배송 메시지 형식, 배송 제공업체에 의해 사용되는 추적 URL 형식 및/또는 배송 제공업체에 의해 사용되는 웹 리소스 형식을 포함하여, 이러한 배송 제공업체 각각에 관한 정보가 또한 배송 제공업체 기록(412)에 저장될 수 있다. 본 명세서의 다른 곳에서 더 상세히 논의된 바와 같이, 배송 제공업체 기록(412)은 메시지로부터 배송 정보를 획득 및/또는 확인하는 것을 돕기 위해 사용될 수 있다.
메시지 카테고리 기록(413)은 미리 정의된 메시지 카테고리들의 목록 또는 세트를 포함한다. 이러한 미리 정의된 메시지 카테고리 중 적어도 일부는, 예를 들어, 상이한 메시지 형식, 템플릿 또는 구조에 대응할 수 있다.
일부 구현에서, 메시지 카테고리 기록(413) 내의 미리 정의된 메시지 카테고리는 메시지의 잠재적인 기능에 (적어도 부분적으로) 기초하여 정의된다. 그에 따라, 메시지의 메시지 카테고리를 결정하는 것은 메시지의 기능을 결정하는 데 도움이 될 수 있다. 그러한 미리 정의된 메시지 카테고리의 비제한적인 예는 이하를 포함한다:
메시지 카테고리 기록(413) 내의 미리 정의된 메시지 카테고리는 또한 또는 그 대신에 메시지의 송신자에 (적어도 부분적으로) 기초하여 정의될 수 있다. 상이한 판매자, 배송 제공업체 및 다른 송신자가 그의 송신 주소 및/또는 자체 메시지 형식을 가질 수 있으며, 이들 각각 또는 둘 모두는, 단독으로 또는 조합하여, 메시지 카테고리 기록(413) 내의 각자의 메시지 카테고리에 대응할 수 있다. 예에서, 다수의 배송 추적 메시지 카테고리가 정의될 수 있으며, 여기서 각각의 카테고리는 배송 제공업체 기록(412)에 정의된 상이한 배송 제공업체에 대응한다.
일부 구현에서, 메시지 카테고리 기록(413)은 배송 정보를 잠재적으로 포함할 수 있는 메시지를 식별하는 데 도움이 될 수 있고 심지어 메시지 내의 배송 정보 중 적어도 일부를 결정하는 데 도움이 될 수 있다. 예를 들어, 특정 메시지가 미리 정의된 특정 메시지 카테고리에 대응한다고 결정될 수 있다. 이 미리 정의된 메시지 카테고리가 배송 추적과 연관되어 있는 경우, 메시지가 또한 배송 추적과 연관되어 있다고 결정될 수 있다. 게다가, 메시지 카테고리가 특정 배송 제공업체와 연관되어 있는 경우, 배송이 해당 배송 제공업체에 의해 용이하게 되고 있다고 결정될 수 있다.
URL 카테고리 기록(414)은 미리 정의된 URL 카테고리들의 목록 또는 세트를 포함한다. 이러한 미리 정의된 URL 카테고리 각각은, 예를 들어, 상이한 URL 형식, 템플릿 또는 구조에 대응할 수 있다. 이러한 미리 정의된 URL 카테고리는 URL의 기능 및/또는 URL에 의해 링크되는 웹 리소스의 기능을 결정하는 데 도움을 주기 위해 사용될 수 있다. 환언하면, URL 카테고리 기록(414)에 저장된 미리 정의된 URL 카테고리 중 하나에 특정 URL을 매칭시키는 것에 의해, URL에 의해 링크되는 웹 리소스의 목적이 결정될 수 있다.
일부 구현에서, URL 카테고리 기록(414)에 저장된 미리 정의된 URL 카테고리 중 적어도 하나는 추적 URL 카테고리이거나 배송을 추적하는 것에 다른 방식으로 관련되어 있다. URL 카테고리 기록(414)은 다수의 추적 URL 카테고리를 포함할 수 있으며, 여기서 추적 URL 카테고리 각각은 각자의 배송 제공업체에 특정적일 수 있다. 예를 들어, 특정 배송 제공업체에 의해 사용되는 URL 형식은 해당 배송 제공업체에 특정적인 하나 이상의 추적 URL 카테고리에 속할 수 있다. 일부 경우에, 배송 제공업체 기록(412) 내의 각각의 배송 제공업체가 URL 카테고리 기록(414)에 정의된 하나 이상의 대응하는 URL 카테고리를 갖도록, URL 카테고리 기록(414)이 배송 제공업체 기록(412)과 상관된다. 그렇지만, 다수의 상이한 배송 제공업체가 유사한 형식을 가진 URL을 사용할 수 있다. 추가적으로, 일부 경우에서, URL은 배송 정보가 획득될 수 있는 배송 정보 집계자에 대응할 수 있지만, 해당 집계자는 배송의 실제 배송/배달의 처리에 대한 책임이 없을 수 있다. 이에 따라, 추적 URL 카테고리는 다수의 상이한 배송 제공업체와 연관될 수 있다. URL 카테고리 기록(414)에 배송 추적에 관련되지 않은 하나 이상의 미리 정의된 URL 카테고리가 또한 있을 수 있다.
본 명세서의 다른 곳에서 더 상세히 논의된 바와 같이, URL 카테고리 기록(414)에 미리 정의된 URL 카테고리를 저장하는 것은 URL로부터 배송 정보를 결정하는 데 도움이 될 수 있다. URL이 특정 배송 제공업체와 연관된 추적 URL 카테고리에 대응한다고 결정되는 경우, URL이 해당 배송 제공업체에 의해 용이하게 되는 배송을 추적하는 것에 관련되어 있다고 추론될 수 있다. 추적 URL 카테고리를 알고 있는 것은 또한 추적 번호가 URL로부터 추출될 수 있게 할 수 있다. 예에서, 특정 추적 URL 카테고리는 추적 번호를 포함하는 URL 형식에 대응한다. 추적 번호는 일반적으로 URL 형식에서 동일한 위치에 포함된다. 이에 따라, 해당 추적 URL 카테고리의 추적 번호에 대해 시작 인덱스와 끝 인덱스가 정의되고 URL 카테고리 기록(414)에 저장될 수 있다. 시작 인덱스는 추적 번호의 첫 번째 숫자의 위치에 대응하고, 끝 인덱스는 추적 번호의 마지막 숫자의 위치에 대응한다. 시작 인덱스와 끝 인덱스를 사용하여, 이 추적 URL 카테고리의 URL로부터 추적 번호가 추출될 수 있다. 시작 인덱스 및/또는 끝 인덱스는 URL의 시작 부분으로부터 또는 URL의 끝부분으로부터 정의될 수 있다. 환언하면, URL에서 추적 번호의 시작 및/또는 끝을 찾는 것은 URL의 시작 부분으로부터 전방으로 카운트하는 것 또는 URL의 끝부분으로부터 후방으로 카운트하는 것을 포함할 수 있다.
ML 모델(들)(416)은 메시지를 분석하고 메시지로부터 (예를 들어, 배송 정보와 같은) 정보를 획득하기 위해 프로세서(404)에 의해 실행 가능하다. 일부 경우에, ML 모델(들)(416)은 메시지로부터 정보를 획득하기 위한 확률론적 방법을 구현한다.
ML 모델(들)(416)은 본 기술 분야에서 알려진 임의의 형태 또는 구조를 사용하여 구현될 수 있다. ML 모델(들)(416)에 대한 예시적인 구조는 이하를 포함하지만 이들로 제한되지는 않는다:
ML 모델(들)(416)을 트레이닝시키는 데 사용되는 방법은 또한 구현 특정적이며 본 명세서에서 제한되지 않는다. 트레이닝 방법의 비제한적인 예는 이하를 포함한다:
일부 실시예에 따르면, ML 모델(들)(416) 중 하나 이상은 지도 학습을 사용하여 트레이닝된다. 지도 학습에서, 트레이닝은 트레이닝 데이터 세트 내의 입력 데이터를 분석하는 것, 정량적 비교를 행하는 것, 및 결론을 트레이닝 데이터 세트 내의 알려진 결과와 상호 참조하는 것에 의해 수행된다. 이러한 분석 및 비교의 반복 개선(iterative refinement)은 ML 모델이 ML 모델에 의해 예측된 결과와 알려진 결과 간의 더 큰 확실성을 달성할 수 있게 한다. 이 프로세스는 솔루션이 수렴하거나 원하는 정확도에 도달할 때까지 반복적으로 계속된다.
일부 실시예에 따르면, ML 모델(들)(416) 중 하나 이상은 비지도 학습을 사용하여 트레이닝된다. 비지도 학습에서, ML 모델은 트레이닝 데이터 세트로부터 자체 연결을 결정하고 드로잉한다. 이는 트레이닝 데이터 세트에서 자연적으로 발생하는 데이터 관계 또는 패턴을 조사하는 것에 의해 행해질 수 있다. 비지도 학습을 구현하는 한 가지 방법은 목표가 트레이닝 데이터 세트 내에서 그룹 또는 클러스터를 발견하는 것인 클러스터 분석이다. 클러스터는 ML 모델에 의해 유사하게 취급되는 변수들의 세트이다. 클러스터 분석에서, ML 모델은 높은 그룹 내 유사성 및 낮은 그룹 간 유사성을 갖는 클러스터를 결정하기 위해 트레이닝 데이터 세트를 세분할 것이다. 클러스터 분석에 사용되는 클러스터의 수는 ML 모델에서 구성 가능할 수 있다.
ML 모델(들)(416) 중 임의의 것, 하나, 일부 또는 전부는 다중 작업 학습(MTL) 모델이거나 이를 포함할 수 있다. MTL 모델은 다수의 작업을 동시에 수행하는 것에 의해 보다 정확하게 및/또는 효율적으로 메시지로부터 정보를 추출하는 데 도움이 될 수 있다. 예를 들어, 메시지 내의 URL이 배송을 추적하는 것에 관련이 있는지 여부를 결정하는 것, 배송에 대한 배송 제공업체를 결정하는 것, 배송에 대한 추적 번호를 결정하는 것, 및 배송을 개시한 판매자를 결정하는 것은 모두 단일 MTL 모델에 의해 해결될 수 있는 "작업"으로 간주될 수 있다. 이러한 작업들 간의 공통점과 차이점은 각각의 작업을 개별적으로 해결하기 위해 구현되는 다수의 ML 모델과 비교하여 MTL 모델의 전체 정확도를 개선시키는 데 도움이 될 수 있다. MTL 모델은, 집단으로서는 정확하지 않거나 일관되지 않을 수 있는 개선된 개별 답변을 제공하는, 각각의 작업의 결과를 개별적으로 개선시키는 것보다는, 개선된 집단적 답변을 제공하기 위해 모든 작업에 걸쳐 결과를 동시에 개선시키도록 트레이닝될 수 있다. 더욱이, 다수의 ML 모델 대신에 단일 MTL 모델을 구현하는 것은 트레이닝되고 유지될 필요가 있는 ML 모델의 전체 수를 감소시킬 수 있다.
배송 정보 기록(418)은 하나 이상의 사용자에 대해 획득된 배송 정보를 포함한다. 이 배송 정보는 ML 모델(들)(416) 및/또는 본 명세서의 다른 곳에서 개시된 방법을 사용하여 메시지 기록(410)에 저장된 메시지로부터 결정될 수 있다. 그렇지만, 배송 정보는, 예를 들어, 사용자 디바이스(430) 상에서의 직접적인 사용자 입력을 통하는 것과 같이, 다른 소스로부터도 획득될 수 있다. 일부 구현에서, 배송 정보 기록(418)은 하나 이상의 사용자에 대한 배송 정보의 통합 목록을 컴파일하거나 다른 방식으로 제공한다. 배송 정보의 목록은 능동적으로 업데이트될 수 있다. 일 예에서, 배송이 사용자에 의해 수령될 때, 이 배송에 대응하는 배송 정보가 배송 정보 기록(418)으로부터 제거될 수 있다. 다른 예에서, 새로운 메시지가 메시지 기록(410)에 의해 획득되고 배송 정보가 이 메시지로부터 획득될 때, 배송 정보가 배송 정보 기록(418)에 추가될 수 있다.
메시지 기록(410), 배송 제공업체 기록(412), 메시지 카테고리 기록(413), URL 카테고리 기록(414) 및 배송 정보 기록(418)이 도 4에서 개별적으로 도시되어 있지만, 이러한 기록들 중 2개 이상이 그 대신에 일부 실시예에서 단일 기록으로 결합될 수 있음에 유의해야 한다. 일 예에서, 메시지 기록(410)과 배송 정보 기록(418)이 단일 기록으로 결합될 수 있다. 다른 예에서, 배송 제공업체 기록(412), 메시지 카테고리 기록(413) 및 URL 카테고리 기록(414)이 단일 기록으로 결합될 수 있다.
사용자 디바이스(430)는 프로세서(432), 메모리(434), 사용자 인터페이스(436) 및 네트워크 인터페이스(438)를 포함한다. 사용자 인터페이스(436)는, 예를 들어, 디스플레이 스크린(터치 스크린일 수 있음), 제스처 인식 시스템, 스피커, 헤드폰, 마이크로폰, 햅틱, 키보드 및/또는 마우스를 포함할 수 있다. 네트워크 인터페이스(438)는 네트워크(420)를 통해 통신하기 위해 제공된다. 네트워크 인터페이스(438)의 구조는 사용자 디바이스(430)가 네트워크(420)와 인터페이싱하는 방법에 의존할 것이다. 예를 들어, 사용자 디바이스(430)가 모바일 폰, 헤드셋 또는 태블릿인 경우, 네트워크 인터페이스(438)는 네트워크(420)로/로부터 무선 전송을 송신 및 수신하기 위한 안테나를 가진 송신기/수신기를 포함할 수 있다. 사용자 디바이스가 네트워크 케이블에 의해 네트워크에 연결된 개인용 컴퓨터인 경우, 네트워크 인터페이스(438)는, 예를 들어, NIC, 컴퓨터 포트 및/또는 네트워크 소켓을 포함할 수 있다. 프로세서(432)는 사용자 디바이스(430)에 의해 수행되는 동작들 전부를 직접 수행하거나 지시한다. 이러한 동작의 예는 사용자 인터페이스(436)로부터 수신되는 사용자 입력을 프로세싱하는 것, 네트워크(420)를 통해 전송하기 위한 정보를 준비하는 것, 네트워크(420)를 통해 수신되는 데이터를 프로세싱하는 것, 및 정보를 디스플레이하도록 디스플레이 스크린에 지시하는 것을 포함한다. 프로세서(432)는 메모리(434)에 저장된 명령어를 실행하는 하나 이상의 프로세서에 의해 구현될 수 있다. 대안적으로, 프로세서(432)의 일부 또는 전부는, ASIC, GPU 또는 프로그래밍된 FPGA와 같은, 전용 회로를 사용하여 구현될 수 있다.
도 4에서, 하나의 사용자 디바이스가 예로서 도시되어 있다. 하나 초과의 사용자 디바이스가 메시지 분석 엔진(402)과 통신할 수 있다.
도 5는 일 실시예에 따른, 배송 정보를 획득하기 위해 메시지를 분석하기 위한 방법(500)을 예시하는 흐름 다이어그램이다. 방법(500)은 도 4의 메시지 분석 엔진(402)에 의해 수행되는 것으로 기술될 것이다. 그렇지만, 다른 구현이 또한 고려된다. 예를 들어, 방법(500)은 전체적으로 또는 부분적으로 사용자 디바이스(430)에 의해 수행될 수 있다.
이 방법은 고객과 연관된 복수의 메시지를 식별하는 단계를 포함할 수 있다. 적어도 하나의 배송에 대한 배송 정보가 복수의 메시지로부터 추출될 수 있다. 단계(502)는 프로세서(404)가 주어진 메시지에 대응하는 디지털 콘텐츠를 획득하는 단계를 포함한다. 메시지는 복수의 식별된 메시지 중 하나일 수 있다. 이 디지털 콘텐츠는, 예를 들어, 메시지 내의 콘텐츠 중 임의의 것, 일부 또는 전부(예를 들면, 메시지의 제목, 본문(text) 및/또는 첨부 파일), 메시지의 송신자 및/또는 메시지의 수신자(들)을 포함할 수 있다. 일부 경우에, 단계(502)에서 메시지의 직렬화된 버전이 획득된다. 디지털 콘텐츠는, 예를 들어, 메시지 기록(410)으로부터, 사용자 디바이스(430)로부터 및/또는 메시징 서비스를 호스팅하는 서버로부터 획득될 수 있다.
단계(504)는 프로세서(404)가 단계(502)에서 획득된 디지털 콘텐츠로부터 하나 이상의 URL을 획득하는 단계를 포함한다. 각각의 URL은 웹 리소스와 연관된다. URL은 메시지를 읽거나 다른 방식으로 메시지와 관여된 사용자에게 보일 수 있거나(예를 들면, 텍스트로 보여지는 하이퍼링크임) 사용자에게 보이지 않을 수 있다(예를 들면, 메타데이터이거나 보이지 않는 HTML(hypertext markup language) 요소임). 일반적으로, 단계(504)에서 디지털 콘텐츠 내의 임의의, 하나의, 일부 또는 모든 URL이 획득될 수 있다. 디지털 콘텐츠에서 URL이 발견되지 않는 경우, 방법(500)이 종료될 수 있다.
단계(504)는 다양한 기술들 중 임의의 것을 사용하여 수행될 수 있다. 일부 경우에, 단계(504)는 URL을 추출하기 위해 문자열 매칭 알고리즘과 같은 결정론적 방법을 구현할 수 있다. 예를 들어, 프로세서(404)는 디지털 콘텐츠를 파싱하고 URL 특정 구문을 포함하는 임의의 문자열을 제거할 수 있다. URL 특정 구문의 비제한적인 예는 http:, .html, .com, .org 및 .ca를 포함한다. 단계(504)에서 확률론적 방법이 또한 또는 그 대신에 구현될 수 있다. 예를 들어, ML 모델(들)(416) 중 하나 이상이 디지털 콘텐츠로부터 URL을 추출하도록 트레이닝될 수 있다.
단계(504)에서 메시지로부터 추출된 URL은 메모리(406) 또는 다른 비일시적 컴퓨터 판독 가능 매체에 저장될 수 있다. 예를 들어, 추출된 URL은 메시지와 함께 메시지 기록(410)에 저장될 수 있다.
단계(506)는 프로세서(404)가, 단계(502)에서 획득된 디지털 콘텐츠에 기초하여, 메시지가 배송을 추적하는 것에 관련되어 있다고(또는 어쩌면 관련되어 있다고) 결정하는 단계를 포함하는 선택적인 단계이다. 이 단계는 배송 정보를 획득하기 위해 방법(500)을 사용하여 메시지가 추가로 프로세싱되어야 한다는 것을 메시지 분석 엔진(402)에 알린다. 반면에, 단계(506)가 메시지가 배송을 추적하는 것에 관련되어 있지 않다고 결정하는 경우, 방법(500)은 종료될 수 있다. 이에 따라, 단계(506)는 방법(500)에 의해 프로세싱되는 메시지의 수를 필터링하는 데 도움이 될 수 있다.
일부 구현에서, 단계(506)는 메시지를 카테고리화하고 메시지 카테고리가 배송 추적과 연관되어 있다고 결정하는 단계를 포함한다. 예를 들어, 단계(506)는 메시지의 디지털 콘텐츠로부터 메시지 카테고리를 식별하도록 트레이닝된 ML 모델(ML 모델(들)(416) 중 하나일 수 있음)에 디지털 콘텐츠를 입력하는 단계를 포함할 수 있다. 이어서 이 ML 모델은 메시지에 대한 메시지 카테고리 또는 적어도 메시지 카테고리의 표시를 출력할 수 있다. 일부 경우에, ML 모델은 메시지 카테고리 기록(413)에 저장된 미리 정의된 메시지 카테고리들의 세트 중에서 메시지 카테고리를 선택할 수 있다. ML 모델에 의해 결정된 메시지 카테고리에 기초하여, 메시지가 배송에 관련되어 있는지 여부가 결정될 수 있다. 예를 들어, 배송 추적 메시지 및 주문 확인 메시지는 제품의 배송에 관련될 수 있는 메시지 카테고리로서 정의될 수 있다.
메시지의 디지털 콘텐츠로부터 메시지 카테고리를 식별하는 데 사용되는 ML 모델은 다수의 상이한 방식들 중 임의의 것으로 트레이닝될 수 있다. 일부 구현에서, 이 ML 모델에 대한 트레이닝 데이터 세트는, 각각이 알려진 메시지 카테고리로 라벨링된, 메시지들의 세트를 포함할 수 있다. 이 트레이닝 데이터 세트는 컴퓨팅 플랫폼에서의 사용자 피드백으로부터 획득될 수 있다. 예를 들어, 사용자가 컴퓨팅 플랫폼에서의 메시지에 대한 문제에 직면할 때, 사용자는 문제를 보고할 수 있다. 보고서에서, 사용자는 메시지를 제출하고 메시지에 대한 카테고리를 표시하도록 요청받을 수 있다. 메시지에 대한 카테고리는 메시지 카테고리 기록(413)에 저장된 미리 정의된 카테고리들 중 하나로부터 선택될 수 있다. 그에 따라, 이러한 보고서는 사용자에 의해 카테고리화된 메시지들의 큰 세트를 제공할 수 있으며, 따라서 ML 모델에 적합한 트레이닝 데이터 세트를 제공할 수 있다.
일부 구현에서, 단계(506)는 메시지가 배송 추적에 관련되어 있다고 결정하기 위해, 메시지의 전체 디지털 콘텐츠에 추가하여 또는 그 대신에, 단계(504)에서 획득된 URL을 사용한다. 이러한 구현에서, 단계(506)는 URL 카테고리를 식별하도록 트레이닝된 ML 모델에 URL의 적어도 일 부분을 입력하는 단계를 포함할 수 있다. 이 ML 모델은 ML 모델(들)(416) 중 하나일 수 있다. URL 카테고리가 배송 추적에 대응하는 경우, 메시지 자체가 또한 배송 추적에 관련되어 있다고 결정될 수 있다. 일부 경우에, ML 모델은 URL 카테고리 기록(414)에 저장된 미리 정의된 URL 카테고리들의 세트 중에서 URL 카테고리를 선택할 수 있다.
URL로부터 URL 카테고리를 식별하는 데 사용되는 ML 모델은 컴퓨팅 플랫폼에서의 사용자 피드백을 통해 획득된 트레이닝 데이터 세트를 사용하여 트레이닝될 수 있다. 예를 들어, 판매자가 전자 상거래 플랫폼에서 고객 주문을 이행할 때, 판매자는 주문의 배송을 추적하기 위한 URL을 제공할 수 있다. 이에 따라, 이러한 상황에서 판매자에 의해 제공되는 URL은 배송 추적에 관련된 것으로 카테고리화될 수 있다. 이러한 URL은 물론 배송 추적과 관련되지 않은 다른 URL은 배송 추적에 관련된 URL을 분류하도록 ML 모델을 트레이닝시키는 데 사용되는 트레이닝 데이터 세트의 기초를 형성할 수 있다.
단계(508)는 프로세서(404)가 단계(504)에서 획득된 URL 및/또는 이 URL과 연관된 웹 리소스에 기초하여 배송 정보를 결정하는 단계를 포함한다. 배송 정보는 웹 리소스가 배송을 추적하기 위한 것이라는 표시, 배송에 대한 추적 번호, 및 배송에 대한 배송 제공업체 중 적어도 하나를 포함한다. 웹 리소스가 배송을 추적하기 위한 것이라고 결정하는 것은 URL이 추적 URL임을 나타낼 수 있다. 이에 따라, URL 자체가 단계(508)에서 결정된 배송 정보에 추가될 수 있다. 배송 정보는 배송 중인제품(들), 배송에 대한 주문 번호, 배송 상태, 예상 배달 날짜 및/또는 배송을 개시한 판매자를 더 포함할 수 있다. 일부 경우에서, 배송이 다수의 배송 제공업체에 의해 용이하게 되고/되거나 다수의 관련 추적 번호를 가질 수 있다. 다수의 관련 추적 번호 중 임의의 것, 하나, 일부 또는 전부가 단계(508)에서 결정될 수 있다.
단계(508)의 일부 구현에서, 배송 정보의 적어도 일부는 ML 모델(들)(416) 중 하나일 수 있는 적어도 하나의 ML 모델을 사용하여 URL로부터 획득된다. ML 모델에 대한 입력은 URL을 포함할 수 있다. 그렇지만, 전체 URL이 항상 ML 모델에 입력되는 것은 아닐 수 있다. URL이 구조화된 특성을 갖기 때문에, ML 모델에 의해 분석되는 문자의 총수를 감소시키기 위해 URL의 특정 컴포넌트가 추출되어 ML 모델에 입력될 수 있다. 예를 들어, URL의 기관, 경로 및/또는 쿼리 컴포넌트를 추출하고 이러한 컴포넌트를 ML 모델에 입력하기 위해 결정론적 방법이 구현될 수 있다. ML 모델의 출력은 URL이 배송을 추적하는 것에 관련되어 있는지 여부의 표시, 배송에 대한 추적 번호에 대응하는 텍스트 문자열, 배송에 대한 배송 제공업체에 대응하는 텍스트 문자열 및/또는 다른 배송 정보를 포함할 수 있다. 일부 구현에서, 배송 제공업체에 대응하는 텍스트 문자열이 배송 제공업체 기록(412) 내의 배송 제공업체들의 목록과 비교된다. 이는 배송을 용이하게 하는 정확한 배송 제공업체를 결정하는 데 도움이 될 수 있다.
단계(508)에서 URL로부터 배송 정보를 획득하는 데 사용되는 ML 모델은 컴퓨팅 플랫폼의 사용자로부터 획득되는 데이터를 사용하여 트레이닝될 수 있다. 예를 들어, 판매자가 전자 상거래 플랫폼에서 고객 주문을 이행하고 있을 때, 판매자는 주문의 배송에 대한 추적 URL, 주문에 대한 배송 제공업체 및 주문에 대한 추적 번호를 제공할 수 있다. 이 정보는 ML 모델에 대한 트레이닝 데이터 세트의 기초를 형성하기 위해 다수의 제품 주문에 걸쳐 수집될 수 있다. 예를 들어, ML 모델은 각각의 URL로부터 올바른 배송 제공업체 및/또는 추적 번호를 예측하도록 트레이닝될 수 있다.
일부 구현에서, 단계(508)에서 URL로부터 배송 정보를 획득하기 위해 사용되는 ML 모델에 대한 입력은 URL에서의 추적 번호의 시작에 대응하는 제1 인덱스의 예측 및/또는 URL에서의 추적 번호의 끝에 대응하는 제2 인덱스의 예측을 더 포함할 수 있다. 이러한 예측은 ML 모델의 추적 번호 결정의 정확성 및/또는 신뢰성을 개선시킬 수 있다. 예를 들어, 예측은 ML 모델이 분석 동안 URL에서의 일부 문자를 무시할 수 있게 할 수 있다. 제1 인덱스 및 제2 인덱스의 예측은 확률 분포의 형태로 제공될 수 있다. ML 모델에 입력되는 URL의 각각의 문자에 대해, ML 모델은 해당 문자가 제1 인덱스일 확률 및/또는 해당 문자가 제2 인덱스일 확률이 제공받을 수 있다.
URL에서의 추적 번호에 대한 제1 인덱스의 예측 및 제2 인덱스의 예측은 다양한 상이한 방법들 중 임의의 것으로 획득될 수 있다. 일부 구현에서, 제1 인덱스 및/또는 제2 인덱스의 예측을 생성하기 위해 제1 ML 모델이 구현된다. 이 제1 인덱스 및/또는 제2 인덱스는 이어서 추적 번호에 대응하는 텍스트 문자열을 획득하기 위해, 위에서 기술된 바와 같이, 제2 ML 모델에 입력될 수 있다. 게다가, 일부 구현에서, 제1 ML 모델 및 제2 ML 모델은 단일 MTL 모델을 사용하여 함께 구현될 수 있다.
일부 구현에서, 제1 ML 모델은 URL이 (선택적으로 URL 카테고리 기록(414)에 저장된) 미리 정의된 URL 카테고리들의 세트의 어떤 URL 카테고리에 가장 잘 맞는지를 결정하는 것에 의해 URL을 카테고리화한다. 결정된 URL 카테고리는 추적 번호에 대해 일반적으로 고정된 위치를 갖는 형식을 가질 수 있다. 이에 따라, 제1 인덱스의 예측 및/또는 제2 인덱스의 예측은 결정된 URL 카테고리에 기초하여 URL 카테고리 기록(414)으로부터 획득될 수 있다. URL 카테고리는 또한 특정 배송 제공업체와 연관될 수 있으며, 따라서 배송에 대한 배송 제공업체는 추가적으로 결정된 URL 카테고리에 기초하여 URL 카테고리 기록(414)으로부터 획득될 수 있다.
일부 구현에서, 단계(506, 508) 둘 모두는 제1 ML 모델을 사용하여 적어도 부분적으로 구현될 수 있다. 예를 들어, 제1 ML 모델은 URL을 카테고리화할 수 있으며, 여기서 결정된 카테고리는 URL이 배송 추적에 관련되어 있음을 나타내고 또한 추적 번호 및/또는 배송 제공업체가 URL로부터 획득될 수 있게 한다.
제2 ML 모델과 유사하게, 제1 ML 모델도 전자 상거래 플랫폼으로부터 획득되는 트레이닝 데이터를 사용하여 트레이닝될 수 있다. 예를 들어, 판매자가 주문을 완료하기 위해 추적 URL을 전자 상거래 플랫폼에 입력하고 있을 때, 판매자는 URL을 카테고리화하고 URL과 연관된 추적 번호 및/또는 배송 제공업체를 제공하도록 요청받을 수 있다. 이어서 제1 ML 모델에 대한 트레이닝 데이터 세트의 기초를 형성할 수 있는, URL에서의 추적 번호의 제1 인덱스와 제2 인덱스를 결정하기 위해 문자열 매칭 알고리즘이 사용될 수 있다.
일부 구현에서, URL로부터 배송 정보를 획득하기 위해 제1 ML 모델만이 사용된다. 예를 들어, 제1 ML 모델은 추적 번호의 제1 인덱스, 추적 번호의 제2 인덱스 및/또는 배송 제공업체를 제공하는 URL에 대한 카테고리를 결정할 수 있다. 이 정보는 이어서 URL에서의 제1 인덱스와 제2 인덱스 사이로부터 추적 번호를 추출하는 것에 의해 추적 번호를 획득하는 데 사용될 수 있다. 따라서, 제1 ML 모델이 배송 정보를 결정하기 위해 항상 제2 ML 모델과 함께 사용되는 것은 아닐 수 있다.
단계(508)에서, URL로부터 획득되는 배송 정보가 URL과 연관된 웹 리소스로부터 획득된 배송 정보를 사용하여 보완 및/또는 확인될 수 있다. 대안적으로, 배송 정보가 전적으로 웹 리소스로부터 획득될 수 있다. 웹 리소스로부터 배송 정보를 획득하는 것은 URL을 사용하여 웹 리소스에 액세스하는 것, 웹 리소스로부터 콘텐츠를 획득하는 것, 및/또는 배송 정보를 결정하기 위해 콘텐츠를 파싱하는 것을 포함할 수 있다. 콘텐츠를 파싱하는 것은, 예를 들어, 텍스트 및/또는 이미지 분석 동작을 포함할 수 있고, 적어도 부분적으로 ML 모델(들)(416) 중 하나를 사용하여 수행될 수 있다.
URL과 연관된 웹 리소스를 파싱하는 것의 잠재적인 이점은 프로세서(404)가 웹 리소스가 사기성인지 여부를 결정할 수 있다는 것이다. 예를 들어, ML 모델(ML 모델(들)(416) 중 하나일 수 있음)은 사기성 웹 페이지를 인식하도록 트레이닝될 수 있다. 웹 페이지가 사기성이라고 결정한 후에, 해당 웹 페이지에 대한 URL을 포함하는 메시지는 피싱 또는 스팸 이메일로서 플래깅될 수 있다.
일부 구현에서, 추적 번호 및 배송 제공업체가 URL 및 웹 리소스 둘 모두로부터 획득된다. 예를 들어, URL을 파싱하는 것에 의해 추적 번호와 배송 제공업체가 먼저 획득될 수 있고, 웹 리소스를 파싱하는 것에 의해 추적 번호와 배송 제공업체가 이어서 확인될 수 있다. 이것은 단계(508)에서 정확한 추적 번호 및 배송 제공업체가 획득되도록 보장하는 데 도움이 되는 정도의 중복성을 제공한다. 일부 경우에, 프로세서(404)는 URL로부터 획득되는 추적 번호 및/또는 배송 제공업체와 매칭하는 텍스트 문자열에 대해 웹 리소스를 검색할 수 있다. 그러한 텍스트 문자열이 웹 리소스에서 발견되는 경우, 추적 번호 및/또는 배송 제공업체가 웹 리소스에 의해 확인되었다고 결정될 수 있다. 다른 결정론적 및/또는 확률론적 방법이 또한 또는 그 대신에 웹 리소스에서 추적 번호 및/또는 배송 제공업체를 확인하는 데 사용될 수 있다.
URL로부터 획득되는 추적 번호 및/또는 배송 제공업체가 웹 리소스로부터 획득되는 것과 매칭하지 않는 경우에, 불일치를 해결하기 위해 추가 프로세싱이 수행될 수 있다. 예를 들어, URL에 대한 URL 카테고리가 결정되는 경우, URL로부터 획득되는 배송 정보 또는 웹 리소스로부터의 배송 정보가 가장 정확한 것으로 간주되는지 여부를 결정하기 위해 URL 카테고리가 사용될 수 있다. URL 카테고리 기록(414)은 각각의 URL 카테고리로부터 및/또는 각각의 URL 카테고리에 대한 관련 웹 리소스로부터 얼마나 정확하게 배송 정보가 획득될 수 있는지에 대한 표시를 저장할 수 있다. 덜 정확한 배송 정보는 이어서 폐기될 수 있다. 대안적으로, URL과 웹 리소스 간의 불일치를 해결하기 위해 사용자에 의한 수동 개입이 사용될 수 있다.
예를 들어, 추적 번호가 URL로부터 추출되고 추적 번호가 또한 관련 웹 페이지로부터 추출되는 경우를 고려한다. 이 2개의 추적 번호가 매칭하는 경우, 추적 번호가 확인되고 추가 액션이 취해지지 않을 수 있다. 대안적으로, 2개의 추적 번호가 상이한 경우, 덜 정확한 추적 번호가 폐기될 수 있다. 일부 경우에, 메시지 분석 엔진이 URL로부터 추출된 추적 번호를 덜 정확한 추적 번호로서 취급하도록 구성될 수 있다. 다른 경우에, 메시지 분석 엔진이 웹 페이지로부터 추출된 추적 번호를 덜 정확한 추적 번호로서 취급하도록 구성될 수 있다.
일부 경우에, 추적 번호와 배송 제공업체 중 하나는 URL을 파싱하는 것에 의해 결정되고, 추적 번호와 배송 제공업체 중 다른 하나는 웹 리소스를 파싱하는 것에 의해 결정된다. 따라서, 웹 리소스로부터 결정되는 배송 정보는 메시지에 대해 획득되는 배송 정보의 누적 기록에 추가될 수 있다. 이것은 추적 번호 또는 배송 제공업체가 URL을 파싱하는 것에 의해 결정될 수 없고, 따라서 URL로부터 획득되는 배송 정보를 보완하기 위해 웹 리소스를 파싱하는 것이 수행될 때 발생할 수 있다. 예를 들어, URL이 추적 번호를 포함하지 않을 수 있거나, 또는 추적 번호가 URL에 인코딩되거나 해싱될 수 있다. 게다가, 다수의 상이한 배송 제공업체가 유사한 URL 형식을 사용할 수 있다. 이에 따라, 특정 배송 제공업체가 URL의 형식 또는 결정된 카테고리로부터서 추론 가능하지 않을 수 있다.
일부 경우에, 추적 번호나 배송 제공업체 중 어느 것도 URL로부터 획득될 수 없다. 그에 따라, 이러한 경우에, 단계(508)는 웹 리소스를 파싱하는 것에 의해 추적 번호와 배송 제공업체 둘 모두를 결정하는 단계를 포함할 수 있다. URL은 웹 리소스에 액세스하는 데 사용되며, 웹 리소스가 이어서 배송 정보를 획득하기 위해 파싱된다.
일부 경우에, 단계(508)에서 배송 정보를 획득하기 위해 URL만이 파싱된다. 이것은 웹 리소스가 필요한 배송 정보를 포함하지 않고, 메시지 분석 엔진(402)이 웹 리소스를 분석할 수 있는 능력을 가지고 있지 않고/않거나 배송 정보가 충분한 신뢰도로 URL로부터 획득되는 경우에 발생할 수 있다.
일부 경우에, 주어진 URL이, 예를 들어, 추정된 도착 시간과 같은 배송 정보를 포함하는 이미지에 대응할 수 있다. 머신 러닝 모델이 그러한 이미지를 분석하도록 (예를 들면, 그러한 이미지의 예로 구성된 하나 이상의 트레이닝 세트를 사용하여) 트레이닝될 수 있고 그러한 이미지로부터 정보를 추출하는 데 이용될 수 있다. 추가적으로 또는 대안적으로, 예를 들어, 광학 문자 인식과 같은 기술이 그러한 이미지로부터 정보를 추출하는 데 적용될 수 있다.
단계(508)에서 구현될 수 있는 ML 모델은 배송 정보를 결정하기 위한 확률론적 방법의 예이다. 일부 경우에, ML 모델을 사용하여 획득되는 배송 정보에 대해 포스트-프로세싱 단계가 수행될 수 있다. 포스트-프로세싱의 예는 ML 모델을 사용하여 획득되는 배송 정보를 확인 및/또는 보완하기 위해 결정론적 방법을 구현하는 것이다.
위에서 언급된 바와 같이, 단계(504)에서 하나 초과의 URL이 디지털 콘텐츠로부터 획득될 수 있다. 이러한 URL 각각이 단계(508)에서 분석될 수 있다. 일부 경우에, 디지털 콘텐츠 내의 2개 이상의 URL이 배송 정보를 포함할 수 있다. URL이 동일한 배송 또는 상이한 배송에 관련되어 있는지를 결정하기 위해 2개 이상의 URL로부터 획득되는 배송 정보가 비교될 수 있다. URL이 다수의 스테이지에서 동일한 배송을 배달하는 다수의 배송 제공업체에 관련되어 있는지를 결정하기 위해 배송 정보가 또한 비교될 수 있다.
2개의 URL이 동일한 배송에 관련되어 있는 경우, 확인을 위해 2개의 상이한 URL로부터 획득되는 배송 정보가 비교될 수 있다. 게다가, 메시지 내의 2개의 URL로부터 획득되는 배송 정보가 URL들 중 하나로부터 획득되는 배송 정보와 관련 웹 리소스로부터 획득되는 배송 정보 간의 불일치를 해결하는 데 사용될 수 있다. 예를 들어, 제1 URL로부터 추출되는 추적 번호가 또한 메시지 내의 제2 URL의 분석을 통해 결정된 경우, 제1 URL과 연관된 웹 리소스로부터 추출된 상이한 추적 번호는 무시될 수 있다.
일 예에 따르면, 제1 URL 및 제2 URL은 단계(504)에서 디지털 콘텐츠로부터 획득될 수 있다. 제1 URL 및 제2 URL은, 제각기, 제1 웹 리소스 및 제2 웹 리소스와 연관되어 있다. 여기서, 단계(508)는 제1 URL 및 제2 URL이 동일한 배송에 대응한다고 결정하는 단계, 제1 URL, 제2 URL, 제1 웹 리소스 및/또는 제2 웹 리소스로부터 동일한 추적 번호를 획득하는 단계, 및/또는 제1 URL, 제2 URL, 제1 웹 리소스 및/또는 제2 웹 리소스로부터 동일한 배송 제공업체를 획득하는 단계를 포함할 수 있다.
일부 경우에, 단계(504)에서 메시지로부터 추출되는 URL들 중 하나 이상은 배송 추적에 관련되지 않을 수 있다. 프로세서(404)가 URL이 배송 추적에 관련되어 있지 않다고 결정하는 경우, 해당 URL의 분석이 종료되고 단계(508)는 다음 URL을 분석하는 것으로 진행할 수 있거나 또는 단계(510)로 진행할 수 있다.
단계(510)는 단계(508)에서 결정된 배송 정보를 메모리(406)에 또는 다른 컴퓨터 판독 가능 매체에 저장하는 단계를 포함한다. 일부 구현에서, 배송 정보는 배송 정보 기록(418)에 저장될 수 있다. 배송 정보는 배송에 대한 추적 업데이트를 획득하기 위해 나중에 사용될 수 있다. 예를 들어, 메시지 분석 엔진(402) 또는 사용자 디바이스(430)는 배송을 용이하게 하는 배송 제공업체로부터 업데이트된 배송 정보를 획득하기 위해 배송 정보에 액세스할 수 있다. 이것은, 메모리(406)에 저장된 배송 정보에 추가될 수 있는, 배송에 대한 업데이트된 배달 날짜를 제공할 수 있다.
단계(510)로부터 단계(502)로의 화살표를 사용하여 예시된 바와 같이, 단계(502, 504, 506, 508, 510)가 각자의 메시지에 대해 여러 번 반복될 수 있다. 이것은 배송 정보 기록(418) 내의 다수의 배송에 관한 배송 정보의 누적 기록을 구축할 수 있다. 이러한 다수의 배송은 모두 동일한 사용자에 대한 것일 수 있다. 예로서, 단계(502)의 다수의 인스턴스는 사용자와 연관된 다수의 메시지에 대응하는 디지털 콘텐츠를 획득할 수 있다. 이러한 메시지는 한 번에 또는 다수의 상이한 때에 획득될 수 있다. 이러한 메시지 각각은 고객에 대한 상이한 제품 배송에 대응할 수 있다. 단계(504)의 다수의 인스턴스는 메시지 각각에 대한 디지털 콘텐츠로부터 URL을 획득할 수 있고, 단계(508)의 다수의 인스턴스는 URL 및/또는 그와 연관된 웹 리소스로부터 배송 정보를 획득할 수 있다. 단계(510)의 다수의 인스턴스는 이어서 이 배송 정보를 메모리(406)에 저장할 수 있다. 이것은 사용자에 대한 다수의 배송에 관한 배송 정보를 배송 정보 기록(418)에 추가할 수 있다.
배송 정보는 고객에 대한 하나 이상의 제품 배송의 추적 업데이트를 획득하는 데 사용될 수 있다. 하나 이상의 제품 배송의 획득된 추적 업데이트는 고객에 대한 모든 제품 배송(들)의 집계된 요약을 제시하는 데 사용하기 위해 제공될 수 있다.
단계(512)는 프로세서가 사용자 디바이스(430) 또는 다른 디바이스 상에 디스플레이하기 위해 배송 정보 기록(418) 내의 배송 정보의 적어도 일 부분을 출력하는 단계를 포함하는 선택적인 단계이다. 예를 들어, 방법(500)을 사용하여 분석되는 메시지(들)는 사용자 디바이스(430)의 사용자에 대응할 수 있고, 따라서 사용자 디바이스(430)는 배송 정보 기록(418)에 저장된 배송 정보 중 적어도 일부에 대한 액세스를 부여받을 수 있다. 이러한 배송 정보 중 임의의 것, 일부 또는 전부가 사용자 디바이스(430) 상에 디스플레이하기 위해 메시지 분석 엔진(402)에 의해 출력될 수 있다.
사용자 디바이스(430)의 사용자는 배송 정보 기록(418)에 저장된 배송 정보 중 적어도 일부를 변경하도록 허용될 수 있다. 예를 들어, 사용자 디바이스(430)를 사용하여, 사용자는 배송 정보 기록(418)을 변경하라는 지시를 생성할 수 있다. 배송 정보 기록(418)을 변경하는 비제한적인 예는 이하를 포함한다:
추가적으로 또는 대안적으로, 배송 정보를 변경하는 것은 잘못된 배송 정보의 정정을 포함할 수 있다. 예를 들어, 그러한 정정은 정정된 배송 정보의 입력을 포함할 수 있다. 일부 경우에, 사용자는 대안의 배송 정보에 대한 하나 이상의 옵션을 제시받을 수 있다. 배송 정보의 정정의 입력은 그러한 옵션에 응답하여 수신될 수 있으며 제시된 옵션들 중 하나의 선택에 대응할 수 있다. 특히, 예를 들어, 위에서 논의된 방식으로와 같이, 배송 정보를 획득하는 데 머신 러닝이 이용되는 경우, 그러한 대안들의 목록에서 제시되는 옵션은, 예를 들어, 머신 러닝 모델이 가능한 배송 정보로서 보다 낮은 신뢰도로 식별한 후보 배송 정보와 같은, 머신 러닝 모델의 적용에 의해 식별되는 배송 정보에 대한 다른 후보를 포함할 수 있다. 추가적으로, 배송 정보에 대한 정정이 수신되는 일부 구현에서, 해당 정정은 (정정된 배송 정보의 입력을 통해 수신되었는지, 대안의 배송 정보의 선택에 기초하여 수신되었는지 또는 다른 방식인지에 관계없이) 나중에 정확도를 개선시킬 목적으로 배송 정보의 식별을 위한 머신 러닝 모델을 (예를 들면, 트레이닝 세트에 정정된 정보를 추가하는 것에 의해) 업데이트/재트레이닝시키는 데 이용될 수 있다.
단계(502, 504, 506, 508, 510, 512)의 순서는 단지 예로서 도시되어 있다. 단계(502, 504, 506, 508, 510, 512)의 다른 순서도 고려된다. 예를 들어, 단계(506)는 메시지에 대응하는 디지털 콘텐츠로부터 URL을 획득하기 위해 단계(504)가 수행되기 전에 메시지가 배송을 추적하는 것에 관련되어 있다고 결정할 수 있다.
메시지로부터 배송 정보를 획득하는 예
도 6 및 도 7은 고객("Meredith Zhao")에게 제1 제품("Winter Wonderland 1000 Piece Puzzle")을 배송하는 것에 대한 배송 정보를 획득하는 예를 예시한다. 먼저 도 6을 참조하면, 제1 제품을 판매한 판매자("Pierce's Puzzles")로부터 고객에 의해 수신되는 이메일 메시지(600)가 도시되어 있다. 이메일 메시지(600)는 배송에 대응하는 주문 번호(602), 배송 중인 제1 제품의 표시(604), 고객의 배송 주소(606), 배송에 대한 추적 번호(608), 배송을 용이하게 하는 배송 제공업체의 표시(610)(“Perfect Postal Service”) 및 배송에 대한 추적 URL(612)을 포함한다. 추적 URL(612)은 추적 번호(608)에 대응하는 텍스트 문자열(614) 및 배송 제공업체에 대응하는 다른 텍스트 문자열(616)을 포함한다.
도 7은 추적 URL(612)에 대응하는 웹 페이지(700)를 예시한다. 예를 들어, 고객이 이메일 메시지(600)에서 추적 URL(612)을 선택한 경우, 고객은 웹 페이지(700)로 유도될 수 있다. 웹 페이지(700)는 주문 번호(602), 추적 번호(608), 배송 제공업체의 표시(610) 및 예상 배달 날짜의 표시(702)를 포함한다.
방법(500)은 제1 제품을 고객에게 배송하는 것에 대한 배송 정보를 획득하는 데 사용될 수 있다. 단계(502)에서, 이메일 메시지(600)에 대응하는 디지털 콘텐츠가, 예를 들어, 메시징 서비스에 대한 고객의 계정으로부터 획득될 수 있다. 이 디지털 콘텐츠는, 선택적으로 직렬화된 형식으로, 도 6에 도시된 콘텐츠 중 임의의 것, 일부 또는 전부를 포함할 수 있다. 단계(504)에서, 추적 URL(612)이, 예를 들어, 문자열 매칭 알고리즘을 사용하여 디지털 콘텐츠로부터 추출된다. 단계(506)는 메시지(600)가 배송을 추적하는 것에 관련되어 있다고 결정할 수 있다. 이는 이메일 메시지(600)를 배송 추적에 관련된 메시지로서 카테고리화하기 위해 이메일 메시지(600)의 디지털 콘텐츠를 ML 모델에 입력하는 것에 의해 수행될 수 있다. 대안적으로 또는 추가적으로, 추적 URL(612)의 적어도 일 부분은 추적 URL(612)을 배송 추적에 관련된 것으로서 카테고리화하기 위해 ML 모델에 입력될 수 있다.
단계(508)에서, 제1 제품의 배송에 대한 배송 정보는 추적 URL(612) 및 웹 페이지(700) 둘 모두로부터 획득될 수 있다. 추적 URL(612)은 웹 페이지(700)가 제1 제품의 배송을 추적하기 위한 것이라고 결정하기 위해 파싱될 수 있다. 추적 URL(612)은 또한 추적 번호(608)에 대응하는 텍스트 문자열(614) 및 배송 제공업체에 대응하는 텍스트 문자열(616)을 획득하기 위해 파싱될 수 있다. 텍스트 문자열(616)은 텍스트 문자열(616)이 배송 제공업체에 대응한다고 결정하기 위해 메모리에 저장된 배송 제공업체들의 목록과 비교될 수 있다. 제품을 판매하고 배송한 판매자가 추적 URL(612)에서 식별되며, 따라서 추적 URL(612)을 파싱하는 것에 의해서도 획득될 수 있다.
추적 URL(612)을 파싱하는 것은 추적 URL(612)의 적어도 일 부분을 하나 이상의 ML 모델에 입력하는 것을 포함할 수 있다. 예를 들어, 쿼리 컴포넌트(“Id=11111000&shippingprovider=PPS”)는 결정론적 방법을 사용하여 추적 URL(612)로부터 추출되고 ML 모델에 입력될 수 있다.
일부 경우에, 추적 URL(612)은 추적 URL(612)을 카테고리화하기 위해 제1 ML 모델에 입력된다. 추적 URL(612)의 결정된 카테고리는 추적 URL(612)이 판매자 및/또는 배송 제공업체에 대응한다고 예측할 수 있다. 추적 URL(612)의 결정된 카테고리는 또한 또는 그 대신에 텍스트 문자열(614)의 시작에 대응하는 제1 인덱스의 예측 및/또는 텍스트 문자열(614)의 끝에 대응하는 제2 인덱스의 예측을 제공할 수 있다. 예시된 예에서, (추적 URL(612)의 시작으로부터 카운트하여) 제1 인덱스는 42이고 제2 인덱스는 49이다. 제1 인덱스 및 제2 인덱스는 추적 URL(612)로부터 추적 번호(608)를 추출하는 데 사용될 수 있다. 추적 URL(612), 예측된 배송 제공업체, 예측된 제1 인덱스 및/또는 예측된 제2 인덱스는 이어서 제2 ML 모델에 입력될 수 있다. 제2 ML 모델의 출력은 배송 제공업체 및/또는 추적 번호(608)의 정제된 예측을 포함할 수 있다. 이러한 다단계 접근법에서 배송 제공업체 및/또는 추적 번호(608)를 결정하는 것은, 제2 ML 모델이 제1 ML 모델의 결과로부터 이득을 볼 수 있기 때문에, 더 정확한 결과를 제공할 수 있다. 대안적으로, 배송 제공업체 및/또는 추적 번호(608)를 결정하기 위해 제1 ML 모델 또는 제2 ML 모델이 분리되어 사용될 수 있다.
배송 제공업체, 판매자 및/또는 추적 URL(612)로부터 획득된 추적 번호(608)를 확인하기 위해 단계(508)에서 웹 페이지(700)가 또한 파싱될 수 있다. 게다가, 웹 페이지(700)를 파싱하는 것은 표시(702)로부터 예상 배달 날짜를 결정하고/하거나 주문 번호(602)를 결정할 수 있다. 예를 들어, ML 모델을 사용하여 구현되는 확률론적 방법은 웹 페이지(700)를 파싱하고 이 배송 정보를 획득하는 데 사용될 수 있다.
도 8 및 도 9는 고객("Meredith Zhao")에게 제2 제품("Book on Trees")을 배송하는 것에 대한 배송 정보를 획득하는 예를 예시한다. 먼저 도 8을 참조하면, 제품을 판매한 판매자(“Book Outlet”)로부터 고객에 의해 수신되는 이메일 메시지(800)가 도시되어 있다. 이메일 메시지(800)는 배송에 대응하는 주문 번호(802), 배송 중인 제품의 표시(804), 배송에 대한 추적 번호(806), 배송을 용이하게 하는 배송 제공업체의 표시(808)(“Rapid Delivery”) 및 하이퍼링크(810)를 포함한다. 하이퍼링크(810)는 도 9에 도시된 추적 URL(902)에 대응한다.
도 9은 추적 URL(902)에 대응하는 웹 페이지(900)를 예시한다. 웹 페이지(900)는 주문 번호(802), 추적 번호(806), 배송 제공업체의 표시(808), 고객의 배송 주소(904) 및 예상 배달 날짜의 표시(906)를 포함한다.
방법(500)은 또한 제2 제품을 고객에게 배송하는 것에 대한 배송 정보를 획득하는 데 사용될 수 있다. 단계(502)에서, 이메일 메시지(800)에 대응하는 디지털 콘텐츠가 메시징 서비스에 대한 고객의 계정으로부터 획득될 수 있다. 이것은 이메일 메시지(600)가 획득된 동일한 메시징 서비스이거나 상이한 메시징 서비스일 수 있다. 단계(504, 506)에서, 추적 URL(902)은 하이퍼링크(810)로부터 추출되고 이메일 메시지(800)는 배송을 추적하는 것에 관련되어 있는 것으로 결정된다.
단계(508)는 이어서 추적 URL(902)로부터 및 웹 페이지(900)로부터 배송 정보를 획득하기 위해 수행될 수 있다. 추적 URL(902)을 파싱하는 것은 추적 URL(902)에서 식별되는, 제2 제품의 배송에 대한 판매자 및/또는 주문 번호를 결정할 수 있다. 그렇지만, 추적 URL(902)이 추적 번호(806)에 대응하는 어떠한 문자열도 포함하지 않으며, 따라서 추적 URL(902)로부터 추적 번호(806)를 결정하는 것이 가능하지 않을 수 있다. 그렇지만, 추적 번호(806)는 웹 페이지(900)를 파싱하는 것에 의해 결정될 수 있다.
일부 경우에, 배송 제공업체(“Rapid Delivery”)는 추적 URL(902)로부터 결정될 수 있다. 예를 들어, 추적 URL(902)이 판매자에 대응한다고 결정하기 위해 추적 URL(902)이 카테고리화될 수 있다. 판매자가 전형적으로 하나의 배송 제공업체만을 사용하는 경우, 추적 URL(902)의 이러한 카테고리화가 배송에 대한 배송 제공업체도 나타낼 수 있다. 배송 제공업체가 또한 웹 페이지(900)를 파싱하는 것에 의해 획득되거나 확인될 수 있다.
주문 번호(802) 및 906에 표시된 예상 배달 날짜를 포함한, 추가의 배송 정보가 또한 웹 페이지(900)를 파싱하는 것에 의해 획득될 수 있다.
제1 제품을 고객에게 배송하는 것 및 제2 제품을 고객에게 배송하는 것에 대해 획득되는 배송 정보가 통합 목록 또는 배송 정보의 기록에 추가될 수 있다. 도 10은 고객("Meredith Zhao")에 대한 배송 정보의 통합 기록(1000)의 예를 예시한다. 기록(1000)은 3개의 행(1002, 1004, 1006)의 배송 정보를 포함하며, 여기서 행(1002, 1004, 1006) 각각은 상이한 배송에 관한 것이다. 행(1002)은 제1 제품("Winter Wonderland 1000 Piece Puzzle")의 배송에 대응하고, 행(1004)은 제2 제품("Book on Trees")의 배송에 대응하며, 행(1006)은 추가 제품의 배송에 대응한다. 기록(1000)은 각각의 배송에 대한 다수의 열(1008, 1010, 1012, 1014, 1016, 1018)의 배송 정보를 더 포함한다. 열(1008)은 각각의 배송에 대한 판매자를 나타내고, 열(1010)은 각각의 배송에 대한 주문 번호를 나타내며, 열(1012)은 각각의 배송에 대한 추적 번호를 나타내고, 열(1014)은 각각의 배송에 대한 배송 제공업체를 나타내며, 열(1016)은 각각의 배송에 대한 추정 또는 확인된 배달 날짜를 나타내고, 열(1018)은 각각의 배송에 대한 추적 URL을 가진 하이퍼링크를 포함한다.
예시된 예에서, 행(1002)에 있는 배송 정보는, 위에서 논의된 바와 같이, 추적 URL(612) 및 웹 페이지(700)의 분석을 통해 획득된다. 이에 따라, 행(1002)은 주문 번호(602), 추적 번호(608), 배송 제공업체의 표시(610) 및 추정 배달 날짜의 표시(702)를 포함한다. 행(1002) 및 열(1018)에 위치한 하이퍼링크는 고객이 기록(1000)으로부터 웹 페이지(700)에 액세스할 수 있게 하는 추적 URL(612)에 대응한다. 유사하게, 행(1004)에 있는 배송 정보는, 위에서 논의된 바와 같이, 추적 URL(902) 및 웹 페이지(900)의 분석을 통해 획득된다. 이에 따라, 행(1004)은 주문 번호(802), 추적 번호(806), 배송 제공업체의 표시(808) 및 추정 배달 날짜의 표시(906)를 포함한다. 행(1004) 및 열(1018)에 있는 하이퍼링크는 고객이 기록(1000)으로부터 웹 페이지(900)에 액세스할 수 있게 하는 추적 URL(902)에 대응한다.
고객이 제품에 대한 새로운 주문을 하고 해당 주문에 대한 배송 정보가 고객의 메시지를 통해 이용 가능해짐에 따라 기록(1000)이 지속적으로 및/또는 간헐적으로 업데이트될 수 있다. 게다가, 고객은 기록(1000)을 수동으로 변경할 수 있다.
결론
본 발명이 그의 특정 특징 및 실시예를 참조하여 기술되었지만, 본 발명을 벗어나지 않으면서 그에 대한 다양한 수정 및 조합이 이루어질 수 있다. 설명 및 도면은, 그에 따라, 단순히 첨부된 청구항에 의해 한정된 바와 같은 본 발명의 일부 실시예의 예시로서 간주되어야 하며, 본 발명의 범위에 속하는 임의의 및 모든 수정, 변형, 조합 또는 등가물을 포함하는 것으로 고려된다. 따라서, 본 발명 및 그 장점이 상세히 기술되었지만, 첨부된 청구항에 의해 한정된 바와 같은 본 발명을 벗어나지 않으면서 본 명세서에서의 다양한 변경, 대체 및 수정이 이루어질 수 있다. 더욱이, 본 출원의 범위는 본 명세서에서 기술된 물질, 수단, 방법 및 단계의 프로세스, 머신, 제조, 및 조성의 특정 실시예로 제한되는 것으로 의도되지 않는다. 본 기술 분야의 통상의 기술자라면 본 발명의 개시로부터 용이하게 알 것인 바와 같이, 본 명세서에서 기술되는 대응하는 실시예와 실질적으로 동일한 기능을 수행하거나 실질적으로 동일한 결과를 달성하는, 현재 존재하거나 나중에 개발될, 프로세스, 머신, 제조, 물질의 조성, 수단, 방법, 또는 단계가 본 발명에 따라 활용될 수 있다. 그에 따라, 첨부된 청구항은 그러한 프로세스, 머신, 제조, 물질의 조성, 수단, 방법, 또는 단계를 그의 범위 내에 포함하는 것으로 의도되어 있다.
더욱이, 명령어를 실행하는 본 명세서에서 예시된 임의의 모듈, 컴포넌트 또는 디바이스는, 컴퓨터/프로세서 판독 가능 명령어, 데이터 구조, 프로그램 모듈 및/또는 다른 데이터와 같은, 정보를 저장하기 위한 비일시적 컴퓨터/프로세서 판독 가능 저장 매체 또는 매체들을 포함하거나 다른 방식으로 그에 액세스할 수 있다. 비일시적 컴퓨터/프로세서 판독 가능 저장 매체의 예의 비-총망라적 목록은 자기 카세트, 자기 테이프, 자기 디스크 스토리지 또는 다른 자기 저장 디바이스, CD-ROM(compact disc read-only memory), DVD(digital video disc 또는 digital versatile disc), Blu-ray Disc™ 또는 다른 광학 스토리지와 같은 광학 디스크, 임의의 방법 또는 기술, RAM(random-access memory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory), 플래시 메모리 또는 다른 메모리 기술로 구현된 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함한다. 임의의 그러한 비일시적 컴퓨터/프로세서 저장 매체는 디바이스의 일부이거나 디바이스에 의해 액세스 가능하거나 디바이스에 연결 가능할 수 있다. 본 명세서에서 기술된 임의의 애플리케이션 또는 모듈은 그러한 비일시적 컴퓨터/프로세서 판독 가능 저장 매체에 의해 저장되거나 다른 방식으로 유지될 수 있는 컴퓨터/프로세서 판독 가능/실행 가능 명령어를 사용하여 구현될 수 있다.
본 교시는 또한 이하의 번호가 매겨진 조항 중 하나 이상의 특징으로 확장될 수 있다:
조항
1. 컴퓨터 구현 방법으로서,
메시지에 대응하는 디지털 콘텐츠를 획득하는 단계;
디지털 콘텐츠로부터, 웹 리소스에 대한 URL(uniform resource locator)을 획득하는 단계;
URL 및 웹 리소스에 기초하여,
웹 리소스가 배송을 추적하기 위한 것이라는 표시,
배송에 대한 추적 번호, 및
배송에 대한 배송 제공업체
중 적어도 하나를 포함하는 배송 정보를 결정하는 단계; 및
배송에 대한 추적 업데이트들을 획득하기 위해 배송 정보를, 메모리에, 저장하는 단계를 포함하는, 컴퓨터 구현 방법.
2. 조항 1에 있어서, 배송 정보를 결정하는 단계는:
URL을 파싱하는 것에 의해 추적 번호 및 배송 제공업체를 결정하는 단계; 및
웹 리소스를 파싱하는 것에 의해 추적 번호 및 배송 제공업체를 확인하는 단계를 포함하는, 컴퓨터 구현 방법.
3. 조항 1에 있어서, 배송 정보를 결정하는 단계는:
URL을 파싱하는 것에 의해 추적 번호 및 배송 제공업체 중 하나를 결정하는 단계; 및
웹 리소스를 파싱하는 것에 의해 추적 번호 및 배송 제공업체 중 다른 하나를 결정하는 단계를 포함하는, 컴퓨터 구현 방법.
4. 조항 1에 있어서, 배송 정보를 결정하는 단계는:
웹 리소스를 파싱하는 것에 의해 추적 번호 및 배송 제공업체를 결정하는 단계를 포함하는, 컴퓨터 구현 방법.
5. 조항 1에 있어서, 배송 정보를 결정하는 단계는:
URL을 머신 러닝(ML) 모델에 입력하는 단계; 및
ML 모델의 출력에 기초하여, URL로부터 추적 번호에 대응하는 텍스트 문자열을 획득하는 단계를 포함하는, 컴퓨터 구현 방법.
6. 조항 5에 있어서, 배송 정보를 결정하는 단계는:
예측을 획득하는 단계 - 예측은 URL에서의 추적 번호의 시작에 대응하는 제1 인덱스 및 URL에서의 추적 번호의 끝에 대응하는 제2 인덱스를 포함함 -; 및
제1 인덱스 및 제2 인덱스를 ML 모델에 입력하는 단계를 더 포함하는, 컴퓨터 구현 방법.
7. 조항 5에 있어서, ML 모델은 다중 태스크 학습 모델을 포함하는, 컴퓨터 구현 방법.
8. 조항 1에 있어서, 배송 정보를 결정하는 단계는:
URL을 머신 러닝(ML) 모델에 입력하는 단계; 및
ML 모델의 출력으로부터, 미리 정의된 배송 제공업체들의 세트 중에서 선택되는 배송 제공업체에 대응하는 텍스트 문자열을 획득하는 단계를 포함하는, 컴퓨터 구현 방법.
9. 조항 1에 있어서, URL은 제1 URL이고, 웹 리소스는 제1 웹 리소스이며, 추적 번호는 제1 추적 번호이고, 배송 제공업체는 제1 배송 제공업체이며, 이 방법은:
디지털 콘텐츠로부터, 제2 웹 리소스에 대한 제2 URL을 획득하는 단계;
제2 URL 및 제2 웹 리소스에 기초하여,
제2 웹 리소스가 배송을 추적하기 위한 것이라는 것,
배송에 대한 제2 추적 번호 및
배송에 대한 제2 배송 제공업체를 결정하는 단계; 및
제1 추적 번호가 제2 추적 번호와 매칭하고 제1 배송 제공업체가 제2 배송 제공업체와 매칭한다고 결정하는 단계를 더 포함하는, 컴퓨터 구현 방법.
10. 조항 1에 있어서,
디지털 콘텐츠에 기초하여, 메시지가 배송을 추적하는 것에 관련되어 있다고 결정하는 단계를 더 포함하는, 컴퓨터 구현 방법.
11. 조항 10에 있어서, 메시지가 배송을 추적하는 것에 관련되어 있다고 결정하는 단계는:
디지털 콘텐츠를 머신 러닝(ML) 모델에 입력하는 단계;
ML 모델의 출력으로부터, 미리 정의된 메시지 카테고리들의 세트 중에서 선택되는 메시지에 대한 메시지 카테고리를 획득하는 단계; 및
메시지 카테고리가 배송 추적에 관련되어 있다고 결정하는 단계를 포함하는, 컴퓨터 구현 방법.
12. 조항 10에 있어서, 메시지가 배송을 추적하는 것에 관련되어 있다고 결정하는 단계는:
URL을 머신 러닝(ML) 모델에 입력하는 단계;
ML 모델의 출력으로부터, 미리 정의된 URL 카테고리들의 세트 중에서 선택되는 URL에 대한 URL 카테고리를 획득하는 단계; 및
URL 카테고리가 배송 추적에 관련되어 있다고 결정하는 단계를 포함하는, 컴퓨터 구현 방법.
13. 조항 1에 있어서,
메시지는 특정 사용자에 대응하고;
배송 정보를 저장하는 단계는 특정 사용자와 연관된 복수의 배송들에 대한 배송 정보 기록에 배송 정보를 저장하는 단계를 포함하며,
이 방법은 특정 사용자와 연관된 디바이스 상에 디스플레이하기 위해 배송 정보 기록의 적어도 일 부분을 출력하는 단계를 더 포함하는, 컴퓨터 구현 방법.
14. 시스템으로서,
적어도 하나의 프로세서 - 상기 적어도 하나의 프로세서는:
메시지에 대응하는 디지털 콘텐츠를 획득하고;
디지털 콘텐츠로부터, 웹 리소스에 대한 URL(uniform resource locator)을 획득하며;
URL 및 웹 리소스에 기초하여,
웹 리소스가 배송을 추적하기 위한 것이라는 표시,
배송에 대한 추적 번호, 및
배송에 대한 배송 제공업체
중 적어도 하나를 포함하는 배송 정보를 결정함 -; 및
배송에 대한 추적 업데이트들을 획득하기 위해 배송 정보를 저장하는 메모리를 포함하는, 시스템.
15. 조항 14에 있어서, 상기 적어도 하나의 프로세서는 추가로:
URL을 파싱하는 것에 의해 추적 번호 및 배송 제공업체를 결정하고;
웹 리소스를 파싱하는 것에 의해 추적 번호 및 배송 제공업체를 확인하는, 시스템.
16. 조항 14에 있어서, 상기 적어도 하나의 프로세서는 추가로:
URL을 파싱하는 것에 의해 추적 번호 및 배송 제공업체 중 하나를 결정하고;
웹 리소스를 파싱하는 것에 의해 추적 번호 및 배송 제공업체 중 다른 하나를 결정하는, 시스템.
17. 조항 14에 있어서, 상기 적어도 하나의 프로세서는 추가로:
웹 리소스를 파싱하는 것에 의해 추적 번호 및 배송 제공업체를 결정하는, 시스템.
18. 조항 14에 있어서, 상기 적어도 하나의 프로세서는 추가로:
URL을 머신 러닝(ML) 모델에 입력하고;
ML 모델의 출력에 기초하여, URL로부터 추적 번호에 대응하는 텍스트 문자열을 획득하는, 시스템.
19. 조항 18에 있어서, 상기 적어도 하나의 프로세서는 추가로:
예측을 획득하고 - 예측은 URL에서의 추적 번호의 시작에 대응하는 제1 인덱스 및 URL에서의 추적 번호의 끝에 대응하는 제2 인덱스를 포함함 -;
제1 인덱스 및 제2 인덱스를 ML 모델에 입력하는, 시스템.
20. 조항 18에 있어서, ML 모델은 다중 태스크 학습 모델을 포함하는, 시스템.
21. 조항 14에 있어서, 상기 적어도 하나의 프로세서는 추가로:
URL을 머신 러닝(ML) 모델에 입력하고;
ML 모델의 출력으로부터, 미리 정의된 배송 제공업체들의 세트 중에서 선택되는 배송 제공업체에 대응하는 텍스트 문자열을 획득하는, 시스템.
22. 조항 14에 있어서, URL은 제1 URL이고, 웹 리소스는 제1 웹 리소스이며, 추적 번호는 제1 추적 번호이고, 배송 제공업체는 제1 배송 제공업체이며, 상기 적어도 하나의 프로세서는 추가로:
디지털 콘텐츠로부터, 제2 웹 리소스에 대한 제2 URL을 획득하고;
제2 URL 및 제2 웹 리소스에 기초하여,
제2 웹 리소스가 배송을 추적하기 위한 것이라는 것,
배송에 대한 제2 추적 번호 및
배송에 대한 제2 배송 제공업체를 결정하며;
제1 추적 번호가 제2 추적 번호와 매칭하고 제1 배송 제공업체가 제2 배송 제공업체와 매칭한다고 결정하는, 시스템.
23. 조항 14에 있어서, 상기 적어도 하나의 프로세서는 추가로:
URL을 머신 러닝(ML) 모델에 입력하고;
ML 모델의 출력으로부터, 미리 정의된 URL 카테고리들의 세트 중에서 선택되는 URL에 대한 URL 카테고리를 획득하며;
URL 카테고리가 배송 추적에 관련되어 있다고 결정하는, 시스템.
24. 조항 14에 있어서,
메시지는 특정 사용자에 대응하고;
메모리는 추가로 특정 사용자와 연관된 복수의 배송들에 대한 배송 정보 기록에 배송 정보를 저장하며;
적어도 하나의 프로세서는 추가로 특정 사용자와 연관된 디바이스 상에 디스플레이하기 위해 배송 정보 기록의 적어도 일 부분을 출력하는, 시스템.
25. 명령어들을 저장하는 비일시적 컴퓨터 판독 가능 저장 매체로서, 명령어들은, 컴퓨터 시스템의 프로세서에 의해 실행될 때, 컴퓨터 시스템으로 하여금:
메시지에 대응하는 디지털 콘텐츠를 획득하게 하고;
디지털 콘텐츠로부터, 웹 리소스에 대한 URL(uniform resource locator)을 획득하게 하며;
URL 및 웹 리소스에 기초하여,
웹 리소스가 배송을 추적하기 위한 것이라는 표시,
배송에 대한 추적 번호, 및
배송에 대한 배송 제공업체
중 적어도 하나를 포함하는 배송 정보를 결정하게 하고;
배송에 대한 추적 업데이트들을 획득하기 위해 배송 정보를, 메모리에, 저장하게 하는, 비일시적 컴퓨터 판독 가능 저장 매체.
Claims (15)
- 컴퓨터 구현 방법에 있어서,
고객에 대한 복수의 메시지들을 식별하는 단계;
상기 복수의 메시지들 중의 메시지들로부터, 적어도 하나의 배송에 대한 배송 정보를 추출하는 단계 - 상기 추출하는 단계는:
상기 복수의 메시지들 중 주어진 메시지에 대응하는 디지털 콘텐츠를 획득하는 단계;
상기 디지털 콘텐츠로부터, 웹 리소스에 대한 URL(uniform resource locator)을 획득하는 단계;
상기 URL 및 상기 웹 리소스에 기초하여, 상기 URL을 하나 이상의 머신 러닝(ML) 모델에 입력하는 것 및 상기 하나 이상의 ML 모델의 출력에 기초하여 상기 URL로부터 추적 번호에 대응하는 텍스트 문자열을 획득하는 것에 의해, 특정 배송에 대한 배송 정보를 결정하는 단계
를 포함하고, 상기 배송 정보는:
상기 웹 리소스가 상기 특정 배송을 추적하기 위한 것이라는 표시,
상기 특정 배송에 대한 추적 번호, 및
상기 특정 배송에 대한 배송 제공업체
중 적어도 하나를 포함함 -; 및
상기 특정 배송에 대한 추적 업데이트들을 획득하기 위해 상기 배송 정보를 메모리에 저장하는 단계
를 포함하는, 컴퓨터 구현 방법. - 제1항에 있어서,
상기 배송 정보에 기초하여, 상기 적어도 하나의 배송에 대한 추적 업데이트들을 획득하는 단계; 및
상기 고객에 대한 제품 배송들의 집계된 요약을 제시하는 데 사용하기 위해 상기 추적 업데이트들을 제공하는 단계
를 더 포함하는, 컴퓨터 구현 방법. - 제1항 또는 제2항에 있어서,
상기 배송 정보를 결정하는 단계는:
예측을 획득하는 단계 - 상기 예측은 상기 URL에서의 상기 추적 번호의 시작에 대응하는 제1 인덱스 및 상기 URL에서의 상기 추적 번호의 끝에 대응하는 제2 인덱스를 포함함 -; 및
상기 제1 인덱스 및 상기 제2 인덱스를 상기 하나 이상의 ML 모델에 입력하는 단계
를 더 포함하는 것인, 컴퓨터 구현 방법. - 제1항 또는 제2항에 있어서,
상기 배송 정보를 결정하는 단계는:
상기 URL을 상기 하나 이상의 ML 모델에 입력하는 단계; 및
상기 하나 이상의 ML 모델의 출력으로부터, 미리 정의된 배송 제공업체들의 세트 중에서 선택되는 상기 배송 제공업체에 대응하는 텍스트 문자열을 획득하는 단계
를 포함하는 것인, 컴퓨터 구현 방법. - 제1항 내지 제4항 중 어느 한 항에 있어서,
상기 배송 정보를 결정하는 단계는:
상기 URL을 파싱하는 것에 의해 상기 추적 번호 및 상기 배송 제공업체를 결정하는 단계; 및
상기 웹 리소스를 파싱하는 것에 의해 상기 추적 번호 및 상기 배송 제공업체를 확인하는 단계
를 포함하는 것인, 컴퓨터 구현 방법. - 제1항 내지 제4항 중 어느 한 항에 있어서,
상기 배송 정보를 결정하는 단계는:
상기 URL을 파싱하는 것에 의해 상기 추적 번호 및 상기 배송 제공업체 중 하나를 결정하는 단계; 및
상기 웹 리소스를 파싱하는 것에 의해 상기 추적 번호 및 상기 배송 제공업체 중 다른 하나를 결정하는 단계
를 포함하는 것인, 컴퓨터 구현 방법. - 제1항 내지 제4항 중 어느 한 항에 있어서,
상기 배송 정보를 결정하는 단계는:
상기 웹 리소스를 파싱하는 것에 의해 상기 추적 번호 및 상기 배송 제공업체를 결정하는 단계
를 포함하는 것인, 컴퓨터 구현 방법. - 제1항 내지 제7항 중 어느 한 항에 있어서,
상기 하나 이상의 ML 모델 중 적어도 하나는 다중 태스크 학습 모델을 포함하는 것인, 컴퓨터 구현 방법. - 제1항 내지 제8항 중 어느 한 항에 있어서,
상기 URL은 제1 URL이고, 상기 웹 리소스는 제1 웹 리소스이고, 상기 추적 번호는 제1 추적 번호이고, 상기 배송 제공업체는 제1 배송 제공업체이며, 상기 방법은:
상기 디지털 콘텐츠로부터, 제2 웹 리소스에 대한 제2 URL을 획득하는 단계;
상기 제2 URL 및 상기 제2 웹 리소스에 기초하여,
상기 제2 웹 리소스가 상기 배송을 추적하기 위한 것이라는 것,
상기 배송에 대한 제2 추적 번호, 및
상기 배송에 대한 제2 배송 제공업체
를 결정하는 단계; 및
상기 제1 추적 번호가 상기 제2 추적 번호와 매칭되고 상기 제1 배송 제공업체가 상기 제2 배송 제공업체와 매칭된다고 결정하는 단계
를 더 포함하는, 컴퓨터 구현 방법. - 제1항 내지 제9항 중 어느 한 항에 있어서,
상기 디지털 콘텐츠에 기초하여, 상기 메시지가 상기 배송의 추적과 관련되어 있다고 결정하는 단계를 더 포함하는, 컴퓨터 구현 방법. - 제10항에 있어서,
상기 메시지가 상기 배송의 추적과 관련되어 있다고 결정하는 단계는:
상기 디지털 콘텐츠를 상기 하나 이상의 ML 모델에 입력하는 단계;
상기 하나 이상의 ML 모델의 출력으로부터, 미리 정의된 메시지 카테고리들의 세트 중에서 선택되는 상기 메시지에 대한 메시지 카테고리를 획득하는 단계; 및
상기 메시지 카테고리가 배송 추적에 관련되어 있다고 결정하는 단계
를 포함하는 것인, 컴퓨터 구현 방법. - 제10항에 있어서,
상기 메시지가 상기 배송의 추적과 관련되어 있다고 결정하는 단계는:
상기 URL을 상기 하나 이상의 ML 모델에 입력하는 단계;
상기 하나 이상의 ML 모델의 출력으로부터, 미리 정의된 URL 카테고리들의 세트 중에서 선택되는 상기 URL에 대한 URL 카테고리를 획득하는 단계; 및
상기 URL 카테고리가 배송 추적에 관련되어 있다고 결정하는 단계
를 포함하는, 컴퓨터 구현 방법. - 제1항 내지 제12항 중 어느 한 항에 있어서,
상기 메시지는 특정 사용자에 대응하고,
상기 배송 정보를 저장하는 단계는 상기 특정 사용자와 연관된 복수의 배송들에 대한 배송 정보 기록에 상기 배송 정보를 저장하는 단계를 포함하며,
상기 방법은 상기 특정 사용자와 연관된 디바이스 상에 디스플레이하기 위해 상기 배송 정보 기록의 적어도 일 부분을 출력하는 단계를 더 포함하는, 컴퓨터 구현 방법. - 시스템에 있어서,
제1항 내지 제13항 중 어느 한 항의 방법을 수행하도록 구성되는 적어도 하나의 프로세서; 및
배송 정보를 저장하는 메모리
를 포함하는, 시스템. - 컴퓨터의 프로세서 상에서 실행될 때, 제1항 내지 제13항 중 어느 한 항의 방법을 수행하도록 구성되는 컴퓨터 프로그램.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/943,029 | 2020-07-30 | ||
US16/943,029 US20220036298A1 (en) | 2020-07-30 | 2020-07-30 | Systems and methods for obtaining information from a digital message |
EP21173653.3A EP3945484A1 (en) | 2020-07-30 | 2021-05-12 | Systems and methods for obtaining information from a digital message |
EP21173653.3 | 2021-05-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220015322A true KR20220015322A (ko) | 2022-02-08 |
Family
ID=75914453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210092282A KR20220015322A (ko) | 2020-07-30 | 2021-07-14 | 디지털 메시지로부터 정보를 획득하는 시스템 및 방법 |
Country Status (8)
Country | Link |
---|---|
US (2) | US20220036298A1 (ko) |
EP (1) | EP3945484A1 (ko) |
JP (1) | JP2022027520A (ko) |
KR (1) | KR20220015322A (ko) |
CN (1) | CN114066346A (ko) |
AU (1) | AU2021205044A1 (ko) |
CA (1) | CA3123288A1 (ko) |
TW (1) | TW202207128A (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117290609B (zh) * | 2023-11-24 | 2024-03-29 | 中国科学技术大学 | 产品数据推荐方法及产品数据推荐装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6634551B2 (en) * | 2000-05-11 | 2003-10-21 | United Parcel Service Of America, Inc. | Delivery notice and method of using same |
US20030097306A1 (en) * | 2001-11-19 | 2003-05-22 | Pitney Bowes Incorporated | Shipping system and method utilizing an application programming interface for faciltating transfer of information related to shipping of packages |
US20040220845A1 (en) * | 2003-04-30 | 2004-11-04 | Cynthia Malapitan | System and method of automated package tracking |
US9875486B2 (en) * | 2014-10-21 | 2018-01-23 | Slice Technologies, Inc. | Extracting product purchase information from electronic messages |
US9846902B2 (en) * | 2011-07-19 | 2017-12-19 | Slice Technologies, Inc. | Augmented aggregation of emailed product order and shipping information |
US20140019517A1 (en) * | 2012-07-16 | 2014-01-16 | Neopost Technologies | Web-hosted shipping system and method of use thereof |
US9043403B2 (en) * | 2013-05-10 | 2015-05-26 | Google Inc. | System and method for providing visual representations of email to enable efficient email processing |
US20140337245A1 (en) * | 2013-05-10 | 2014-11-13 | International Business Machines Corporation | Generation of shipment tracking report using text analytics |
US9953332B2 (en) * | 2013-09-18 | 2018-04-24 | Simpler Postage, Inc. | Method and system for generating delivery estimates |
US10447635B2 (en) * | 2017-05-17 | 2019-10-15 | Slice Technologies, Inc. | Filtering electronic messages |
-
2020
- 2020-07-30 US US16/943,029 patent/US20220036298A1/en not_active Abandoned
-
2021
- 2021-05-12 EP EP21173653.3A patent/EP3945484A1/en active Pending
- 2021-06-25 CA CA3123288A patent/CA3123288A1/en active Pending
- 2021-06-29 TW TW110123712A patent/TW202207128A/zh unknown
- 2021-07-13 JP JP2021115478A patent/JP2022027520A/ja active Pending
- 2021-07-14 KR KR1020210092282A patent/KR20220015322A/ko unknown
- 2021-07-14 AU AU2021205044A patent/AU2021205044A1/en active Pending
- 2021-07-16 CN CN202110810351.9A patent/CN114066346A/zh active Pending
-
2024
- 2024-06-19 US US18/747,716 patent/US20240338646A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220036298A1 (en) | 2022-02-03 |
CN114066346A (zh) | 2022-02-18 |
CA3123288A1 (en) | 2022-01-30 |
EP3945484A1 (en) | 2022-02-02 |
AU2021205044A1 (en) | 2022-02-17 |
JP2022027520A (ja) | 2022-02-10 |
TW202207128A (zh) | 2022-02-16 |
US20240338646A1 (en) | 2024-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220027915A1 (en) | Systems and methods for processing transactions using customized transaction classifiers | |
CN112118116B (zh) | 基于电子商务平台中的设置来推荐商家讨论组的系统和方法 | |
US20210012281A1 (en) | System and method for managing inventory through return labels | |
US20240338646A1 (en) | Systems and methods for obtaining information from a digital message | |
US20200402118A1 (en) | Systems and methods for recommending merchant discussion groups based on merchant categories | |
US20220398572A1 (en) | Systems and methods for controlling transfers of digital assets | |
KR102693086B1 (ko) | 템플릿 변경을 처리하기 위한 메시지 매핑을 위한 방법 및 시스템 | |
US12093353B2 (en) | Systems and methods for user authentication | |
US20220076308A1 (en) | Systems and methods for selectively authorizing transactions in online commerce based on dynamically-determined sales regions | |
US11544053B2 (en) | Methods and systems for generating application build recommendations | |
EP3819852A1 (en) | Systems and methods for using keywords extracted from reviews | |
US20220036376A1 (en) | Methods and systems for suggesting alternative phrases for text-based web content | |
CA3134673C (en) | Methods and systems for generating search results | |
US20200204514A1 (en) | Prioritized messaging system | |
US12008628B2 (en) | Systems and methods for obscuring content in electronic messages | |
US11972393B2 (en) | System and method for product classification | |
US20240020622A1 (en) | Methods and systems for linking accounts across disparate computing systems to facilitate information retrieval | |
US12093899B2 (en) | Method and system for message respeciation | |
US12086866B2 (en) | Systems and methods for preventing malicious modifications to order information sent over a network | |
US20230410031A1 (en) | Method and system for taking action based on product reviews | |
US20240202184A1 (en) | Methods and systems for managing list data structures in event-driven systems | |
CA3167140A1 (en) | Method and system for message respeciation |