normalizeWords

Определите корень или лемматизируйте слова

Описание

Использование normalizeWords уменьшать слова до исходной формы. К lemmatize английским словам (уменьшают их до их словарных форм), установите 'Style' опция к 'lemma'.

Функция поддерживает английский, японский язык, немецкий язык и корейский текст.

пример

updatedDocuments = normalizeWords(documents) уменьшает слова в documents к исходной форме. Для английского и немецкого текста функция, по умолчанию, останавливает слова с помощью Носильщика stemmer для английского и немецкого текста соответственно. Для японского и корейского текста, функции, по умолчанию, lemmatizes слова с помощью токенизатора MeCab.

пример

updatedWords = normalizeWords(words) уменьшает каждое слово в массиве строк words к исходной форме.

updatedWords = normalizeWords(words,'Language',language) уменьшает слова и также задает язык слова.

пример

___ = normalizeWords(___,'Style',style) также задает стиль нормализации. Например, normalizeWords(documents,'Style','lemma') lemmatizes слова во входных документах.

Примеры

свернуть все

Остановите слова в массиве документа с помощью Носильщика stemmer.

documents = tokenizedDocument([
    "a strongly worded collection of words"
    "another collection of words"]);
newDocuments = normalizeWords(documents)
newDocuments = 
  2x1 tokenizedDocument:

    6 tokens: a strongli word collect of word
    4 tokens: anoth collect of word

Остановите слова в массиве строк с помощью Носильщика stemmer. Каждым элементом массива строк должно быть отдельное слово.

words = ["a" "strongly" "worded" "collection" "of" "words"];
newWords = normalizeWords(words)
newWords = 1x6 string
    "a"    "strongli"    "word"    "collect"    "of"    "word"

Lemmatize слова в массиве документа.

documents = tokenizedDocument([
    "I am building a house."
    "The building has two floors."]);
newDocuments = normalizeWords(documents,'Style','lemma')
newDocuments = 
  2x1 tokenizedDocument:

    6 tokens: i be build a house .
    6 tokens: the build have two floor .

Чтобы улучшить lemmatization, сначала добавьте, что часть речи назначает в документы с помощью addPartOfSpeechDetails функция. Например, если документы содержат детали части речи, то normalizeWords уменьшает единственный глагол "создание" а не существительное "создание".

documents = addPartOfSpeechDetails(documents);
newDocuments = normalizeWords(documents,'Style','lemma')
newDocuments = 
  2x1 tokenizedDocument:

    6 tokens: i be build a house .
    6 tokens: the building have two floor .

Маркируйте японский текст с помощью tokenizedDocument функция. Функция автоматически обнаруживает японский текст.

str = [
    "空に星が輝き、瞬いている。"
    "空の星が輝きを増している。"
    "駅までは遠くて、歩けない。"
    "遠くの駅まで歩けない。"];
documents = tokenizedDocument(str);

Lemmatize лексемы с помощью normalizeWords.

documents = normalizeWords(documents)
documents = 
  4x1 tokenizedDocument:

    10 tokens: 空 に 星 が 輝く 、 瞬く て いる 。
    10 tokens: 空 の 星 が 輝き を 増す て いる 。
     9 tokens: 駅 まで は 遠い て 、 歩ける ない 。
     7 tokens: 遠く の 駅 まで 歩ける ない 。

Маркируйте немецкий текст с помощью tokenizedDocument функция. Функция автоматически обнаруживает немецкий текст.

str = [
    "Guten Morgen. Wie geht es dir?"
    "Heute wird ein guter Tag."];
documents = tokenizedDocument(str);

Остановите лексемы с помощью normalizeWords.

documents = normalizeWords(documents)
documents = 
  2x1 tokenizedDocument:

    8 tokens: gut morg . wie geht es dir ?
    6 tokens: heut wird ein gut tag .

Входные параметры

свернуть все

Введите документы в виде tokenizedDocument массив.

Введите слова в виде вектора строки, вектора символов или массива ячеек из символьных векторов. Если вы задаете words как вектор символов, затем функция обрабатывает аргумент как отдельное слово.

Типы данных: string | char | cell

Стиль нормализации в виде одного из следующего:

  • 'stem' – Остановите слова с помощью Носильщика stemmer. Эта опция поддерживает английский и немецкий текст только. Для английского и немецкого текста это значение является значением по умолчанию.

  • 'lemma' – Извлеките словарную форму каждого слова. Эта опция поддерживает английский, японский язык и корейский текст только. Если слово не находится во внутреннем словаре, то функциональные выходные параметры неизменное слово. Для английского текста выход является нижним регистром. Для японского и корейского текста это значение является значением по умолчанию.

Функция только нормирует лексемы с типом 'letters' и 'other'. Для получения дополнительной информации о типах маркера смотрите tokenDetails.

Совет

Для английского текста, чтобы улучшить lemmatization слов в документах, сначала добавляют детали части речи с помощью addPartOfSpeechDetails функция.

Язык Word в виде одного из следующего:

  • 'en' – Английский язык

  • 'de' – Немецкий язык

Если вы не задаете язык, то программное обеспечение обнаруживает язык автоматически. К lemmatize японскому или корейскому тексту используйте tokenizedDocument входной параметр.

Типы данных: char | string

Выходные аргументы

свернуть все

Обновленные документы, возвращенные как tokenizedDocument массив.

Обновленные слова, возвращенные как массив строк, вектор символов или массив ячеек из символьных векторов. words и updatedWords имейте совпадающий тип данных.

Алгоритмы

свернуть все

Детали языка

tokenizedDocument объекты содержат детали о лексемах включая детали языка. Детали языка входных документов определяют поведение normalizeWords. tokenizedDocument функция, по умолчанию, автоматически обнаруживает язык входного текста. Чтобы задать детали языка вручную, используйте 'Language' аргумент пары "имя-значение" tokenizedDocument. Чтобы посмотреть маркерные детали, используйте tokenDetails функция.

Вопросы совместимости

развернуть все

Поведение изменяется в R2018b

Введенный в R2017b