IBM Bluemix から提供されているワトソン関連の API の中には、入力テキストを元に性格を分析する、という Perosnality Insights API があります:
2016040103


僕の以前のブログエントリでもリリース時にレポートしています。その時の様子はこちらを参照ください:
Bluemix の性格分析 API が正式サービス化  (←改めて見ると中身のないエントリだ・・・)



この Personality Insights API のリリースノートを眺めていて気付いたのですが・・・
2016040101


なんと、いつの間にか日本語対応していたっぽいです! POST 時の JSON パラメータか、あるいは HTTP リクエストヘッダで Content-Language を ja にすればよい、とのこと。

今日(2016/Apr/01)エイプリルフールだけどマジか!? ということで試してみました。HttpClient ライブラリを使った Java でのサンプルですが、こんな感じで:
String pi_url = "https://gateway.watsonplatform.net/personality-insights/api";
String pi_username = "(ユーザー名)", pi_password = "(パスワード)";
String body = "・・・・・(日本語テキスト)・・・・・";

HttpClient client = new HttpClient();
byte[] b64data = Base64.encodeBase64( ( pi_username + ":" + pi_password ).getBytes() );

PostMethod post = new PostMethod( pi_url + "/v2/profile" );
post.setRequestHeader( "Content-Language", "ja" ); //. 日本語であることを宣言
				
post.setRequestHeader( "Authorization", "Basic " + new String( b64data ) );
post.setRequestHeader( "Content-Type", "text/plain" );
post.setRequestBody( body ); //. 日本語テキストをポスト
				
int sc = client.executeMethod( post );
String out = post.getResponseBodyAsString(); //. 結果


結果の out 変数を出力すると、このような値が含まれていました:
2016040102

 ↑僕の最近のツイッターからインプットテキストを作りました。「チャレンジが足りない」とか言われてる気がする・・・ 



結果の JSON テキストが返ってきています。しかも "proccessed_lang" の値がちゃんと "ja" になっているので、日本語テキストとして処理された、ということになります。JSON の結果そのものは英語で返されていますが、日本語のテキストを元に性格分析ができるようになった、ということです。おおーっ!これは使いみちありそうだぞ。

例えばメールや SNS など、特定の1名のユーザーが入力したテキスト情報を充分な量集めてこの API を実行すれば、そのユーザーの性格という属性の塊を得ることができるようになるわけです。電話などでの会話の音声データをテキスト化してインプットデータとする、ということも考えられます。そして Personality Insights API を実行した結果を使って、そのユーザーの性格にあった対応や返答をプロアクティブに行うこともできるようになるわけで、それが日本語でも可能になったわけです。

色々楽しみが増えました。なお Personality Insights API の具体的な使い方を含めた API リファレンスはこちらを参照ください:
https://watson-api-explorer.mybluemix.net/apis/personality-insights-v2#!/personality-insights/


↑この API リファレンス内の記述だと、まだ英語とスペイン語のみ、という記述になってますね。ドキュメントが追いついてないくらいの最新情報でした!