スッキリわかるPython入門

国本・中山の性格を分析する(その1)

WatsonとPythonで性格分析「その1: Watson Personality Insightsを体験するの巻」

こんにちは、スッキリわかるPython&Java&サーブレット著者の国本です(カレー好き)。

中山氏と一緒に新人研修をしていると「スッキリJavaに登場する菅原さんは中山さんがモデルですよね」とか「まさか国本さんじゃないですよね。ははん(冷笑)」とかよく言われます。どうやら「中山氏=真面目」「国本=かぶき者」みたいなイメージをもたれるみたいです。でも、ハッキリさせておきたいのですが、本にでてくるおふざけパートの大部分は中山氏が書いているんですよ。むしろ、私は普段は超真面目なんです。と、いくら主張しても信じてもらえないので、ここは人工知能の力を借りて二人の性格の違いを分析してみたいと思います。

てな感じで前置きが長くなりましたが、IBM Cloudが提供する「Watson Personality Insights」を使って、いろいろ楽しみたいと思います。

Watson Personality Insigthsって?

テキストから性格を分析してれるサービスです。詳しくはこちら。なにはともあれ、実際に体験してみましょう。論よりソースです。デモサイト(https://personality-insights-demo.ng.bluemix.net/)にアクセスしてみましょう。

下図の箇所をみつけて、「テキストを入力」→「任意のテキスト」を選択して、適当な文章を入力します。(下図の例では、先日アップしたブログと、今後公開予定のブログを入力しています)。

テキストの入力ができたら「分析」をクリックししてください。下に分析結果が表示されます。

おぉ、なんかいいこといわれてますね(嬉)。性格は個性・欲求・価値に基づいて分析されます。ここでは個性に注目してみましょう。個性はビッグ・ファイブという特性に基づいて分析されます。具体的にいうと「知的好奇心」「外向性」「誠実性」「協調性」「感情起伏」です。各特性の値は膨大な集団の中での位置を表しています。例えば、誠実性が90%の場合、その人が90%誠実的であることではなく、100人中その人より誠実性の低い人が90人(高い人が10人)ということを意味しています。平均は50%で、75%以上だと高くてその特性が表れやすく、25%以下だとその逆になります。

また、各ビックファイブ特性に下位の特性があります。例えば、知的好奇心をクリックしてみてください。下位の特性が表示され、より詳しい分析結果を見ることができます。

各特性と下位特性の意味はマウスを重ねると表示されます。さらに詳細に意味は、公式ページを参照してください。

国本と中山氏の性格判断の結果は?

誰も興味ないかもしれませんが(笑)、下図は私と中山氏の性格判断の結果の比較です(中山氏の性格判断には、最近投稿されたブログを利用しました)。

知的好奇心・外向性・誠実性はほとんど変わりありませんでした(中山氏の下位互換みたいな感じですw)。感情起伏と・強調性は逆っぽいですね。ただ、それぞれの下位特性をみると、そこまで大きな差はありません(下図)。それなのに上位特性のスコアは結構かわるんですね。かなり興味深いところです。

結局、中山氏と私の個性の差は目で見比べてもよくわからないので、Pythonを使って比較したいと思います。次回は、PythonからWatson Personality InsightsのAPIを呼び出して、性格分析結果を取得する方法を紹介いたします。

-スッキリわかるPython入門
-