Condividi tramite


Preprocess Text

Importante

Il supporto dello studio di Azure Machine Learning (versione classica) terminerà il 31 agosto 2024. È consigliabile passare ad Azure Machine Learning entro tale data.

A partire dal 1° dicembre 2021 non sarà possibile creare nuove risorse dello studio di Azure Machine Learning (versione classica). Fino al 31 agosto 2024 sarà possibile continuare a usare le risorse dello studio di Azure Machine Learning (versione classica).

La documentazione relativa allo studio di Machine Learning (versione classica) è in fase di ritiro e potrebbe non essere aggiornata in futuro.

Esegue operazioni di pulizia sul testo

Categoria: Analisi del testo

Nota

Si applica a: Machine Learning Studio (versione classica)

Moduli di trascinamento della selezione simili sono disponibili nella finestra Azure Machine Learning progettazione.

Panoramica del modulo

Questo articolo descrive come usare il modulo Pre-elabora testo in Machine Learning Studio (versione classica) per pulire e semplificare il testo. Pre-elaborando il testo, è possibile creare più facilmente funzionalità significative dal testo.

Ad esempio, il modulo Pre-elabora testo supporta queste operazioni comuni sul testo:

  • Rimozione di parole non pronunciate
  • Uso di espressioni regolari per cercare e sostituire stringhe di destinazione specifiche
  • Lemmatizzazione, che converte più parole correlate in un'unica forma canonica
  • Applicazione di filtri a parti specifiche del riconoscimento vocale
  • Normalizzazione delle maiuscole e minuscole
  • Rimozione di determinate classi di caratteri, ad esempio numeri, caratteri speciali e sequenze di caratteri ripetuti, ad esempio "aaaa"
  • Identificazione e rimozione di messaggi di posta elettronica e URL

È possibile scegliere le opzioni di pulizia da usare e, facoltativamente, specificare un elenco personalizzato di parole non erre.

Il modulo supporta attualmente sei lingue: inglese, spagnolo, francese, olandese, tedesco e italiano.

Come configurare la pre-elaborazione del testo

  1. Aggiungere il modulo Pre-elabora testo all'esperimento in Studio (versione classica). È possibile trovare questo modulo in Analisi del testo.

  2. Connessione un set di dati con almeno una colonna contenente testo.

  3. Se il testo che si sta pre-elaborando è nella stessa lingua, selezionare la lingua dall'elenco a discesa Lingua. Con questa opzione, il testo viene pre-elaborato usando regole linguistiche specifiche per la lingua selezionata.

  4. Per pre-elaborare testo che potrebbe contenere più lingue, scegliere l'opzione Colonna contiene la lingua .

    Usare quindi la proprietà culture-language column per scegliere una colonna nel set di dati che indica la lingua usata in ogni riga. La colonna deve contenere un identificatore di lingua standard, ad esempio "English" o en.

    In base a questo identificatore, il modulo applica le risorse linguistiche appropriate per elaborare il testo.

    Se il set di dati non contiene tali identificatori, usare il modulo Rileva lingua per analizzare in anticipo la lingua e generare un identificatore.

    Suggerimento

    Se viene inclusa una lingua non supportata, viene generato un errore. Per altre informazioni, vedere la sezione Note tecniche.

  5. Rimuovi per parte del riconoscimento vocale: selezionare questa opzione se si vuole applicare l'analisi della parte della voce. È quindi possibile usare i tag part-of-speech per rimuovere determinate classi di parole.

    • Rimuovi sostantivi: selezionare questa opzione per rimuovere i sostantivi.
    • Rimuovi aggettivi: selezionare questa opzione per rimuovere gli aggettivi.
    • Rimuovi verbi: selezionare questa opzione per rimuovere i verbi.

    Per altre informazioni sul metodo di identificazione della parte del riconoscimento vocale usato, vedere la sezione Note tecniche.

  6. Colonna di testo da pulire: selezionare la colonna o le colonne da pre-elaborare.

  7. Rimuovi parole non valide: selezionare questa opzione se si vuole applicare un elenco di parole non parole non valide predefinito alla colonna di testo. L'arresto della rimozione di parole viene eseguito prima di qualsiasi altro processo.

    Gli elenchi di parole non intesi dipendono dalla lingua e personalizzabili; Per altre informazioni, vedere la sezione Note tecniche.

  8. Lemmatization (Lemmatizzazione): selezionare questa opzione se si vuole che le parole siano rappresentate nel formato canonico. Questa opzione è utile per ridurre il numero di occorrenze univoche di token di testo altrimenti simili.

    Il processo di lemmatizzazione è altamente dipendente dalla lingua; per informazioni dettagliate, vedere la sezione Note tecniche.

  9. Rileva frasi: selezionare questa opzione se si vuole che il modulo inserisca un segno di limite della frase durante l'esecuzione dell'analisi.

    Questo modulo usa una serie di tre caratteri barra verticale per ||| rappresentare il terminatore di frase.

  10. Facoltativamente, è possibile eseguire operazioni di ricerca e sostituzione personalizzate usando espressioni regolari.

    • Espressione regolare personalizzata: definire il testo che si sta cercando.
    • Stringa di sostituzione personalizzata: definire un singolo valore di sostituzione.
  11. Normalizza maiuscole e minuscole: selezionare questa opzione se si desidera convertire i caratteri maiuscoli ASCII nelle relative forme minuscole.

    Se i caratteri non sono normalizzati, la stessa parola in lettere maiuscole e minuscole viene considerata due parole diverse: ad esempio, AM è uguale a am.

  12. Facoltativamente, è possibile rimuovere i tipi di caratteri o le sequenze di caratteri seguenti dal testo di output elaborato:

    • Rimuovi numeri: selezionare questa opzione per rimuovere tutti i caratteri numerici per la lingua specificata.

    L'identificazione di ciò che costituisce un numero dipende dal dominio e dalla lingua. Se i caratteri numerici sono parte integrante di una parola nota, il numero potrebbe non essere rimosso.

    • Rimuovi caratteri speciali: usare questa opzione per sostituire tutti i caratteri speciali non alfanumerici con il carattere barra | verticale.

      Per altre informazioni sui caratteri speciali, vedere la sezione Note tecniche.

    • Rimuovi caratteri duplicati: selezionare questa opzione per rimuovere le sequenze che ripetono i caratteri. Ad esempio, una sequenza come "aaaaa" verrà rimossa.

    • Rimuovi indirizzi di posta elettronica: selezionare questa opzione per rimuovere qualsiasi sequenza del formato <string>@<string>.

    • Rimuovi URL: selezionare questa opzione per rimuovere qualsiasi sequenza che includa i prefissi URL seguenti:

      • http, https
      • ftp
      • www
  13. Espandere le contrazioni dei verbi: questa opzione si applica solo ai linguaggi che usano le contrazioni dei verbi. attualmente, solo inglese.

    Ad esempio, selezionando questa opzione, è possibile sostituire la frase "would't stay there" con "would not stay there".

  14. Normalizzare le barre rovesciate in barre: selezionare questa opzione per eseguire il mapping di tutte le istanze di \\ a /.

  15. Suddividere i token in caratteri speciali: selezionare questa opzione se si desidera interrompere &le parole in caratteri come , -e così via.

    Ad esempio, la stringa MS-WORD sarebbe separata in due token, MS e WORD.

Esempio

Gli esempi seguenti nella Azure AI Gallery illustrano l'uso del modulo Pre-elabora testo:

Note tecniche

In questa sezione vengono fornite altre informazioni sulla tecnologia di pre-elaborazione del testo sottostante e su come specificare risorse di testo personalizzate.

Linguaggi supportati

Attualmente Machine Learning supporta la pre-elaborazione del testo nelle lingue seguenti:

  • Olandese
  • Inglese
  • Francese
  • Tedesco
  • Italiano
  • Spagnolo

Sono pianificate altre lingue. Per gli annunci, vedere il blog di Microsoft Machine Learning.

Lemmatizzazione

La lemmatizzazione è il processo di identificazione di un singolo formato canonico per rappresentare più token di parola.

Le librerie di elaborazione del linguaggio naturale incluse in Machine Learning Studio (versione classica) combinano le seguenti più operazioni linguistiche per fornire la lemmatizzazione:

  • Separazione delle frasi: nel testo libero usato per l'analisi del sentiment e altre analisi del testo, le frasi sono spesso in esecuzione o la punteggiatura potrebbe mancare. I testi di input possono costituire un blocco di testo arbitrariamente lungo, che va da un tweet o un frammento a un paragrafo completo o persino a un documento.

    Gli strumenti in linguaggio naturale usati da Studio (classico) eseguono la separazione delle frasi come parte dell'analisi lessicale sottostante. Tuttavia, le frasi non sono separate nell'output. Facoltativamente, è possibile specificare che un limite di frase sia contrassegnato per facilitare l'elaborazione e l'analisi del testo.

  • Tokenizzazione: le regole che determinano i limiti delle parole dipendono dalla lingua e possono essere complesse anche nei linguaggi che usano spazi tra le parole.

    Alcune lingue(ad esempio cinese o giapponese) non usano spazi vuoti tra le parole e la separazione delle parole richiede l'analisi morfologica.

    Pertanto, i metodi e le regole di tokenizzazione usati in questo modulo forniscono risultati diversi da una lingua all'altra. Queste regole di tokenizzazione sono determinate dalle librerie di analisi del testo fornite da Microsoft Research per ogni lingua supportata e non possono essere personalizzate.

  • Identificazione della parte del parlato: in qualsiasi sequenza di parole può essere difficile identificare in modo computazionale la parte esatta del parlato per ogni parola. Anche una frase apparentemente semplice, ad esempio "Il tempo vola come una freccia" può avere molte decine di analisi (un esempio noto). Anche le parti del parlato sono molto diverse a seconda della morfologia delle diverse lingue.

    In Machine Learning, un modello di disambiguazione viene usato per scegliere la singola parte più probabile del parlato, dato il contesto della frase corrente. Le informazioni sulla parte del parlato vengono usate per filtrare le parole usate come funzionalità e facilitare l'estrazione di frasi chiave. Tuttavia, l'output di questo modulo non include in modo esplicito i tag POS e pertanto non può essere usato per generare testo con tag POS.

  • Generazione della forma del dizionario: una parola può avere più lemma, o forme di dizionario, ognuna proveniente da un'analisi diversa. Ad esempio, la creazione di parole in inglese ha due possibili lemma: la compilazione se la parola è un sostantivo ("edificio alto" ) o la compilazione se la parola è un verbo ("stanno creando una casa"). In Machine Learning viene generato solo il modulo di dizionario più probabile.

Output di lemmatizzazione di esempio

Origine Lemmatized con conversione di maiuscole e minuscole
Sta per fare il nuoto lui i swim
Si sta per fare una nuotata lui i go for a swim
Il nuoto è un bene per la costruzione di un muscolo swim be good for build muscle
Sta creando un edificio lui ho compilato una compilazione
Tutti gli edifici vengono costruiti siamo tutti build building

Nota

I modelli linguistici usati per generare la forma del dizionario sono stati addestrati e testati in base a un'ampia gamma di testi tecnici e di utilizzo generico e vengono usati in molti altri prodotti Microsoft che richiedono API in linguaggio naturale. Tuttavia, il linguaggio naturale è intrinsecamente ambiguo e l'accuratezza del 100% su tutti i vocabolari non è fattibile. Ad esempio, la lemmatizzazione può essere interessata da altre parti del parlato o dal modo in cui la frase viene analizzata.

Se è necessario eseguire una pre-elaborazione aggiuntiva o eseguire l'analisi linguistica usando un vocabolario specializzato o dipendente dal dominio, è consigliabile usare strumenti NLP personalizzabili, ad esempio quelli disponibili in Python e R.

Caratteri speciali

I caratteri speciali sono definiti come singoli caratteri che non possono essere identificati come altre parti del parlato e possono includere segni di punteggiatura: due punti, punti e virgola e così via.

Parole non significative

Una parola non significativa (o parola non significativa) è una parola spesso rimossa dagli indici perché è comune e fornisce poco valore per il recupero delle informazioni, anche se potrebbe essere linguisticamente significativa.

Ad esempio, molti linguaggi fanno una distinzione semantica tra articoli definito e indefinito ("edificio" e "edificio"), ma per machine learning e recupero delle informazioni, le informazioni talvolta non sono rilevanti. Di conseguenza, è possibile decidere di eliminare queste parole.

Il Machine Learning include elenchi delle parole non comuni più comuni per ognuna delle lingue supportate.

Linguaggio Numero di parole non ergasto Esempio
Olandese 49 aan, af, al
Inglese 312 a, about, above
Francese 154 de, des, d', la
Tedesco 602 a, ab, aber
Italiano 135 a, ora, ai
Spagnolo 368 ésa, ésta, éste

Per praticità, in Archiviazione di Azure è stato reso disponibile un file compresso contenente le parole non di parole non supportate predefinite per tutte le lingue correnti:Stopwords.zip.

Come modificare l'elenco di parole non parole non parola

Si prevede che molti utenti vogliano creare i propri elenchi di parole non ergasto o modificare i termini inclusi nell'elenco predefinito. L'esperimento seguente in Cortana Intelligence Gallery illustra come personalizzare un elenco di parole non parole non bloccate.

Se si modifica l'elenco o si crea un proprio elenco di parole non erre, osservare questi requisiti:

  • Il file deve contenere una singola colonna di testo. Se è presente una colonna aggiuntiva, è possibile che venga visualizzato l'errore seguente: "Pre-elabora il modello di selezione della colonna di errore di testo "Colonna di testo da pulire" dovrebbe fornire una o più colonne selezionate nel set di dati di input, ma due colonne sono o vengono effettivamente fornite. ( Errore 0022 )"

    In questo caso, cercare spazi, tabulazioni o colonne nascoste presenti nel file da cui è stato originariamente importato l'elenco di parole non comuni. A seconda della modalità di preparazione del file, le tabulazioni o le virgole incluse nel testo possono anche causare la creazione di più colonne.

    Quando viene visualizzato questo errore, esaminare il file di origine o usare il modulo Seleziona colonne nel set di dati per scegliere una singola colonna da passare al modulo Pre-elabora testo.

  • Ogni riga può contenere una sola parola. Ai fini dell'analisi del file, le parole sono determinate dall'inserimento di spazi.

  • L'elenco di parole non vuote non può essere vuoto.

Ordine delle operazioni

In questo modulo è possibile applicare più operazioni al testo. Tuttavia, l'ordine in cui vengono applicate queste operazioni non può essere modificato. Ciò può influire sui risultati previsti.

Ad esempio, se si applica la lemmatizzazione al testo e si usa anche la rimozione delle parole non parole non pronunciate, tutte le parole vengono convertite nei relativi formati lemma prima che venga applicato l'elenco di parole non pronunciate. Pertanto, se il testo include una parola che non è presente nell'elenco delle parole non intema, ma il relativo lemma è incluso nell'elenco delle parole non di base, la parola verrà rimossa.

Assicurarsi di testare in anticipo le condizioni di destinazione per garantire i risultati corretti.

Lingue non supportate

Se la colonna di testo include lingue non supportate da Machine Learning, è consigliabile usare solo le opzioni che non richiedono l'elaborazione dipendente dalla lingua. Ciò consente di evitare risultati imprevisti.

Inoltre, se si usa l'opzione Colonna contiene lingua, è necessario assicurarsi che nel testo elaborato non siano incluse lingue non supportate. Se nel set di dati è presente un linguaggio non supportato o il relativo identificatore, viene generato l'errore di runtime seguente:

"Errore di pre-elaborazione del testo (0039): specificare una lingua supportata".

Per evitare errori nell'intero esperimento perché è stata rilevata una lingua non supportata, usare il modulo Dividi dati e specificare un'espressione regolare per dividere il set di dati in linguaggi supportati e non supportati.

Ad esempio, l'espressione regolare seguente suddivide il set di dati in base alla lingua rilevata per la colonna Sentence:

\"Sentence Language" Dutch|English|French|Italian|Spanish

Se si dispone di una colonna che contiene l'identificatore di lingua o se è stata generata una colonna di questo tipo, è possibile usare un'espressione regolare come la seguente per filtrare in base alla colonna identificatore:

\"Sentence Iso6391 Name" nl|en|fr|it|es

Input previsti

Nome Tipo Descrizione
Set di dati Tabella dati Dati di input
Parole non pronunciate Tabella dati Elenco personalizzato facoltativo di parole non riservate da rimuovere

Parametri del modulo

Nome Tipo Intervallo Facoltativo Predefinito Descrizione
Rimuovere gli URL Boolean True

Falso
Necessario true Rimuovere gli URL
Linguaggio Linguaggio Inglese

Spagnolo

Francese

Olandese

Tedesco

Italiano
Necessario Inglese Selezionare la lingua da pre-elaborare
Colonna di testo da pulire Selezione colonne Necessario StringFeature Selezionare la colonna di testo da pulire
Espressione regolare personalizzata string Facoltativo Specificare l'espressione regolare personalizzata
Stringa di sostituzione personalizzata string Facoltativo Specificare la stringa di sostituzione personalizzata per l'espressione regolare personalizzata
Rimuovere le parole non pronunciate Boolean Necessario true Rimuovere le parole non pronunciate
Lemmatizzazione Boolean Necessario true Usare la lemmatizzazione
Rimuovi per parte del riconoscimento vocale Tipo True False true

false
Necessario Falso Indicare se è necessario usare l'analisi della parte della voce per identificare e rimuovere determinate classi di parole
Rimuovere i sostantivi Boolean Si applica quando è selezionata l'opzione Filtra per parte del riconoscimento vocale true Rimuovere i sostantivi
Rimuovere gli aggettivi Boolean Si applica quando è selezionata l'opzione Filtra per parte del riconoscimento vocale true Rimuovere gli aggettivi
Rimuovere i verbi Boolean Si applica quando è selezionata l'opzione Filtra per parte del riconoscimento vocale true Rimuovere i verbi
Rilevare le frasi Boolean Necessario true Rilevare le frasi aggiungendo un carattere di terminazione della frase \"||| \" che può essere usato dal modulo n-gram features extractor
Normalizzare la combinazione di maiuscole e minuscole Boolean Necessario true Normalizzare la combinazione di maiuscole e minuscole
Rimuovere i numeri Boolean Necessario true Rimuovere i numeri
Rimuovere i caratteri speciali Boolean Necessario true Rimuovere i caratteri speciali non alfanumerici e sostituirli con il carattere \"|\"
Rimuovere i caratteri duplicati Boolean Necessario true Rimuovere i caratteri duplicati
Rimuovere gli indirizzi di posta elettronica Boolean Necessario true Rimuovere gli indirizzi di posta elettronica

Output

Nome Tipo Descrizione
Set di dati di risultati Tabella dati Set di dati di risultati

Eccezioni

Eccezione Descrizione
Errore 0003 Si verifica un'eccezione se uno o più input sono Null o vuoti.
Errore 0030 Viene generata un'eccezione se non è possibile scaricare un file.
Errore 0048 Viene generata un'eccezione quando non è possibile aprire un file.
Errore 0049 Viene generata un'eccezione quando non è possibile analizzare un file.

Per un elenco di errori specifici dei moduli di Studio (versione classica), vedere l'Machine Learning codici di errore.

Per un elenco delle eccezioni API, vedere l'Machine Learning di errore dell'API REST.

Vedi anche

Analisi del testo

Elenco moduli A-Z