The system and method is directed to a system that uses machine readable codes.
Using a machine-readable code to identify products is a widely used phenomenon across the world. In fact, every product we buy, use and/or consume has a machine-readable code associated with it. There are many different types of known machine-readable codes that are in use today including: 1) one-dimensional bar codes; 2) two-dimensional bar codes; 3) Quick Response codes and the like.
As the number of machine-readable codes increases, there needs to be a system that indexes and correlates this information to the consumer and to the products. Such information is maintained in large databases today by the various organizations that are responsible for assigning codes to various retailers. However such databases cannot be easily searched by the consumer and be correlated with other products and trends in a meaningful manner.
The search and correlation brings numerous benefits to retail products, namely the ability to delivery demonstration videos explaining the usage of the product, on demand user video reviews, connect with similar users of the product at the time of purchase.
Mobile video is an emerging field with users consuming premium and user generated video content. The concept of using machine-readable codes attached to objects and being able search through a large repository of such codes efficiently and delivering associated video on demand is a very beneficial to the end consumer and thus it is desirable to provide a system and method for indexing machine readable codes and correlate the machine readable codes and it is to this end that the system and method are directed.
The system and method are particularly applicable to a web-based system that delivers product specific data to a computing device and reads quick response type codes and it is in this context that the system and method are described. It will be appreciated, however, that the system and method has greater utility since it can be used with other computer system architectures, with various computing devices and may be used with various different types of machine readable codes.
A system and method for indexing and correlate machine-readable codes is provided that reads machine-readable codes which are widely associated with retail and wholesale goods. This system and method connects the machine-readable codes with modern search engine mechanism to deliver associated content faster and in an efficient manner. In one embodiment, the method may include the users entering machine-readable code information on their mobile phones or taking a camera snapshot of the machine readable code so that the code information is then sent to a correlation system that delivers associated product video information relating to the machine-readable code back to the mobile phone. The correlation system enables a user to search and correlate the machine-readable code to perform targeted video content delivery. Thus, the system and method turns a mobile device of the user (or any other computing device) into a powerful product helper system that enables users to search and discover products.
Returning to
The search system 102 may include a storage unit that contains a plurality of pieces of machine readable code data and at least one product associated with each machine readable code that is contained in the storage unit and a plurality of pieces of video data associated with particular products. Thus, when the search system 102 receives the machine readable code information from a computing device, the search system 102 may then look for this machine-readable code in the data in the storage unit to determine if the machine readable code is in the storage unit and to identify any product information associated with the machine readable code. If the search system finds a match, it will take that information to query its video related index to find out any video data that matches the product data. Once a match is found, all of the matching information is sent to the correlation system 103 to correlate and recommend similar product based on the users consumption pattern. In the system, there are several functions that are exposed by the correlation system that is invoked by the search system. The functions may include: AddUserForCorrelation (user,id) which is a template function to keep track of the user during correlation and to correlate the information; AddVideoForCorrelation (userid, codeid, video_id) which is a function that inserts the userid, codeid and video identification to the correlation system wherein the correlation system learns from this input; and GetCorrelatedVideos (userid, codeid) which is a function that provides an XML list of videos that correlate to the user and the machine readable code.
Once the correlation information is found, the appropriate video links and related metadata such as thumbnails, description, number of views, etc may be fetched from the video delivery system 104. An example of the video metadata may be: video title character (255), video description character (2048), original source character (255), number of views (integer) and Thumbnail character (255); and an example of the video data may be: video length (time), video codec type (integer), audio codec type (integer), video data (binary) and audio data (binary). Then, the appropriate video links and related metadata are sent back to the computing device(s) by the search system 102 over the communication link. When the user selects the appropriate video to view, this video is delivered directly to the computing device being used by the user from the video delivery system 104.
The resulting expanded text then may be sent to a search servlet (204) that is part of the indexing system 191, which then will take that query and perform a search across its inverted index of product video information in a clustered file system 206. Once a set of matching entries is found they are correlated with the video correlation system to find recommendations and personalization information.
Various crawlers that gather information from the Internet and other business data sources to build the index over a period of time. The crawlers will crawl video related sites on the Internet to gather video information (207). The machine-readable code information is the input into the indexer system (209). Furthermore, product related information is gathered from various product databases on the Internet (210). The indexes may be stored on a clustered file system. The clustered file-system connects the individual file systems across all the servers to appear as one single large file system (206) in a well known manner. The crawl information is posted to the indexing servlet (205). This indexing servlet receives the information, and then writes this to an inverted index table. The inverted index table consists of a list of words, corresponding link lists of documents and their frequencies that match these words. The system maintains several indexes for storing different types of data. In one embodiment, machine and product data will be maintained on a separate index from the video data. During a search query, data is searched from index and the resulting data is then input as query to search the second index.
A classifier 302 gathers its information from the classification databases and the output from the classifier is used by the rule engine to make smart recommendation decisions that are returned to the request handling system 300 that communicates the decisions back to the other parts the system. For example, the pseudocode for the classifier operation may be:
In some embodiments, regression Analysis based statistical techniques are employed to enhance the recommendation. In particular, various user searches are gathered and graphed using regression to find a trend, as new search results come through this trend is constantly adjusted to get better results.
While the foregoing has been with reference to a particular embodiment of the invention, it will be appreciated by those skilled in the art that changes in this embodiment may be made without departing from the principles and spirit of the invention, the scope of which is defined by the appended claims.