tokenDetails

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

Описание

пример

tdetails = tokenDetails(documents) возвращает таблицу маркерных деталей для лексем в tokenizedDocument массив documents.

Примеры

свернуть все

Создайте маркируемый массив документа.

str = [ ...
    "This is an example document. It has two sentences."
    "This document has one sentence and an emoticon. :)"
    "Here is another example document. :D"];
documents = tokenizedDocument(str);

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

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

    "This"              1               1         letters           en   
    "is"                1               1         letters           en   
    "an"                1               1         letters           en   
    "example"           1               1         letters           en   
    "document"          1               1         letters           en   
    "."                 1               1         punctuation       en   
    "It"                1               1         letters           en   
    "has"               1               1         letters           en   

type переменная содержит тип каждой лексемы. Просмотрите эмотиконы в документах.

idx = tdetails.Type == "emoticon";
tdetails(idx,:)
ans=2×5 table
    Token    DocumentNumber    LineNumber      Type      Language
    _____    ______________    __________    ________    ________

    ":)"           2               1         emoticon       en   
    ":D"           3               1         emoticon       en   

Создайте маркируемый массив документа.

str = [ ...
    "This is an example document. It has two sentences."
    "This document has one sentence."
    "Here is another example document. It also has two sentences."];
documents = tokenizedDocument(str);

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

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

    "This"              1                 1               1         letters           en   
    "is"                1                 1               1         letters           en   
    "an"                1                 1               1         letters           en   
    "example"           1                 1               1         letters           en   
    "document"          1                 1               1         letters           en   
    "."                 1                 1               1         punctuation       en   
    "It"                1                 2               1         letters           en   
    "has"               1                 2               1         letters           en   

Посмотрите маркерные детали второго предложения третьего документа.

idx = tdetails.DocumentNumber == 3 & ...
    tdetails.SentenceNumber == 2;
tdetails(idx,:)
ans=6×6 table
       Token       DocumentNumber    SentenceNumber    LineNumber       Type        Language
    ___________    ______________    ______________    __________    ___________    ________

    "It"                 3                 2               1         letters           en   
    "also"               3                 2               1         letters           en   
    "has"                3                 2               1         letters           en   
    "two"                3                 2               1         letters           en   
    "sentences"          3                 2               1         letters           en   
    "."                  3                 2               1         punctuation       en   

Загрузите данные в качестве примера. Файл 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 массив.

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

свернуть все

Таблица маркерных деталей. tdetails имеет следующие переменные:

ИмяОписание
TokenМаркерный текст, возвращенный как строковый скаляр.
DocumentNumberИндекс документа, которому принадлежит лексема, возвратился как положительное целое число.
SentenceNumberКоличество предложения лексемы в документе, возвращенном как положительное целое число. Если эти детали отсутствуют, то сначала добавляют, что предложение назначает в documents использование addSentenceDetails функция.
LineNumberНомер строки лексемы в документе, возвращенном как положительное целое число.
Type

Тип лексемы, возвращенной как одно из следующего:

  • 'letters' – строка символов буквы только

  • 'digits' – строка цифр только

  • 'punctuation' – строка пунктуации и символов символа только

  • 'email-address' – обнаруженный адрес электронной почты

  • 'web-address' – обнаруженный веб-адрес

  • 'hashtag' – обнаруженный хэш-тег (запускается с "#" символ, сопровождаемый буквой)

  • 'at-mention' – обнаруженный в упоминании (запускается с "@" символ

  • 'emoticon' – обнаруженный эмотикон

  • 'emoji' – обнаруженный эмодзи

  • 'other' – не принадлежит предыдущим типам и не пользовательский тип

Если эти детали отсутствуют, то сначала добавляют, что тип назначает в documents использование addTypeDetails функция.

Language

Язык лексемы, возвращенной как одно из следующего:

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

  • 'ja' – Японский язык

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

  • 'ko' – Корейский язык

Эти детали языка определяют поведение removeStopWords, addPartOfSpeechDetails, normalizeWords, addSentenceDetails, и addEntityDetails функции на лексемах.

Если эти детали отсутствуют, то сначала добавляют, что язык назначает в documents использование addLanguageDetails функция.

Для получения дополнительной информации о поддержке языка в Text Analytics Toolbox™, смотрите Факторы Языка.

PartOfSpeech

Тег части речи в виде категориального от одних из следующих имен классов:

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

  • "adposition" – Adposition

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

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

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

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

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

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

  • "numeral" – Цифра

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

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

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

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

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

  • "symbol" – Символ

  • "verb" – Глагол

  • "other" Другой

Если эти детали отсутствуют, то сначала добавляют, что часть речи назначает в documents использование addPartOfSpeechDetails функция.

Entity

Тег сущности в виде одного из следующего:

  • 'location' – обнаруженное местоположение

  • 'organization' – обнаруженная организация

  • 'person' – обнаруженный человек

  • 'other' – обнаруженная сущность, не принадлежа вышеупомянутым категориям

  • 'non-entity' – никакая сущность не обнаруживается

Если эти детали отсутствуют, то сначала добавляют, что сущность назначает в documents использование addEntityDetails функция.

Lemma

Форма леммы. Если эти детали отсутствуют, то первая лемма назначает в documents использование addLemmaDetails функция.

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

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

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

Введенный в R2018a