В этом примере показано, как визуализировать текстовые данные с помощью облаков слова.
Text Analytics Toolbox расширяет функциональность wordcloud
(MATLAB) функция. Это добавляет поддержку создания облаков слова непосредственно от строковых массивов и создания облаков слова из моделей сумки слов и тем LDA.
Загрузите данные в качестве примера. Файл factoryReports.csv
содержит отчеты фабрики, включая текстовое описание и категориальные метки для каждого события.
filename = "factoryReports.csv"; tbl = readtable(filename,'TextType','string');
Извлеките текстовые данные из Description
столбец.
textData = tbl.Description; textData(1:10)
ans = 10x1 string
"Items are occasionally getting stuck in the scanner spools."
"Loud rattling and banging sounds are coming from assembler pistons."
"There are cuts to the power when starting the plant."
"Fried capacitors in the assembler."
"Mixer tripped the fuses."
"Burst pipe in the constructing agent is spraying coolant."
"A fuse is blown in the mixer."
"Things continue to tumble off of the belt."
"Falling items from the conveyor belt."
"The scanner reel is split, it will soon begin to curve."
Создайте облако слова из отчетов.
figure
wordcloud(textData);
title("Factory Reports")
Сравните слова в отчетах с маркирует "Leak"
и "Mechanical Failure"
. Создайте облака слова отчетов для каждой из этих меток. Задайте цвета слова, чтобы быть синими и пурпурными для каждого облака слова соответственно.
figure labels = tbl.Category; subplot(1,2,1) idx = labels == "Leak"; wordcloud(textData(idx),'Color','blue'); title("Leak") subplot(1,2,2) idx = labels == "Mechanical Failure"; wordcloud(textData(idx),'Color','magenta'); title("Mechanical Failure")
Сравните слова в отчетах с безотлагательностью "Низко", "Носителем", и "Высоко".
figure urgency = tbl.Urgency; subplot(1,3,1) idx = urgency == "Low"; wordcloud(textData(idx)); title("Urgency: Low") subplot(1,3,2) idx = urgency == "Medium"; wordcloud(textData(idx)); title("Urgency: Medium") subplot(1,3,3) idx = urgency == "High"; wordcloud(textData(idx)); title("Urgency: High")
Сравните слова в отчетах со стоимостью, о которой сообщают в сотнях долларов отчетам с затратами, о которых сообщают в тысячах долларов. Создайте облака слова отчетов для каждой из этих сумм с цветом подсветки, синим и красным соответственно.
cost = tbl.Cost; idx = cost > 100; figure wordcloud(textData(idx),'HighlightColor','blue'); title("Cost > $100")
idx = cost > 1000; figure wordcloud(textData(idx),'HighlightColor','red'); title("Cost > $1,000")
bagOfWords
| tokenizedDocument
| wordcloud