Создание таблицы облака слов на основе текстовых данных
wordcloud(___, указывает дополнительные Name,Value)WordCloudChart с использованием одного или нескольких аргументов пары имя-значение.
wordcloud( создает облако слов на рисунке, панели или вкладке, указанных parent,___)parent.
возвращает значение wc = wordcloud(___)WordCloudChart объект. Использовать wc для изменения свойств облака слов после его создания. Список свойств см. в разделе Свойства WordCloudChart.
Примечание
Панель инструментов Text Analytics расширяет функциональные возможности wordcloud (MATLAB ®). Он добавляет поддержку для создания облаков слов непосредственно из массивов строк и создания облаков слов из моделей пакетов слов, моделей пакетов n-грамм и тем LDA. Для wordcloud( Панель инструментов анализа текста), см. wordcloud(Панель инструментов для анализа текста).
Загрузка данных примера sonnetsTable. Стол tbl содержит список слов в переменной Wordи соответствующие значения частоты в переменной Count.
load sonnetsTable
head(tbl)ans=8×2 table
Word Count
___________ _____
{'''tis' } 1
{''Amen'' } 1
{''Fair' } 2
{''Gainst'} 1
{''Since' } 1
{''This' } 2
{''Thou' } 1
{''Thus' } 1
Печать данных таблицы с помощью wordcloud. Укажите слова и соответствующие размеры слов, которые должны быть Word и Count переменные соответственно.
figure wordcloud(tbl,'Word','Count'); title("Sonnets Word Cloud")

Если установлен Toolbox™ Text Analytics, то облака слов можно создавать непосредственно из массивов строк. Дополнительные сведения см. в разделе wordcloud(Панель инструментов аналитики текста) (Панель инструментов аналитики текста). Если панель инструментов Text Analytics отсутствует, необходимо предварительно обработать текстовые данные вручную.
В этом примере показано, как создать облако слов из обычного текста путем считывания его в строковый массив, предварительной обработки и передачи в wordcloud функция.
Читайте текст из «Сонетов Шекспира» с fileread и преобразовать его в строку.
sonnets = string(fileread('sonnets.txt')); extractBefore(sonnets,"II")
ans =
"THE SONNETS
by William Shakespeare
I
From fairest creatures we desire increase,
That thereby beauty's rose might never die,
But as the riper should by time decease,
His tender heir might bear his memory:
But thou, contracted to thine own bright eyes,
Feed'st thy light's flame with self-substantial fuel,
Making a famine where abundance lies,
Thy self thy foe, to thy sweet self too cruel:
Thou that art now the world's fresh ornament,
And only herald to the gaudy spring,
Within thine own bud buriest thy content,
And tender churl mak'st waste in niggarding:
Pity the world, or else this glutton be,
To eat the world's due, by the grave and thee.
"
Разделение sonnets в строковый массив, элементы которого содержат отдельные слова. Для этого удалите знаки препинания и соедините все строковые элементы в строку 1 на 1, а затем разделите их на пробелы. Затем удалите слова, содержащие менее пяти символов, и преобразуйте слова в строчные.
punctuationCharacters = ["." "?" "!" "," ";" ":"]; sonnets = replace(sonnets,punctuationCharacters," "); words = split(join(sonnets)); words(strlength(words)<5) = []; words = lower(words); words(1:10)
ans = 10x1 string
"sonnets"
"william"
"shakespeare"
"fairest"
"creatures"
"desire"
"increase"
"thereby"
"beauty's"
"might"
Новообращенный sonnets в категориальный массив и затем постройте график с использованием wordcloud. Функция отображает уникальные элементы C с размерами, соответствующими их частотным подсчетам.
C = categorical(words);
figure
wordcloud(C);
title("Sonnets Word Cloud")
Создайте облако слов из обычного текста, прочитав его в массив строк, предварительно обработав его и передав в wordcloud функция.
Читайте текст из «Сонетов Шекспира» с fileread и преобразовать его в строку.
sonnets = string(fileread('sonnets.txt')); extractBefore(sonnets,"II")
ans =
"THE SONNETS
by William Shakespeare
I
From fairest creatures we desire increase,
That thereby beauty's rose might never die,
But as the riper should by time decease,
His tender heir might bear his memory:
But thou, contracted to thine own bright eyes,
Feed'st thy light's flame with self-substantial fuel,
Making a famine where abundance lies,
Thy self thy foe, to thy sweet self too cruel:
Thou that art now the world's fresh ornament,
And only herald to the gaudy spring,
Within thine own bud buriest thy content,
And tender churl mak'st waste in niggarding:
Pity the world, or else this glutton be,
To eat the world's due, by the grave and thee.
"
Разделение sonnets в строковый массив, элементы которого содержат отдельные слова. Для этого удалите знаки препинания и соедините все строковые элементы в строку 1 на 1, а затем разделите их на пробелы. Затем удалите слова, содержащие менее пяти символов, и преобразуйте слова в строчные.
punctuationCharacters = ["." "?" "!" "," ";" ":"]; sonnets = replace(sonnets,punctuationCharacters," "); words = split(join(sonnets)); words(strlength(words)<5) = []; words = lower(words); words(1:10)
ans = 10x1 string
"sonnets"
"william"
"shakespeare"
"fairest"
"creatures"
"desire"
"increase"
"thereby"
"beauty's"
"might"
Найдите уникальные слова в sonnets и подсчитать их частоту. Создайте облако слов, используя значения частоты в качестве данных размера.
[numOccurrences,uniqueWords] = histcounts(categorical(words));
figure
wordcloud(uniqueWords,numOccurrences);
title("Sonnets Word Cloud")
Загрузка данных примера sonnetsTable. Стол tbl содержит список слов в Word переменная и соответствующие счетчики частоты в Count переменная.
load sonnetsTable
head(tbl)ans=8×2 table
Word Count
___________ _____
{'''tis' } 1
{''Amen'' } 1
{''Fair' } 2
{''Gainst'} 1
{''Since' } 1
{''This' } 2
{''Thou' } 1
{''Thus' } 1
Печать данных таблицы с помощью wordcloud. Укажите слова и соответствующие размеры слов, которые должны быть Word и Count переменные соответственно. Чтобы задать случайные значения цветов слов, установите 'Color' к случайной матрице или триплетам RGB с одной строкой для каждого слова.
numWords = size(tbl,1); colors = rand(numWords,3); figure wordcloud(tbl,'Word','Count','Color',colors); title("Sonnets Word Cloud")

Если установлена панель инструментов Text Analytics, то облака слов можно создавать непосредственно из массивов строк. Если панель инструментов Text Analytics отсутствует, необходимо предварительно обработать текстовые данные вручную. Пример создания облака слов без панели инструментов Text Analytics см. в разделе Подготовка текстовых данных для облаков Word.
Извлечь текст из sonnets.txt использование extractFileText.
str = extractFileText("sonnets.txt"); extractBefore(str,"II")
ans =
"THE SONNETS
by William Shakespeare
I
From fairest creatures we desire increase,
That thereby beauty's rose might never die,
But as the riper should by time decease,
His tender heir might bear his memory:
But thou, contracted to thine own bright eyes,
Feed'st thy light's flame with self-substantial fuel,
Making a famine where abundance lies,
Thy self thy foe, to thy sweet self too cruel:
Thou that art now the world's fresh ornament,
And only herald to the gaudy spring,
Within thine own bud buriest thy content,
And tender churl mak'st waste in niggarding:
Pity the world, or else this glutton be,
To eat the world's due, by the grave and thee.
"Отображение слов из сонетов в облаке слов.
figure wordcloud(str);

wordVar - Табличная переменная для данных словаПеременная таблицы для данных слов, заданная как строковый скаляр, символьный вектор, числовой индекс или логический вектор.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string
sizeVar - Табличная переменная для данных о размерахПеременная таблицы для данных размера, заданная как строковый скаляр, символьный вектор, числовой индекс или логический вектор.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string
C - Входные категориальные данныеВходные категориальные данные, указанные как категориальный массив. Функция отображает каждый уникальный элемент C с размером, соответствующим histcounts(C).
Типы данных: categorical
words - Входные словаВходные слова, заданные как строковый вектор или массив ячеек символьных векторов.
Типы данных: string | cell
sizeData - Данные о размере словаДанные размера слова, указанные как числовой вектор.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
parent - Родительский контейнерFigure объект | Panel объект | Tab объект | TiledChartLayout объект | GridLayout объектРодительский контейнер, указанный как Figure, Panel, Tab, TiledChartLayout, или GridLayout объект.
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
'HighlightColor','red' устанавливает красный цвет подсветки. WordCloudChart перечисленные здесь свойства являются только подмножеством. Полный список см. в разделе Свойства WordCloudChart.
'MaxDisplayWords' - Максимальное количество отображаемых словМаксимальное количество отображаемых слов, указанное как неотрицательное целое число. Программа отображает MaxDisplayWords самые большие слова.
'Color' - Цвет слова[0.2510 0.2510 0.2510] (по умолчанию) | триплет RGB | символьный вектор, содержащий имя цвета | матрицаЦвет слова, указанный как триплет RGB, вектор символов, содержащий имя цвета, или N-на-3 матрица, где N - длина WordData. Если Color является матрицей, то каждая строка соответствует триплету RGB для соответствующего слова в WordData.
Триплеты RGB и шестнадцатеричные цветовые коды полезны для задания пользовательских цветов.
Триплет RGB - это трехэлементный вектор строки, элементы которого задают интенсивности красной, зеленой и синей составляющих цвета. Интенсивности должны находиться в диапазоне [0,1]; например, [0.4 0.6 0.7].
Шестнадцатеричный цветовой код - это символьный вектор или строковый скаляр, начинающийся с хэш-символа (#), за которыми следуют три или шесть шестнадцатеричных цифр, которые могут варьироваться от 0 кому F. Значения не чувствительны к регистру. Таким образом, цветовые коды '#FF8800', '#ff8800', '#F80', и '#f80' эквивалентны.
Можно также задать некоторые общие цвета по имени. В этой таблице перечислены параметры именованного цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.
| Имя цвета | Краткое имя | Триплет RGB | Шестнадцатеричный цветовой код | Внешность |
|---|---|---|---|---|
'red' | 'r' | [1 0 0] | '#FF0000' |
|
'green' | 'g' | [0 1 0] | '#00FF00' |
|
'blue' | 'b' | [0 0 1] | '#0000FF' |
|
'cyan' | 'c' | [0 1 1] | '#00FFFF' |
|
'magenta' | 'm' | [1 0 1] | '#FF00FF' |
|
'yellow' | 'y' | [1 1 0] | '#FFFF00' |
|
'black' | 'k' | [0 0 0] | '#000000' |
|
'white' | 'w' | [1 1 1] | '#FFFFFF' |
|
Вот триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию MATLAB, используемых на многих типах графиков.
| Триплет RGB | Шестнадцатеричный цветовой код | Внешность |
|---|---|---|
[0 0.4470 0.7410] | '#0072BD' |
|
[0.8500 0.3250 0.0980] | '#D95319' |
|
[0.9290 0.6940 0.1250] | '#EDB120' |
|
[0.4940 0.1840 0.5560] | '#7E2F8E' |
|
[0.4660 0.6740 0.1880] | '#77AC30' |
|
[0.3010 0.7450 0.9330] | '#4DBEEE' |
|
[0.6350 0.0780 0.1840] | '#A2142F' |
|
Пример: 'blue'
Пример: [0 0 1]
'HighlightColor' - Цвет подсветки слова[0.8510 0.3255 0.0980] (по умолчанию) | триплет RGB | символьный вектор, содержащий имя цветаЦвет выделения слова, заданный как триплет RGB, или вектор символов, содержащий имя цвета. Программа выделяет самые большие слова этого цвета.
Триплеты RGB и шестнадцатеричные цветовые коды полезны для задания пользовательских цветов.
Триплет RGB - это трехэлементный вектор строки, элементы которого задают интенсивности красной, зеленой и синей составляющих цвета. Интенсивности должны находиться в диапазоне [0,1]; например, [0.4 0.6 0.7].
Шестнадцатеричный цветовой код - это символьный вектор или строковый скаляр, начинающийся с хэш-символа (#), за которыми следуют три или шесть шестнадцатеричных цифр, которые могут варьироваться от 0 кому F. Значения не чувствительны к регистру. Таким образом, цветовые коды '#FF8800', '#ff8800', '#F80', и '#f80' эквивалентны.
Можно также задать некоторые общие цвета по имени. В этой таблице перечислены параметры именованного цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.
| Имя цвета | Краткое имя | Триплет RGB | Шестнадцатеричный цветовой код | Внешность |
|---|---|---|---|---|
'red' | 'r' | [1 0 0] | '#FF0000' |
|
'green' | 'g' | [0 1 0] | '#00FF00' |
|
'blue' | 'b' | [0 0 1] | '#0000FF' |
|
'cyan' | 'c' | [0 1 1] | '#00FFFF' |
|
'magenta' | 'm' | [1 0 1] | '#FF00FF' |
|
'yellow' | 'y' | [1 1 0] | '#FFFF00' |
|
'black' | 'k' | [0 0 0] | '#000000' |
|
'white' | 'w' | [1 1 1] | '#FFFFFF' |
|
Вот триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию MATLAB, используемых на многих типах графиков.
| Триплет RGB | Шестнадцатеричный цветовой код | Внешность |
|---|---|---|
[0 0.4470 0.7410] | '#0072BD' |
|
[0.8500 0.3250 0.0980] | '#D95319' |
|
[0.9290 0.6940 0.1250] | '#EDB120' |
|
[0.4940 0.1840 0.5560] | '#7E2F8E' |
|
[0.4660 0.6740 0.1880] | '#77AC30' |
|
[0.3010 0.7450 0.9330] | '#4DBEEE' |
|
[0.6350 0.0780 0.1840] | '#A2142F' |
|
Пример: 'blue'
Пример: [0 0 1]
'Shape' - Форма облака слов'oval' (по умолчанию) | 'rectangle'Форма таблицы облака слов, указанная как 'oval' или 'rectangle'.
Пример: 'rectangle'
'LayoutNum' - Компоновка размещения словМакет размещения слов, заданный как неотрицательное целое число. Если вы неоднократно звоните wordcloud при одинаковых входных данных макеты размещения слов будут одинаковыми каждый раз. Чтобы получить различные макеты размещения слов, используйте различные значения LayoutNum.
wc — WordCloudChart объектWordCloudChart объектWordCloudChart объект. Можно изменить свойства WordCloudChart после его создания. Дополнительные сведения см. в разделе Свойства WordCloudChart.
Панель инструментов Text Analytics расширяет функциональные возможности wordcloud (MATLAB) функция. Он добавляет поддержку для создания облаков слов непосредственно из массивов строк и создания облаков слов из моделей пакетов слов, моделей пакетов n-грамм и тем LDA. Для wordcloud( Панель инструментов анализа текста), см. wordcloud(Панель инструментов для анализа текста).
Примечания и ограничения по использованию:
Синтаксис wc = wordcloud(str), где str является строковым массивом, символьным вектором или массивом ячеек символьных векторов (для этих входов требуется панель инструментов Text Analytics) не поддерживается.
Когда words и sizedata входы предоставляются как массивы с высоким уровнем, затем они собираются в память и, таким образом, должны вписываться в память.
join | lower | replace | split | splitlines | string | wordcloud (панель инструментов для анализа текста)
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.