見出し画像

WordCloud(ワードクラウド)を活用してみる。知的財産業務✖️AI(→IPLに活用)を考える②

シリーズ2回目です。若輩者の稚筆ですので、ご容赦願います。

 ●WordCloudとは?

 Wordcloudはご存知だろうか?一時期 twitterでも流行りました。下記リンクもその一つである。
http://www.tweet-maker.com/wordcloud 
(twitterで自作Wordcloudをやるならば、twitter APIが必要)

 簡単にいうと、「文(単語)集合中で出現頻度が高い単語の複数を選出し、その頻度に応じた大きさで表示する手法」である。

細かい特徴はこの際省きますが、大量のテキストデータの素早い俯瞰が大きな特徴だろうか。

活用例としてはこのような感じ。
・テキストマイニングを用いた効率的な特 許調査方法(安藤 俊幸氏)
https://www.japio.or.jp/00yearbook/files/2015book/15_2_12.pdf
・「BtoBマーケティング」をキーワードにSNS解析をしてみる
http://blog.livedoor.jp/kent0s1/archives/79471365.html

●Pythonによるプログラミング


 今回はWordCloudを自分で使えるようにPythonによるプログラミングで自作した。また、それに対しての説明とどのように知財業務・IPLに活用できるかを考えてみた。

・ライブラリーimport

import MeCab
from matplotlib import pyplot as plt
from wordcloud import WordCloud
import numpy as np
import pandas as pd
import urllib
import codecs
# テキストファイル読み込み

・特許データの読み込み

# テキストファイル読み込み
with open('patent_data.txt', mode='rt', encoding='shift-jis') as fi:
   source_text = fi.read()
    #ストップワードの設定 
data= pd.read_excel(r'./stopword.xlsx')
stoplist = np.array(list(data["Stop"]))

・patent_data.txtは特許の請求項がまとめられたものにした。(形式は不定)
・今回は日本文なので、encoding='shift-jis'に設定
・ストップワード=表示して欲しくない単語。これを指定することで、文書の大半を占める言葉などをWordCloudの対象外とできる。ストップワードのxlsxファイルの様式は以下の図の様である。

スクリーンショット 2020-08-05 20.07.10

・Mecabによる日本語の分かち書き

 分かち書きとは、文章を品詞単位にわける作業である。今回は、Mecabという形態素解析器を用いて分かち書きを行なった。

# MeCabの準備
tagger = MeCab.Tagger('-d /usr/local/lib/mecab/dic/mecab-ipadic-neologd')


tagger.parse('')
node = tagger.parseToNode(source_text)

参考)https://taku910.github.io/mecab/

・URLによるストップワードの設定

 #URLによるストップワードの設定 
slothlib_path = 'http://svn.sourceforge.jp/svnroot/slothlib/CSharp/Version1/SlothLib/NLP/Filter/StopWord/word/Japanese.txt'
slothlib_file = urllib.request.urlopen(slothlib_path)
slothlib_stopwords = [line.decode("utf-8").strip() for line in slothlib_file]
stoplist1 = [ss for ss in slothlib_stopwords if not ss==u'']

参考)簡易的な日本語ストップワードの取得メソッド
https://testpy.hatenablog.com/entry/2016/10/05/004949

・品詞によって抽出するワードを選択する
 分かち書きした結果がnodeに入っている。この中には、品詞と単語そのものの情報が入っている。


word_list = []
while node:
   word_type = node.feature.split(',')[0]
   word = node.surface
   pos = node.feature.split(",")[1]
   print(word,pos)
   if pos=='格助詞':
       node = node.next
   elif pos=='非自立':
       node = node.next
   elif pos=='読点':
       node = node.next
   elif pos=='句点':
       node = node.next
   elif pos=='*':
       node = node.next
   elif pos=='*':
       node = node.next
   elif pos=='接尾':
       node = node.next
   elif pos=='係助詞':
       node = node.next
   elif pos=='括弧開':
       node = node.next
   elif pos=='括弧閉':
       node = node.next
   elif pos=='副助詞/並立助詞/終助詞':
       node = node.next
   elif pos=='副詞可能':
       node = node.next
   elif pos=='連体化':
       node = node.next
   elif pos=='数':
       node = node.next
   elif pos=='接続助詞':
       node = node.next
   elif pos=='自立':
       node = node.next
   elif pos=='代名詞':
       node = node.next
   elif pos=='接続助詞':
       node = node.next
   elif pos=='並立助詞':
       node = node.next
   elif pos=='名詞接続':
       node = node.next
   else:
       if not word in stoplist1:
           if not word in stoplist:
               word_list.append(node.surface)
                   
       node = node.next


・WordCloudの表示
 matplotlibでの図示を行う。
 WordCloudのフォントの設定は以下のリンクが詳しい。
参考)【備忘録】日本語のワードクラウドを作る
https://qiita.com/TkrUdagawa/items/aa483630b5ec7d337c9e

# リストを文字列に変換
word_chain = ' '.join(word_list)

# ワードクラウド作成
W = WordCloud(font_path='./NotoSansCJKjp-hinted/NotoSansCJKjp-Regular.otf',width=640, height=480, background_color='white', colormap='bone').generate(word_chain)
 #図示を行う 
plt.imshow(W)
plt.axis('off')
plt.show()

 プログラムは以上である。

●WordCloudを使って分析

今回は有機エレクトロルミネッセンスと液晶に関する特許文書を使ってWordCloudを行ってみた。その結果は下図となる。

画像2

これから読み取れることは何か?
上記2つの関連技術は予備知識もあるが、
・光学・デバイス関係で使用される。→用途
・製造に関する発明特許がある。→目的
・化合物構造の発明特許がある。→材料としての利用
・電圧・誘電・輸送など、電子の動きに関する記述が多い。→技術詳細

と簡単に推察できる。

このように、WordCloudを用いて特許文書を分析すると
①用途
②目的
③技術詳細
④特徴的な内容(化合物特許など)
が簡単に見えてくる。

●WordCloudを使った分析はどのIPL時のどのタイミングが最適か?

 WordCloudを使った分析はどのIPL時のどのタイミングが最適だろうか?
経営戦略提案をするプロセスが例えば、以下のようであれば、
1、目標設定(スパン・定量設定)
2、プレ分析(バリューチェーン・事業スキームの把握、業界俯瞰分析等)
3、現状分析(市場・顧客・SWOT分析等)
4、戦略の方向性定義(戦略方向性マップの作成)
5、実現可能性評価(戦略インパクト評価・ダウンサイドリンク等)
6、戦略の実行

参考)
https://www.amazon.co.jp/gp/product/4534044674/ref=as_li_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=4534044674&linkCode=as2&tag=muu4649-22&linkId=9fd31ad85724a8862062d3f3f749d55a


・2のプレ分析の業界俯瞰分析には活用できるだろう。
・3の現状分析では課題から市場・顧客ニーズを抽出できるかもしれない

と私は考える。4以降に範囲を広げることができれば、画期的であることは間違いないが、単語のみの、一見不明瞭なデータから何かを判断することは難しいかもしれない。

以上


この記事が気に入ったらサポートをしてみませんか?