Esercitazione: Introduzione alle funzionalità cognitive di U-SQLTutorial: Get started with the Cognitive capabilities of U-SQL

PanoramicaOverview

Le funzionalità cognitive per U-SQL consentono agli sviluppatori di usare l'intelligence nei programmi di Big Data che creano.Cognitive capabilities for U-SQL enable developers to use put intelligence in their big data programs.

Sono disponibili le funzionalità cognitive seguenti:The following cognitive capabilities are available:

  • Immagini: rilevamento visiImaging: Detect faces
  • Immagini: rilevamento emozioniImaging: Detect emotion
  • Immagini: rilevamento oggetti (aggiunta di tag)Imaging: Detect objects (tagging)
  • Immagini: OCR (riconoscimento ottico dei caratteri)Imaging: OCR (optical character recognition)
  • Testo: estrazione frasi chiaveText: Key Phrase Extraction
  • Testo: analisi del sentimentText: Sentiment Analysis

Come usare le funzionalità cognitive negli script U-SQLHow to use Cognitive in your U-SQL script

Il processo complessivo è semplice:The overall process is simple:

  • Usare l'istruzione REFERENCE ASSEMBLY per abilitare le funzionalità cognitive per lo script U-SQLUse the REFERENCE ASSEMBLY statement to enable the cognitive features for the U-SQL Script
  • Usare PROCESS in un set di righe di input usando un oggetto UDO delle funzionalità cognitive per generare un set di righe di outputUse the PROCESS on an input Rowset using a Cognitive UDO, to generate an output RowSet

Rilevamento di oggetti nelle immaginiDetecting objects in images

L'esempio seguente illustra come usare le funzionalità cognitive per rilevare gli oggetti nelle immagini.The following example shows how to use the cognitive capabilities to detect objects in images.

REFERENCE ASSEMBLY ImageCommon;
REFERENCE ASSEMBLY FaceSdk;
REFERENCE ASSEMBLY ImageEmotion;
REFERENCE ASSEMBLY ImageTagging;
REFERENCE ASSEMBLY ImageOcr;

// Get the image data

@imgs =
    EXTRACT 
        FileName string, 
        ImgData byte[]
    FROM @"/usqlext/samples/cognition/{FileName}.jpg"
    USING new Cognition.Vision.ImageExtractor();

//  Extract the number of objects on each image and tag them 

@tags =
    PROCESS @imgs 
    PRODUCE FileName,
            NumObjects int,
            Tags SQL.MAP<string, float?>
    READONLY FileName
    USING new Cognition.Vision.ImageTagger();

@tags_serialized =
    SELECT FileName,
           NumObjects,
           String.Join(";", Tags.Select(x => String.Format("{0}:{1}", x.Key, x.Value))) AS TagsString
    FROM @tags;

OUTPUT @tags_serialized
    TO "/tags.csv"
    USING Outputters.Csv();

Per altri esempi, vedere gli esempi di funzionalità cognitive U-SQL nella sezione Passaggi successivi.For more examples, look at the U-SQL/Cognitive Samples in the Next steps section.

Passaggi successiviNext steps