Ontological recommendation multi-agent for Tainan City travel

Ontological recommendation multi-agent for Tainan City travel

Expert Systems with Applications 36 (2009) 6740–6753 Contents lists available at ScienceDirect Expert Systems with Applications journal homepage: ww...

4MB Sizes 6 Downloads 59 Views

Expert Systems with Applications 36 (2009) 6740–6753

Contents lists available at ScienceDirect

Expert Systems with Applications journal homepage: www.elsevier.com/locate/eswa

Ontological recommendation multi-agent for Tainan City travel Chang-Shing Lee a,*, Young-Chung Chang b, Mei-Hui Wang a a b

Department of Computer Science and Information Engineering, National University of Tainan, 33, Section 2, Shu-Lin Street, Tainan 700, Taiwan Academia Sinica Grid Computing, Academia Sinica, Taipei, Taiwan

a r t i c l e

i n f o

Keywords: Ontology Agent Fuzzy inference Ant colony optimization City travel

a b s t r a c t Due to the gradual increase in travel, the travel agent plays an important role in both planning and recommending a personalized travel route. Tainan City, located in the southern Taiwan, is famous for its abundant historic sites and delicious snack food, and it has been one of the top tourist attractions in Taiwan for years. In this paper, we propose an ontological recommendation multi-agent for Tainan City travel. The core technologies of the agent contain the ontology model, fuzzy inference mechanism, and ant colony optimization. The proposed agent can recommend the tourist a personalized travel route to enjoy Tainan City according to the tourist’s requirements. It includes a context decision agent and a travel route recommendation agent. First, the context decision agent finds a suitable location distance, counts the context relation, and infers the context information based on the tourist’s requirements and Tainan City travel ontology. Next, the travel route recommendation agent is responsible for finding a personalized tour and plotting this travel route on the Google Map. Finally, the tourist can follow the personalized travel route to enjoy the cultural heritage and the local gourmet food during his stay at Tainan City. The experimental results show that the proposed approach can effectively recommend a travel route matched with the tourist’s requirements. Ó 2008 Elsevier Ltd. All rights reserved.

1. Introduction In recent years, due to the growing number of travelers, a wide range of information such as the tourist attractions and local gourmet food are posted on the Internet to appeal to the tourists. However, it is not easy for a tourist to search the information what exactly he really wants from a large amount of information available on the Internet. Because of this, if there is an agent to help with this heavy work, then it is sure both to reduce travel agency’s workload and to accelerate the speed of tourist’s getting the travel information. What the tourist or the travel agency only does is just to list his travel requirements. Later, the agent would recommend a route of travel to make the tourist enjoy his trip. Also, Tainan City is a city which features its abundant historic sites, cultures, delicious snack food, ecological environment, and heritage. Therefore, we combine Tainan City tourism with some core techniques like the ontology, fuzzy inference, and ant colony optimization to propose an ontological recommendation multi-agent for Tainan City travel. Ontology is a conceptualization of a domain into a human understandable, machine-readable format consisting of entities, attributes, relationships, and axioms (Tho, Hui, & Fong, 2006). It is also with the characteristic of the reusability, which makes it very attractive and powerful for representing domain knowledge (Francisco, Rodrigo, Leonardo, Jesualdo, & Dagoberto, 2006). The * Corresponding author. Tel.: +886 6 2602573. E-mail address: [email protected] (C.-S. Lee). 0957-4174/$ - see front matter Ó 2008 Elsevier Ltd. All rights reserved. doi:10.1016/j.eswa.2008.08.016

related applications of the ontology involve in many research fields. Alani et al. (2003) proposed the Artequakt that attempts to identify entity relationships using ontology relation declarations and lexical information to automatically extract knowledge about artists from the Web. Francisco et al. (2006) proposed an ontology-based recruitment system to provide intelligent matching between employer advertisements and the curriculum vitae of the candidates. Belmonte, Perez-de-la-Cruz, and Triguero (2008) developed a multi-agent decision support system for the bus fleet management domain. Maillot and Thonnat (2008) proposed an ontology-based cognitive vision approach for complex object recognition. Hubner, Spittel, Visser, and Vogele (2004) proposed an ontology-based search for interactive digital maps to develop the ontology for describing vocabularies and catalogues as well as search mechanisms for keywords with respect to their semantics. Lee et al. proposed a fuzzy ontology application to news summarization (Lee, Jian, & Huang, 2005), and an automated ontology construction for unstructured text documents (Lee, Kao, Kuo, & Wang, 2007). Ant colony optimization was introduced in the early 1990s as a novel technique for solving hard combinatorial optimization problems and inspired by the behavior of ants in finding paths from the colony to food (Dorigo, Birattari, & Stutzle, 2006). The algorithm for the ant colony optimization is stochastic search procedures to find good paths through graph (Dorigo & Blum, 2005). For the recent years, the research on the ant colony optimization has been spread widely to be critical components in many different applications.

C.-S. Lee et al. / Expert Systems with Applications 36 (2009) 6740–6753

Han and Shi (2007) proposed an improved colony algorithm for fuzzy clustering in image segmentation. Ho, Yang, Wong, Cheng, and Ni (2005) presented an improved continuous ant colony optimization algorithm to apply to electromagnetic devices designs. Fournier and Pierre (2005) proposed an ant colony optimization heuristic to solve the NP-Hard problem of the assignment of cells to switches in mobile networks. An agent represents a fundamental shift in the human–computer interaction paradigm. That is, an agent is a program that performs unique tasks without direct human supervision (Chen & Yen, 1996). In addition, an agent possesses skills; can offer service; is capable of perceiving its environment, or is driven by a set of tendencies (Ferber, 1999). An intelligent agent differs from an agent in part because of its ability to reason about a task and learn from task performance (Chen & Yen, 1996). Delen and Pratt (2006) designed and developed an intelligent decision support system for manufacturing. Ishida (2002) proposed a scenario description language for interactive agents. Soo, Lin, Yang, Lin, and Cheing (2006) presented a cooperative multi-agent platform to help industrial knowledge managers retrieve and analyze existing patent documents, and extract structured information from patents with the aid of ontology and natural language processing techniques. Lee, Jiang, and Hsieh (2006) proposed a genetic fuzzy agent using the ontology model for meeting scheduling system. In addition, Lee and Wang (2007) also proposed an ontology-based computational intelligent multi-agent to apply to Capability Maturity Model Integration (CMMI) assessment. In this paper, we propose an ontological recommendation multi-agent for Tainan City travel. First, based on Tainan City travel ontology predefined by domain experts, the context decision agent finds the concepts matched with the tourist’s requirement. Then, the ant colony optimization for semantic relation mechanism and the context relation computation mechanism implement the semantic relation and context relation with the tourist’s requirements, respectively. Next, the travel route recommendation agent carries out the fuzzy inference engine to infer the context information between the tourist’s requirements and all instances stored in the ontology. Then, the sorting mechanism sorts the context information and selects the top three matched historical sites and the top five matched local gourmet food stores to plan a personalized travel route as the tourist’s first-day tour at Tainan City. In addition, the Google-maps-based search mechanism plots these visited places on the Google Map. Finally, the tourist follows this recommended travel route to enjoy Tainan City’s tourist attractions and delicious snacks during his tour days. The remainder of this paper is structured as follows: Section 2 describes the structure of Tainan City travel ontology. Section 3 presents a context decision agent for implementing the semantic relation and context relation between the tourist’s requirements and predefined ontology. Section 4 presents a travel route recommendation agent to show a recommended travel route to the tourist on the Google Map. The experimental results are shown in Section 5. Finally, some conclusions are drawn in Section 6. 2. The structure of Tainan City travel ontology This paper proposes an ontological recommendation multiagent based on Tainan City travel ontology for planning a personalized travel route to visit Tainan City. The structure and definition of Tainan City travel ontology are briefly described below. 2.1. Ontology structure The domain ontology architecture adopted herein, including the domain layer, category layer, class layer and instance layer (Lee et al.,

6741

2007) is shown in Fig. 1. It adopts four types of inter-conceptual relations, namely the ‘‘generalization,” ‘‘association,” ‘‘aggregation,” and ‘‘Instance of.” The relationship between the domain layer and the category layer is ‘‘generalization.” The relationship between the category layer and the concept layer is ‘‘Aggregation.” The ‘‘association” relation denotes a semantic relationship among concepts in the concept layer and the instance layer. The relationship between the concept layer and the instance layer is ‘‘Instance of.” The domain layer represents the domain name of the ontology, and comprises various categories defined by domain experts. The category layer defines several categories, namely ‘‘category 1, category 2, category 3, . . ., category k.” Each concept in the concept layer, contains a concept name Ci , an attribute set fAC i 1 ; . . . ; AC i qi g, and an operation set fOC i 1 ; . . . ; OC i qi g for an application domain. The instance layer also comprises some instances represented the instances of the concepts in the concept layer. For example, concept I1 is an instance of the concept C1. 2.2. Tainan City travel ontology In this section, we describe a scenario for one application of this paper. Suppose that there is a foreign visitor who will attend an international conference held in Taiwan and then visit Tainan City after the conference. So, he is planning a trip to Tainan City, a southern Taiwan’s old city, for an upcoming journey. He wants to visit some popular tourist spots, taste some delicious local food, and buy some gifts for friends during travelling. Information about Tainan City’s tourism, therefore, is very important to him. First, he must surf the Tainan City Government’s official tourism Web site (http://tour.tncg.gov.tw/english/index.asp) to learn more about Tainan City. After that, he knows that there are six administrative ), the West districts at Tainan City, namely the East District ( ), the South District ( ), the North District Central District ( ), the Anping District ( ), and the Annan District ( ). He also knows that Tainan City is a city with an abundant ( and diverse historical background, which left it with a wealth of historic sites. According to the age of the historic sites, they are divided into three classes, namely the first-class, the second-class, and the third-class, where the first-class denotes the oldest building. Moreover, he even realizes that Tainan City is not only a culturally ancient city but also a place filled with different kinds of stores selling gifts and traditional food, including main course, snack, to cold drink & ice. In accordance with the popularity of each historic site and gourmet food, the Tainan City Government ranks each of them in four grades, that is, most popular, more popular, popular, or less popular grade. Table 1 shows the basic tourism information about Tainan City. This scenario is one of the applications under research and development of the proposed approach in this paper. If there is an agent with the knowledge of travelling Tainan City, then such kind of agent is able to do just like what the travel agent does to help us with Tainan City’s travel. But first, we need to construct the knowledge of Tainan City travel for this agent, which is represented in ontology. The design of the Tainan City ontology considers all the factors described above. Based on the domain ontology architecture, shown in Fig. 1, the ontology of Tainan City travel is built. Fig. 2 shows the architecture of Tainan City travel ontology. The domain name of this ontology is ‘‘Tainan City Travel.” The categories in the category layer include ‘‘Administrative District,” ‘‘Historic Site Class,” ‘‘Gourmet Food Type,” and ‘‘Rating Popularity Grade.” Each concept in the concept layer is with a concept name, an attribute set, and an operation set. For example, in the concept layer, concepts ‘‘East District,” ‘‘First-Class Historic Site,” ‘‘Main Course,” and ‘‘Most Popular” have the attribute set ‘‘{Location(1500,900)},” ‘‘{Location(1213,864.5)},” ‘‘{Location(1306,849.5)},” and ‘‘{Location(1192,866.75)},” respectively, where ‘‘Location” means the

6742

C.-S. Lee et al. / Expert Systems with Applications 36 (2009) 6740–6753 Generalization Aggregation Association

Domain

C : Concept

Instance of

Domain Layer

A : Attribute O : Operation

Category 1

Category 2

Category 3



Category k

C2

C1 AC 1 ,AC 2 ,…,AC q 1 1 11

A C 1 ,AC 2 ,…,AC2q2 2 2

OC1 1 ,OC11,…,OC1q1

OC21 ,OC2 1 ,…,OC2q2

Category Layer

C3 AC31,AC3 2,…,AC3q3 …

OC3 1,OC3 1,…,OC3q3

C5 C4 A C 1,AC 2,…,AC q 4 4 4 4

Cm

AC51 ,AC52,…,AC5q5

ACm1 ,ACm2,…,ACmqm

OC51 ,OC51,…,OC5q5

OC41,OC41,…,OC4q4



OCm1 ,OCm1,…,OCmqm

Concept Layer

I1

I2

I3

AI 11 ,AI1 2 ,…,AI1q1

AI 21 ,AI2 2 ,…,AI 2q2

AI 31 ,AI3 2 ,…,AI3q3

OI1 1 ,OI11,…,OI 1q1

OI 2 1 ,OI 2 1 ,…,OI 2q2



OI 3 1 ,OI 3 1 ,…,OI 3q3

I5 I4 AI41 ,AI42,…,AI4q4

Im

AI51 ,AI52,…,AI5q 5

AIm1 ,AI m2,…,AI mqm

OI 51 ,OI 51,…,OI5q5

OI41 ,OI41,…,OI4q 4



OIm1 ,OI m1,…,OI mqm

Instance Layer

Fig. 1. Domain ontology architecture.

Table 1 Tainan City’s basic information Item

Category

Administrative district Historic site class Gourmet food type Rating popularity grade

East district, West central district, South district, North district, Anping district, Annan district First-class, second-class, third-class Main course, snack, cold drink & ice, gift Most popular, more popular, popular, less popular

location of the concept on the ontology. Instance ‘‘City God Temple )” is an instance of concepts ‘‘West Central Dis( trict,” ‘‘Second-Class Historic Site,” and ‘‘More Popular.” Also, its attribute set is {Location(22.992,120.209)} and ‘‘Location” means this instance’s latitude and longitude. Table 2 shows the some of the instances stored in the ontology. 3. Context decision agent for Tainan City travel This section utilizes the predefined Tainan City travel ontology to perform the recommendation for the travel route to Tainan City. Fig. 3 displays the structure of the ontological recommendation multi-agent for Tainan City travel. There are two agents, including the context decision agent and the travel route recommendation agent, in the ontological recommendation multi-agent. First, the domain experts construct the

Tainan City travel ontology based on the Tainan City travel information. In addition, the location transfer mechanism also depends on the Tainan City travel information to create the value of the attribution location for the concepts stored in the ontology. The context decision agent retrieves the Tainan City travel ontology, receives the tourist’s requirements to find the matched concepts, then computes each instance’s semantic relation and context relation with the tourist’s requirements. Based on the output of the context decision agent, the travel route recommendation agent implements the fuzzy inference engine to infer the context information to get the tourist spots met with the tourist’s requirements. Next, it also sorts and selects the top three matched historic sites and the top five matched local gourmet food stores to be the visited places during the first-day tour. Then, the ant colony optimization for travel route finds the personalized travel route and the Googlemaps-based search mechanism plots the recommended travel route on the Google Map. Finally, the tourist is able to follow this recommended route to visit the historic sites and get a taste of the local gourmet food at Tainan City. The algorithm for the context decision agent is given as follows. Algorithm for Context Decision Agent BEGIN Input the tourist’s requirements set {R1,R2,...,RN}. Input the ontological concept set fC O1 ; C O2 ; . . . ; C OM g. Input the ontological instance set fIO1 ; IO2 ; . . . ; IOK g. Initialize a matched concepts set with tourist’s requirements MCTR = u.

C.-S. Lee et al. / Expert Systems with Applications 36 (2009) 6740–6753

Fig. 2. Architecture of Tainan City travel ontology.

Initialize a semantic relation set SRS = u. Initialize a context relation set CRS = u. Initialize i = 1 Initialize j = 1 DO UNTIL (i > N) DO UNTIL (j > M)

IF Ri matches with C Oj THEN Add C Oj to the MCTR set. END IF increment j END DO UNTIL increment i

6743

6744

C.-S. Lee et al. / Expert Systems with Applications 36 (2009) 6740–6753

Table 2 Instance examples of the Tainan City travel ontology No

Instance name

Category Administrative District

Historic site class

Rating popularity grade

Location

H1 H2 H3 H4 H5 H6 H7 H8 H9

) Anping Ford ( ) City God Temple ( ) Great East Gate ( ) Chihkanlou ( Sacrificial Rites Martial Temple ( ) Tainan Confucius Temple ( ) Erkunshen Fortress ( ) Haishan Hall ( Tait & Co.( )

Anping District West Central District East District West Central District West Central District West Central District Anping District Anping District Anping District

First-class Second-class Third-class First-class First-class First-class First-class Third-class Third-class

Most Popular More Popular More Popular Most Popular Most Popular Most Popular Most Popular More Popular More Popular

(23.000, 120.161) (22.992, 120.209) (22.986, 120.216) (22.997, 120.202) (22.996, 120.202) (22.997, 120.203) (22.987, 120.159) (23.001, 120.162) (23.003, 120.159)

F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15

Dusiaoyue Tantze Noodle Soup ( Yangs Superb Dumpings ( Anping Tongs Tofu Store ( Karasumi Dried Mullet Roe ( Rongs Good Farmer Rice Cake ( ) Aizaicheng ( Tainan Cai Milkfish Shop ( Yongtaishing Sweetmeats Store ( ) Jhous Shrimp Rolls ( Martial Temple Rice Cake ( Songcun Smoked Food ( ) Cyuande Spring Rolls ( ) Fushenghao ( ) Lilis Fruit Store ( Fonghuanghua Cake ( )

)

) ) ) ) ) ) ) ) )

Attribute

Administrative District

Gourmet food type

Rating popularity grade

West Central District West Central District Anping District Anping District South District West Central District West Central District Anping District Anping District West Central District West Central District West Central District West Central District West Central District Anping District

Main course Main course Cold drink & ICE Gift Main course Main course Main course Snack Snack Snack Snack Snack Snack Cold drink & ice Gift

Most Popular Most Popular Most Popular More Popular Popular Most Popular Most Popular Most Popular Most Popular Most Popular Most Popular Most Popular Most Popular Most Popular Most Popular

Tainan City Travel Information

Tainan City Travel Information

Location Transfer Mechanism Domain Expert

Fuzzy Rule Base

Fuzzy Inference Engine

Tainan City Travel Ontology

Ant Colony Optimization for Semantic Relation Mechanism

Context Relation Computation Mechanism

Travel at Tainan City Requirements

Finding Matched Concepts Mechanism

Context Decision Agent

Sorting Mechanism

Ant Colony Optimization for Travel Route Mechanism

(23.002, 120.197) (22.992, 120.209) (23.008, 120.157) (23.007, 120.176) (22.990, 120.172) (22.988, 120.195) (23.000, 120.198) (23.000, 120.163) (22.998, 120.183) (22.996, 120.201) (22.998, 120.203) (22.997, 120.198) (23.005, 120.199) (22.988, 120.204) (23.000, 120.161)

Tourist

Google-Maps-based Search Mechanism

Travel Route Recommendation Agent

Ontological Recommendation Multi-Agent for Tainan City Travel

Recommended Travel Route Repository

Fig. 3. Structure of the ontological recommendation multi-agent for Tainan City travel.

END DO UNTIL Initialize i = 1 Initialize j = 1 DO UNTIL (i > K) Initialize a matched concepts set with the ontology instances MCOI = u. DO UNTIL (j > M)

IF IOi matches with C Oj THEN Add C Oj to the MCOI set. END IF increment j END DO UNTIL Unite MCTR with MCOI to build a construction graph GC(V, E), where V is a set of vertices and E is a set of edges.

6745

C.-S. Lee et al. / Expert Systems with Applications 36 (2009) 6740–6753

0

100

200

300

400

500

600

700

800

900

1000

1100

1200 1300

1400 1500

1600 1700

1800 1900

900

1000

1100

1200

1300

1400

1500

1600

600

100 200

700

300

800

400 500

900 600

North District: (1400,700)

Annan District: (900,400) 700

1000

West Central District: (1300,850)

800

1100

900 1000

1200

1100

Anping District: (1000,900)

East District: (1500,900)

1200

First-Class Historic Site: (1213,864.5)

Second-Class Historic Site: (1285,736)

1300

South District: (1250,1150)

1300

Third-Class Historic Site: (1277,842)

1400

1400

900

1000

1100

1200

1300

1400

1500

900

1600

600

1000

1100

1200

1300

1400

1500

1600

600

More Popular Gourmet Food : (1275,860.5) More Popular Historic Site : (1210,814)

700

700

800

More Popular: (1242.5,837.25)

Less Popular Historic Site: (1340,790) Less Popular: (1340,790)

800

900

900 1000

1000 1100

1100 1200

Gift: (1141.5,926) Main Course: (1306.5,849.5) 1200

1300

Popular Historic Site: (1350,824)

Most Popular: (1192.5,866.75)

Snack: (1208.5,866.5) Cold Drink & Ice: (1245,844.5)

1300

Most Popular Historic Site: (1129,878.5)

Popular: (1272.25,864.75) Popular Gourmet Food: (1191.5,877.5)

Most Popular Gourmet Food: (1255,855)

1400

1400

Fig. 4. The location map for concepts belonging to category (a) Administrative District (b) Historic Site Class (c) Gourmet Food Type, (d) Rating Popularity Grade.

Find a suitable tour using the ant colony optimization process shown as Fig. 8. Calculate the location distance by Eqs. (2) and (3) to obtain the semantic relation SRIO between IOi and the tourist’s requirements. i Add SRIO to the SRS set. i Accumulate the number of concepts stored in the MCOI set to obtain the context relation CRIO between IOi and the tourist’s i requirements. Add CRIO to the CRS set. i increment i END DO UNTIL END The context decision agent contains a finding matched concepts mechanism, an ant colony optimization for semantic relation mechanism, and a context relation computation mechanism. In addition, a location transfer mechanism must be implemented to build the Tainan City travel ontology. Now, we describe each of them as below. 3.1. Location transfer mechanism The location transfer mechanism is now introduced. The main functions of this mechanism are to acquire the location value of

each concept. First, according to the geography of the Tainan City’s administrative districts, we set the location value of concepts ‘‘East District,” ‘‘West Central District,” ‘‘South District,” ‘‘North District,” ‘‘Anping District,” and ‘‘Anna District” to be (1500, 900), (1300, 850), (1250, 1150), (1400, 700), (1000, 900), and (900, 400), respectively. Fig. 4a–d shows the location map for concepts belonging to categories ‘‘Administrative District,” ‘‘Historic Site Class,” ‘‘Gourmet Food Type,” and ‘‘Rating Popularity Grade,” respectively. Fig. 5 shows the statistic results for the concepts of the ontology. For example, Fig. 5a provides the information about how many percent of the first-class, second-class, or third-class historic sites are located in the East District, West Central District, South District, North District, Anping District, and Annan District.Fig. 5b and c shows the statistics analysis in the percent of the gourmet food type and rating popularity grade, respectively. The distribution results contain 37 historic sites, six stores selling the local special gifts, and 58 restaurants including serving local main course, cold drink & ice, and snack. The location value x is generated by the value xi and its associated weight wi. Similarly, the location value y is generated by the value yi and its associated weight wi. Eq. (1) shows the formula for the location value,

6746

C.-S. Lee et al. / Expert Systems with Applications 36 (2009) 6740–6753

Fig. 5. The distribution of the (a) historic site class, (b) gourmet food type, and (c) rating popularity grade for each Tainan City’s administrative district.

8 N P > > > < x ¼ xi wi ; i¼1

N > P > > : y ¼ yi wi ;

ð1Þ

i¼1

where N denotes the number of concepts belonging to category ‘‘Administrative District,” xi denotes the value of x-axis for the ith concept of the category ‘‘Administrative District,” yi denotes the value of y-axis for the ith concept category ‘‘Administrative District,” and wi denotes the associated weight for the ith concept category ‘‘Administrative District.” The location for concept ‘‘Most Popular” is the mid-value between concepts ‘‘most popular historic site” and ‘‘most popular gourmet food.” The computing method for concepts ‘‘More Popular,” ‘‘Popular,” and ‘‘Less Popular,” is the same as concept ‘‘Most Popular.” 3.2. Finding matched concepts mechanism The finding matched concepts mechanism is responsible for finding the concepts matched with the tourist’s requirements. Fig. 6 is an example of how the matched concept is found. In addition, this mechanism is also charge of finding the concepts matched with the each instance stored in the ontology. Suppose that there is a scenario that a tourist wants to spend one-day visiting some ‘‘most popular” ‘‘first-class historic sites” and restaurants serving ‘‘main course” in Tainan City’s ‘‘West Central District.” Because of this, a set of concepts, including ‘‘Main Course,” ‘‘Most Popular,” ‘‘FirstClass Historic Site,” and ‘‘West Central District,” is regarded as the

matched concepts marked with a circle in Fig. 6. Take instance )” for exam‘‘Rongs Good Farmer Rice Cake ( ple. Located in the ‘‘South District” of Tainan City, this store serves some ‘‘popular” ‘‘snacks” such as rice cake. Therefore, the matched concepts for this instance are marked with a square and shown in Fig. 6. 3.3. Ant colony optimization for semantic relation mechanism The main function of the ant colony optimization for semantic relation mechanism is to find the semantic relation based on the found path of concepts between the ontology and tourist’s requirements. Now, an ant colony optimization for travelling salesman problem is applied to find the suitable tour among matched concepts stored in the ontology. The detailed introduction to an ant colony optimization for travelling salesman problem is described in Section 4. First, some parameters about the ant colony optimization are initialized, including the number of iterations N = 100, the total number of ants K = 10, determining the relative importance of pheromone versus distance parameter b = 2, pheromone decay parameter for global pheromone updating q = 0.1, pheromone decay parameter for local pheromone updating / = 0.1, and determining the relative importance of exploitation versus exploration parameter q0 = 0.9. In Fig. 6, the concepts marked with a circle are the ones which are matched with the tourist’s requirements. Located in ‘‘West Central District” of Tainan City, Chihkanlou ) is a ‘‘first-class historic site” and has been one of the ( ‘‘most popular” tourist spots. Therefore, the concepts matched with

6747

C.-S. Lee et al. / Expert Systems with Applications 36 (2009) 6740–6753

Second-Class Historic Site

First-Class Historic Site A: {Location(1213,864.5)}

Third-Class Historic Site

A: {Location(1285,736)}

A: {Location(1277,842)}

Less Popular

Annan District Popular

A: {Location: (900,400)}

Most Popular

A: {Location(1350,775)}

A: {Location(1254.75,862)}

A: { Location(1195,863.75)}

More Popular A: {Location(1231.5,843.5)}

North District A: {Location (1400,700)} West Central District

Snack

A: {Location: (1300,850)}

A: {Location: (1233,850.5)}

Anping District East District

A: {Location: (1000,900)}

A: {Location: (1500,900)} Main Course A: {Location: (1277.5,860.5)} South District Cold Drink & Ice

A: {Location: (1250,1150)}

A: {Location: (1216,856)}

Gift A: {Location: (1141.5,926)}

Fig. 6. Example of the ant colony optimization for semantic relation mechanism.

Table 3 Fuzzy rules of the fuzzy inference engine Rule no

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ðxr  xs Þ2 þ ðyr  ys Þ2 ; qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi M X LD ¼ ðxr  xs Þ2 þ ðyr  ys Þ2 ; dðr; sÞ ¼

Fuzzy variable Semantic relation (SR)

Context relation (CR)

Context information (CI)

VeryHigh VeryHigh VeryHigh High High High Medium Medium Medium Low Low Low VeryLow VeryLow VeryLow

High Medium Low High Medium Low High Medium Low High Medium Low High Medium Low

VeryHigh VeryHigh High VeryHigh High Medium High Medium Low Medium Low VeryLow Low VeryLow VeryLow

instance ‘‘Chihkanlou ( )” are the same as ones matched with the tourists requirements so that the formed graph is drawn with solid lines in Fig. 6. Then, the distance between each of concepts is computed by Eq. (2), and the location distance for this case is obtained by Eq. (3). If the instance is ‘‘Rongs Good Farmer Rice ),” then the built tour surround by Cake ( dotted lines is shown in Fig. 6. It indicates that the more the concepts not matched with the tourist’s requirements are, the longer the location distance is. When the longer the location distance is, the farther the semantic relation with the tourist’s requirements is. Therefore, when the shorter the location distance is, the more similar the instance is to the tourist’s requirements

ð2Þ ð3Þ

r¼1;s¼1

where LD denotes the location distance, d(r, s) is the distance between vertices r and s, and M is the number of vertices. 3.4. Context relation computation mechanism The context relation computation mechanism is to compute the context relation between the tourist‘s requirements and the instances stored in the ontology. If this instance is a historic site, then it has three context relations, including the located administrative district, the historic site class, and the rating popularity grade. On the other hand, if this instance is a restaurant serving famous dishes or a store selling special local gifts, the context relation contains the located administrative district, the gourmet food type, and the rating popularity grade. For example, if the tourist’s requirements include concepts ‘‘First-Class Historic Site,” ‘‘Anping District,” and ‘‘Most Popular,” then the number of context relation with in)” is 3 because ‘‘Anping Fort” is suistance ‘‘Anping Fort ( ted in the ‘‘Anping District” of Tainan City and one of the most popular first-class historic sites. 4. Travel route recommendation agent for Tainan City travel This section introduces the travel route recommendation agent, including a fuzzy rule base, a fuzzy inference engine, a sorting mechanism, an ant colony optimization for travel route mecha-

6748

C.-S. Lee et al. / Expert Systems with Applications 36 (2009) 6740–6753

If CIIO is a context information with Instances belonging to i ‘‘Gourmet Food” THEN Add CIIO to the CISGF i END IF increment i END DO UNTIL Initialize i = 1 DO UNTIL (i > K) Sort CISHS set in an ascending order and obtain HS HS CISHS = {CIHS IO1 ; CI IO ;    ; CI IOM }. 2 Sort CISGF in an ascending order and obtain GF GF CISGF = {CIGF IO1 ; CI IO ; . . . ; CI ION }.

nism, and a Google-maps-based search mechanism. The travel route recommendation agent receives the results from the context decision agent and infers the context information. Then, the agent sorts the matched instances to generate a recommended travel route. Finally, this agent displays this personalized travel route on the Google Map to the tourist, and stores it to the recommended travel route repository. The algorithm for the travel route recommendation agent is given as below. Algorithm for Travel Route Recommendation Agent BEGIN Input the semantic relation set SRS = {SRIO1 ; SRIO2 ; . . . ; SRIOK }. Input the context relation set CRS = {CRIO1 ; CRIO2 ; . . . ; CRIOK }. Initialize the context information set CIS = u. Initialize i = 1 DO UNTIL (i > K) Infer the context information CIIO between SRIOi and CRIOi by i the fuzzy inference engine. Add CIIO to CIS set. i increment i END DO UNTIL Initialize the context information for the historic site set CISHS = u. Initialize the context information for the gourmet food set CISGF = u. Initialize i = 1 DO UNTIL (i > K) If CIIO is a context information with Instances belonging to i ‘‘Historic Site” THEN Add CIIO to the CISHS i END IF

2

where M + N = K increment i END DO UNTIL Select the historic sites with the top three high CI and obtain historic site set HSS = {HS1, HS2, HS3}. Select the gourmet food with the top five high CI and obtain gourmet food set GFS = {GF1, GF2, . . ., GF5}. Unite HSS with GFS to build a construction graph GC(V, E), where V is a set of vertices and E is a set of edges. Find the suitable tour using the ant colony optimization process shown as Fig. 8 to be the first-day recommended tour. Call the Google-maps-based search mechanism to plot the first-day recommended route on the Goggle Map. END

4.1. Fuzzy inference engine In this section, the fuzzy inference engine (Lee & Wang, 2007) is introduced. Herein, the results of the context decision agent are

Membership Degree

Membership Degree

1

SR_VeryHigh

SR_High

SR_Medium

SR_Low

Mean

Mean+50

1

SR_VeryLow

0

CR_Medium

CR_Low

CR_High

0 Mean-100

Mean-50

Mean+100

1

Location Distance

2

3

Context Relation

Membership Degree

1

CI_VeryLow

CI_Low

CI_Medium

CI_High

CI_VeryHigh

0 0.2

0.4

0.6

0.8

1

Context Information

Fig. 7. Membership functions of the fuzzy variables: (a) semantic relation (SR), (b) context relation (CR), and (c) context information (CI).

6749

C.-S. Lee et al. / Expert Systems with Applications 36 (2009) 6740–6753

Initialize the parameters

Mean + 100, Mean + 100). The semantic relation represents the semantic relation between the tourist’s requirements and instances stored in the ontology. In Fig. 7a, the value of Mean is selected as the threshold value for determining the membership function for fuzzy variable SR. The Mean represents the value that averages the location distance of all instances stored in the ontology. But, the instances are divided into two categories, historic sites and gourmet food, so each category has its own Mean value. Fig. 7b shows the membership functions for fuzzy sets CR_Low(x: 0, 0, 1, 2), CR_Medium(x: 1, 2, 2, 3), and CR_High(x: 2, 3, 3, 3). Fig. 7c displays the membership functions for fuzzy sets CI_VeryLow(x: 0, 0, 0, 0.4), CI_Low(x: 0.2, 0.4, 0.4, 0.6), CI_Medium(x: 0.4, 0.6, 0.6, 0.8), CI_High(x: 0.6, 0.8, 0.8, 1), and CI_VeryHigh(x: 0.8, 1, 1, 1). If the value of CI is high, then the membership degree for the CI similarity is high. The algorithm for the fuzzy inference engine is given as follows:

Begin

Lay equal pheromone on each path Each ant k positioned on node r chooses the city s to move by Eqs. (5) and (6)

No

Ant k visits all cities? Yes Update local pheromone By Eq. (7)

No

All ants K have visited all cities at this iteration? Yes Update global pheromone by Eq. (8)

No

Yes

Reach the number of iterations N?

Stop

Note: K is the total number of the ants N is the number of iterations Fig. 8. Process of the ant colony optimization for travelling salesman problem.

adopted to infer the context information between the tourist’s requirements and each instance stored in the ontology. Table 3 shows the fuzzy rules predefined by domain experts. A trapezoidal membership function for fuzzy set FS specified by four parameters FS(x: a,b,c,d) is given in the following equation

8 0 > > > > > > ðx  aÞ=ðb  aÞ > < FSðx : a; b; c; dÞ ¼ 1 > > > ðd  xÞ=ðd  cÞ > > > > : 0

x < a; a 6 x < b; b 6 x 6 c;

ð4Þ

c < x 6 d; x > d:

The linguistic terms of input fuzzy variable SR are VeryHigh, High, Medium, Low, and VeryLow. Fig. 7a shows the membership functions for fuzzy sets SR_VeryHigh(x: 0, 0, Mean  100, Mean  50), SR_High(x: Mean  100, Mean  50, Mean  50, Mean), SR_Medium(x: Mean  50, Mean, Mean, Mean + 50), SR_Low(x: Mean, Mean + 50, Mean + 50, Mean + 100), and SR_VeryLow(x: Mean + 50, Mean + 100,

Algorithm for Fuzzy Inference Engine BEGIN Input the semantic relation set SRS = fSRIO1 ; SRIO2 ; . . . ; SRIOK g. Input the context relation set CRS = fCRIO1 ; CRIO2 ; . . . ; CRIOK g. Input fuzzy set Ain = {SR_VeryLow, SR_Low, SR_Medium, SR_High, SR_VeryHigh, CR_Low, CR_Medium, CR_High} CI_Low, CI_Medium, CI_High, Aout = {CI_VeryLow, CI_VeryHigh} Input fuzzy inference rules set FIR = {Rule 1, Rule 2, ..., Rule L} Initialize i = 1 DO UNTIL (i > K) Initialize j = 1 DO UNTIL (j > N) Let Xij = (Vij-SR, Vij-CR), where Vij-SR and Vij-CR are the semantic relation and the context relation between the tourist requirements and IO1 , respectively. Initialize l = 1 DO UNTIL (l > L) Calculate the matching degree of the Rule k by lij l ¼ MINðlAin ðX ij Þ Þ Calculate the center of area of the Rule l by yAout ij l ¼ COAðlij l Þ increment k END DO UNTIL Initialize p = 1 DO UNTIL (p > P) Calculate the membership values of Xij to the fuzzy classes Fij_p by yij p ¼ MAXðyAout ij l Þ where Fij_p means the fuzzy class for all of fuzzy rules. Each fuzzy class is an aggregation of the fired rules that have the same consequences. increment p END DO UNTIL P P CIij ¼ Pp¼1 wij p yij p = Pp¼1 wij p , where wij_p means the weight for yij_p. increment j

Table 4 The detailed travel requirements for tourists Tourist no

Tour day

Rating popularity grade

Administrative district

Historic site class

Gourmet food type

1

One-day

Most Popular

West Central District

First-class

2

Two-day

Most Popular

North District West Central District Anping District

First-class Second-Class Third-class

Main course Cold drink & ice Main course Snack Cold drink & ice Gift

6750

C.-S. Lee et al. / Expert Systems with Applications 36 (2009) 6740–6753

Fig. 9. Information about the first tourist’s (a) travel requirements, (b) matched historic sites and gourmet food, and (c) recommended travel route to Tainan City.

END DO UNTIL increment i END DO UNTIL END

4.2. Sorting mechanism The function of the sorting mechanism is to sort the context information between the tourist’s requirements and the ontology

6751

C.-S. Lee et al. / Expert Systems with Applications 36 (2009) 6740–6753

Fig. 10. Information about the second tourist’s (a) travel requirements, (b) matched historic sites and gourmet food, (c) first-day, and (d) second-day recommended travel route to Tainan City.

in a descending order. Next, according to the tourist’s selected tour days, the sorting mechanism chooses the top three matched historic sites and the top five matched gourmet food as the visited places during first-day stay at Tainan City. In addition, if this tourist wants to stay at Tainan City more than one-day, then the sorting mechanism chooses the next three matched historic sites and next five matched gourmet food to be the next-day travel schedule.

tours. A local pheromone updating rule is applied while ants construct a solution and is calculated by Eq. (7). A global pheromone updating rule is applied only to edges which belong to the best tour and is given by Eq. (8)



8 < arg max f½sðr; uÞ  ½gðr; uÞb g; if q 6 q0 ðExploitation RuleÞ; :

u2J k ðrÞ

S;

otherwise ðExploration RuleÞ; ð5Þ

4.3. Ant colony optimization for travel route mechanism An ant colony system is introduced in this subsection. In this system, a set of cooperating agents called ants search in parallel for good solutions to the travelling salesman problem and cooperate through pheromone-mediated indirect and global communication (Dorigo & Gambardella, 1997). The main process of the ant colony system is shown in Fig. 8. The state transition rule which means an ant positioned on node r chooses the city s to move is followed the exploitation of a prior and accumulated knowledge about the problem or the exploration of new edges. The applied rule is given by Eqs. (5) and (6). In addition, the pheromone deposited by ants evaporates with time, so there are two pheromone update rules to allocate a greater amount of pheromone to shorter

where g(r, u) = 1/d(r, u), d(r, u) is the distance between cities r and u , Jk(r) is the set of cities that remained to be visited by ant k positioned on city r, b is a parameter which determines the relative importance of pheromone versus distance and is over zero, q is a random number uniformly distributed in [0, 1], q0 ranging from 0 to 1 is a parameter determining the relative importance of exploitation versus exploration, s(r, u) is the amount of pheromone on edge (r, u), and S is a random variable selected according to the probability distribution given in the following equation:

pk ðr; sÞ ¼

8 b < P ½sðr;sÞ½gðr;sÞ :

u2Jk ðrÞ

0;

½sðr;uÞ½gðr;uÞb

; if s 2 J k ðrÞ; otherwise;

ð6Þ

6752

C.-S. Lee et al. / Expert Systems with Applications 36 (2009) 6740–6753

Fig. 10 (continued)

where pk(r, s) denotes the probability with which ant k in city r chooses to move to the city s and s is the pheromone

sðr; sÞ

ð1  uÞ  sðr; sÞ þ u  Dsk ðr; sÞ;

ð7Þ

where Dsk(r, s) = s0, / is a pheromone decay parameter between 0 and 1, and s0 is the initial pheromone concentration

sðr; sÞ

ð1  qÞ  sðr; sÞ þ q  Dsk ðr; sÞ; 

1 Lgb

ð8Þ

ifðr; sÞ 2 global-best-tour; ; (ii) q is a where (i) Dsk ðr; sÞ ¼ 0; otherwise pheromone decay parameter between 0 and 1; and (iii) Lgb is the length of the globally best tour from the beginning of the trial.

The ant colony optimization for travelling salesman problem is applied to plan a recommended travel route based on the matched tourist spots. Every matched historic site and gourmet food has a location attribute which stores its geographical coordinates, that is, longitude and latitude values. By following the process shown in Fig. 8, a personalized travel route is recommended and displayed to the tourist. 4.4. Google-maps-based search mechanism

;

The Google Maps API is embedded in the Google-maps-based search mechanism. The main task of this mechanism is to plot the recommend travel route on the Google Map. In this way, some

C.-S. Lee et al. / Expert Systems with Applications 36 (2009) 6740–6753

directions, interactive maps, and satellite imagery of the recommended route can be provided for the tourist, which makes it easier for the tourist to understand his travel schedule and have a fun on his journey to Tainan City. 5. Experimental results We have constructed an experimental Web site at National University of Tainan to test the performance the proposed approach (http://140.133.13.43:8080/UDOEAT_En/index.html). The experimental information comes from Tainan City’s government tourism Web site, including 37 historic sites, 6 stores selling the local special gifts to friends, and 58 restaurants serving local main course, cold drink & ice, and snack. Suppose that one tourist wants to visit some of the ‘‘West Central District’s” ‘‘most popular” ‘‘first-class historic sites” and taste some of the ‘‘West Central District’s” ‘‘most popular” ‘‘gourmet food” for his one-day tour at Tainan City. The detailed information about this tourist’s travel requirements are listed in Table 4. Then, the built Web site is allowed the tourist to set up his requirements shown in Fig. 9a. The places matched with the tourist’s requirements are listed in Fig. 9b. The recommend travel route for the one-day tour to Tainan City is shown in Fig. 9c and the detailed information for each tourist spot marked with a label is listed in Table 2. Fig. 9c indicates that the proposed agent recommends that the tourist can follow below route to spend his time visiting some historic sites and tasting some local traditional food at Tainan City. ) ? Lilis Fruit Store Yangs Superb Dumplings ( ) ? Tainan Confucius Temple ( ) ? Dusiaoyue ( ) ? Sacrificial Rites Martial TemTantze Noodle Soup ( ) ? Chihkanlou ( ) ? Tainan Cai Milkfish Shop ple ( ) ? AizaiCheng ( ). ( In the second experiment, we suppose that another tourist wants to spend two-days travelling Tainan City and the detailed information is listed in Table 4. Fig. 10a shows the second tourist’s requirements. Fig. 10b shows the recommend places in which to appreciate the brilliant culture and historical heritage of Tainan City as well as to enjoy the local traditional food. Fig. 10c and d shows the recommended travel route for the first-day tour and the second-day tour, respectively. The detailed information for each tourist spot marked with a label in Fig. 10c and d is listed in Table 2. The directions on two-day travel route are as follows: ) ? Chihkanlou ( ) ? CyuLilis Fruits Store ( ) ? Fushenghao ( ) ? Fonande Spring Rolls ( ) ? Anping Fort ( )? ghuanghua Cake ( ) ? Erkunshen Fortress Anping Tongs Tofu Store ( ). ( ) ? Tainan Confucius Yangs Superb Dumpings ( ) ? Martial Temple Rice Cake ( ) ? SongTemple ( ) ? Jhous Shrimp Rolls ( )? cun Smoked Food ( ) ? Haishan Hall YongTaishiung Sweetmeats Store ( ) ? Tait & Co. ( ). ( 6. Conclusion The ontological recommendation multi-agent for Tainan City travel, including a context decision agent and a travel route recommendation agent, is presented in this paper. The proposed agent can recommend the tourist a personalized travel route to enjoy Tainan City according to the tourist’s requirements. The context decision agent finds the matched concepts, uses the ant colony optimization to get the semantic relation, and counts the context relation between the tourist’s requirements and each instance stored in the ontology. The travel route recommendation

6753

agent infers the context information based on the output of the context decision agent. In addition, it is also responsible for finding a suitable tour and plotting this travel route on the Google map. Hence, the tourist can follow the suggested personalized travel route to enjoy the cultural heritage and the local gourmet food during his stay at Tainan City. The experimental results show that the proposed agent can recommend a personalized travel route to the tourist. In the future, we will combine our approach to Web 2.0 technology and add various the machine learning mechanisms to the intelligent agent. In addition, the ontology learning issue will be further considered and implemented to enhance the robustness of the ontology model. Moreover, the domain ontology for Tainan City travel can be applied to other cities or fields. Acknowledgement The authors would like to thank the partially support sponsored by the National Science Council of Taiwan under the grant NSC952221-E-024-009-MY2 and NSC97-2221-E-024-011-MY2.

References Alani, H., Kim, S., Millard, D. E., Weal, M. J., Hall, W., Lewis, P. H., et al. (2003). Automatic ontology-based knowledge extraction from web documents. IEEE Intelligent System, 18(1), 14–21. Belmonte, M. V., Perez-de-la-Cruz, J. L., & Triguero, F. (2008). Ontologies and agents for a bus fleet management system. Expert Systems with Applications, 34(2), 1351–1365. Chen, H., & Yen, J. (1996). Toward intelligent meeting agents. IEEE Computer, 29(8), 62–70. Dorigo, M., Birattari, M., & Stutzle, T. (2006). Ant colony optimization: Artificial ants as a computational intelligence technique. IEEE Computational Intelligence, 1(4), 28–39. Dorigo, M., & Blum, C. (2005). Ant colony optimization theory: A survey. Theoretical Computer Science, 344(2–3), 243–278. Dorigo, M., & Gambardella, L. M. (1997). Ant colony system: A cooperative learning approach to the traveling salesman problem. IEEE Transactions on Evolutionary Computation, 1(1), 53–66. Delen, D., & Pratt, B. (2006). An integrated and intelligent DSS for manufacturing system. Expert Systems with Applications, 30(2), 325–336. Francisco, G. S., Rodrigo, M. B., Leonardo, C., Jesualdo, T. F. B., & Dagoberto, C. N. (2006). An ontology-based intelligent system for recruitment. Expert Systems with Applications, 31(2), 248–263. Ferber, J. (1999). Multi-agent systems. New York: Addison-Wesley. Fournier, J. R. L., & Pierre, S. (2005). Assigning cells to switches in mobile networks using an ant colony optimization heuristic. Computer Communications, 28(1), 65–73. Hubner, S., Spittel, R., Visser, U., & Vogele, T. J. (2004). Ontology-based search for interactive digital maps. Intelligent Systems, 19(3), 80–86. Han, Y., & Shi, P. (2007). An improved ant colony algorithm for fuzzy clustering in image segmentation. Neurocomputing, 70(4–6), 665–671. Ho, S. L., Yang, S., Wong, H. C., Cheng, K. W. E., & Ni, G. (2005). An improved an colony optimization algorithm and its application to electromagnetic devices designs. IEEE Transactions on Magnetics, 41(5), 1746–1767. Ishida, T. (2002). Q: A scenario description language for interactive agents. Computer, 35(11), 27–42. Lee, C. S., Jian, Z. W., & Huang, L. K. (2005). A fuzzy ontology and its application to news summarization. IEEE Transactions on Systems, Man, and Cybernetics, Part B: Cybernetics, 35(5), 859–880. Lee, C. S., Jiang, C. C., & Hsieh, T. C. (2006). A genetic fuzzy agent using ontology model for meeting scheduling system. Information Sciences, 176(9), 1131–1155. Lee, C. S., Kao, Y. F., Kuo, Y. H., & Wang, M. H. (2007). Automated ontology construction for unstructured text documents. Data & Knowledge Engineering, 60(3), 547–566. Lee, C. S. & Wang, M. H. (2007). Ontology-based computational intelligent multiagent and its application to CMMI assessment. Applied Intelligence. doi:10.1007/ s10489-007-0071-1. Maillot, N. E., & Thonnat, M. (2008). Ontology based complex object recognition. Image and Vision Computing, 26(1), 102–113. Soo, V. W., Lin, S. Y., Yang, S. Y., Lin, S. N., & Cheing, S. L. (2006). A cooperative multiagent platform for invention based on patent document analysis and ontology. Expert Systems with Applications, 31(4), 766–775. Tho, Q. T., Hui, S. C., & Fong, A. C. M. (2006). Automatic fuzzy ontology generation for semantic web. IEEE Transactions on Knowledge and Data Engineering, 18(6), 842–856.