メインコンテンツ

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

ワードクラウドで単語の頻度を可視化する

この例では、ワードクラウドで Text Analytics Toolbox ™ を使用してテキストの分布を可視化する方法を示します。ThingSpeak ™ を使用してテキストを並べ替え、分布や感情に影響を与えるパラメーターを確認します。

CheerLights を使用すると、世界中の人々がソーシャル メディア インターフェイスによって設定された 1 つの色に同期できます。ThingSpeakチャネル1417 には、CheerLights の色の履歴が保存されています。ThingSpeakチャネルから単語を読み取り、早いタイムスタンプと遅いタイムスタンプの分布を比較します。

テキストデータを読み取り、単語の出現頻度を計算する

CheerLights ThingSpeakチャネルから最後の 500 個のデータ ポイントを読み取ります。Text Analytics Toolbox の bagofwords 関数を使用して、コレクションの各ドキュメント内の単語の頻度を見つけます。

colorData = thingSpeakRead(1417,'numPoints',500,'OutputFormat','Timetable','fields', [1]);
bagOfWords(colorData.LastCheerLightsCommand')
ans = 

  bagOfWords with properties:

          Counts: [61 68 40 59 23 42 52 59 40 46 10]
      Vocabulary: [1×11 string]
        NumWords: 11
    NumDocuments: 1

時間順に結果を並べ替える

昼食時間より前のタイムスタンプを持つ各データ ポイントのインデックスを見つけ、次に昼食後のデータ ポイントのすべてのインデックスを見つけます。インデックスを使用して、各ケースのすべての単語の配列を作成します。

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: [1×11 string]
           SizeData: [67 60 58 58 49 46 42 40 40 22 10]
    MaxDisplayWords: 100

  Use GET to show all properties


lateWordCloud = 

  WordCloudChart with properties:

           WordData: ["cyan"    "magenta"    "red"    "white"]
           SizeData: [1 1 1 1]
    MaxDisplayWords: 100

  Use GET to show all properties

CheerLights に送信される色の分布は、投稿の時刻にほとんど依存しないようです。午後のみ強くなる色もあれば、一日中一貫して強くなる色もあります。

参考

(Text Analytics Toolbox) | (Text Analytics Toolbox)

外部の Web サイト