U.S. patent application number 13/633489 was filed with the patent office on 2013-11-07 for system, method, and computer-readable storage medium for identifying a product.
This patent application is currently assigned to SHOPSAVVY INC.. The applicant listed for this patent is SHOPSAVVY INC.. Invention is credited to Jason Alexander, Rylan Barnes, John Boyd, Kevin Clark, Brian Griffey, Abiel Jaquez, David Mitchell, Alexander Muse.
Application Number | 20130297464 13/633489 |
Document ID | / |
Family ID | 49513322 |
Filed Date | 2013-11-07 |
United States Patent
Application |
20130297464 |
Kind Code |
A1 |
Jaquez; Abiel ; et
al. |
November 7, 2013 |
System, Method, and Computer-Readable Storage Medium For
Identifying A Product
Abstract
A system, method, and computer-readable storage medium for
enabling the accurate identification of a product identified by a
multiple product identifiers and offered by one or more merchants
by using a product-data-identification mechanism via a computing
device. The mechanism may enable accurate product-data
identification by receiving a product identifier from a computing
device, using the received product identifier to obtain one or more
forms of data associated with the product identifier from one or
more data sources, thereby enabling the mechanism to evaluate data
from multiple sources to identify the most accurate product data
associated with the product identifier. Data sources accessed by
the mechanism may be scored according to the accuracy of their
data, and a data system's score may affect how its data is
evaluated by the mechanism.
Inventors: |
Jaquez; Abiel; (Plano,
TX) ; Barnes; Rylan; (Plano, TX) ; Alexander;
Jason; (Rockwall, TX) ; Griffey; Brian;
(Dallas, TX) ; Mitchell; David; (San Francisco,
CA) ; Clark; Kevin; (Denton, TX) ; Muse;
Alexander; (Dallas, TX) ; Boyd; John; (Denton,
TX) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
SHOPSAVVY INC. |
Dallas |
TX |
US |
|
|
Assignee: |
SHOPSAVVY INC.
Dallas
TX
|
Family ID: |
49513322 |
Appl. No.: |
13/633489 |
Filed: |
October 2, 2012 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61640906 |
May 1, 2012 |
|
|
|
61670827 |
Jul 12, 2012 |
|
|
|
Current U.S.
Class: |
705/28 |
Current CPC
Class: |
G06F 3/04842 20130101;
G06Q 30/0201 20130101; G06Q 30/0601 20130101; G06Q 30/02 20130101;
G06Q 30/0613 20130101; G06Q 20/36 20130101; G06F 16/972 20190101;
G06F 3/0482 20130101; G06Q 20/12 20130101; G06Q 30/0641
20130101 |
Class at
Publication: |
705/28 |
International
Class: |
G06Q 10/08 20120101
G06Q010/08 |
Claims
1. A product-identification computer comprising a processor and a
memory storing executable instructions that, in response to
execution by the processor, cause the product-identification
computer to at least: receive a product identifier from a client
device; access product data associated with the product identifier,
the product data including sets of data elements originating from
respective sources, the sets of data elements including one or more
corresponding data elements across at least some of the sources;
identify one or more agreements or disagreements between the sets
of data elements including the one or more corresponding data
elements; generate identification scores for respective sets of
data elements, each identification score being generated based on
the one or more agreements or disagreements, and further based on a
trust score for the source from which the set of data elements
originates; and cause communication of a selected set of data
elements to the client device, the respective set of data elements
being selected from the sets of data elements based on the
generated identification scores.
2. The product-identification computer of claim 1, wherein the
product identifier is one or more of a Universal Product Code
(UPC), a European Article Number (EAN), an Amazon Standard
Identification Number (ASIN), or an International Standard Book
Number (ISBN).
3. The product-identification computer of claim 1, wherein the sets
of data elements include one or more of title data, image data,
attribute data, or product-identifier data.
4. The product-identification computer of claim 1, wherein the
product-identification computer being caused to receive the product
identifier includes being caused to further receive user-location
data, and wherein the memory stores further executable instructions
that, in response to execution by the processor, cause the
product-identification computer to: determine whether the client
device is located in proximity to a merchant location; and in an
instance in which the client device is located in proximity to a
merchant location, access merchant-product data associated with the
merchant location; determine whether the merchant-product data
includes one or more products relevant to a data element; and
adjust the identification score for any set of data elements
including the respective data element in an instance in which the
merchant-product data is relevant or not relevant to the respective
data element.
5. The product-identification computer of claim 1, wherein the
memory stores further executable instructions that, in response to
execution by the processor, cause the product-identification
computer to: cause communication of an instruction to the client
device to request feedback regarding an accuracy of the selected
set of data elements; receive and store feedback from the client
device in response to the instruction; and adjust the trust score
for at least one source per the feedback.
6. The product-identification computer of claim 1, wherein the
product-identification computer being caused to access the product
data includes being caused to access the product data from one or
more of the respective sources in response to receipt of the
product identifier and in real time.
7. The product-identification computer of claim 1, wherein the
sources include at least one of an online-merchant system, a
bricks-and-mortar merchant system, a data-aggregator system, or a
system user.
8. A method to identify a product, the method comprising: receiving
a product identifier from a client device; accessing product data
associated with the product identifier, the product data including
sets of data elements originating from respective sources, the sets
of data elements including one or more corresponding data elements
across at least some of the sources; identifying one or more
agreements or disagreements between the sets of data elements
including the one or more corresponding data elements; generating
identification scores for respective sets of data elements, each
identification score being generated based on the one or more
agreements or disagreements, and further based on a trust score for
the source from which the set of data elements originates; causing
communication of a selected set of data elements to the client
device, the respective set of data elements being selected from the
sets of data elements based on the generated identification scores,
wherein receiving the product identifier, accessing the product
data, identifying the one or more agreements or disagreements,
generating the identification scores, and causing communication of
the selected set of data elements are operations performed by a
product-identification computer including a processor and memory
storing executable instructions that in response to execution by
the processor cause the product-identification computer to perform
the respective operations.
9. The method of claim 8, wherein the product identifier is one or
more of a Universal Product Code (UPC), a European Article Number
(EAN), an Amazon Standard Identification Number (ASIN), or an
International Standard Book Number (ISBN).
10. The method of claim 8, wherein the sets of data elements
include one or more of title data, image data, attribute data, or
product-identifier data.
11. The method of claim 8, wherein receiving the product identifier
includes further receiving user-location data, and wherein the
method further comprises: determining whether the client device is
located in proximity to a merchant location; and in an instance in
which the client device is located in proximity to a merchant
location, accessing merchant-product data associated with the
merchant location; determining whether the merchant-product data
includes one or more products relevant to a data element; and
adjusting the identification score for any set of data elements
including the respective data element in an instance in which the
merchant-product data is relevant or not relevant to the respective
data element.
12. The method of claim 8 further comprising: causing communication
of an instruction to the client device to request feedback
regarding an accuracy of the selected set of data elements;
receiving and storing feedback from the client device in response
to the instruction; and adjusting the trust score for at least one
source per the feedback.
13. The method of claim 8, wherein accessing the product data
includes accessing the product data from one or more of the
respective sources in response to receipt of the product identifier
and in real time.
14. The method of claim 8, wherein a source of product data
includes an online-merchant system, a bricks-and-mortar merchant
system, a data-aggregator system, or a system user.
15. A computer-readable storage medium having computer-readable
program code portions stored therein that, in response to execution
by a processor, cause a product-identification computer to at
least: receive a product identifier from a client device; access
product data associated with the product identifier, the product
data including sets of data elements originating from respective
sources, the sets of data elements including one or more
corresponding data elements across at least some of the sources;
identify one or more agreements or disagreements between the sets
of data elements including the one or more corresponding data
elements; generate identification scores for respective sets of
data elements, each identification score being generated based on
the one or more agreements or disagreements, and further based on a
trust score for the source from which the set of data elements
originates; and cause communication of a selected set of data
elements to the client device, the respective set of data elements
being selected from the sets of data elements based on the
generated identification scores.
16. The computer-readable storage medium of claim 15, wherein the
product identifier is one or more of a Universal Product Code
(UPC), a European Article Number (EAN), an Amazon Standard
Identification Number (ASIN), or an International Standard Book
Number (ISBN).
17. The computer-readable storage medium of claim 15, wherein the
sets of data elements include one or more of title data, image
data, attribute data, or product-identifier data.
18. The computer-readable storage medium of claim 15, wherein the
product-identification computer being caused to receive the product
identifier includes being caused to further receive user-location
data, and wherein the computer-readable storage medium has further
computer-readable program code portions stored therein that, in
response to execution by the processor, cause the
product-identification computer to: determine whether the client
device is located in proximity to a merchant location; and in an
instance in which the client device is located in proximity to a
merchant location, access merchant-product data associated with the
merchant location; determine whether the merchant-product data
includes one or more products relevant to a data element; and
adjust the identification score for any set of data elements
including the respective data element in an instance in which the
merchant-product data is relevant or not relevant to the respective
data element.
19. The computer-readable storage medium of claim 15 having further
computer-readable program code portions stored therein that, in
response to execution by the processor, causes the purchase-proxy
computer to: cause communication of an instruction to the client
device to request feedback regarding an accuracy of the selected
set of data elements; receive and store feedback from the client
device in response to the instruction; and adjust the trust score
for at least one source per the feedback.
20. The computer-readable storage medium of claim 15, wherein the
product-identification computer being caused to access the product
data includes being caused to access the product data from one or
more of the respective sources in response to receipt of the
product identifier and in real time.
21. The computer-readable storage medium of claim 15, wherein a
source of product data includes an online-merchant system, a
bricks-and-mortar merchant system, a data-aggregator system, or a
system user.
Description
CROSS-REFERENCE
[0001] This application claims priority to U.S. Provisional Patent
Application No. 61/640,906, entitled: "System, Method, and
Computer-Readable Storage Medium for Payment of Online Purchases
via a Portable Computing Device," filed May 1, 2012, and U.S.
Provisional Patent Application No. 61/670,827, entitled: "System,
Method, and Computer-Readable Storage Medium for Identifying a
Product," filed Jul. 12, 2012, the contents of both of which are
incorporated by reference in their entireties.
FIELD
[0002] Example embodiments of the present invention generally
pertain to the electronic identification of products. More
particularly, example embodiments of the present invention pertain
to identifying a product through the electronic analysis of aspects
of the product by accessing one or more product data resources via
an electronic network.
BACKGROUND
[0003] Merchants and manufacturers use product codes to identify
their products. Computerized systems use a product's code as a
reference so that it may be conveniently tracked and identified.
Product codes are also often encoded in barcodes printed on
products (or their packaging) so that the products may be quickly
identified through use of barcode readers. For example, merchant
point-of-sale systems use barcode readers to identify products at
check out, thereby allowing sales clerks to quickly tally
purchases.
[0004] With the development of barcode readers on smartphones,
these barcoded product codes have become a tool for consumers as
well. A smartphone's barcode reader may be used for several
purposes, but one of the most popular uses is to employ the reader
with mobile software applications (i.e., "apps") that can use the
barcoded product codes to locate product information. For example,
an individual may use his smartphone to scan a product's barcode,
and an app may access a service provider to obtain pricing
information, reviews, descriptive data, and more associated with
the barcode. Although using a smartphone's barcode reader is
typically the most convenient way of entering a product code, a
user may be able to input a product code in other ways (e.g., via a
keyboard, speech recognition, etc.). Smartphone apps are popular
because they allow consumers to compare prices, read reviews, etc.
from anywhere, including while in a merchant's store. For example,
a consumer may use an app to ensure a store has a product for the
lowest price.
[0005] Accurately identifying a product can be a difficult task for
service providers offering such apps. Products are referenced in
numerous ways and, thus, a product may be referenced by more than
one product code. For example, a product may be referenced by a
Universal Product Code (UPC), a European Article Number (EAN), an
Amazon Standard Identification Number (ASIN), an International
Standard Book Number (ISBN), and more. Merchants may use one or
more manufacturer-specified codes, or their own merchant-specified
codes such as stock-keeping unit (SKU) codes, to identify their
products. Because merchants and manufacturers employ their own
systems and methodologies, merchants and manufacturers do not have
difficulty tracking their products. For example, a merchant may
simply use SKU codes and ignore any other product codes.
[0006] However, because merchants and manufacturers operate
independently, there is not a standard, universal
product-identification system or methodology. As such, it can be
difficult for a third-party service provider to correctly identify
products. Product codes are designed to be unique, but in practice
many products are inadvertently assigned the same code. For
example, it is not uncommon for several products to be identified
by the same ASIN or ISBN. Because of the duplication of codes, it
is difficult (if not at times impossible) to determine which entity
has the right to use the product code for its product. This
redundancy may not affect an entity within whose own system (e.g.,
merchant inventory system) a product code may be unique. For
example, a product code may identify a shirt offered at Target.com,
but may also identify a perfume offered at Amazon.com, neither of
whom may be affected by the redundancy. However, third-party
services providers that provide consumers with information
regarding products offered by multiple entities may have difficulty
providing accurate information due to such redundancies and
discrepancies.
[0007] Additionally, more than 80% of all e-commerce Web sites do
not use barcoded product codes with the products they sell. As
such, a third-party service provider cannot identify these
merchants' products by way of barcoded product codes. That is, if a
user employs a smartphone app to scan a product's barcode in order
to obtain product information, the third-party service provider
cannot use this code to identify the product. Identifying products
by other data, such as by product titles, may be highly inaccurate
due to similarities in the titles of diverse products. For example,
a title may apply to a movie, book, toy, or more.
[0008] What is needed is a mechanism by which a product may be
accurately identified by a product code regardless of the product
being associated with multiple, possibly redundant, product codes.
What is also needed is a convenient mechanism that enables a
service provider to provide accurate information associated with a
product to users, whereby the service provider may be assured that
the information provided is for the desired product and not a
product with a similar product code.
SUMMARY
[0009] Example embodiments of the present invention pertain to a
system, method, and computer-readable storage medium for accurately
identifying a product offered by one or more merchants and having
multiple product identifiers. Furthermore, example embodiments of
the present invention pertain to accurately identifying product
data by receiving and using a product identifier to obtain one or
more associated forms of data from which the most accurate,
associated product data may be identified. The forms of data
associated with the product identifier may be received from one or
more data sources that may be scored according to the accuracy of
their data, and whose score may affect how its data is
evaluated.
BRIEF DESCRIPTION OF DRAWINGS
[0010] In order to describe the manner in which the above-recited
and other advantages and features of example embodiments of the
present invention may be obtained, a more particular description of
example embodiments of the present invention briefly described
above will be rendered by reference to specific example embodiments
thereof that are illustrated in the appended drawings.
Understanding that these drawings depict only typical example
embodiments of the present invention and are not therefore to be
considered limiting of its scope, example embodiments of the
present invention will be described and explained with additional
specificity and detail through the use of the accompanying drawings
in which:
[0011] FIG. 1 depicts a component architecture of a
product-identification network including a
product-data-identification system according to an example
embodiment;
[0012] FIG. 2 depicts an architecture overview of a
product-data-identification system according to an example
embodiment; and
[0013] FIG. 3A and FIG. 3B depict a flowchart of various steps in a
method of product identification via a product-data-identification
system according to an example embodiment.
DESCRIPTION
[0014] Various example embodiments of the present invention are
discussed in detail below with reference to the accompanying
drawings, in which example embodiments of the present invention are
shown. While specific implementations are discussed, this is done
for illustration purposes only. A person of ordinary skill in the
relevant art will recognize that other components and
configurations may be used without departing from the spirit and
scope of the present invention. Like numbers refer to like elements
throughout.
[0015] Example embodiments of the present invention are described
herein mainly in terms of an individual accessing the Internet via
a portable computing device, such as a smartphone, a personal
digital assistant (PDA), a tablet computer, etc., or a standard
computing device, such as a desktop computer, a laptop computer,
etc. This is not to be construed as limiting as the present
invention may be applicable to any electronic network accessible to
a user via a network-appropriate device.
Product-Identification Network
[0016] FIG. 1 depicts a component architecture of a
product-identification network 100 including
product-data-identification system 104 (PDIS) according to an
example embodiment. The components of product-identification
network 100 may interact with one another via one or more networks
102, which may include any applicable electronic network, such as
the Internet or a mobile network. Components are herein referenced
as "systems," "mechanisms," and "modules." This is not to be
construed as limiting and it is to be understood that each
component may include the necessary hardware, which may operate
alone or under direction of appropriate firmware and/or software to
enable the processing, storing, communicating and/or receiving of
data. For example, a component may include one or more computer
processors, computer servers, data stores, electronic components,
storage mediums, memory, etc. Although a limited number of each
component is depicted, this is for illustrative purposes only and
is not to be construed as limiting, as product-identification
network 100 may include any number of (i.e., one or more) instances
of each component. For example, product-identification network 100
may include any number of PDISes, merchant systems, data-aggregator
systems, client systems, etc. Furthermore, although each component
is depicted and described herein as separate, this is not to be
construed as limiting, and components may be combined per
implementation.
[0017] PDIS 104 may be a system that enables the management,
storage, and control of data provided by individuals, merchants,
and data aggregators to enable the identification of one or more
products by way of a product identifier. PDIS 104 may include one
or more mechanisms that enable a user to employ a portable
computing device to obtain data regarding a product referenced by a
product identifier. In one example embodiment, PDIS 104 may enable
a user to obtain data regarding a product referenced by a product
identifier via a desktop computer, a laptop computer, or another
standard personal computing device.
[0018] Product-identification network 100 may include one or more
product-data systems. A product-data system may be any system that
may serve as a source of data regarding products associated with
product identifiers. In one example embodiment, a product-data
system may be an online-merchant system, a bricks-and-mortar
merchant system, or a data-aggregator system. For example, as
depicted for illustrative purposes in FIG. 1,
product-identification network 100 may include online-merchant
system 110A, online-merchant system 110B, bricks-and-mortar
merchant system 112A, and bricks-and-mortar merchant system 112B.
Product-identification network 100 may include one or more
data-aggregator systems (e.g., data-aggregator system 114A and
data-aggregator system 114B).
[0019] An online merchant may be a retailer, reseller, vendor,
manufacturer, individual, etc. that offers goods or services
(herein individually or collectively referred to as "products") to
consumers via network 102 (e.g., the Internet), and an
online-merchant system may be the system that enables the online
merchant to do so. For example, an online-merchant system may be a
system maintained by Amazon, Overstock, Barnes & Nobles,
Buy.com, Best Buy, Wal-Mart, Target, eBay, etc. An online-merchant
system may include a Web site that an individual may access via a
Web browser or via an app to search for and purchase a desired
product. The individual may purchase the product by providing
payment information and, if necessary, fulfillment information to
the online-merchant system. Product-identification network 100 may
include one or more bricks-and-mortar merchant systems. While a
bricks-and-mortar merchant may have an online presence, it may not
offer products for sale via network 102 (e.g., the Internet). A
data-aggregator system may be a system managed by a service
provider that collects data from the Internet and other sources for
its own purposes and/or in order to provide that data to other
parties. For example, a data aggregator may compile data related to
products available for purchase via the Internet.
[0020] A user may interact with one or more components of
product-identification network 100 via client system 106. Client
system 106 may include hardware, which may operate alone or under
direction of appropriate software and/or firmware configured to
enable the viewing and the inputting of information by the user.
For example, client system 106 may be a portable computing device,
such as a smartphone, a tablet computer, a mobile phone, a PDA, a
portable media player (e.g., an iPod), a multi-purpose mobile
device (e.g., an iPod Touch), etc. In other example embodiments,
client system 106 may be a desktop computer, a laptop computer, or
another standard personal computing device. Client system 106 may
include product-research app 108, which may be a mechanism by which
the user interacts with PDIS 104 to search for product information.
In one example embodiment, product-research app 108 is an app
loaded onto a portable computing device (client system 106). For
example, product-research app 108 may be an app installed on an
iPhone, an Android phone, a Blackberry, an iPad, an Android-powered
tablet (e.g. a Kindle Fire, a Nook Tablet, a Samsung Galaxy, a
Motorola Xoom, etc.), etc. In another example embodiment,
product-research app 108 may be another type of application, such
as a standard personal computer software application, a cloud
service application, etc. In one example embodiment, a user may use
client system 106 and/or product-research app 108 to provide PDIS
104 with product data and client system 106 may act as a source of
product data.
[0021] In one example embodiment, the functionality of
product-research app 108 described herein may be implemented and/or
work in conjunction with an app that offers one or more other
functionalities or offer additional functionalities than those
described herein. For example, product-research app 108 may enable
a user to conduct online purchases, conduct in-store purchases,
rate and/or review products, etc. PDIS 104 and product-research app
108 may function in conjunction with, or be designed to include,
the processes and components of those described in U.S. Provisional
Patent Application No. 61/640,906, entitled: "System, Method, and
Computer-Readable Storage Medium for Payment of Online Purchases
via a Portable Computing Device," filed May 1, 2012, the content of
which is hereby incorporated herein by reference in its
entirety.
Product-Data-Identification System (PDIS)
[0022] FIG. 2 depicts an architecture overview of PDIS 104
according to an example embodiment. PDIS 104 may enable a user to
obtain product data via client system 106 by way of
product-research app 108 and/or another access medium. A user may
enter a product identifier located on the product or its packaging
via product-research app 108, and product-research app 108 may
communicate the entered product identifier to PDIS 104. A product
identifier may be a UPC, an EAN, an ASIN, an ISBN, an SKU, etc. In
one example embodiment, a user may employ product-research app 108
to instruct client system 106 to electronically read a barcode, a
matrix code (e.g., a Quick Response [QR] code), etc. or other
encoded representation of a product identifier and, by doing so,
enter the product identifier. Alternatively, or additionally, a
user may manually enter the product identifier, such as by typing
or speaking the product identifier via an appropriate mechanism of
client system 106 (e.g., a touchscreen keyboard, a physical
keyboard, via speech recognition, etc.).
[0023] Once PDIS 104 has received an entered product identifier, it
may access product data 202 associated with the product identifier,
which PDIS 104 may maintain in data store 200 and/or which PDIS 104
may access from a product-data source. Product data 202 may
include, for example, product-identifier data 204, image data 206,
title data 208, attribute data 210, etc. Product-identifier data
may include one or more product identifiers, including the received
product identifier itself. Image data may include one or more
images (e.g., pictures) of a product. It may also refer to related
data, such as information regarding pixels, coloration, etc. Title
data may include data relevant to the name of a product. Attribute
data may include information regarding characteristics of a
product, such as color, size, weight, features, specifications,
descriptive information, product condition, price, etc.
[0024] In addition to or in lieu of product data 202, PDIS 104 may
maintain user data 224 (in one embodiment, including user-feedback
data 212), merchant data 214, and/or trust-score data 226. Data
maintained by PDIS 104 may be encrypted, secured, etc. in order to
prevent inappropriate access and fraud. One or more elements of
product data 202, merchant data 214, user data 224, and/or
trust-score data 226 may be obtained during a
product-identification search, an example embodiment of which is
described in relation to FIG. 3A and FIG. 3B. To enable convenient
use of data obtained for a received product identifier, any product
data, merchant data, and/or user data relevant to a product
identifier received by PDIS 104 may be stored in reference to a
product identifier and/or another identifier (e.g., a
PDIS-specified identifier). Upon receiving the same product
identifier in a subsequent search, product-identification mechanism
218 may reference the stored data instead of, or in addition,
accessing product-data sources.
[0025] PDIS 104 may maintain multiple data elements for the same
product and may reference a product's data by one or more existing
product identifiers or by a generated PDIS-specified identifier.
For example, PDIS 104 may maintain multiple product identifiers for
the same product and each of these product identifiers may be
referenced by an existing product identifier or PDIS-specified
identifier.
[0026] PDIS 104 may maintain user data 224, and a user identifier
may be used to reference the data of a particular user. For
example, a user identifier may be a user's email address, a
username, an identification code, a tracking cookie, a telephone
number, other alphanumeric data, etc. A user identifier may
reference a user's user account, which may contain data specific to
an individual user, such as credential information (e.g., username,
password, passcode, biometric information, etc.), contact
information (mailing address, email address, phone number, etc.),
demographic data (e.g., sex, age, etc.), user preferences (e.g.,
search preferences, privacy preferences, etc.), etc. User data 224
may include electronic-wallet information, such as loyalty and/or
reward card data (e.g., frequent shopper card numbers, club
membership card numbers, etc.), financial account data (e.g.,
credit card numbers, security codes, expiration dates, billing
addresses, etc.), preferred merchants, preferred fulfillment
methods (e.g., shipping addresses, shipping preferences, digital
delivery preferences, etc.), etc. Financial data and fulfillment
data may enable a user to purchase a product identified via PDIS
104. Additionally, or alternatively, financial data may be used to
pay service fees to the PDIS service provider.
[0027] User data 224 may include user-feedback data 212, which may
include information provided by users employing PDIS 104. When PDIS
104 provides product data to product-research app 108, a user may
provide feedback regarding whether the information provided is
accurate for the product identifier the user provided.
Additionally, when a user provides feedback, the user may provide
product data for a product (e.g., product-identifier data, image
data, title data, attribute data, etc.), thereby serving as a
product-data source. This user-provided product data may be
considered user-feedback data 212 and/or product data 204. Further
detail is provided below in relation to FIG. 3B and FIG. 3A.
[0028] PDIS 104 may include data-retrieval mechanism 216 that may
enable PDIS 104 to access data associated with a product identifier
received from a user. Data-retrieval mechanism 216 may obtain
product data from product-data sources via one or more channels,
such as through an application programming interface (API)
configured to interact with a product-data system, by crawling Web
sites, by monitoring a data feed, via Internet screen scraping,
through submissions from users and/or product-data service
providers, etc. Data-retrieval mechanism 216 may access product
data upon PDIS 104 receiving a user's product-identification search
query (e.g., in real time), on an ongoing basis (e.g., on a set
schedule), per PDIS personnel initiation, etc. Data-retrieval
mechanism 216 may access data maintained by PDIS 104 in data store
200. The particular channel employed may vary depending upon one or
more factors, such as whether PDIS 104 is attempting to conduct a
real-time search or not. In one example embodiment, when accessing
product data associated with a product identifier, data-retrieval
mechanism 216 may access some elements of product data from data
store 200 and other elements from product-data sources. In another
example embodiment, data-retrieval mechanism 216 may access data
maintained by PDIS 104 before attempting to access data maintained
by one or more product-data sources. If sufficient product data
corresponding to the product identifier is located within PDIS 104,
it may not attempt to access product-data sources.
[0029] Product-identification mechanism 218 may enable PDIS 104 to
identify a product associated with a received product identifier by
analyzing sets of data elements provided by one or more sources
and/or maintained in data store 200. As described in detail in
relation to FIG. 3A and FIG. 3B, for example,
product-identification mechanism 218 may analyze title data, image
data, attribute data, product-identifier data, user-location data,
merchant data (including merchant-location data), user-feedback
data, etc. in order to identify the product associated with a
received product identifier. Product-identification mechanism 218
may identify agreements and/or disagreements within the data, and
may analyze the relevancy and/or reliability of the data source.
For example, product-identification mechanism 218 may compare the
product data obtained from multiple merchant systems. When data
elements agree, product-identification mechanism 218 may record
this. The more often an element of product data agrees across
multiple sources, the more likely it pertains to the received
product identifier. Product-identification mechanism 218 may
evaluate product data, user-feedback data, and/or merchant data
maintained via data store 200 instead of, or in addition to,
evaluating live data accessed from product-data sources.
Product-identification mechanism 218 may indicate which product
data pertains to a received product identifier based upon an
identification score indicative of agreements and/or disagreements
between the evaluated product data. A high identification score may
indicate which product data corresponds to the received product
identifier and, thereby identifies the product.
[0030] Product-identification mechanism 218 may employ merchant
data as a factor when determining the identity of a product.
Merchant data may include data for an online merchant and/or a
bricks-and-mortar merchant. Merchant data may include data specific
to a particular merchant and/or merchant system, such as merchant
name, merchant-location data, merchant type, product type(s),
descriptive data, Web site information, etc. Merchant data may
include a merchant identifier that may be used to reference a
particular merchant's data within PDIS 104, including its trust
score. Merchant data may be submitted by a merchant, acquired by
PDIS personnel, gathered via one or more automated procedures
(e.g., during a product-identification search, Web crawling, etc.),
etc.
[0031] Merchant-location data may include an address, coordinates,
regional data, and/or other location-related data.
Product-identification mechanism 218 may use the user's location
data to assist in identifying a product by cross-referencing the
user's location with merchant-location data. For example, if PDIS
104 receives a product identifier associated with both a bar of
soap and a DVD, product-identification mechanism 218 may use
merchant-location data to determine that the user is located in an
electronics store, and therefore product-identification mechanism
218 may weigh the DVD product data far greater than the soap
product data.
[0032] PDIS 104 may include trust-scoring mechanism 220.
Trust-scoring mechanism 220 may enable PDIS 104 to assign a trust
score to one or more product-data sources with which PDIS 104 has
interacted. PDIS 104 may employ a trust-scoring process in order to
enhance its evaluations of product data. For example, a trust score
may be assigned to an online-merchant system, a bricks-and-mortar
merchant system, a data-aggregator system, a client system 106, a
user, etc. PDIS 104 may record the outcome each time it evaluates
product data obtained from a source to determine whether the
source's product data agrees or disagrees with product data
obtained from other sources. Additionally, or alternatively,
trust-scoring mechanism 220 may increase or decrease a product-data
source's trust score based upon user feedback. PDIS 104 may record
which elements of product data that a user has indicated as
accurate or inaccurate and may determine the source of this product
data. If a user has indicated that the product was properly
identified, the product-data source may receive a positive increase
to its trust scores. Conversely, if the user has indicated that the
product was not properly identified, the source of the inaccurate
data may receive a decrease in its trust score.
[0033] Trust-scoring mechanism 220 may assign a trust score to a
user based upon their user feedback. A user may be identified by
logging into the system (e.g., via product-research app 108), via
tracking cookies, via a phone number, via an email address, an
identification code associated with client system 106, etc. In one
scenario, a user may be tracked anonymously via a tracking code
that is associated only with the user's feedback data.
Trust-scoring mechanism 220 may evaluate a user's feedback data in
a fashion similar to the manner in which product-identification
mechanism 218 evaluates product data. Trust-scoring mechanism 220
may identify agreements and/or disagreements between feedback
received from multiple users, including product data provided by
users. If a user's feedback agrees with the majority of other
users, the user's trust score may be adjusted in a positive fashion
because this may indicate the user is providing accurate feedback.
Conversely, if the user's feedback disagrees with the majority of
other user's feedback, the user's trust score may be adjusted
negatively. Feedback from users with negative trust scores may be
devalued or disregarded, while feedback from users with positive
trust scores may be given greater weight and/or priority. Users may
receive an incentive for providing feedback. In order to prevent
abuse, incentives may only be awarded for accurate feedback.
Consistently inaccurate feedback may indicate abuse and an abusing
user may be prohibited from providing feedback, have his feedback
disregarded, and/or be blocked from employing PDIS 104 and/or
product-research app 108.
[0034] Data store 200 may include trust-score data 226, which may
include trust-score data associated with product-data sources
(e.g., product data systems and/or users). This data may be
referenced by an appropriate identifier, such as a merchant
identifier, a data-aggregator identifier, a user identifier,
etc.
[0035] User-interface mechanism 222 may enable PDIS 104 and client
system 106 to interact with one another. User-interface mechanism
222 may enable this interaction via product-research app 108, via a
Web site, via social networking services, etc. For example,
user-interface mechanism 222 may enable a user to create a user
account, establish or modify one or more preferences, add, edit,
and/or remove user data 222, provide user feedback, provide product
data, etc. In one embodiment, a user account may include
electronic-wallet data and a user may create, update, and/or delete
it via user-interface mechanism 222. User-interface mechanism 222
may enable PDIS 104 to authenticate users. For example,
user-interface mechanism 222 may analyze credentials provided by a
user in order to allow the user to access the appropriate user
account. Additionally, user-interface mechanism 222 may receive
product-identification search queries from client system 106,
receive entered product identifiers, user-location data, enable the
communication of search results, etc. In general, user-interface
mechanism 222 may enable a user to perform any user-driven
procedure described herein.
Product-Identification Search
[0036] FIG. 3A and FIG. 3B depict a flowchart of various steps in a
method of product identification via PDIS 104 according to an
example embodiment. FIG. 3A and FIG. 3B are described in terms of
product-research app 108 interacting with PDIS 104. This is not to
be construed as limiting and it should be understood that other
implementations are possible. For example, client system 106 may
interact with PDIS 104 via a Web browser, a Web browser plug-in, a
software application, etc. Furthermore, although the description of
FIG. 3A and FIG. 3B is described mainly in terms of PDIS 104
interacting with merchant systems, this is for illustrative
purposes only and this is not to be construed as limiting.
Additionally, or alternatively, PDIS 104 may interact with one or
more data-aggregator system, client systems, etc. It is to be
understood that PDIS 104 may interact with any suitable data source
in a manner similar to which it interacts with a merchant
system.
[0037] PDIS 104 may receive, from client system 106, a product
identifier entered into product-research app 108, as well as
user-location data (step 302). Product-research app 108 may be an
app installed on portable computing device, such as a smartphone or
tablet computer. The user may be located anywhere with access to
network 102. For example, the user may enter a product identifier
while at a bricks-and-mortar merchant location. A user may enter a
product identifier by using product-research app 108 and/or client
system 106 to scan a product's barcode or a matrix code, by
manually entering one or product identifiers, etc. For example, a
user may employ product-research app 108 to scan a barcode from a
product, enabling product-research app 108 to obtain a product
identifier (e.g., a product code) included in the barcode.
Product-research app 108 may convert the barcoded information into
a usable format. For example, product-research app 108 may convert
a barcode into a binary stream, an eight-bit signal, etc. In one
example embodiment, coded data may be communicated to PDIS 104 for
decoding and, therefore, PDIS 104, product-research app 108, or
both, may decode an entered data). Although the method described
herein is explained in terms of using a product identifier as a key
reference for identifying a product, this is not to be construed as
limiting and it is to be understood that other data may be received
and used as a key reference instead of, or in addition, a product
identifier. For example, a user may enter a keyword (e.g., a
product title) or more than one type of data may be used as a
reference, such as one or more keywords (e.g., product name, color,
etc.), a keyword and a product identifier, etc.
[0038] User-location data may be obtained by product-research app
108 and/or client system 106 via one or more known locating
technologies, such as via Global Positioning System (GPS)
technology, triangulation, Wi-Fi tracking, etc.
[0039] Once PDIS 104 has received the entered product identifier,
PDIS 104 may access product data corresponding to the product
identifier. Product data may include sets of data elements and may
originate from one or more sources. The product data accessed may
include one or more of title data, image data, attribute data,
product-identifier data, etc. PDIS 104 may access product data it
has stored and/or may access product data in real-time (or near to
real-time) from one or more sources. In one example embodiment,
PDIS 104 may determine whether it has stored sufficient product
data corresponding to the product identifier (step 304). If so,
PDIS 104 may access the stored product data associated with the
entered product identifier and, in one example embodiment, data
pertaining to the source of the product data (e.g., a merchant
system) (step 308). Source data may include a source's name (e.g.,
a merchant's name), source-location data (e.g., merchant-location
data), source type (e.g., source type, merchant type, etc.),
information regarding associated products (e.g., products offered),
etc. If PDIS 104 does not have sufficient corresponding stored
product data, it may contact one or more product-data sources (step
306) to access product data associated with the entered product
identifier and, in one example embodiment, to obtain source data
regarding each source contacted (step 308). In one example
embodiment, PDIS 104 may access both stored data and data
maintained at one or more sources for evaluation. For example, PDIS
104 may access title data maintained by PDIS 104 and may access
image data, attribute data, and product-identifier data maintained
by one or more merchant systems.
[0040] PDIS 104 may compare one or more elements of the accessed
product data in order to identify agreements and/or disagreements
between the data obtained from each source. As product data stored
in PDIS 104 may have originated from a product-data source, all
product data may be evaluated in the same manner, regardless of
whether it was accessed from a product-data source or within PDIS
104 at the time of product identification. It is to be understood
that the order in which data is analyzed may vary per
implementation and that the order described herein is for example
purposes and not to be construed as limiting. Additionally, the
particular data elements described herein are provided for
illustrative purposes and are not to be construed as limiting.
Different data elements may be employed or omitted as may be
determined per implementation.
[0041] PDIS 104 may evaluate title data each source has associated
with the entered product identifier in order to identify agreements
and/or disagreements (step 310). For example, three sources may
associate a product identifier with the title "Pampers Swaddlers
Diapers," while four sources may associate it with the title
"Milkbone Dog Biscuits." In a similar fashion, PDIS 104 may
identify agreements and/or disagreements between image data (step
312), attribute data (step 314), and/or product-identifier data
(step 316). In regard to determining image data agreements and/or
disagreements, in one example embodiment, PDIS 104 may employ
computer vision technology to analyze and compare received images.
Attribute data may pertain to hundreds of product attributes, such
as color size, weight, features, etc. Each of these attributes may
be analyzed in order to identify agreements and/or disagreements.
Although PDIS 104 may already have the entered product identifier
received from product-research app 108, the entered product
identifier may be associated with other product identifiers. For
example, a scanned UPC may be associated with an ASIN, ISBN, SKU,
etc. PDIS 104 may employ the additional product identifiers to
assist with product identification.
[0042] Once PDIS 104 has identified agreements and/or disagreements
within the product data associated with the entered product
identifier, it may adjust the value of an agreement or disagreement
per the trust score of one or more product-data source(s) (step
318). A source with a higher trust score may be considered to
provide more accurate data and, therefore, PDIS 104 may adjust the
value of its associated data agreements and/or disagreements
significantly in its analysis. Conversely, PDIS 104 may disregard
or less significantly adjust agreements and/or disagreements for
data from a source with a lower trust score.
[0043] For example, PDIS 104 may access title data associated with
a product identifier from Amazon.com, Buy.com. Target.com, and
Half.com. The title data from Amazon.com may indicate that the
title for a product associated with the product identifier includes
the phrase "Eat, Pray, Love," while the title data from Buy.com,
Target.com, and Half.com may include the phrase "Halo 3." PDIS 104
may recognize that data from three of the four sources agree and/or
that the data from one source disagrees. PDIS 104 may evaluate the
agreements and/or disagreements in regard to a trust score
associated with each of Amazon.com, Buy.com. Target.com, and
Half.com. Amazon.com may be considered a highly reliable source and
therefore receive a high trust score. Buy.com, Target.com, and
Half.com may be considered less reliable sources and may have lower
trust scores. However, the total of the agreeing trust scores may
outweigh the total trust score of the disagreeing source.
[0044] In one example embodiment, PDIS 104 may adjust an agreement
and/or disagreement per user-location data and source data (step
320). PDIS 104 may use the user-location data to determine whether
one or more elements of received product data are relevant to the
user's location by determining whether the user-location data
corresponds with merchant-location data. If a corresponding
location is identified, PDIS 104 may analyze other elements of
merchant data to determine a merchant's relevancy to the entered
product identifier and adjust the associated product data
accordingly. For example, if PDIS 104 determines that the
user-location data indicates that the user is located in a grocery
store, PDIS 104 may increase the value of product data from
obtained from food-related merchant systems so that this data
carries more weight than the data provided by other sources.
[0045] Once PDIS 104 has analyzed identified data agreements and/or
disagreements in regard to trust scores and/or user-location data,
it may generate an identification score for the data elements based
upon the agreements and/or disagreements (step 322). Each data
element may be assigned an identification score, or the entire set
of data elements from a source may be assigned an identification
score. The data associated with the most significant identification
scores may be considered to be associated with the received product
identifier and, in turn, the product may be considered to be
identified. PDIS 104 may communicate this product data for the
identified product to product-research app 108 so that
product-research app 108 may present it to the user (step 324).
[0046] In addition to determining accurate product-data elements,
PDIS 104 may analyze agreeing data elements to determine the most
accurate or clearest product data to use. For example, by creating
a histogram of various words, phrases, etc. included in accessed
title data, PDIS 104 may filter the data to determine the most
accurate and/or useful title (e.g., "Halo 3," "Microsoft Halo 3,"
"Halo 3 Xbox 360," and "Halo 3 by Activision/Microsoft" may be
reduced to "Halo 3").
[0047] In one example embodiment, PDIS 104 may instruct
product-research app 108 to request the user provide feedback
regarding the accuracy of the provided product data (step 326).
User feedback may indicate the accuracy of one or more elements of
product data determined to be associated with the entered product
identifier. Product-research app 108 may be configured to enable
users to provide feedback to PDIS 104, such as by prompting a user
to indicate whether the correct product was identified (e.g., "Is
this the product? Select Yes or No"), by prompting the user to rate
the product data (e.g., a scale from 1 to 5), etc. If one or more
data elements provided were inaccurate, a user may be enabled to
provide correct product data. In one example embodiment, user
feedback may include one or more data elements with which PDIS 104
may use when evaluating agreements and/or disagreements. For
example, a user may submit an image (e.g., captured via client
system 106), may indicate an accurate image (e.g., select from a
displayed list), provide an accurate title, etc. When subsequently
determining agreements and/or disagreements for the associated
product identifier, PDIS 104 may access the product data provided
by the user, thereby using the user as a product-data source. If
PDIS 104 determines that user feedback was received (step 328),
PDIS 104 may store the user feedback (including any user-provided
product data) (step 330).
[0048] PDIS 104 based upon whether received user feedback indicates
that the product data is accurate (step 332). Additionally, or
alternatively, PDIS 104 may score one or more of the sources that
were accessed in the product-identification search based upon the
number of agreements and/or disagreements associated with the
product data it provided.
[0049] If PDIS 104 determines that the product identification was
inaccurate per user feedback (step 334), it may reevaluate the
accessed data based upon the feedback (e.g., reattempt to identify
agreements and/or disagreements, evaluate user-location data,
reevaluate trust scoring, etc.) (step 336). For example, if an
image provided was not accurate, PDIS 104 may reattempt to identify
the accurate image. As describe above, the extent to which PDIS 104
reevaluates the provided product data (or if it reevaluates it at
all) may be based upon the user's trust score.
[0050] If user feedback indicates that the data was accurate, PDIS
104 may store any product data that had not been previously stored
(or may update previously stored data) for subsequent
product-identification searches (step 338). In one example
embodiment, if user feedback was not received, PDIS 104 may store
or update product data based upon the assumption that it was
accurate.
Merchant-Specified Product Identifier Identification
[0051] In one scenario, PDIS 104 may determine merchant-specified
product identifiers (e.g., SKUs) via the aforementioned procedure.
A merchant may not list manufacturer-specified product identifiers
(e.g., UPCs, EANs, etc.) for products on its standard or mobile Web
sites, but may instead list its own merchant-specified product
identifiers. If PDIS 104 identifies a merchant-specified identifier
associated with a manufacturer-specified product identifier while
identifying a product, it may record the merchant-specified
identifier. The merchant-specified product identifier may be stored
in association with other product data, such as the
manufacturer-specified product identifier (e.g., a UPC, EAN, etc.),
to enhance subsequent identification by PDIS 104. By being able to
match a merchant-specified product identifier with a more generally
used manufacturer-specified product identifier (e.g., UPC, etc.),
PDIS 104 may more readily identify a product.
[0052] According to example embodiments of the present invention,
components of product-identification network 100 including PDIS
104, client system 106, and merchant systems, and data-aggregator
systems may be implemented by various means. Means for implementing
the systems, mechanisms and modules may include hardware, alone or
under direction of one or more computer program code instructions,
program instructions or executable computer-readable program code
instructions from a computer-readable storage medium.
[0053] In one example, one or more apparatuses may be provided that
are configured to function as or otherwise implement the systems,
mechanisms and modules shown and described herein. Generally, an
apparatus of example embodiments of the present invention may
comprise, include or be embodied in one or more fixed or portable
computing devices, a number of examples of which are provided
above. The apparatus may include one or more of each of a number of
components such as, for example, a processor connected to
memory.
[0054] The processor is generally any piece of hardware that is
capable of processing information such as, for example, data,
computer-readable program code, instructions, etc. (generally
"computer programs," e.g., software, firmware, etc.), and/or other
suitable electronic information. More particularly, for example,
the processor may be configured to execute computer programs, which
may be stored onboard the processor or otherwise stored in the
memory. The processor may be a number of processors, a
multi-processor core or some other type of processor, depending on
the particular implementation. In another example, the processor
may be embodied as or otherwise include one or more
application-specified integrated circuits (ASICs),
field-programmable gate arrays (FPGAs), etc. Thus, although the
processor may be capable of executing a computer program to perform
one or more functions, the processor of various examples may be
capable of performing one or more functions without the aid of a
computer program.
[0055] The memory is generally any piece of hardware that is
capable of storing information such as, for example, data, computer
programs and/or other suitable information. The memory may include
volatile memory and/or non-volatile memory, and may be fixed or
removable. Examples of suitable memory include random access memory
(RAM), read-only memory (ROM), a hard drive, a flash memory, a
thumb drive, an optical disk, a magnetic tape or some combination
of the above. In various instances, the memory may be referred to
as a computer-readable storage medium which, as a non-transitory
device capable of storing information, may be distinguishable from
computer-readable transmission media such as electronic transitory
signals capable of carrying information from one location to
another. Computer-readable medium as described herein may generally
refer to a computer-readable storage medium or computer-readable
transmission medium.
[0056] In addition to the memory, the processor may be connected to
one or more interfaces for displaying, transmitting and/or
receiving information. The interfaces may include a communications
interface and/or one or more user interfaces. The communications
interface may be configured to transmit and/or receive information,
such as to and/or from other apparatus(es), network(s), etc. The
communications interface may be configured to transmit and/or
receive information by physical (wireline) and/or wireless
communications links.
[0057] The user interfaces may include a display and/or one or more
user input interfaces. The display may be configured to present or
otherwise display information to a user, suitable examples of which
include a liquid crystal display (LCD), light-emitting diode
display (LED), plasma display panel (PDP), etc. The user input
interfaces may be wireline or wireless, and may be configured to
receive information from a user into the apparatus, such as for
processing, storage and/or display. Suitable examples of user input
interfaces include a microphone, image or video capture device,
keyboard or keypad, joystick, touch-sensitive surface (separate
from or integrated into a touchscreen), etc. The user interfaces
may further include one or more interfaces for communicating with
peripherals such as printers, scanners, etc.
[0058] As indicated above, program code instructions may be stored
in memory, and executed by a processor, to implement functions of
the systems, mechanisms and modules described herein. As will be
appreciated, any suitable program code instructions may be loaded
onto a computer or other programmable apparatus from a
computer-readable storage medium to produce a particular machine,
such that the particular machine becomes a means for implementing
the functions specified herein. These program code instructions may
be stored in a computer-readable storage medium that can direct a
computer, a processor or other programmable apparatus to function
in a particular manner to thereby generate a particular machine or
particular article of manufacture. The instructions stored in the
computer-readable storage medium may produce an article of
manufacture, where the article of manufacture becomes a means for
implementing functions described herein. The program code
instructions may be retrieved from a computer-readable storage
medium and loaded into a computer, processor or other programmable
apparatus to configure the computer, processor or other
programmable apparatus to execute operations to be performed on or
by the computer, processor or other programmable apparatus.
[0059] Execution of the program code instructions may produce a
computer-implemented process or method such that the instructions
executed by the computer, processor or other programmable apparatus
provide operations for implementing functions described herein.
Execution of instructions by a processor, or storage of
instructions in a computer-readable storage medium, supports
combinations of operations for performing the specified functions.
It will also be understood that one or more functions, and
combinations of functions, may be implemented by special purpose
hardware-based computer systems and/or processors which perform the
specified functions, or combinations of special purpose hardware
and program code instructions.
[0060] A system, method, and computer-readable storage medium for
enabling an individual to use a product-search mechanism to obtain
accurate identification regarding a product by entering a product
identifier into a computing device has been illustrated. It will be
appreciated by those skilled in the art that the system, method,
and computer-readable storage medium of example embodiments of the
present invention may be used to employ a computing device to
locate accurate product information based upon a product identifier
via an identification system. It will thus be appreciated by those
skilled in the art that other variations of example embodiments of
the present invention disclosed herein may be possible without
departing from the scope of the present invention.
[0061] These and other aspects of example embodiments of the
present invention will become apparent to those skilled in the art
by a review of the preceding detailed description. Although a
number of salient features of example embodiments of the present
invention have been described above, the present invention may be
capable of other embodiments and of being practiced and carried out
in various ways that would be apparent to one of ordinary skill in
the art after reading the disclosed example embodiments of the
present invention. Therefore, the description should not be
considered to be exclusive of these other embodiments. Moreover,
although the foregoing descriptions and the associated drawings
describe example embodiments in the context of certain example
combinations of elements and/or functions, it should be appreciated
that different combinations of elements and/or functions may be
provided by alternative embodiments without departing from the
scope of the appended claims. For example, different combinations
of elements and/or functions than those explicitly described above
are also contemplated as may be set forth in some of the appended
claims. Also, it is to be understood that the phraseology and
terminology employed herein are for the purposes of description and
should not be regarded as limiting.
* * * * *