WO2016157138A1 - A product recommendation system and method - Google Patents
A product recommendation system and method Download PDFInfo
- Publication number
- WO2016157138A1 WO2016157138A1 PCT/IB2016/051867 IB2016051867W WO2016157138A1 WO 2016157138 A1 WO2016157138 A1 WO 2016157138A1 IB 2016051867 W IB2016051867 W IB 2016051867W WO 2016157138 A1 WO2016157138 A1 WO 2016157138A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- user
- tags
- users
- product
- percentage
- Prior art date
Links
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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
Definitions
- the present invention relates to a recommendation system and method. More particularly, the present invention relates to recommendation of a product based on tags. BACKGROUND
- the recommendation systems are a type of information filtering systems that recommend products available in e-shops, entertainment items (books music, videos, Video on Demand, books, news, images, events etc.) or people (e.g. on dating sites) that are likely to be of interest to the user.
- the recommendation systems have been used to help users by providing recommendations of items and products that might interest them.
- the existing recommendation systems suffer from the following drawbacks like (i) lack of ease in short listing within the product category i.e., with a wide range of options available in each product category of interest, it is hard for an average user to narrow down to a smaller, relevant set of options, (ii) contradicting information from multiple available sources like Facebook, blogs, review sites, ecommerce sites when making research related to purchase of the product, (iii) do not provide a hint/tip about why a particular product is recommended to the user i.e., user does not get to know the relevancy behind the recommendation, thus possibly leaving some doubt in the user's mind about the recommendation, (iv) do not analyse various elements of a user's life like interests, profession, hobbies and the like and map them to relevant aspects/sub-aspects of a product before recommending a product, (v) do not take into account the usage of the existing product, and analyse the usage of aspects/sub-
- the recommendation systems mostly (i) rely upon the previous product purchase history or previous product viewing history, (ii) rely upon the product specification and do not go in detail about understanding aspects/ sub aspects of a product and characterizing the product, (iii) extracts few attributes from a user profile (e.g. Facebook), finding the similarity in their user profile database and recommend the products which are purchased by similar user profiles.
- a user profile e.g. Facebook
- the present invention provides a method for recommendation of products based on tags.
- the method includes receiving user profile information and product information , generating first tags in relation to user profile automatically or receiving the first tags from the each user manually, generating second tags automatically or receiving the second tags from the each user manually, determining a first similarity and a second similarity index with a plurality of other users, monitoring the actions of the each user in response to the recommendations, and providing the information for the each user to clearly know the criteria for the recommendations.
- the present invention provides a server for recommendation of products based on tags.
- the server includes a first tag generation module, a second tag generation module, a recommendation module, and recommendation-monitoring module.
- the first tag generation module is configured to generate and associate a plurality of tags, such as text strings, uniquely for the each user.
- the second tag generation module is configured to generate and associate a plurality of tags, for the each product owned by the each user.
- the recommendation module is configured for recommending one or more products for the each user.
- the recommendation-monitoring module is configured for ensuring that the recommendation module involves a closed loop mechanism.
- Figure 1 illustrates a product recommendation method 100, in accordance with one or more embodiments of the present invention.
- FIG. 2 illustrates a product recommendation system 200, in accordance with embodiment of the present invention.
- Figure 3 illustrates the constructional details of a product/device 300 owned by the user such as smart phone, in accordance with the embodiment of the present invention.
- Figure 4 illustrates a unit 400 implemented in the server, said unit interacting with the product owned by user(s) in accordance with the embodiment of the present invention.
- FIG. 5 illustrates a typical hardware configuration of a server 500, which is representative of a hardware environment for implementing the present invention.
- any terms used herein such as but not limited to “includes,” “comprises,” “has,” “consists,” and grammatical variants thereof do NOT specify an exact limitation or restriction and certainly do NOT exclude the possible addition of one or more features or elements, unless otherwise stated, and furthermore must NOT be taken to exclude the possible removal of one or more of the listed features and elements, unless otherwise stated with the limiting language “MUST comprise” or “NEEDS TO include.”
- Figure 1 illustrates a product recommendation method 100, in accordance with an embodiment of the present invention.
- the method comprises assigning pre-defined weights to one or more first parameters and assigning pre-defined weights to one or more second parameters.
- the weights are pre-defined in the server and may be altered.
- the method comprises generating and associating one or more first tags to each user, each first tag corresponding to a first parameter.
- the one or more first tags may be inputted by the user also.
- the method comprises generating and associating one or more second tags to the each user, each second tag corresponding to a second parameter. The one or more may be inputted by the user.
- the first parameters include one or more: (i) Demographic information of a user, (ii) characterization of a user, (iii) common interests of a user associated with different products,
- Demographic information of a user includes age, gender, location and the likes of the user.
- the first tags in relation to demographic information may be #male, #bangalore.
- the said information may be inputted by the user or may be fetched by a server in the system from one or more social media accounts of the user.
- Characterization of a user-The characterization of the user includes information such as profession, interests and the likes of the user.
- the first tags in relation to said parameter may be #reporter, #traveller, #audiophile and so on.
- the said information may be inputted by the user or may be fetched by a server in the system from one or more social media accounts of the user.
- Common interests of a user associated with different products could be derived from a combination of "Product" information based on specific key features/key aspects ⁇ the term features and aspects have been used interchangeably for the purposes of the invention) for and sub-features/sub-aspects ⁇ the term sub-features and sub-aspects have been used interchangeably for the purposes of the invention) of the product owned by the user, previous products purchase history, if available in the system, connected singular or plurality of products to the product owned by the user and the like.
- the first tags in relation to said parameter may be in relation to features and sub-features of the product owned by the user. For example, in the case of a product i.e.
- the client would identify that the camera consists of a Sony Exmor sensor, the handycam connected to the smartphone also consists of a Sony Exmor sensor and the previous smartphone also had a Sony Exmor sensor, the associated tags could be #sonyfan, #sonyexmorfan and so on.
- Product usage information for specific key aspects and sub aspects of the product could be monitored by the system.
- the system would monitor information such as number of games installed, frequency of usage of the games and associated tag could be #gamer.
- the client could monitor the usage of camera, the number of images clicked in a day, the specific settings of the camera and information extracted from the image metadata.
- the first tags in relation to said parameter could be #selfielover, #lowlightphotographer and so on. e.
- Activities of the user in system The activities of the user with the system, which is recorded by a server, such as frequent rating and reviews for any products, response to queries in discussion forums associated with any product, combined with associated feedback from other users in the system by means of upvotes and the like.
- a server such as frequent rating and reviews for any products, response to queries in discussion forums associated with any product, combined with associated feedback from other users in the system by means of upvotes and the like.
- the first tags in relation to said parameter could be
- the second parameters include one or more: (i) Product(s) owned by the user and key aspects and sub aspects of said product(s), and (ii) Product tags updated by the owner.
- the said second parameters and examples of second tags, corresponding to said second parameter, generated for each user by the system are discussed below.
- Product(s) owned by the user and key aspects and sub aspects of said products - Information in relation to product such as model of the product, brand of the product and the likes. Information in relation to key features and/or sub-features such as camera, performance of camera in low light, battery usage and other features/sub- features . The said information is automatically extracted by the system from the product.
- the products would include the "Product”, as well as singular or plurality of products, connected to this "Product", which acts as the gateway.
- the associated tags could be #nexus5, #dual speaker and so on.
- the associated tags could be #gaming, #selfie, #performance and the like.
- the method comprises comparing one or more first tags associated with a first user with one or more first tags associated with one or more further users.
- first user means any registered user to whom the products are recommended.
- further user(s) means all the registered users in the system except the said "first user”.
- the method comprises determining a first similarity index, said first similarity index indicating a percentage of weighted matching first tags corresponding to each further user with that of said first user.
- the percentage of weighted matching first tags is determined based on (i) number of matching first tags the each further user has with said first user, and (ii) weight assigned to the first parameter corresponding to each matching first tag.
- other key parameters specific to the user may also be taken as inputs for arriving at the first similarity index. This could include information such as, if any user in the system is a friend of the "User", which could be known from contact list, social media such as Facebook and the like.
- the method comprises selecting a first set of users from said one or more further user(s), said first set of users having a pre-determined percentage of weighted matching first tags.
- the pre-determined percentage may be a single percentage or a range of percentage.
- the one or more further users in the system who have the highest percentage of weighted matching tags with the first user have a higher user similarity index and are grouped together as the first set of users.
- the said first set of users may be associated with a unique group identity.
- the method comprises comparing one or more second tags associated with the first user with one or more second tags associated with said first set of users.
- the method comprises determining a second similarity index, said second similarity index indicating a percentage of weighted matching second tags corresponding to each user of said first set of users with that of said first user.
- the percentage of weighted matching second tags is determined based on (i) number of matching second tags each user of said first set of users has with said first user, and (ii) weight assigned to the second parameters corresponding to each matching second tag.
- other key parameters specific to the product may also be taken as inputs for arriving at a product recommendation list. For example, in the case of smartphone recommendations could include, time since the smartphone was launched, whether the latest version of the software is available, if there is an upgraded version for the same smartphone available from the brand and the like.
- the method comprises selecting a second set of users, said second set of users having a pre-determined percentage of weighted matching second tags.
- the pre- determined percentage may be a single percentage or a range of percentage.
- the method comprises recommending one or more products associated with said second set of users to the first user.
- the method further comprises transmitting one or more first tags and second tags associated with the said second set of users.
- the first tags enables the first user to know that the recommendations are from other users with similar interests and the second tags enable the user to identify key aspects of the recommended products as well as the perception about each of these products from other similar users.
- #selfielover, #audiophile and other tags of a user are referenced by the system to recommend a smartphone which is being used by other users, who also have these 2 tags in their profile. While recommending that phone, the #selfielover and #audiophile tags are also shown to the user. Due to this, the user understands that the recommended phone probably has a good front camera and probably provides good audio experience too. This feature of the present invention allows the user to proceed with the recommended product or reject it clearly knowing if the decision is correct.
- the method further comprises monitoring one or more purchase activities of said first user, generating, based on identification of purchase of atleast one recommended product, one or more additional first tags for said first user, and generating, based on identification of purchase of the atleast one recommended product, one or more additional second tags for said first user.
- the new first tags and second tags generated due to purchase of a recommended product will ensure that there exists a closed loop mechanism.
- the said new tags will be considered by the system while calculating a first similarity index and a second similarity index during next recommendation cycle to the first user. Also, if multiple users within a group purchase a common product based on the recommendations, this information is recorded as a part of the first parameter and considered as an input for future calculation of the first similarity index. It is also important to note that the first similarity index is re-calculated and re-grouping done, if necessary, whenever a new user is added to the system, or the new tags are updated for a specific user.
- FIG. 2 illustrates a product recommendation system 200, in accordance with the embodiment of the present invention.
- the system 200 comprises a plurality of users 210.
- the said plurality of users 210 owns one or more products 220 such as mobile devices, smart phones and the likes.
- the said plurality of products 220 is connected to one or more servers 240 by means of a communication network 230.
- Figure 3 illustrates the constructional details of a product/device 300 owned by the user such as smart phone, in accordance with the embodiment of the present invention.
- the said product 300 includes one or more of: a processing unit 301, a memory unit
- the processing unit 301 may include one or more processors, microprocessors, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or the like.
- the processing unit 301 may control the operation of the said mobile communication device 300 and its components.
- the memory unit 302 may include a random access memory (RAM), a read only memory (ROM), and/or other type of memory to store data and instructions that may be used by the processing unit 301.
- the memory unit 302 includes product recommendation platform/application/module 303 and related data involved therein. More specifically, the product recommendation platform/application/module 303 may be a pre-installed application or may be downloaded from the server hosting such an external application. In an alternative implementation, the functionality provided by the product recommendation platform/application/module 303 may be implemented inbuilt in the product 300. A dedicated product recommendation module 303 may be provided in the product/device 300 for that purpose.
- the product recommendation platform/application/module 303 may include one or more of routines, programs, objects, components, data structures, etc., which perform particular tasks, functions or implement particular abstract data types.
- the product data 304 serves as a repository for storing data processed, received, and generated by the product recommendation platform/application/module 303.
- the product/device interface 305 may include mechanisms for inputting information to the product/device 300 and/or for outputting information from the device 300.
- input and output mechanisms might include a speaker to receive electrical signals and output audio signals; a camera lens to receive image and/or video signals and output electrical signals; a microphone to receive audio signals and output electrical signals; buttons (e.g., control buttons and/or keys of a keypad) to permit data and control commands to be input into the product/device 300; a display to output visual information; a light emitting diode; a vibrator to cause the device 300 to vibrate etc.
- the communication interface 306 may include any transceiver-like mechanism that enables the product/device 300 to communicate with other devices and/or systems.
- the communication interface 306 may include a modem or an Ethernet interface to a LAN.
- the communication interface 306 may also include mechanisms for communicating via a network, such as a wireless network.
- the communication interface 306 may include a transmitter that may convert baseband signals from the processing unit 301 to radio frequency (RF) signals and/or a receiver that may convert RF signals to baseband signals.
- RF radio frequency
- the communication interface 306 may include a transceiver to perform functions of both a transmitter and a receiver.
- the communication interface 306 may connect to the antenna assembly 307 for transmission and/or reception of the RF signals.
- the antenna assembly 307 may include one or more antennas to transmit and/or receive RF signals over the air.
- the antenna assembly 307 may, for example, receive RF signals from the communication interface 306 and transmit them over the air and receive RF signals over the air and provide them to the communication interface 306.
- the communication interface 306 may communicate with new generation cellular network, older generation cellular network, and/or with one or more other cellular networks.
- the product/device 300 may perform certain operations. The product/device 300 may perform these operations in response to the processing unit 301 executing software instructions contained in a computer-readable medium, such as the memory unit 302.
- a computer-readable medium may be defined as a non-transitory memory device.
- a memory device may include spaces within a single physical memory device or spread across multiple physical memory devices.
- the software instructions may be read into the memory unit 302 from another computer-readable medium or from another device via the communication interface 306.
- the software instructions contained in the memory unit 302 may cause the processing unit 301 to perform processes described herein.
- hardwired circuitry may be used in place of or in combination with software instructions to implement processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
- Figure 3 shows a number of components of the product/device 300
- the device 300 may include fewer components, different components, differently arranged components, or additional components than depicted in said Figure 3. Additionally or alternatively, one or more components of the device 300 may perform the tasks described as being performed by one or more other components of the device 300.
- the product recommendation module/application/platform 303 of the product/device 300 is configured for extracting information in relation to the product/device and transmitting said first information to a server.
- the said information includes one or more: brand name of the product, model number of the product and specification of the product.
- the product recommendation module 303 is further configured for one or more: (i) receiving a request from a server to provide information in relation to user and/or features and/or or sub-features of said product, (ii) transmitting said information to the server, (ii) receiving a request from server recommending one or more products, and (ii) transmitting the information in relation to buying of one or more recommended product to the server.
- Figure 4 illustrates a unit 400 implemented in the server, said unit interacting with the product owned by user(s) in accordance with the embodiment of the present invention.
- the said unit 400 comprises: a first comparing module 401, a first determination module 402, a first selection module 403, a second comparing module 404, a second determination module 405, a second selection module 406, a recommendation module 407, a recommendation monitoring module 408, an assignment module 409, a first tag generation module 410, a second tag generation module 411, a receiving/fetching module 412 and a transmitting module 413.
- the said first comparing module 401 is configured for comparing one or more first tags associated with a first user with one or more first tags associated with one or more further users.
- the first determination module 402 is configured for determining a first similarity index, said first similarity index indicating a percentage of weighted matching first tags corresponding to each further user with that of said first user.
- the first selection module 403 is configured for selecting a first set of users from said one or more further user(s), said first set of users having a pre-determined percentage of weighted matching first tags.
- the second comparing module 404 is configured for comparing one or more second tags associated with the first user with one or more second tags associated with said first set of users.
- the second determination module 405 is configured for determining a second similarity index, said second similarity index indicating a percentage of weighted matching second tags corresponding to each user of said first set of users with that of said first user.
- the second selection module 406 is configured for selecting a second set of users, said second set of users having a pre-determined percentage of weighted matching second tags.
- the recommendation module 407 configured for recommending one or more products associated with said second set of users to the first user.
- the recommendation monitoring module 408 is configured for monitoring one or more purchase activities of said first user.
- the recommendation monitoring module 408 is further configured for identification of purchase of atleast one recommended product by the first user.
- the assignment module 409 is configured for assigning pre-defined weights to one or more first parameters and assigning pre-defined weights to one or more said second parameters.
- the first tag generation module 410 is configured for generating and associating one or more first tags to each user, each first tag corresponding to a first parameter.
- the said first tag generation module is further configured for generating and associating one or more new first tags to the first user.
- the second tag generation module 411 is configured for generating and associating one or more second tags to the each user, each second tag corresponding to a second parameter.
- the said second tag generation module is further configured for generating and associating one or more new second tags to the first user.
- the receiving/fetching module 412 is configured for: (i) receiving demographic information of a user from the user via user device/product, (ii) fetching demographic information of a user from one or more social media sites, (iii) receiving information in relation to characterization of the user such as profession, interest, hobbies from the user via user device/product, (iv) fetching information in relation to characterization of the user such as profession, interest, hobbies from one or more social media sites, (v) receiving/fetching information in relation to features and/or sub-features of the product, product usage, further products connected to said product, activities of the user in the system such as frequent rating and reviews, response to queries in discussion forums associated with any product, combined with associated feedback from other users in the system by means of up votes and the like.
- the transmitting module 413 is configured for recommending one or more products to the user device/product.
- any of the above-modules can be implemented as a software/hardware/combination of hardware and software and said modules can interact with each other and other components of a server for implementing the embodiments of the present invention.
- FIG. 5 illustrates a typical hardware configuration of a server 500, which is representative of a hardware environment for implementing the present invention.
- the server as described above, includes the hardware configuration as described below.
- the server 500 may operate as a client owner computer in a server-client owner network environment, or as a peer computer system in a peer-to- peer (or distributed) network environment.
- the server can also be implemented as or incorporated into various devices, such as, a tablet, a personal digital assistant (PDA), a palmtop computer, a laptop, a smart phone, a notebook, a smart watch and a communication device.
- PDA personal digital assistant
- the server 500 may include a processor 501 e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both.
- the processor 501 may be a component in a variety of systems.
- the processor 501 may be part of a standard personal computer or a workstation.
- the processor 501 may be one or more general processors, digital signal processors, application specific integrated circuits, field programmable gate arrays, servers, networks, digital circuits, analog circuits, combinations thereof, or other now known or later developed devices for analysing and processing data.
- the processor 501 may implement a software program, such as code generated manually (i.e., programmed).
- the server 500 may include a memory 502 communicating with the processor 501 via a bus 503.
- the memory 502 may be a main memory, a static memory, or a dynamic memory.
- the memory 502 may include, but is not limited to computer readable storage media such as various types of volatile and non-volatile storage media, including but not limited to random access memory, read-only memory, programmable read-only memory, electrically programmable read-only memory, electrically erasable read-only memory, flash memory, magnetic tape or disk, optical media and the like.
- the memory 502 may be an external storage device or database for storing data. Examples include a hard drive, compact disc (“CD”), digital video disc (“DVD”), memory card, memory stick, floppy disc, universal serial bus (“USB”) memory device, or any other device operative to store data.
- CD compact disc
- DVD digital video disc
- USB universal serial bus
- the memory 502 is operable to store instructions executable by the processor 501.
- the functions, acts or tasks illustrated in the figures or described may be performed by the programmed processor 501 executing the instructions stored in the memory 502.
- the functions, acts or tasks are independent of the particular type of instructions set, storage media, processor or processing strategy and may be performed by software, hardware, integrated circuits, firm-ware, microcode and the like, operating alone or in combination.
- processing strategies may include multiprocessing, multitasking, parallel processing and the like.
- the server 500 may further include a display unit 504, such as a liquid crystal display (LCD), an organic light emitting diode (OLED), a flat panel display, a solid state display, a cathode ray tube (CRT), or other now known or later developed display device for outputting determined information.
- a display unit 504 such as a liquid crystal display (LCD), an organic light emitting diode (OLED), a flat panel display, a solid state display, a cathode ray tube (CRT), or other now known or later developed display device for outputting determined information.
- the server 500 may include an input device 505 configured to allow a owner to interact with any of the components of server 500.
- the input device 505 may be a number pad, a keyboard, a stylus, an electronic pen, or a cursor control device, such as a mouse, or a joystick, touch screen display, remote control or any other device operative to interact with the server 500.
- the server 500 may also include a disk or optical drive unit 506.
- the drive unit 506 may include a computer-readable medium 508 in which one or more sets of instructions 508, e.g. software, can be embedded.
- the instructions 508 may be separately stored in the processor 501 and the memory 502.
- the server 500 may further be in communication with other device over a network 509 to communicate voice, video, audio, images, or any other data over the network 509. Further, the data and/or the instructions 508 may be transmitted or received over the network 509 via a communication port or interface 510 or using the bus 503.
- the communication port or interface 510 may be a part of the processor 501 or may be a separate component.
- the communication port 510 may be created in software or may be a physical connection in hardware.
- the communication port 510 may be configured to connect with the network 509, external media, the display 504, or any other components in server 500 or combinations thereof.
- the connection with the network 509 may be a physical connection, such as a wired Ethernet connection or may be established wirelessly as discussed later.
- the additional connections with other components of the server 500 may be physical connections or may be established wirelessly.
- the network 509 may alternatively be directly connected to the bus 503.
- the network 509 may include wired networks, wireless networks, Ethernet AVB networks, or combinations thereof.
- the wireless network may be a cellular telephone network, an 802.9, 802.16, 802.20, 802.1Q or WiMax network.
- the network 509 may be a public network, such as the Internet, a private network, such as an intranet, or combinations thereof, and may utilize a variety of networking protocols now available or later developed including, but not limited to TCP/IP based networking protocols.
- dedicated hardware implementations such as application specific integrated circuits, programmable logic arrays and other hardware devices, can be constructed to implement various parts of the server 500. Applications that may include the systems can broadly include a variety of electronic and computer systems.
- One or more examples described may implement functions using two or more specific interconnected hardware modules or devices with related control and data signals that can be communicated between and through the modules, or as portions of an application- specific integrated circuit. Accordingly, the present system encompasses software, firmware, and hardware implementations .
- the server 500 may be implemented by software programs executable by the processor 501. Further, in a non-limited example, implementations can include distributed processing, component/object distributed processing, and parallel processing. Alternatively, virtual computer system processing can be constructed to implement various parts of the system.
- the server 500 is not limited to operation with any particular standards and protocols.
- standards for Internet and other packet switched network transmission e.g., TCP/IP, UDP/IP, HTML, HTTP
- Such standards are periodically superseded by faster or more efficient equivalents having essentially the same functions. Accordingly, replacement standards and protocols having the same or similar functions as those disclosed are considered equivalents thereof.
- the drawings and the forgoing description give examples of embodiments. Those skilled in the art will appreciate that one or more of the described elements may well be combined into a single functional element. Alternatively, certain elements may be split into multiple functional elements. Elements from one embodiment may be added to another embodiment. For example, orders of processes described herein may be changed and are not limited to the manner described herein.
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
The present invention relates to a product recommendation system and method. In one embodiment, the method comprises comparing one or more first tags associated with a first user with one or more first tags associated with one or more further users; determining a first similarity index, said first similarity index indicating a percentage of weighted matching first tags corresponding to each further user with that of said first user; selecting a first set of users from said one or more further user(s), said first set of users having a pre¬ determined percentage of weighted matching first tags; comparing one or more second tags associated with the first user with one or more second tags associated with said first set of users; determining a second similarity index, said second similarity index indicating a percentage of weighted matching second tags corresponding to each user of said first set of users with that of said first user; selecting a second set of users, said second set of users having a pre-determined percentage of weighted matching second tags; recommending one or more products associated with said second set of users to the first user.
Description
A PRODUCT RECOMMENDATION SYSTEM AND METHOD
DESCRIPTION
TECHNICAL FIELD The present invention relates to a recommendation system and method. More particularly, the present invention relates to recommendation of a product based on tags. BACKGROUND
Recommendation systems are now popular both commercially as well as in the research community. The recommendation systems are a type of information filtering systems that recommend products available in e-shops, entertainment items (books music, videos, Video on Demand, books, news, images, events etc.) or people (e.g. on dating sites) that are likely to be of interest to the user.
Historically, the recommendation systems have been used to help users by providing recommendations of items and products that might interest them. But, the existing recommendation systems suffer from the following drawbacks like (i) lack of ease in short listing within the product category i.e., with a wide range of options available in each product category of interest, it is hard for an average user to narrow down to a smaller, relevant set of options, (ii) contradicting information from multiple available sources like Facebook, blogs, review sites, ecommerce sites when making research related to purchase of the product, (iii) do not provide a hint/tip about why a particular product is recommended to the user i.e., user does not get to know the relevancy behind the recommendation, thus possibly leaving some doubt in the user's mind about the recommendation, (iv) do not analyse various elements of a user's life like interests, profession, hobbies and the like and map them to relevant aspects/sub-aspects of a product before recommending a product, (v) do not take into account the usage of the existing product, and analyse the usage of aspects/sub-aspects of the product while recommending a new product, (vi) do not necessarily establish a closed loop between what product was recommended and what product the user bought, using this information to better the recommendation process.
Currently, the recommendation systems mostly (i) rely upon the previous product purchase history or previous product viewing history, (ii) rely upon the product specification and do not go in detail about understanding aspects/ sub aspects of a product and characterizing the product, (iii) extracts few attributes from a user profile (e.g. Facebook), finding the similarity in their user profile database and recommend the products which are purchased by similar user profiles.
In light of the above discussion, there is a need for a method and system, which overcomes all the above stated problems.
SUMMARY OF THE INVENTION
The above-mentioned shortcomings, disadvantages and problems are addressed herein which will be understood by reading and understanding the following specification.
The present invention provides a method for recommendation of products based on tags. The method includes receiving user profile information and product information , generating first tags in relation to user profile automatically or receiving the first tags from the each user manually, generating second tags automatically or receiving the second tags from the each user manually, determining a first similarity and a second similarity index with a plurality of other users, monitoring the actions of the each user in response to the recommendations, and providing the information for the each user to clearly know the criteria for the recommendations.
The present invention provides a server for recommendation of products based on tags. The server includes a first tag generation module, a second tag generation module, a recommendation module, and recommendation-monitoring module. The first tag generation module is configured to generate and associate a plurality of tags, such as text strings, uniquely for the each user. The second tag generation module is configured to generate and associate a plurality of tags, for the each product owned by the each user. The recommendation module is configured for recommending one or more products for the each user. The recommendation-monitoring module is configured for ensuring that the recommendation module involves a closed loop mechanism.
Systems and methods of varying scope are described herein. In addition to the aspects and advantages described in this summary, further aspects and advantages will become apparent by reference to the drawings and with reference to the detailed description that follows.
BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS:
To further clarify advantages and aspects of the invention, a more particular description of the invention will be rendered by reference to specific embodiments thereof, which is illustrated in the appended drawings. It is appreciated that these drawings depict only typical embodiments of the invention and are therefore not to be considered limiting of its scope. The invention will be described and explained with additional specificity and
detail with the accompanying drawings in accordance with various embodiments of the invention, wherein:
Figure 1 illustrates a product recommendation method 100, in accordance with one or more embodiments of the present invention.
Figure 2 illustrates a product recommendation system 200, in accordance with embodiment of the present invention.
Figure 3 illustrates the constructional details of a product/device 300 owned by the user such as smart phone, in accordance with the embodiment of the present invention.
Figure 4 illustrates a unit 400 implemented in the server, said unit interacting with the product owned by user(s) in accordance with the embodiment of the present invention.
Figure 5 illustrates a typical hardware configuration of a server 500, which is representative of a hardware environment for implementing the present invention.
It may be noted that to the extent possible, like reference numerals have been used to represent like elements in the drawings. Further, those of ordinary skill in the art will appreciate that elements in the drawings are illustrated for simplicity and may not have been necessarily drawn to scale. For example, the dimensions of some of the elements in the drawings may be exaggerated relative to other elements to help to improve understanding of aspects of the invention. Furthermore, the one or more elements may have been represented in the drawings by conventional symbols, and the drawings may show only those specific details that are pertinent to understanding the embodiments of the invention so as not to obscure the drawings with details that will be readily apparent to those of ordinary skill in the art having benefit of the description herein.
DETAILED DESCRIPTION
It should be understood at the outset that although illustrative implementations of the embodiments of the present disclosure are illustrated below, the present invention may be implemented using any number of techniques, whether currently known or in existence. The present disclosure should in no way be limited to the illustrative implementations, drawings, and techniques illustrated below, including the exemplary design and implementation illustrated and described herein, but may be modified within the scope of the appended claims along with their full scope of equivalents.
The term "some" as used herein is defined as "none, or one, or more than one, or all." Accordingly, the terms "none," "one," "more than one," "more than one, but not all" or "all" would all fall under the definition of "some." The term "some embodiments" may refer
to no embodiments or to one embodiment or to several embodiments or to all embodiments. Accordingly, the term "some embodiments" is defined as meaning "no embodiment, or one embodiment, or more than one embodiment, or all embodiments."
The terminology and structure employed herein is for describing, teaching and illuminating some embodiments and their specific features and elements and does not limit, restrict or reduce the spirit and scope of the claims or their equivalents.
More specifically, any terms used herein such as but not limited to "includes," "comprises," "has," "consists," and grammatical variants thereof do NOT specify an exact limitation or restriction and certainly do NOT exclude the possible addition of one or more features or elements, unless otherwise stated, and furthermore must NOT be taken to exclude the possible removal of one or more of the listed features and elements, unless otherwise stated with the limiting language "MUST comprise" or "NEEDS TO include."
Whether or not a certain feature or element was limited to being used only once, either way it may still be referred to as "one or more features" or "one or more elements" or "at least one feature" or "at least one element." Furthermore, the use of the terms "one or more" or "at least one" feature or element do NOT preclude there being none of that feature or element, unless otherwise specified by limiting language such as "there NEEDS to be one or more . . . " or "one or more element is REQUIRED."
Unless otherwise defined, all terms, and especially any technical and/or scientific terms, used herein may be taken to have the same meaning as commonly understood by one having an ordinary skill in the art.
Reference is made herein to some "embodiments." It should be understood that an embodiment is an example of a possible implementation of any features and/or elements presented in the attached claims. Some embodiments have been described for the purpose of illuminating one or more of the potential ways in which the specific features and/or elements of the attached claims fulfill the requirements of uniqueness, utility and non- obviousness.
Use of the phrases and/or terms such as but not limited to "a first embodiment," "a further embodiment," "an alternate embodiment," "one embodiment," "an embodiment," "multiple embodiments," "some embodiments," "other embodiments," "further embodiment", "furthermore embodiment", "additional embodiment" or variants thereof do NOT necessarily refer to the same embodiments. Unless otherwise specified, one or more particular features and/or elements described in connection with one or more embodiments
may be found in one embodiment, or may be found in more than one embodiment, or may be found in all embodiments, or may be found in no embodiments. Although one or more features and/or elements may be described herein in the context of only a single embodiment, or alternatively in the context of more than one embodiment, or further alternatively in the context of all embodiments, the features and/or elements may instead be provided separately or in any appropriate combination or not at all. Conversely, any features and/or elements described in the context of separate embodiments may alternatively be realized as existing together in the context of a single embodiment.
Any particular and all details set forth herein are used in the context of some embodiments and therefore should NOT be necessarily taken as limiting factors to the attached claims. The attached claims and their legal equivalents can be realized in the context of embodiments other than the ones used as illustrative examples in the description below.
Figure 1 illustrates a product recommendation method 100, in accordance with an embodiment of the present invention.
At step 101, the method comprises assigning pre-defined weights to one or more first parameters and assigning pre-defined weights to one or more second parameters. The weights are pre-defined in the server and may be altered.
At step 102, the method comprises generating and associating one or more first tags to each user, each first tag corresponding to a first parameter. The one or more first tags may be inputted by the user also. At step 103, the method comprises generating and associating one or more second tags to the each user, each second tag corresponding to a second parameter. The one or more may be inputted by the user.
The first parameters include one or more: (i) Demographic information of a user, (ii) characterization of a user, (iii) common interests of a user associated with different products,
(iv) product usage information for specific key aspects and sub aspects of the product and
(v) activities of the user in system. The said first parameters and examples of first tags, corresponding to said first parameter, generated for each user by the system are discussed below.
a. Demographic information of a user-The demographic information of the user includes age, gender, location and the likes of the user. The first tags in relation to demographic information may be #male, #bangalore. In one example, the said
information may be inputted by the user or may be fetched by a server in the system from one or more social media accounts of the user.
Characterization of a user-The characterization of the user includes information such as profession, interests and the likes of the user. The first tags in relation to said parameter may be #reporter, #traveller, #audiophile and so on. The said information may be inputted by the user or may be fetched by a server in the system from one or more social media accounts of the user.
Common interests of a user associated with different products-The common interests of the user associated with different products could be derived from a combination of "Product" information based on specific key features/key aspects {the term features and aspects have been used interchangeably for the purposes of the invention) for and sub-features/sub-aspects {the term sub-features and sub-aspects have been used interchangeably for the purposes of the invention) of the product owned by the user, previous products purchase history, if available in the system, connected singular or plurality of products to the product owned by the user and the like. The first tags in relation to said parameter may be in relation to features and sub-features of the product owned by the user. For example, in the case of a product i.e. smartphone, the client would identify that the camera consists of a Sony Exmor sensor, the handycam connected to the smartphone also consists of a Sony Exmor sensor and the previous smartphone also had a Sony Exmor sensor, the associated tags could be #sonyfan, #sonyexmorfan and so on.
Product usage information for specific key aspects and sub aspects of the product-The product usage information for specific key aspects and sub aspects of the product could be monitored by the system. For example, in the case of a product i.e. smartphone, the system would monitor information such as number of games installed, frequency of usage of the games and associated tag could be #gamer. Similarly, the client could monitor the usage of camera, the number of images clicked in a day, the specific settings of the camera and information extracted from the image metadata. For example, the first tags in relation to said parameter could be #selfielover, #lowlightphotographer and so on.
e. Activities of the user in system-The activities of the user with the system, which is recorded by a server, such as frequent rating and reviews for any products, response to queries in discussion forums associated with any product, combined with associated feedback from other users in the system by means of upvotes and the like. For example the first tags in relation to said parameter could be
#contributor, #cameraexpert and so on.
The second parameters include one or more: (i) Product(s) owned by the user and key aspects and sub aspects of said product(s), and (ii) Product tags updated by the owner. The said second parameters and examples of second tags, corresponding to said second parameter, generated for each user by the system are discussed below. a. Product(s) owned by the user and key aspects and sub aspects of said products- Information in relation to product such as model of the product, brand of the product and the likes. Information in relation to key features and/or sub-features such as camera, performance of camera in low light, battery usage and other features/sub- features . The said information is automatically extracted by the system from the product. The products would include the "Product", as well as singular or plurality of products, connected to this "Product", which acts as the gateway. For example, the associated tags could be #nexus5, #dual speaker and so on. b. "Product" tags updated by the owner, as a part of the feedback mechanism provided by the system, discussion forums provided by the system and the like. This reflects the user's perception and interests of the aspects and sub aspects of the product owned by said user based on interaction and usage. For example, the associated tags could be #gaming, #selfie, #performance and the like.
At step 104, the method comprises comparing one or more first tags associated with a first user with one or more first tags associated with one or more further users. It is to be understood that the term "first user" means any registered user to whom the products are recommended. The term "further user(s)" means all the registered users in the system except the said "first user".
At step 105, the method comprises determining a first similarity index, said first similarity index indicating a percentage of weighted matching first tags corresponding to
each further user with that of said first user. The percentage of weighted matching first tags is determined based on (i) number of matching first tags the each further user has with said first user, and (ii) weight assigned to the first parameter corresponding to each matching first tag. In addition to first tags, other key parameters specific to the user may also be taken as inputs for arriving at the first similarity index. This could include information such as, if any user in the system is a friend of the "User", which could be known from contact list, social media such as Facebook and the like.
At step 106, the method comprises selecting a first set of users from said one or more further user(s), said first set of users having a pre-determined percentage of weighted matching first tags. The pre-determined percentage may be a single percentage or a range of percentage. In one example, the one or more further users in the system who have the highest percentage of weighted matching tags with the first user, have a higher user similarity index and are grouped together as the first set of users. The said first set of users may be associated with a unique group identity.
At step 107, the method comprises comparing one or more second tags associated with the first user with one or more second tags associated with said first set of users.
At step 108, the method comprises determining a second similarity index, said second similarity index indicating a percentage of weighted matching second tags corresponding to each user of said first set of users with that of said first user. The percentage of weighted matching second tags is determined based on (i) number of matching second tags each user of said first set of users has with said first user, and (ii) weight assigned to the second parameters corresponding to each matching second tag. In addition to second tags, other key parameters specific to the product may also be taken as inputs for arriving at a product recommendation list. For example, in the case of smartphone recommendations could include, time since the smartphone was launched, whether the latest version of the software is available, if there is an upgraded version for the same smartphone available from the brand and the like.
At step 109, the method comprises selecting a second set of users, said second set of users having a pre-determined percentage of weighted matching second tags. The pre- determined percentage may be a single percentage or a range of percentage. At step 110, the method comprises recommending one or more products associated with said second set of users to the first user.
The method further comprises transmitting one or more first tags and second tags associated with the said second set of users. The first tags enables the first user to know that the recommendations are from other users with similar interests and the second tags enable the user to identify key aspects of the recommended products as well as the perception about each of these products from other similar users. For example, in the case of a smartphone, #selfielover, #audiophile and other tags of a user are referenced by the system to recommend a smartphone which is being used by other users, who also have these 2 tags in their profile. While recommending that phone, the #selfielover and #audiophile tags are also shown to the user. Due to this, the user understands that the recommended phone probably has a good front camera and probably provides good audio experience too. This feature of the present invention allows the user to proceed with the recommended product or reject it clearly knowing if the decision is correct.
The method further comprises monitoring one or more purchase activities of said first user, generating, based on identification of purchase of atleast one recommended product, one or more additional first tags for said first user, and generating, based on identification of purchase of the atleast one recommended product, one or more additional second tags for said first user. The new first tags and second tags generated due to purchase of a recommended product will ensure that there exists a closed loop mechanism. The said new tags will be considered by the system while calculating a first similarity index and a second similarity index during next recommendation cycle to the first user. Also, if multiple users within a group purchase a common product based on the recommendations, this information is recorded as a part of the first parameter and considered as an input for future calculation of the first similarity index. It is also important to note that the first similarity index is re-calculated and re-grouping done, if necessary, whenever a new user is added to the system, or the new tags are updated for a specific user.
Although example of smart phone has been used above, the method of recommending products can be extended to a range of products, outside the example of the smartphone. In case of a product which has a user interface and mechanism to retrieve usage parameters, the present invention is directly applicable. Some of the examples that fall in this category could be smart TVs, wearables and the like. In other cases, there could be a gateway which has the capabilities mentioned above and can connect to products to retrieve usage parameters of the respective products. Some of the examples that fall in this category could be automobiles, refrigerators, washing machines and the like.
Figure 2 illustrates a product recommendation system 200, in accordance with the embodiment of the present invention.
The system 200 comprises a plurality of users 210. The said plurality of users 210 owns one or more products 220 such as mobile devices, smart phones and the likes. The said plurality of products 220 is connected to one or more servers 240 by means of a communication network 230.
Figure 3 illustrates the constructional details of a product/device 300 owned by the user such as smart phone, in accordance with the embodiment of the present invention.
The said product 300 includes one or more of: a processing unit 301, a memory unit
302 having a product recommendation platform/application/module 303 and related data 304 involved therein, a product/device interface 305, a communication interface 306 and an antenna assembly 307.
The processing unit 301 may include one or more processors, microprocessors, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or the like. The processing unit 301 may control the operation of the said mobile communication device 300 and its components.
The memory unit 302 may include a random access memory (RAM), a read only memory (ROM), and/or other type of memory to store data and instructions that may be used by the processing unit 301. The memory unit 302 includes product recommendation platform/application/module 303 and related data involved therein. More specifically, the product recommendation platform/application/module 303 may be a pre-installed application or may be downloaded from the server hosting such an external application. In an alternative implementation, the functionality provided by the product recommendation platform/application/module 303 may be implemented inbuilt in the product 300. A dedicated product recommendation module 303 may be provided in the product/device 300 for that purpose. The product recommendation platform/application/module 303 may include one or more of routines, programs, objects, components, data structures, etc., which perform particular tasks, functions or implement particular abstract data types. The product data 304, amongst other things, serves as a repository for storing data processed, received, and generated by the product recommendation platform/application/module 303.
The product/device interface 305 may include mechanisms for inputting information to the product/device 300 and/or for outputting information from the device 300. Examples
of input and output mechanisms might include a speaker to receive electrical signals and output audio signals; a camera lens to receive image and/or video signals and output electrical signals; a microphone to receive audio signals and output electrical signals; buttons (e.g., control buttons and/or keys of a keypad) to permit data and control commands to be input into the product/device 300; a display to output visual information; a light emitting diode; a vibrator to cause the device 300 to vibrate etc.
The communication interface 306 may include any transceiver-like mechanism that enables the product/device 300 to communicate with other devices and/or systems. For example, the communication interface 306 may include a modem or an Ethernet interface to a LAN. The communication interface 306 may also include mechanisms for communicating via a network, such as a wireless network. For example, the communication interface 306 may include a transmitter that may convert baseband signals from the processing unit 301 to radio frequency (RF) signals and/or a receiver that may convert RF signals to baseband signals. Alternatively, the communication interface 306 may include a transceiver to perform functions of both a transmitter and a receiver. The communication interface 306 may connect to the antenna assembly 307 for transmission and/or reception of the RF signals.
The antenna assembly 307 may include one or more antennas to transmit and/or receive RF signals over the air. The antenna assembly 307 may, for example, receive RF signals from the communication interface 306 and transmit them over the air and receive RF signals over the air and provide them to the communication interface 306. In one implementation, for example, the communication interface 306 may communicate with new generation cellular network, older generation cellular network, and/or with one or more other cellular networks.
The product/device 300 may perform certain operations. The product/device 300 may perform these operations in response to the processing unit 301 executing software instructions contained in a computer-readable medium, such as the memory unit 302. A computer-readable medium may be defined as a non-transitory memory device. A memory device may include spaces within a single physical memory device or spread across multiple physical memory devices. The software instructions may be read into the memory unit 302 from another computer-readable medium or from another device via the communication interface 306. The software instructions contained in the memory unit 302 may cause the processing unit 301 to perform processes described herein. Alternatively, hardwired
circuitry may be used in place of or in combination with software instructions to implement processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
Although Figure 3 shows a number of components of the product/device 300, in other implementations, the device 300 may include fewer components, different components, differently arranged components, or additional components than depicted in said Figure 3. Additionally or alternatively, one or more components of the device 300 may perform the tasks described as being performed by one or more other components of the device 300.
In one embodiment, the product recommendation module/application/platform 303 of the product/device 300 is configured for extracting information in relation to the product/device and transmitting said first information to a server. The said information includes one or more: brand name of the product, model number of the product and specification of the product. The product recommendation module 303 is further configured for one or more: (i) receiving a request from a server to provide information in relation to user and/or features and/or or sub-features of said product, (ii) transmitting said information to the server, (ii) receiving a request from server recommending one or more products, and (ii) transmitting the information in relation to buying of one or more recommended product to the server.
Figure 4 illustrates a unit 400 implemented in the server, said unit interacting with the product owned by user(s) in accordance with the embodiment of the present invention.
The said unit 400 comprises: a first comparing module 401, a first determination module 402, a first selection module 403, a second comparing module 404, a second determination module 405, a second selection module 406, a recommendation module 407, a recommendation monitoring module 408, an assignment module 409, a first tag generation module 410, a second tag generation module 411, a receiving/fetching module 412 and a transmitting module 413.
The said first comparing module 401 is configured for comparing one or more first tags associated with a first user with one or more first tags associated with one or more further users. The first determination module 402 is configured for determining a first similarity index, said first similarity index indicating a percentage of weighted matching first tags corresponding to each further user with that of said first user. The first selection module 403 is configured for selecting a first set of users from said one or more further
user(s), said first set of users having a pre-determined percentage of weighted matching first tags. The second comparing module 404 is configured for comparing one or more second tags associated with the first user with one or more second tags associated with said first set of users. The second determination module 405 is configured for determining a second similarity index, said second similarity index indicating a percentage of weighted matching second tags corresponding to each user of said first set of users with that of said first user. The second selection module 406 is configured for selecting a second set of users, said second set of users having a pre-determined percentage of weighted matching second tags. The recommendation module 407 configured for recommending one or more products associated with said second set of users to the first user. The recommendation monitoring module 408 is configured for monitoring one or more purchase activities of said first user. The recommendation monitoring module 408 is further configured for identification of purchase of atleast one recommended product by the first user.
The assignment module 409 is configured for assigning pre-defined weights to one or more first parameters and assigning pre-defined weights to one or more said second parameters. The first tag generation module 410 is configured for generating and associating one or more first tags to each user, each first tag corresponding to a first parameter. The said first tag generation module is further configured for generating and associating one or more new first tags to the first user. The second tag generation module 411 is configured for generating and associating one or more second tags to the each user, each second tag corresponding to a second parameter. The said second tag generation module is further configured for generating and associating one or more new second tags to the first user.
The receiving/fetching module 412 is configured for: (i) receiving demographic information of a user from the user via user device/product, (ii) fetching demographic information of a user from one or more social media sites, (iii) receiving information in relation to characterization of the user such as profession, interest, hobbies from the user via user device/product, (iv) fetching information in relation to characterization of the user such as profession, interest, hobbies from one or more social media sites, (v) receiving/fetching information in relation to features and/or sub-features of the product, product usage, further products connected to said product, activities of the user in the system such as frequent rating and reviews, response to queries in discussion forums associated with any product, combined with associated feedback from other users in the system by means of up votes and
the like. The transmitting module 413 is configured for recommending one or more products to the user device/product.
It is to be understood that any of the above-modules can be implemented as a software/hardware/combination of hardware and software and said modules can interact with each other and other components of a server for implementing the embodiments of the present invention.
Figure 5 illustrates a typical hardware configuration of a server 500, which is representative of a hardware environment for implementing the present invention. As would be understood, the server, as described above, includes the hardware configuration as described below.
In a networked deployment, the server 500 may operate as a client owner computer in a server-client owner network environment, or as a peer computer system in a peer-to- peer (or distributed) network environment. The server can also be implemented as or incorporated into various devices, such as, a tablet, a personal digital assistant (PDA), a palmtop computer, a laptop, a smart phone, a notebook, a smart watch and a communication device.
The server 500 may include a processor 501 e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both. The processor 501 may be a component in a variety of systems. For example, the processor 501 may be part of a standard personal computer or a workstation. The processor 501 may be one or more general processors, digital signal processors, application specific integrated circuits, field programmable gate arrays, servers, networks, digital circuits, analog circuits, combinations thereof, or other now known or later developed devices for analysing and processing data. The processor 501 may implement a software program, such as code generated manually (i.e., programmed). The server 500 may include a memory 502 communicating with the processor 501 via a bus 503. The memory 502 may be a main memory, a static memory, or a dynamic memory. The memory 502 may include, but is not limited to computer readable storage media such as various types of volatile and non-volatile storage media, including but not limited to random access memory, read-only memory, programmable read-only memory, electrically programmable read-only memory, electrically erasable read-only memory, flash memory, magnetic tape or disk, optical media and the like. The memory 502 may be an external storage device or database for storing data. Examples include a hard drive, compact
disc ("CD"), digital video disc ("DVD"), memory card, memory stick, floppy disc, universal serial bus ("USB") memory device, or any other device operative to store data. The memory 502 is operable to store instructions executable by the processor 501. The functions, acts or tasks illustrated in the figures or described may be performed by the programmed processor 501 executing the instructions stored in the memory 502. The functions, acts or tasks are independent of the particular type of instructions set, storage media, processor or processing strategy and may be performed by software, hardware, integrated circuits, firm-ware, microcode and the like, operating alone or in combination. Likewise, processing strategies may include multiprocessing, multitasking, parallel processing and the like. The server 500 may further include a display unit 504, such as a liquid crystal display (LCD), an organic light emitting diode (OLED), a flat panel display, a solid state display, a cathode ray tube (CRT), or other now known or later developed display device for outputting determined information.
Additionally, the server 500 may include an input device 505 configured to allow a owner to interact with any of the components of server 500. The input device 505 may be a number pad, a keyboard, a stylus, an electronic pen, or a cursor control device, such as a mouse, or a joystick, touch screen display, remote control or any other device operative to interact with the server 500.
The server 500 may also include a disk or optical drive unit 506. The drive unit 506 may include a computer-readable medium 508 in which one or more sets of instructions 508, e.g. software, can be embedded. In addition, the instructions 508 may be separately stored in the processor 501 and the memory 502.
The server 500 may further be in communication with other device over a network 509 to communicate voice, video, audio, images, or any other data over the network 509. Further, the data and/or the instructions 508 may be transmitted or received over the network 509 via a communication port or interface 510 or using the bus 503. The communication port or interface 510 may be a part of the processor 501 or may be a separate component. The communication port 510 may be created in software or may be a physical connection in hardware. The communication port 510 may be configured to connect with the network 509, external media, the display 504, or any other components in server 500 or combinations thereof. The connection with the network 509 may be a physical connection, such as a wired Ethernet connection or may be established wirelessly as
discussed later. Likewise, the additional connections with other components of the server 500 may be physical connections or may be established wirelessly. The network 509 may alternatively be directly connected to the bus 503.
The network 509 may include wired networks, wireless networks, Ethernet AVB networks, or combinations thereof. The wireless network may be a cellular telephone network, an 802.9, 802.16, 802.20, 802.1Q or WiMax network. Further, the network 509 may be a public network, such as the Internet, a private network, such as an intranet, or combinations thereof, and may utilize a variety of networking protocols now available or later developed including, but not limited to TCP/IP based networking protocols. In an alternative example, dedicated hardware implementations, such as application specific integrated circuits, programmable logic arrays and other hardware devices, can be constructed to implement various parts of the server 500. Applications that may include the systems can broadly include a variety of electronic and computer systems. One or more examples described may implement functions using two or more specific interconnected hardware modules or devices with related control and data signals that can be communicated between and through the modules, or as portions of an application- specific integrated circuit. Accordingly, the present system encompasses software, firmware, and hardware implementations .
The server 500 may be implemented by software programs executable by the processor 501. Further, in a non-limited example, implementations can include distributed processing, component/object distributed processing, and parallel processing. Alternatively, virtual computer system processing can be constructed to implement various parts of the system.
The server 500 is not limited to operation with any particular standards and protocols. For example, standards for Internet and other packet switched network transmission (e.g., TCP/IP, UDP/IP, HTML, HTTP) may be used. Such standards are periodically superseded by faster or more efficient equivalents having essentially the same functions. Accordingly, replacement standards and protocols having the same or similar functions as those disclosed are considered equivalents thereof. The drawings and the forgoing description give examples of embodiments. Those skilled in the art will appreciate that one or more of the described elements may well be
combined into a single functional element. Alternatively, certain elements may be split into multiple functional elements. Elements from one embodiment may be added to another embodiment. For example, orders of processes described herein may be changed and are not limited to the manner described herein. Moreover, the actions of any flow diagram need not be implemented in the order shown; nor do all of the acts necessarily need to be performed. Also, those acts that are not dependent on other acts may be performed in parallel with the other acts. The scope of embodiments is by no means limited by these specific examples. Numerous variations, whether explicitly given in the specification or not, such as differences in structure, dimension, and use of material, are possible. The scope of embodiments is at least as broad as given by the following claims.
While certain present preferred embodiments of the invention have been illustrated and described herein, it is to be understood that the invention is not limited thereto. Clearly, the invention may be otherwise variously embodied, and practiced within the scope of the following claims.
Claims
A product recommendation method, said method comprising:
- comparing one or more first tags associated with a first user with one or more first tags associated with one or more further users;
- determining a first similarity index, said first similarity index indicating a percentage of weighted matching first tags corresponding to each further user with that of said first user;
- selecting a first set of users from said one or more further user(s), said first set of users having a pre-determined percentage of weighted matching first tags;
- comparing one or more second tags associated with the first user with one or more second tags associated with said first set of users;
- determining a second similarity index, said second similarity index indicating a percentage of weighted matching second tags corresponding to each user of said first set of users with that of said first user;
- selecting a second set of users, said second set of users having a predetermined percentage of weighted matching second tags;
- recommending one or more products associated with said second set of users to the first user.
The method as claimed in claim 1, further comprising:
- generating and associating the one or more first tags to each user, each first tag corresponding to a first parameter;
- generating and associating the one or more second tags to the each user, each second tag corresponding to a second parameter;
3. The method as claimed in claim 2, further comprising:
- assigning pre-defined weights to said first parameter; and
- assigning pre-defined weights to said second parameter.
4. The method as claimed in claims 1 to 3, wherein the percentage of weighted matching first tags is determined based on (i) number of matching first tags the each
further user has with said first user, and (ii) weight assigned to the first parameter corresponding to each matching first tag.
The method as claimed in claims 1 to 3, wherein the percentage of weighted matching second tags is determined based on (i) number of matching second tags each user of said first set of users has with said first user, and (ii) weight assigned to the second parameters corresponding to each matching second tag.
The method as claimed in claim 1, wherein first parameters include one or more:
- demographic information of a user;
characterization of a user;
information in relation to usage of one or more feature and/or sub-feature of the product by a user;
information in relation to features and/or sub -features common to one or more products previously owned by a user and presently owned by a user; and
information in relation to features and/or sub-features of one or more products connected to the product owned by a user;
information in relation to ratings, feedbacks and reviews provided by a user in relation to one or more products; and
information in relation to one or more contacts of
The method as claimed in claim 1, wherein said second parameter includes more:
- brand of a product owned by a user;
- model of a product owned by a user;
- features and/or sub-features of a product owned by a user;
- information in relation to up-gradation of a product owned by a user;
- information in relation to launch of a product owned by a user; and - ratings and feedback in relation to a product owned by a user.
8. The method as claimed in claim 1, wherein said one or more products associated with said second set of users is recommended along with one or more: (i) one or
more first tags associated with second set of users, and (ii) one or more second tags associated with said one or more recommended products.
9. The method as claimed in claim 1, further comprising:
- monitoring one or more purchase activities of said first user;
- generating, based on identification of purchase of atleast one recommended product, one or more additional first tags for said first user; and
- generating, based on identification of purchase of the atleast one recommended product, one or more additional second tags for said first user.
10. A product recommendation server, said server comprising:
- a first comparing module configured for comparing one or more first tags associated with a first user with one or more first tags associated with one or more further users;
- a first determination module configured for determining a first similarity index, said first similarity index indicating a percentage of weighted matching first tags corresponding to each further user with that of said first user;
- a first selection module configured for selecting a first set of users from said one or more further user(s), said first set of users having a pre -determined percentage of weighted matching first tags;
- a second comparing module configured for comparing one or more second tags associated with the first user with one or more second tags associated with said first set of users;
- a second determination module configured for determining a second similarity index, said second similarity index indicating a percentage of weighted matching second tags corresponding to each user of said first set of users with that of said first user;
- a second selection module configured for selecting a second set of users, said second set of users having a pre-determined percentage of weighted matching second tags;
- a recommendation module configured for recommending one or more products associated with said second set of users to the first user.
The sever as claimed in claim 11, further comprising a recommendation monitoring module for monitoring one or more purchase activities of said first user, said recommendation monitoring module further configured for identification of purchase of atleast one recommended product
The server as claimed in claim 11, said server comprising:
- an assignment module configured for assigning pre-defined weights to one or more first parameters and assigning pre-defined weights to one or more said second parameters.
- a first tag generation module configured for generating and associating one or more first tags to each user, each first tag corresponding to a first parameter; said first tag generation module further configured for generating and associating one or more new first tags to the first user; and
- a second tag generation module configured generating and associating one or more second tags to the each user, each second tag corresponding to a second parameter; said second tag generation module further configured for generating and associating one or more new second tags to the first user.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN1775/CHE/2015 | 2015-04-02 | ||
IN1775CH2015 | 2015-04-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016157138A1 true WO2016157138A1 (en) | 2016-10-06 |
Family
ID=57004817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/IB2016/051867 WO2016157138A1 (en) | 2015-04-02 | 2016-04-01 | A product recommendation system and method |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2016157138A1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992719A (en) * | 2019-04-02 | 2019-07-09 | 北京字节跳动网络技术有限公司 | Method and apparatus for determining push precedence information |
CN110162518A (en) * | 2019-04-16 | 2019-08-23 | 平安科技(深圳)有限公司 | Data grouping method, apparatus, electronic equipment and storage medium |
CN110473040A (en) * | 2018-05-10 | 2019-11-19 | 北京三快在线科技有限公司 | A kind of Products Show method and device, electronic equipment |
CN110807691A (en) * | 2019-10-31 | 2020-02-18 | 深圳市云积分科技有限公司 | Cross-commodity-class commodity recommendation method and device |
CN112507218A (en) * | 2020-12-03 | 2021-03-16 | 广州华多网络科技有限公司 | Business object recommendation method and device, electronic equipment and storage medium |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070028266A1 (en) * | 2002-12-04 | 2007-02-01 | Koninklijke Philips Electronics, N.V. Groenewoudseweg 1 | Recommendation of video content based on the user profile of users with similar viewing habits |
-
2016
- 2016-04-01 WO PCT/IB2016/051867 patent/WO2016157138A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070028266A1 (en) * | 2002-12-04 | 2007-02-01 | Koninklijke Philips Electronics, N.V. Groenewoudseweg 1 | Recommendation of video content based on the user profile of users with similar viewing habits |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110473040A (en) * | 2018-05-10 | 2019-11-19 | 北京三快在线科技有限公司 | A kind of Products Show method and device, electronic equipment |
CN110473040B (en) * | 2018-05-10 | 2021-11-19 | 北京三快在线科技有限公司 | Product recommendation method and device and electronic equipment |
CN109992719A (en) * | 2019-04-02 | 2019-07-09 | 北京字节跳动网络技术有限公司 | Method and apparatus for determining push precedence information |
CN109992719B (en) * | 2019-04-02 | 2021-06-25 | 北京字节跳动网络技术有限公司 | Method and apparatus for determining push priority information |
CN110162518A (en) * | 2019-04-16 | 2019-08-23 | 平安科技(深圳)有限公司 | Data grouping method, apparatus, electronic equipment and storage medium |
CN110162518B (en) * | 2019-04-16 | 2023-10-31 | 平安科技(深圳)有限公司 | Data grouping method, device, electronic equipment and storage medium |
CN110807691A (en) * | 2019-10-31 | 2020-02-18 | 深圳市云积分科技有限公司 | Cross-commodity-class commodity recommendation method and device |
CN110807691B (en) * | 2019-10-31 | 2022-03-04 | 深圳市云积分科技有限公司 | Cross-commodity-class commodity recommendation method and device |
CN112507218A (en) * | 2020-12-03 | 2021-03-16 | 广州华多网络科技有限公司 | Business object recommendation method and device, electronic equipment and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10972559B2 (en) | Systems and methods for providing recommendations and explanations | |
US10332172B2 (en) | Lead recommendations | |
US11012753B2 (en) | Computerized system and method for determining media based on selected motion video inputs | |
US10931726B2 (en) | Method and terminal for sharing content | |
US11341153B2 (en) | Computerized system and method for determining applications on a device for serving media | |
US9679062B2 (en) | Local recommendation engine | |
US20190026285A1 (en) | Generating Cards in Response to User Actions on Online Social Networks | |
US20170250930A1 (en) | Interactive content recommendation personalization assistant | |
US10324987B2 (en) | Application search using device capabilities | |
US20160188733A1 (en) | Generating Recommendations Based on Clustered Application States | |
US20170344553A1 (en) | Methods and Systems for Making Recommendations based on Relationships | |
US20090216639A1 (en) | Advertising selection and display based on electronic profile information | |
WO2016157138A1 (en) | A product recommendation system and method | |
US10671615B2 (en) | Methods and systems for assigning affinity scores to contacts | |
US20160055537A1 (en) | Techniques to target and communicate mobile offers | |
US20150348090A1 (en) | Engagement with device and ad serving | |
US20150287069A1 (en) | Personal digital engine for user empowerment and method to operate the same | |
US20140149248A1 (en) | Recommendation system | |
CN110020156B (en) | Information recommendation method, front-end implementation method, device, equipment and storage medium | |
US20190095869A1 (en) | Methods and systems for surfacing employment opportunity listings to a user | |
US8886799B1 (en) | Identifying a similar user identifier | |
US20170249325A1 (en) | Proactive favorite leisure interest identification for personalized experiences | |
US10979528B2 (en) | System for trend discovery and curation from content metadata and context | |
US20190090197A1 (en) | Saving battery life with inferred location | |
CN114430504B (en) | Recommendation method and related device for media content |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16771515 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 16771515 Country of ref document: EP Kind code of ref document: A1 |