addSentenceDetails

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

Описание

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

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

пример

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

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

Совет

Используйте addSentenceDetails перед использованием lowerверхний, 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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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