The software technologies used in this project were:
databases created using MySQL;Â
front-end for the web application primarily built with Nextjs, React, and Material UI, supported by JavaScript;
back-end for the web application based on the Django framework;
most algorithms, including machine-learning algorithms, are mostly coded using the Python programming language.
The source code developed in this scope can be found in the GitHub repository. Click on its icon to access it.
Service quality module
The quality index comprises dimensions labeled as Reliability of the Service, Assurance of the Staff, Empathy of the Host, and Adaptability of the Staff.
Sustainability module
This module evaluates SMEs' level of compliance with recommended practices for sustainability. This module includes a self-diagnostic tool and proposes an essential guide for setting priorities for development. The sustainability index encompasses three primary dimensions: Economic Value, Environmental Impact, and Community and Social Impact.
Sentiment analysis
The algorithm for sentiment analysis relies on Natural Language Processing (NLP) techniques to interpret subjective and unstructured data. In general, the text is labeled as positive, neutral, or negative, with varying degrees of confidence. In the end, SMEs will be able to see a display of the level of satisfaction drawn from comments and/or posts of tourists over time. Regarding the implementation of the sentiment analysis module, the decision was to follow lexicon-based approaches, namely by using two state-of-the-art classifiers: TextBlob and VADER (Valence Aware Dictionary and Sentiment Reasoner), TextBlob is a Python library that processes text at a sentence level and operates a rule-based model. It returns a tuple with values called polarity (counting of positive and negative sentences) and subjectivity (amount of effective information in a sentence). VADER, which is a specific text sentiment analysis package, was chosen by the team as the main classifier. It is a lexicon and rule-based classifier, that relies on sentiment-related lexicons. Additionally, data from the NLTK platform was used, which offers a wide range of corpora and lexical resources in the field of Natural Language Processing (NLP).
Forecasting module
The objective of this module is to help European SMEs adjust their products and services to tourism demand. After analyzing the research field related to tourism forecasting, we have figured out the most popular algorithms and what data should be used. We have created two classes of forecasting models: baseline and deep learning forecasting models. The more complex deep learning models were based on Long Short-Term Memory (LSTM) and Gated Recurrent Unit (GRU) algorithms.
In particular, models based on Deep Learning algorithms, such as Long Short-Term Memory (LSTM) and Gated Recurrent Unit (GRU), consider both daily and monthly data frequency. We have incorporated data from exogenous variables such as search engine volume of searches, inflation, GDP, and currency exchange rate. Through rigorous evaluation, supported by forecasting evaluation metrics, such as RMSE, R-squared, and MAPE, it was discovered that GRU models consistently outperformed LSTM models.