福野泰介の一日一創 - create every day

把握しきれない多量のデータはコンピューターに丸っと投げよう!機械学習と触れ合うTensorFriday、手書きテストデータ生成アプリ

2018/07/13
#AI #js #python 

100円コンピューターでも秒回5000万計算。 元々はグラフィックス用に開発されたGPUの汎用利用により、手軽に秒間1兆回という単位の計算をこなせるようになっている現代のパソコン。 普段はその持てる力をほとんど使っていない状態です。

AIの一種、機械学習は脳をモデル化したもの。入力と出力をつなぐ、大量のパラメーターを有り余るコンピューターの計算力を使って、いい感じに求める技。 複雑な脳のモデル化(ディープラーニング)も、現代コンピューターによってなんとかなってしまう時代です。

機械学習に便利なオープンソースなライブラリTensorFlowと触れ合う金曜イベント、TensorFriday#02のテーマは手書き文字認識。 短いPythonのプログラムを動かして、ディープじゃないラーニング(nn)の結果と、ディープラーニング(cnn)の結果を体験しました。

せっかくなら、自分でかいた文字を認識させてみたいところなので、webアプリのお絵かきツール「freepad」を改造してPython用の28x28の配列データを生成するアプリ「fornn」を作成。 見事、パッドで書いた下手な数字「5」を認識してくれました!

テストデータを入れ、5を認識するように改造した nn.py in Python3

次回のTensorFlow#03に向けた、講師やテーマ、募集中!

Code for Japan 地域フィールドラボ、健康と特定健康診断をテーマにしたディスカッション。
人ではとても見きれない健康に関する多量のデータでも、機械学習に突っ込んでみることで、なんとかなりそうな気がします。

links
- Hana道場、若宮さんと学ぶIoTとIchigoJamプログラミングと地域フィールドラボ第5期スタート!
- 地域フィールドラボの募集テーマを大公開! | Code for Japan

高校生から学ぶ金曜日、TensorFriday、ディープラーニングでオープンデータが欲しくなる

2018/05/18
#opendata #sabae #AI 

TensorFlowで計算する、1+1」で止まっていた機械学習の学習。
高校生Masashi氏をお迎えしてのTensorFlowを学ぶ金曜日、TensorFridayの第一回目の開催!

人間の脳のようにコンピューターに学習させてみるのが機械学習(マシンラーニング)。機械学習の一種、ディープラーニングに便利なオープンソースなライブラリ、TensorFlow(テンソルフロー)。

入力と出力の間に中間層をつくって、それぞれに重みを掛けバイアスを足すことで伝搬させるニューラルネットワーク。 中間層が2層以上あるニューラルネットワークを使った機械学習をディープラーニング。

概要を聞いたら、とりあえず動かす。
TensorFlowとPython3をインストールして、レゴのロボットによる色判定に使ったサンプルプログラムのパラメータをいじって精度アップトライ。 中間層の数を増やしたり、学習回数を増やしたり、あれこれいじって遊んでみます。

Model restored. 学習結果 test dataでの精度 96.49999737739563 result: [[0.26694813 0.13882981 0.14053437 0.15240924 0.14337103 0.15790743] [0.26694813 0.13882981 0.14053437 0.15240924 0.14337103 0.15790743] [0.26694813 0.13882981 0.14053437 0.15240924 0.14337103 0.15790743] [0.26486809 0.13913066 0.14082932 0.15404477 0.14392366 0.1572035 ] [0.26486809 0.13913066 0.14082932 0.15404477 0.14392366 0.1572035 ] [0.26486809 0.13913066 0.14082932 0.15404477 0.14392366 0.1572035 ] [0.26709853 0.13883259 0.14053056 0.15244703 0.14338787 0.15770341] [0.26709853 0.13883259 0.14053056 0.15244703 0.14338787 0.15770341] [0.26709853 0.13883259 0.14053056 0.15244703 0.14338787 0.15770341] [0.26667621 0.13883541 0.14053443 0.15241994 0.14335514 0.15817887]]

サンプルは中間層が1層。正解データ付きのテストデータを流して、正答率でチェックします。(上記の場合、96.5%)

学習させた重みとバイアスを使ってマイコン内で計算させれば、学習結果をロボットでも活用可能!(IchigoJamでもやってみたい!)

中間層を2層にしてディープラーニング化してみたのがプログラムがこちら

w_h = tf.Variable(tf.random_normal([4, num], mean=0.0, stddev=0.05)) b_h = tf.Variable(tf.zeros([num])) w_h2 = tf.Variable(tf.random_normal([num, num], mean=0.0, stddev=0.05)) b_h2 = tf.Variable(tf.zeros([num])) w_o = tf.Variable(tf.random_normal([num, 6], mean=0.0, stddev=0.05)) b_o = tf.Variable(tf.zeros([6])) h = tf.sigmoid(tf.matmul(x, w_h) + b_h) h2 = tf.sigmoid(tf.matmul(h, w_h2) + b_h2) y_hypo = tf.nn.softmax(tf.matmul(h2, w_o) + b_o)

taisukef/TensorFriday01 - GitHub

データがないと始まらない、ディープラーニング活用。いろんなオープンデータが欲しくなります。


データ集めといえば、同日おじゃました「福井高専アマチュア無線研究会 - Ja9ydb」。 刻々と変わる気象状況を入力に、使用帯域を出力にして、より遠くまで届く電波状況をディープラーニングするとか使えるのかも。

次回のTensorFriday#02では、データづくりや、おもしろデータを持ち寄って、いろいろ予測にトライします。

links
- 機械学習でロボット制御してみた(2) EV3 & TensorFlow - 広く浅い高校生のブログ
- TensorFriday #01 - connpass
- 高卒でもわかる機械学習 (0) 前置き – 頭の中に思い浮かべた時には
- MisakiMa/TensorFriday01

声だけでプログラミング! 耳がついたスマートIchigoJamの作り方

2018/03/21
#IchigoJam #KidsIT #AI #python 

日本語を(一部)理解する、スマートIchigoJamができました。声でプログラミング!

IchigoJamの基本的な単語(コマンド)と数を聞き分け、代わりにキーボードを打ってくれます。
(正確にはシリアルでIchigoJamへ送っています)


「LEDつけて」と呼びかけても、耳がついてないIchigoJamはやってくれないよ。
と、IchigoJamプログラミング体験の時に紹介しますが、「耳」とそれを聞き分ける「機能」をつければOKです!

スマートIchigoJamの作り方 (for Mac)
オープンソースでフリーな日本語音声認識「Julius」(ジュリアス)を準備する
オフラインでフリーで使える音声認識 Julius、声で操作するロボを自作しよう

認識する辞書をつくる

cat > test.yomi % ACTION 1 いち 2 に 3 さん 4 よん 5 ご 6 ろく 7 なな 7 しち 8 はち 9 きゅう 9 く 10 じゅう LED1 えるいーでぃーつけて LED0 えるいーでぃーけして WAIT60 まって GOTO1 いちえいって RUN らん LIST りすと ESC とめて ENTER えんたー % NS_B [s] silB % NS_E [s] silE

文法をつくる

cat > test.grammar S : NS_B TARGET ACTION NS_E S : NS_B TARGET WO ACTION NS_E

Julius用に変換

iconv -f utf-8 -t eucjp test.yomi | yomi2voca.pl | iconv -f eucjp -t utf-8 > test.voca perl ~/sandbox/julius-kits/grammar-kit-4.3.1/bin/linux/mkdfa.pl test

Juliusをモジュールモードで起動

julius -C ~/sandbox/julius-kits/grammar-kit-4.3.1/hmm_mono.jconf -input mic -gram test -module

Python3で認識したコードをIchigoJamに送る言葉に変換するプログラムをつくる
(XMLパースにElementTree、シリアル接続にpyserialを使用)

cat > julius-client-ichigojam.py #!/usr/bin/env python3 import xml.etree.ElementTree as ET import socket import serial ser = serial.Serial("/dev/tty.SLAB_USBtoUART", 115200, dsrdtr=True) def recog(words): s = "" for w in words: s += w print(s) if s == "1": ser.write(b"1 ") elif s == "2": ser.write(b"2 ") elif s == "3": ser.write(b"3 ") elif s == "4": ser.write(b"4 ") elif s == "5": ser.write(b"5 ") elif s == "LED1": ser.write(b"LED1\n") elif s == "LED0": ser.write(b"LED0\n") elif s == "WAIT60": ser.write(b"WAIT60\n") elif s == "GOTO1": ser.write(b"GOTO1\n") elif s == "RUN": ser.write(b"RUN\n") elif s == "LIST": ser.write(b"LIST\n") elif s == "ESC": ser.write(b"\x1b") elif s == "ENTER": ser.write(b"\x10") client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client.connect(("127.0.0.1", 10500)) sockfile = client.makefile() data = "" while 1: line = sockfile.readline() if line != ".\n": data += line else: root = ET.fromstring(data) data = "" if root.tag == "RECOGOUT": words = [] for wordtag in root.iter("WHYPO"): words.append(wordtag.attrib["WORD"]) words.pop(0) words.pop() recog(words)

実行!音声コントロールIchigoJamのできあがり!

python3 julius-client-ichigojam.py

pyserialがなければ、pipでインストール(USBシリアルは環境に合わせて書き換えてください)

pip install pyserial

自分なりの「スマート」をプログラミングしちゃいましょう!
ネットワークが不要なので、ラズパイゼロなどに入れて、コンパクトに動かす音声認識モジュールにすると良さそうです。

links
- オフラインでフリーで使える音声認識 Julius、声で操作するロボを自作しよう

オフラインでフリーで使える音声認識 Julius、声で操作するロボを自作しよう

2018/03/19
#megane #AI #python 

APIを使った音声認識の精度はなかなか高いのですが、ネット接続が必須なので電力的やコスト的にまだ合わない場面多々。

そこで、Interface 2018.4号で発見、オフラインかつフリーで使える音声認識エンジン「Julius
読みは、ジュリアス、でした、ユリウスではなく(Thanks < 青木さん

事前に音声調整をすることなく使え、認識精度もそこそこいい感じ。辞書を自分で作って、その中から認識させることができて使い勝手良し。 ラズパイ0や小型でオフラインのA+などにいれて、IchigoJam連携するモジュールにするのにもいい感じそう!


「テレビ付けて」を認識した様子 on Mac

Juliusのインストールから、独自語彙認識させるまでのメモ (for Mac)
インストール

git clone https://github.com/julius-speech/julius.git cd julius ./configure --enable-words-int make sudo make install cd ~ mkdir -p sandbox/julius-kits cd sandbox/julius-kits wget -O dictation-kit-v4.3.1.tar.gz https://github.com/julius-speech/dictation-kit/archive/dictation-kit-v4.3.1.tar.gz wget -O grammar-kit-4.3.1.tar.gz https://github.com/julius-speech/grammar-kit/archive/v4.3.1.tar.gz tar xvf dictation-kit-v4.3.1.tar.gz tar xvf grammar-kit-4.3.1.tar.gz mv dictation-kit-dictation-kit-v4.3.1 dictation-kit-v4.3.1 cd ~/sandbox/julius-kits/grammar-kit-4.3.1/bin/linux/ ln -s `which mkfa` ln -s `which dfa_minimize`

独自語彙設定

mkdir -p ~/sandbox/test cd ~sand/box/test cat > test.yomi % TARGET IchigoJam いちごじゃむ テレビ てれび アンプ あんぷ ウーハー うーはー LED えるいーでぃー % ACTION つけて つけて 消して けして ON おん OFF おふ % WO を お % NS_B [s] silB % NS_E [s] silE

独自文法設定

cat > test.grammar S : NS_B TARGET ACTION NS_E S : NS_B TARGET WO ACTION NS_E

独自語彙をJulius用に変換しておく

iconv -f utf-8 -t eucjp test.yomi | yomi2voca.pl | iconv -f eucjp -t utf-8 > test.voca perl ~/sandbox/julius-kits/grammar-kit-4.3.1/bin/linux/mkdfa.pl test

独自語彙を設定して、音声認識エンジンを動かすスクリプト

cat > julius-server.sh julius -C ~/sandbox/julius-kits/grammar-kit-4.3.1/hmm_mono.jconf -input mic -gram test -module &

音声認識エンジンに接続して、認識したコマンドを受け取るスクリプト(Python3)

cat > julius-client.py #!/usr/bin/env python3 import socket client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client.connect(("127.0.0.1", 10500)) sockfile = client.makefile() while 1: line = sockfile.readline() print(line)

試しに、音声認識エンジンを動かし、認識させてみる

sh julius-server.sh python3 julius-client.py

client.sendで、認識を一時中止したり、認識語彙を切り替えてYES/NOのみを待ったりといろいろできて、便利そう!
モジュールモードについて - Julius

links
- 声だけでプログラミング! 耳がついたスマートIchigoJamの作り方

こどもxAI、幼児プログラミングとTensorFlowはじめのいっぽ

2018/03/13
#KidsIT #IchigoJam #AI #TensorFlow 

ハロー英数学院さんと幼児向けプログラミング体験会実施。
キーボードに触れる嬉しさ、コンピュータくんのスゴサや自分で書いたコマンドに驚いてくれたりしました。最初はがんばって探したアルファベットも、みるみる覚えていく、さすが子供!

1 LED1 2 WAIT30 3 LED0 4 WAIT60 5 GOTO1

LEDが付いている時を狙って[ESC]キーで止めようゲーム!(難易度は2番の数で調整)
SAVEして、テレビ、キーボードを引っこ抜いても動いちゃうプログラミングでものづくり体験してもらいました。

45分ほどで幼児たちの集中力は切れ、かわくだりゲームはお母さん達に作ってもらいました。お母さんが難しさやキャラクターを変更しながら、楽しく子供達と遊んでくれました。

キーボードでがちゃがちゃ遊ばせるだけでも、その後のコンピューターを使ったあらゆる作業のハードルが下がるのでオススメです!(4才にプログラミングを教える10ステップ

IchigoJam対応のキーボードの最安値は、壊れちゃっても痛くない、651円!
SANWA SUPPLY USBキーボード SKB-L1U←USBキーボードですが、PS/2にも対応していて使えます)

福井県情報システム工業会のAIイベント電気通信大学 人工知能先端研究センター センター長 栗原聡さんの講演会。

「社会に浸透する人工知能に求められるものとは?」

コンピューターも人間も共通、インプットとアウトプット。
人の脳をモデル化した理論、人工ニューラルネットワークが、3Dゲーム技術によって高速化したコンピューターによって花開いた、人工知能(AI)。

Googleが開発し、オープンソースとして誰もが自由に、子供でも使えるTensorFlowon Wikipedia)のはじめのいっぽ「1+1=2」を作ってみました。

?1+1 2 OK

IchigoJamではこのように計算する1+1、TensorFlow(テンソルフロー)ではテンソル(量)がどう流れるか(フロー)を組み立てて、動かす、という手順で使います。

import tensorflow as tf a = tf.constant(1) b = tf.constant(1) c = tf.add(a, b) sess = tf.Session() print(sess.run(c))

Python3 x TensorFlow で解く、1+1=2。
定数aとbを足してcにするという流れをつくって、セッションをrun(走れ)で、結果が2と表示されます。

IchigoJamで扱えるのは、-32768から32767までの整数。
TensorFlowを使うと、とても大きな数から小数まで、それらを何百何千とまとめて一度に扱えちゃいます。

import tensorflow as tf a = tf.constant([ 1, 2, 3 ]) b = tf.constant([ 1, 10, 100 ]) c = tf.add(a, b) sess = tf.Session() print(sess.run(c))

aとbにセットする定数をベクトル(3つまとめた数)に変えると、3つまとめた計算結果がでてきます。(1+1、2+10、3+100をまとめて計算!)

最近のコンピューターは、効率化のために一度に多量の計算をまとめてやってくれる機能が充実しています。 TensorFlowとPythonいう無料の部品を使うと、この最新技術を楽々扱えてしまうわけです。

学習とは何か?
コンピューターを見つめることは、人を見つめ直すこと。

links
- TensorFlowではじめるDeepLearning実装入門 impress top gearシリーズ | 新村 拓也 | 工学 | Kindleストア | Amazon

音声認識AI窓口、AI移動支援のプロトタイピングと筋ジストロフィー - 障がい者に寄り添うハッカソン

2018/01/14
#sabae #codefor #opendata #maker #python #AI 

鯖江市の第4次障がい者計画「あるがままに 自分らしく いきいきと ともに暮らせる まちづくり」
障害の理解と、課題に対するアイデアソン、ハッカソンなど、継続的なものづくりがポイントです。

Code for Fuchu連携で、COTTONさくらんぼの岩間由里子さんからも情報提供。 筋ジストロフィーで手足に障害があり、2cm四方を範囲としたスライドと押し込み動作だけで使えるスマホを熱望。オープンデータ化と、使う人に合わせたアプリの横展開、必須ですね!

実際に、指一本でスマホ操作にチャレンジしましたが、指を画面から離せないという条件は厳しく、通常操作が無理でした。 調べるとiPhoneの3Dタッチなど、タッチパネルの力のかけ具合は、mouseforce系のAPIをブラウザ上で取得もできるので、いろいろ実験してみたいと思います。
iOS9で追加されたForceTouch(3DTouch)をJavaScriptで操作してみる | WebDesign Dackel
また、日本筋ジストロフィー協会でも「ワンキーマウス試作報告」の事例が掲載されていました。


主催、Code for Japan コーポレートフェローシップ、鯖江市臨時職員三ツ山さん(富士通)

アイマスクをつけてアイデアソン。
目に優しく、耳が研ぎ澄まされ、隣のテーブルの会話もよく聞こえちゃいます。
声でジャンケンして、ファシリテーターを決め、アイデアのディスカッションスタート。 まとめるための紙が使えない点が心配でしたが、みんな条件が同じなので、ひとつひとつ整理して進める意識を共有できて意外といい感じです。

つづいて、障害体験。高齢者シミュレーショングッズを借りて、重りをつけたり、膝の動きを制限する器具を付けて歩き回ってみます。 普段の何でもない生活の難易度がアップするので、刺激が欲しい人にもオススメです!

制限された視野をシミュレートするメガネ。

アイマスクをして、杖をもって点字ブロックを辿るチャレンジ。
センサーやGPSをつけた、IoT白杖をお互いつくって、難易度高いコースで対戦などできると楽しそう。

「Webアプリはじめのいっぽ」でHTMLの基本を覚えて、ハッカソンタイム!

WebRTCを使って、世界中どこからでもサポートできる!(featuring SkyWay
スカイボイス

アイマスクとスマホを装備をして自販機での買い物チャレンジ!

先のアイデアソンで登場した「おたすけパンダ」と「Pくん」の実現、AIチャットによる市役所窓口デモ。
おたすけパンダPくん

鯖江市も公開した、給付金オープンデータによる質問応答機能のデモに加え、音声認識と音声合成を使った窓口も実験。

Google Cloud Speech APIを使うと、高精度な音声認識が簡単に実現できます。
1回(15秒)$0.006(=約0.6円)の有料APIですが、1ヶ月60分、最大240回まで無料で使えます。
APIKEYを取得してみましょう。

とりあえず、音声認識とそれに対する回答するシンプルなデモスクリプト aichat.sh for Mac を作成。
(参考、GoogleのSpeech APIを使ってみた - Qiita

read -p "hit to start" rec --encoding signed-integer --bits 16 --channels 1 --rate 16000 test.wav ffmpeg -y -i test.wav -ar 16000 test.flac echo -e "{\n 'config':{\n 'encoding':'FLAC',\n 'sampleRate':16000,\n 'languageCode':'ja-JP' \n }, \n 'audio': { \n 'content': '`base64 test.flac `' \n } \n }\n" > sync-request.json curl -X POST -H "Accept: application/json" -H "Content-type: application/json" --data @sync-request.json https://speech.googleapis.com/v1beta1/speech:syncrecognize?key=【APIKEY】 > response.json python3 talkresponse.py ./aichat.sh

* rec は、音声操作ツール sox に含まれます

音声認識結果 response.json から、認識した文字列を読み取り、会話するプログラム talkresponse.py for Python3 がこちら。(Open JTalkをimportしてます)

# coding: utf-8 import jtalk import sys import time import json import urllib.request cnv = { "おはよう" : "おはようございます", "今日の天気は" : "たぶん晴れです", "こんにちは" : "こんにちは", "がんばって" : "がんばる!", "かわいい" : "ありがとう", "ありがとう" : "どういたしまして", "免許返納について教えて" : "つつじバスとか確かお得に乗れるよ。詳しくは鯖江市のサイトを見てね", "読み書きが苦手です" : "読み書きの苦手なお子さんの相談講座が、3月11日にありますよ", "プログラミングを勉強したい" : "イチゴジャムがオススメ!ハナ道場へどうぞ", "うまいもの" : "サバエドッグ", "甘いもの" : "冬のかんみといえば、みずようかん!", "鯖江のうまいもの" : "サバエドッグ", "鯖江の美味しいもの" : "サバエドッグ", # "鯖江商店街、ミート・アンド・デリカささきの、サバエドッグ", "鯖江と言えば" : "メガネ!鯖江駅から徒歩10分、めがね会館へどうぞ!", "鯖江市長の名前は何ですか" : "まきのひゃくおです", # 写真でるといい } def a(): with open('response.json', 'r') as f: data = json.load(f) s = data['results'][0]['alternatives'][0]['transcript'] print(s) # 認識できた文をとりあえず表示 for t in cnv: if t == s: jtalk.jtalk(cnv[t]) # 対応する回答があった! return if s.endswith("て"): jtalk.jtalk("わかった!") # todo ちゃんとやってあげるプログラムを書く return jtalk.jtalk("ごめんなさい!よくわからないから勉強しておくね。") # todo わからなかった質問を記録しておき、しかるべき人に通知するプログラムを書く a()

とりあえず、いい加減なAIができました!

オープンデータを学習させて、文脈に応じた回答を考えるなど、おもしろそうです。
音声認識&音声合成部分を切り出したデバイスにするために必要なメモリ量は、16kHz、16bit、15秒で約469KB。 ちょっとメモリ大きめのマイコンがあれば、いけそうですね!

ハッカソンの様子が公開されました!

Hello Watson! はじめての Watson AI会話プログラミング with IBM Bluemix

2016/11/24
#AI #fas 

福井県情報システム工業会の理事会とセミナー「学習するコンピューター IBM Watson 経済社会はどう変わるか

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周年を祝う、スペシャル企画進行中!
ご興味ある方、まずはセミナーや懇親会などにご参加くださいっ

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / アイコン画像 / プロフィール画像