WordsSegmenter Clase
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í.
Una clase de segmentación que puede segmentar el texto proporcionado en palabras o tallos de palabras (según el idioma concreto).
public ref class WordsSegmenter sealed
/// [Windows.Foundation.Metadata.Activatable(Windows.Data.Text.IWordsSegmenterFactory, 65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class WordsSegmenter final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(Windows.Data.Text.IWordsSegmenterFactory, 65536, "Windows.Foundation.UniversalApiContract")]
class WordsSegmenter final
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Data.Text.IWordsSegmenterFactory), 65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class WordsSegmenter
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Data.Text.IWordsSegmenterFactory), 65536, "Windows.Foundation.UniversalApiContract")]
public sealed class WordsSegmenter
function WordsSegmenter(language)
Public NotInheritable Class WordsSegmenter
- Herencia
- Atributos
Requisitos de Windows
Familia de dispositivos |
Windows 10 (se introdujo en la versión 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
|
API contract |
Windows.Foundation.UniversalApiContract (se introdujo en la versión v1.0)
|
Comentarios
Para los idiomas que no usan espacios entre palabras (como japonés, chino, coreano y tailandés), el uso de un segmentador es la única manera de obtener palabras individuales para escenarios de procesamiento de texto como la búsqueda de palabras clave.
El idioma proporcionado cuando se construye este objeto coincide con los idiomas con separadores de palabras en el sistema y se usan las mejores reglas de segmentación de palabras disponibles. El idioma no debe ser uno de los idiomas admitidos por la aplicación. Si no hay reglas de idioma admitidas disponibles específicamente para ese idioma, se usan las reglas neutras del idioma (una implementación del anexo estándar Unicode n.º 29 de segmentación de texto Unicode) y la propiedad ResolvedLanguage se establece en "und" (idioma no predeterminado).
Para escenarios de búsqueda de palabras clave, siempre se recomienda solicitar un segmentador en el idioma del contenido del texto.
En escenarios de revisión ortográfica, algunos segmentadores de idioma (como alemán) pueden devolver varios segmentos de tallo de palabras para una sola palabra compuesta. Por el contrario, las API de revisión ortográfica pueden esperar que las palabras se mantengan juntas como una sola palabra. Para estos idiomas, puede optar por forzar reglas de segmentación neutras del idioma solicitando explícitamente el segmentador "und" (lenguaje no predeterminado). Sin embargo, si lo hace, reducirá considerablemente la calidad de interrupción de los lenguajes no espaciados. Por lo tanto, se recomienda usar Language.Script API para determinar si el lenguaje de contenido usa uno de los siguientes scripts no espaciados:
Script | Lenguaje |
---|---|
Bopo | Bopomofo |
Hermano | Brahmi |
Egyp | Hieroglífos egipcios |
Gótica | Gótico |
Colgar | Hangul |
Colgar | Hiragana |
Colgar | Old Hangul |
Hani | Han |
Ital | Cursiva antigua |
Java | Javanés |
Kana | Katakana |
Khar | Kharoshthi |
Khmr | Jemer |
Laooo | Lao |
Lisu | Lisu |
Mymr | Myanmar |
Talu | Nuevo Tai Lue |
Tailandés | Tailandés |
Tibt | Tibetano |
Xsux | Cuneiforme |
Yiii | Yi |
Si no se encuentra ninguno de estos scripts, debe ser seguro usar "und" para la segmentación del escenario de revisión ortográfica.
Constructores
WordsSegmenter(String) |
Crea un objeto WordsSegmenter . Consulte la introducción en WordsSegmenter para obtener una descripción de cómo se usa el lenguaje proporcionado a este constructor. |
Propiedades
ResolvedLanguage |
Obtiene el idioma de las reglas usadas por este objeto WordsSegmenter . Se devuelve "und" (no determinado) si usamos reglas neutras del lenguaje. |
Métodos
GetTokenAt(String, UInt32) |
Determina y devuelve la palabra o el tallo de palabra que contiene o sigue un índice especificado en el texto proporcionado. |
GetTokens(String) |
Determina y devuelve todas las palabras o palabras del texto proporcionado. |
Tokenize(String, UInt32, WordSegmentsTokenizingHandler) |
Llama al controlador proporcionado con dos iteradores que recorren en iteración las palabras anteriores a y siguen un índice determinado en el texto proporcionado. |