WordCloud での単語の頻度の可視化
ワード クラウドで Text Analytics Toolbox™ を使用して、テキストの分布を可視化することができます。ThingSpeak™ を使用してテキストを並べ替えて、どのパラメーターが分布に、すなわち感情に影響するのかを確認します。
CheerLights によって、世界中の人が Twitter® で設定された 1 つの色に同期できます。ThingSpeak のチャネル 1417 には、CheerLights の色の履歴が保存されています。ThingSpeak チャネルから単語を読み取り、早いタイム スタンプと遅いタイム スタンプの分布を比較します。
メモ
この例を実行するには、Text Analytics Toolbox を使用するライセンスの与えられた MathWorks アカウントにログインしていなければなりません。
テキスト データの読み取りと単語の頻度の計算
CheerLights ThingSpeak チャネルの直近の 500 のデータ点を読み取ります。Text Analytics Toolbox の関数 bagofwords
を使用して、コレクションの各ドキュメント内の単語の頻度を調べます。
colorData = thingSpeakRead(1417,'numPoints',500,'OutputFormat','Timetable','fields', [1]); bagOfWords(colorData.LastCheerLightsCommand')
ans = bagOfWords with 11 words and 1 documents: orange green white purple red … 39 67 35 42 52
時間による結果の並べ替え
昼食前のタイムスタンプをもつ各データ点のインデックスを検索し、次に昼食後のデータ点のインデックスをすべて検索します。インデックスを使用して、ケースごとにすべての単語の配列を作成します。
lateTimeIndex = (hour(colorData.Timestamps) > 12); earlyTimeIndex = (hour(colorData.Timestamps) < 12); lateColors = colorData.LastCheerLightsCommand(lateTimeIndex); earlyColors = colorData.LastCheerLightsCommand(earlyTimeIndex);
ワード クラウドでの単語の頻度の比較
並べ替えられたデータを使用してワード クラウドを生成します。関数 subplot
によって、それらを並べて比較することができます。
subplot(1,2,1); earlyWordCloud = wordcloud(earlyColors,'Color','blue') title('Early Morning CheerLights'); subplot(1,2,2); lateWordCloud = wordcloud(lateColors,'color','green') title('Late Night CheerLights');
earlyWordCloud = WordCloudChart with properties: WordData: ["warmwhite" "cyan" "pink" "green" "red" "white" "orange" "yellow" "magenta" "blue" "purple"] SizeData: [58 46 42 37 33 32 29 26 17 15 4] MaxDisplayWords: 100 Show all properties lateWordCloud = WordCloudChart with properties: WordData: ["blue" "purple" "green" "red" "orange" "pink" "white"] SizeData: [58 38 26 23 9 4 3] MaxDisplayWords: 100 Show all properties
CheerLights に送信される色の分布は、ポストの時刻によって異なるように見えます。赤、ピンク、およびオレンジは、遅い時刻のポストでより頻繁に現れます。
参考
Get Started with Text Analytics Toolbox (Text Analytics Toolbox) | wordcloud
(Text Analytics Toolbox)