Escolher uma tecnologia do Azure de processamento de linguagem naturalChoosing a natural language processing technology in Azure

Processamento de texto de forma livre é executado em relação a documentos que contenham parágrafos de texto, normalmente, para fins de suporte de pesquisa, mas também é utilizado para executar outras tarefas de processamento de linguagem natural (NLP) como a análise de sentimentos, deteção de tópicos, Deteção de idioma, extração de expressões-chave e categorização do documento.Free-form text processing is performed against documents containing paragraphs of text, typically for the purpose of supporting search, but is also used to perform other natural language processing (NLP) tasks such as sentiment analysis, topic detection, language detection, key phrase extraction, and document categorization. Este artigo incide sobre as opções de tecnologia que atuam como suporte as tarefas NLP.This article focuses on the technology choices that act in support of the NLP tasks.

Quais são as opções ao escolher um serviço NLP?What are your options when choosing an NLP service?

No Azure, os seguintes serviços fornecem linguagem natural (NLP) recursos de processamento:In Azure, the following services provide natural language processing (NLP) capabilities:

Principais critérios de seleçãoKey selection criteria

Para limitar as opções, comece por resposta a estas perguntas:To narrow the choices, start by answering these questions:

  • Deseja usar modelos pré-construídos?Do you want to use prebuilt models? Em caso afirmativo, considere utilizar as APIs oferecidas pelos serviços cognitivos da Microsoft.If yes, consider using the APIs offered by Microsoft Cognitive Services.

  • Precisa preparar modelos personalizados em relação a um grande corpus de dados de texto?Do you need to train custom models against a large corpus of text data? Em caso afirmativo, considere a utilização do Azure HDInsight com o Spark MLlib e o NLP do Spark.If yes, consider using Azure HDInsight with Spark MLlib and Spark NLP.

  • Precisa de baixo nível NLP capacidades, como atomização, Lematização, Lematização e frequência de documento do termo frequência/inverso (TF/IDF)?Do you need low-level NLP capabilities like tokenization, stemming, lemmatization, and term frequency/inverse document frequency (TF/IDF)? Em caso afirmativo, considere a utilização do Azure HDInsight com o Spark MLlib e o NLP do Spark.If yes, consider using Azure HDInsight with Spark MLlib and Spark NLP.

  • Precisa de capacidades NLP simples e de alto nível, como a identificação de entidade e propósito, deteção de tópicos, verificação de ortografia ou análise de sentimentos?Do you need simple, high-level NLP capabilities like entity and intent identification, topic detection, spell check, or sentiment analysis? Em caso afirmativo, considere utilizar as APIs oferecidas pelos serviços cognitivos da Microsoft.If yes, consider using the APIs offered by Microsoft Cognitive Services.

Matriz de capacidadeCapability matrix

As tabelas seguintes resumem as principais diferenças nos recursos.The following tables summarize the key differences in capabilities.

Capacidades geraisGeneral capabilities

Azure HDInsightAzure HDInsight Serviços Cognitivos da MicrosoftMicrosoft Cognitive Services
Fornece pré-preparadas com modelos como um serviçoProvides pretrained models as a service NãoNo SimYes
API RESTREST API SimYes SimYes
ProgramabilidadeProgrammability Python, Scala, JavaPython, Scala, Java C#, Java, node. js, Python, PHP, RubyC#, Java, Node.js, Python, PHP, Ruby
Processamento de suporte de grandes conjuntos de dados e documentos grandesSupport processing of big data sets and large documents SimYes NãoNo

Recursos de processamento de baixo nível de linguagem naturalLow-level natural language processing capabilities

Azure HDInsightAzure HDInsight Serviços Cognitivos da MicrosoftMicrosoft Cognitive Services
AtomizadorTokenizer Sim (NLP do Spark)Yes (Spark NLP) Sim (API de análise linguística)Yes (Linguistic Analysis API)
LematizadorStemmer Sim (NLP do Spark)Yes (Spark NLP) NãoNo
LemmatizerLemmatizer Sim (NLP do Spark)Yes (Spark NLP) NãoNo
Parte da identificação de vozPart of speech tagging Sim (NLP do Spark)Yes (Spark NLP) Sim (API de análise linguística)Yes (Linguistic Analysis API)
Frequência de frequência/inversas-documento do termo (TF/IDF)Term frequency/inverse-document frequency (TF/IDF) Sim (Spark MLlib)Yes (Spark MLlib) NãoNo
Cadeia de caracteres de semelhança—editar o cálculo de distânciaString similarity—edit distance calculation Sim (Spark MLlib)Yes (Spark MLlib) NãoNo
Cálculo de grama-NN-gram calculation Sim (Spark MLlib)Yes (Spark MLlib) NãoNo
Parar a remoção do wordStop word removal Sim (Spark MLlib)Yes (Spark MLlib) NãoNo

Recursos de processamento de alto nível de linguagem naturalHigh-level natural language processing capabilities

Azure HDInsightAzure HDInsight Serviços Cognitivos da MicrosoftMicrosoft Cognitive Services
Identificação de entidade/intenção & extraçãoEntity/intent identification & extraction NãoNo Sim (Language Understanding Intelligent Service (LUIS) API)Yes (Language Understanding Intelligent Service (LUIS) API)
Deteção de tópicosTopic detection Sim (NLP do Spark)Yes (Spark NLP) Sim (análise de texto API)Yes (Text Analytics API)
Verificação ortográficaSpell checking Sim (NLP do Spark)Yes (Spark NLP) Sim (verificação de ortografia do Bing API)Yes (Bing Spell Check API)
Análise de sentimentosSentiment analysis Sim (NLP do Spark)Yes (Spark NLP) Sim (análise de texto API)Yes (Text Analytics API)
Deteção de idiomaLanguage detection NãoNo Sim (análise de texto API)Yes (Text Analytics API)
Suporta vários idiomas, além do inglêsSupports multiple languages besides English NãoNo Sim (varia de acordo com a API)Yes (varies by API)

Consulte tambémSee also

Processamento de linguagem naturalNatural language processing