# Funzionalità del chatbot

## *User experience*

OpenCity AI introduce un avanzato strumento di ricerca semantica progettato per orientare in modo efficace gli utenti e rispondere con precisione ai loro bisogni informativi.

Si presenta come **un'interfaccia conversazionale&#x20;*****mobile first***, sempre a disposizione dell'utente. È accessibile da ogni pagina del sito web cliccando sull'apposita icona collocata in basso a destra.

Il chatbot fornisce risposte basate esclusivamente sul dominio di conoscenza dell'ente, utilizzando unicamente i dati e i contenuti presenti sul sito web istituzionale. Per facilitare ulteriormente la navigazione, l'interfaccia propone anche una selezione di domande frequenti (FAQ) per indirizzare l'utente verso i temi di maggiore interesse.

## Qualità delle risposte

Il sistema elabora risposte esaustive e mirate, concepite per restituire all'utente l'informazione chiave evitando lunghe ricerche all'interno del portale. A garanzia dell'affidabilità, ogni risposta generata è sempre corredata dalle relative fonti. Questo permette all'utente, qualora lo desideri, di verificare l'informazione o di approfondire la lettura consultando direttamente la pagina web di origine.

L'interazione con il chatbot è dinamica: l'utente può dialogare con il sistema, ponendo domande successive per specificare meglio il contesto o per richiedere ulteriori dettagli, proprio come in una conversazione reale.

Questa fluidità è resa possibile dalla capacità del sistema di **superare le barriere del linguaggio burocratico**, spesso presente nelle fonti ufficiali come delibere o regolamenti, rielaborando i contenuti in uno stile di comunicazione colloquiale, sintetico e accessibile. In questo modo, l'eventuale complessità tecnica dei contenuti viene resa comprensibile per il cittadino, senza alterare la correttezza del dato istituzionale di partenza.

## Vantaggi rispetto al motore di ricerca

A differenza del motore di ricerca del sito web, OpenCity Chatbot AI è progettato per interpretare il linguaggio naturale.

Il sistema supera i limiti del motore di ricerca poiché è in grado di comprendere il reale intento dell'utente e il contesto della richiesta, come rilevato anche dai [cicli di test svolti](https://docs.opencityitalia.it/architettura-e-funzionalita-del-chatbot/chatbot-per-la-pa/ciclo-di-test-e-ottimizzazione-del-chatbot).

Questo permette al cittadino di ricevere risposte pertinenti anche quando si esprime con un linguaggio colloquiale, semplificando l'accesso ai servizi e alle informazioni dell'Ente.

In particolare, il chatbot offre un supporto decisivo in scenari come:

* **Tolleranza agli errori**: comprende la richiesta e fornisce la risposta corretta anche se la domanda dell'utente contiene errori grammaticali o di battitura;
* **Riconoscimento dei sinonimi**: interpreta il linguaggio comune e lo collega alla terminologia tecnica dell'ente (ad esempio, associa il termine "morti" alla sezione "servizi per i defunti");
* **Capacità di sintesi**: riesce a elaborare una risposta specifica aggregando informazioni frammentate su più pagine, risultando utile quando non esiste una singola pagina web dedicata esattamente al quesito dell'utente (es. "sono previste assunzioni nel 2026?");
* **Comprensione semantica**: collega il bisogno espresso dall'utente al servizio o all'ufficio competente, anche senza parole chiave esatte (ad esempio, capisce che una domanda sul "problema delle buche" fa riferimento al servizio "segnalazione disservizi").

## Vantaggi rispetto a LLM generici

A differenza di modelli di Intelligenza Artificiale generica, come ChatGPT, Gemini o Deepseek, OpenCity Chatbot AI è una soluzione specializzata e "addestrata" specificamente per la Pubblica Amministrazione.

I vantaggi principali rispetto a un modello generico sono:

* **Accuratezza della ricerca semantica**: mentre i modelli generici possono faticare a isolare i dati specifici di un singolo territorio, il nostro chatbot esegue una ricerca semantica avanzata sui soli dati ufficiali dell'Ente. Questo garantisce che la risposta sia sempre pertinente al contesto locale e non basata su normative generali o di altri Paesi;
* **Prevenzione delle "allucinazioni"**: in ambito IA, si parla di "allucinazione" quando un sistema genera risposte false ma verosimili. OpenCity Chatbot AI è configurato per essere rigoroso: se il sistema non trova informazioni affidabili nei contenuti del sito web o se la domanda risulta ambigua, non "inventa" una risposta. Al contrario, invita l'utente a contattare direttamente gli uffici competenti, garantendo così la massima integrità dell'informazione istituzionale;
* **Robustezza della privacy e protezione dei dati**: il sistema richiede la presa visione dell'informativa privacy dell'Ente prima dell'interazione, assicurando che l'utente sia pienamente informato sul trattamento dei dati. Inoltre, l’architettura integra un filtro di sicurezza che blocca preventivamente l'invio di dati personali verso LLM esterni, impedendo che informazioni sensibili vengano trattate da sistemi di terze parti.

## Sincronizzazione dei contenuti e aggiornamento dati

Le risposte fornite da OpenCity Chatbot AI sono generate esclusivamente sulla base dei contenuti ufficiali pubblicati all'interno del sito web istituzionale.

Al fine di garantire la massima accuratezza e pertinenza delle informazioni, il sistema esegue una scansione automatizzata quotidiana (***scraping***) del portale. Questo processo permette al chatbot di apprendere tempestivamente ogni aggiornamento, modifica o nuova pubblicazione inserita dall'Ente, assicurando all'utente finale risposte sempre allineate.

## Rapidità di attivazione e indipendenza tecnologica

L’attivazione di OpenCity AI Chatbot si distingue per la rapidità operativa: l’integrazione sul portale istituzionale, infatti, avviene tramite **l’inserimento di uno script**, un’operazione non invasiva che **non richiede interventi sistemistici** lato server **né riconfigurazioni tecniche**.&#x20;

{% content-ref url="<https://app.gitbook.com/s/NwAiDeLoMPCkkp1BdSbI/integrazioni/installazione-chatbot/integrazione-con-il-frontend>" %}
[Integrazione con il frontend](https://app.gitbook.com/s/NwAiDeLoMPCkkp1BdSbI/integrazioni/installazione-chatbot/integrazione-con-il-frontend)
{% endcontent-ref %}

Questa facilità è possibile grazie alla **totale indipendenza del sistema** rispetto alla piattaforma in uso: il chatbot si configura come un modulo autonomo e *stand-alone*, capace di operare su qualsiasi tipologia di sito senza la necessità di migrare contenuti o modificare l’infrastruttura esistente.

In fase di attivazione, inoltre, OpenCity Italia genera un **report riguardante la qualità delle risposte** fornite dal sistema. Questo documento fornisce indicazioni pratiche per il miglioramento o l'aggiornamento di determinati contenuti del sito, laddove necessario.

## Gestione *multisite*

Spesso il patrimonio informativo di un Comune è distribuito su portali differenti: dal sito istituzionale ai siti verticali (turismo, musei, biblioteche), fino alle piattaforme esterne per l'Albo Pretorio o l'Amministrazione Trasparente.

OpenCity Chatbot AI supera la frammentazione di questi contenuti attraverso una gestione multisite avanzata, che opera su due livelli:

1. il chatbot può acquisire e analizzare i contenuti provenienti da tutti i siti web dell'ecosistema comunale. Questo permette al sistema di fornire risposte complete attingendo a fonti diverse, anche se l'informazione non è presente sul sito principale;
2. il chatbot può essere installato contemporaneamente su tutti i portali dell'Ente. In questo modo, il cittadino avrà sempre a disposizione lo stesso assistente intelligente, capace di rispondere su ogni ambito di competenza dell'amministrazione a prescindere dal portale in cui si trova in quel momento.

Questa architettura trasforma la rete di siti web dell'Ente in un unico punto di accesso assistito, eliminando la necessità per l'utente di conoscere l'esatta collocazione di un documento o di un servizio.

## Gestione della comunicazione multilingue

L'architettura di OpenCity AI Chatbot è stata progettata per supportare la diversità linguistica, una funzionalità progettata per rispondere a due scenari operativi distinti, definiti come obiettivi strategici e desiderata di progetto:

### **Interazione spontanea in lingua straniera**

{% hint style="info" %}
OpenCity Chatbot AI supporta attualmente circa [quaranta lingue](https://docs.cloud.google.com/gemini/docs/codeassist/supported-languages?hl=it)
{% endhint %}

Questo scenario riguarda la capacità del chatbot di riconoscere e gestire richieste poste in una lingua diversa (es. inglese, francese, spagnolo) anche all'interno di un portale i cui contenuti sono esclusivamente in italiano.&#x20;

Il sistema opera come un mediatore digitale per facilitare l’accesso ai contenuti agli utenti non italofoni.&#x20;

Quando l’utente invia un messaggio, la richiesta viene processata attraverso la nostra pipeline e inoltrata al Gemini per l'elaborazione. Una volta generata la risposta, prima della pubblicazione finale, interviene un modulo di controllo basato su un modello di Machine Learning (integrato tramite *spacy-language-detection*) residente sui nostri sistemi.

Questo modulo verifica la coerenza linguistica tra il quesito originale e la risposta prodotta:

* **se le lingue coincidono**: la risposta viene inviata direttamente all'utente;
* **se viene rilevata una discrepanza**: il sistema effettua una chiamata dedicata, distinta dal flusso della chat principale, con un'istruzione specifica per tradurre il testo nella lingua dell'utente, garantendo così la massima accuratezza prima della consegna finale.

<figure><img src="https://1485820589-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR5qTx8bksn2njb5reyN5%2Fuploads%2FCYpUSxOAKHAkS9PRjUeV%2Fimage.png?alt=media&#x26;token=0cbc5d02-6975-4d70-b38b-4e506252d526" alt=""><figcaption></figcaption></figure>

Questa capacità di comprensione e risposta si estende anche alle **lingue più complesse**, come ad esempio arabo e cinese.

<div><figure><img src="https://1485820589-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR5qTx8bksn2njb5reyN5%2Fuploads%2FfDlxI7v25M6dYhECjAU7%2FCie%20cinese.png?alt=media&#x26;token=c819d225-8a42-42a7-a1a3-0040b2ea2b63" alt=""><figcaption><p>Nell'immagine, l'utente chiede in lingua cinese come richiedere la carta d'identità elettronica (请问，如何办理电子身份证?)</p></figcaption></figure> <figure><img src="https://1485820589-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR5qTx8bksn2njb5reyN5%2Fuploads%2F3XCybTXWq7SBBWpduO7A%2FCIE%20arabo.png?alt=media&#x26;token=be4b7c29-1ee7-4f58-83da-94d496cb1a9b" alt=""><figcaption><p>Nell'immagine, l'utente chiede in lingua araba come richiedere la carta d'identità elettronica (كيف يمكنني التقدم بطلب للحصول على بطاقة الهوية الإلكترونية؟)</p></figcaption></figure></div>

### **Integrazione con portali multilingue nativi**

Il sistema è predisposto per operare su siti istituzionali che presentano già versioni in più lingue ufficiali. In questo contesto, il chatbot è in grado di allinearsi alla lingua di navigazione scelta dall'utente, attingendo alla *knowledge base* corrispondente per fornire risposte coerenti e ufficiali in lingua.

Nello specifico caso di portali **che operano su domini o sottodomini separati** (ad esempio, uno per l'italiano e uno per il tedesco), la soluzione attualmente in fase di analisi prevede l'**attivazione di due installazioni distinte dell'assistente virtuale**.&#x20;

Tale approccio permette di dedicare ogni istanza del chatbot a un dominio linguistico specifico, garantendo una separazione netta delle *knowledge base*. In merito a questa configurazione, OpenCity Italia sta attualmente conducendo dei test.

## Interazione vocale

OpenCity AI Chatbot supporta l'**inserimento della domanda tramite voce**, offrendo un canale di accesso alternativo alla digitazione testuale. Il cittadino può attivare il riconoscimento vocale direttamente dall'interfaccia del chatbot e formulare la propria richiesta a voce: il sistema trascrive l'audio in testo e avvia l'elaborazione seguendo il medesimo flusso della chat tradizionale.

Questa modalità si rivela particolarmente utile in scenari di accessibilità e contribuisce a rendere il servizio fruibile da una platea più ampia di cittadini.

La funzionalità è disponibile sui dispositivi e browser che supportano le API di riconoscimento vocale standard; non richiede installazione di componenti aggiuntivi né configurazioni specifiche da parte dell'Ente.

## Indicizzazione dei documenti (PDF)

Sebbene sia possibile prevedere l’indicizzazione dei file PDF caricati all’interno del sito web, tale funzionalità **non è attualmente implementata**.

In base [alle analisi e ai test condotti](https://docs.opencityitalia.it/architettura-e-funzionalita-del-chatbot/chatbot-per-la-pa/ciclo-di-test-e-ottimizzazione-del-chatbot) da OpenCity Italia, è emerso che:

* l'uso dei PDF **può peggiorare sensibilmente le prestazioni del chatbot:** la natura stessa di questi file comporta una forte variabilità nell'indicizzazione, rendendo meno fluida e precisa l'elaborazione della risposta;
* l’inclusione massiva di documenti allegati determina un aumento delle fonti considerate dal sistema per ogni singola domanda. Questa sovrabbondanza di dati **può generare un "rumore" informativo** che rischia di portare il chatbot a scartare fonti web più rilevanti e aggiornate a favore di passaggi contenuti in documenti meno pertinenti.

## Roadmap Integrazioni (Supporto MCP)

\
La nostra piattaforma è in continua evoluzione per interfacciarsi con i nuovi standard AI.

È attualmente in fase di analisi l'adozione del Model Context Protocol (MCP), con l'intento di testare l'implementazione del chatbot come client e l'apertura di specifici servizi proprietari in veste di server.

Le funzionalità relative a questo protocollo saranno introdotte in modo progressivo nella nostra roadmap e nei futuri cicli di aggiornamento, in linea con le priorità di sviluppo aziendale.
