Pythonで商標マップを書いてみる。

# はじめに

以前、J-platpatからダウンロードしたCSVデータから、特許マップを作成しました。

https://qiita.com/ip_design/items/7b52611d756043b5eb3b

J-platpatからは特許データのみならず、商標データや意匠データもCSVでダウンロードできますので、今回は商標のデータでマップを作成してみました。

# 商標データ
J-platpatで、商標に「知財」をいう用語を含む商標出願・権利を検索しました。ヒット件数は、314件でした。以下にダウンロードしたCSVデータの一部（5件）を示します。このデータを用いて商標マップを作成します。


| 登録番号   | 商標         | 区分 | 出願人/権利者/名義人         | 出願日    | 登録日    | ステータス     | 文献URL |
|------------|--------------|------|--------------------------|-----------|-----------|--------------|-------|
| 3270672    | 知財管理      | 16   | 一般社団法人日本知的財産協会  | 1993/9/13 | 1997/3/12 | 存続-登録-継続 |(https://www.j-platpat.inpit.go.jp/c1800/TR/JP-1993-093240/36151FD5F44471E03CBF2C9D51A28B64AE1B0BF291AAB73398277666AF43D747/40/ja) |
| 4061351    | 知財ノート    | 16   | 三菱電機株式会社           | 1995/8/10 | 1997/9/26 | 存続-登録-継続 |(https://www.j-platpat.inpit.go.jp/c1800/TR/JP-1995-082779/0CF35BC299A1C4577DC077E36D93BD5456C33DECF6C60310F6B609B580E46A9B/40/ja) |
| 4070906    | 知財かわら版  | 16   | 岩堀　邦男                | 1996/1/31 | 1997/10/17 | 存続-登録-継続 | (https://www.j-platpat.inpit.go.jp/c1800/TR/JP-1996-007665/8A74244B0BABEF8F1AA9FA57419EF40E67845C44D9FD8673A54B9A0666EE2380/40/ja) |
| 4584786    | 知財教育研究所  | 16   | 胃甲　輝邦                | 2001/9/20 | 2002/7/12 | 存続-登録-継続 | (https://www.j-platpat.inpit.go.jp/c1800/TR/JP-2001-085655/428848069134D628BB775ADC9C03E97153315F2B09E55C5B585BDE0337E989D7/40/ja) |
| 4588048    | 知財アカデミー  | 16   | 株式会社知財コーポレーション | 2001/10/5 | 2002/7/19 | 存続-登録-継続 |(https://www.j-platpat.inpit.go.jp/c1800/TR/JP-2001-089930/9
# プログラム
まず、出願人top20のグラフを書きたいと思います。次に、商標の件数の時系列推移のグラフを書きます。

##  出願人top20のプログラム
```python
! pip install japanize-matplotlib
! wget -c https://moji.or.jp/wp-content/ipafont/IPAexfont/IPAexfont00401.zip
! mkdir -p fonts
! unzip -d fonts -o IPAexfont00401.zip
! rm -f IPAexfont00401.zip
from collections import Counter
import pandas as pd
import matplotlib.pyplot as plt
import japanize_matplotlib
import numpy as np

# googleドライブの利用
from google.colab import drive
drive.mount('/content/drive')
# データの前処理
# データの読み込み(google ドライブから)
df = pd.read_csv("/content/drive/MyDrive/商標知財.csv", encoding="shift_jis")
#必要な列のみ抽出
df = df[['出願人/権利者/名義人', '出願日/国際登録日(事後指定日)']]
#不要語の削除（出願人/権利者）
df['出願人/権利者/名義人'] = df['出願人/権利者/名義人'].str.replace('▲', '')
df['出願人/権利者/名義人'] = df['出願人/権利者/名義人'].str.replace('▼', '')
#出願日を日付型に置き換え
df['出願日/国際登録日(事後指定日)'] = pd.to_datetime(df['出願日/国際登録日(事後指定日)'])
# 出願人・出願件数・top20の図示
# 出願人/権利者列を","で分割
df['app'] = df['出願人/権利者/名義人'].str.split(',')
# ２次元リストを１次元化
ans = sum(df['app'], [])
# 文字列（出願人）をカウント
counter = Counter(ans)
# データフレームに変換
app_df = pd.DataFrame(counter.most_common(20))
# 昇順に並べ替え
app_df = app_df.sort_values(by=1, ascending=True)
# データを変数に格納
x1 = app_df[0]
y1 = app_df[1]
# グラフのサイズ、ラベルの文字サイズを指定
fig = plt.figure(figsize=(8.0,4.0))
plt.rcParams["font.size"]=11
# 棒グラフ（横棒）で図示
plt.title("出願人ランキングtop20")
plt.barh(x1,y1)
```
## 出願人top20のマップ
出力は以下のようになりました。特許と異なり個人の出願が多く見受けられます。これは商標出願は特許出願に比べて安くできるからでしょうか。

また、内閣府の課長さんの出願も見受けられます。内閣府といえば国の機関となりますが、商標権は一個人の課長さんが保有することになる点は興味深いところです。
　  
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3110569/4c6287a9-834c-c3f2-700f-747b2bef66a1.png)
## 商標の件数の時系列推移のプログラム
```python
# 出願年ごとの件数 データフレームに変換し、確認
df_y = df['出願日/国際登録日(事後指定日)'].dt.year.value_counts().sort_index().reset_index()
df_y.columns = ["出願年", "件数"]
# データを変数に格納
x = df_y["出願年"]
y = df_y["件数"]
# グラフのサイズ、ラベルの文字サイズを指定
fig = plt.figure(figsize=(12.0,6.0))
fig = plt.rcParams["font.size"]=11
# 折れ線グラフで図示（1993年から2023年まで）
plt.title("件数推移（1993年～2023年）")
plt.xticks(np.arange(1993, 2024, 1))
plt.xlim(1992.8, 2023.2)
plt.ylim(0,50)
plt.plot(x,y, label='商標「知財」含む')
plt.xlabel('出願年')
plt.ylabel('件数')
# X軸項目を60°傾ける
plt.xticks(rotation=60)
plt.legend()
```
## 商標の件数の時系列推移のマップ
出力は以下のようになりました。2000年以降件数が増え、2019年～2021年あたりが件数のピークであったように見えます。こう見ると、近年知財に関するビジネスが活発化しているとも考えられますが、本当にそうかはわかりません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3110569/05e6fa57-1df1-5a38-4a0f-39ec3622ab5d.png)
# 感想
今回は、商標に関するマップを作ってみました。マップを使った商標の分析はあまり行われていないように思いますが、Pythonを使えばマップ化できることがわかりました。今後も活用したいと思います。