Tuesday, November 14, 2017

Notes for Watson and AI Presentation to PMI NJ Chapter

These are some additional notes for the presentation I'm giving to Project Managers gathered at the PMI NJ Chapter meeting on November 14, 2017. See pminj.org for more information.

The Story: Medical Seive


Watson Starting points

Watson starting point: ibm.com/watson

Explore more here: https://www.ibm.com/watson/aworldwithwatson/ 

https://console.bluemix.net/catalog/?category=watson

13 year old uses Watson
https://www.ibm.com/blogs/watson/2017/07/13-year-old-prodigy-taking-ibm-artificial-intelligence-by-storm/

Is Watson Artificial Intelligence? What is Cognitive Computing?

https://www.ibm.com/cognitive/businesscoach/about-watson/is-cognitive-computing-artificial-intelligence

"A beginner's guide to artificial intelligence, machine learning, and cognitive computing"
https://www.ibm.com/developerworks/library/cc-beginner-guide-machine-learning-ai-cognitive/index.html

IBM Research : Cognitive Computing and AI
http://research.ibm.com/cognitive-computing/

Watson Cognitive Computing: Areas of Application

Watson areas of application: Health, Education, Driving, Banking/Financial, Law, Hospitality, Retail, Customer Care, and more.

Music: https://www.ibm.com/watson/music/


Watson Serves up Cognitive Highlights of US Open Tennis
https://www.ibm.com/blogs/client-voices/watson-serves-cognitive-highlights-us-open/

Listen to Kone Elevators “talk” with Watson : http://machineconversations.kone.com/

Customer Experience: https://www.ibm.com/blogs/watson/2017/02/staples-making-customer-service-easy-watson-conversation/ and https://www.ibm.com/watson/infographic/staples/

Employee Insights: Cognitive Knowledge https://www.ibm.com/watson/stories/woodside.html

Demos, Try It, Play with it!




Analyze your Twitter feed http://findyourwatsontalent.mybluemix.net/ 

Compare two twitter feeds: http://friendme.mybluemix.net/

Play a beat with "RemixIT"
https://www.ibm.com/it-infrastructure/us-en/remix-it-player/
 

TJBot

https://ibmtjbot.github.io/

http://research.ibm.com/tjbot/

http://henrywill4.blogspot.com/2017/06/tjbot-talks-4.html

More information on Watson


Watson Health:

Study by New York Genome Center and IBM Demonstrates Potential for AI and Whole Genome Sequencing to Scale Access to Precision Medicine
https://www-03.ibm.com/press/us/en/pressrelease/52770.wss

Watson Drug discovery
https://www.ibm.com/watson/health/life-sciences/drug-discovery/
Parkinson's
https://www.ibm.com/thought-leadership/passion-projects/parkinsons-watson-drug-discovery/

Cancer: Breast, Lung, Colon, Rectal and Prostrate soon.  MSK Memorial Sloan Kettering
cut time for clinical trial matching
https://www-03.ibm.com/press/us/en/pressrelease/52502.wss

Curb Substance Abuse Relapse
https://www-03.ibm.com/press/us/en/pressrelease/52371.wss

IBM Research and UC San Diego Collaborate to Advance the Use of Artificial Intelligence for Healthy Living
For aging populations
https://www-03.ibm.com/press/us/en/pressrelease/53185.wss

Watson for Oncology https://www.ibm.com/watson/health/oncology-and-genomics/oncology/ 

Drug discovery https://www.ibm.com/watson/health/life-sciences/drug-discovery/

Health imaging https://www.ibm.com/watson/health/imaging/ 

Watson Data

 Watson Data Platform:
https://www.ibm.com/analytics/us/en/watson-data-platform/
 

Watson Fashion and Art

https://www.ibm.com/blogs/think/2016/04/watson-and-marchesa/ 
Cognitive Marchesa dress lights up the night
https://www.ibm.com/blogs/internet-of-things/cognitive-marchesa-dress/This dress was lit up with colors by Tweets about the dress using Tone Analyzer.

Watson Music
https://www.ibm.com/watson/music/
 Watson Beat looks at song composition
"Training Watson To Be Your Musical Muse"  https://www.ibm.com/blogs/think/2016/06/training-watson-to-be-your-musical-muse/

IBM and Andrés Cepeda introduce First ‘Cognitive Music’ Project in Latin America
https://www-03.ibm.com/press/us/en/pressrelease/52330.wss
Tone Analyzer to Match sentiment of fans


New Exhibit, “Art with Watson: Hidden Portraits” Spotlights How Cognitive Computing Inspires Creativity
https://www-03.ibm.com/press/us/en/pressrelease/52140.wss

Other Watson Applications

Olli: Artificial Intelligence for the real world, in record time
Self-Driving / Autonomous vehicle
https://www.ibm.com/blogs/internet-of-things/olli-ai/

Crédit Mutuel and IBM Watson Put Technology at the Service of People
https://www-03.ibm.com/press/us/en/pressrelease/52108.wss




AI ETF Fund that uses Watson:
https://seekingalpha.com/article/4124004-new-ai-based-etf-uses-ibms-watson-technology

IBM and Ubisoft® Partner to Bring Voice Command with Watson to Virtual Reality in Star Trek™: Bridge Crew
https://www-03.ibm.com/press/us/en/pressrelease/52347.wss

Watson IoT

In South Africa (where 70% of the remaining world's Rhino population is found, using IoT sensors on other animals (such as Zebras) to thwart the threats of poaching of Rhinos for their prized horns.
https://www-03.ibm.com/press/us/en/pressrelease/53162.wss


Watson Education:

IBM Watson and Sesame Workshop Introduce Intelligent Play and Learning Platform on IBM Cloud
https://www-03.ibm.com/press/us/en/pressrelease/52532.wss

Free IBM Watson Teacher Advisor http://teacheradvisor.org

Watson Videos: 

https://www.ibm.com/watson-analytics

https://www.youtube.com/watch?v=_Xcmh1LQB9I

https://www.youtube.com/watch?v=ZPXCF5e1_HI

https://www.youtube.com/user/IBMWatsonSolutions

AI:

Google AI:
https://www.theverge.com/tldr/2017/7/10/15946542/deepmind-parkour-agent-reinforcement-learning

What's Your opinion on Artificial Intelligence? Space 10 & IKEA ask in an interesting presentation & survey http://doyouspeakhuman.com

Other options besides Watson:

OpenAI: openai.com

Tensor Flow: http://tensorflow.org
Microsoft Azure: 

Deepmind: https://deepmind.com/

What's the difference between Cognitive Computing and AI?
https://www.rtinsights.com/whats-the-difference-between-cognitive-computing-and-ai/

Monday, July 24, 2017

TJBot New Recipe (post #5 about TJBot)

TJBot has learned some new tricks!
 
I loaded a new recipe to show to the Children at the Vacation Bible School (VBS) at Church a few weeks ago! The Children and parents liked meeting TJBot!

 This is all mostly technical stuff for people who ask me questions about how I did it, so if you're not technically minded, you can skip this blog post.

 First, here are the links to previous posts on TJBot:  #1 order parts,  #2 test the hardware, #3 assemble the cardboard , #4 TJBot Talks


One thing I missed in the assembly instructions:
Use a screw to connect the TJBot Arm to the servo, otherwise it will keep falling off! (not mentioned in any of the instructions anywhere)





So, here are a bunch of my notes I took. They are sporadic because I stumbled on them over the course of trying to get this to work. 

I loaded a new recipe:
Recipe for TJdashboard - https://github.com/victordibia/tjdashboard
  
After done loading it, you can retrain Conversation to add more intents. I did this and added a bunch of intents and dialog entries to correspond to the Bible topics of the VBS week.
May need to get a new trial account since there is a limit to the number of services.
 
Booting up TJBot without a monitor and keyboard
I couldn't get auto boot up to work (see links below), so needed to ssh from laptop to get TJBot started, so used these instructions
https://www.raspberrypi.org/blog/use-your-desktop-or-laptop-screen-and-keyboard-with-your-pi/
those instructions are very complicated, so basically I just did the following:
Connect up a cable
arp -a
ssh pi@raspberrypi.local
Then, once connected, modify the wpa_supplicant.conf file for adding new wireless SSIDs and pwds
https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md
http://weworkweplay.com/play/automatically-connect-a-raspberry-pi-to-a-wifi-network/
do ifconfig to get IP address (see below), then Then to start TJbot Dashboard:
cd /home/pi/tjdashboard 
and 
sudo node dasshboard.js

Control-C will stop the dashboard program from running on tjbot.  You should do sudo shutdown to gracefully shut down the pi

To select the correct microphone
arecord -l
sudo config.js
modify it for the correct device ID
(can also flip the camera there too)

you may also need to Blacklist audio
https://github.com/ibmtjbot/tjbot/tree/master/recipes/speech_to_text#troubleshoot


to get to the "dashboard" from a browser...
ifconfig to get ip
http://192.168.1.2:8078/
 
Dashboard buttons: 
"See" will take a photo and tell what it sees
Text will take a photo and look for text in the picture that tells a color 
Dance: will dance and wave arm
Wave: will wave arm
LED: to change LED color


Turn "Listening" on and off then it will not respond

Faces: uses local Face detect and will load your picture in dashboard
Sentiment: only if you connect sentiment 

Note that Everything you say is sent to Watson Conversation Service (WCS), but only acted on if an intent is found

Here are some posts I used to try to boot into the dashboard at startup, but I can't get it to work
http://www.instructables.com/id/Nodejs-App-As-a-RPI-Service-boot-at-Startup/
https://raspberrypi.stackexchange.com/questions/44957/running-node-js-with-forever
http://www.linuxcircle.com/2013/12/30/run-nodejs-server-on-boot-with-forever-on-raspberry-pi/
Tried the comment at the beginingof /etc/rc.local:
node /home/pi/tjdashboard/dashboard.js < /dev/null &
It started up, but can't reach the dashboard URL without getting errors
 

Wednesday, July 12, 2017

Does Your Church Assume Folks are Visitors or Regular Attenders?

We've visited many various churches over the years.
We see two main types of communications styles. The styles seem to be based on what they believe about the types of people attending.

There are the Churches who are always Communicating for New People:
Some churches make the assumption that there are New Comers and Visitors. All of their communications are from this viewpoint.
When communications go out from these churches, they mention every single thing that is going on with excitement. They answer the questions of "who, what, where, when, and how" so everyone knows how to be involved. They tells stories of what's been accomplished so the excitement builds.

There are churches who are always communicating to regular attenders
Other churches communicate from the viewpoint that everyone knows everything and everyone. When these communications go out, they assume that you already know what's going on and how to get involved. Not all of the questions you would have are answered.  Sometimes, people who have gone to these churches for a long time don't even know what's going on. After a big event happens, there may not even be any mention of how well it went.

What do you think about this?
Have you experienced the same?






Thursday, June 08, 2017

TJBot Talks! #4



TJBot is Talking! See the video below!


 (Note: I posted a newer post with a new recipe and some pointers, tips, hints: http://henrywill4.blogspot.com/2017/07/tjbot-new-recipe-post-5-about-tjbot.html )

 I continued the work (see prior posts:  #1 order parts,  #2 test the hardware, and #3 assemble the cardboard ) by following this instructable starting at step 4 at the following link:

http://www.instructables.com/id/Build-a-Talking-Robot-With-Watson-and-Raspberry-Pi/

I used terminal on the Mac to ssh into the pi 2 in the TJBot (I think you can use putty on the pc which I understand can be downloaded )

I used the browser my mac (or you can use the pc) to get the credentials from each of the 3 services

To edit the config file I used "sudo nano config.js" you can then move your cursor around with keyboard keys and copy the credentials from the mac (or PC) browser and paste it into the config.js file (using control-C for copy and control-V for paste).

IMPORTANT NOTE: for the service credentials, they may not be presented in the same order, be careful to copy the password to the password entry in the config.js (i messed up because mine were in opposite order, so I was getting errors that Speech to Text STT wasn't working)

For step 6, if you're using ssh, you need the conversation file on your mac (or pc). You can get it from the zip at:
https://github.com/ibmtjbot/tjbot/archive/master.zip

For the workspace ID, I somehow copied the wrong information and pasted it there in the config.js file at first. TJBot was not returning anything to pass to Text to Speech (TTS). I was getting an error that nothing was sent for TJBot to speak. So, I had to go pull that workspace ID again from the conversation tool and put it into the config file. I restarted the conversion.js and TJBot was talking!

Here's a copy of the verbose output to the console that I see when starting up TJBot Conversation:

sudo node conversation.js
verbose: TJBot initializing microphone
verbose: TJBot initializing conversation service
verbose: TJBot initializing speech_to_text service
verbose: TJBot initializing text_to_speech service
info: Hello from TJBot! My name is Watson.
verbose: TJBot library version v1.3.0
You can ask me to introduce myself or tell you a joke.
Try saying, “Watson, please introduce yourself” or “Watson, who are you?”
You can also say, “Watson, tell me a joke!”
verbose: TJBot initializing microphone
info: TJBot heard: Watson who are you
verbose: TJBot response from conversation id xyz Hi, I’m TJBot! :
verbose: TJBot speaking with voice en-US_MichaelVoice
verbose: TJBot speaking: Hi, I’m TJBot!
{ filename: ‘/tmp/tjbot11756-2013-811zkh’,
  gain: 100,
  debug: true,
  player: ‘aplay’,
  device: ‘plughw:0,0’ }

I then went in and modified the conversation training to add information about the local high school where I'm going to demonstrate it today. I added intents for the school and answers (in the dialog) that I pulled from information I found about the school.

It's so great to hear TJBot talk! I hope to set up to move it's arm and change the color of the LED for a Church Vacation Bible School coming up soon. I will probably use the Dashboard recipe for that. So, maybe you'll see another post here about that soon!

(A special tip-of-the-hat and word of thanks to the folks at IBM Research for their help, especially Victor Dibia for his many answers to my questions).

Please comment with your thoughts!


Monday, May 29, 2017

TJBot #3 : Assembling the Cardboard



In the past two posts, I ordered the parts and tested them. for a TJBot that I'm building
In this post, we assembled the cardboard body of TJBot.  My wife helped since she's great at puzzles.

Before you start, we have the following advice:
1. If you ordered a laser cut cardboard like we did, try wiping it off with a cloth or paper towel that is moistened ever so slightly.  We didn't do this and found our hands black after a bit. This is probably residue from the burning of the laser cutting.
2. Have tape and a hobby knife ready.  We found that some pieces were very difficult to pop out of the cardboard and we had to cut them with a knife first.  We also found that just from the normal required bending, one of the bent edges broke.  You may find a straight edge (such as a ruler) may help with the bending.
3.  Keep in mind that you might have to watch the video a few times and rewind it to watch parts over as you go. We found that we had to do this quite often.
4. Make certain that you have all the parts ready because they will be used in the assembly.

It took us about an hour or so to build the body.

To assemble TJBot, we followed the directions in step 3 on this instructable page.
You can also find the video here on YouTube:
https://www.youtube.com/watch?v=bLt3Cf2Ui3o&feature=youtu.be


In the next session, we'll install the software and get TJBot working!
(Click here for the next posting where TJBot talks)

Here are some photos of our assembly in process.

We unfolded the cardboard to have it in the same position as the YouTube video. Read the notes above about what we suggest that you do before you start.

So far, so good!

When folding the top of the head, because it folds in over another side, the cardboard split, but we didn't need to tape this part.

One of these two uprights snapped apart at the bend and we had to tape it back together (my bad)

It still worked find to hold the Raspberry Pi 2 in place

The Camera was a bit tricky
One other thing, we found that TJBot's "Arm" was very tricky to fold. We couldn't get it to be exactly correct when folding the tabs together. And, when we placed it on the servo, it seems that the arm falls off way too easily because the white "wing" or "arm" piece that comes with the servo hardly reaches the servo.  But, it works, so we're happy with the results (which are shown at the top of this blog post).
What do you think?  Doesn't TJBot look great!




Wednesday, May 24, 2017

TJBot #2 - Testing the Parts especially the Hardware



In our last episode (TJBot Episode 1), TJBot was just a bunch of ordered parts. I ordered the parts on April 18,2017 and received them all by May 8, 2017.
Now it's time for the parts to come together and do something.
In this episode, we'll test out the hardware.  (click here to see a future post where TJBot speaks)

1. First, we need to put noobs on the microsd card. The download file and directions are available here.  You can follow the software setup guide on this page.

2.  Connect the hardware according to the diagram on this page (also available here)

3. Connect the camera (this video shows how and shows how to test it too)

4. install the packages on the Pi
I did this by following step 2 on the instructables page which included these steps:
sudo apt-get update

sudo apt-get dist-upgrade

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -

sudo apt-get install -y nodejs

sudo apt-get install alsa-base alsa-utils libasound2-dev
5. I followed the steps in the TJBot bootstrap manual steps here, but I skipped the steps that I had done from the instructable above. I also did not do the section titled "Notice about Watson credentials" and I did not do the section titled "Running your first recipe."  I skipped down to the section "Running hardware tests" - I ran the tests and they all worked!

6. I realized that there wasn't a test for the microphone.  Someone at IBM pointed me to this test for the microphone.

So, once all the hardware tests out alright, then we're ready for the next part of the assembly.

In our next episode we'll try to assemble TJBot cardboard and the parts.





Monday, May 08, 2017

Watson and Art - Hidden Portraits

IBM had an exhibit at the Cadillac House in New York City. It just ended on May 7th. It was only there for a few days. I wanted to get a chance to see it, so I drove in on Saturday May 6th. 
Note: I am having issues with the videos in this blog post. Come back in a few days to allow me time to figure out what the issue is.
Here is the Cadillac House from across the street. I got there early, so there weren't many people around yet.



Here is the entry to the Cadillac House

There are several of the latest Cadillac models on display.

And, there is a coffee bar

And, some nice places to sit and relax

The cars are quite impressive and displayed well.

I liked the old photos of Cadillacs and this nice table

Turning to the side of the table there was the entrance to the exhibit

The exhibit is titled Hidden Portraits

There was a good explanation of the exhibit at the entrance

And, the required legal information

As you walked in, you saw the center piece. A large white booth with rounded corners and the artwork around it. Each of the pieces of art were created by using Watson to obtain information about the person being depicted.

Paul Rand was one of the persons that the art depicted. Paul Rand is well known and he created some logos for IBM.

It wasn't easy to capture a photo of the artwork with the lighting



Thomas Watson was the First Chairman  CEOs of IBM




This artwork was a slide puzzle



The line started to get longer for Watson. Each person took about 7 minutes to be analyzed by Watson, so I got in line.


Watson Asked about 5 questions. One asked who my childhood best friend was and why I selected them 



At first, I couldn't figure out why the media would stop. Then I realized that it reacted to my movements.







There were mirrors all around, so it was just right for a selfie!

After seeing all 7 pieces, I went back to the Watson Booth and collected the poster of myself that Watson created. 

I walked down to the Hudson River afterwards

I decided to walk over to SoHo and walked right by the Trump SoHo building

I walked by a bakery and got some treats to take back home.

I hope you liked the photos. Please comment!