Извлеките сводные данные из документов
[ задает дополнительные опции с помощью одного или нескольких аргументов пары "имя-значение".summary,scores] = extractSummary(documents,Name,Value)
Создайте массив маркируемых документов.
str = [
"The quick brown fox jumped over the lazy dog."
"The fox jumped over the dog."
"The lazy dog saw a fox jumping."
"There seem to be animals jumping other animals."
"There are quick animals and lazy animals"];
documents = tokenizedDocument(str);Извлеките сводные данные документов с помощью extractSummary функция. Функция, по умолчанию, выбирает 1/10 входных документов, окружая.
summary = extractSummary(documents)
summary = tokenizedDocument: 10 tokens: The quick brown fox jumped over the lazy dog .
Чтобы задать большие сводные данные, используйте 'SummarySize' опция. Извлеките сводные данные с тремя документами.
summary = extractSummary(documents,'SummarySize',3)summary =
3x1 tokenizedDocument:
10 tokens: The quick brown fox jumped over the lazy dog .
7 tokens: The fox jumped over the dog .
9 tokens: There seem to be animals jumping other animals .
Создайте массив маркируемых документов.
str = [
"The quick brown fox jumped over the lazy dog."
"The fox jumped over the dog."
"The lazy dog saw a fox jumping."
"There seem to be animals jumping over other animals."
"There are quick animals and lazy animals"];
documents = tokenizedDocument(str);Извлеките сводные данные с тремя документами. Второй выход scores содержит итоговые оценки важности документа.
[summary,scores] = extractSummary(documents,'SummarySize',3)summary =
3x1 tokenizedDocument:
10 tokens: The quick brown fox jumped over the lazy dog .
10 tokens: There seem to be animals jumping over other animals .
7 tokens: The fox jumped over the dog .
scores = 3×1
0.2426
0.2174
0.1911
Визуализируйте баллы в столбчатой диаграмме.
figure bar(scores) xlabel("Summary Document") ylabel("Score") title("Summary Document Importance")

Чтобы обобщить единый документ, разделите документ в массив предложений и используйте extractSummary функция.
Создайте строковый скаляр, содержащий документ.
str = ... "There is a quick fox. The fox is brown. There is a dog which " + ... "is lazy. The dog is very lazy. The fox jumped over the dog. " + ... "The quick brown fox jumped over the lazy dog.";
Разделите строку в предложения с помощью splitSentences функция.
str = splitSentences(str)
str = 6x1 string
"There is a quick fox."
"The fox is brown."
"There is a dog which is lazy."
"The dog is very lazy."
"The fox jumped over the dog."
"The quick brown fox jumped over the lazy dog."
Создайте маркируемый массив документа, содержащий предложения.
documents = tokenizedDocument(str)
documents =
6x1 tokenizedDocument:
6 tokens: There is a quick fox .
5 tokens: The fox is brown .
8 tokens: There is a dog which is lazy .
6 tokens: The dog is very lazy .
7 tokens: The fox jumped over the dog .
10 tokens: The quick brown fox jumped over the lazy dog .
Извлеките сводные данные из предложений с помощью extractSummary функция. Чтобы возвратить сводные данные withthree документы, установите 'SummarySize' опция к 3. Чтобы гарантировать итоговые документы появляются в том же порядке как входные документы, устанавливают 'OrderBy' опция к 'position'.
summary = extractSummary(documents,'SummarySize',3,'OrderBy','position')
summary =
3x1 tokenizedDocument:
6 tokens: There is a quick fox .
7 tokens: The fox jumped over the dog .
10 tokens: The quick brown fox jumped over the lazy dog .
Чтобы восстановить предложения в единый документ, преобразуйте документы, чтобы представить использование в виде строки joinWords функционируйте и соедините предложения с помощью join функция.
sentences = joinWords(summary); summaryStr = join(sentences)
summaryStr = "There is a quick fox . The fox jumped over the dog . The quick brown fox jumped over the lazy dog ."
Чтобы удалить окружающие символы пунктуации, используйте replace функция.
punctuationRight = ["." "," "’" ")" ":" "?" "!"]; summaryStr = replace(summaryStr," " + punctuationRight,punctuationRight); punctuationLeft = ["(" "‘"]; summaryStr = replace(summaryStr,punctuationLeft + " ",punctuationLeft)
summaryStr = "There is a quick fox. The fox jumped over the dog. The quick brown fox jumped over the lazy dog."
documents — Введите документыtokenizedDocument массивВведите документы в виде tokenizedDocument массив.
Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
extractSummary(documents,'ScoringMethod','lexrank') извлекает сводные данные из documents и устанавливает опцию метода выигрыша на 'lexrank'.ScoringMethod — Выигрыш метода'textrank' (значение по умолчанию) | 'lexrank' | 'mmr'Выигрыш метода, используемого для резюмирования экстракта в виде разделенной запятой пары, состоящей из 'ScoringMethod' и одно из следующего:
'textrank' – Используйте алгоритм TextRank.
'lexrank' – Используйте алгоритм LexRank.
'mmr' – Используйте алгоритм MMR.
Query — Запросите документ для выигрыша MMRtokenizedDocument скаляр | массив строк | массив ячеек из символьных векторовЗапросите документ для MMR, выигрывающего в виде разделенной запятой пары, состоящей из 'Query' и tokenizedDocument скаляр, массив строк слов или массив ячеек из символьных векторов. Если 'Query' не tokenizedDocument скаляр, затем это должен быть вектор-строка, представляющий единый документ, где каждым элементом является слово.
Эта опция только оказывает влияние когда 'ScoringMethod' 'mmr'.
SummarySize — Размер сводных данныхInfРазмер сводных данных в виде разделенной запятой пары, состоящей из 'SummarySize' и одно из следующего:
Скаляр в области значений (0,1) – Извлечение заданная пропорция входных документов, окружая. В этом случае, количество итоговых документов ceil(SummarySize*numDocuments), где numDocuments количество входных документов.
Положительное целое число – Извлечение сводные данные с конкретным количеством документов. Если SummarySize больше или равен количеству входных документов, затем функция возвращает входные документы, отсортированные согласно 'OrderBy' опция.
Inf – Возвратите входные документы, отсортированные согласно 'OrderBy' опция.
Типы данных: double
OrderBy — Порядок документов, таким образом,'score' (значение по умолчанию) | 'position'Порядок документов, таким образом, в виде разделенной запятой пары, состоящей из 'OrderBy' и одно из следующего:
'score' – Закажите документы их счетом согласно 'ScoringMethod' опция.
'position' – Поддержите порядок документа от входа.
summary — Извлеченные сводные данныеtokenizedDocument массивИзвлеченные сводные данные, возвращенные как tokenizedDocument массив. Сводные данные являются подмножеством documents, и сортируется согласно 'OrderBy' опция.
scores — Итоговые баллы документаИтоговые баллы документа, возвращенные как вектор, где scores(i) счет jдокумент сводных данных th согласно 'ScoringMethod' опция. Баллы сортируются согласно 'OrderBy' опция.
tokenizedDocument | bleuEvaluationScore | rougeEvaluationScore | bm25Similarity | cosineSimilarity | textrankScores | lexrankScores | mmrScores | rakeKeywords | textrankKeywords
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.