normalizeWords

Происходите или lemmatize слова

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

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

Синтаксис

updatedDocuments = normalizeWords(documents)
updatedWords = normalizeWords(words)
updatedWords = normalizeWords(words,'Language',language)
___ = normalizeWords(___,'Style',style)

Описание

пример

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 array
    "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

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

  • основа Остановите слова с помощью Носильщика 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