This is normal text
ABSTRACT
With the advancement in technology in the filed of e-commerce, the problem with information overload has been at its peak. Thus there should be some cognitive solution to the problem at hand. The first and foremost solution to this problem would be a ‘recommender system’, which is information filtering technique aimed at presenting the user with the most viable options based on certain reference characteristics. These characteristics are learnt from either explicit or implicit feedback provided by the user. But, past experiences show that that only a few numbers of users provide explicit feedback. The current ‘Flight Reservation using recommendation system’ uses implicit feedback to overcome the problem.
Flight reservation systems have been implemented for years, basically from manual to computerized reservation system. The demand for fast and secure online Flight reservation systems has been increasing day by day. The effective use of the latest technology is the backbone for the design of a good system. The main objective of the project is to provide the user with desired selection options, real-time information and recommend the user of an itinerary that best fits his preferences, based on his previous purchases. The preferences are stored as a case base for future personalized recommendations.
TABLE OF CONTENTS
LIST OF FIGURES 5
LIST OF TABLES 6
ACKNOWLEDGEMENTS 7
1. INTRODUCTION 8
1.1 THE FLIGHT RECOMMENDATION CLIENT 8
1.2 IMPLICIT FEEDBACK AND FEATURE WEIGHTING 9
1.2.1 IMPLICIT FEEDBACK 9
1.2.2 FEATURE WEIGHTING 9
1.3 FEATURES OF THE SYSTEM 9
1.4 INTENDED AUDIENCE 10
1.5 OVERALL STRUCTURE 10
2. RELATED WORK 11
2.1 OTHER APPROACHES 11
2.2 COMPARISON WITH EXISTING METHODS 11
3. FLIGHT RECOMMENDATION ALGORITHM 12
Pre conditions: 12
Post condition: 12
Algorithm: 12
Calculating the identities for the itinerary i. 12
Conclusion: 14
4. IMPLEMENTATION 15
4.1 SYSTEM ARCHITECTURE 15
Figure 4.1 – system architecture 15
4.2 TECNOLOGIES USED 17
4.2.1 Microsoft Visual 17
4.2.2 17
4.2.3 SQL Server 2000 18
4.2.4 JavaScript 18
4.2.5 Microsoft Visio 18
4.2.6 Visual Paradigm 6.0 for UML 19
4.3 DATABASE SCHEMA 19
Figure 4.2: tblUserType 19
Figure 4.3: tblUser 19
Figure 4.4: tblAirways 20
Figure 4.5: tblAirport 20
Figure 4.6: tblFlightCodes 20
Figure 4.7: tblduration 21
Figure 4.8: tblitinerary 21
Figure 4.9: tblFlightDetails 22
Figure 4.10: tblTempPrefData 22
Figure 4.11: tblPreferences 23
Figure 4.12: tblToTempResults 24
Figure 4.13: tblFroTempResults 24
Figure 4.14 – DATABASE SCHEMA 26
spGetSearchResults 27
spGetPurchases 27
4.4 MODULES 27
4.4.1 Search for flights 27
4.4.2 Get the results 28
4.4.3 Login/Confirm 28
4.4.4 View Purchase History 29
4.5 FLOW CONTROL 29
4.5.1 User Flow Control 29
Figure 4.15 – User flow control 30
4.6 DESIGN 30
4.6.1 USE CASE DIAGRAMS 30
Figure 4.16 – User side Use Case Diagram 31
4.6.2 ACTIVITY DIAGRAMS 31
Figure 4.17 – Activity Diagram (Search for flight) 32
Figure 4.18 – Activity Diagram (View Purchases) 33
4.6.3 CLASS DIAGRAM 33
Figure 4.19 – Class Diagram 33
4.6.4 SEQUENCE DIAGRAM 34
Figure 4.20 – User Sequence Diagram 34
Figure 21 – User Sequence Diagram 2 35
Figure 4.22 – User Sequence Diagram 3 36
4.7 SCREEN SHOTS 36
Figure 4.23 – Search Page 37
Figure 4.24 – Results Page 38
Figure 4.25 – Login Page 39
Figure 4.26 – Confirm Page 40
5. TESTING 41
5.1 ANTS LOAD 41
5.1.1 Testing using ANTS Load 41
Features 41
5.1.2 ANAYLSIS 41
Figure 5.1 – Results 42
Figure 5.2 – Time to Connect 42
Figure 5.3 – Time to get First Byte 44
Figure 5.4 – Time to get Last Byte 45
Figure 5.5 – Bytes Received 46
5.1.3 RESULTS 46
5.2 Unit Testing 46
5.2.1 Unit Testing Using Unite .NET 47
Figure 5.6 – Test Results 47
Table 5.1 – Test Case Results 48
5.2.2 ANALYSIS OF RESULTS 49
6. FUTURE WORK 50
6.1 EXTENSIONS 50
7. CONCLUSION 51
References And/Or Bibliography 52
LIST OF FIGURES
Error! No table of figures entries found.
LIST OF TABLES
Error! No table of figures entries found.
ACKNOWLEDGEMENTS
I would like to thank my major professor, Dr. Daniel Andresen, for his valuable guidance and encouragement throughout this project.
I would also like to thank Dr. Scott Deloach and Dr. Neilsen for serving on my committee and for their valuable suggestions.
I would like to give my word of thanks to Mrs. Doina for her generous support and invaluable guidance with my project.
Finally, I would like to thank my family for their love and support. I’m grateful to them for the confidence they had in me that I would prosper in my education in the US.
1. INTRODUCTION
The problem of information overload occurs when the user is provided with too many options to choose from, most of which may not be what the user is looking for. Hence an effective system would capture the user preferences from his previous purchase history and use the same in recommending one on his next visit.
The user preferences are stored every time he makes a purchase. Explicit feedback from the user could be one way of collecting these preferences. But, explicit feedback often times may not be as effective, as it may result in boring the user and hence increasing the user’s frustration level. But one way of working around this problem would be to collect implicit feedback from the user by mining for information from the data stored in the user profile.
The aim of this project is to use the .net framework in effectively creating an online flight reservation system that provides the user with a friendly interface and is fast and secure. The key aspect of the system being the ability to recommend the user, the itineraries that best fit his selection, based on his purchase history. The system takes in the user input and generates a list of itineraries that the user is free to select from depending on his personal preference. The input essentially contains the source, destination, and date of departure of journey. The inputs required are strongly imposed by validating the required fields, which ensures the user selections are correct and prompt. A sorted list of recommended results is then displayed dynamically by searching the database for the entries that meet the input criterion. The system is developed using with and SQL SERVER 2000.
1.1 THE FLIGHT RECOMMENDATION CLIENT
The Flight recommendation client (FRC) is a recommender system that searches for multiple airlines concurrently for flights on behalf of the user. It has a good web interface the enables the user to search for flights. The FRC takes in the user input and generates a set of itineraries that meet the input criterion. The result set usually consists of a significant amount of flights. The user might get overwhelmed by the large number of choices. Hence a recommender system is incorporated the sorts out the results set based on the user’s purchase history. To make accurate recommendations, the FRC should be able to learn the user preferences. So, the system stores information about the user preferences, every time a purchases is made. It uses the stored preferences as the sort criterion in the recommendation process. The FRC uses the feature weighting technique.
1.2 IMPLICIT FEEDBACK AND FEATURE WEIGHTING
1.2.1 IMPLICIT FEEDBACK
If the FRC is to make successful flight recommendations to a user, it must have a grasp of that user's travel preferences. One of the problems with e-commerce in general is that users tend to get bored or frustrated easily, therefore a successful recommender should be able to learn preferences while minimizing the cognitive load placed on the user. Thus implicit feedback is associated with gathering the feedback from the user, without the user having to provide any explicit feedback. Explicitly gathered feedback is associated with a high level of cognitive load and. Examples of this method would be asking the user to assign weights or rank features in the order of importance, which the user wouldn’t be really interested in doing. The FRC uses implicit feedback from users to generate the data that capture their preferences.
1.2.2 FEATURE WEIGHTING
This method is associated with assigning weights to the features of a system. Thus, describing the item to be recommended. The more the weight, the better the chances of the item being recommended. In the FRC, the features are the user preferences. In explicit feedback, the user would be assigning the weights to the features, thus specifying his preferences. But, in implicit feedback, the weights are collected depending on the user purchase history.
1.3 FEATURES OF THE SYSTEM
The system is developed using using and SQL Server 2000 as back end. The FRC makes personal recommendations to users based on their purchase history. The key features of the FRC include:
a) It makes personalized recommendation to each user
b) It collects implicit feedback from the user as opposed to explicit feedback which is associated with a high cost of cognitive load placed on the user
c) Provides the user with the ability to sort the results based on his temporary preferences.
1.4 INTENDED AUDIENCE
The FRC system aims at reducing the cognitive load on the user by making recommendations based on implicit feedback. The recommendation process is not simply specific to the flight reservation domain. It could be used in any domain that involves making recommendations to users based on implicit feedback.
1.5 OVERALL STRUCTURE
1. The rest of the paper deals with the other approaches for developing this project.
2. The implementation section describes the system architecture, the database schema, the technologies used, flow control, Design of the project described using the UML diagrams, and the screen shots.
3. The Testing section describes the testing tools used to test the performance of the application and a detailed review of the results.
4. The Future work section discusses the advantages and shortcomings of the current recommendation strategy. It also some further techniques that could be investigated.
5. Finally, the Conclusion section concludes the report.
2. RELATED WORK
2.1 OTHER APPROACHES
A vast number of recommendation systems are being implemented using collaborative filtering. The method of collaborative filtering could be based on implicit or explicit feedback. But explicit feedback has its own disadvantages. In case of implicit feedback, Collaborative filtering is the method of making automatic predictions (filtering) about the interests of a user by collecting reference information from many users (collaborating). The underlying assumption of collaborative filtering approach is that those who agreed in the past tend to agree again in the future.
2.2 COMPARISON WITH EXISTING METHODS
3. FLIGHT RECOMMENDATION ALGORITHM
The Flight recommendation algorithm had been designed with the concept of implicit feedback and Feature weights in mind. Calculations are made to compute the total weight of each entry in the result set. The results are then sorted based on these weights. The following is a detailed description of the algorithm.
Pre conditions:
The status of the user login is known. (If the user is logged in or not)
The user has entered the input
Post condition:
The results are sorted in the order of recommendation with the most recommended result at the top and the least at the bottom.
Algorithm:
The set of flights that meet the user input criterion are fetched. Let’s call the temporary unsorted result set Rtemp and the size of the result set ‘n’. The algorithm needs to compute the value Rtemp (i, w) where (0 < i < = n) and w represents the weight. Hence Rtemp (i, w) represents the weight w of an itinerary i in the result set Rtemp.
There are four attributes based on which the total weight can be calculated Price P, Airline A, Time of the day T and stopover attribute S.
Rtemp (Pi), Rtemp (Ai), Rtemp (Ti) and Rtemp (Si) represent the value of price, airline, time of day and stopover for the itinerary i respectively where (0 < i 25) number of application users. It can understand the business impact of performance. It allows simulates multiple concurrent users of a web application. It measures the performance of the application in terms of page download times, server performance and errors. Finally it indicates the business impact in terms of the abandonment prediction and frustration coefficient
ANTS Load has 3 editions:
ANTS Load Entry Level Edition lets you simulate up to 25 concurrent users, running on a single client computer.
ANTS Load Professional Edition lets you simulate up to 100 concurrent users, running on a single client computer.
ANTS Load Enterprise Edition lets you simulate thousands, or even tens of thousands, of concurrent users, running on multiple client computers.
I have used the free evaluation for up to 10 users here for testing my web site.
5.1.2 ANAYLSIS
Website performance testing tools give results that are very subjective to interpret. Ita been widely quoted that "if a web page takes longer than 10 seconds to download then a user is likely to lose interest”. Frustration was measured as being very slightly influenced by time but only if the download time was greater than 30 seconds. Lostness equals the number of page visits required to complete a task (optimal path) divided by the number of pages visited. 1.0 means the user was not lost at all. There is no upper limit! You can see in the below test result that the time to connect to each page was zero except for two pages. This shows that the web site will not be much frustrating to users.
Figure 5.1 – Results
[pic]
[pic]
This section shows the overall distribution of metrics for the FRC. The charts show what proportion of timings fall into which intervals.
Figure 5.2 – Time to Connect
This section shows you the average timings for each web page for this test. This can be used to find the fastest, and slowest, pages in the current web application.
[pic]
The figure 25 shows that the all the web requests take time that’s less than 50 milliseconds. This emphasis on the user’s frustration level is evident that it would be low for the current application.
Figure 5.3 – Time to get First Byte
[pic]
The figure 26 shows the time taken for the application to get the first byte. We can see that time taken to receive the first byte is less for the majority. Moreover, the maximum time taken was just 250 milliseconds.
Figure 5.4 – Time to get Last Byte
[pic]
The figure 27 shows the time taken for the application to get the last byte. We can see that the maximum time taken to receive the last byte was 250 milliseconds.
The figure 28 represents the total number of bytes received by each web request. The complexity of the application is obvious from the vast amount of the web requests receiving close to 5000-10000 bytes.
Figure 5.5 – Bytes Received
[pic]
5.1.3 RESULTS
From the above analysis, we can conclude that:
The FRC, despite being a very complex application with a lot of request to the database, performs really well in terms as is evident from the graphs. We can be assured that the application would minimize the user frustration level.
The time to connect to the web page is low and hence the web page will not be abandoned by the users.
The time between the first byte and the last byte received is very nominal, We can see from the figure 28 that despite the high amount of data received is the time to receive the last byte is low. Thus we can conclude that the level of lost ness while navigating through the application is very less.
5.2 Unit Testing
Unit testing is a procedure used to validate that individual units of source code are working properly. The goal of unit testing is to isolate each part of the program and show that the individual parts are correct. A unit test provides a strict, written contract that the piece of code must satisfy. As a result, it affords several benefits. Experiences show that a consequent Unit and Integration Test increase the software quality, save time and saves money. In this approach, each software component, module or class is being test in the smallest possible context. This leads to robust building blocks, which can be integrated quite easily following a bottom up testing approach.
5.2.1 Unit Testing Using Unite .NET
Unite .NET is a Unit and Integration Test Environment for Microsoft Visual Studio .NET, that allows a software developer to efficiently test its software components, classes etc. as part of a Unit and Integration test. An extensive test harness library and wizards simplify the test driver development in C# and . A tight Microsoft Visual Studio integration ideally supports the "code a little, test a little" working style. The Unite .NET Test Control Center allows interactive and automatic test execution. Test results are reported with a comprehensive HTML/XML-based test execution trace.
Figure 5.6 – Test Results
[pic]
Table 5.1 – Test Case Results
[pic]
5.2.2 ANALYSIS OF RESULTS
An application can be tested using numerous test cases to check for its correctness. But practically we have to restrict our self to few test cases which can assure that the application will run perfectly under ideal situations. The test cases used have been executed successfully with expected results and no errors. Various code snippets from different methods have been tested for correctness. The test cases basically concentrate on the correct retrieval of data from the database at various instances.
6. FUTURE WORK
6.1 EXTENSIONS
The FRC application is limited to only a few user preferences. The number of preference characteristic could be increased significantly. The case based reasoning works effectively for the particular user in context. A recommendation system can be made more effective by using a collaborative approach. An approach where the predictions are specific to the user, but use information gleaned from many users. The FRC generalizes the concept of multiple users by just calculating the total weight of individual preferences instead of calculating the similarity between different users. The current system gathers implicit feedback by observing the history of the user purchases. The scope of implicit feedback gathered can be extended or improved by observing the user’s action in each given sessions.
In FRC, the feature weight scheme uses static weights in the computation of the total weight of user preferences. The feature weights can be dynamically updated from time to time every time a purchase is made. For example, when the user makes a purchase, the implicit feedback is obtained about the preferences and the weights are increased for features that have been selected in the current purchase. At the same time, the weights are decreased for the features that have not been selected. This process yields in better recommendation as it would tend to push down the recommendation scores of items that are not being taken up and pull up the scores of ones that are selected.
7. CONCLUSION
This report describes the Flight Recommendation Client (FRC), an application that enables the user search for and finds flights. The search result comprises a large number of itineraries. Hence the recommendation system cuts down the burden on the user by recommending the flight that best fit his preferences by placing them at the top. Explicit feedback leads to an increase in the user’s frustration level. The recommendation process is highly effective as it uses implicit feedback. The feedback is obtained by making some observations on the user’s purchase history. The FRC makes successful recommendations by using the technique of assigning feature weights and user specific context based recommendations. The recommendation algorithm was designed with the Flight Recommendation client (FRC) application in mind. Yet, it can be applied to other domains that use implicit feedback. The key to the success of the FRC is the ability to sort the results based on user preferences and personalizing it in the recommendation process.
References And/Or Bibliography
[1] “Start VB dot ”, “ Features”,
[2] Red-Gate, “Load testing, stress testing”,
[3] Shrijeet Nair, “Microsoft Application Test Center”, “Date: 9-17-2002”17/2002
[4]
[5]W3Schools, “ Introduction”,
[6] Microsoft , “ web: Official Microsoft 2 site”,
[7] Microsoft, “Visual Studio Extensibility”,
[8] Red-Gate, “Website download time, abandonment”,
[9] “Microsoft Visio tutorial”
[10] “Visual Paradigm documentation”
[11] “Introduction to the Diagrams of UML 2.0”
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19] A dynamic approach to feature weighting
B. Arslan, F. Ricci, N. Mirzadeh & A. Venturini eCommerce and Tourism Research Laboratory, ITC-irst via Sommarive 18, 38050 Povo, Italy
[20]
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related searches
- this is he vs this is him
- what is normal cholesterol numbers
- what is normal bp and pulse rate
- what is normal profit
- what is normal blood oxygen saturation level
- what is normal oxygen saturation level
- what is normal periodic breathing
- why is normal distribution used
- what is normal blood pressure for men
- what is normal distribution in statistics
- what is normal blood pressure for women
- what is normal neutrophil count