Condividi tramite


Trasformazione Estrazione termini

La trasformazione Estrazione termini consente di estrarre termini da un testo in una colonna di input di una trasformazione e quindi scrivere tali termini in una colonna di output della trasformazione. La trasformazione è applicabile solo a testo in lingua inglese, utilizza un dizionario inglese interno e le proprie informazioni sulla lingua inglese.

È possibile utilizzare la trasformazione Estrazione termini per individuare il contenuto di un set di dati. Il testo contenuto nei messaggi di posta elettronica, ad esempio, può fornire utili commenti e suggerimenti sui prodotti. È pertanto possibile utilizzare la trasformazione Estrazione termini per estrarre gli argomenti di discussione dei messaggi al fine di analizzare tali commenti e suggerimenti.

Tipi di dati e termini estratti

La trasformazione Estrazione termini può essere configurata in modo da estrarre solo sostantivi, solo sintagmi nominali o entrambi. Un sostantivo è costituito da una sola parola, mentre un sintagma nominale include almeno due parole, di cui una costituita da un sostantivo e l'altra da un sostantivo o da un aggettivo. Se ad esempio si utilizza l'opzione per l'estrazione dei soli sostantivi, verranno estratti termini quali bicycle e landscape. Se invece si utilizza l'opzione per l'estrazione dei sintagmi nominali, verranno estratti termini quali new blue bicycle, bicycle helmet e boxed bicycles.

Gli articoli e i pronomi non vengono estratti. Dal testo the bicycle, my bicycle e that bicycle, ad esempio, la trasformazione Estrazione termini estrae solo il termine bicycle.

Per ogni termine estratto la trasformazione Estrazione termini genera un punteggio, costituito da un valore TFIDF o dalla frequenza della riga, che indica il numero di corrispondenze con il termine normalizzato presenti nell'input. In entrambi i casi, il punteggio viene rappresentato da un numero reale che è maggiore di 0. Ad esempio, il punteggio TFIDF potrebbe avere il valore 0,5 e la frequenza sarebbe un valore come 1,0 o 2,0.

L'output della trasformazione Estrazione termini include solo due colonne, una con i termini estratti e l'altra con il punteggio. I nomi predefiniti di tali colonne sono Term e Score. Poiché la colonna di testo nell'input può contenere più termini, l'output della trasformazione Estrazione termini include in genere un numero di righe maggiore rispetto all'input.

Se i termini estratti vengono scritti in una tabella, potranno essere utilizzati da altre trasformazioni di ricerca, ad esempio le trasformazioni Ricerca termini, Ricerca fuzzy e Ricerca.

La trasformazione Estrazione termini può essere applicata solo a testo contenuto in colonne con tipo di dati DT_WSTR o DT_NTEXT. Se una colonna contiene testo ma non ha uno di questi tipi di dati, sarà possibile utilizzare la trasformazione Conversione dati per aggiungere al flusso di dati una colonna con tipo di dati DT_WSTR o DT_NTEXT e copiare nella nuova colonna i valori della colonna originale. L'output della trasformazione Conversione dati può essere quindi utilizzato come input della trasformazione Estrazione termini. Per ulteriori informazioni, vedere Trasformazione Conversione dati.

Termini di esclusione

Facoltativamente, la trasformazione Estrazione termini può fare riferimento a una colonna in una tabella che contiene termini di esclusione, ovvero parole che la trasformazione deve ignorare durante l'estrazione dei termini da un set di dati. Ciò è utile quando è già stato identificato un set di termini non rilevanti per un'azienda o un settore specifico, in genere perché si presentano con una frequenza tale da non essere significativi. Durante l'estrazione di termini da un set di dati che contiene informazioni sul servizio di assistenza clienti per una particolare marca di automobili, ad esempio, è possibile escludere la marca stessa, perché viene citata troppo spesso per essere significativa. I valori nell'elenco di esclusione possono essere pertanto personalizzati in base al set di dati che si sta utilizzando.

Quando si aggiunge un termine all'elenco di esclusioni, vengono esclusi anche tutti i termini, parole o sintagmi nominali, che contengono tale termine. Se l'elenco di esclusioni contiene ad esempio solo la parola data, verranno esclusi anche tutti i termini che contengono tale parola, ad esempio data, data mining, data integrity e data validation. Se si desidera escludere solo i composti che contengono la parola data, è necessario aggiungerli esplicitamente all'elenco di esclusioni. Se ad esempio si desidera estrarre le incidenze di data ma escludere data validation, è necessario aggiungere data validation all'elenco di esclusioni e verificare che data venga rimosso dall'elenco.

La tabella di riferimento deve essere una tabella di un database di SQL Server o di Access. La trasformazione Estrazione termini utilizza una connessione OLE DB distinta per connettersi alla tabella di riferimento. Per ulteriori informazioni, vedere Gestione connessione OLE DB.

La trasformazione Estrazione termini funziona in una modalità con pre-memorizzazione nella cache completa. In fase di esecuzione legge i termini di esclusione dalla tabella di riferimento e li archivia nella propria memoria privata, prima di elaborare le righe di input della trasformazione.

Estrazione di termini da un testo

Per estrarre termini da un testo, la trasformazione Estrazione termini esegue le operazioni seguenti.

Identificazione di parole

La trasformazione Estrazione termini identifica innanzitutto le parole eseguendo le operazioni seguenti:

  • Suddivisione del testo in parole, tramite spazi, interruzioni di riga e altri caratteri di terminazione delle parole utilizzati nella lingua inglese. I segni di punteggiatura quali ? e : sono ad esempio caratteri per l'isolamento delle parole.

  • Mantenimento delle parole legate da segni meno o caratteri di sottolineatura. Le parole copy-protected e read-only, ad esempio, rimangono un'unica parola.

  • Mantenimento come parola unica degli acronimi che includono punti. La suddivisione in token dell'espressione A.B.C Company, ad esempio, genera le parole ABC e Company.

  • Suddivisione delle parole in corrispondenza di caratteri speciali. L'espressione date/time, ad esempio, genera le parole date e time, (bicycle) genera bicycle e C# genera C. I caratteri speciali vengono ignorati e non possono essere lessicalizzati.

  • Riconoscimento dei casi in cui i caratteri speciali, come l'apostrofo, non devono essere utilizzati per suddividere le parole. L'espressione bicycle's, ad esempio, non viene suddivisa in due parole e produce il termine singolo bicycle (sostantivo).

  • Suddivisione di espressioni di data e ora, espressioni di valuta, indirizzi di posta elettronica e indirizzi postali. La data January 31, 2004, ad esempio, viene suddivisa nei tre token January, 31 e 2004.

Parole con tag

La trasformazione Estrazione termini applica un tag a ogni parola in modo da identificarla come una delle parti del discorso seguenti:

  • Sostantivo in forma singolare, ad esempio bicycle e potato.

  • Sostantivo in forma plurale, ad esempio bicycles e potatoes. Tutti i sostantivi in forma plurale non lemmatizzati vengono sottoposti a stemming.

  • Nome proprio in forma singolare, ad esempio April e Peter.

  • Nome proprio in forma plurale, ad esempio Aprils e Peters. È possibile eseguire lo stemming dei soli nomi propri che fanno parte del lessico interno, limitato alle parole inglesi standard.

  • Aggettivo, ad esempio blue.

  • Aggettivo comparativo per il confronto di due elementi, ad esempio higher e taller.

  • Aggettivo superlativo che identifica un elemento con una qualità di livello superiore o inferiore a quello di almeno altri due elementi, ad esempio highest e tallest.

  • Numero, ad esempio 62 e 2004.

Le parole non identificate come una delle parti del discorso precedenti vengono ignorate. Questo avviene ad esempio per verbi e pronomi.

[!NOTA]

La classificazione delle parti del discorso è basata su un modello statistico e potrebbe non essere perfettamente accurata.

Se la trasformazione Estrazione termini è configurata in modo da estrarre solo i sostantivi, verranno estratte solo le parole classificate come forme singolari o plurali di sostantivi e nomi propri.

Se la trasformazione Estrazione termini è configurata in modo da estrarre solo sintagmi nominali, è possibile che parole classificate come sostantivi, nomi propri, aggettivi e numeri vengano combinate in modo da formare un sintagma nominale, che tuttavia deve includere almeno una parola classificata come forma singolare o plurale di un sostantivo o nome proprio. Il sintagma nominale highest mountain, ad esempio, è ottenuto combinando una parola classificata come aggettivo superlativo (highest) e una parola classificata come sostantivo (mountain).

Se la trasformazione Estrazione termini è configurata in modo da estrarre sia sostantivi che sintagmi nominali, verranno applicate sia le regole relative ai sostantivi che quelle relative ai sintagmi nominali. Dal testo many beautiful blue bicycles, ad esempio, la trasformazione estrae bicycle e beautiful blue bicycle.

[!NOTA]

I termini estratti sono soggetti alle soglie di lunghezza e frequenza utilizzate dalla trasformazione.

Parole in forma flessiva

La trasformazione Estrazione termini esegue lo stemming (ricerca di radici di parole) dei sostantivi in modo da estrarre solo la forma singolare. La trasformazione estrae ad esempio man da men, mouse da mice e bicycle da bicycles. Per questo scopo viene utilizzato il dizionario interno. I gerundi vengono trattati come sostantivi, se presenti nel dizionario.

Utilizzando il dizionario interno la trasformazione Estrazione termini esegue quindi le operazioni di stemming delle parole riportate negli esempi, in modo da ottenere la forma presente nel dizionario.

  • Rimozione della desinenza s dai nomi. Ad esempio, bicycles diventa bicycle.

  • Rimozione della desinenza es dai nomi. Ad esempio, stories diventa story.

  • Recupero dal dizionario della forma singolare per i sostantivi irregolari. Ad esempio, geese diventa goose.

Parole normalizzate

La trasformazione Estrazione termini normalizza i termini che hanno iniziale maiuscola solo a causa della propria posizione nella frase, sostituendoli con la forma senza maiuscole. Nelle frasi Dogs chase cats e Mountain paths are steep, ad esempio, le parole Dogs e Mountain vengono normalizzate in dog e mountain.

La trasformazione Estrazione termini normalizza le parole in modo che le versioni con e senza maiuscole di una stessa parola non vengano considerate come termini diversi. Nel testo You see many bicycles in Seattle e Bicycles are blue, ad esempio, le parole bicycles e Bicycles vengono riconosciute come uno stesso termine e la trasformazione mantiene solo la versione bicycle. Le parole e i nomi propri non elencati nel dizionario interno non vengono normalizzati.

Normalizzazione con distinzione tra maiuscole e minuscole

È possibile configurare la trasformazione Estrazione termini in modo da considerare le parole maiuscole e minuscole come termini diversi o come varianti diverse di uno stesso termine.

  • In questo caso, parole quali Method e method vengono estratte come due termini diversi. Le parole con iniziale maiuscola che non si trovano all'inizio di una frase non vengono mai normalizzate e vengono classificate come nomi propri.

  • Se la trasformazione è configurata in modo da non fare distinzione tra maiuscole e minuscole, parole quali Method e method verranno riconosciute come varianti di un singolo termine. L'elenco dei termini estratti può includere Method o method, a seconda della parola che compare per prima nel set di dati di input. Se la parola Method ha iniziale maiuscola solo perché è all'inizio di una frase, verrà estratta in forma normalizzata.

Delimitatori di parole e frasi

Per suddividere il testo in frasi, la trasformazione Estrazione termini utilizza i caratteri seguenti come delimitatori di frase:

  • Caratteri ASCII di interruzione di riga, 0x0d (ritorno a capo) e 0x0a (avanzamento riga). Tali caratteri vengono utilizzati come delimitatori di frase solo se nella riga sono presenti due o più caratteri di interruzione di riga.

  • Segno meno (–). Tale carattere viene utilizzato come delimitatore di frase solo se non è preceduto né seguito da una lettera.

  • Carattere di sottolineatura (_). Tale carattere viene utilizzato come delimitatore di frase solo se non è preceduto né seguito da una lettera.

  • Tutti i caratteri Unicode minori o uguali a 0x19 o maggiori o uguali a 0x7b.

  • Combinazioni di numeri, segni di punteggiatura e caratteri alfabetici. Ad esempio, dal testo A23B#99 viene restituito il termine A23B.

  • Caratteri %, @, &, $, #, *, :, ;, ., , , !, ?, <, >, +, =, ^, ~, |, \, /, (, ), [, ], {, }, “ e ‘.

    [!NOTA]

    Gli acronimi che includono uno o più punti (.) non vengono suddivisi in più frasi.

La trasformazione Estrazione termini suddivide quindi le frasi in parole utilizzando i delimitatori di parola seguenti:

  • Spazio

  • Tabulazione

  • Carattere ASCII 0x0d (ritorno a capo)

  • Carattere ASCII 0x0a (avanzamento riga)

    [!NOTA]

    Se viene rilevato un apostrofo in un'espressione costituita da una contrazione, ad esempio we're o it's, l'espressione verrà suddivisa in corrispondenza dell'apostrofo, altrimenti le lettere che seguono l'apostrofo verranno eliminate. L'espressione we're, ad esempio, viene suddivisa in we e 're, mentre bicycle's viene tagliata in modo da ottenere bicycle.

Configurazione della trasformazione Estrazione termini

Per generare i risultati la trasformazione Estrazione termini utilizza algoritmi interni e modelli statistici. Può essere necessario eseguire la trasformazione Estrazione termini più volte ed esaminare i risultati per configurare la trasformazione in modo da generare il tipo di risultati più adatto per la propria soluzione di text mining.

Questa trasformazione include un input regolare, un output e un output degli errori.

È possibile impostare le proprietà tramite Progettazione SSIS o a livello di codice.

Per ulteriori informazioni sulle proprietà che è possibile impostare nella finestra di dialogo Editor trasformazione Estrazione termini, fare clic su uno degli argomenti seguenti:

Per ulteriori informazioni sulle proprietà che è possibile impostare nella finestra di dialogo Editor avanzato o a livello di codice, fare clic su uno degli argomenti seguenti:

Per ulteriori informazioni sull'impostazione delle proprietà, vedere Impostazione delle proprietà di un componente del flusso di dati.

Contenuto correlato

Icona di Integration Services (piccola) Rimanere aggiornati con Integration Services

Per i download, gli articoli, gli esempi e i video Microsoft più recenti, oltre alle soluzioni selezionate dalla community, visitare la pagina Integration Services sul sito MSDN:


Per ricevere notifica automatica su questi aggiornamenti, sottoscrivere i feed RSS disponibili nella pagina.