addPartOfSpeechDetails

Добавьте теги части речи в документы

Описание

Использование addPartOfSpeechDetails добавить часть речи помечает к документам.

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

пример

updatedDocuments = addPartOfSpeechDetails(documents) обнаруживает части речи в documents и обновляет маркерные детали. Функция, по умолчанию, повторно маркирует текст для маркировки части речи. Например, функция разделяет слово, "вы -" в лексемы "вы" и "'ре". Получить детали части речи от updatedDocumentsИспользование tokenDetails.

updatedDocuments = addPartOfSpeechDetails(documents,Name,Value) задает дополнительные опции с помощью одного или нескольких аргументов пары "имя-значение".

Совет

Использование addPartOfSpeechDetails перед использованием lower, upper, erasePunctuation, normalizeWords, removeWords, и removeStopWords функции как addPartOfSpeechDetails информация об использовании, которая удалена этими функциями.

Примеры

свернуть все

Загрузите данные в качестве примера. Файл sonnetsPreprocessed.txt содержит предварительно обработанные версии сонетов Шекспира. Файл содержит один сонет на строку со словами, разделенными пробелом. Извлеките текст из sonnetsPreprocessed.txt, разделите текст в документы в символах новой строки, и затем маркируйте документы.

filename = "sonnetsPreprocessed.txt";
str = extractFileText(filename);
textData = split(str,newline);
documents = tokenizedDocument(textData);

Посмотрите маркерные детали первых нескольких лексем.

tdetails = tokenDetails(documents);
head(tdetails)
ans=8×5 table
       Token       DocumentNumber    LineNumber     Type      Language
    ___________    ______________    __________    _______    ________

    "fairest"            1               1         letters       en   
    "creatures"          1               1         letters       en   
    "desire"             1               1         letters       en   
    "increase"           1               1         letters       en   
    "thereby"            1               1         letters       en   
    "beautys"            1               1         letters       en   
    "rose"               1               1         letters       en   
    "might"              1               1         letters       en   

Добавьте, что часть речи назначает в документы с помощью addPartOfSpeechDetails функция. Эта функция сначала добавляет информацию о предложении в документы, и затем добавляет теги части речи в таблицу, возвращенную tokenDetails. Посмотрите обновленные маркерные детали первых нескольких лексем.

documents = addPartOfSpeechDetails(documents);
tdetails = tokenDetails(documents);
head(tdetails)
ans=8×7 table
       Token       DocumentNumber    SentenceNumber    LineNumber     Type      Language     PartOfSpeech 
    ___________    ______________    ______________    __________    _______    ________    ______________

    "fairest"            1                 1               1         letters       en       adjective     
    "creatures"          1                 1               1         letters       en       noun          
    "desire"             1                 1               1         letters       en       verb          
    "increase"           1                 1               1         letters       en       noun          
    "thereby"            1                 1               1         letters       en       adverb        
    "beautys"            1                 1               1         letters       en       verb          
    "rose"               1                 1               1         letters       en       noun          
    "might"              1                 1               1         letters       en       auxiliary-verb

Маркируйте японский текст с помощью tokenizedDocument.

str = [
    "恋に悩み、苦しむ。"
    "恋の悩みで 苦しむ。"
    "空に星が輝き、瞬いている。"
    "空の星が輝きを増している。"
    "駅までは遠くて、歩けない。"
    "遠くの駅まで歩けない。"
    "すもももももももものうち。"];
documents = tokenizedDocument(str);

Для японского текста можно получить детали части речи с помощью tokenDetails. Для английского текста необходимо сначала использовать addPartOfSpeechDetails.

tdetails = tokenDetails(documents);
head(tdetails)
ans=8×8 table
     Token     DocumentNumber    LineNumber       Type        Language    PartOfSpeech     Lemma       Entity  
    _______    ______________    __________    ___________    ________    ____________    _______    __________

    "恋"             1               1         letters           ja       noun            "恋"       non-entity
    "に"             1               1         letters           ja       adposition      "に"       non-entity
    "悩み"           1               1         letters           ja       verb            "悩む"      non-entity
    "、"             1               1         punctuation       ja       punctuation     "、"       non-entity
    "苦しむ"          1               1         letters           ja       verb            "苦しむ"    non-entity
    "。"             1               1         punctuation       ja       punctuation     "。"       non-entity
    "恋"             2               1         letters           ja       noun            "恋"       non-entity
    "の"             2               1         letters           ja       adposition      "の"       non-entity

Маркируйте немецкий текст с помощью tokenizedDocument.

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

    8 tokens: Guten Morgen . Wie geht es dir ?
    6 tokens: Heute wird ein guter Tag .

Чтобы получить детали части речи для немецкого текста, сначала используйте addPartOfSpeechDetails.

documents = addPartOfSpeechDetails(documents);

Чтобы посмотреть детали части речи, используйте tokenDetails функция.

tdetails = tokenDetails(documents);
head(tdetails)
ans=8×7 table
     Token      DocumentNumber    SentenceNumber    LineNumber       Type        Language    PartOfSpeech
    ________    ______________    ______________    __________    ___________    ________    ____________

    "Guten"           1                 1               1         letters           de       adjective   
    "Morgen"          1                 1               1         letters           de       noun        
    "."               1                 1               1         punctuation       de       punctuation 
    "Wie"             1                 2               1         letters           de       adverb      
    "geht"            1                 2               1         letters           de       verb        
    "es"              1                 2               1         letters           de       pronoun     
    "dir"             1                 2               1         letters           de       pronoun     
    "?"               1                 2               1         punctuation       de       punctuation 

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

свернуть все

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

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'DiscardKnownValues',true задает, чтобы отбросить ранее вычисленные детали и повторно вычислить их.

Метод, чтобы повторно маркировать документы в виде одного из следующего:

  • 'part-of-speech' – Преобразуйте лексемы для маркировки части речи. Функция выполняет эти задачи:

    • Разделите сложные слова. Например, разделите сложное слово "wanna" в лексемы "want" и "to". Это включает сложные слова, содержащие апострофы. Например, функция разделяет слово "don't" в лексемы "do" и "n't".

    • Объедините периоды, которые не заканчивают предложения предыдущими лексемами. Например, объедините лексемы "Mr" и "." в маркерный "Mr.".

    • Для немецкого текста объедините сокращения, которые охватывают несколько лексем. Например, объедините лексемы "z", "."B, и "." в один маркерный "z. B.".

    • Объедините запуски периодов в замещающие знаки. Например, объедините три экземпляра "." в один маркерный "...".

  • 'none' – Не повторно маркируйте документы.

Список сокращений от обнаружения предложения в виде массива строк, вектора символов, массива ячеек из символьных векторов или таблицы.

Если входные документы не содержат детали предложения, то функция сначала запускается addSentenceDetails функционируйте и задает список сокращений, данный 'Abbreviations'. Чтобы задать больше опций для обнаружения предложения (например, начинающие предложения) используют addSentenceDetails функция перед использованием addPartOfSpeechDetails детали.

Если Abbreviations массив строк, вектор символов или массив ячеек из символьных векторов, затем функция обрабатывает их как регулярные сокращения. Если следующее слово является капитализированным начинающим предложения, то функциональные пропуски в запаздывающий период. Функция игнорирует любые различия в регистре сокращений. Задайте начинающих предложения, использующих Starters пара "имя-значение".

Чтобы задать различные поведения при разделении предложений при сокращениях, задайте Abbreviations как таблица. Таблица должна иметь переменные под названием Abbreviation и Usage, где Abbreviation содержит сокращения и Usage содержит тип каждого сокращения. Следующая таблица описывает возможные значения Usage, и поведение функции, когда переданные сокращения этих типов.

ИспользованиеПоведениеСокращение в качестве примераТекст в качестве примераОбнаруженные предложения
regularЕсли следующее слово является капитализированным начинающим предложения, то повредитесь в запаздывающий период. В противном случае не повреждайтесь в запаздывающий период."назначенный"."Book an appt. We'll meet then."

"Book an appt."

"We'll meet then."

"Book an appt. today.""Book an appt. today."
innerНе повреждайтесь после запаздывающего периода."Доктор"."Dr. Smith.""Dr. Smith."
referenceЕсли следующая лексема не является номером, то повредитесь в запаздывающий период. Если следующая лексема является номером, то не повреждайтесь в запаздывающий период."fig"."See fig. 3.""See fig. 3."
"Try a fig. They are nice."

"Try a fig."

"They are nice."

unitЕсли предыдущее слово является номером, и следующее слово является капитализированным начинающим предложения, то повредитесь в запаздывающий период.\in"The height is 30 in. The width is 10 in."

"The height is 30 in."

"The width is 10 in."

Если предыдущее слово является номером, и следующее слово не использовано для своей выгоды, то не повреждайтесь в запаздывающий период."The item is 10 in. wide.""The item is 10 in. wide."
Если предыдущее слово не является номером, то повредитесь в запаздывающий период."Come in. Sit down."

"Come in."

"Sit down."

Значением по умолчанию является выход abbreviations функция. Для японского и корейского текста сокращения обычно не влияют на обнаружение предложения.

Совет

По умолчанию функция обрабатывает однобуквенные сокращения, такой как "V"., или лексемы со смешанными одними буквами и периодами, такими как "U.S.A". как регулярные сокращения. Вы не должны включать эти сокращения в Abbreviations.

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

Опция, чтобы отбросить ранее вычисленные детали и повторно вычислить их в виде true или false.

Типы данных: логический

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

свернуть все

Обновленные документы, возвращенные как tokenizedDocument массив. Получить маркерные детали от updatedDocumentsИспользование tokenDetails.

Больше о

свернуть все

Теги части речи

addPartOfSpeechDetails функция добавляет теги части речи в таблицу, возвращенную tokenDetails функция. Функция помечает каждую лексему с категориальным тегом с одними из следующих имен классов:

  • "adjective" – Прилагательное

  • "adposition" – Adposition

  • "adverb" – Наречие

  • "auxiliary-verb" – Вспомогательный глагол

  • "coord-conjunction" – Сочинительный союз

  • "determiner" – Детерминатив

  • "interjection" – Междометие

  • "noun" – Существительное

  • "numeral" – Цифра

  • "particle" – Частица

  • "pronoun" – Местоимение

  • "proper-noun" – Имя собственное

  • "punctuation" – Пунктуация

  • "subord-conjunction" – Подчинение соединения

  • "symbol" – Символ

  • "verb" – Глагол

  • "other" Другой

Алгоритмы

Если входные документы не содержат детали предложения, то функция сначала запускается addSentenceDetails.

Введенный в R2018b