Pré-processar Texto

Importante

O suporte para o Machine Learning Studio (clássico) terminará em 31 de agosto de 2024. É recomendável fazer a transição para o Azure Machine Learning até essa data.

A partir de 1º de dezembro de 2021, você não poderá criar recursos do Machine Learning Studio (clássico). Até 31 de agosto de 2024, você pode continuar usando os recursos existentes do Machine Learning Studio (clássico).

A documentação do ML Studio (clássico) está sendo desativada e pode não ser atualizada no futuro.

Executa operações de limpeza em texto

categoria: Análise de Texto

Observação

aplica-se a: somente Machine Learning Studio (clássico)

Módulos semelhantes do tipo "arrastar e soltar" estão disponíveis no designer do Azure Machine Learning.

Visão geral do módulo

este artigo descreve como usar o módulo de texto de pré-processamento no Machine Learning Studio (clássico), para limpar e simplificar o texto. Ao pré-processar o texto, você pode criar com mais facilidade recursos significativos do texto.

Por exemplo, o módulo de texto pré-processar oferece suporte a essas operações comuns no texto:

  • Remoção de palavras irrelevantes
  • Usar expressões regulares para pesquisar e substituir cadeias de caracteres de destino específicas
  • Lematização, que converte várias palavras relacionadas em um único formulário canônico
  • Filtragem de partes específicas de fala
  • Normalização de caso
  • A remoção de determinadas classes de caracteres, como números, caracteres especiais e sequências de caracteres repetidos, como "aaaa"
  • Identificação e remoção de emails e URLs

Você pode escolher quais opções de limpeza usar e, opcionalmente, especificar uma lista personalizada de palavras de parada.

Atualmente, o módulo dá suporte a seis idiomas: Inglês, espanhol, francês, holandês, alemão e italiano.

Como configurar o pré-processamento de texto

  1. Adicione o módulo de texto de pré-processamento ao seu experimento no Studio (clássico). Você pode encontrar esse módulo em Análise de Texto.

  2. Conecte um conjunto de dados que tenha pelo menos uma coluna contendo texto.

  3. Se o texto que você está pré processando estiver todos no mesmo idioma, selecione o idioma na lista suspensa idioma . Com essa opção, o texto é pré-processado usando regras linguísticas específicas para o idioma selecionado.

  4. Para pré-processar o texto que pode conter vários idiomas, escolha a opção a coluna contém idioma .

    Em seguida, use a propriedade coluna de idioma cultural para escolher uma coluna no conjunto de um que indique o idioma usado em cada linha. A coluna deve conter um identificador de idioma padrão, como "inglês" ou en .

    Com base nesse identificador, o módulo aplica os recursos lingüísticos apropriados para processar o texto.

    Se o conjunto de seus conjuntos de um não contiver tais identificadores, use o módulo detectar idioma para analisar o idioma com antecedência e gerar um identificador.

    Dica

    Um erro será gerado se um idioma sem suporte for incluído. Consulte a seção observações técnicas para obter mais informações.

  5. Remover por parte da fala: Selecione esta opção se desejar aplicar a análise de parte da fala. Você pode usar as marcas de parte da fala para remover determinadas classes de palavras.

    • Remover substantivos: Selecione esta opção para remover substantivos.
    • Remover adjetivos: Selecione esta opção para remover os adjetivos.
    • Remover verbos: Selecione esta opção para remover os verbos.

    Para obter mais informações sobre o método de identificação de parte da fala usado, consulte a seção notas técnicas .

  6. Coluna de texto a ser limpa: selecione a coluna ou as colunas que você deseja pré-processar.

  7. Remover palavras irrelevantes: selecione esta opção se desejar aplicar uma lista de palavras irrelevantes predefinidas à coluna de texto. A remoção de palavras irrelevantes é executada antes de qualquer outro processo.

    As listas de palavra irrelevante são dependentes de idioma e personalizáveis; para obter mais informações, consulte a seção observações técnicas .

  8. Lematização: selecione esta opção se quiser que as palavras sejam representadas em sua forma canônica. Essa opção é útil para reduzir o número de ocorrências exclusivas de outros tokens de texto semelhantes.

    O processo lematização é dependente de linguagem altamente; consulte a seção observações técnicas para obter detalhes.

  9. Detectar sentenças: selecione esta opção se desejar que o módulo Insira uma marca de limite de frase ao executar a análise.

    Esse módulo usa uma série de três caracteres de pipe ||| para representar o terminador de sentença.

  10. Opcionalmente, você pode executar operações personalizadas de localizar e substituir usando expressões regulares.

    • Expressão regular personalizada: defina o texto que você está pesquisando.
    • Cadeia de caracteres de substituição personalizada: defina um único valor de substituição.
  11. Normalizar maiúsculas e minúsculas: selecione esta opção se desejar converter caracteres maiúsculos ASCII em formatos minúsculos.

    Se os caracteres não forem normalizados, a mesma palavra em letras maiúsculas e minúsculas será considerada duas palavras diferentes: por exemplo, AM é o mesmo que am .

  12. Opcionalmente, você pode remover os seguintes tipos de caracteres ou sequências de caracteres do texto de saída processado:

    • Remover números: selecione esta opção para remover todos os caracteres numéricos do idioma especificado.

    A identificação do que constitui um número é dependente do domínio e dependente do idioma. Se os caracteres numéricos forem parte integral de uma palavra conhecida, o número poderá não ser removido.

    • Remover caracteres especiais: Use esta opção para substituir quaisquer caracteres especiais não alfanuméricos pelo caractere de barra vertical | .

      Para obter mais informações sobre caracteres especiais, consulte a seção observações técnicas .

    • Remover caracteres duplicados: Selecione esta opção para remover todas as sequências que repetem caracteres. Por exemplo, uma sequência como "AAAAA" seria removida.

    • Remover endereços de email: selecione esta opção para remover qualquer sequência do formato <string>@<string>.

    • Remover URLs: Selecione esta opção para remover qualquer sequência que inclua os seguintes prefixos de URL:

      • http, https
      • ftp
      • www
  13. Expandir contrações de verbos: essa opção se aplica somente a idiomas que usam contratações de verbo; atualmente, somente em inglês.

    Por exemplo, ao selecionar essa opção, você pode substituir a frase "wouldn't stay there" por "would not stay there" .

  14. Normalizar barras invertidas para barras: selecione esta opção para mapear todas as instâncias de \\ para /.

  15. Dividir tokens em caracteres especiais: selecione esta opção se desejar quebrar palavras em caracteres como &, - e assim por diante.

    Por exemplo, a cadeia de caracteres MS-WORD seria separada em dois tokens MS e WORD .

Exemplos

Os exemplos a seguir no Galeria de ia do Azure ilustram o uso do módulo de texto de pré-processamento :

Observações técnicas

Esta seção fornece mais informações sobre a tecnologia de pré-processamento de texto subjacente e como especificar recursos de texto personalizados.

Idiomas com suporte

atualmente Machine Learning dá suporte ao pré-processamento de texto nestes idiomas:

  • Holandês
  • Inglês
  • Francês
  • Alemão
  • Italiano
  • Espanhol

Outros idiomas são planejados. consulte o blog do Microsoft Machine Learning para obter anúncios.

Lematização

Lematização é o processo de identificar um único formato canônico para representar vários tokens de palavra.

as bibliotecas de processamento de idioma natural incluídas no Machine Learning Studio (clássico) combinam as várias operações linguísticas a seguir para fornecer lematização:

  • Separação de frases: em texto livre usado para análise de sentimentos e outras análises de texto, as frases são executadas com frequência ou a pontuação pode estar ausente. Textos de entrada podem constituir um bloco de texto arbitrariamente longo, desde um tweet ou fragmento até um parágrafo completo ou até mesmo documento.

    As ferramentas de linguagem natural usadas pelo estúdio (clássico) executam separação de frase como parte da análise lexical subjacente. No entanto, as frases não são separadas na saída. Opcionalmente, você pode especificar que um limite de frase seja marcado para auxiliar em outro processamento e análise de texto.

  • Tokenization: as regras que determinam os limites das palavras dependem de linguagem e podem ser complexas até mesmo em linguagens que usam espaços entre palavras.

    Alguns idiomas (como chinês ou japonês) não usam nenhum espaço em branco entre palavras, e a separação de palavras requer análise morfológica.

    Portanto, os métodos de token e as regras usadas neste módulo fornecem resultados diferentes do idioma para o idioma. Essas regras de token são determinadas pelas bibliotecas de análise de texto fornecidas pela Microsoft Research para cada idioma com suporte e não podem ser personalizadas.

  • Identificação de parte da fala: em qualquer sequência de palavras, pode ser difícil identificar computacionalmente a parte exata da fala para cada palavra. Até mesmo uma frase aparentemente simples, como "Time arrow like an arrow", pode ter muitas dezenas de análise (um exemplo de clássico). Partes de fala também são muito diferentes, dependendo da morfologia de linguagens diferentes.

    No Machine Learning, um modelo de desambiguidade é usado para escolher a parte mais provável da fala, considerando o contexto de frase atual. As informações de parte da fala são usadas para ajudar a filtrar palavras usadas como recursos e auxiliar na extração de frases-chave. No entanto, a saída deste módulo não inclui explicitamente marcas pos e, portanto, não pode ser usada para gerar texto marcado por POS.

  • Gerar formulário de dicionário: uma palavra pode ter vários lemamas ou formulários de dicionário, cada um proveniente de uma análise diferente. Por exemplo, a palavra em inglês building tem dois lemas possíveis: criar se a palavra for um substantivo ("o prédio alto") ou criar se a palavra for um verbo ("eles estão criando uma casa"). No Machine Learning, apenas o formulário de dicionário mais provável é gerado.

Exemplo de saída de lematização

Origem Lematizado com conversão de caso
Ele está nadando ele eu nada
Ele vai dar um mergulho he i go for a swim
Nadar é bom para a criação de prédio nadar ser bom para o build
Ele está criando um prédio he i build a build
Estamos todos criando edifícios todos nós estamos criando build

Observação

Os modelos de linguagem usados para gerar formulário de dicionário foram treinados e testados em uma variedade de textos técnicos e de uso geral e são usados em muitos outros produtos da Microsoft que exigem APIs de idioma natural. No entanto, a linguagem natural é inerentemente ambígua e 100% de precisão em todo o vocabulário não é viável. Por exemplo, a lematização pode ser afetada por outras partes da fala ou pela maneira como a frase é analisado.

Se você precisar executar um pré-processamento adicional ou executar uma análise linguística usando um vocabulário especializado ou dependente de domínio, recomendamos que você use ferramentas de NLP personalizáveis, como aquelas disponíveis em Python e R.

Caracteres especiais

Caracteres especiais são definidos como caracteres individuais que não podem ser identificados como nenhuma outra parte da fala e podem incluir pontuação: dois-pontos, ponto e vírgula e assim por diante.

Palavras irrelevantes

Uma palavra de parada (ou palavra de parada) é uma palavra que geralmente é removida dos índices porque é comum e fornece pouco valor para recuperação de informações, mesmo que possa ser linguísticamente significativa.

Por exemplo, muitas linguagens fazem uma distinção semântica entre artigos definidos e indefinido ("o prédio" versus "um prédio"), mas, para aprendizado de máquina e recuperação de informações, às vezes, as informações não são relevantes. Portanto, você pode decidir descartar essas palavras.

O Machine Learning ambiente inclui listas das palavras-chave mais comuns para cada um dos idiomas com suporte.

Idioma Número de palavras-chave Exemplos
Holandês 49 aan, af, al
Inglês 312 a, sobre, acima
Francês 154 de, des, d', la
Alemão 602 a, ab, aber
Italiano 135 a, adesso, ai
Espanhol 368 ésa, ésta, éste

Para sua conveniência, um arquivo recortado que contém as palavras-chave padrão para todos os idiomas atuais foi disponibilizado no armazenamento do Azure: Stopwords.zip.

Como modificar a lista de palavras-chave

Esperamos que muitos usuários queiram criar suas próprias listas de palavras-chave ou alterar os termos incluídos na lista padrão. O experimento a seguir na Galeria Cortana Intelligence demonstra como você pode personalizar uma lista de palavras de parada.

Se você modificar a lista ou criar sua própria lista de palavras de parada, observe estes requisitos:

  • O arquivo deve conter uma única coluna de texto. Você poderá receber o seguinte erro se uma coluna adicional estiver presente: "Pré-processe o padrão de seleção de coluna de erro de texto "Coluna de texto a ser limpa" deve fornecer 1 coluna selecionada no conjuntos de dados de entrada, mas duas colunas são/são realmente fornecidas. ( Erro 0022 )"

    Se isso acontecer, procure espaços, guias ou colunas ocultas presentes no arquivo do qual a lista de palavras-chave foi originalmente importada. Dependendo de como o arquivo foi preparado, guias ou vírgulas incluídas no texto também podem fazer com que várias colunas sejam criadas.

    Quando você receber esse erro, revise o arquivo de origem ou use o módulo Selecionar Colunas no Conjuntos de Dados para escolher uma única coluna para passar para o módulo Pré-processamento de texto.

  • Cada linha pode conter apenas uma palavra. Para fins de análise do arquivo, as palavras são determinadas pela inserção de espaços.

  • A lista de palavras-chave não pode estar vazia.

Ordem de operações

Neste módulo, você pode aplicar várias operações ao texto. No entanto, a ordem na qual essas operações são aplicadas não pode ser alterada. Isso pode afetar os resultados esperados.

Por exemplo, se você aplicar a lematização ao texto e também usar a remoção de palavra-parada, todas as palavras serão convertidas em seus formulários de lema antes que a lista de palavras-chave seja aplicada. Portanto, se o texto incluir uma palavra que não está na lista de palavras-chave, mas seu lema estiver na lista de palavras-chave, a palavra será removida.

Certifique-se de testar os termos de destino com antecedência para garantir os resultados corretos.

Idiomas sem suporte

Se a coluna de texto incluir idiomas sem suporte do Machine Learning, recomendamos que você use apenas as opções que não exigem processamento dependente de idioma. Isso pode ajudar a evitar resultados estranho.

Além disso, se você usar a opção Coluna contém idioma, deverá garantir que nenhum idioma sem suporte seja incluído no texto que é processado. Se um idioma sem suporte ou seu identificador estiver presente no conjuntos de dados, o seguinte erro de tempo de run time será gerado:

"Erro de texto de pré-processamento (0039): especifique um idioma com suporte."

Para evitar a falha em todo o experimento porque uma linguagem sem suporte foi detectada, use o módulo Dividir Dados e especifique uma expressão regular para dividir o conjuntos de dados em linguagens com suporte e sem suporte.

Por exemplo, a expressão regular a seguir divide o conjuntos de dados com base no idioma detectado para a coluna Sentence:

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

Se você tiver uma coluna que contenha o identificador de idioma ou se tiver gerado essa coluna, poderá usar uma expressão regular como a seguinte para filtrar na coluna do identificador:

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

Entradas esperadas

Nome Tipo Descrição
Dataset Tabela de Dados Dados de entrada
Palavras de parada Tabela de Dados Lista personalizada opcional de palavras de parada a serem removidas

Parâmetros do módulo

Nome Tipo Intervalo Opcional Padrão Descrição
Remover URLs Booliano verdadeiro

Falso
Obrigatório true Remover URLs
Idioma Idioma Inglês

Espanhol

Francês

Holandês

Alemão

Italiano
Obrigatório Inglês Selecione o idioma a ser pré-processado
Coluna de texto a ser limpa Seleção de coluna Obrigatório StringFeature Selecione a coluna de texto a ser limpa
Expressão regular personalizada String Opcional Especificar a expressão regular personalizada
Cadeia de substituição personalizada String Opcional Especificar a cadeia de caracteres de substituição personalizada para a expressão regular personalizada
Remover palavras irrelevantes Boolean Obrigatório true Remover palavras irrelevantes
Lematização Boolean Obrigatório true Usar lematização
Remover por parte da fala Verdadeiro tipo falso true

false
Obrigatório Falso Indique se a análise de parte de fala deve ser usada para identificar e remover determinadas classes de palavra
Remover substantivos Boolean Aplica-se quando a opção Filtrar por parte da fala está selecionada true Remover substantivos
Remover adjetivos Boolean Aplica-se quando a opção Filtrar por parte da fala está selecionada true Remover adjetivos
Remover verbos Boolean Aplica-se quando a opção Filtrar por parte da fala está selecionada true Remover verbos
Detectar sentenças Boolean Obrigatório true Detecte frases adicionando um terminador de frase \ "| | | \ "que pode ser usado pelo módulo extrator de recursos de n-Gram
Normalizar maiúsculas e minúsculas Boolean Obrigatório true Normalizar maiúsculas e minúsculas
Remover números Boolean Obrigatório true Remover números
Remover caracteres especiais Boolean Obrigatório true Remover caracteres especiais não alfanuméricos e substituí-los pelo caractere \ "| \"
Remover caracteres duplicados Boolean Obrigatório true Remover caracteres duplicados
Remover endereços de email Boolean Obrigatório true Remover endereços de email

Saídas

Nome Tipo Descrição
Conjunto de dados de resultados Tabela de Dados Conjunto de dados de resultados

Exceções

Exceção Descrição
Erro 0003 Ocorrerá uma exceção se uma ou mais das entradas forem nulas ou estiverem vazias.
Erro 0030 ocorrerá uma exceção quando não for possível baixar um arquivo.
Erro 0048 Uma exceção ocorre quando não for possível abrir um arquivo.
Erro 0049 Uma exceção ocorre quando não for possível analisar um arquivo.

para obter uma lista de erros específicos para módulos do Studio (clássicos), consulte Machine Learning códigos de erro.

para obter uma lista de exceções de api, consulte Machine Learning códigos de erro da api REST.

Confira também

Análise de Texto

Lista de Módulo A-Z