Doc2Vecで各企業の研究開発活動を可視化してみよう！ (8/10)

前回の記事では、XBRLから財務情報を抜き出して、各業種の平均給与や中央値を出してみました。業界によって給与額は結構バラバラだったり、中央値が平均からかなり離れているような業界も一目でわかり、なかなかに面白い結果ではないかと思っています。(自分の就職時にこうしたデータを参考にしたかった…)
興味があれば以下の記事をご覧ください。
https://qiita.com/XBRLJapan/items/7d934ad15568acb08220


Advent Calendar ８回目の投稿では、有価証券報告書に含まれる非財務情報を分析してみます。
※本記事は2017年のXBRL国際会議 Data Amplified 2017にてXBRL Japan開発委員会から発表した内容となります。

# 1. 似たような研究開発をしている企業をDoc2Vecで可視化してみよう
有価証券報告書の記載事項は、テキストなどで記載されている項目も含めてすべてXBRLで抽出することが可能です。前記事では数値で報告されている科目の可視化を行いましたが、ここではテキストで報告されている科目をDoc2Vecという技術を用いて可視化する例を紹介します。

## 1.1. 前準備
事前に有価証券報告書の「研究開発活動」の記述データの切り出しを行いました。データの切り出しなどに関しては、第５回目の記事をご参考ください。

|項目 |XBRLで定義された要素名 |取得例 |
|:---|---|---|
|EDINETCODE  |EDINETCodeDEI  |E00008 |
|企業名  |FilerNameInJapaneseDEI  |ホクト株式会社  |
|研究開発活動  |ResearchAndDevelopmentActivitiesTextBlock|６【研究開発活動】当社グループの研究開発活動につきましては、…  |

上記は例になりますが、上記データが半角スペース区切りで1行で記載されたCSVデータを以降では利用しています。なお、今回の結果は2016年度に報告された有価証券報告書を対象としています。


また、結果は業種ごとに色分けをしておりますが、各企業の業種に関しては以下からダウンロード可能です。

EDINETトップ
http://disclosure.edinet-fsa.go.jp/EKW0EZ0001.html
「ダウンロード」→「EDINETタクソノミ及びコードリスト」→「EDINETコードリスト」


## 1.2. 処理の流れ
処理の流れとしては以下の通りです。

- 研究開発活動のテキストを分かち書きする
- Doc2Vecによる学習・ベクトル化
- 可視化

分かち書きやDoc2Vecの学習などに関しては他の記事でも取り扱われているため、ここでは省略します。以下の記事などを参考にしてください。
分かち書き:
https://qiita.com/shutokawabata0723/items/eb72a47f6543efe2b951

Doc2Vec: 
https://qiita.com/akira_/items/f9bb46cad6834da32367
https://qiita.com/naotaka1128/items/e617f63907fed035408a

なお、分かち書きでは、助詞などをテキストから取り除き、動詞などを基本形に変換したものをDoc2Vecに学習させています。Doc2Vecでは最終的に文書を200次元のベクトルに変換しますが、上の紹介記事と同様に主成分分析(PCA)によって2次元に次元圧縮して可視化します。

## 1.3. 結果
![result.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/500494/67272cd1-14f4-49d2-32a0-3103c2082813.png)

全体像の結果だと細かすぎて読めませんね。ただ、大きく分けて2つにグループ化されていることは見て取れるかと思います。いくつか抽出して確認したところ、左は特に報告をしていない(『該当事項なし』などの報告を含む)企業、右は何らかの報告が記載されている企業となっておりました。

そのため右側の部分に注目していきますが、特徴的な部分を拡大して表示すると以下の通りです。
点の近い企業はDoc2Vecが近しいことを記載していると判断した企業になります。なお、200次元を2次元に圧縮したうえで図にしているため、その分情報量が落ちている点はご留意してください。

![result_detail1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/500494/c9ca8974-7e15-d12e-a5b4-05f089c61d20.png)

プロットは業種別に色分けしていますが、電力会社や建設業界がある程度近しい位置にプロットされていることが見て取れます。ほかの部分も見てみましょう。

![result_detail3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/500494/8f0fdec5-dd19-825f-3583-636f85705242.png)

製薬や化学業界も、似たような位置に出てきていることがわかります。


## 1.4. まとめ
ということで、本記事では特定会社の分析を行うことを目的とはしないためここまでとなりますが、例えば「事業等のリスク」の記述を分析することで、ある特定企業と似たようなリスクを抱えている企業を抽出するようなことができたり、同一企業の経年比較で意味的に大きく変わった記載事項を自動で抽出するようなこともできそうですね。

## 1.5 最後に
第７、８回で、それぞれ有価証券報告書に記載の数値情報や非財務情報の活用をご紹介しました。こうしたEDINETの開示書類は、テキストで書かれた部分を含めて、分析のために欲しいデータを簡単に切り出せるだけでなく、AIや機械学習にも非常に使いやすいデータとなっています。というのも、AIなどの学習では前準備となる質の高いデータを大量に用意することが非常に大変だからです。その点、有価証券報告書の記載事項は各社似たような報告事項を記載しており、開示書類だけあって質の高い文章で構成されています。また、データのダウンロードもWebAPIで容易に行うことができ、誰でも簡単に利用可能です。

一方で、利用したい数値情報などに直接タグが付いていないケース、というのもあります(章全体にタグが付いているが、章に記載される表の各数値にタグがないケースなど)。実はタグの詳細化に関する取り組みは既に行われており、以下のような改善が実際に行われています。

EDINETタクソノミ（CG・IFRS詳細タグ付け対応版）の公表について
https://www.fsa.go.jp/search/20180316.html

ですので、もしそうした意見があれば金融庁に要望を出してみましょう。多くの要望が集まれば、将来データそのものが改善され、より利用しやすい形に変わっていくことになると思います。


# 2. 問合せ先
本記事に関する問い合わせは、以下のメールアドレスまでお願いします。
e-mail：xbrl-tech-qa@xbrl.or.jp
（もちろん、qiita上でのコメントも歓迎します）

本メールアドレスは、qiitaの記事を執筆しているXBRLJapanの[開発委員会](https://www.xbrl.or.jp/modules/pico3/index.php?content_id=10)の問合せ窓口になります。
そのため、組織に関する一般的な問合せなどは内容によって回答できかねますが、XBRLに関する技術的な質問、意見、要望、助言等はお気軽にご連絡ください。
なお、委員会メンバが有志で対応しているため、回答に時間がかかることもありますが、ご了承ください。