WordsSegmenter Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Класс сегментатора, который может сегментировать предоставленный текст на слова или корки слов (в зависимости от конкретного языка).
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
- Наследование
- Атрибуты
Требования к Windows
Семейство устройств |
Windows 10 (появилось в 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
|
API contract |
Windows.Foundation.UniversalApiContract (появилось в v1.0)
|
Комментарии
Для языков, не использующих пробелы между словами (например, японский, китайский, корейский и тайский), использование сегментатора — единственный способ получить отдельные слова для сценариев текстовой обработки, таких как ключевое слово поиска.
Язык, указанный при создании этого объекта, сопоставляется с языками с средствами разбиения по словам в системе, и используются лучшие доступные правила сегментации слов. Язык не обязательно должен быть одним из поддерживаемых языков приложения. Если для этого языка нет поддерживаемых языковых правил, используются не зависящие от языка правила (реализация стандартного приложения Юникода No29 Сегментация текста Юникода), а для свойства ResolvedLanguage задано значение "und" (неопределенный язык).
Для ключевое слово сценариев поиска всегда рекомендуется запрашивать сегментатор на языке текстового содержимого.
В сценариях проверки орфографии некоторые языковые сегментаторы (например, немецкий) могут возвращать несколько сегментов ствола слов для одного составного слова. В отличие от этого, API проверки орфографии могут ожидать, что слова будут храниться вместе как одно слово. Для таких языков можно принудительно применить правила сегментирования, не зависящие от языка, явно запросив сегментатор "und" (неопределенный язык). Однако это значительно снизит качество языков без пробелов. Поэтому рекомендуется использовать API Language.Script , чтобы определить, использует ли язык содержимого один из следующих скриптов без пробелов:
Скрипт | Язык |
---|---|
Бопо | Бопомофо |
Брат | Брахми |
Egyp | Египетские иероглифы |
Гот | Готический |
Зависание | Символы Хангула (Hangul) |
Зависание | Хирагана |
Зависание | Старый хангыль |
Хани | Хан |
Ital | Старый курсив |
Java | Яванская письменность |
Кана | Катакана |
Хар | Харошхи |
Khmr | Кхмерский |
Laoo | Лаосский |
Лису | Лису |
Mymr | Мьянма |
Talu | Новая письменность тай-лю |
Тайский | Тайский |
Tibt | Тибетский |
Xsux | Клинопись |
Yiii | Носу |
Если ни один из этих скриптов не найден, следует безопасно использовать "und" для сегментации сценариев проверки орфографии.
Конструкторы
WordsSegmenter(String) |
Создает объект WordsSegmenter . Описание использования языка, предоставленного для этого конструктора, см. во введении в WordsSegmenter . |
Свойства
ResolvedLanguage |
Возвращает язык правил, используемых этим объектом WordsSegmenter . Если используются правила, не зависящие от языка, возвращается значение "und" (не определено). |
Методы
GetTokenAt(String, UInt32) |
Определяет и возвращает слово или коребель слов, которые содержат указанный индекс или следуют за ней в предоставленном тексте. |
GetTokens(String) |
Определяет и возвращает все слова или стволы слов в предоставленном тексте. |
Tokenize(String, UInt32, WordSegmentsTokenizingHandler) |
Вызывает предоставленный обработчик с двумя итераторами, которые перебирают слова до и после заданного индекса в предоставленный текст. |