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   

The 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       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 массив.

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

свернуть все

Таблица деталей токена. 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