Elección de una tecnología de procesamiento de lenguaje natural en AzureChoosing a natural language processing technology in Azure

El procesamiento de texto de forma libre se realiza en documentos que contienen párrafos de texto, normalmente con el propósito de ayudar a las búsquedas, pero también se usa para realizar otras tareas de procesamiento de lenguaje natural (NLP) como, por ejemplo, análisis de opiniones, detección de temas, detección de idioma, extracción de frases clave y clasificación de documentos.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 artículo se centra en las opciones de tecnología que actúan en apoyo de las tareas de procesamiento del lenguaje natural (NLP).This article focuses on the technology choices that act in support of the NLP tasks.

¿Cuáles son las opciones al elegir un servicio NLP?What are your options when choosing an NLP service?

En Azure, los servicios siguientes proporcionan funcionalidades de procesamiento de lenguaje natural (NLP):In Azure, the following services provide natural language processing (NLP) capabilities:

Principales criterios de selecciónKey selection criteria

Para restringir las opciones, empiece por responder a estas preguntas:To narrow the choices, start by answering these questions:

  • ¿Desea usar modelos creados previamente?Do you want to use prebuilt models? Si es así, considere la posibilidad de usar las API que ofrece Microsoft Cognitive Services.If yes, consider using the APIs offered by Microsoft Cognitive Services.

  • ¿Necesita entrenar modelos personalizados en un corpus grande de datos de texto?Do you need to train custom models against a large corpus of text data? Si es así, considere la posibilidad de usar Azure HDInsight con Spark MLlib y Spark NLP.If yes, consider using Azure HDInsight with Spark MLlib and Spark NLP.

  • ¿Necesita funcionalidades de procesamiento de lenguaje natural de bajo nivel como tokenización, lematización y frecuencia de términos o frecuencia inversa de documento (TF/IDF)?Do you need low-level NLP capabilities like tokenization, stemming, lemmatization, and term frequency/inverse document frequency (TF/IDF)? Si es así, considere la posibilidad de usar Azure HDInsight con Spark MLlib y Spark NLP.If yes, consider using Azure HDInsight with Spark MLlib and Spark NLP.

  • ¿Necesita capacidades de procesamiento de lenguaje natural simples y de alto nivel como identificación de entidades e intenciones, detección de temas, corrector ortográfico o análisis de opiniones?Do you need simple, high-level NLP capabilities like entity and intent identification, topic detection, spell check, or sentiment analysis? Si es así, considere la posibilidad de usar las API que ofrece Microsoft Cognitive Services.If yes, consider using the APIs offered by Microsoft Cognitive Services.

Matriz de funcionalidadesCapability matrix

En las tablas siguientes se resumen las diferencias clave en cuanto a funcionalidades.The following tables summarize the key differences in capabilities.

Funcionalidades generalesGeneral capabilities

HDInsight de AzureAzure HDInsight Microsoft Cognitive ServicesMicrosoft Cognitive Services
Proporciona modelos previamente entrenados como un servicioProvides pretrained models as a service NoNo Yes
API DE RESTREST API Yes Yes
ProgramaciónProgrammability Python, Scala, JavaPython, Scala, Java C#, Java, Node.js, Python, PHP, RubyC#, Java, Node.js, Python, PHP, Ruby
Admite el procesamiento de macrodatos y documentos de gran tamañoSupport processing of big data sets and large documents Yes NoNo

Funcionalidades de procesamiento de lenguaje natural de bajo nivelLow-level natural language processing capabilities

HDInsight de AzureAzure HDInsight Microsoft Cognitive ServicesMicrosoft Cognitive Services
TokenizadorTokenizer Sí (Spark NLP)Yes (Spark NLP) Sí (Linguistic Analysis API)Yes (Linguistic Analysis API)
LematizadorStemmer Sí (Spark NLP)Yes (Spark NLP) NoNo
LematizadorLemmatizer Sí (Spark NLP)Yes (Spark NLP) NoNo
Etiquetado de categorías gramaticalesPart of speech tagging Sí (Spark NLP)Yes (Spark NLP) Sí (Linguistic Analysis API)Yes (Linguistic Analysis API)
Frecuencia de términos o frecuencia inversa de documento (TF/IDF)Term frequency/inverse-document frequency (TF/IDF) Sí (Spark MLlib)Yes (Spark MLlib) NoNo
Similitud de cadenas: edición del cálculo de distanciasString similarity—edit distance calculation Sí (Spark MLlib)Yes (Spark MLlib) NoNo
Cálculo de n-gramasN-gram calculation Sí (Spark MLlib)Yes (Spark MLlib) NoNo
Detención de la eliminación de palabrasStop word removal Sí (Spark MLlib)Yes (Spark MLlib) NoNo

Funcionalidades de procesamiento de lenguaje natural de alto nivelHigh-level natural language processing capabilities

HDInsight de AzureAzure HDInsight Microsoft Cognitive ServicesMicrosoft Cognitive Services
Identificación de entidades o intenciones y extracciónEntity/intent identification and extraction NoNo Sí (Language Understanding Intelligent Service (LUIS) API)Yes (Language Understanding Intelligent Service (LUIS) API)
Detección de temasTopic detection Sí (Spark NLP)Yes (Spark NLP) Sí (Text Analytics API)Yes (Text Analytics API)
Corrector ortográficoSpell checking Sí (Spark NLP)Yes (Spark NLP) Sí (Bing Spell Check API)Yes (Bing Spell Check API)
Análisis de sentimientoSentiment analysis Sí (Spark NLP)Yes (Spark NLP) Sí (Text Analytics API)Yes (Text Analytics API)
Detección de idiomasLanguage detection NoNo Sí (Text Analytics API)Yes (Text Analytics API)
Admite varios idiomas además del inglésSupports multiple languages besides English NoNo Sí (varía según la API)Yes (varies by API)

Vea tambiénSee also

Procesamiento de lenguaje naturalNatural language processing