Compartilhar via


Referência do componente Extrair Recursos N-Grama de Texto

Este artigo descreve o componente no designer do Azure Machine Learning. Use o componente Extrair Recursos N-Grama de Texto para personalizar dados de texto não estruturados.

Configuração do componente Extrair Recursos N-Grama de Texto

O componente dá suporte aos seguintes cenários para usar um dicionário de n-grama:

Criar um novo dicionário de n-grama

  1. Adicione o componente Extrair Recursos N-Grama de Texto ao pipeline e conecte o conjunto de dados que contém o texto que deseja processar.

  2. Use Coluna de texto para escolher uma coluna de tipo de cadeia de caracteres que contém o texto que deseja extrair. Como os resultados são detalhados, é possível processar apenas uma única coluna de cada vez.

  3. Defina o Modo de vocabulário para Criar indicando que será criada uma nova lista de recursos de n-grama.

  4. Defina o Tamanho dos n-gramas para indicar o tamanho máximo dos n-gramas a serem extraídos e armazenados.

    Por exemplo, se inserir 3, serão criados unigramas, bigramas e trigramas.

  5. Função de ponderação especifica como criar o vetor de recurso de documento e como extrair o vocabulário de documentos.

    • Ponderação binária: atribui um valor de presença binária para os n-gramas extraídos. O valor de cada n-grama é 1 quando ele existe no documento; caso contrário, será 0.

    • Ponderação TF: atribui uma pontuação de frequência de termo (TF) para os n-gramas extraídos. O valor de cada n-grama é a frequência de sua ocorrência no documento.

    • Ponderação IDF: atribui uma pontuação de IDF (frequência de documento inversa) para os n-gramas extraídos. O valor de cada n-grama é o log do tamanho de Corpus dividido pela frequência de sua ocorrência no Corpus inteiro.

      IDF = log of corpus_size / document_frequency

    • Ponderação TF-IDF: atribui uma pontuação de termo de frequência/documento inverso (TF/IDF) para os n-gramas extraídos. O valor de cada n-grama é sua pontuação de TF multiplicada por sua pontuação de IDF.

  6. Defina o Comprimento mínimo da palavra como o número mínimo de letras que podem ser usadas em qualquer palavra única em um n-grama.

  7. Use o Comprimento máximo da palavra para definir o número máximo de letras que podem ser usadas em qualquer palavra única em um n-grama.

    Por padrão, são permitidos até 25 caracteres por palavra ou token.

  8. Use a Frequência mínima absoluta do documento n-grama para definir as ocorrências mínimas necessárias para que qualquer n-grama seja incluído no dicionário de n-gramas.

    Por exemplo, se usar o valor padrão de 5, qualquer n-grama deverá aparecer pelo menos cinco vezes no corpus a ser incluído no dicionário de n-gramas.

  9. Defina a Taxa máxima de documentos de n-grama para a proporção máxima do número de linhas que contêm um n-grama específico, além do número de linhas no Corpus geral.

    Por exemplo, uma taxa de 1 indicaria que, mesmo se um n-grama específico estiver presente em cada linha, o n-grama poderá ser adicionado ao dicionário de n-gramas. Normalmente, uma palavra que ocorre em cada linha seria considerada uma palavra de ruído e seria removida. Para filtrar as palavras de ruído dependentes do domínio, tente reduzir essa taxa.

    Importante

    A taxa de ocorrência de palavras específicas não é uniforme. Varia de documento para documento. Por exemplo, se estiver analisando comentários de clientes sobre um produto específico, o nome do produto poderá ter uma frequência muito alta, e se aproximar de uma palavra de ruído, mas ser um termo significativo em outros contextos.

  10. Selecione a opção Normalizar vetores de recurso de n-grama para normalizar os vetores de recurso. Se essa opção estiver habilitada, cada vetor de recurso de n-grama será dividido por sua norma L2.

  11. Envie o pipeline.

Usar um dicionário de n-gramas existente

  1. Adicione o componente Extrair Recursos N-Grama de Texto ao pipeline e conecte o conjunto de dados que contém o texto que deseja processar à porta do Conjunto de dados.

  2. Use a coluna texto para selecionar a coluna de texto que contém o texto que deseja personalizar. Por padrão, o componente seleciona todas as colunas do tipo cadeia de caracteres. Para obter melhores resultados, processe uma única coluna de cada vez.

  3. Adicione o conjunto de dados salvo que contém um dicionário de n-gramas gerado anteriormente e conecte-o à porta de Vocabulário de entrada. Também é possível conectar a saída de Vocabulário de resultado de uma instância upstream do componente Extrair Recursos N-Grama de Texto.

  4. Para o modo Vocabulário, selecione a opção de atualização ReadOnly na lista suspensa.

    A opção ReadOnly representa o corpus de entrada para o vocabulário de entrada. Em vez de calcular frequências de termo do novo conjunto de dados de texto (na entrada à esquerda), as ponderações de n-grama do vocabulário de entrada são aplicadas como estão.

    Dica

    Use esta opção quando estiver pontuando um classificador de texto.

  5. Para todas as outras opções, consulte as descrições de propriedade na seção anterior.

  6. Envie o pipeline.

Crie um pipeline de inferência que usa n-gramas para implantar um ponto de extremidade em tempo real

Um pipeline de treinamento que contém o Extrair Recursos N-Grama de Texto e o Modelo de Pontuação para fazer previsão no conjunto de dados de teste, é criado na seguinte estrutura:

Exemplo de pipeline de treinamento para extrair N-gramas

O modo de Vocabulário do componente circulado Extrair Recursos N-Grama de Texto é criado, e o modo de Vocabulário do componente que se conecta ao componente Modelo de Pontuação é ReadOnly.

Depois de enviar o pipeline de treinamento acima com êxito, poderá registrar a saída do componente circulado como conjunto de dados.

registrar o conjunto de dados

Em seguida, será possível criar um pipeline de inferência em tempo real. Depois de criar o pipeline de inferência, será necessário ajustar o pipeline de inferência manualmente, da seguinte maneira:

pipeline de inferência

Em seguida, envie o pipeline de inferência e implante um ponto de extremidade em tempo real.

Resultados

O componente Extrair Recursos N-Grama de Texto cria dois tipos de saída:

  • Conjunto de dados de resultado: essa saída é um resumo do texto analisado combinado com os n-gramas que foram extraídos. As colunas que não foram selecionadas na opção Coluna de texto são passadas para a saída. Para cada coluna de texto analisada, o componente gera as colunas:

    • Matriz de ocorrências de n-gramas: o componente gera uma coluna para cada n-grama encontrado no total de corpus e adiciona uma pontuação em cada coluna para indicar o peso do n-grama para essa linha.
  • Vocabulário de resultado: o vocabulário contém o dicionário de n-gramas real, junto com as pontuações de frequência de termos que são geradas como parte da análise. É possível salvar o conjunto de informações para reutilizar com um conjunto diferente de entradas ou para uma atualização posterior. Também é possível reutilizar o vocabulário para modelagem e pontuação.

Vocabulário de resultado

O Vocabulário contém o dicionário de n-gramas com as pontuações de frequência de termos que são geradas como parte da análise. As pontuações de DF e IDF são geradas independentemente das outras opções.

  • ID: um identificador gerado para cada n-grama exclusivo.
  • NGrama: o n-grama. Espaços ou outros separadores de palavras são substituídos pelo caractere de sublinhado.
  • DF: a pontuação de frequência do termo para o n-grama no Corpus original.
  • IDF: a pontuação de frequência de documento inversa para o n-grama no Corpus original.

É possível atualizar manualmente esse conjunto de um, mas podem ser introduzidos erros. Por exemplo:

  • Um erro será gerado se o componente encontrar linhas duplicadas com a mesma chave no vocabulário de entrada. Verifique se duas linhas no vocabulário têm a mesma palavra.
  • O esquema de entrada dos conjuntos de dados de vocabulário deve corresponder exatamente, incluindo nomes de coluna e tipos de coluna.
  • A coluna de ID e a coluna DF devem ser do tipo inteiro.
  • A coluna IDF deve ser do tipo float.

Observação

Não conecte a saída de dados ao componente Treinar Modelo diretamente. Deverão ser removidas as colunas de texto livre antes que elas sejam inseridas em Treinar Modelo. Caso contrário, as colunas de texto livre serão tratadas como recursos categóricos.

Próximas etapas

Confira o conjunto de componentes disponíveis no Azure Machine Learning.