exponenta event banner

addPartOfSpeechDetails

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

Описание

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

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

пример

updatedDocuments = addPartOfSpeechDetails(documents) обнаруживает части речи в documents и обновляет сведения о маркере. Функция по умолчанию перезакрашивает текст для тегирования части речи. Например, функция разбивает слово «you 're» на маркеры «you» и «' 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Если следующий маркер не является числом, то разрыв выполняется в конечном периоде. Если следующий маркер является числом, то не делайте перерыв в конечном периоде.«рис»."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