# Personalized Augmented Reality Based Tourism System: Big Data and User Demographic Contexts
## 5 System Development
### The System Implementation  
In order to develop the system, WEKA software was used to classify the users, and Java and Android programming languages were used to implement the system. The use of classification algorithms reduced the questions from the users and made the system smarter. The implementation process of this system is shown in Figure 6. Figure 6 shows that after the data were collected and stored in the database, the preprocessing of the data takes place. In this study, these places were classified into three categories, which were based on the score given by the users to the tourist places. From the places that were designated as tourist places, four places, which included parks, restaurants, museums, and cafes, were selected, and the remaining items did not enter into the processing step due to the few data collected. The users' education was also coded from A to I for ease of the tree's performance, which is explained in Table 1.  
Figure 5: Spatial distribution of the data. Figure 6: The implementation processes. In order to apply the classification algorithms on the two algorithms, the DT and SVM methods were used for this purpose. In order to implement the DT and the SVM, three columns of collected data, which included the user type, age, and the education level of the user, were entered into WEKA software. The gender column was used as a restriction in this study, and it prevented the suggestion of tourist places that have gender restrictions regarding the users. In order to identify the tourists' favorite places, the score column was used, and places with a score of higher than 7 entered the classification stage. The data process was conducted using a J4.5 (C4.5) data mining tool and the SVM method in WEKA software. In this study, 90% of the data were considered as training data, and 10% of the data were considered as testing data. In order to determine the root of the tree in the DT method, the Entropy and Information gain indices were used. In this study, the value of the Entropy for the available data was 0.926, and the values of the Information Gain for education and age were 2.13 and 1.05. Due to the higher value of the portion of information in the education factor, this option was placed as the root in the DT. After the classification algorithms are executed, the database data are classified and the rules are extracted accordingly. Figure 7 shows these rules. In the figure, the data are classified according to the type of tourist place, and it shows what places are visited more by people with different contexts. After classifying the data, the rules and the information extracted are stored in the database. The next step is related to the reference of the user to the system, which is shown in Figure 8a, when the user sends a request to the system. In this step, the user context is received by the system. Some of these contexts are received directly without the need of a user response, such as the request time and the user's geographical location. In addition, a number of contexts require a user response, such as age, gender, education level, and a search radius. After entering his or her information, the user can send the request to the system using two ways, which is illustrated in Figure 8b. The user request procedure is shown in Figure 9. After sending the user request, the system receives the required contexts, which includes the user's position, time, and the user's context as age, gender, and level of education, and it then sends them to the server. The server receives the information from the system, and it determines the most suitable type of tourist place, as shown in Figure 10, according to the user's contexts and the rules obtained from the machine learning method (DT). Figure 7: The result of the DT. Figure 8: (**a**) The system home page and (**b**) an example of the information filled in for the system. Figure 9: The user request and the server response for the VIKOR-SWARA method. In the next step, the server needs to choose the best one among the locations in a POI type.