SYSTEM AND METHOD FOR MATCHING CUSTOMERS WITH HAIR STYLIST BASED ON HOLISTIC CRITERIA
A computer-implemented method of matching a customer with a service provider, the method comprising: creating, by a computing device, a profile of a customer having a plurality of categorical values descriptive of or liked by the customer; creating, by the computing device, a profile of a service provider having a plurality of categorical values descriptive of or liked by the service provider; creating, by the computing device, a request by the customer to recommend a service provider, wherein the request includes one or more requested categorical and discrete values; and providing, by the computing device, ranked recommendations of service providers to the customer based on a comparison of the categorical values in the profiles of the customer and the service provider and the requested categorical and discrete values by the customer. A service provider can be a hair stylist.
Latest L'Oreal Patents:
In one embodiment, the recommendations are further based on determining location coordinates of the customer via a global positioning system or a manual location entry and calculating the distance to a hair stylist is within the requested discrete value of maximum distance to travel by the customer.
In one embodiment, the categorical values in the profile of the customer are selected from one or more of the group consisting of sex, hair length, favorite book genre, favorite music genre, favorite television series, favorite sport participant, favorite discussion topic, first favorite brand, second favorite brand, third favorite brand, or a combination thereof.
In one embodiment, the customer has the option to not specify a categorical value.
In one embodiment, the categorical values of the customer are provided through a questionnaire, or are extracted from social media or user-generated content by means of artificial intelligence, or image analysis, or analysis of hashtags found on social media, or a combination.
In one embodiment, the categorical values of the hair stylist are provided through a questionnaire, or are extracted from social media or user-generated content by means of artificial intelligence, or image analysis, or analysis of hashtags found on social media, or a combination.
In one embodiment, the categorical values of the hair stylist are extracted from image analysis of the hair stylist's salon page.
In one embodiment, the categorical values in the profile of the hair stylist are selected from one or more of the group consisting of sex of customer, favorite book genre, favorite music genre, favorite television series, favorite discussion topic, favorite sport participant, salon location, first hair styling skill, second hair styling skill, third hair styling skill, fourth hair styling skill, fifth hair styling skill, sixth hair styling skill, location type, first favorite brand, second favorite brand, third favorite brand, fourth favorite brand, fifth favorite brand, sixth favorite brand, or a combination thereof.
In one embodiment, the hair stylist has the option to not specify a categorical value. In one embodiment, the requested categorical values are selected from hair styling services and customer location, and the requested discrete values are selected from maximum distance to travel, importance of hair styling skill of the hair stylist, importance of customer profile, importance of customer favorite brands.
In one embodiment, the importance of the hair styling skill of the hair stylist, importance of customer profile, and importance of customer favorite brands are selected from values of low, medium, and high.
In one embodiment, the computer-implemented method further comprises providing feedback by a customer ranking the hair styling skills of the hair stylist to the requested hair styling service and ranking one or more of the categorical values in the profile of the hair stylist.
In one embodiment, the recommendations are given as a percent representing a closeness of a match of the customer profile with the hair stylist profile and a match of the requested categorical and discrete values to the hair stylist profile.
In one embodiment, a computing device, comprising at least a memory and processor, is configured to: create a profile of a customer having a plurality of categorical values descriptive of or liked by the customer; create a profile of a service provider having a plurality of categorical values descriptive of or liked by the service provider; create a request by the customer to recommend a service provider, wherein the request includes one or more requested categorical and discrete values; and provide ranked recommendations of service providers to the customer based on a comparison of the categorical values in the profiles of the customer and the service provider and the requested categorical and discrete values by the customer.
In one embodiment, the service provider is a hair stylist. In one embodiment, the computing device is further configured to create a salon page having a plurality of discrete values and categorical values descriptive of a salon of the hair stylist.
In one embodiment, the recommendations are further based on determining location coordinates of the customer via a global positioning system or a manual location entry and calculating the distance to a hair stylist is within the requested discrete value of maximum distance to travel by the customer.
In one embodiment, the categorical values in the profile of the customer are selected from one or more of the group consisting of sex, hair length, favorite book genre, favorite music genre, favorite television series, favorite sport participant, favorite discussion topic, first favorite brand, second favorite brand, third favorite brand, or a combination thereof.
In one embodiment, the customer has the option to not specify a categorical value.
In one embodiment, the categorical values of the customer are provided through a questionnaire, or are extracted from social media or user-generated content by means of artificial intelligence, or image analysis, or analysis of hashtags found on social media, or a combination.
In one embodiment, the categorical values of the hair stylist are provided through a questionnaire, or are extracted from social media or user-generated content by means of artificial intelligence, or image analysis, or analysis of hashtags found on social media, or a combination.
In one embodiment, the categorical values of the hair stylist are extracted from image analysis of the hair stylist's salon page.
In one embodiment, the categorical values in the profile of the hair stylist are selected from one or more of the group consisting of sex of customer, favorite book genre, favorite music genre, favorite television series, favorite discussion topic, favorite sport participant, salon location, first hair styling skill, second hair styling skill, third hair styling skill, fourth hair styling skill, fifth hair styling skill, sixth hair styling skill, location type, first favorite brand, second favorite brand, third favorite brand, fourth favorite brand, fifth favorite brand, sixth favorite brand, or a combination thereof.
In one embodiment, wherein the hair stylist has the option to not specify a categorical value.
In one embodiment, the requested categorical values are selected from hair styling services and customer location, and the requested discrete values are selected from maximum distance to travel, importance of hair styling skill of the hair stylist, importance of customer profile, importance of customer favorite brands.
In one embodiment, the importance of the hair styling skill of the hair stylist, importance of customer profile, and importance of customer favorite brands are selected from values of low, medium, and high.
In one embodiment, the computing device is further configured to provide feedback by a customer ranking the hair styling skills of the hair stylist to the requested hair styling service and ranking one or more of the categorical values in the profile of the hair stylist.
In one embodiment, the recommendations are given as a percent representing a closeness of a match of the customer profile with the hair stylist profile and a match of the requested categorical and discrete values to the hair stylist profile.
In one embodiment, a system comprises: a profile building engine including computational circuitry configured to: create a profile of a customer having a plurality of categorical values descriptive of or liked by the customer and to create a profile of a service provider having a plurality of categorical values descriptive of or liked by the service provider; a request building engine including computational circuitry configured to: create a request by the customer to recommend a service provider, wherein the request includes one or more requested categorical and discrete values; and a matching engine including computational circuitry configured to: provide ranked recommendations of service providers to the customer based on a comparison of the categorical values in the profiles of the customer and the service provider and the requested categorical and discrete values by the customer.
In one embodiment, the service provider is a hair stylist.
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to identify key features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
The foregoing aspects and many of the attendant advantages of this invention will become more readily appreciated as the same become better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein:
The selection of any service provider, for example a hair stylist, can involve searching online for reviews, or selection of a service provider can also involve talking with friends and relatives to get recommendations. U.S. Pat. No. 8,566,327B2 describes a method for matching user profiles based on preferences indicated by users. Finding a hair styling salon according to user preferences is described in the website: https://www.treatwell.fr/salons/soin-chignon-et-coiffure/offre-type-local/dans-paris-france. Websites are also available to make reservations, such as the website: https://www.leciseau.fr. Many websites and apps already exist but focus only on pricing aspects or on market segmentation to provide traffic to specific service providers. They play on special offers, discount prices or even on special cooptation for more luxury positioned brands. Customer loyalty and value aren't taken into consideration in the state of the art offers. The selection method using these resources, at best, gives no assurances that the chosen service provider (e.g., hair stylist) will be compatible with a customer, not only in terms of meeting a customer's expectation for providing high quality services, but, also that the personality of a service provider is compatible with a customer's, as customers can spend many hours in the presence of a service provider. Therefore, it becomes important that the customer can relax and enjoy the experience.
Accordingly, there is a need for selecting a service provider, such as a hair stylist or any other hair care professional for an individual having distinct preferences. Although the description and figures make reference to a hair stylist, this is done to merely illustrate on representative embodiment. This disclosure is not limited to hair stylists, and the methods disclosed herein may be used for recommending any service provider to a customer.
As a consequence of the methods for matching a customer with a service provider in accordance with this disclosure, the service provider saves time, finds his customers more easily and uses his skills better. The customer also saves time finding a qualified and compatible service provider. The customer is more confident because he will find a service provider with a desired expertise, and has less stress when he goes to the service provider because he can be sure he has found the expert on his problem.
In accordance with this disclosure, a service provider is recommended having the right expertise. There is trust on the part of the consumer having found the right service provider for the right problem. On the other side, the service provider is also more confident because he is sure he will use his own and specific skills. He won't be asked by the customer to use skills he doesn't master. For example, some hair stylists are good at coloration but might have poor abilities for cutting hair. Consequently, the hair stylist will be also more confident. Thus, the match is a win-win relation between the hair stylist and the customer.
In this disclosure, a “user” can be a user-hair stylist or user-customer. The user-customer can be a prospective customer in the sense that the user-customer is searching for a hair stylist. Hair stylist is a broad term encompassing any service provider of hair care services, such as, cutting hair, styling hair, coloring hair, bleaching hair, hair extensions, and the like.
As shown, the terminals or mobile computing devices 108, 110, and 112 and the matching server 116 may communicate via a network 114. The network 114 may include any suitable networking technology, including but not limited to a wireless communication technology (including but not limited to Wi-Fi, WiMAX, Bluetooth, 2G, 3G, 4G, 5G, and LTE), a wired communication technology (including but not limited to Ethernet, USB, and FireWire), or combinations thereof.
In some embodiments, the mobile computing device 108 may be a smartphone. In some embodiments, the mobile computing device 108 may be any other type of computing device having the illustrated components, including but not limited to a tablet computing device or a laptop computing device. In some embodiments, the mobile computing device 108 may not be mobile, but may instead by a stationary computing device such as a desktop computing device. In some embodiments, the illustrated components of the mobile computing device 108 may be within a single housing. In some embodiments, the illustrated components of the mobile computing device 108 may be in separate housings that are communicatively coupled through wired or wireless connections (such as a laptop computing device with an external global positioning system receiver). The mobile computing device 108 also includes other components that are not illustrated, including but not limited to one or more processors, a non-transitory computer-readable medium, a power source, and one or more communication interfaces.
As shown, the mobile computing device 108 includes a display 118, a global positioning system receiver 120, network access 122, user interface 124 (touchscreen, keys, etc.), system memory 126, a microphone 144, a camera 142, and a central processing unit (CPU) 128.
In some embodiments, the display 118 is an LED display, an OLED display, or another type of display for presenting a user interface. In some embodiments, the display 118 may be combined with or include a touch-sensitive layer, such that a user 102, 104, and 106 may interact with a user interface presented on the display 118 by touching the display. In some embodiments, a separate user interface device, including but not limited to a mouse, a keyboard, or a stylus, may be used to interact with a user interface presented on the display 118.
In some embodiments, the microphone 144 allows a user to use voice controls for interfacing with the computing device 108. In some embodiments, the computing device 108 is configured for control through gestures, such as swiping. In some embodiments, the microphone 144 and camera 142 provide the ability for sound recording and photo/video acquisition.
Referring to
In some embodiments, the profile build engine 132 can be transmitted to the mobile device 108, free or for a nominal user fee, and then the profile build engine is stored in the system memory 126 of the mobile device 108. The profile build engine can be an “App” that is launched by a user clicking an icon on the display 118 of the mobile device 108. In another embodiment, the profile build engine 132 is launched in the mobile device 108 through communication over the network 114, such as by going to a link on web site. The profile build engine 132 can present the user with webpages on the mobile device 108.
In some embodiments, a user-customer profile built by the profile build engine 132 includes image analysis, for example, analysis of a user-customer pictures or analysis of a user-customer's social media accounts, including analysis of “hashtags” in the social media accounts as a source of personality traits. The image and text analysis can be performed by respective image and text processors operating artificial intelligence (AI) routines to extract personality data from existing user-generated information instead of using a questionnaire.
In some embodiments, the data store 130 is configured to store profiles for each user 102, 104, and 106. The profiles include categorical values and discrete values for each one of the users 102, 104, and 106.
In some embodiment, the profile build engine 132 is configured to obtain certain categorical and discrete values from each user 102, 104, and 106 depending on whether the user is a user-customer or user-hair stylist. The categorical and discrete values are descriptive of the user or things the user likes or that can describe the user's personality, for example, a profile for a user-customer may include the categorical values of: name, gender, address, favorite book genre, favorite music genre, favorite TV series, favorite discussion subject, favorite sport participant, favorite brands, and hair length, for example to describe the user-customer and something about their personalities. A hair stylist profile may include the categorical values of: name, gender serviced, hair styling skills, favorite book genre, favorite music genre, favorite TV series, favorite discussion subject, favorite sport participant, favorite brands used, and work location, for example, to describe the user-hair stylist and something about their personalities or hair styling qualifications. The values for all of these categories may be entered by the user-customer and user-hair stylist through the display 118 on the mobile device 108.
In some embodiments, a hair stylist profile built by the profile build engine 132 includes image analysis, for example, analysis of a hair stylist's salon pictures or analysis of a hair stylist's social media accounts, including analysis of “hashtags” in the social media accounts as a source of personality traits. The image and text analysis can be performed by respective image and text processors operating artificial intelligence (AI) routines to extract personality data from existing user-generated information instead of using a questionnaire.
In some embodiments, the request build engine 134 is configured to receive certain categorical values and discrete values from the user-customer. The request values are used in combination with the profiles to recommend a user-hair stylist to the user-customer. For example, a request build engine 134 can obtain user-customer categorical values of: present location, maximum distance willing to travel, hair styling service needed, preferred salon ambiance, the subjective importance to the user-customer of certain of the hair stylist's criteria, such as the hair stylist's hair styling skills, the hair stylist's personality, and the hair stylist's favorite brands. The values for all of these categories may be entered by the user-customer through the display 118 on the mobile device 108 to fill out the request or through analysis of the user-generated content, such as from social media. The values in the request filled out by the user-customer or through analysis of the social media accounts, along with the user-customer's profile is compared to user-hair stylists' profiles stored in the system 100 to provide ranked recommendations of user-hair stylists. In some embodiments, a user-customer profile built by the profile build engine 132 includes image analysis, for example, analysis of a user-customer's pictures in social media accounts and/or analysis of a user-customer's social media accounts, including analysis of “hashtags” in the social media accounts as a source of personality traits. The image and text analysis can be performed by respective image and text processors operating artificial intelligence (AI) routines to extract personality data from existing user-generated information instead of using a questionnaire.
In some embodiments, the matching engine 136 is configured to compare the requested categorical and discrete values to the profiles of the user-hair stylists in the system 100. As described above, the categorical values and discrete values can be input directly by a user through a questionnaire and/or indirectly through AI image and text processors analyzing user-generated content on the user's social media. In some embodiments, the matching engine 136 can use the present location, as determined by a global positioning system receiver, of the user-customer to narrow the list of possible recommendations of hair stylists within the requested geographical area. Thus, a user-customer will be able to find a hair stylist even when traveling abroad.
In some embodiments, the request build engine 134 is configured to receive certain categorical values and discrete values when the user-hair stylist has selected the job searching feature. A feature for user-hairstylist profiles and salon pages is the ability to indicate whether there is employment available, in which case, the employer user-hair stylist or salon and input job description and qualifications. The request values input by a job searching user-hair stylist and their profiles are matched with the job description and job qualifications provided by employer user-hair stylists and salons, so that the matching engine 136 will recommend employer user-hair stylists and salons to another user-hair stylist searching for a job. For example, the request build engine 134 can obtain user-hair stylist categorical and discrete values relevant for matching job searchers with employers. For example, a job search request discrete value may include a maximum distance the job searching user-hair stylist is willing to travel. Job search request categorical values may include, for example, the hair styling skills in which the job searching user-hair stylist is proficient, the preferred salon ambiance, favorite product brands, and the values relevant to personality. The job searching user-hair stylist may also assign the subjective importance of matching one categorical value more than another. For example, a job searching user hair stylist may assign higher importance to matching personality rather than skill, salon ambiance, or favorite product brands. The values for all of these discrete and categorical values may be entered by the job searching user-hair stylist through a series of GUI screens on the display 118 or through AI machine learning analysis of the user-generated content, such as from social media. The values in the request filled out by the job searching user-hair stylist or through analysis of the social media accounts, along with the job searching user-hair stylist's profile is compared to employer user-hair stylists' profiles and salon pages stored in the system 100 to provide ranked recommendations of employer user-hair stylists and salons.
In some embodiments, the matching engine 136 is configured to compare the requested categorical and discrete values to the profiles of the employer user-hair stylists in the system 100. As described above, the categorical values and discrete values can be input directly by a user through a questionnaire and/or indirectly through AI image and text processors analyzing user-generated content on the user's social media. In some embodiments, the matching engine 136 can use the present location, as determined by a global positioning system receiver, of the user-customer to narrow the list of possible recommendations of employer hair stylists within the requested geographical area.
Further, in comparing the requested hair styling service needed by the user-customer, personality, and favorite brand and possibly preferences derived from AI-based personality matching of the user-customer profile to the user-hair stylist profile, the matching engine 136 applies the weighted subjective importance to the user-customer of the hair stylist's hair styling skills, the hair stylist's personality, and the hair stylist's favorite brands. The matching engine 136 then sends the ranked recommendations to the user-customer, which the user-customer can then click on to find out more about the hair stylist, call, or email further questions, or ask to make an appointment, etc. In addition, the user-customer can also view results of feedback provided by other user-customers. Once the user-customer has used the services of a user-hair stylist, the user-customer may also provide feedback.
In some embodiments, the feedback engine 140 is configured to receive input from a user-customer regarding whether the categorical values relating to hair stylist's skills in the profile of a hair stylist are accurate. For example, if a hair stylist's profile indicates that the hair stylist is skilled at cutting, then, a user-customer who received a hair cut from the hair stylist can provide feedback by either agreeing or not agreeing that the hair stylist was proficient in the hair cutting skill. Further, the feedback engine 140 can be configured to receive input whether the categorical values in the profile of a hair stylist relating to hair stylist's personality are accurate. For example, if the hair stylist's profile indicates that the hair stylist's favorite music genre is rock n roll, but, the hair stylist only talked about jazz and blues music, then, the user-customer can disagree that the user-hair stylist's favorite music genre is rock n roll.
In this disclosure, “engine” of components 132, 134, 136, and 140 refers to logic embodied in hardware or software instructions, which can be written in a programming language, such as C, C++, COBOL, JAVA™, PHP, Perl, HTML, CSS, JavaScript, VBScript, ASPX, Microsoft .NET™, Go, and/or the like. Examples of AI machine learning routines include, but are not limited to, convolutional neural networks and image segmentation. Deep learning programming languages include, for example, TENSORFLOW™, PYTORCH™, SONNET™, KERAS™, MXNet™, GLUON™, SWIFT™, CHAINER™, DL4J™, and ONNX™. An engine may be compiled into executable programs or written in interpreted programming languages. Software engines may be callable from other engines or from themselves. Generally, the engines described herein refer to logical modules that can be merged with other engines, or can be divided into sub-engines. The engines can be stored in any type of computer-readable medium or computer storage device and be stored on and executed by one or more general purpose computers, thus creating a special purpose computer configured to provide the engine or the functionality thereof.
The “data store” 130 refers to any suitable device configured to store data for access by a computing device. One example of a data store 130 is a highly reliable, high-speed relational database management system (DBMS) executing on one or more computing devices and accessible over a high-speed network. Another example of a data store 130 is a key-value store. However, any other suitable storage technique and/or device capable of quickly and reliably providing the stored data in response to queries may be used, and the computing device may be accessible locally instead of over a network, or may be provided as a cloud-based service.
A data store 130 may also include data stored in an organized manner on a computer-readable storage medium, such as a hard disk drive, a flash memory, RAM, ROM, or any other type of computer-readable storage medium. One of ordinary skill in the art will recognize that separate data stores described herein may be combined into a single data store, and/or a single data store described herein may be separated into multiple data stores, without departing from the scope of the present disclosure.
The computing device 108, 110, and 112 is used to complete a unique profile for each of the users 102, 104, and 106. The data in the profile is prompted by the profile build engine 132 by using a series of graphical user interfaces, for example. Additionally or alternatively, the user profile is also built by AI routines that analyze user-generated content, such as found in social media including, for example, images, text, and hashtags. The profile contains categorical values and discrete values that describe certain preferences, likes, and attributes unique to the individual user 102, 104, and 106. Categorical values have ranges defining members of the category. Members of a favorite music genre and favorite book genre would be categorical values. Some categorical values are ordinal, meaning that values in the category have a natural order, such as small, medium, large, for example. Discrete values can usually be counted, are integers or real numbers. A collection of categorical and discrete values can be used to describe the personality of a user, their location, skill, preferences, likes, dislikes, etc.
The computing device 108, 110, 112, includes the profile build engine that presents a series of graphical user interfaces that allow the user to specify, or optionally not specify, the categorical and discrete values of his/her profile, or use AI routines that link to social media to extract the features to use in the profile. Some categorical and discrete values will be different depending on whether the user 102, 104, and 106 is a user-hair stylist or user-customer.
Once completed, the profiles are transmitted to the matching server 116, where they are stored in the data store 130. Once in the system 100, user-customers and user-hair stylists can use the system 100. The matching server 116 waits for a request from a user-customer or user-hair stylist to act upon the request to provide ranked recommendations of a user-hair stylist to the user-customer or provide ranked recommendations of an employer user-hair stylists to job searching user-hair stylists. In one embodiment, only user-hair stylists that are in the system 100 are recommended to the user-customer or job searching user-hair stylists. A real-time request from a user-customer or user-hair stylist may further contain additional categorical and discrete values that are not already in the user-customer profile, and may be unique to the present request of the user-customer and user-hair stylists.
When a request from a user-customer or job searching user-hair stylist is received at the matching server 116, the matching server 116 may execute a matching engine that compares the profile of the user-customer or job searching user-hair stylist who sent the request along with the additional requested categorical and discrete values to the profiles of the user-hair stylists. The comparison by the matching server 116 yields a ranked recommendation for user-hair stylists that most closely match with the profile of the user-customer and the values specified in the request, or in the case of job searching user-hair stylists, the matching server 116 yields a ranked recommendation for employer user-hair stylists. In one embodiment, the request may include the location and maximum distance willing to travel by the user-customer. The present location may be gathered by the computing device 108, 110, and 112, with a global positioning system receiver in the computing device 108, 110, and 112. Alternatively, if the use-customer is traveling, the user-customer may provide the current, but not home, location.
The matching server 116 may then make the first match of user-hair stylists by selecting only those within the geographical area specified in the request. The ranking according to location first can save processing time and resource, since many user-hair stylists can be eliminated based on not matching the geolocation request. The ranking of user-hair stylists, as well as other information, may be provided to the user-customer via a display on the computing device 108, 110, and 112.
In block 402, the method requests the user to log in if the user already has an account, or alternatively, if the user does not have an account, the user can register to set up an account.
In block 404, a first-time user will build a profile, or if the user is not a first-time user, the user can edit the profile. The method can recognize whether the user has a profile or not, and display the appropriate screen. The profile build engine 132 (
Social media buttons 626 can be used to link to the user-hair stylist's social media accounts. When selected, the one or more of the social media accounts are analyzed for user-generated content to automatically capture personality traits using AI routines that perform text and/or image analysis.
If on the contrary, the physical address does not match with any salon already stored in the salon database, the user-hair stylist may be presented with a GUI screen on the mobile device 108 as illustrated in
When all the fields on the screen of
When the salon page is created, the user-hair stylist is moved back to his profile edition screen as illustrated in
The last step of the user-hair stylist profile creation is to list the brands he/she likes the most as a hair-stylist from a GUI screen as illustrated in
The other possibility if the user-hair stylist works as a mobile hairdresser is to indicate the maximum travelling distance in a screen as illustrated in
Referring back to
The selections for a user-customer by selecting button 502 in
Social media buttons 822 can be used to link to the user-customer's social media accounts. When selected, the one or more of the social media accounts are analyzed for user-generated content, such as images and text, for example, to automatically capture discrete and categorical values, such as personality traits, through AI machine learning routines or through image analysis or both.
When the user-customer has finished building the profile, the user-customer can review the profile, and the user-customer can click on the “GO” button 904 to create the user-customer profile.
Referring to
In block 408, the user-customer can now make a request to find a hair stylist by inputting categorical and discrete values. The request is made by clicking the button 520 (
After the user-customer has completed the request on the mobile device 108, the user-customer can click on a “GO” button 1014. Referring to
In block 410, the request is transmitted to the matching server 116, where the matching engine 136 will match the requested categorical and discrete values in the request and user-customer profile to the categorical and discrete values from the profiles of the hair stylists in the data store 130. From block 410, the method enters block 412.
In block 412, the matching engine 136 can first apply a location filter to match the geolocation of the user-customer to the user-hair stylist. This filter applies the location of the user-customer in the request and the maximum distance willing to travel to the locations of salons within the radius of the maximum distance, or if the hair stylist is mobile, the matching engine 136 can also consider the maximum distance that the hair stylist is willing to travel. The matching engine 136 provides a filtered set of hair stylist meeting the geolocation request. From block 412, the method 400 enters block 414.
In block 414, the method 400 applies weighting formulas on the filtered set of hair stylists resulting from block 412. For example, the matching engine 136 will next select the categorical values rated highest in importance by the user-customer. The matching engine can set coefficients to apply a weighting algorithm to the categorical values as indicated in the request. A high importance, for example, can indicate that 75% to 100% of the hair stylist categorical values are included in the categorical values requested by the user-customer. However, not all categorical values can be weighted the same when they are designated at the same importance level. For example, high importance for matching the hair stylists whose hair styling skills include each of the hair styling services from input field 1006 requested by the user-customer can mean a 100% match. High importance for matching personality categorical values to hair stylists' personality categorical values can mean a 50% to 75% match. The matching engine subsequently applies weighting formulas to the medium importance categorical values, and last, the low importance categorical values. After each requested categorical value, the matching engine can filter out the user-hair stylists that do not meet the weighting criteria for importance. The matching engine 136 tabulates the final matches for hair stylists as percentages. From block 414, the method 400 enters block 416.
In block 416, any number, for example, three hair stylists having the highest matching percentages are presented to the user-customer. Additionally, the matching hair stylists results can be saved in block 426 in the data store 130 of the matching server 116 for display to the user-customer at the next time that the user-customer opens the application.
Referring to
Referring to
Referring to
Referring to
The request build engine 134 (
A job search request may use some of the same or different categorical and discrete values for matching a user-hair stylist searching for a job to another user-hair stylist or salon. For example, a user-hair stylist requesting a job search may input location, which alternatively, can be determined by the global positioning system 120 of the mobile device 108. A user-hair stylist requesting a job search may input the discrete value of maximum distance the user-hair stylist is willing to travel. A user-hair stylist requesting a job search may input the categorical values of the hair styling skills in which they are proficient, which can be ranked in order of proficiency. A user-hair stylist requesting a job search may input the categorical values that are descriptive of their personalities. A user-hair stylist requesting a job search may input the categorical value of their favorite product brands. A user-hair stylist requesting a job search may input a categorical ordinal value indicating the subjective importance to the user-hair stylist of matching the hair styling skills, personality, and product brands to the employer user-hair stylist.
Referring to
In block 411, the job search request is transmitted to the matching server 116, where the matching engine 136 will match the requested categorical and discrete values in the job search request to employer user-hair stylists' profiles and salon pages. From block 411, the method enters block 413.
In block 413, the matching engine 136 can first apply a location filter to match the geolocation of the user-hair stylist. This filter applies the location of the user-hair stylist in the request and the maximum distance willing to travel to the job location. The matching engine 136 provides a filtered set of employer hair stylists or salons meeting the geolocation request. From block 413, the method 400 enters block 415.
In block 415, the method 400 applies weighting formulas on the filtered set of hair stylists and salons resulting from block 413. For example, the matching engine 136 will next select the categorical values rated highest in importance by the user-hair stylist. The matching engine can set coefficients to apply a weighting algorithm to the categorical values as indicated in the request. A high importance, for example, can indicate that 75% to 100% of categorical values match the categorical values in the job search request. However, not all categorical values can be weighted the same when they are designated at the same importance level. For example, high importance for matching the hair styling skills in the job search request can mean a 100% match. High importance for matching personality categorical values can mean a 50% to 75% match. The matching engine subsequently applies weighting formulas to the medium importance categorical values, and last, the low importance categorical values. After each requested categorical value, the matching engine can filter out the user-hair stylists and salons that do not meet the weighting criteria for importance. The matching engine 136 tabulates the final job search matches as percentages. From block 415, the method 400 enters block 417.
In block 417, any number, for example, six employer hair stylists or salons having the highest matching percentages are presented to the user-hair stylist. Additionally, the matching hair stylists results can be saved in block 427 in the data store 130 of the matching server 116 for display to the user-hair stylist at the next time that the user-hair stylist opens the application.
From block 417, the method enters block 419. In block 419, the user-hair stylist can consult any of the displayed highest ranked employer hair stylists or salons to obtain their information. For example, by selecting one of the displayed employer hair stylists or salons, one or more screens can appear on the mobile device 108 showing the public profile of the hair stylist or the salon page.
While
In its most basic configuration, the computing device 108 includes at least one processor 128 and a system memory 126 connected by a communication bus. Depending on the exact configuration and type of device, the system memory 126 may be volatile or nonvolatile memory, such as read only memory (“ROM”), random access memory (“RAM”), EEPROM, flash memory, or similar memory technology. Those of ordinary skill in the art and others will recognize that system memory 126 typically stores data and/or program modules that are immediately accessible to and/or currently being operated on by the processor 128. In this regard, the processor 128 may serve as a computational center of the computing device 108 by supporting the execution of instructions. As used herein, the term “computer-readable medium” includes volatile and non-volatile and removable and non-removable media implemented in any method or technology such as, but not limited to, a hard drive, solid state drive, CD ROM, DVD, or other disk storage, magnetic cassettes, magnetic tape, magnetic disk storage, and/or the like, capable of storing information, such as computer readable instructions, data structures, program modules, or other data. In this regard, the system memory 126 depicted in
As further illustrated in
Suitable implementations of computing devices that include a processor 128, system memory 126, and network access 122 are known and commercially available. For ease of illustration and because it is not important for an understanding of the claimed subject matter,
In one embodiment, a computer-implemented method of matching a customer with a service provider, the method comprising: creating 404, by a computing device 108, a profile of a customer having a plurality of categorical values descriptive of or liked by the customer; creating 404, by the computing device, a profile of a service provider having a plurality of categorical values descriptive of or liked by the service provider; creating 408, by the computing device, a request by the customer to recommend a service provider, wherein the request includes one or more requested categorical and discrete values; and providing 416, by the computing device, ranked recommendations of service providers to the customer based on a comparison of the categorical values in the profiles of the customer and the service provider and the requested categorical and discrete values by the customer.
In one embodiment, the service provider is a hair stylist. In one embodiment, the computer-implemented method further comprises, creating 404, by the computing device, a salon page having a plurality of discrete values and categorical values descriptive of a salon of the hair stylist.
In one embodiment, the recommendations are further based on determining location 412 coordinates of the customer via a global positioning system or a manual location entry and calculating the distance to a hair stylist is within the requested discrete value of maximum distance to travel by the customer.
In one embodiment, the categorical values in the profile of the customer are selected from one or more of the group consisting of sex, hair length, favorite book genre, favorite music genre, favorite television series, favorite sport participant, favorite discussion topic, first favorite brand, second favorite brand, third favorite brand, or a combination thereof.
In one embodiment, the customer has the option to not specify a categorical value.
In one embodiment, the categorical values of the customer are provided through a questionnaire, or are extracted from social media or user-generated content by means of artificial intelligence, or image analysis, or analysis of hashtags found on social media, or a combination.
In one embodiment, the categorical values of the hair stylist are provided through a questionnaire, or are extracted from social media or user-generated content by means of artificial intelligence, or image analysis, or analysis of hashtags found on social media, or a combination.
In one embodiment, the categorical values of the hair stylist are extracted from image analysis of the hair stylist's salon page.
In one embodiment, the categorical values in the profile of the hair stylist are selected from one or more of the group consisting of sex of customer, favorite book genre, favorite music genre, favorite television series, favorite discussion topic, favorite sport participant, salon location, first hair styling skill, second hair styling skill, third hair styling skill, fourth hair styling skill, fifth hair styling skill, sixth hair styling skill, location type, first favorite brand, second favorite brand, third favorite brand, fourth favorite brand, fifth favorite brand, sixth favorite brand, or a combination thereof.
In one embodiment, the hair stylist has the option to not specify a categorical value. In one embodiment, the requested categorical values are selected from hair styling services and customer location, and the requested discrete values are selected from maximum distance to travel, importance of hair styling skill of the hair stylist, importance of customer profile, importance of customer favorite brands.
In one embodiment, the importance of the hair styling skill of the hair stylist, importance of customer profile, and importance of customer favorite brands are selected from values of low, medium, and high.
In one embodiment, the computer-implemented method further comprises providing feedback 424 by a customer ranking the hair styling skills of the hair stylist to the requested hair styling service and ranking one or more of the categorical values in the profile of the hair stylist.
In one embodiment, the recommendations are given as a percent representing a closeness of a match of the customer profile with the hair stylist profile and a match of the requested categorical and discrete values to the hair stylist profile.
In one embodiment, a computing device 108, comprising at least a memory 126 and processor 128, is configured to: create a profile of a customer having a plurality of categorical values descriptive of or liked by the customer; create a profile of a service provider having a plurality of categorical values descriptive of or liked by the service provider; create a request by the customer to recommend a service provider, wherein the request includes one or more requested categorical and discrete values; and provide ranked recommendations of service providers to the customer based on a comparison of the categorical values in the profiles of the customer and the service provider and the requested categorical and discrete values by the customer.
In one embodiment, the service provider is a hair stylist.
In one embodiment, the computing device is further configured to create a salon page having a plurality of discrete values and categorical values descriptive of a salon of the hair stylist.
In one embodiment, the recommendations are further based on determining location coordinates of the customer via a global positioning system or a manual location entry and calculating the distance to a hair stylist is within the requested discrete value of maximum distance to travel by the customer.
In one embodiment, the categorical values in the profile of the customer are selected from one or more of the group consisting of sex, hair length, favorite book genre, favorite music genre, favorite television series, favorite sport participant, favorite discussion topic, first favorite brand, second favorite brand, third favorite brand, or a combination thereof.
In one embodiment, the customer has the option to not specify a categorical value.
In one embodiment, the categorical values of the customer are provided through a questionnaire, or are extracted from social media or user-generated content by means of artificial intelligence, or image analysis, or analysis of hashtags found on social media, or a combination.
In one embodiment, the categorical values of the hair stylist are provided through a questionnaire, or are extracted from social media or user-generated content by means of artificial intelligence, or image analysis, or analysis of hashtags found on social media, or a combination.
In one embodiment, the categorical values of the hair stylist are extracted from image analysis of the hair stylist's salon page.
In one embodiment, the categorical values in the profile of the hair stylist are selected from one or more of the group consisting of sex of customer, favorite book genre, favorite music genre, favorite television series, favorite discussion topic, favorite sport participant, salon location, first hair styling skill, second hair styling skill, third hair styling skill, fourth hair styling skill, fifth hair styling skill, sixth hair styling skill, location type, first favorite brand, second favorite brand, third favorite brand, fourth favorite brand, fifth favorite brand, sixth favorite brand, or a combination thereof.
In one embodiment, wherein the hair stylist has the option to not specify a categorical value.
In one embodiment, the requested categorical values are selected from hair styling services and customer location, and the requested discrete values are selected from maximum distance to travel, importance of hair styling skill of the hair stylist, importance of customer profile, importance of customer favorite brands.
In one embodiment, the importance of the hair styling skill of the hair stylist, importance of customer profile, and importance of customer favorite brands are selected from values of low, medium, and high.
In one embodiment, the computing device is further configured to provide feedback by a customer ranking the hair styling skills of the hair stylist to the requested hair styling service and ranking one or more of the categorical values in the profile of the hair stylist.
In one embodiment, the recommendations are given as a percent representing a closeness of a match of the customer profile with the hair stylist profile and a match of the requested categorical and discrete values to the hair stylist profile.
In one embodiment, a system 116 comprises: a profile building engine 132 including computational circuitry configured to: create a profile of a customer having a plurality of categorical values descriptive of or liked by the customer and to create a profile of a service provider having a plurality of categorical values descriptive of or liked by the service provider; a request building engine 134 including computational circuitry configured to: create a request by the customer to recommend a service provider, wherein the request includes one or more requested categorical and discrete values; and a matching engine 136 including computational circuitry configured to: provide ranked recommendations of service providers to the customer based on a comparison of the categorical values in the profiles of the customer and the service provider and the requested categorical and discrete values by the customer.
In one embodiment, the service provider is a hair stylist.
While illustrative embodiments have been illustrated and described, it will be appreciated that various changes can be made therein without departing from the spirit and scope of the invention.
Claims
1. A computer-implemented method of matching a customer with a service provider, the method comprising:
- creating, by a computing device, a profile of a customer having a plurality of categorical values descriptive of or liked by the customer;
- creating, by the computing device, a profile of a service provider having a plurality of categorical values descriptive of or liked by the service provider;
- creating, by the computing device, a request by the customer to recommend a service provider, wherein the request includes one or more requested categorical and discrete values; and
- providing, by the computing device, ranked recommendations of service providers to the customer based on a comparison of the categorical values in the profiles of the customer and the service provider and the requested categorical and discrete values by the customer.
2. The computer-implemented method of claim 1, wherein the service provider is a hair stylist.
3. The computer-implemented method of claim 2, creating, by the computing device, a salon page having a plurality of discrete values and categorical values descriptive of a salon of the hair stylist.
4. The computer-implemented method of claim 2, wherein the recommendations are further based on determining location coordinates of the customer via a global positioning system or a manual location entry, and calculating the distance to a hair stylist is within the requested discrete value of maximum distance to travel by the customer.
5. The computer-implemented method of claim 2, wherein the categorical values in the profile of the customer are selected from one or more of the group consisting of sex, hair length, favorite book genre, favorite music genre, favorite television series, favorite sport participant, favorite discussion topic, first favorite brand, second favorite brand, third favorite brand, or a combination thereof.
6. The computer-implemented method of claim 5, wherein the customer has the option to not specify a categorical value.
7. The computer implemented method of claim 2, wherein the categorical values of the customer are provided through a questionnaire, or are extracted from social media or user-generated content by means of artificial intelligence, or image analysis, or analysis of hashtags found on social media, or a combination.
8. The computer implemented method of claim 2, wherein the categorical values of the hair stylist are provided through a questionnaire, or are extracted from social media or user-generated content by means of artificial intelligence, or image analysis, or analysis of hashtags found on social media, or a combination.
9. The computer implemented method of claim 3, wherein the categorical values of the hair stylist are extracted from image analysis of the hair stylist's salon page.
10. The computer-implemented method of claim 2, wherein the categorical values in the profile of the hair stylist are selected from one or more of the group consisting of sex of customer, favorite book genre, favorite music genre, favorite television series, favorite discussion topic, favorite sport participant, salon location, first hair styling skill, second hair styling skill, third hair styling skill, fourth hair styling skill, fifth hair styling skill, sixth hair styling skill, location type, first favorite brand, second favorite brand, third favorite brand, fourth favorite brand, fifth favorite brand, sixth favorite brand, or a combination thereof
11. A computing device, comprising at least a memory and processor, configured to:
- create a profile of a customer having a plurality of categorical values descriptive of or liked by the customer;
- create a profile of a service provider having a plurality of categorical values descriptive of or liked by the service provider;
- create a request by the customer to recommend a service provider, wherein the request includes one or more requested categorical and discrete values; and
- provide ranked recommendations of service providers to the customer based on a comparison of the categorical values in the profiles of the customer and the service provider and the requested categorical and discrete values by the customer.
12. A system, comprising:
- a profile building engine including computational circuitry configured to:
- create a profile of a customer having a plurality of categorical values descriptive of or liked by the customer and to create a profile of a service provider having a plurality of categorical values descriptive of or liked by the service provider;
- a request building engine including computational circuitry configured to: create a request by the customer to recommend a service provider, wherein the request includes one or more requested categorical and discrete values; and
- a matching engine including computational circuitry configured to: provide ranked recommendations of service providers to the customer based on a comparison of the categorical values in the profiles of the customer and the service provider and the requested categorical and discrete values by the customer.
Type: Application
Filed: Jun 15, 2021
Publication Date: Dec 16, 2021
Applicant: L'Oreal (Paris)
Inventors: Thomas Pocard (Chevilly Larue), Lucien Bildstein (Saint-Ouen), Thibaut Quelquejay (Clichy), Yann Waye Keuong (Saint-Ouen), Jennifer Servant (Chevilly-Larue), Julien Blanchard (Clichy), Maud Pasquier (Saint-Ouen)
Application Number: 17/348,321