HomeIA e Machine LearningClassificatore di intenti del chatbot — Similarità TF-IDF dal vivo

💬 Classificatore di intenti del chatbot — Similarità TF-IDF dal vivo

Osserva un vero vettorializzatore TF-IDF e un motore di similarità coseno valutare dal vivo un messaggio utente sintetico in arrivo rispetto a una banca di modelli di intento, classificando in tempo reale l'intento più corrispondente mentre digiti.

IA e Machine Learning3DModerata60 FPS
ai-chatbot-intent-classification ↗ Open standalone

Informazioni su questa simulazione

Questo simulatore esegue interamente nel browser un vero vettorializzatore TF-IDF (frequenza del termine, frequenza inversa del documento) e un motore di similarità coseno — la stessa famiglia di algoritmi che alimenta l'instradamento degli intenti di chatbot leggero e spiegabile prima (o insieme) di un modello neurale. Ogni modello di intento — "controlla stato ordine", "richiedi rimborso", "reimposta la password" e così via — è trattato come un documento; il vocabolario del corpus e i pesi IDF vengono ricalcolati dal vivo da questi documenti. Quando digiti un messaggio o lasci scorrere il flusso di messaggi sintetici, il messaggio viene tokenizzato, pesato rispetto alla stessa tabella IDF, e confrontato con ogni vettore di intento con veri prodotti scalari e norme vettoriali.

Il pannello principale mostra tre viste dal vivo: un grafico a barre classificato dei punteggi di similarità coseno su tutti gli intenti, una proiezione PCA 2D di ogni vettore di intento e del vettore della query corrente (calcolata con vera centratura sulla media, covarianza e autovettori per iterazione di potenza — non un layout fisso), e un grafico del contributo per termine che scompone esattamente quali parole condivise hanno determinato la corrispondenza vincente. Il divario di confidenza tra i primi due intenti è una misura genuina di quanto sia inequivocabile la corrispondenza: un divario piccolo significa che il messaggio è realmente ambiguo tra due modelli, non un artefatto grafico.

Domande frequenti

La matematica del TF-IDF viene realmente calcolata, o è una demo precostituita?

Viene calcolata dal vivo. La tokenizzazione, i conteggi di frequenza termine-documento, la formula IDF smussata ln((1+N)/(1+df))+1 e i vettori TF-IDF normalizzati L2 sono tutti costruiti a partire da qualunque modello di intento esista attualmente nel corpus, inclusi quelli aggiunti da te.

Come viene generato il grafico dello spazio vettoriale?

Il vettore TF-IDF di ogni intento (una dimensione per termine del vocabolario) viene centrato sulla media, e i primi due autovettori della matrice di covarianza risultante vengono trovati con iterazione di potenza e deflazione — un'implementazione standard e reale dell'Analisi delle Componenti Principali. Le posizioni 2D sono le proiezioni di ogni vettore ad alta dimensionalità su quei due autovettori.

Perché un messaggio non familiare a volte ottiene un basso punteggio di confidenza per ogni intento?

La similarità coseno è limitata e dipende interamente dal vocabolario condiviso. Se un messaggio digitato non condivide quasi nessuna parola con gli enunciati di esempio di alcun intento, ogni punteggio di similarità sarà basso e il "divario dal secondo migliore" si ridurrà — un segnale fedele che il classificatore è incerto, esattamente come si comporterebbe una baseline TF-IDF in produzione.

Cosa succede quando aggiungo un nuovo modello di intento?

Il vocabolario e i conteggi di frequenza dei documenti vengono ricostruiti su tutti gli intenti (incluso quello nuovo), il che modifica leggermente i pesi IDF di ogni intento esistente. Tutti i vettori, la proiezione PCA e i punteggi di similarità della query corrente vengono quindi ricalcolati rispetto al nuovo corpus.

⚙ Dietro le quinte

Osserva un vero vettorializzatore TF-IDF e un motore di similarità coseno valutare dal vivo un messaggio utente sintetico in arrivo rispetto a una banca di modelli di intento, classificando in tempo reale l'intento più corrispondente mentre digiti.

Three.jsWebGLAIMachine Learning

3D · renderer Three.js / WebGL · target 60 FPS · funziona interamente lato client, senza installazione

What did you find?

Add reproduction steps (optional)