見出し画像

【診断士試験】「出題の趣旨」の裏側をAI技術で探ってみる

診断士試験の2次試験は解答が公表されない試験です。
合格した人でさえ、結局何が正解だったのかは分かりません。

診断士試験受験生の皆さんは、2次試験終了後に発表される「出題の趣旨」をご存じだと思います。
しかし記述があっさりしすぎて、試験勉強には使えないものと思われています。

例えば2020年度の事例I 第2問についての「問題文」と「出題の趣旨」は以下の通りです。

事例I 第2問
A社では、情報システム化を進めた若い女性社員を評価し責任者とした。ベテラン事務員の仕事を引き継いだ女性社員は、どのような手順を踏んで情報システム化を進めたと考えられるか。100字以内で答えよ。
出題の趣旨
買収された後のA社が、買収以前の事務処理を情報システム化する際に、どのような手順を踏んだのかについて、理解して説明する能力を問う問題である。

問題文そのままに近い事が書いてあります。
これでは参考になりませんよね。
私も受験生時代には、「出題の趣旨」はちらっと見るだけで活用していませんでした。

しかし「出題の趣旨は」出題者が解答に関して公表している唯一のメッセージです。
予備校などが作る模範解答よりも、解答に近いはずです。

そこで、今回のブログでは、AI技術の力を借りて、出題の趣旨の裏側に何があるのか探ってみたいと思います。

単語間の関連を調べる

AI技術といっても大規模なものではなく、PCでも処理可能な自然言語処理の技術を使います。

自然言語処理(今回用いたのは分散表現)では、文章を分析し、ある単語の周辺に特定の別の単語が多く登場すると、その単語間は関連が深い、と判定します。
これをすべての文章内の単語について行うことで、単語間の関連性のモデルを作成します。

例えば、ウィキペディア全文を自然言語処理すると、「冬」という単語は「寒」という単語と関連が深く、「診断士」という単語はそうでもない、という結果が得られると思います(想像です)。

今回は「出題の趣旨」を自然言語処理して、単語間の関連を分析することで、出題者が問いたいことは何なのか、推測を試みようと思います。

具体的には、平成16年から令和2年の事例Iの「出題の趣旨」からWord2Vecのモデルを作成してみました。
モデルの作成方法については割愛します(実は私も最近かじったばかりで完全に説明できないと言うこともあります…)

モデルから分かること

モデル上では、「出題の趣旨」に出てくる単語(名詞と動詞)は100次元のベクトルに変換しています。
具体的にはこんな感じです。

「診断」
[ 0.13458766 0.06475674 -0.301108 -0.07410611 -0.3496937 -0.27115288
0.25023112 0.44946945 -0.44326082 0.10050842 -0.09460996 0.18746836
-0.775292 -0.35940862 0.34042224 0.6306984 -0.13930534 0.19016705
0.33321413 0.23077594 -0.4392611 0.01377932 -0.03592753 0.04025125
-0.33766177 0.05587021 0.53680146 0.30921313 0.50131464 -0.28881508
0.46483925 0.0157916 0.1886633 0.21898144 0.2899445 0.739483
-0.05912926 -0.02726469 0.21681942 0.6375336 0.5742248 0.16622108
-0.2487537 0.48958942 -0.13563544 0.1127549 0.01955274 0.2287353
-0.4066453 -0.10374967 -0.27951878 -0.30141795 0.10581823 -0.38948646
0.71308714 0.25332472 -0.24210216 0.5060335 -0.54356134 -0.76516235
-0.23555492 -0.39228678 -0.9948343 0.1658085 -0.18866718 0.04957092
-0.2571141 -0.48831934 -0.30576366 -0.02330768 -0.6281151 0.2736694
0.06227255 -0.13767953 0.2069206 0.41192967 -0.13443641 0.17261888
0.25916395 0.22960068 0.5694064 0.14212282 -0.16258278 0.49892733
-0.7269172 -0.22496372 0.33631185 0.45123008 0.1352529 -0.48312667
0.47110713 -0.0713253 0.5570172 0.345288 0.29545483 -0.08530059
0.16357195 -0.42086157 0.08995246 0.1658107 ]

まあ難しいことはさておき、モデルが出来ると、ある単語の類似単語を調べることが出来ます。
例えば「診断」の類似単語を調べてみると次のようになります。

「診断」
立場 0.9985970258712769
士 0.9982033371925354
能力 0.9906920194625854
中小 0.990551769733429
助言 0.9895881414413452
必要 0.975823163986206
影響 0.9748402833938599
施策 0.9681849479675293
発見 0.9623322486877441
問題 0.9606610536575317

右の数字が類似度です。
中小企業診断士なので「士」は関連が近いと思いきや、一番類似度が高いのは「立場」という単語でした。さらに「能力」という単語も上位にあります。
このことから、出題者は「診断士の立場」や「能力」について問いたいのではと推測出来ます。

さらに「経営」の類似単語を調べてみると次のようになりました。

「経営」
環境 0.9724137783050537
関連 0.9713708162307739
関係 0.9609218835830688
変化 0.9605309367179871
営業 0.9568652510643005
顧客 0.953022837638855
ある 0.9499537944793701
られる 0.9374755620956421
いる 0.9300262928009033
特性 0.9271290302276611

試験の解答では、経営は環境の変化に対応していくことが重要、とよく言われますので、妥当な結果になったように思います。

すべての単語について類似単語を出力していくと大変なので、最後に類似単語同士を2次元にプロットしたものを作りました。

全体結果2

…微妙な感じになってしまいました。
なんとなく分かるような分からないような結果です。まだまだチューニング不足で、私の力不足を感じます。

最後に

今回は自然言語処理を診断士試験対策に活用しようと試みましたが、これ自体は店舗の顧客アンケートの内容分析などにも活用可能であり、非常に可能性が高い分野だと思います。
この分野は今後とも継続して見ていきたいと考えています。

IT系企業に所属する企業内診断士です。