【iPhone5S vs iPhone5C 】RによるTwitterテキストマイニング

 
RによるTwitterテキストマイニング第2弾ということで、今回はiPhone5SとiPhone5Cについてつぶやかれている内容に差異があるか比較してみたいと思います。
 
まずはiPhone5sとiPhone5cについてTwitterからsearchAPIを使って情報を取得します。

Twitter APIクライアントの設定等については前回の記事をご覧ください

  
#iPhone5sに関するつぶやき
iPhone5s = ""
Twitter.search("iPhone5s -rt" ,:lang => "ja" ,:count => 100, :result_type => "recent").results.map do |result|
	iPhone5s << result.text
end

iPhone5s.gsub!(/[!-\/:-@\[-`{-~]/, "")

output = File.open("data/iPhone5s.txt", "w")
output.write(iPhone5s)
output.close
  

#iPhone5cに関するつぶやき
iPhone5c = ""
Twitter.search("iPhone5c -rt" ,:lang => "ja" ,:count => 100, :result_type => "recent").results.map do |result|
	iPhone5c << result.text
end

iPhone5c.gsub!(/[!-\/:-@\[-`{-~]/, "")

output = File.open("data/iPhone5c.txt", "w")
output.write(iPhone5c)
output.close

http://e-words.jp/p/r-ascii.html を見つつ、先にgsubで要らない半角記号を削除しておきます。

Twitter.searchの引数部分では、
:lang => “ja”で言語を日本語、
-rt を付けることでリツイートされたものは除く(重複してカウントされてしまうため)ようにしています。

 
 

また、今回はN-gramを使ってみます。
N-gramモデルとは、「ある文字列の中で、N個の文字列または単語の組み合わせが、どの程度出現するか」を調査する言語モデルです。
N=2で指定します。
Nがあまりに大きくなりすぎるとモデルの精度が落ちます。
 
その後、出現頻度が2回以上あるものに絞った上で、頻度が多い順に並び替えています。

> sNgram <- Ngram("path/iPhone5s.txt", type=1, pos="名詞", N=2)
> sNgram <- sNgram[(sNgram$Freq > 2),]
> sNgram[rev(order(sNgram$Freq)),]

 
以下がiPhone5sについての結果です。Freqが出現頻度です。

                   Ngram Freq
364             [iPhone-5]   97
94                   [5-s]   74
86                   [5-S]   27
371             [iphone-5]   21
99              [5-ケース]   11
88                   [5-c]   10
425             [s-ケース]    9
1179     [iPhone-5]    7
1166             [5-分解]    6
600        [ケース-iPhone]    6
1123           [部品-実装]    5
1110           [送料-無料]    5
1010               [月-04]    5

5sに関しては、ケースに関する関心が高いことが伺えます。
実際に「CLANNAD x ギルドデザイン iPhone5sケース 高っwwwwwwwwwwwwwwwwww」などという文章が見受けられます。
 
5sは値段が高いからか、ケースもしっかりしようと思っている人が多いのかもしれません。
 
 
以下は同じ処理を行ったiPhone5cについての結果です。

> cNgram <- Ngram("Path/iPhone5c.txt", type=1, pos="名詞", N=2)
> cNgram <- cNgram[(cNgram$Freq > 2),]
> cNgram[rev(order(cNgram$Freq)),]
                            Ngram Freq
481                    [iPhone-5]   98
132                         [5-c]   76
816                      [一括-0]   35
8                          [0-円]   35
127                         [5-C]   31
496                    [iphone-5]   29
655           [キャッシュ-バック]   21
68                        [16-GB]   17
918                       [円-CB]   16
140                         [5-s]   16
1334                      [0-円]   14
928               [円-キャッシュ]   14
1220              [相互-フォロー]   12
1151                  [期間-限定]   12

 
一方で、iPhone5cの方は値段が安いからか既に背面全体に色がついているからか分かりませんが、ケースという語はでてきませんでした。
また、キャッシュバック、0円、16GBなど価格やスペックに関することが多くつぶやかれていることが分かります。これは各携帯ショップが販促のためのつぶやきをしているためです。
 

故ジョブズ氏は正しかった… 低価格「iPhone5c」にそっぽ
 
にもあるように、5cは5sに比べて売れ行きが良くないようですので、価格を下げて売りにきているようです。

Twitterの投稿からiPhone5sとiPhone5c間での差異が分かったところで今回は以上です!
コメントもどしどしお待ちしております。