Skip to main content

Rilevatore di Token

Il Rilevatore di Token è un modello di linguaggio naturale specializzato progettato per identificare ed estrarre specifiche informazioni, chiamate token, dall'interno di una frase. Viene utilizzato per rilevare dati strutturati come ID, nomi, date o codici incorporati nel testo in linguaggio naturale.

A differenza di un classificatore, che categorizza intere frasi, il rilevatore di token si concentra sulla marcatura e l'etichettatura di sottosezioni di una frase. Questo è particolarmente utile per le applicazioni che devono estrarre valori dalle richieste degli utenti, come ID di documenti o riferimenti.

Come funziona il rilevatore di token

Il Rilevatore di Token viene addestrato utilizzando frasi etichettate in cui i token di interesse sono chiaramente contrassegnati con un formato speciale. Ogni token da rilevare è racchiuso tra i tag <START:label> e <END>. Questi indicano sia i limiti del token sia il tipo di informazioni estratte. Nello specifico, questi tag (<START:label> e <END>) insegnano al sistema come riconoscere strutture e valori simili in testo nuovo e non visualizzato.

Esempi: 

I am searching for the document with id <START:docId> 12356897 </START:docId>, please send it to me.
All employees are encouraged to find doc with id <START:docid> 0023 <END> on the HR portal.
Interested faculty and graduate students can find document with id <START:docid> 1250 <END>. Please open file titled <START:filename> launch_brief.txt <END>.
The revised pipeline is presented in the document <START:filename> ingestion_workflow_diagram_v2.pdf <END>.
To explore the many benefits of developing a consistent reading habit, see the document called <START:filename> reading-benefits.txt <END>.  Please, retrieve any documents about <START:expression> 1250 <END> paper .
Locate the finance policy document containing <START:expression> "card*" <END> usage rules and restrictions.
I need you to find all compliance documentation that specifies <START:expression> dev* <END> for our legal counsel.

Come mostrato, il rilevatore utilizza esempi etichettati in cui i token sono contrassegnati in modo esplicito. Pertanto, impara a riconoscere questi tipi di token in base a:

  • Posizione della parola
  • Forma della parola (numeri, maiuscole, ecc.)
  • Contesto intorno al token

Rilevamento del Token

Quando una frase viene inviata al modello, questo la scompone innanzitutto in token (tipicamente parole o segni di punteggiatura) utilizzando un tokenizzatore specifico per la lingua. Questo passaggio è essenziale per il riconoscimento accurato dei confini dei token. Il modello addestrato analizza la frase tokenizzata e identifica intervalli di parole che corrispondono ai pattern appresi. Ogni intervallo viene restituito insieme a:

  • L'etichetta del token (ad esempio, docid)
  • Il valore (ad esempio, 12356897)
  • Un punteggio di affidabilità

Classificatore

Il classificatore è un componente del linguaggio naturale che assegna una categoria a un dato testo in base al suo contenuto. In questo sistema, il classificatore viene addestrato utilizzando coppie di dati di esempio, in cui ogni coppia contiene un'etichetta di categoria e una frase di esempio che termina con uno spazio seguito da un punto ( .). Ciò consente al classificatore di apprendere modelli e parole chiave comunemente associati a intenti o comandi specifici.

Come Funzione il Classificatore

Il classificatore viene addestrato utilizzando esempi etichettati, in cui ogni riga include una categoria e una frase che riflette tale categoria. Questo crea un modello che può successivamente confrontare i nuovi input con ciò che ha appreso. Per addestrare il modello, il sistema si aspetta un file CSV contenente una sola colonna. Ogni riga di questa colonna deve seguire un formato molto specifico:

<categoria><TAB><testo che termina con uno spazio seguito da un punto>. 

Esempi:

SEARCHDOC    Find any files about budget .
SEARCHDOC    Locate docs about paper .
SEARCHDOC    Retrieve documents matching "news" .
GETDOC    Can you get doc with ID 1233587 .
GETDOC    I need to access file with id 29679 .
GETDOC    Show doc with id 299 .
SEARCHFILE    File called "mywork.docx" .
SEARCHFILE    Get document called invoice.pdf .
SEARCHFILE    Open doc titled booklet.txt .

Panoramica della Configurazione del Classificatore

Questa sezione descrive i campi di configurazione chiave per il modello di classificatore utilizzato nel sistema NLP. Queste impostazioni definiscono il comportamento del classificatore durante l'addestramento e l'interpretazione dell'input dell'utente.

Proprietà

La scheda Proprietà nell'interfaccia del classificatore contiene le impostazioni di configurazione principali che definiscono il comportamento del classificatore durante l'addestramento e l'inferenza. Questi parametri influenzano l'elaborazione del testo di input, l'estrazione delle caratteristiche e l'applicazione delle regole specifiche della lingua. La corretta configurazione di questi campi garantisce una classificazione accurata ed efficiente.

classifier_properties_specs
 

  • Cutoff: un valore di soglia utilizzato durante l'addestramento per filtrare le caratteristiche a bassa probabilità. Un valore inferiore indica che vengono utilizzate più caratteristiche ; un valore superiore rende il modello più restrittivo.
  • Ngram Min: la dimensione minima degli n-grammi (sequenze di parole) da considerare durante l'addestramento (ad esempio, 2 = bigrammi).
  • Ngram Max: la dimensione massima degli n-grammi da includere durante l'addestramento (ad esempio, 4 = sequenze fino a 4 parole).
  • Lingua: la lingua del dataset di addestramento (ad esempio, inglese). Questo aiuta il sistema a caricare le stop word e le regole di elaborazione appropriate.

Embedder

I modelli di classe Embedder consentono la mappatura di interi documenti in vettori di lunghezza fissa, rendendo possibile la loro rappresentazione in uno spazio vettoriale continuo. Ciò facilita il confronto e la manipolazione efficienti dei dati testuali nell'elaborazione del linguaggio naturale (NLP), come le ricerche semantiche.

Come funziona l'Embedder

La trasformazione del contenuto di un documento in un vettore viene realizzata tramite l'algoritmo Doc2Vec. Questo manuale non è la sede adatta per trattare i dettagli di questa tecnica, ma è possibile online trovare molta letteratura sull'argomento.

In poche parole, Doc2Vec utilizza una particolare rete neurale per creare una rappresentazione numerica di un documento (il vettore) che in genere verrà memorizzato in un Vector Store; documenti simili saranno rappresentati da due vettori diversi ma adiacenti nello spazio vettoriale multidimensionale.

L'Embedder viene addestrato utilizzando paragrafi di testo scritti in linguaggio naturale, ogni paragrafo terminato da un punto seguito da una riga vuota:

Esempio:

She quickly dropped it all into a bin, closed it with its wooden
lid, and carried everything out. She had hardly turned her back
before Gregor came out again from under the couch and stretched
himself.

This was how Gregor received his food each day now, once in the
morning while his parents and the maid were still asleep, and the
second time after everyone had eaten their meal at midday as his
parents would sleep for a little while then as well, and Gregor's
sister would send the maid away on some errand. Gregor's father and
mother certainly did not want him to starve either, but perhaps it
would have been more than they could stand to have any more
experience of his feeding than being told about it, and perhaps his
sister wanted to spare them what distress she could as they were
indeed suffering enough.

Panoramica della configurazione dell'Embedder

Questa sezione descrive i campi di configurazione chiave per il modello Embedder. Queste impostazioni definiscono il comportamento del modello durante l'addestramento e come interpreta l'input dell'utente.

Proprietà

La scheda Proprietà nell'interfaccia dell'embedder contiene le impostazioni di configurazione principali che definiscono il comportamento dell'embedder durante l'addestramento e l'incorporamento. Questi parametri influenzano l'elaborazione del testo in input.

classifier_properties_specs

  • Seme: un valore utilizzato per la generazione di numeri casuali
  • Esecutori: numero di processi utilizzati per l'addestramento
  • Dimensione finestra: dimensione della finestra utilizzata dall'algoritmo Doc2Vec
  • Dimensione vettore: numero di elementi in ogni singolo vettore, meglio se maggiore di 300
  • Frequenza minima parole: le parole che compaiono con un numero inferiore a questo verranno scartate
  • Numero massimo di frammenti: ogni documento è suddiviso in blocchi di token, qui si specifica il numero massimo di blocchi ammessi
  • Dimensione blocco: numero target di token in un singolo blocco
  • Numero minimo di frammenti: Dimensione del frammento: numero minimo di token e caratteri in un singolo blocco
  • Alfa: tasso di apprendimento iniziale (la dimensione degli aggiornamenti del peso in un modello di apprendimento durante l'addestramento), il valore predefinito è 0,025
  • Alfa min.: il tasso di apprendimento scenderà linearmente al valore alfa minimo in tutte le epoche di inferenza, il valore predefinito è 0,0001

Intelligenza Artificiale

L'intelligenza artificiale, o semplicemente IA, potrebbe essere definita come una tecnologia che consente alle macchine di simulare l'apprendimento, la comprensione, la risoluzione dei problemi, il processo decisionale, la creatività e l'autonomia degli esseri umani.

Al di là di questa introduzione, non esiste una definizione univoca e semplice di intelligenza artificiale, poiché gli strumenti di intelligenza artificiale sono in grado di eseguire attività in circostanze variabili e imprevedibili senza una significativa supervisione umana e possono imparare dall'esperienza e migliorare le prestazioni quando esposti a set di dati.

LogicalDOC contiene un motore a scopo generico di intelligenza artificiale con il quale è possibile risolvere anche problematiche non strettamente legate alla gestione documentale, ma con il vantaggio di poter sfruttare tutte le potenzialità di un Sistema di gestione dei documenti per gestire grandi volumi di dati necessari alla formazione.

Modelli

I modelli di intelligenza artificiale sono programmi che implementano un algoritmo progettato per risolvere un problema nello stesso modo in cui farebbe un cervello umano; è possibile considerarli anche come cervelli artificiali che consentono ai sistemi di apprendere dai dati e di eseguire attività come analisi, previsioni e generazione di contenuti.

Al momento della stesura di questo documento, LogicalDOC supporta questo set di modelli:

  • Rete neurale: utile per predire la categoria o la natura di un oggetto sulla base dei dati di input.
  • Classificatore: utilizza l'elaborazione del linguaggio naturale (NLP) per catalogare un testo scritto in modo naturale.
  • Rilevatore di token: utilizza l'elaborazione del linguaggio naturale (NLP) per estrarre token da un testo scritto in modo naturale.

Scopri di più sui modelli 

Campionatori

I modelli non possono fare nulla senza essere stati addestrati: come i bambini, devono imparare dall'esperienza per "capire" come risolvere un dato problema.

Nell'intelligenza artificiale, questa esperienza si costruisce attraverso un processo chiamato addestramento, che sostanzialmente presenta al modello un enorme set di dati di esempi. La dimensione e la qualità del set di dati influiscono sulla capacità del modello di identificare pattern nei dati e quindi di comprendere il problema.

I campionatori sono quegli oggetti responsabili del recupero dei dati utilizzati nell'addestramento dei modelli.

Scopri di più sui campionatori 

Campionatori

Un campionatore è un oggetto utilizzato per recuperare e preparare un set di dati per l'addestramento di un modello.

È possibile gestire i campionatori in Amministrazione > Intelligenza Artificiale > Modelli > Campionatori.

Samplers
 

Puoi contare su diversi tipi di campionatori con impostazioni diverse:

CampionatoreDescrizioneImpostazioni
CSV

Legge il contenuto di un file CSV estraendo tutte le righe come array di stringhe. Il formato previsto per ciascuna risorsa è il seguente:

5.1,3.5,1.4,.2,"Setosa"
7,3.2,4.7,1.4,"Versicolor"
6.2,3.4,5.4,2.3,"Virginica"

Questo esempio produrrà tre righe di 5 elementi ciascuna:

5.1, 3.5, 1.4, .2, Setosa
7, 3.2, 4.7, 1.4, Versicolor
6.2, 3.4, 5.4, 2.3, Virginica
  • Separatore: il carattere utilizzato come delimitatore di campo.
  • Citazione: il carattere utilizzato per racchiudere il valore di un campo.
  • Documento: il documento CSV che contiene i dati.
Paragrafo

Estrae i paragrafi, interpretati come blocchi di testo separati da righe vuote. Il formato previsto per ogni risorsa è il seguente:

A colleague of mine told me that the document 12356897 contains very important information, so I want to get it. Understood, but are you registered as LogicalDOC's user? If you are a user, just access the interface and then execute a search by document id = 12356897.

Where can I locate a specific file? I was not able to find what I was looking for. Ok, just enter LogicalDOC and search for document with ID -96668429, it is very easy. Sure! Easy and quick, many thanks for your hint.

L'esempio sopra riportato produrrà due paragrafi.

  • Documento: il documento CSV che contiene i dati.
MetadatiEstrarre campioni da un elenco di documenti. Per impostazione predefinita, gli attributi estesi dei documenti sono considerati feature, quindi tutti i documenti nella cartella referenziata devono condividere lo stesso schema di attributi. Con l'automazione è anche possibile estrarre qualsiasi dato per ciascun documento.
  • Cartella: la cartella che contiene i documenti da elaborare.
  • Categoria: nome dell'attributo esteso che contiene la categoria, facoltativo.
    Caratteristiche: elenco ordinato, separato da virgole, dei nomi degli attributi estesi utilizzati per memorizzare i valori delle feature.
  • Automazione: uno script di automazione utilizzato per estrarre un campione da un documento sorgente, accessibile tramite la chiave del dizionario $document.
CatenaRaccoglie i campioni estratti da una raccolta di altri campionatori
  • Catena: lista ordinata di campionatori