より具体的なテキストマイニング事例
ここでは、より具体的で専門的なテキストマイニングの事例についてわかりやすく解説します。
適時開示情報の業績に対するリスク有無の自動判定
こちらは弊社で取り組んでいるテキストマイニングの活用事例になります。以下より論文を入手できます。
>>適時開示情報の業績に対するリスク有無の自動判定
弊社の代表が共同著者となっています。
コロナ鍋や、日本の少子高齢化のため、年金を受け取ることが出来ないのではないかといった将来に向けた心配から、近年個人投資家の数が増加してきています。投資をする上で、投資を検討しようとしている企業及び、既に投資をしている企業についての情報を知ることはとても重要になってきます。
重要な会社情報を上場企業が開示しないといけないということを、適時開示情報と呼びます。
適時開示情報の中には、上場企業の株価に影響を与える可能性の情報もあります。業績に関連する情報は、株価への影響を大きく与えます。
適時開示情報は、常に更新し続けるため、すべてを閲覧することはとても難しく、業績に関連する情報のみを選ぶのも難しくなっています。
テキストマイニングの手法を用いて、投資家に、リスクの有無を判定をすることで、投資において有利になることを目標とします。
◆提案手法
実際にどのように、リスクの有無を判定するのかを段階に分けて紹介していきます。
手法概要
① 適時開示情報の中から業績にリスクがあると考えられる情報を人手で抽出して、学習データを作成します。
その学習データを後述のワードリスト(表1)に示す語により分類します。
②学習データ・テストデータを適時開示情報の文書ごとに Doc2Vecと呼ばれるものによりベクトル化します。
③深層学習におけるモデルの最適な中間層や batch を決定します。
④Chainer を用いて学習データを用いて学習を行い,Chainer のモデルを作成します。
⑤作成されたモデルに基づき,リスクがある文書をリスクあり,リスクなしに分類し,さらに,リスクありと判定された文書を,その内容に基づいて分類します。
使用するデータ
学習データには 2017 年の適時開示情報を使用し,テストデータには 2016 年の適時開示情報を使用します。
①学習データの作成方法として、下記に含まれる単語を含む文章を「リスク有り」とし、含まれない単語を「リスク無し」とします。
表1 災害, 紛争, テロ, 地震, 風水害, 疫病, パンデミック, 国際紛争, 訴訟, 法改正, 知的財産侵害, 事件, 事故, 不正, 金融犯罪, コンダクトリスク,(以下略 全99個)
②「リスク有り」と分類したものを、「特別損失」、「違反」、「その他」の3種類に分類する。「その他」には「火災」、「訴訟」、「損害」といった情報を含みます。
分類は下記に示されている語とラベル名に基づいて分類をします。
ラベル名
含まれている語(一部)
特別損失
特別損失,減損損失
違反
違反,不正
その他
災害,紛争,訴訟
リスクなし
/
深層学習に使用するモデル
深層学習について詳しく知りたい方はこちらをご覧ください。
深層学習について説明します!
①epoch を 30 として中間層 X のユニット数を変化させて,テストデータにおける精度を比較します。
②最適な中間層 X におけるユニット数を中間層に使用します。
③batch の値を変化させて,テストデータにおける精度を比較します。
④最適な batch の値を使用します。
◆評価
ラベル
精度
特別損失
95.2%
違反
88.2%
その他
74.7%
リスクなし
89.4%
全体
87.4%
最も低い精度であったラベルは「その他」で 74.7%,最も高い精度であったラベルは「特別損失」で 95.2%でありました。これは,「特別損失」の文書の特徴は掴めているが,「その他」は特徴が掴みづらかったと言えます。
◆リスク有無判定-まとめ
リスクのあり、無しの判断間違えは、1番の問題です。リスクを無しを判断して、投資してしまった結果、大損をしてしまうということに繋がってしまったり、リスク有りと判断をして、投資することを見逃して、一攫千金のチャンスを逃してしまったりするかもしれません。
今回の深層学習を用いた手法では、「リスクのあり」、「リスクのなし」の判断の有無は89.4%ととても精度の高いものとなっています。
リスクありの単語が含まれていなくても、学習することで、類義語が含まれてると判断しリスクありと判断することもできています。
また、適時開示情報を「特別損失」「違反」「その他」「リスクなし」の4種類に分類をする精度は87.4%となっています。
実際には、リスク有りと判断されたものが、他の企業に及ぼすリスクについても考える必要があります。したがって、取引関係や資本関係のある会社との関連性についても考える必要があります。
業績要因・業績結果文の抽出
財務諸表(決算短信、有価証券報告書)から業績要因の抽出は行われてきましたが、企業ごとにフォーマットが異なるということが問題となってきました。特に、事業セグメントごとの業績情報は、表や文面のフォーマットが異なるため、業績情報の抽出は困難でした。
業績回復の要因が、企業の主力事業が好調であれば、株価への影響は大きいですが、株式売却の計上などの特別利益の計上が要因であるならば、株価への影響は小さいため、業務情報の中でも特に業績要因が投資判断において重要であるとされています。
したがって業績要因と業績結果の抽出を行うことは重要となります。
有価証券報告書から企業ごとの事業セグメント名とその事業セグメントに関する業績要因文・業績結果文を抽出する手法について例を取り扱います。
◆提案手法
①有価証券報告書の 1.5.節「従業員の状況」から、事業セグメント名の候補を抽出します。
②有価証券報告書の 2.章「事業の状況」から、文をすべて抽出し、業績要因文、業績結果文、それ以外の文に分類します。
③②で抽出した業績要因文に対して、事業セグメントを付与し、その業績要因文に対応する業績結果文があれば、その業績結果文にも事業セグメントを付与します。
④③で事業セグメントが付与できなかった業績要因文に対して、別のアプローチを用いて、事業セグメントを付与します。
業績要因文であるかどうかの分類
①決算短信から業績要因文、手がかり表現、後述の企業キーワードを抽出します。
企業キーワードとはその企業にとって重要なキーワードのことです。
②①で抽出された手がかり表現の“拡張手がかり表現”を獲得します。
③①で抽出された業績要因文に対して、企業キーワードを用いてスコアを付与します。
④拡張手がかり表現を含み、かつ,スコアが高い業績要因文を正例とし、手がかり表現,企業人工知能学会研究会資料にキーワードをともに含まない文を負例として学
習データを自動生成します。
⑤自動生成された学習データを使用し、深層学習にて有価証券報告書から抽出した事業セグメントに対応する文集合に対して、1文ごとに業績要因文を判定します。
業績結果文であるかどうかの分類
業績要因文との関係に基づき業績結果文を確定させます。
◆事業セグメントの付与
① 文の位置による付与
「。」を含まない文であれば,事業セグメント名の候補を含んでいるかどうか確認します。含んでいた場合そこから5行以内を事業セグメントの内容と判断します。
② ルールベースによる付与
brl ファイルからテキストを抽出する際に、事業セグメント名と事業セグメントに対応する文が一つになってしまい、事業セグメントの付与ができない原因に対して、行の先頭、1文字削除した箇所、2 文字削除した箇所、3 文字削除した箇所に対して、事業セグメント名の候補があるかどうかでセグメントの付与を行います。
③ 最近傍法による分類
ここまでに事業セグメントが付与できた業績要因文を用いて、まだ事業セグメントが付与できていない業績要因文とのコサイン類似度を計算し,コサイン類似度が一番高い業績要因文と同様の事業セグメントを付与します。
◆実装
本手法を実装し,キーワードによって業績要因文を検索できる有価証券報告書検索システムを作成されています。
※こちらのサイトより画像引用
◆業績要因・業績結果文の抽出-まとめ
業績要因文の分類精度は0.91と高い数値出しました。フォーマットが異なる場合に対しても対応できるようになるのと、業績以外に含まれる情報についての「事業の内容」、
「企業の対処すべき課題」、「事業等のリスク」、「研究開発活動」と言ったものに対しても、分類ができるようになることが課題と考えられています。
分類が正確になれば、投資でたくさん儲けることが出来るようになるのは間違いないでしょう。