は忘却と共に歩む生き物

はい!そういうわけでございまして。
帰ってきました、性格分析ワトソン君の元へ。

ここしばらく物理的にも気持ち的にもアチラコチラを転々としておりまして。
気が付けばあっという間に一ヶ月が経過。

……忘れたよね。色々。

ということで、前回までの記事を現在読み返しております。
(注:スッカリ忘れているので、実に新鮮な気持ちで読んでおります。ほほー。)

IAM、JSON、cURL。
アイアム ジェイソン カール。

WHO?(誰?)

では、今回はその中のカールさんの方からズイズイっとバラしていこうと思います。
性格分析ワトソン君、CSVファイル出力サンプルコード編、続きをやっていきましょう。

ターミナルってなんだろう?

前回の最後で、こんな画面が出てきたのを覚えていますか?

こちらの画面は、Macの「ターミナル」というアプリケーションの画面です。


ターミナルとは?
ターミナル (Terminal) は、アップルのmacOSに標準で付属しているUNIX端末エミュレータ。
直接入力したUNIXコマンドを実行する他、UNIXコマンドの実行を自動化するTermファイルを作成、実行することも可能である。(Wikipediaより)


うんうん、ジャングルジャングル。
一歩進むたびにパンドラの箱がパカパカ開いていきますね。

みなさま、「UNIX」って聞いたことありますか?
そう、Windowsと同じ「OS(オペレーションシステム)」の仲間です。

実はMacに搭載されている「macOS」というOSは、このUNIXをベースに作られていまして。
UNIXに由来したコマンドを実行できるようになっているのです。

そのコマンドを実行するための窓口が、こちらのターミナルというわけですね。

ー 一見平和に見えているmacOSの世界も、鏡を覗き込めばそこには漆黒の魔界が広がっている ー

……あれ?何の話でしたっけ?

そうそう、というわけでcURL(カールおじさん)のコードは、こちらのターミナルで実行します。

IAM方式のコード(cURL)を見てみよう

では、前回作ったコードをあらためて見てみましょう。

各行の大まかな意味は……
一応前回チェックしましたので、今回はポイントになる部分を見ていくことにします。
(ワタシ同様忘れてしまった方は、前回の記事へどうぞ

curl -X POST -u “apikey:【ここにAPI KEYを!】” \

まずは1行目。

Personality Insightsのサンプルコードに書かれている「username」「password」での認証が、
新しいIAM(アイアム)方式の認証に変わっていますので、「apikey」のコードに切り替えました。

完全手探り、よく動いたなー、コレ。
コマンドのオプションが超間違っている気がしますが、動いたのでヨシとしています。

“https://gateway-tok.watsonplatform.net/personality-insights/api/v3/profile?version=2017-10-13&csv_headers=true”

そして7行目。

Personality InsightsにアクセスするためのURLなのですが、
こちらもサンプルでは「https://gateway.watsonplatform.net/personality-insights/〜」となっていまして。

デプロイしたロケーションである「東京」を表すURLに切り替えています。
「gateway-tok」って書いていますね。コレがおそらく「tokyo」のことかと。

できあがったCSVファイルを見てみよう!

そんなこんなで、ターミナルに上記コードをコピペして、Enterボタンで実行。
上記画面が表示されて、無事処理が完了した、というわけでした。(前回後半の補足終了)

ではでは、お楽しみの「CSVファイル」を見てみましょうか!
上記のコードの場合、CSVファイルはルートフォルダ(一番上位のフォルダ)に保存されています。

よーし、それではダブルクリックで、オープン!

……まあ、そんな感じになりますわな。CSVファイルですしな。
では、見やすくするために「行列を入れ替えてコピペ」、と。

はい、少し見やすくなりました。

でも何でしょう、コレ。謎の数字がズラッと並んでいます。

デモ画面では、日本語で「愛想の良いタイプであり、役立つタイプであり、活発なタイプです。」みたいに書いてくれていたのですが、API経由で普通に処理をお願いすると、すべて数字で返ってくるようです。

アレコレリンクを辿ってみたところ、各指標についてはPersonality Insightsのページに解説が出ておりました。


パーソナリティー特性
Personality Insightsサービスは、3つの主要なモデルに基づいてパーソナリティー特性を推論します。
ビッグ・ファイブ のパーソナリティー特性は、個人が世界とどのように関与しているかを一般的に記述するために最も広く使用されるモデルを表します。このモデルには、協調性、誠実性、外向性、情緒不安定性、および開放性という5つの主要なディメンションが含まれます。各ディメンションには、そのディメンションに従って個人をさらに特徴付ける6つのファセットがあります。(資料より)


↓ CSVファイルの項目から抜粋 ↓

big5_agreeableness:ビッグ・ファイブの協調性
facet_altruism:利他主義 / 利他的
facet_cooperation:協調性 / 寛容 / 従順
facet_modesty:謙虚さ / 慎み深い
facet_morality:道徳性 / 不屈 / 誠実
facet_sympathy:共感性 / 親身
facet_trust:信用 / 人を信じる
……

なるほど。

CSVの最初の行の「big5_agreeableness」を見ると『0.869893216』と書かれていますが、
これって、デモ画面で見た「協調性」『87%』とピッタリです。

つまり、「1.0 = 100%」としてあのデモは作られている、ということがわかりますね。
0%(0.0)が一番低くて、100%(1.0)が一番高い、という範囲設定。

数値の高低についても、その意味合いが書いてありました。ほほーう。

これを見ていくことで、文章を書いた人の性格がわかってくる、というわけですね。

今回はここまで!

なるほどなるほど。

少しずつ考え方はわかってきましたよ。

文章を放り込むと、各指標を数値化したデータが返ってくるので、
それをグツグツ煮るなりジュージュー焼くなりして、自分のWebサイトに表示されば良いわけです。

STEP1 さるでき.comで記事を公開する
STEP2 その記事を、IBM Cloud内のPersonality Insightsに投げる
STEP3 Personality Insightsで分析、その結果をさるでき.comで受け取る
STEP3.5 受け取った数値データを、アレコレ加工する(NEW!)
STEP4 さるでき.comで結果を表示

で、このSTEP3でデータを受け取る時に、
CSVよりも使い勝手が良い「JSON」というフォーマットで受け取りましょ!ということじゃないかと。

うんうん。よーし、ではその辺りのことについては、次回じっくりとやることにしましょう。
今回はここまで!おつかれさまでした〜!