IBMといえばWatson。創業者のトーマス・ワトソンから名付けられ、シャーロックホームズの助手ワトソンのように人をサポートするAI(Augmented Intelligence)であって、人の代わりになるAI(Artificial Intelligence)ではないという位置づけとのこと。 ワトソンといえば、古くからWindowsを使っている人には懐かしいDr.Watson。
病名を当てるなど実績を上げるWatson、気になるお値段は!?
→ $0.0025 (USD) per API call
約0.25円/回のAPI呼び出しと安い!しかも、1月1000回まで無料!
せっかくなので試してみます。IBM Bluemixで無償評価登録し、"Create Application"、CatalogからWatson、Conversationを選択、Free PLANなので安心です。
IntentでキーワードとDialogで対話状態を設定しておきます。とりあえず、挨拶できるように、おはようと、こんにちはを登録。
JavaのソースコードがGitHubにあるので、Clone or downloadして、Watson APIに接続するためのライブラリを準備します。
コンパイルはJDKとMavenを使います。MavenのMacへのインストールからpackageづくりまでは下記の通り。
# Maven install brew install maven # package をつくる pom.xml があるところで mvn package # 依存するライブラリをtarget/dependencyにつくる mvn dependency:copy-dependencies -DincludeScope=runtime
できたjarファイルを使って、user/pass/workspaceidを設定してサンプルプログラムを実行!
import com.ibm.watson.developer_cloud.conversation.v1.*; import com.ibm.watson.developer_cloud.conversation.v1.model.*; public class Main { static final String USER = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx"; static final String PASS = "xxxxxxx"; static final String WORKSPACE = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx"; public static void main(String[] args) throws Exception { ConversationService service = new ConversationService(ConversationService.VERSION_DATE_2016_07_11); service.setUsernameAndPassword(USER, PASS); MessageRequest newMessage = new MessageRequest.Builder().inputText("おはようございます").build(); MessageResponse response = service.message(WORKSPACE, newMessage).execute(); System.out.println(response); } }
Watsonくんと会話できました!
返ってきたデータはこんな感じで、完全一致していなくても、confidenceで確からしさと合わせて推測してくれます。
{ "context": { "conversation_id": "2f845331-c896-46f8-b745-5524c6abd8cf", "system": { "dialog_stack": [ "root" ], "dialog_turn_counter": 1.0, "dialog_request_counter": 1.0 } }, "entities": [], "intents": [ { "confidence": 0.9416873829261506, "intent": "morning" } ], "output": { "log_messages": [], "text": [ "おはようございます!" ], "nodes_visited": [ "node_3_1480025899490" ] }, "input": { "text": "おはようございます" } }
「おはよう」しか登録はありませんが「おはようございます」に対して、確からしさ94.16%で「おはよう」と判断し、結果を返してきています。
いろんな業務データやオープンデータをimportして使ってみてもおもしろそうですね!
日本IBM、Watson事業部の林さん、遠く福井までありがとうございました!
福井県内のIT企業が集う「福井県情報システム工業会」来年30周年を祝う、スペシャル企画進行中!
ご興味ある方、まずはセミナーや懇親会などにご参加くださいっ