Color Cocktail: an Ontology-Based recommender System Yu-Hsin Chen Ting-hsiang Huang David Chawei Hsu Jane Yung-jen Hsu r94922046@ntu. edu. nw r93922024@ntu.edu. hw r94921028@ntu.edu. nw yjhsu @csie ntu. edu.n Department of Computer Science and Information Engineering National Taiwan University. Taiwan Abstract This paper presents"ColorCocktail, a cocktail recom- Cocktails are popular in a wide variety of social func- mendation system that helps people identify the ideal drink ons. Given the diverse selection of ingredients and based on a few general characteristics specified by the user. preparation, there are often fitting choices that match Besides the basic ingredients, Color Cocktail considers the the mood or spirit of any given moment. On the other mutual influence between the taste of a drink and a persons hand, specifying the ideal drink can pose a challenge for mood. In particular, this research explores using colors as the average person without detailed knowledge about an abstract representation of personal emotions reflected in cocktails. In this paper, a novel recommender system the current mood. For example, one draws some colors on Color Cocktail, is proposed to help people choose the screen as shown on the left in Figure ?? Color Cocktail cocktails in accordance with their current mood and analyzes the colors to find the cocktail, shown on the right, preferences, which are specified by checking a few gen- with the matching taste and aura. eral characteristics. In particupar, this research explores sing colors as an abstract representation of personal emotions. The Color Cocktail system performs ontolog- ical reasoning using a knowledge base containing the cocktail ontology. Combined with commonsense rea- ning for affect sensing from colors, the system is able to make intelligent recommendations through an intur- ntroduction This research explores the role of ontology and common- Figure 1: Specification of mood as colors sense knowledge in supporting natural human-computer in teraction. The task of selecting cocktails to match personal Detailed knowledge about cocktails has been represented mood and preferences is used as a motivating example as a cocktail ontology. Color Cocktail performs ontological Cocktails are popular in a wide variety of social gath- reasoning based on such a taxonomic classification in find ings, ranging from formal wedding ceremonies to casual ing the recommendations. In addition, commonsense rea- parties. A cocktail is commonly known as an iced drink soning is used to link the intuitive specification of colors of wine or distilled liquor mixed with flavoring ingredients with personal emotions in order to provide a natural interac- usually one or more of a liqueur, fruit, sauce, honey, milk tive recommendation process r cream,spices,etc. Cocktails became popular from 1920 The rest of this paper is organized as follows. We start and continuously evolve for decades. People are fascinated by surveying related work in recommender systems, human vith the variety of dazzling colors and attractive tastes. A taste perception, as well as color and emotion. We then great choice of cocktail can enhance the experience of spe- present the Color Cocktail system architecture together with cial moments le lives. However findi more detailed descriptions of the cocktail ontology, drink can be a big challenge for the average person without terface, and the reasoning component in the prototype sys- detailed knowledge about cocktails. People usually take the em. Finally, we discuss some preliminary findings from easy way out by going for known popular choices or rec- testing the Color Cocktail prototype system for cocktail rec ommendations from the bartender. wouldn 't it be nice to ommendations and suggest several important issues for fu- have an intelligent recommender system that can help a per- ture research son make the wise choice according to her current mood and preferences? Related work Copyright C 2007, American Association for Artificial Intelli To design a good cocktail recommendation system, we need gence(www.aaai.org).Allrightsreserved to explore related research in the areas of recommender sys-
ColorCocktail: an Ontology-Based Recommender System Yu-Hsin Chen Ting-hsiang Huang David Chawei Hsu Jane Yung-jen Hsu r94922046@ntu.edu.tw r93922024@ntu.edu.tw r94921028@ntu.edu.tw yjhsu@csie.ntu.edu.tw Department of Computer Science and Information Engineering National Taiwan University, Taiwan Abstract Cocktails are popular in a wide variety of social functions. Given the diverse selection of ingredients and preparation, there are often fitting choices that match the mood or spirit of any given moment. On the other hand, specifying the ideal drink can pose a challenge for the average person without detailed knowledge about cocktails. In this paper, a novel recommender system, “ColorCocktail” , is proposed to help people choose cocktails in accordance with their current mood and preferences, which are specified by checking a few general characteristics. In particupar, this research explores using colors as an abstract representation of personal emotions. The ColorCocktail system performs ontological reasoning using a knowledge base containing the cocktail ontology. Combined with commonsense reasoning for affect sensing from colors, the system is able to make intelligent recommendations through an intuitive interface. Introduction This research explores the role of ontology and commonsense knowledge in supporting natural human-computer interaction. The task of selecting cocktails to match personal mood and preferences is used as a motivating example. Cocktails are popular in a wide variety of social gatherings, ranging from formal wedding ceremonies to casual parties. A ‘cocktail’ is commonly known as an iced drink of wine or distilled liquor mixed with flavoring ingredients, usually one or more of a liqueur, fruit, sauce, honey, milk or cream, spices, etc. Cocktails became popular from 1920 and continuously evolve for decades. People are fascinated with the variety of dazzling colors and attractive tastes. A great choice of cocktail can enhance the experience of special moments in people lives. However, finding the right drink can be a big challenge for the average person without detailed knowledge about cocktails. People usually take the easy way out by going for known popular choices or recommendations from the bartender. Wouldn’t it be nice to have an intelligent recommender system that can help a person make the wise choice according to her current mood and preferences? Copyright c 2007, American Association for Artificial Intelligence (www.aaai.org). All rights reserved. This paper presents “ColorCocktail”, a cocktail recommendation system that helps people identify the ideal drink based on a few general characteristics specified by the user. Besides the basic ingredients, ColorCocktail considers the mutual influence between the taste of a drink and a person’s mood. In particular, this research explores using colors as an abstract representation of personal emotions reflected in the current mood. For example, one draws some colors on the screen as shown on the left in Figure ??. ColorCocktail analyzes the colors to find the cocktail, shown on the right, with the matching taste and aura. Figure 1: Specification of mood as colors. Detailed knowledge about cocktails has been represented as a cocktail ontology. ColorCocktail performs ontological reasoning based on such a taxonomic classification in finding the recommendations. In addition, commonsense reasoning is used to link the intuitive specification of colors with personal emotions in order to provide a natural interactive recommendation process. The rest of this paper is organized as follows. We start by surveying related work in recommender systems, human taste perception, as well as color and emotion. We then present the ColorCocktail system architecture together with more detailed descriptions of the cocktail ontology, user interface, and the reasoning component in the prototype system. Finally, we discuss some preliminary findings from testing the ColorCocktail prototype system for cocktail recommendations and suggest several important issues for future research. Related Work To design a good cocktail recommendation system, we need to explore related research in the areas of recommender sys-
tems, human perception, especially taste and flavor. In add the recommender system better. There exists many mod tion, the study of colors and their relationship with emotions els about human emotion in psychology. The PAD emotion model is one of them. The generality of the PAD emotion Recommender system model has three dimensions: pleasure, arousal, and domi- Recommender systems are popular in nowadays. When you nance. Kinds of emotion states can be classify into different are surfing the online bookstore Amazon. com, the bookstore will give you some popular books recently and some book In the work done by patricia Valdez and albert mehra- you may interested in. The"books are shown around bian(), they try to find out the relationship between color your current view. Another example often occurs in the su- and emotion. This is what we want to add to our system permarket. Because you have the member of the super mar- Though, color just can partially represent the mood state of ket, every time before paying up, you show your card to the human, we use color to stand for the mood state to approach cashier and the system records the goods you bought. Next time when you go shopping, it will provide a personal shop- ping list with special discount for you System Architecture These kind of recommender systems are base on the his- Be a recommending system, this cocktail recommenders ar- torical data and the product rating. The system analyzes chitecture is similar to other recommending system. It has what the user bought before, what they viewed before, and user choice and cocktail's ontology as inputs, some recom how they rated the products. The most common method mending cocktails as output, and DL reasoner as its informa- Is collaboration filtering. After the analysis, collaboration tion inference engin e F filtering recommender system differentiates from one user reasoning is the future work in our system profile to another to determine what to recommend. This ap proach will suffer from the problem of data sparseness and the first rate problem Another way to build a recommender system is content based. By comparing the representation of content con tained in an item, the content-based method provide recom- mendations for users. This kind of recommendation need nore effort on extract the content of items. Users of the sys- tem do not need to give great feed back. In the meanwhile Reasoner fewer interaction between the system and the user (? ocktail. owl Taste and Flavor Taste is another important issue in our work. In the basi wine tasting procedure, tasting, bouquet and color are im- Figure 2: Architecture ortant features. We try to import the knowledge of wine into the system The Cocktail Ontology From the view of physiology, taste buds on the tongue To be a good cocktail recommender. The first thing we need around ten thousand taste buds in human's mouth. Most to have is the knowledge about cocktail. Cocktail is any of the taste buds are on and around the tiny bumps on the of various alcoholic beverages consisting usually of brandy tongue. They look like little red dots, or raised bumps. Every whiskey, vodka, or gin combined with fruit juices or other taste bud detects five primary tastes including sour, sweet, lors and often served chilled bitter, salty and umami(salts from certain acid ). Via these For getting the characteristic of the cocktails little sensors human can sense the taste of the food sify cocktails and build up the ontology. For example, Blue In addition to taste, human perception also includes ol Hawail. which has a formal name and standard instructions faction, vision, etc. If you get a running nose, you lose your to make, consists of light rum, pineapple juice, and cura olfaction temporary. Everything you eat will be pretty bland cao. So it can be classified to the class of Named-Cocktail though your gustation still work. Furthermore, color of the Named-Cocktail inherits from class Cocktail with the base ole. In the wine properties. Furthermore, color and taste are the char of wine evaluation, color is also the first impression too. In acteristics of cocktail. So "Blue Hawai!is a named cocktail many commercial Web site, the properties are already avail Besides colors, flavors and base wine, glass shape and alcohol volume are important issue of cocktail. Different Color and emotion shapes of glasses make different impressions on human be- ings. This is the reason why we use glass shape to classify Mood and emotion are considered in the system. We are cocktails. Alcohol volume is due to the ingredients of cock- trying to add more human factors to the system and make tail. It is reflected by mouth feel http://www.wines.com/index.html 2http://www.drinksmixer.com/guide/2-1.php
tems, human perception, especially taste and flavor. In addition, the study of colors and their relationship with emotions. Recommender System Recommender systems are popular in nowadays. When you are surfing the online bookstore Amazon.com, the bookstore will give you some popular books recently and some book you may interested in. The ”new” books are shown around your current view. Another example often occurs in the supermarket. Because you have the member of the super market, every time before paying up, you show your card to the cashier and the system records the goods you bought. Next time when you go shopping, it will provide a personal shopping list with special discount for you. These kind of recommender systems are base on the historical data and the product rating. The system analyzes what the user bought before, what they viewed before, and how they rated the products. The most common method is collaboration filtering. After the analysis, collaboration filtering recommender system differentiates from one user profile to another to determine what to recommend. This approach will suffer from the problem of data sparseness and the first rate problem. Another way to build a recommender system is contentbased. By comparing the representation of content contained in an item, the content-based method provide recommendations for users. This kind of recommendation need more effort on extract the content of items. Users of the system do not need to give great feed back. In the meanwhile, fewer interaction between the system and the user.(?) Taste and Flavor Taste is another important issue in our work. In the basic wine tasting procedure, tasting, bouquet and color are important features. We try to import the knowledge of wine into the system. From the view of physiology, taste buds on the tongue let human beings have the gustatory perception. There are around ten thousand taste buds in human’s mouth. Most of the taste buds are on and around the tiny bumps on the tongue. They look like little red dots, or raised bumps. Every taste bud detects five primary tastes including sour, sweet, bitter, salty and umami(salts from certain acid). Via these little sensors, human can sense the taste of the food. In addition to taste, human perception also includes olfaction, vision, etc. If you get a running nose, you lose your olfaction temporary. Everything you eat will be pretty bland though your gustation still work. Furthermore, color of the foods is the first impression for the people. In the procedure of wine evaluation, color is also the first impression too. In many commercial Web site, the properties are already available. 1 Color and Emotion Mood and emotion are considered in the system. We are trying to add more human factors to the system and make 1 http://www.wines.com/index.html the recommender system better. There exists many models about human emotion in psychology. The PAD emotion model is one of them. The generality of the PAD emotion model has three dimensions: pleasure, arousal, and dominance. Kinds of emotion states can be classify into different categories. In the work done by Patricia Valdez and Albert Mehrabian (?), they try to find out the relationship between color and emotion. This is what we want to add to our system. Though, color just can partially represent the mood state of human, we use color to stand for the mood state to approach the problem. System Architecture Be a recommending system, this cocktail recommender’s architecture is similar to other recommending system. It has user choice and cocktail’s ontology as inputs, some recommending cocktails as output, and DL reasoner as its information inference engine. (Please see Figure ??) Commonsense reasoning is the future work in our system. Figure 2: Architecture The Cocktail Ontology To be a good cocktail recommender. The first thing we need to have is the knowledge about cocktail. Cocktail is any of various alcoholic beverages consisting usually of brandy, whiskey, vodka, or gin combined with fruit juices or other liquors and often served chilled.2 For getting the characteristic of the cocktails, we classify cocktails and build up the ontology. For example,“Blue Hawaii”, which has a formal name and standard instructions to make, consists of light rum, pineapple juice, and curacao. So it can be classified to the class of Named-Cocktail. Named-Cocktail inherits from class Cocktail with the base wine properties. Furthermore, color and taste are the characteristics of cocktail. So “Blue Hawaii” is a named cocktail based on light rum with a flavor of light sweet and little sour. Besides colors, flavors and base wine, glass shape and alcohol volume are important issue of cocktail. Different shapes of glasses make different impressions on human beings. This is the reason why we use glass shape to classify cocktails. Alcohol volume is due to the ingredients of cocktail. It is reflected by mouth feel. 2 http://www.drinksmixer.com/guide/2-1.php
To construct the ontology of cocktail, we refer to some symbolic meaning(?). So the input of color can reflect the opularcommercialWebsitesuchaswww.wines.comtoemotionsofhumanAndwewillusethistohelptherecom get some basic classification. And we use Protege to con- struct the ontology ) A snapshot of the cocktail ontology From the user inputs to the recommended results, we have is show in Figure shown the inputs, ontology, and the reasoner. Now, it is time to give you the drinks 图山 Choose what ueu wart to drink..A Cocktail F IUiTN Sw ALeahat vomit t is Figure 3: A Part of the Ontology User Interface The inputs are including base wine, flavor, glass shape, al cohol volume and the scene(aura). We give seven base wines, which are beer, brandy, gin, rum, tequila, vodka, an whiskey. These are the most common wines using in the cocktail. Users can choose the wine which they have at that comment; users can also choose the one they want to have Figure 4: The Color Cocktail Interface try. Flavor depends on individual. It reflects the personal eference and mood. Girls may like a beverage with sweet and sour, but boys may not like sour very much. A man The system Color Cocktail is not a bartender robot to make drinks for you. But our goal is that people can easily use to be crossed in love is heartbroken, and therefore wants a the system and get information from it. As the result,when glass of bitter cocktail to reflect his sadness. The choice of system shows the recommended cocktails on the screen, glass shapes is similar to the choice of base wine. As for the detailed instructions and history about the cocktail will be ample, if you are going to drive, you' d better drink cocktail shown too. User can see the picture of the cocktail, try to make the cocktail himself and know more about the cock The input of scene and mood tricky. In tial design of this cocktail recommending system, we want to use a free drawer to let user daub. But we are still tr Reasoner ing to find out how to map a daub to mood. To approach Since our data set uses OWL for representing cocktail onto the problem, we choose color standing for personal mood ogy. RACER is the Dl reasoner used in the Color Cocktail and environmental aura. Color has long been used to de recommendation system. RACER is one of the fastest OWL cribe certain emotions and behavior I was so mad i all reasoner available. (? In ColorCocktail system, it is used could see was red, Dan is having a blue day,"Shes just as description logic reasoner for a query of recommended green with envy, or He's too yellow to ever stand up for cocktails. The Color Cocktail system takes the cocktail pref- mself. In these situations red is used to describe anger, erence from the user inputs. All of the preferences are used blue sadness, green envy, and yellow cowardliness s the input of the DL reasoner. In the whole process of DL we not only use them to describe how we feel, but the reasoning, the equivalent class describes the properties of ciation between color and emotion becomes interwoven into the cocktails according to the preferences is built on the run
To construct the ontology of cocktail, we refer to some popular commercial Web site such as www.wines.com to get some basic classification. And we use Protege to construct the ontology (?). A snapshot of the cocktail ontology is show in Figure ??. Figure 3: A Part of the Ontology User Interface The inputs are including base wine, flavor, glass shape, alcohol volume and the scene(aura). We give seven base wines, which are beer, brandy, gin, rum, tequila, vodka, and whiskey. These are the most common wines using in the cocktail. Users can choose the wine which they have at that comment; users can also choose the one they want to have a try. Flavor depends on individual. It reflects the personal preference and mood. Girls may like a beverage with sweet and sour, but boys may not like sour very much. A man to be crossed in love is heartbroken, and therefore wants a glass of bitter cocktail to reflect his sadness. The choice of glass shapes is similar to the choice of base wine. As for the alcohol volume, It depends on the user’s demand. For example, if you are going to drive, you’d better drink cocktail with non-alcohol. The input of scene and mood is a more tricky. In the initial design of this cocktail recommending system, we want to use a free drawer to let user daub. But we are still trying to find out how to map a daub to mood. To approach the problem, we choose color standing for personal mood and environmental aura. Color has long been used to describe certain emotions and behavior. ”I was so mad I all I could see was red”, ”Dan is having a blue day”, ”She’s just green with envy”, or ”He’s too yellow to ever stand up for himself”. In these situations red is used to describe anger, blue sadness, green envy, and yellow cowardliness. Ergo, we not only use them to describe how we feel, but the association between color and emotion becomes interwoven into symbolic meaning (?). So the input of color can reflect the emotions of human. And we will use this to help the recommendation. From the user inputs to the recommended results, we have shown the inputs, ontology, and the reasoner. Now, it is time to give you the drinks. Figure 4: The ColorCocktail Interface The system ColorCocktail is not a bartender robot to make drinks for you. But our goal is that people can easily use the system and get information from it. As the result, when system shows the recommended cocktails on the screen, detailed instructions and history about the cocktail will be shown too. User can see the picture of the cocktail, try to make the cocktail himself, and know more about the cocktail. Reasoner Since our data set uses OWL for representing cocktail ontology. RACER is the DL reasoner used in the ColorCocktail recommendation system. RACER is one of the fastest OWL reasoner available.(?) In ColorCocktail system, it is used as description logic reasoner for a query of recommended cocktails. The ColorCocktail system takes the cocktail preference from the user inputs. All of the preferences are used as the input of the DL reasoner. In the whole process of DL reasoning, the equivalent class describes the properties of the cocktails according to the preferences is built on the run
time first and then the reasoner does the taxonomy classifica- Acknowledgements tion to get the suitable cocktails from the data set The col First of all, the authors would like to express their thanks to orCocktail system takes the inferred instances of this equiva- the members of the Intelligent Agents Lab at National Tai- lent class as the final recommendation, presenting the image wan University. They have many made valuable suggestions and direction about recommended cocktails for a user for the design and implementation of the prototype system We use RACER as our DL reasoner, moreover, we want to This research is sponsored in part by a grant from Intel and add common sense(?)and use common sense reasoning to the National Science Council of Taiwan (NSC94-2218-E enhance the system. Due to the natural relationship between 002-057) emotion and common sense, we think that more complicated analysis can be done and the system should give a better result. This part of work is still on going. We may leave it Preliminary Results and Future Work fter the Color Cocktail system has been preliminary work ask people try to use the recommender in a free way. All of them feel very interesting in such kind of system. One of the user said that she would like to use it when having a party next time and she did not need to think everything need by herself without good suggestion. She thought that the recommender can save time for preparing the foods and drinks. Furthermore, she would want the system to know the foods that she would cook, then gave her some suggestion on the beverages, especially the cocktails. Another user told us that he was boring to wait the system result showing u The procedure of computing took too long time. He would prefer a more fast system with the closed result. The third user said that she was not familiar with wines and cocktails so she had no idea about the accuracy of the system. But she said that this system can gave her new choice of beverage when ship and some history of cocktails from the system, when she was going to drink something She could know the she could try to make some different order. From the study above, the pros and cons of the work is shown. Recommending cocktail for people is a good idea because of the lack of knowledge about the drink itself. peo- ple need suggestions in many situation; cocktail choice is a good application. In addition, the friendliness and easiness the basic requirements. Most users do not like a fancy looked system with complicated operation. So, we are trying to make a more intuitive user interface On the other hand. Color Cocktail still need to be im- proved. The processing time is the first issue. Users do not have patience to wait, so we need to control the procedure time. Color Cocktail takes too long time to give a recom- mend. We'd better reduce the computational time. Besides the named cocktails, there are still many excel lent cocktails without names. The kind of cocktails are pro- vided occasionally. Bartenders give customers the recom- mendation by both their cocktail knowledge and their expe rience. We want to add the experience to the Color Cocktail ystem. The experience representation is formal, eed commonsense reasoning to help us to convert user Use er can interact with the system intuitively. Also, commonsense rea- soning can be used in suggestion inference We want have more feed back about the system, hence we will put the work on Web. For catch the sight of people, terface will be enhanced. also ll try to make th stem more conveniently and intuitively
time first and then the reasoner does the taxonomy classification to get the suitable cocktails from the data set. The ColorCocktail system takes the inferred instances of this equivalent class as the final recommendation, presenting the image and direction about recommended cocktails for a user. We use RACER as our DL reasoner, moreover, we want to add common sense (?) and use common sense reasoning to enhance the system. Due to the natural relationship between emotion and common sense, we think that more complicated analysis can be done and the system should give a better result. This part of work is still on going. We may leave it as future work. Preliminary Results and Future Work After the ColorCocktail system has been preliminary work, we ask people try to use the recommender in a free way. All of them feel very interesting in such kind of system. One of the user said that she would like to use it when having a party next time and she did not need to think everything need by herself without good suggestion. She thought that the recommender can save time for preparing the foods and drinks. Furthermore, she would want the system to know the foods that she would cook, then gave her some suggestion on the beverages, especially the cocktails. Another user told us that he was boring to wait the system result showing up. The procedure of computing took too long time. He would prefer a more fast system with the closed result. The third user said that she was not familiar with wines and cocktails, so she had no idea about the accuracy of the system. But she said that this system can gave her new choice of beverage when she was going to drink something. She could know the relationship and some history of cocktails from the system, so she could try to make some different order. From the study above, the pros and cons of the work is shown. Recommending cocktail for people is a good idea because of the lack of knowledge about the drink itself. People need suggestions in many situation; cocktail choice is a good application. In addition, the friendliness and easiness are the basic requirements. Most users do not like a fancylooked system with complicated operation. So, we are trying to make a more intuitive user interface. On the other hand, ColorCocktail still need to be improved. The processing time is the first issue. Users do not have patience to wait, so we need to control the procedure time. ColorCocktail takes too long time to give a recommend. We’d better reduce the computational time. Besides the ‘named’ cocktails, there are still many excellent cocktails without names. The kind of cocktails are provided occasionally. Bartenders give customers the recommendation by both their cocktail knowledge and their experience. We want to add the experience to the ColorCocktail system. The experience representation is formal, so we need commonsense reasoning to help us to convert user. User can interact with the system intuitively. Also, commonsense reasoning can be used in suggestion inference. We want have more feed back about the system, hence we will put the work on Web. For catch the sight of people, interface will be enhanced. Also, we will try to make the system more conveniently and intuitively. Acknowledgements First of all, the authors would like to express their thanks to the members of the Intelligent Agents Lab at National Taiwan University. They have many made valuable suggestions for the design and implementation of the prototype system. This research is sponsored in part by a grant from Intel and the National Science Council of Taiwan (NSC94-2218-E- 002-057)