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'

  • '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