addSentenceDetails

Добавьте числа предложения в документы

Описание

Использование addSentenceDetails добавить информацию о предложении в документы.

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

пример

updatedDocuments = addSentenceDetails(documents) обнаруживает контуры предложения в documents и обновляет маркерные детали. Получить детали предложения от updatedDocumentsИспользование tokenDetails.

updatedDocuments = addSentenceDetails(documents,Name,Value) задает дополнительные опции с помощью одного или нескольких аргументов пары "имя-значение".

Совет

Использование addSentenceDetails перед использованием lower, upper, erasePunctuation, normalizeWords, removeWords, и removeStopWords функции как addSentenceDetails информация об использовании, которая удалена этими функциями.

Примеры

свернуть все

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

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   

Входные параметры

свернуть все

Введите документы в виде tokenizedDocument массив.

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'Abbreviations',["cm" "mm" "in"] задает, чтобы обнаружить контуры предложений, где эти сокращения сопровождаются периодом и капитализированным начинающим предложения.

Список сокращений в виде массива строк, вектора символов, массива ячеек из символьных векторов или таблицы.

Если Abbreviations массив строк, вектор символов или массив ячеек из символьных векторов, затем функция обрабатывает их как регулярные сокращения. Если следующее слово является капитализированным начинающим предложения, то функциональные пропуски в запаздывающий период. Функция игнорирует любые различия в регистре сокращений. Задайте начинающих предложения, использующих Starters пара "имя-значение".

Чтобы задать различные поведения при разделении предложений при сокращениях, задайте Abbreviations как таблица. Таблица должна иметь переменные под названием Abbreviation и Usage, где Abbreviation содержит сокращения и Usage содержит тип каждого сокращения. Следующая таблица описывает возможные значения Usage, и поведение функции, когда переданные сокращения этих типов.

ИспользованиеПоведениеСокращение в качестве примераТекст в качестве примераОбнаруженные предложения
regularЕсли следующее слово является капитализированным начинающим предложения, то повредитесь в запаздывающий период. В противном случае не повреждайтесь в запаздывающий период."назначенный"."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Если предыдущее слово является номером, и следующее слово является капитализированным начинающим предложения, то повредитесь в запаздывающий период.\in"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.

Пример: ["cm" "mm" "in"]

Типы данных: char | string | table | cell

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

Значением по умолчанию является выход stopWords функция.

Типы данных: char | string | cell

Опция, чтобы отбросить ранее вычисленные детали и повторно вычислить их в виде true или false.

Типы данных: логический

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

свернуть все

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

Больше о

свернуть все

Факторы языка

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

Для других языков вы можете должны быть задать свой собственный список сокращений от обнаружения предложения. Для этого используйте 'Abbreviations' опция addSentenceDetails.

Алгоритмы

Если эмотиконы или символы эмодзи появляются после завершающего работу символа пунктуации, то функция разделяет предложение после эмотиконов и эмодзи.

Введенный в R2018a