EpiTrip — Natural language travel planning with AI logo

EpiTrip — Natural language travel planning with AI

Travel planning assistant using natural language processing to understand a request in French, extract departure and arrival cities, then automatically compute the optimal route from SNCF data.

Project description

Context

Planning a train journey usually means switching between several interfaces and manually entering departure and arrival cities. Yet users naturally express their needs in sentences such as: "I'm leaving from Rennes to go to Biarritz".

EpiTrip is a travel planning assistant that can interpret such natural language phrases and automatically turn the request into a usable itinerary.

The project combines natural language processing (NLP) and route optimisation to understand the user's request and compute the best journey from SNCF transport data.

Problem

Classic journey planners rely on structured forms where the user has to manually select each piece of information.

This approach does not always match the natural way users express their needs. Moreover, understanding free-form text raises several technical challenges:

  • detecting whether the sentence is actually a travel request
  • identifying departure and arrival cities
  • correctly handling language variations
  • then computing an optimal route from the rail network data.

Solution

EpiTrip implements a full pipeline combining artificial intelligence and graph algorithms to process travel requests.

The system works in several steps:

  1. Language detection to check that the sentence is in French using FastText.
  2. Intent classification with a fine-tuned DistilBERT model to identify journey requests.
  3. City extraction via a named entity recognition model based on CamemBERT.
  4. Optimal route computation using Dijkstra's algorithm applied to SNCF data (GTFS).

The rail data includes stations, routes and timetables, making it possible to compute a realistic itinerary between two cities.

A web interface then displays the result on an interactive map, with journey stages and a route summary.

Key features

  • natural language journey request input
  • automatic extraction of departure and arrival cities
  • intent classification based on an NLP model
  • optimal route computation with Dijkstra's algorithm
  • use of SNCF transport data
  • journey display on an interactive map
  • voice recognition to dictate a journey request.

The user can for example say or type:

"I want to go from Rennes to Biarritz"

and the application automatically identifies the cities, computes the best route and displays the result on the map.

Results

EpiTrip shows how a pipeline combining NLP, entity extraction and route optimisation can turn a natural language request into a usable journey.

The project highlights the practical use of transformer models in an application context and how AI techniques can simplify the interaction between users and transport systems.

Development environment

NuxtNuxt.js
Vue.jsVue.js
TypeScriptTypeScript
Tailwind CSSTailwindCSS
AdonisJSAdonisJS
PythonPython
FastAPIFastAPI

Have a similar project? Let's talk

Looking for a freelance developer to bring your idea to life? Let's discuss your web, mobile or software project together.

Contact me