addPartOfSpeechDetails

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

Описание

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

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

пример

updatedDocuments = addPartOfSpeechDetails(documents) обнаруживает части речи в documents и обновляет детали лексемы. Функция по умолчанию перезакенивает текст для маркировки части речи. Например, функция разделяет слово «вы» на лексемы «вы» и «'re». Чтобы получить детали части речи от 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       noun          
    "increase"           1                 1               1         letters       en       noun          
    "thereby"            1                 1               1         letters       en       adverb        
    "beautys"            1                 1               1         letters       en       noun          
    "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Если следующее слово является заглавным стартером предложения, то прерывание в конечном периоде. В противном случае не ломайтесь в конечный период.«appt»."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Если предыдущее слово является числом, а следующее слово является заглавным стартером предложения, то прерывание в конечном периоде.«в»."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.

Типы данных: logical

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

свернуть все

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

Подробнее о

свернуть все

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

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

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

  • "adposition" - Адпозиция

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

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

  • "coord-conjunction" - Координирующая связь

  • "determiner" - Определитель

  • "interjection" - Пересечение

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

  • "numeral" - Число

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

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

  • "proper-noun" - Собственное существительное

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

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

  • "symbol" - Символ

  • "verb" - Глагол

  • "other" Другое

Алгоритмы

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

Введенный в R2018b