【祝:時価総額2兆ドル】アップルの特許を見える化してみた

![Apple2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/76072/4758c14c-d48d-19c8-76e8-6bb243c96358.png)

#０．一言で言うと
(1)　Appleの時価総額が2兆ドルを超えた
(2)　世界ナンバーワン企業の特許を見える化してみた
(3)　ハード主体ながら、ソフトを使い、ユーザとのインターフェイスを大切にしていることが再認識できた

#１．全体像
やったことは、以下の3ステップ。
(1)準備：Google PatentsでAppleの特許を抽出
(2)作業１：wordcloudで見える化
(3)作業２：Appleのロゴでマスクし、ついでに色も合わせる

#２．準備：Google PatentsでAppleの特許を抽出
　アップルの時価総額が2兆ドルを超えた。時価総額1兆ドルを達成したのも、アップルが最初だったけど、これが2018年。わずか3年で、時価総額が２倍になった。
　カネ余りで、投資先が限定的。なおかつ、コロナで有望なのは巣ごもり消費が期待できるITとなると、やっぱりアップルなのかという感じ。ちなみに、主要株主として、世界ナンバーワン投資家のウォーレン・バフェットが名を連ねる。さすが！

　さて、アップルの何が凄いのかを確認したいがために、アップルの知的財産権（特許）の状況をザックリと見える化してみた。まずは、Google Patentsでアップルの米国特許出願、csvデータとしてダウンロード。Google Patentsの左上の表示では、2010年以降で約２万件のデータがあるはずだが、csvにダウンロードすると約半分の9,000件。上限の件数がどうなっているのか、よく分からなかった。

#３．作業１：wordcloudで見える化
　まずは、csvをpandasのデータフレームで読み込み。Google Patentsでcsvにダウンロードすると、最初の行に抽出条件、今回であれば、
https://patents.google.com/?assignee=Apple+Inc.&country=US&after=priority:20100101
が入るので、読み込む際、header=1としておく。

```python:
import pandas as pd
df=pd.read_csv("data.csv",header=1)
df.columns
```

　今回は特許名（タイトル）のみ使う。

```python:
Title=df["title"]
Text=''
for i in Title:
    Text+=i
```

　さて、いよいよwordcloudの出番。

```python:
import wordcloud
word_cloud=wordcloud.WordCloud(background_color="white")
word_cloud.generate(Text)
import matplotlib.pyplot as plt
plt.figure(figsize=(16,10))
plt.imshow(word_cloud)
plt.axis("off")
plt.show()
```

　先ほど、用意した特許名のテキストをwordcloudに読み込ませて、matplotlibで描画してみよう。すると、以下のようになる。

![wordcloud1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/76072/3d257b51-d0a7-1ea2-177b-5f532d3a645e.png)

　取り除きたいワードをstopwordsとして引数にして、同じワードが2度出たりしないようにしよう。

```python:
stopwords={"method","using","portion","thereof","based","multiple","multi","and","of","in","for","with","to","or","providing","on","by","an"}

word_cloud=wordcloud.WordCloud(background_color="white",collocations=False,stopwords=stopwords)
word_cloud.generate(Text)
plt.figure(figsize=(16,10))
plt.imshow(word_cloud)
plt.axis("off")
plt.show()
```

![wordcloud2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/76072/51bca0e0-0ea8-f2b1-8156-1987d2ff9402.png)

　多少、スッキリした。

#４．作業２：Appleのロゴでマスクし、ついでに色も合わせる
　個人的に気に入っているアップルのロゴで、マスクしてみよう。
この際、numpyのarrayを使うことに注意。

```python:
from PIL import Image
import numpy as np
mask_array = np.array(Image.open('Apple.jpg'))

word_cloud=wordcloud.WordCloud(mask=mask_array,background_color="white",collocations=False,stopwords=stopwords)
word_cloud.generate(Text)
plt.figure(figsize=(16,10))
plt.imshow(word_cloud)
plt.axis("off")
plt.show()
```

　結果は、以下の通り。アップルらしくなった(笑)

![Apple1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/76072/3b655626-9902-6cf4-20c5-dad536e6ec5a.png)

　せっかくなので、レインボーカラーに輝く、アップルのロゴの配色を利用して、wordcloudを作ってみよう。

```python:
from wordcloud import ImageColorGenerator
image_color = ImageColorGenerator(mask_array)

word_cloud=wordcloud.WordCloud(mask=mask_array,color_func=image_color,background_color="white",collocations=False,stopwords=stopwords)
word_cloud.generate(Text)
plt.figure(figsize=(16,10))
plt.imshow(word_cloud)
plt.axis("off")
plt.show()
```

　この時、wordcloudのImageColorGeneratorが必要になるので、注意。
結果は冒頭に掲げた通りだが、再掲しておこう。アップルは、お洒落:apple:

![Apple2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/76072/4758c14c-d48d-19c8-76e8-6bb243c96358.png)

#５．まとめ
　アップル、すごい。一時はマイクロソフトに敗れ、マニアだけのPCになるかと思ったけど、iPhoneで世界を変えた。でも、ここ最近、わずか３年で時価総額が倍増したなんて、本当にビックリ。ハードとソフトを融合させ、工場を持たないファブレスで、ユーザー・インターフェイスを大切にする、その特徴が時代にマッチしている。