TextCatalog.NormalizeText Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cria um TextNormalizingEstimator, que normaliza o texto inputColumnName
de entrada, alterando opcionalmente o caso, removendo marcas diacríticas, marcas de pontuação, números e saídas de novo texto como outputColumnName
.
public static Microsoft.ML.Transforms.Text.TextNormalizingEstimator NormalizeText (this Microsoft.ML.TransformsCatalog.TextTransforms catalog, string outputColumnName, string inputColumnName = default, Microsoft.ML.Transforms.Text.TextNormalizingEstimator.CaseMode caseMode = Microsoft.ML.Transforms.Text.TextNormalizingEstimator+CaseMode.Lower, bool keepDiacritics = false, bool keepPunctuations = true, bool keepNumbers = true);
static member NormalizeText : Microsoft.ML.TransformsCatalog.TextTransforms * string * string * Microsoft.ML.Transforms.Text.TextNormalizingEstimator.CaseMode * bool * bool * bool -> Microsoft.ML.Transforms.Text.TextNormalizingEstimator
<Extension()>
Public Function NormalizeText (catalog As TransformsCatalog.TextTransforms, outputColumnName As String, Optional inputColumnName As String = Nothing, Optional caseMode As TextNormalizingEstimator.CaseMode = Microsoft.ML.Transforms.Text.TextNormalizingEstimator+CaseMode.Lower, Optional keepDiacritics As Boolean = false, Optional keepPunctuations As Boolean = true, Optional keepNumbers As Boolean = true) As TextNormalizingEstimator
Parâmetros
- catalog
- TransformsCatalog.TextTransforms
O catálogo da transformação relacionada ao texto.
- outputColumnName
- String
Nome da coluna resultante da transformação de inputColumnName
.
O tipo de dados desta coluna é um escalar ou um vetor de texto, dependendo do tipo de dados da coluna de entrada.
- inputColumnName
- String
Nome da coluna a ser transformada. Se definido como null
, o valor do outputColumnName
será usado como origem.
Esse avaliador opera em texto ou vetor de tipos de dados de texto.
- caseMode
- TextNormalizingEstimator.CaseMode
Texto de inválência usando as regras da cultura invariável.
- keepDiacritics
- Boolean
Se deve manter marcas diacríticas ou removê-las.
- keepPunctuations
- Boolean
Se deve manter marcas de pontuação ou removê-las.
- keepNumbers
- Boolean
Se deseja manter números ou removê-los.
Retornos
Exemplos
using System;
using System.Collections.Generic;
using Microsoft.ML;
using Microsoft.ML.Transforms.Text;
namespace Samples.Dynamic
{
public static class NormalizeText
{
public static void Example()
{
// Create a new ML context, for ML.NET operations. It can be used for
// exception tracking and logging, as well as the source of randomness.
var mlContext = new MLContext();
// Create an empty list as the dataset. The 'NormalizeText' API does not
// require training data as the estimator ('TextNormalizingEstimator')
// created by 'NormalizeText' API is not a trainable estimator. The
// empty list is only needed to pass input schema to the pipeline.
var emptySamples = new List<TextData>();
// Convert sample list to an empty IDataView.
var emptyDataView = mlContext.Data.LoadFromEnumerable(emptySamples);
// A pipeline for normalizing text.
var normTextPipeline = mlContext.Transforms.Text.NormalizeText(
"NormalizedText", "Text", TextNormalizingEstimator.CaseMode.Lower,
keepDiacritics: false,
keepPunctuations: false,
keepNumbers: false);
// Fit to data.
var normTextTransformer = normTextPipeline.Fit(emptyDataView);
// Create the prediction engine to get the normalized text from the
// input text/string.
var predictionEngine = mlContext.Model.CreatePredictionEngine<TextData,
TransformedTextData>(normTextTransformer);
// Call the prediction API.
var data = new TextData()
{
Text = "ML.NET's NormalizeText API " +
"changes the case of the TEXT and removes/keeps diâcrîtîcs, " +
"punctuations, and/or numbers (123)."
};
var prediction = predictionEngine.Predict(data);
// Print the normalized text.
Console.WriteLine($"Normalized Text: {prediction.NormalizedText}");
// Expected output:
// Normalized Text: mlnets normalizetext api changes the case of the text and removeskeeps diacritics punctuations andor numbers
}
private class TextData
{
public string Text { get; set; }
}
private class TransformedTextData : TextData
{
public string NormalizedText { get; set; }
}
}
}