Slide 1

Slide 1 text

立命館大学 「意思決定のための(実践的)データ分析」 2020夏: 1/1 1.1 データ分析とは 1.2 プログラミングの入り方 1.3 データをあつめてくる方法 1.4 Web からデータを集める 1.5 API を使ってみる 1.6 テキスト分析ことはじめ 1.7 さいごに 一橋大学大学院経済学研究科 原泰史 [email protected]

Slide 2

Slide 2 text

今日の内容 • 18:00-18:25 • 1.1 データを分析するということ • 18:25-18:40 • 1.2 プログラミングの入り方 • 18:40-18:50 • 休憩 • 18:50-19:10 • 1.3 データをあつめてくる方法 • 19:10-19:25 • 1.4 Web からデータをあつめる • 19:25-19:40 • 1.5 Twitter のAPI からテキストデータを集める • 19:40-19:50 • 休憩 • 19:50-20:10 • 1.6 テキスト分析とは • 20:10-20:20 • 1.7 さいごに • 20:20-20:35 • 質疑応答

Slide 3

Slide 3 text

1.1 データを 分析するということ

Slide 4

Slide 4 text

自己紹介 • 1998-2004 • TOYOTA NATIONAL COLLEGE OF TECHNOLOGY • 2000 • Exchange Student in Malaysia • 2002-2009 • CLARAONLINE, INC. • ICT Hosting Company, nowadays called Cloud system supplier • 2009-2015 • Institute of Innovation Research, HITOTSUBASHI UNIVERSITY • 2015-2017 • Science for RE-Designing Science, Technology and Innovation Policy Center, National Graduate Institute for Policy Studies (GRIPS) / NISTEP / Hitotsubashi UNIVERSITY/MANAGEMENT INNOVATION CENTER • 2018-2019 • EHESS Paris – CEAFJP/Michelin Research Fellow • OECD Expert Advisory Group: Digital Science and Innovation Policy and Governance (DSIP) and STI Policy Monitoring and Analysis (REITER) project • 2019- • TDB Center for Advanced Empirical Research on Enterprise and Economy, Faculty of Economics, Hitotsubashi University

Slide 5

Slide 5 text

最初に 2005年と2015年の話

Slide 6

Slide 6 text

ITスタートアップで 働いていたころの話

Slide 7

Slide 7 text

“IT スタートアップ” とは言っても… • 働き出したころ(2002年) は従業員7名 • 辞めるころ (2009年) でも従業員70名 • “レンタルサーバ”と呼ばれていた時代で、クラウドコンピュー ティングがまだまだ普及する前 (AWS の黎明期) • 仮想化 (virtualization) という、サーバのハードウェアレイヤー とOSレイヤーをカーネルレベルで独立させる技術が一般化しつ つ会った時代 (VMware や Parallels Container など) • Web で注文を掛けて、FAXで受注するような時代 • 購買システムと受注システムと会計システムがバラバラだった 時代

Slide 8

Slide 8 text

VPS(バーチャルプライベートサーバ) • サーバサービスは当時価格競争に 突入しており、3000円弱の新サー ビス(Demi)を投入することに • ところが、最低価格のプロダクト (Demi)ではなく、中価格帯(Solo) が最も売れるようになる • でも、なぜ一番安いモデルが売れない のか説明できない • 「相対価格」で説明して、なんと なく上司が納得する(腹落ちする) • Demi をベースにすると, 1.67 -> 2.34 -> 3.35 • その後最安価モデルは廃止 https://web.archive.org/web/20050208123052/http://clara.jp/service/vps/

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

エビデンスに基づく 科学技術イノベーション政策と「ポンチ絵」 • いままでのキャリアで、ベンチャー(スタートアップ)とアカデミア をやったことに気づき、数年だけならばと、政策大学大学院大学の 文部科学省の科学技術イノベーション政策のセンター (SciREX セン ター) で働くことに • どうやら、研究内容やどういうジャーナルに載ったかとか、それが どういうインパクトファクター(IF)だったかよりも、政策立案のプ ロセス内で使われるポンチ絵の一部になっていることが重要らしい。 • ポンチ絵の要件 • 数十秒で読んで理解できること • しかも、内容が過不足なく明記されていること • 色がいっぱい使われていること • 何よりも予算が取れること

Slide 11

Slide 11 text

「ポンチ絵」 http://ryota-saeki-lifelog.hatenablog.com/entry/2016/09/02/105402

Slide 12

Slide 12 text

自分もこんな感じのポンチ絵をつくる mext.go.jp/b_menu/shingi/chousa/gijyutu/025/shiryo/__icsFiles/afieldfile/2016/02/24/1366973_11.pdf

Slide 13

Slide 13 text

ここまでのまとめ • (個人的には、)ITスタートアップも中央官庁も「データ分析」 に対するアティチュードはそんなに違いはなかった • 「直感でわからないことや、うまくいかなくなったことを分析した い」ことへの高いニーズはあるし、それぞれにデータもある • しかし、部署ごとにデータがバラバラになっており、繋がっていない • 解析を行うための方法論や理論もあまりない • 誘導系でも構造系でも、統計的な分析モデルを構築するというよりは、 棒グラフや線グラフで経過を見るだけで必要十分だった(意思決定プロ セスの上位過程にまわるタイミングで、説明が出来るレベルに留める ことが肝要)

Slide 14

Slide 14 text

2018 Paris

Slide 15

Slide 15 text

2019年春、パリから日本に戻ってきたら、 流行っていたもの • タピオカミルクティー • データサイエンス Credit: CC0 References: https://enterprisezine.jp/bizgene/detail/4739

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

どうやら、この国では「データを使う」 ことが流行っているらしい • 実家の近くにある企業で開催された早稲田ビジネススクール入 山章栄先生の講演に妻と一緒に参加したところ、最終的に愛知 県豊田市でデータサイエンス講演・講習を担当することに • 経済学・(実証的な)経営学の学生・研究者向けに Python 3.x を 用いたデータ分析技法に特化した本を出版することに • 年末に出版予定です

Slide 18

Slide 18 text

なぜ、データが必要 なのだろう?

Slide 19

Slide 19 text

たとえば; 経営といえば ひと もの かね 情報

Slide 20

Slide 20 text

経営を分析する (オールドスクールな方法) ひと もの かね 情報 話を聞きにいくか、文献を調査することでなぜその企業/製品がうまく いったのか、要因を経営理論に照らし合わせて解析する(定性的調査)

Slide 21

Slide 21 text

経営を分析する (最近みんなが好きな手法) ひと もの かね 情報 データベースを入手するか、サーベイデータを作成し、それらの データセットを接合し合うことで、なぜその企業/製品がうまくいっ たのか、要因を経営理論に照らし合わせて解析する(定量的調査)

Slide 22

Slide 22 text

Q. データを使えばビジネスはわかるか? もしくは、政策評価はできるか? • ちょっと昔に言われたこと • 「データはあくまで数をみているだけ。経営者の心の機微や組織体制の細やかな変容や経 営者の意思決定の変化を、細かくデータで追うことは出来ない。」 • ここ数年、実際の世の中で起きたこと • テキスト解析手法の進化 • 因果推論の推定手法の開発と普及 • 機械学習のあっという間の普及 • データベースの普及と重要性が認識されるようになった • データ解析に係る導入コストの低下 • as 統計ソフトを買わなくても良くなった • A. 2020年5月段階の(個人的な)答え • データがあれば、かなり色々なことがわかる。データ分析の技法は取得したほうが良い。 • データで説明しきれない特殊性や特筆性については、まだ定性分析に出来ることはある

Slide 23

Slide 23 text

では、データを使った分析に必要なもの データ、もしくはデータベース 分析手法 分析を行うためのツール

Slide 24

Slide 24 text

企業活動に関連するデータベース 研究開発 調達 生産 販売 マーケ ティング 科学技術基本 調査(総務省) 企業活動基本調査 (経済産業省) 経済センサス (総務省) 政府系 データベース 商用 データベース 帝国 データバンク 特許 データ ベース 論文 データベース (WoS, Scopus, Lends) INITIAL (Entrepedia) POSデータ (ex. インテージ) SNS (Twitter, Facebook, TikTok) 商用と政府系のデータベー スを組み合わせれば、企業 行動をデータで「辿る」こ とは可能になる

Slide 25

Slide 25 text

帝国データバンクデータベース (Commercial) • 一橋CAREE センターで利用可能なデータセット • パネルデータ化が可能. • アーカイブデータも利用可能(政策フォーラム午前中の岡室先生の発表) • ご関心のある先生方は、是非ともお問い合わせください 企業信用調査報告書に関するデータ 取引データ,出資データ,銀行取引データ 企業財務データベースに関するデータ 決算書データ 企業概要ファイルに関するデータ 取引データ,企業情報データ,銀行取引データ その他企業に関するデータ 合併データ,倒産データ

Slide 26

Slide 26 text

企業活動に関連するデータベース(extended) 研究開発 調達 生産 販売 マーケ ティング 研究開発に関 わる作業ログ /ノート/機器 の稼働状況 調達や部品の調達 に関するログ/メー ル/電話のやり取り 販売価格決定 に関わる意思 決定に関わる エビデンス 企業内のログ 商用 データベース 帝国 データバンク 特許 データ ベース 論文 データベース (WoS, Scopus, Lends) INITIAL (Entrepedia) POSデータ (ex. インテージ) SNS (Twitter, Facebook, TikTok) さらに、企業内に介在する ログを組み合わせることで、 企業の意思決定をエビデン スベースに基づき実行する ことが可能になる

Slide 27

Slide 27 text

データを「データベース化」する • 不定形データをデータ化する • JSON やXML をCSV にして、人間が読めるようにする • もしくはその逆 • データをデータベース化する • Machine Readable • SQL, NoSQL etc… • データを管理し保持する (データマネジメント) • 大昔; 紙 • 昔; Excel • 一昔前; スタンドアロンのサーバ • ちょっと昔; パブリッククラウド (AWS, Microsoft Azure, GCP etc…) • 現代; サーバーレス

Slide 28

Slide 28 text

分析手法 • Step1; グラフにする • 「まずは散布図を書いてみる」 • Step2; 統計的処理を行う (平均値, 中央値, 最大値, 最小値 etc..) • このあたりから、内生性や見せかけの回帰との戦いがはじまる • Step3; 回帰分析など, 入力と出力間の関係性を見る • 重回帰分析 • スパース推定 • 決定木分析, SVM (教師あり/教師なしの機械学習) • Step4; 因果効果を識別する • 因果関係と相関関係を識別する(次のページ)

Slide 29

Slide 29 text

因果識別の手法(1) 実験対象 Treated Group Control Group y x Cut-off Point • ランダム化比較試験 (RCT) • 対象者と非対象者を無 作為抽出して比較実験 • 回帰不連続(RD) デザイン – 回帰直線シフト 29 実験対象 Treated Group Control Group • 傾向スコアマッチン グ(PSM): – 各政策対象企業と同じ「政 策対象傾向」を持つ企業を 対照群から抽出 引用:岡室博之 (2019) 産業クラスターと地方創生:地域イノベーション政策の展開と分析方法, 一橋大学公開講座

Slide 30

Slide 30 text

因果識別の手法(2) • 差の差の分析(DID) • 処置群と対照群の比較 と政策前後比較の二重 差 y t Control Group Treated Group t+u t-s ▲t • パネル固定効果分析 • パネルデータを用いて、 各企業の固有の属性の 影響を除去 y x t+i t • 操作変数法(IV): – 内生変数を外生変数 (操作変数)に置き換 える2段階推定 Z X Y U β α 引用:岡室博之 (2019) 産業クラスターと地方創生:地域イノベーション政策の展開と分析方法, 一橋大学公開講座

Slide 31

Slide 31 text

データサイエンスをタピオカミルクティー にしない方法 1. データを公開する. Linked Open Data を活用する. 2. データの知的財産権を明確化する. 3. 神エクセルをなくす. (as DX の推進) 4. オープンソースソフトウェアを使う, あるいは教育する. 2020年初頭の最適解はR もしくは Python (3.x系). 5. AI という言葉に踊らされない. 使い倒す.

Slide 32

Slide 32 text

(いくつかの)ギャップ • 願望投影型政策 (森田 2015) とEBPM • データが、推進したい施策に基づき構築される可能性 • ナラティブなストーリーとデータ解析 • 統計的な素養を政策立案者や企業戦略の決定者すべてが有しているわけでは ない。データに基づく解析結果を広く共有するためには、ストーリーに落と し込むことが必要 • データのオープン化と、ITセキュリティ対策 • RESAS や Notebook や Linked Open Data を利用しようとしても, 自治体や 中央政府、企業のITセキュリティ上制限が掛けられており(ex. 自治体のネッ トワーク分離), 業務用PC などでこれらのツールを利用することが出来ない。

Slide 33

Slide 33 text

Source: OECD (2017[3]), Core Skills for Public Sector Innovation, https://www.oecd.org/media/oecdorg/satellite sites/opsi/contents/files/OECD_OPSI-core_skills_for_public_sector_innovation-201704.pdf OECD が定義するデジタルスキル

Slide 34

Slide 34 text

Conclusion • データサイエンスと呼ばれているものは、プログラミングスキ ルと数学とエンジニアリングスキルと因果関係を特定するため のスキルが混ざりあったもの • 政府のみなさんへ • とりあえずデータを、Machine-Readable な形で公開してください • PDF でも Excel でもなくて、JSON やRDF 形式だとかなりベター • 企業のみなさんへ • 組織内のデータと、外部データを組み合わせることで新たな知見を得 られる可能性が • 経済学や(実証的な規範に基づく)経営学は思ったよりも「役に立 つ」と思います

Slide 35

Slide 35 text

1.2 プログラミングの入り方

Slide 36

Slide 36 text

Jupyter Lab の起動 (1) • スタートメニューから, Jupyter Lab を選択する

Slide 37

Slide 37 text

Jupyter Lab の起動 (2) • コンソールが表示される

Slide 38

Slide 38 text

Jupyter Lab の起動 (3) • New から Python 3 を選択する

Slide 39

Slide 39 text

Jupyter Lab の起動(4) • 1+1 を入力し, Run をクリック • “2” が出力される

Slide 40

Slide 40 text

3-1. Google Colaboratory を開く • https://colab.research.google.com/notebooks/welcome.ipyn b?authuser=1#scrollTo=9J7p406abzgl を, google にログインした状態でオープンする.

Slide 41

Slide 41 text

Google Colaboratory • [ファイル]-[python3 の新しいノートブック] を選択する

Slide 42

Slide 42 text

Google Colaboratory • 左側の実行ボタンを押すと、プログラムが実行される

Slide 43

Slide 43 text

まずは基本をやってみよう • Print 文 • 四則演算 • 論理演算 • 関数の作成 • For 文 • While 文 など、どんなプログラミング言語でも使う主なメソッドをpython で実行出来るようにします。これと、2-3. から本格的に使い始める パッケージを組み合わせると、この講義内で実行するメソッドは概 ね実行出来るようになります。

Slide 44

Slide 44 text

サンプルファイル • Google Colaboratory版 • https://colab.research.google. com/drive/1ZMXOZx6uvICKN cH58hDti9xw3yKb8VMi?usp= sharing • Jupyter Notebook版 • https://www.dropbox.com/s/x 4avqccf9e6f993/Python%20% E3%81%A7%E6%89%8B%E5% A0%85%E3%81%8F%E3%83% 97%E3%83%AD%E3%82%B0% E3%83%A9%E3%83%9F%E3% 83%B3%E3%82%B0%E3%81% AE%E5%9F%BA%E7%A4%8E.i pynb?dl=0

Slide 45

Slide 45 text

サンプルファイルの自環境への導入の仕方 Google Colaboratory 編 • [ファイル]-[ドライブにコピーを保存]をクリックする

Slide 46

Slide 46 text

サンプルファイルの自環境への導入の仕方 Jupyter Labs 編 • Jupyter を起動する • ファイルのダウンロー ド先 Jupyter 上でブラウ ジングし, ファイル名を クリックする

Slide 47

Slide 47 text

2.2.1 Print 文 • 入力した何かを出力する

Slide 48

Slide 48 text

2.2.2 四則演算 • 足し算と引き算と掛け算と割り算

Slide 49

Slide 49 text

2.2.3 for 文の使い方(1) • 繰り返し作業を行う

Slide 50

Slide 50 text

2.2.4 for 文の使い方(2) • 繰り返し処理を途中で止める

Slide 51

Slide 51 text

2.2.5 for 文の使い方(3) • 繰り返し処理の特定の項目をスキップする

Slide 52

Slide 52 text

2.2.6 for 文の使い方(4) • ループが終わった後の処理を指定する

Slide 53

Slide 53 text

2.2.7 for 文 • Range でインデックスを指定する • Range(10)の場合、 0 から9 まで繰り返す

Slide 54

Slide 54 text

2.2.8 for 文とインデックス(2) • Range(開始位置, 終了位置, 変分)が指定できる

Slide 55

Slide 55 text

2.2.9 enumerate 文の使い方 • インデックスと結果を同時に取得する 1 2 3

Slide 56

Slide 56 text

2.2.10 zip の使い方 • 複数の値を同時に取り出せる 5 5 46

Slide 57

Slide 57 text

2.2.11 zip の使い方(2) • 3つ以上の要素を同時に取り出す 5 5 46 50 50 120

Slide 58

Slide 58 text

2.2.12 zip と enumerate を使う • 連番と要素を同時に取り出す 5 5 46 0 1 2

Slide 59

Slide 59 text

2.2.13 多重ループ • 複数のfor 文をまわす • インデント(tab) でループの二重目を指定できる

Slide 60

Slide 60 text

2.2.14 多重ループ(その2) • itertools を使う

Slide 61

Slide 61 text

2.2.15 if 文 • If 条件によって出力結果を変更できる

Slide 62

Slide 62 text

2.2.16 論理演算子 • AND, OR, NOT の違い TRUE FALSE FALSE TRUE FALSE TRUE

Slide 63

Slide 63 text

2.2.17 while文 • 条件を満たすまで繰り返し続ける 0 1 2 3 4

Slide 64

Slide 64 text

2.2.18 無限ループ • While True なので, 永久に同じ処理を繰り返す • Ctrl+C または, Notebook 環境の場合停止ボタンを 押すと停止出来る

Slide 65

Slide 65 text

プログラミングの勉強の仕方 1. とりあえず納期の短い仕事を抱える (アカデミアっぽくない けど) 2. Python で出来ることをあえて Excel でやることで、自分の時 間を無駄にしていることに気づく 3. そうすると、がんばってプログラミングスキルを磨くことの 重要性に気づく 4. 手を動かす。解説サイトをググったり、本を読みながら、ひ とつひとつバグを潰していく 5. 動くとなんか嬉しい 6. 1.-5. を繰り返す

Slide 66

Slide 66 text

DataCamp • オンラインのプログラミング学習 コース • 課題にはしないのですが、一部無 料なので是非お時間のある際に取 り組んで頂けると幸いです

Slide 67

Slide 67 text

DataCamp Introduction to Python

Slide 68

Slide 68 text

ここからの主な流れ • ここまでに説明した関数 (for や while や if etc…) を組み合わ せれば、複雑なコーディングを自分で書くことも出来るが、ま あすごい面倒。 • なので、数値計算ライブラリがある R や Fortran が好かれる場合も • なので、他の誰かが書いてくれたパッケージ (package) を利用 することで、手間を減らす。逆行列を導出して、回帰係数を求 める代わりに、そうした操作を一行のコマンドで実行できる package を import することで、作業を簡略化する

Slide 69

Slide 69 text

1.3 データ分析までに必要なこと

Slide 70

Slide 70 text

データ分析の流れ なんの データ を使う か考え る 先行研 究・事 例を探 す データ の取得 方法を 確認す る データ をデー タベー ス or 手 入力 or 図書館 or 口コ ミ or Web ア ンケー トで入 手する 入手し たデー タの妥 当性を 確認す る データ を統計 ソフト and/or Python and/or SQL で 処理す る データ に統計 処理を 行う データ に関す る解釈 を行う 解釈さ れた データ と、そ の解釈 を Word か Jupyter Noteboo k か Tex でテキ スティ ングす る レポー トとし て先生 に送る/ 上司に 提出す る/学術 誌に投 稿する 今日メインに取り上げる内容 前回/前々回で 取り上げた内容 レポートでやって いただく内容 入手したデータに不足があれば, 別のデータソース を参照し, その入手可能性や妥当性を確認し, データ の入手作業を改めて行う

Slide 71

Slide 71 text

データセットを 用意する方法 図書館や国会図書館で入手する データの提供元から入手する API で取得する Web アンケートで集める Web スクレイピングする/RPA で処理する 手入力で作成する

Slide 72

Slide 72 text

1. 図書館や国会図書館で入手する • 一橋大学図書館 • および, 日経BPデータベースなど, 大学が契約しているデータベース • ただし、2020年5月現在非常にアクセスしずらい • 国会図書館 as known as日本最強の図書館 • デジタルデータベース • http://dl.ndl.go.jp/ • リサーチ・ナビ • https://rnavi.ndl.go.jp/rnavi/ • なにか信頼性の高いデータが必要になったら, 永田町に行けばだいたい 見つかります (学費や税金を払っている甲斐があります) • ただし、2020年5月現在非常にアクセスしずらい

Slide 73

Slide 73 text

2. データの提供元から入手する • データベースを提供する会社から入手する • JSON (グッドデザイン賞) や XML (Web of Science) など, その ままだと解析をそのまま行うには複雑過ぎるデータ形式で提供 される場合もあるので, 必要に応じてデータの parse 処理を行 う。 • 具体例; • Web of Science のXML データをparse してSQL に

Slide 74

Slide 74 text

2. データの提供元から入手する • (a.) Parsing the bibliographic data from XML to SQL of WoS - Pick up sufficient data to analyze - Which tag is needed? - Title? - Names Count? (as known as scientific ordering) - Publisher? - Fund information? - Name? First name? Last Name? - ID?

Slide 75

Slide 75 text

2. データの提供元から入手する • WoS データのSQL 化の場合 • ecrypt data from *.zip to *.gz format • Take 3 mins for 8.16GB • Decrypt data from *.gz to *.zip format • Take 30 mins for 20GB • Decrypt data from *.zip to *.xml format • Take 1.2 hours for 10GB • Parsing xml data into (my)sql format • Take 5.5 hours for 40.5GB • Binding separated *.sql format data into one single file for each year • Take 35 mins • Importing *sql format data into MySQL Server • Take 120 hours for 49.8GB ZIP - > GZ GZ -> ZIP ZIP -> XML XML -> SQL SQL -> SQL Server Accessin g from SQL client Finally you could get the data! Stata?R? Analyze Submissi on Revise Publis h

Slide 76

Slide 76 text

Parsing XML-based Data to (My)SQL • Using python to parse XML data to SQL format. • Using generic_paser.py which distributed in Github. • https://github.com/titipata/wos_pars er • Takes 5.5 hours to parse XML data in 40.5GB into SQL format. • Then import to SQL server, it takes 1.5-3 days with 2 million entries per year.

Slide 77

Slide 77 text

Creating Database Tables. • Write Down “Create Table” and define database structure. CREATE TABLE raw_data.wos_summary ( id varchar(200) NOT NULL, file_number integer NOT NULL, coll_id varchar(200), pubyear varchar(200), season varchar(200), pubmonth varchar(200), pubday varchar(200), coverdate varchar(200), edate varchar(200), vol varchar(200), issue varchar(200), voliss varchar(200), supplement varchar(200), special_issue varchar(200), part_no varchar(200), pubtype varchar(200), medium varchar(200), model varchar(200), indicator varchar(200), inpi varchar(200), is_archive varchar(200), city varchar(200), country varchar(200), has_abstract varchar(200), sortdate varchar(200), title_count varchar(200), name_count varchar(200), doctype_count varchar(200), conference_count varchar(200), language_count varchar(200), normalized_language_count varchar(200), normalized_doctype_count varchar(200), descriptive_ref_count varchar(200), reference_count varchar(200), address_count varchar(200), headings_count varchar(200), subheadings_count varchar(200), subjects_count varchar(200), fund_ack varchar(200), grants_count varchar(200), grants_complete varchar(200), keyword_count varchar(200), abstract_count varchar(200), item_coll_id varchar(200), item_ids varchar(200), item_ids_avail varchar(200), bib_id varchar(200), bib_pagecount varchar(200), bib_pagecount_type varchar(200), reviewed_language_count varchar(200), reviewed_author_count varchar(200), reviewed_year varchar(200), keywords_plus_count varchar(200), book_chapters varchar(200), book_pages varchar(200), book_notes_count varchar(200), chapterlist_count varchar(200), contributor_count varchar(200), PRIMARY KEY(`id`) ); CREATE TABLE raw_data.wos_page ( id varchar(200) NOT NULL, page_id integer NOT NULL, page_value varchar(200), page_begin varchar(200), page_end varchar(200), page_count varchar(200) ); CREATE TABLE raw_data.wos_titles ( id varchar(200) NOT NULL, title_id integer NOT NULL, title varchar(200), title_type varchar(200), lang_id varchar(200), translated varchar(200), non_english varchar(200) ); CREATE TABLE raw_data.wos_summary_names ( id varchar(200) NOT NULL, name_id integer NOT NULL, role varchar(200) NOT NULL, seq_no varchar(200), addr_no_raw varchar(200), reprint varchar(200), lang_id varchar(200), r_id varchar(200), r_id_tr varchar(200), orcid_id varchar(200), orcid_id_tr varchar(200), dais_id varchar(200), display varchar(200), display_name varchar(200), full_name varchar(200), wos_standard varchar(200), prefix varchar(200), first_name varchar(200), middle_name varchar(200), initials varchar(200), last_name varchar(200), suffix varchar(200) );

Slide 78

Slide 78 text

2. データの提供元から入手する • データを parse して, XML からSQL に変換 する • 正規化する • MySQL 上でデータを処 理可能にする • SQL の使い方は次回のモ ジュール4.2と4.3で。

Slide 79

Slide 79 text

3. API で取得する • Application Programming Interface • アプリケーション同士を接合するための仕組み • 汎用的な機能を提供する. • API を経由して機能を呼び出す形でプログラムを構成することにより, 同 じAPI が実装されていれば, 別のソフトウェア上でそのまま動作できる. • データ形式にXML や JSON を利用する Web API も普及 http://e-words.jp/w/API.html

Slide 80

Slide 80 text

3. API で接続する • Orcid から特定の研究者の情 報をAPI 経由で取得する • 今回は ORCID ID 0000-0001- 9500-1150 • Orcid Public API の Client ID や Cilient secret, token を取 得し, API 経由で 原講師の最 近の論文情報を取得する

Slide 81

Slide 81 text

3. API で接続する • 以下の通り, 書誌情報を取得できる

Slide 82

Slide 82 text

3. API で接続する • 今日は3.3 で Twitter を, 第5回でRESAS API の使い方をご説明 する予定です。 • 参考文献 • https://github.com/ORCID/python-orcid • https://support.orcid.org/hc/en-us/articles/360006897174 • https://members.orcid.org/api/about-public-api • https://members.orcid.org/api/tutorial/read-orcid-records

Slide 83

Slide 83 text

4. Web アンケートでデータを集める • アンケートを Google Docs などを 使って, 集める • 卒論やMBA ペー パーでも見かけがち • 母集団と標本の対応 がとても曖昧になり がち • 注.まどかマギカネタ は古典

Slide 84

Slide 84 text

4. Web アンケートでデータを集める • 懸念点1. データの母集団が, データの収集者の想定とは異 なる可能性がある • ユースケース: 「女性の大学生 の買うコスメの情報を集める」, 「起業への選好を調査する」 調査者が想定している母集団= ○○大学の女性の大学1-4年生

Slide 85

Slide 85 text

4. Web アンケートでデータを集める • 懸念点1. データの母集団が, データの収集者の想定とは異 なる可能性がある • アンケートのTOPページに「こ のアンケートは女性の大学生限 定です」と書いても, 回答者が それを守る保証はどこにもない • 記名の場合も, アンケートサイ トにBASIC なパスワードを掛 ける場合にも同様 実際のデータ集計結果= ○○大学の女性の大学1-4年生+α

Slide 86

Slide 86 text

4. Web アンケートでデータを集める • アンケート調査の段階で適切な質問票を設計出来ていないと、分 析にあたって必要な情報を入手できない可能性がある • 質問表の設計に不備があると, 質問者が欲しい結果に回答者を誘導してし まう可能性 • 足りないデータをあとからアンケート調査しても, 調査時期が異なるので 統計的に正しい解析とは言えなくなる • 質問表の設計手法の参考文献 • 『質問紙デザインの技法[第2版]』 • 『図解 アンケート調査と統計解析がわかる本[新版]』

Slide 87

Slide 87 text

4. Web アンケートでデータを集める • それでも、Web アンケートじゃないとデータが集まらない場合があ る • 即時性を持つ必要のある動向調査 etc… • Solution • プロを使う; マクロミル市場調査レポート • https://www.macromill.com/contact/ja/reports.php?utm_source=merumaga&utm _medium=email-info&utm_campaign=HTML • ただし、この技が使えるのは可処分所得を有するMBA学生のみ • 質問の設計などに手慣れた学者を使う; • 新型コロナウィルス感染症への組織対応に関する緊急調査 : 第一報, http://pubs.iir.hit-u.ac.jp/admin/ja/pdfs/show/2390 • 著者; 原泰史:今川智美:大塚英美:岡嶋裕子:神吉直人:工藤秀雄:高永才:佐々木将人:塩谷剛:武 部理花:寺畑正英:中園宏幸:服部泰宏:藤本昌代:三崎秀央:宮尾学:谷田貝孝:中川功一:HR総研

Slide 88

Slide 88 text

5. Web スクレイピングする • Web スクレイピング • Python etc… でコーディングすることで, Web ページ上から必要な情 報を取ってくる • よくある例; Yahoo! ニュースやYahoo! ファイナンス, データを集約し ているサイトからデータを取得し, 例えば口コミ解析や時系列分析に利 用する • よく考えてみると • 株価データなどは, 実は大学図書館から「オフィシャルに」ダウンロードしてこ れる例が多い (今はできなくなってるけど) • 経済学部の卒論/修論では実はあんまり出番がない(こともないかもしれない) • 詳しくは3.2 で。

Slide 89

Slide 89 text

6. RPA で処理する • RPA(Robotics Process Automation; ロボティクスプロセス オートメーション)とは、現代のホワイトカラーの主要業務であ る定型的パソコン作業の効率化を図る、ルールエンジンを活用 したソフトウェアロボットである。作業時間を圧倒的に短縮す ることができ、作業ミス無しで連続稼働が可能であるため、オ ペレーションプロセスの限界費用を低下させることができる。 • RPAはソフトウェアロボットの特徴を最大限に発揮するもので、 具体的には、定型化された表計算ソフト間のデータのやりとり、 メールのやりとり、ウェブ情報のリアルタイム収集や確認作業、 そして、それら各作業間の連携などを、プログラミングする必 要もなくマクロを作成し実行することができる. http://www.jsse.jp/~kenkyu/201631/04/20163104_115-118.pdf

Slide 90

Slide 90 text

7. 手入力で作成する • 人力で、雑誌や本からデータセットを作成する • 古いデータ (1980年以前) だとこの手法がどうしても中心に • 一橋大学経済研究所にはデータベース化されたデータもかなり存在 • 極めてめんどくさいし, 入力ミスが発生する可能性

Slide 91

Slide 91 text

手入力すると気づくこと • 例外的な表記が, 定型なデータになっているはずなのに, とても たくさんある • 長い文章の表記 • 抜けている情報をどう表記するか • 「主な商品」のカッコ内をどう処理するか • 名前の姓と名の間の空白は全角にすべきか、半角にすべきか • 難しい名前をどう処理するか • 元号はデータとして起こしたほうがよいか? • 打ち込んだデータが正しく入力されているかのダブルチェック が必要

Slide 92

Slide 92 text

データベース設計の重要性 • データをどういった形式で, どう分割して保存するか • SQL の場合; データの形式を細かく指定 (次回講義のモジュール 4.2 と 4.3 参照) • 文字起こしの場合も, スクレイピングやRPA でデータを取得す る場合も, • 1. 元データからどのデータを取得するか • 2. 取得する場合, どういった形式でデータを取得するか • 3. 例外的なデータ/データが入力されていない場合, どう処理するか それぞれ検討する必要がある

Slide 93

Slide 93 text

今日のまとめ: データ分析はデータ設計・収 集までの作業で70-80%

Slide 94

Slide 94 text

1.4 Web からデータを集める

Slide 95

Slide 95 text

Web からデータを集める • 2020年5月時点では、大学の図書館や国会図書館が閉まってい るので、Web からデータを集めて分析出来る方法をまずはご紹 介したいと思います • 秋や冬のタイミングで再び大学がクローズした場合も、卒論 etc.. が作 成出来るように • まずは、3.2 Web スクレイピングと, 3.3 Twitter API からデー タ取得を取り扱います。来週はSQL の使い方と、具体的なデー タセットの拾い方をご説明します

Slide 96

Slide 96 text

Web スクレイピングする • 食べログのレ ビュー情報を取得 して, 東京のラー メン店/フレンチ レストランなラン キングを作成する 引用; https://qiita.com/toshiyuki_tsutsui/items/f143946944a428ed105b?fbclid=IwAR1xYwmpS0xGbmbyAz7SVlETwhyguMFEYsgdg- Niap27Mj3XurUHjJoG-Bk

Slide 97

Slide 97 text

Web スクレイピングする • 取ってきたいデータ • 店舗名:store_name • 食べログ点数:score • 口コミ件数:review_cnt • 口コミ文章:review

Slide 98

Slide 98 text

Web スクレイピングする • 店名の一覧を取得する

Slide 99

Slide 99 text

Web スクレイピングする • 引数として, self, list_url, mode を指定 する • requests.get で当該URL からデータが 取得できるか確認する • BeautifulSoup を用い, html の parse を行う. • soup_a_list で店名のリストを一括して 取得する • A タグの list-rst__rst-name-target 部 分からデータを取得する

Slide 100

Slide 100 text

Web スクレイピングする • (Google Chromeの場合) F12 を押して, ソースコードを参照する • タグを確認する

Slide 101

Slide 101 text

Web スクレイピングする 店舗名称の部分のソースコードを確認し, store_name_tag に, データの取得範囲を指定し, store_name で span内のstring を取 得することを指定する

Slide 102

Slide 102 text

Web スクレイピングする • 得点に関連するソースコードを確認する

Slide 103

Slide 103 text

Web スクレイピングする • 評価点数の部分のソースコードを確認し, rating_score_tag に, データの取得範囲を指定 (bタグの, c-rating_val クラスから取 得する) し, rating_score で span内のstring を取得することを 指定する

Slide 104

Slide 104 text

Web スクレイピングする Tabelog 関数にラーメンのお店一覧のURLを渡す

Slide 105

Slide 105 text

Web スクレイピングする 3.65 3.7 3.75 3.8 3.85 3.9 3.95 4 4.05 4.1 4.15 中華そば しば田 麺尊 RAGE 饗 くろ喜 ラーメン屋 トイ・ボックス ほっこり中華そば もつけ らーめん改 中華ソバ 伊吹 八雲 真鯛らーめん 麺魚 本店 Japanese Soba Noodles 蔦 麺 みつヰ 純手打ち だるま らぁ麺やまぐち 麺屋吉左右 中華そば屋 伊藤 中華蕎麦 蘭鋳 中華蕎麦にし乃 MENSHO 迂直 煮干鰮らーめん 圓 はつね 中華そば 満鶏軒 町田汁場 しおらーめん進化 町田駅前店 麺処 びぎ屋 らぁ麺やまぐち 辣式

Slide 106

Slide 106 text

麺尊RAGE

Slide 107

Slide 107 text

Web スクレイピングする ※. 著作権の都合上、口コミ内容は薄消しで

Slide 108

Slide 108 text

Web スクレイピン グする • Wordcloud を作成 • 作り方はテキスト分析回で • マスク画像を用意

Slide 109

Slide 109 text

5. Web スクレイピングする • Web スクレイピングの注意 • データをダウンロードするとき • 目的は下記のものに限る。 • * 個人や家族間で使用する * Web検索サービスを提供する * 情報解析をする ※参考:著作権法第30条・著作権法第 47条(6,7) • 対象コンテンツは下記のものに限る。 • * 文章(データベースのコンテンツの場 合はコンテンツの一部のみに留めてお く) * 画像(同上) * 音声(パブリックドメイン等のオープ ンなライセンスの物に限る) * 映像(同上) ※参考:著作権法第30条・著作権法第 47条(7) • Webサイトへアクセスする時は下 記の制限を守る。 • * robots.txt/robotsメタタグのアク セス制限内容を守る。 * robots.txtがない場合でも、サー バアクセスの間隔を1秒以上空けるよ うにする。 * Pragma:No-cacheメタタグが設 定されているページはダウンロード しない。 * rel=”nofollow”が設定されている リンクはクローラーで辿らない。 * 会員のみが閲覧できるページの場 合は利用規約を守る。 * 情報収集を禁止する措置(ex.ア クセス制限)がクローリング時に取 られていた場合は、既に取得してい た情報を含めて削除する。 ※参考:著作権法第47条(6) https://qiita.com/nezuq/items/c5e827e1827e7cb29011

Slide 110

Slide 110 text

5. Web スクレイピングする • その2; Panda の機能を用いて Web サイト上の表を取得する #女性アイドルのキャパ数 url = ‘https://wasteofpops.hatenablog.com/entry/2019/05/01/000000' dfs3 = pd.read_html(url) print(dfs3) URLを指定する Web ページ上のテーブルを取得する

Slide 111

Slide 111 text

5. Web スクレイピングする • Panda の機能を用いて Web サイト上の表を取得する

Slide 112

Slide 112 text

import seaborn as sns sns.jointplot(followers,cd) sns.jointplot(followers, cd, xlim=(0,10000), ylim=(0,10000), kind="scatter")

Slide 113

Slide 113 text

equation_df=pd.concat([cd, followers], axis=1) sns.heatmap(equation_df, vmax=5000) filtered = cd[(cd >= 0) & (cd < 10000)] ax = sns.distplot(filtered, kde=False);

Slide 114

Slide 114 text

まとめ • Web はデータの宝箱や~ (引用: 彦麻呂) • ただし, 取ってきていいデータとそうではないデータがあります • Web 上で「正規化されていない」データセットはたくさん眠っ ています。ご自身の業務ニーズやリサーチクエスチョンに沿っ てデータセットの種を探せば案外見つかります • こうしたデータセットと、公的なデータソースを組み合わせれ ばいろいろなことが出来ます

Slide 115

Slide 115 text

1.5 データをAPI で処理

Slide 116

Slide 116 text

利用する Notebook • Jupyter Notebook • https://www.dropbox.com/s/nl78z6nql0kx d71/Twitter%20%E3%81%AE%E3%83%87 %E3%83%BC%E3%82%BF%E3%82%92%E 5%8F%96%E5%BE%97%E3%81%99%E3%8 2%8B_fords2020.ipynb?dl=0

Slide 117

Slide 117 text

ユースケース; 顧客動向をオフラインではなくオンラインで把握する • あなたはオフラインマーケティングのスペシャリストです • フィジカルなマーケティング手法を用いて、これまで数々の実績を 残してきました • ところが、COVID-19 の流行により、これまでの顧客エンドポイン トの多くが利用できなくなりました • これまでやっていた販促物の配布ではなく、オンラインにあるデー タを用いて顧客動向を把握することにしました • まずは、自社に関連する言葉を、ソーシャルメディア上から検索す ることに • Twitter からデータを取得することにしました • ツイート数やリツイート数, Favorite 数、それから、実際のツイートの中身 も観察することにしました

Slide 118

Slide 118 text

B2Bマーケティングフローの変化 https://note.com/shintakai/n/n39f60de2701e

Slide 119

Slide 119 text

B2B マーケティングフローの変化 https://note.com/shintakai/n/n39f60de2701e

Slide 120

Slide 120 text

作業フロー 1. Twitter APIを利用するための手続きをする 2. Twitter API 経由からデータを取得するために, コーディング する 3. 取得したデータを観察し、妥当性を検証する (4. データを整理し、レポーティングする) (とりあえず、今日は1. から 3. まで)

Slide 121

Slide 121 text

Twitter のAPI を申請する • https://developer.twitter.com にアクセスする

Slide 122

Slide 122 text

Twitter の API を申請する • Apply for a developer account をクリックする

Slide 123

Slide 123 text

Twitter の API を申請する • 利用目的を選択する

Slide 124

Slide 124 text

Twitter の API を申請する 必要事項を入力し, Next をクリックする

Slide 125

Slide 125 text

Twitter の API を申請する • なぜ API を利用したいのか記入する

Slide 126

Slide 126 text

Twitter の API を申請する • 内容を確認し, Looks Good! をクリックする

Slide 127

Slide 127 text

Twitter の API を申請する • Submit Application をクリックする

Slide 128

Slide 128 text

Twitter の API を申請する • E-mail でメッセージが届くので Confirmation をする

Slide 129

Slide 129 text

Twitter の API を申請する • E-mail での Confirm を終えると, Developer ページに遷移する

Slide 130

Slide 130 text

Twitter の API キーを取得する • Create an App をクリックする

Slide 131

Slide 131 text

Twitter の API キーを取得する • “Create an App” をクリックする

Slide 132

Slide 132 text

Twitter の API キーを取得する • Application の詳細を記入する

Slide 133

Slide 133 text

Twitter の API キーを取得する • Create をクリックする

Slide 134

Slide 134 text

Twitter の API キーを取得する • Keys and Tokens をクリックする

Slide 135

Slide 135 text

Twitter の API キーを取得する • Access Token & access token secret の Create をクリックする

Slide 136

Slide 136 text

Twitter の API キーを取得する • Access Token が生成される

Slide 137

Slide 137 text

練習. 自分のタイムライン情報を取得する • Twitter パッケージをインストールする

Slide 138

Slide 138 text

練習. 自分のタイムライン情報を取得する • 先程取得したAPI キー情報を指定する • Twitter に Oauth 経由でアクセスする • 自分のタイムライン情報を取得する

Slide 139

Slide 139 text

自分のタイムライン情報を取得する • 自分がフォローしているユーザーのツイートが取得される

Slide 140

Slide 140 text

特定のキーワードに基づきツイートを取得する(1) • 必要なパッケージ (tweppy, datetime, codecs, csv) をイン ポートする • API 認証に必要な Consumer Key や Access Token を指定 する • Auth に鍵を渡し, tweepy 経由でTwitter のAPI をノックする

Slide 141

Slide 141 text

特定のキーワードに基づきツイートを取 得する(2) • 検索キーワードをq に指定する • 別途、ツイートを取得するリスト tweets_data を作成する

Slide 142

Slide 142 text

特定のキーワードに基づきキーワードを 取得する • tweepy.Curserを 用い関連するツ イートを一件ずつ 取得する • ツイートのID • ツイートをした ユーザ名 • ツイートをした 場所 • ツイートをした 時間 • ツイートがふぁ ぼられた回数 • ツイートがリツ イートされた回 数 が取得できる

Slide 143

Slide 143 text

特定のキーワードに基づきツイートを取 得する • Waseda.csv というテキストファイルに書き出す • エンコーディングはutf-8 • tweets_data の内容を一行ずつ書き込んでいく

Slide 144

Slide 144 text

特定のキーワードに基づきツイートを取得する • 出力結果

Slide 145

Slide 145 text

e. 取得したデータを解析する (wordcloud) • 早稲田大学 • 慶應大学

Slide 146

Slide 146 text

SNS データは何に使える? • 消費者行動 (マーケティングっぽい) • 特定企業や産業のレピュテーションの変化 • 研究{者}の社会的なインパクトの測定 -> 特定の研究者の名前 を含むツイートの回数, リツイートの回数, Fav 数 etc… • 具体的なテキストデータの処理技法は数回後の講義で。

Slide 147

Slide 147 text

Tips; データが使える/使えないSNS • Mixi • Mixi graph api; http://developer.mixi.co.jp/conn ect/mixi_graph_api/ • Twitter • API でデータを取得可能, 過去デー タに関しては要課金 • Instagram • API 提供, 審査あり; • https://developers.facebook.com /docs/instagram-api • Facebook • Graph API; https://developers.facebook.com /docs/graph-api?locale=ja_JP • スクレイピングは全面的に禁止; https://www.octoparse.jp/blog/5 -things-you-need-to-know- before-scraping-data-from- facebook/ • Tiktok • Unofficial API は発見; https://github.com/szdc/tiktok- api

Slide 148

Slide 148 text

楽天のAPI をたたいてみる 楽天市場編

Slide 149

Slide 149 text

楽天のAPI を使う大まかな流れ • 楽天にログインする • 楽天のアプリID を発行する • テストサイトで動かしてみる • 実際にコーディング (Anaconda etc…) する

Slide 150

Slide 150 text

1. 楽天にログインして、続いて Rakuten Developers にアクセスする

Slide 151

Slide 151 text

2. [アプリID 発行] をクリックする

Slide 152

Slide 152 text

3. “アプリ新規作成フォーム” を入力する

Slide 153

Slide 153 text

4. アプリID/アフィリエイトID などを 取得する

Slide 154

Slide 154 text

5. API テストフォームでデータの取得を テストする • 今回は、”楽天商品検索 API” を利用する • Keyword に”うさまる” を指定する (基本的には、アプリID とパラメータさえ指定す れば、NotebookやR経由 でもデータが引っ張って これそうな感じである)

Slide 155

Slide 155 text

6. データの取得結果

Slide 156

Slide 156 text

7. 実際にPython 上でコーディングする • 先程のAPI テストフォームの内容に基づき、コーディング • アプリケーションID やデータの取得方式を指定する • 今回のキーワードは “うさまる” に • ただし、日本語はそのままURL に指定できないので、 urllib.parse.quote を使う

Slide 157

Slide 157 text

8. 実際にPython 上でコーディングする (続き) • Request を用いURL2 を 開く • 日本語データが含まれて いるのでデコード • URL先が開かない場合, 例 外処理をする

Slide 158

Slide 158 text

9. 実際にPython 上でコーディングする (続き) • 中身が表示されるが、ちょっと使いづらい

Slide 159

Slide 159 text

10. Panda 形式に変換する • Json パッケージをインポート • 取得したデータをjson として読み込む (json.loads) • Panda DataFrame 形式に json_normalize で変換する • このとき、Items をピボットする • とりあえず出力する (temp3)

Slide 160

Slide 160 text

11. Panda で出力される • とりあえず、うさまるグッズ情報が一覧取得出来ている

Slide 161

Slide 161 text

楽天のAPI をたたいてみる その2; 楽天トラベル編 • https://webservice.rakuten.co.jp/api/simplehotelsearch/ を 参照しながらコーディングする • 位置情報に基づく探索 • 座標情報に基づく探索 • 宿同士の検索 などが実行出来そう

Slide 162

Slide 162 text

座標情報を指定する形で宿を探索する • Json 形式でデータを取得 • 緯度・経度を指定する

Slide 163

Slide 163 text

東京駅近辺のホテル情報を取得する

Slide 164

Slide 164 text

Json をPandas DataFrame に変換する • json_normalize で record_path を指定することで、ホテル名な どの情報を取得する

Slide 165

Slide 165 text

DataFrame 形式の出力結果

Slide 166

Slide 166 text

API を用いたデータ取得のまとめ • 鍵を手に入れる作業がまず必要です(これが意外に面倒) • データの提供方式がAPIごとに異なるので、この講義でも何回 か別のパターンをご紹介出来ればと考えています • 具体的にはRESAS • Web からコピペするよりも、一つ一つ画面を追いかけるよりも 複雑なデータを取得することができます

Slide 167

Slide 167 text

1.6 テキスト分析 でできること

Slide 168

Slide 168 text

はじめに; (経済学や経営学にとっての)テキスト分析 • これまでとりあげたデータ (企業情報, 特許, 論文, スクレイピング で取れるデータ etc…) にはいろいろなテキストが含まれている • だけど、処理の仕方がわからないため今までどちらかというと放 置していた • たとえば、特許の請求項 (Claim) の文字数をカウントするなどはあったけ れど • ところが、自然言語処理 (Natural Language Processing) の技法 が発達したため、適用できる分野が増えつつあるところ • 今回は、そんな自然言語処理で今までに紹介したデータをいろい ろと調理してみる回です

Slide 169

Slide 169 text

これまでメインに使っていたところ 出典: ローソンの報告書 売上や営業総収入や営業利益がどうなっているか グラフがどんな風に推移しているか

Slide 170

Slide 170 text

すでにつかえるところ 出典: ローソンの報告書 新規事業にどのくらい取り組んでいるか CEOがどんな表情をしているか

Slide 171

Slide 171 text

テキストを使うことで分析出来そうなこと • 口コミの製品ブランディングへの効果 • 組織体制の変化 • 特許の新規性の測定 • 論文のトレンド変化 • スタートアップがいかに資金を調達しているか • 企業の打ち出したい姿と、市場での評価の差分

Slide 172

Slide 172 text

Janka I. Stoker,Harry Garretsen,and Luuk J. Spreeuwers (2016) The Facial Appearance of CEOs: Faces Signal Selection but Not Performance, PLos One doi: 10.1371/journal.pone.0159950

Slide 173

Slide 173 text

Wordcloud • 言葉の出現頻度を プロットする • マスク画像を使えば 任意の画像上にプロット することが可能 http://kennycason.com/posts/2014-07-03-kumo-wordcloud.html

Slide 174

Slide 174 text

Wordcloudの出力結果 • 経済学者 • 経営学者

Slide 175

Slide 175 text

Wordcloud の出力結果 • 社会学者 • 法学者

Slide 176

Slide 176 text

Wordcloud の出力結果 • 一橋大学 ?

Slide 177

Slide 177 text

Wordcloud の出力結果 • 早稲田大学 ?ハロウィンパーティー はどうやら、BOTを 拾っているらしい

Slide 178

Slide 178 text

Wordcloud の出力結果 • 学習院大学 ?ラクロス部はどうやら すごくアクティブに SNSで活動しているらしい

Slide 179

Slide 179 text

これっぽい - なんとなくの傾向を可 視化する - レポートやインゼミの 表紙がこれだと相手に 対する示威行為になる 気がする - リアルタイムのリアク ションを可視化する (ツ イッターで時々みつけ るやつ)

Slide 180

Slide 180 text

Word2vec • テキストデータを解析し, 各 単語の意味をベクトル表現 化する • 単語間の近接性などを測定 することが可能に • Skip-Gram Model • 入力された単語を元に周辺語 を出力する, 入力層, 隠れ層, 出力層から構成されたニュー ラルネットワークを規定する 引用; https://www.randpy.tokyo/entry/word2vec_skip_gram_model

Slide 181

Slide 181 text

Word2Vec • 文を単語に分かち書きし, そ れぞれ入力層と出力層にイ ンプットしニューラルネッ トに学習させていく • 入力層から隠れ層への重み行列; W 隠れ層から出力層への重み行列; W’ をそれぞれ計算する • このとき、重み行列の各行のベクトルが, 単語の特徴を示すベクトルになる 引用; https://www.randpy.tokyo/entry/word2vec_skip_gram_model

Slide 182

Slide 182 text

• 特定タームのベクト ル表現を確認する 出力結果

Slide 183

Slide 183 text

Similarity Words の抽出(from 経営学者リスト) イノベーション マーケティング論 技術経営 コーポレート・ガバナンス 医療 0.92人的資源 0.92MOT 0.98 神戸大学大学院経 営学研究科 0.93 静岡 0.91評価 0.92開発 0.92第一人者 0.92 地域 0.91ほか 0.91システム 0.92人 0.91 経営情報学 部 0.9勲 0.91知識 0.91組織論 0.91 県立大学 0.88技術 0.9マネジメント 0.9および 0.9 センター 0.88流通 0.9監事 0.88消費者 0.89 研究科 0.87分析 0.9課題 0.85にて 0.89 経営情報 0.87委員会 0.9Certified 0.85問題 0.88 研究所 0.84課題 0.9客員研究員 0.84受章 0.88 所長 0.83人 0.89技術 0.82期 0.87 長 0.82監事 0.89関係 0.82現代 0.87 准教授 0.81および 0.89プロジェクト 0.82勲 0.87 国際企業 0.8多摩大学 0.89 マーケティング 論 0.81アドバイザー 0.87 経済 0.8地域経済 0.88領域 0.81及び 0.87 研究員 0.79サービス 0.88ホスピタリティ 0.8社会学 0.86

Slide 184

Slide 184 text

• 語句ベクトル同士で近い言葉のリストを抽出する • 東大と一橋なので, 「組織学会」などそれっぽいタームが。

Slide 185

Slide 185 text

• 語句同士の類似度を抽出する • 一橋大学(の商学部)は九大よりは東大に近い • 一橋大学(の商学部)は経済学よりもイノベーションのほうが近い • 一橋大学(の商学部)は組織学会にとても近い

Slide 186

Slide 186 text

3. Topic モデル • 文章における単語の出現確率 を推定するためのモデル • 出現する単語の種類と数が, トピック(カテゴリ) によって 異なると仮定する • 各文章は複数のトピックによっ て構成されており, 各トピック の単語分布を合算された形で単 語が生成される https://qiita.com/icoxfog417/items/7c944cb29dd7cdf5e2b1

Slide 187

Slide 187 text

3. Topic モデル

Slide 188

Slide 188 text

まとめ; テキスト分析で出来そうなこと • WordCloud • みんなのなんとなくのイメージの可視化 • Word2vec • 言葉のベクトル化により, モデルへの組み込みが可能 • 被説明変数?説明変数? • Topic モデル • グルーピングの可視化 • 類似語の提案

Slide 189

Slide 189 text

1.7 さいごに

Slide 190

Slide 190 text

一橋データ分析講義の講義資料 • 1. https://speakerdeck.com/yasushihara/10hui • 2. https://speakerdeck.com/yasushihara/10hui-b83cea5a-c7ed-478f-9482-75eb2cfbf5a6 • 3. https://speakerdeck.com/yasushihara/10hui-07f62b90-55db-4d69-a46d-78c995cb8bf3 • 4. https://speakerdeck.com/yasushihara/10 • 5. https://speakerdeck.com/yasushihara/10-57e0b909-959b-48ba-a076-a3458c238412 • 6. https://speakerdeck.com/yasushihara/10-77078dec-4181-43d9-922e-e395e07c2eed • 7. https://speakerdeck.com/yasushihara/10hui-7da3864c-a6b1-47b3-8c12-b4507ee2b3c0 • 8. https://speakerdeck.com/yasushihara/10hui-b024f4c9-5dfb-453d-8697-585f86974786 • 9. https://speakerdeck.com/yasushihara/10hui-b83e5c32-af91-4af3-a91d-54f937a89a04

Slide 191

Slide 191 text

この講義の メッセージ 分析手法を学ぶと, デー タが解釈できる いろいろな解析ツールや データセット、分析手法 があるけれど, それは時 代によって流行りは変 わっていく (今は PYTHON や R が主流だ けど, たぶんそれはどん どん変わっていく) で、2020年代は無償で、 オープンにデータをやり とりすることで分析する ことが主流になる、はず。 (なのでOSS なR や PYTHON を使えるのは 便利) ひとつの手法を主体的に 学べば, 時代やコン ピューティングパワーが 変わっても、対応するこ とは出来る なので、まずはレポート や修論をがんばりましょ う。

Slide 192

Slide 192 text

Pascal Fortran C Stata SPSS

Slide 193

Slide 193 text

講師の場合 • ニューラルネットワークの研究が高専の卒 業論文でした • 高専の16歳から20歳で学んだことで, 今ご 飯を食べられている気がします • 一橋で学んだことで, 60歳くらいからご飯 が食べられる気がしています (予定)

Slide 194

Slide 194 text

最後に 受講して頂き、 本当にありがとうございまし た 一橋大学で講義をしたり、い ろいろな大学でも出張講義中 です データ分析関係でお問い合わ せあれば, Twitter and/or Linked In までお問い合わせを Twitter : https://twitter.com/harayasushi Linked In: https://www.linkedin.com/in/yasus hihara/ Stay Home, Stay Safe

Slide 195

Slide 195 text