TextCatalog.NormalizeText Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Crea un TextNormalizingEstimator, que normaliza el texto entrante en inputColumnName
cambiando opcionalmente mayúsculas y minúsculas, quitando marcas diacríticas, signos de puntuación, números y genera texto nuevo 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
Catálogo de la transformación relacionada con el texto.
- outputColumnName
- String
Nombre de la columna resultante de la transformación de inputColumnName
.
El tipo de datos de esta columna es un valor escalar o un vector de texto en función del tipo de datos de la columna de entrada.
- inputColumnName
- String
Nombre de la columna que se va a transformar. Si se establece null
en , el valor de outputColumnName
se usará como origen.
Este estimador funciona en texto o vector de tipos de datos de texto.
- caseMode
- TextNormalizingEstimator.CaseMode
Texto de mayúsculas y minúsculas mediante las reglas de la referencia cultural invariable.
- keepDiacritics
- Boolean
Si se deben mantener marcas diacríticas o quitarlas.
- keepPunctuations
- Boolean
Si se deben mantener las marcas de puntuación o quitarlas.
- keepNumbers
- Boolean
Si se deben conservar los números o quitarlos.
Devoluciones
Ejemplos
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; }
}
}
}