SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Robotics, Search and AI with
Solr, MyRobotLab, and Deep
Learning
Kevin Watters
Founder, KMW Technology
@kwatters76
#Activate18 #ActivateSearch
What are we going to show today?
• A life sized humanoid 3D printed open source robot that can
learn from it’s surrounding and interact with humans in a
meaningful and natural manor.
• Teach a robot to recognize people by making an introduction.
• Just as a humans meet and remember each other, so should
robots.
• Simplify the barriers of human robotic interaction.
Agenda
• Introduction
• InMoov
• MyRobotLab
• Anotomy of a Cognitive Robot
• Demo
• Q & A
Introduction
• KMW Technology
• Boston Based Search Professional Services
• Founded in 2010
• Search consulting and contracting
• Solr
• Elastic
• Deeplearning4j
• NLP/NLU
• ETL & Custom Connectors
• www.kmwllc.com
How did I get here?
• Open source supporter, committer, contributor
• Enjoy teaching and sharing
• Maker Faire / Maker movement
• NYC / Bay Area / Denver / Boston / Paris
• EE from Northeastern University
• Passion for building and integrating.
• Search and AI passion.
RedHat Summit & Robots for Good
Introducing Lloyd
• Started Construction 2014 ?
• MakerBot Replicator 2
• Powered By MyRobotLab
• 2 arduinos
• 1 Raspberry PI
• 2 cameras
• 25 servo motors (more to come.)
• Speech Recognition
• Speech Synthesis
• Memory
• And Telepresence and remote operation with OculusRift Support!
InMoov
• Open Source life sized 3D printed humanoid robot
• Designed by Gael Langevin, Paris France
• Started in 2012
• Inspired 3D printed prostetics projects
• Bionico / eNable
• Approx. 500 exist around the world
• Gael believes in Open source and that it takes a world to raise a
robot.
• More Info at:
www.inmoov.fr
MyRobotLab
I for one welcome our new robotic
overloads!
• Started by Greg Perry, Portland, Oregon
• Java based Open Source framework
• Hosted on github
• Borg in technologies
• Over 100 open source projects integrated..
And counting!
• Pub / Sub service based architecture
• Scripting via Python / jython
• Multi-platform
(Windows/Linux/Mac/RasPI)
• www.myrobotlab.org
How do we make this robot “smart”?
• How does can it recognize people and interact with them.
• What were the challenges ? Where do we want to take the robot?
• How do we get this robot to learn and understand?
• What tools exist out there to solve this problem?
• How can we wire it all together…
• We should be able to interact with the robot without a keyboard.
• We should be able to teach the robot new things.
• Lets make it cognitive!.. And open source!
Anotomoy Of A Cognitive Robot
Modeled anthropomorphically
• Hearing ( WebkitSpeech / CMU Sphinx)
• Speaking ( MaryTTS / Polly / NaturalReader, etc
• Reasoning ( ProgramAB / AIML )
• Vision ( OpenCV)
• Remembering ( Solr )
• Learning ( Deeplearing4j )
System Architecture Review
Hearing
All your utterance are belong to us.
Speech Recognition
• Initially using CMU Sphinx
• Need to specify a fixed grammar
• Not very active project
• English only
• Offline
• Webkit Speech Recognition
• Built into Google Chrome
• Accessed via WebGui & Javascript
• Supports ~ 60 langauges & dialects
• Requires Internet Connection
Speaking
Hello, is there anybody out there?
Speech Synthesis
• MaryTTS
• Open source, supports a few different voices and languages
• No internet connection required
• MyCroft – AI Speech Synthesis
• Open source, limited number of voices
• No internet connection Required
• LocalSpeech – invoke existing command line utilities
• FreeTTS
• Festival
• Natural Reader / Acapela Speech
• Good quality
• Requires internet connection
• Lots of voices for various languages
• Amazon Polly
• Requires account, small cost
• Good quality, requires internet connection
Reasoning
What did you intend?
Natural Language Understanding
• Based on ProgramAB
• AIML 2.0 (XML based)
• Created by Dr. Richard S. Wallace in 1995. (Yeah it’s old, but it
works.)
• Case based Reasoning
• Uses recursion to break down user utterances
• Special fork of project on github to support MyRobotLab specific
using “OOB” or Out-Of-Band calls to MyRobotLab services or
external web services
• Pandorabots Create your own online
• Mitsuku is the current winner of the Lobner prize and is AIML based.
ProgramAB extensions
• Maven Based
• Proper Logging
• 40x faster loading large AIML sets
• SRAIX handler for extensibility to call out to external services.
• Localization / Locale support
• CJK support with Lucene Tokenization
• CJK Tokenizer (Chinese / Korean)
• Kuramoji Tokenizer (Japanese)
AIML Tags & Simple Example
“Category” is the basic unit to define a response
“Pattern” This is the string that defines the matching for the utterance.
Patterns can have wildcards or reference a “set” of items for brevity.
“Template” this defines how to handle the response
“That” this is an optional tag that can specify additional matching criteria
based on that previous resonse from the robot. It’s used to create “multi-
pass” conversations
“Topic” an optional tag that specifies the precedence of matching.
Categories in the current topic are matched before the default topic.
Useful for talking about particular subjects in more detail without giving
generic responses.
Add additional mappings for an utterance of “Greetings”, or “Hey” to
recursively return the response for “Hi”
Map any utterance that starts with “HELLO” to return the response for “Hi”
User : Hello Robot!
Bot: Hello User!
<category>
<pattern>HI</pattern>
<template>Hello user!</template>
</category>
<category>
<pattern>GREETINGS</pattern>
<template><srai>HI</srai></template>
</category>
<category>
<pattern>HEY</pattern>
<template><srai>HI</srai></template>
</category>
<category>
<pattern>HELLO *</pattern>
<template><srai>HI</srai></template>
</category>
Learn Tag Example
• AIML has built into it the ability to add new categories and responses dynamically.
• Use the wildcards to generate a template to teach the robot.
• Use the “think” tag so the robot only thinks it and doesn’t say it!
• Use the “learn” tag to add a new category that is filled out from the pattern.
• User the “eval” tag to return the value that matched the first and second * in the
pattern
• A helper category that will match any utterance starting with “What is” to return the
response for what ever comes after the words “what is”
• User : Learn that Pi is yummy
• Bot: Ok Pi is yummy.
• User : What is Pi?
• Bot: Yummy.
<category>
<pattern>LEARN * IS *</pattern>
<template>OK <star/> IS <star index="2"/>
<think>
<learn>
<category>
<pattern><eval><star/></eval></pattern>
<template><eval><star index="2"/></eval></template>
</category>
</learn>
</think>
</template>
</category>
<category>
<pattern>WHAT IS *</pattern>
<template><srai><star/></srai></template>
</category>
Wikipedia based Q/A API Integration
• Using ProgramAB to convert the utterance to a Solr query.
• MyRobotLab support for indexing XML, JDBC, RSS, etc
• Support for Document Processing Pipeline with pluggable
stages
• Indexed Wikipedia using Sweble java parser
• Extracting Infoboxes and indexing them as triples
• Constructing high precision queries to answer free form
questions.
• KMW based NLU web service integrated to simplify.
Seeing
Peek-a-boo!
OpenCV / JavaCV
• Open source…
• Java bindings via the JavaCPP project. Thanks Samuel Audet!
• 2000+ different algorithms to manipulate and extract information
from image and video data
• Support for a wide range of different hardware from webcams to
remote Mjpeg video streams.
• Video Processing Pipeline of filters that is modular and dynamic
that enhance the image with metadata and classifications.
Memory
Well, how did I get here?
Memory (Embedded and Cloud Solr)
• Solr is integrated into MyRobotLab as both Embedded Solr
Server or external SolrCloud instance.
• Can attach to all information flows between services in
MyRobotLab to capture data-inflight between services
• Records what the robot hears, sees, says, recognizes, and how
the robot moves
• Stores image data in non-searchable binary field.
• Can be queried to produce training datasets for deep learning
and custom AI model.
More Solr Stuff!
• Dynamically attach to the Inbox or Outbox of an MRL Service
• Serialize the Message object that is passed between services
into a SolrInputDocument.
• Ability to specify stateful information to be tagged on data being
indexed to label incoming data
• Facet based metrics on the amount of data flowing through the
robots nervous system.
Memory Exploration w/ Solr
Learning
What good are memories if you don’t learn from them?
Deeplearning4j
• Java based deep learning framework supported by SkyMind.io
• GPU acceleration and native support across many platforms
with JavaCPP project.
• Relies on ND4J with JNI to do heavy matrix math modeled after
Python’s NumPY
• Can load models from Tensorflow, Keras, Café
• Has a pre-trained model zoo
• Supports custom network topologies
• Feed forward, CNN, RNN, LSTM support
Solr for Deeplearning in 1,2,3
Solr’s native support for faceting, random sort ordering, and
pagination is ideal for generating a random sampling to produce
both the testing and training datasets.
1. Query to get total training dataset count with a facet on the
label field to get all labels for a dataset.
2. Query with a random sort order ascending for the training
dataset (max pagination offset based on percentage of
dataset.)
3. Query with the same random sort seed descending for the
remaining examples for the testing dataset.
VGG-16 Image Classification
• Visual Geometry Group (U. Oxford)
• ImageNet ILSVRC-2014 (1st runner up)
• Can classify ~ 9000 classes of objects
• 16 level deep Convolutional Neural Network
• Input layer 224x224 pixels with 3 color channels (163,968)
• Open source pre-trained (Creative Commons Attribution)
• Available in Model-Zoo for DL4J
Yolo - Darknet
• Yolo (You Only Look Once)
• Classification and Localization (Bounding Box)
• Trained on COCO dataset (Common Object in Context)
• Pretrained model, native support in OpenCV to load pre-trained
model
• Currently using YoloV2 (Input 416x416x3 pixels)
Transfer learning
• Training neural networks takes a long time and a lot of compute
resources.
• Training VGG16 took multiple weeks.
• 138,357,544 parameters to train
• Use pre-trained model, chop off last (output) layer
• Add new output layer with the number of classes that you want to
classify.
• Hold all layers frozen except for the output layer (~ 4,097 parameters
per class to train.)
• Training time ~ 5 minutes to get to 80+ % accuracy
• Small training dataset ( ~ 50 examples per class.)
Combine Yolo & VGG
• We can combine Yolo classification to produce the bounding
box.
• Crop image based on bounding box and pass it to a transfer
learned VGG16 model to sub-classify
• Yolo detects Person
• Pass cropped image of the person to VGG16 to subclassify and
identify which person it is!
• Store training data in Solr from Yolo
• Custom Dataset Iterator that queries embedded Solr
• Inspired by SOLR-11838
System Architecture Review
Demo
• How ya doin’ Lloyd? I always liked you!
The Singularity is near!
• We have presented an integration of many open source
technologies to demonstrate emergent behavior and to help
provide a bit of our vision of how robots and their human care
takers will evolve in the next decades to come.
• This is an open source project in its inception. Feel free to
contribute or take from this as much or as little as you like.
• Try it out! Download it.. Don’t like it? Make it better!
• Want to help out? Pull Requests welcome!
Whats next?
• New technologies?
• DeepWave – Speech?
• LSTM based Speech Recognition?
• Performance and stability
• Better distributed and swarm capabilities
• SLAM – Simultaneous Localization and Mapping
• Current Release is “Manticore”
• Upcoming release is “Nixie” (Soon!)
• Next release is “Ogre”
Thank you!
Kevin Watters
Founder, KMW Technology
@kwatters76
#Activate18 #ActivateSearch

Weitere ähnliche Inhalte

Was ist angesagt?

Webinar: Simpler Semantic Search with Solr
Webinar: Simpler Semantic Search with SolrWebinar: Simpler Semantic Search with Solr
Webinar: Simpler Semantic Search with SolrLucidworks
 
Implementing Conceptual Search in Solr using LSA and Word2Vec: Presented by S...
Implementing Conceptual Search in Solr using LSA and Word2Vec: Presented by S...Implementing Conceptual Search in Solr using LSA and Word2Vec: Presented by S...
Implementing Conceptual Search in Solr using LSA and Word2Vec: Presented by S...Lucidworks
 
DLoBD: An Emerging Paradigm of Deep Learning Over Big Data Stacks with Dhaba...
 DLoBD: An Emerging Paradigm of Deep Learning Over Big Data Stacks with Dhaba... DLoBD: An Emerging Paradigm of Deep Learning Over Big Data Stacks with Dhaba...
DLoBD: An Emerging Paradigm of Deep Learning Over Big Data Stacks with Dhaba...Databricks
 
Building NLP solutions using Python
Building NLP solutions using PythonBuilding NLP solutions using Python
Building NLP solutions using Pythonbotsplash.com
 
Reflected intelligence evolving self-learning data systems
Reflected intelligence  evolving self-learning data systemsReflected intelligence  evolving self-learning data systems
Reflected intelligence evolving self-learning data systemsTrey Grainger
 
Natural Language Search with Knowledge Graphs (Haystack 2019)
Natural Language Search with Knowledge Graphs (Haystack 2019)Natural Language Search with Knowledge Graphs (Haystack 2019)
Natural Language Search with Knowledge Graphs (Haystack 2019)Trey Grainger
 
Neo4j - graph database for recommendations
Neo4j - graph database for recommendationsNeo4j - graph database for recommendations
Neo4j - graph database for recommendationsproksik
 
Automatically Build Solr Synonyms List using Machine Learning - Chao Han, Luc...
Automatically Build Solr Synonyms List using Machine Learning - Chao Han, Luc...Automatically Build Solr Synonyms List using Machine Learning - Chao Han, Luc...
Automatically Build Solr Synonyms List using Machine Learning - Chao Han, Luc...Lucidworks
 
Bootstrapping Recommendations with Neo4j
Bootstrapping Recommendations with Neo4jBootstrapping Recommendations with Neo4j
Bootstrapping Recommendations with Neo4jMax De Marzi
 
Semantic & Multilingual Strategies in Lucene/Solr
Semantic & Multilingual Strategies in Lucene/SolrSemantic & Multilingual Strategies in Lucene/Solr
Semantic & Multilingual Strategies in Lucene/SolrTrey Grainger
 
Natural Language Processing with Graphs
Natural Language Processing with GraphsNatural Language Processing with Graphs
Natural Language Processing with GraphsNeo4j
 
Windy City DB - Recommendation Engine with Neo4j
Windy City DB - Recommendation Engine with Neo4jWindy City DB - Recommendation Engine with Neo4j
Windy City DB - Recommendation Engine with Neo4jMax De Marzi
 
Reflected Intelligence - Lucene/Solr as a self-learning data system: Presente...
Reflected Intelligence - Lucene/Solr as a self-learning data system: Presente...Reflected Intelligence - Lucene/Solr as a self-learning data system: Presente...
Reflected Intelligence - Lucene/Solr as a self-learning data system: Presente...Lucidworks
 
Document Classification with Neo4j
Document Classification with Neo4jDocument Classification with Neo4j
Document Classification with Neo4jKenny Bastani
 
Evolving the Optimal Relevancy Ranking Model at Dice.com
Evolving the Optimal Relevancy Ranking Model at Dice.comEvolving the Optimal Relevancy Ranking Model at Dice.com
Evolving the Optimal Relevancy Ranking Model at Dice.comSimon Hughes
 
MongoDB & Machine Learning
MongoDB & Machine LearningMongoDB & Machine Learning
MongoDB & Machine LearningTom Maiaroto
 
The Future of Search and AI
The Future of Search and AIThe Future of Search and AI
The Future of Search and AITrey Grainger
 
Data modeling with neo4j tutorial
Data modeling with neo4j tutorialData modeling with neo4j tutorial
Data modeling with neo4j tutorialMax De Marzi
 
Natural language search using Neo4j
Natural language search using Neo4jNatural language search using Neo4j
Natural language search using Neo4jKenny Bastani
 

Was ist angesagt? (20)

Webinar: Simpler Semantic Search with Solr
Webinar: Simpler Semantic Search with SolrWebinar: Simpler Semantic Search with Solr
Webinar: Simpler Semantic Search with Solr
 
Implementing Conceptual Search in Solr using LSA and Word2Vec: Presented by S...
Implementing Conceptual Search in Solr using LSA and Word2Vec: Presented by S...Implementing Conceptual Search in Solr using LSA and Word2Vec: Presented by S...
Implementing Conceptual Search in Solr using LSA and Word2Vec: Presented by S...
 
DLoBD: An Emerging Paradigm of Deep Learning Over Big Data Stacks with Dhaba...
 DLoBD: An Emerging Paradigm of Deep Learning Over Big Data Stacks with Dhaba... DLoBD: An Emerging Paradigm of Deep Learning Over Big Data Stacks with Dhaba...
DLoBD: An Emerging Paradigm of Deep Learning Over Big Data Stacks with Dhaba...
 
Building NLP solutions using Python
Building NLP solutions using PythonBuilding NLP solutions using Python
Building NLP solutions using Python
 
Reflected intelligence evolving self-learning data systems
Reflected intelligence  evolving self-learning data systemsReflected intelligence  evolving self-learning data systems
Reflected intelligence evolving self-learning data systems
 
Vespa, A Tour
Vespa, A TourVespa, A Tour
Vespa, A Tour
 
Natural Language Search with Knowledge Graphs (Haystack 2019)
Natural Language Search with Knowledge Graphs (Haystack 2019)Natural Language Search with Knowledge Graphs (Haystack 2019)
Natural Language Search with Knowledge Graphs (Haystack 2019)
 
Neo4j - graph database for recommendations
Neo4j - graph database for recommendationsNeo4j - graph database for recommendations
Neo4j - graph database for recommendations
 
Automatically Build Solr Synonyms List using Machine Learning - Chao Han, Luc...
Automatically Build Solr Synonyms List using Machine Learning - Chao Han, Luc...Automatically Build Solr Synonyms List using Machine Learning - Chao Han, Luc...
Automatically Build Solr Synonyms List using Machine Learning - Chao Han, Luc...
 
Bootstrapping Recommendations with Neo4j
Bootstrapping Recommendations with Neo4jBootstrapping Recommendations with Neo4j
Bootstrapping Recommendations with Neo4j
 
Semantic & Multilingual Strategies in Lucene/Solr
Semantic & Multilingual Strategies in Lucene/SolrSemantic & Multilingual Strategies in Lucene/Solr
Semantic & Multilingual Strategies in Lucene/Solr
 
Natural Language Processing with Graphs
Natural Language Processing with GraphsNatural Language Processing with Graphs
Natural Language Processing with Graphs
 
Windy City DB - Recommendation Engine with Neo4j
Windy City DB - Recommendation Engine with Neo4jWindy City DB - Recommendation Engine with Neo4j
Windy City DB - Recommendation Engine with Neo4j
 
Reflected Intelligence - Lucene/Solr as a self-learning data system: Presente...
Reflected Intelligence - Lucene/Solr as a self-learning data system: Presente...Reflected Intelligence - Lucene/Solr as a self-learning data system: Presente...
Reflected Intelligence - Lucene/Solr as a self-learning data system: Presente...
 
Document Classification with Neo4j
Document Classification with Neo4jDocument Classification with Neo4j
Document Classification with Neo4j
 
Evolving the Optimal Relevancy Ranking Model at Dice.com
Evolving the Optimal Relevancy Ranking Model at Dice.comEvolving the Optimal Relevancy Ranking Model at Dice.com
Evolving the Optimal Relevancy Ranking Model at Dice.com
 
MongoDB & Machine Learning
MongoDB & Machine LearningMongoDB & Machine Learning
MongoDB & Machine Learning
 
The Future of Search and AI
The Future of Search and AIThe Future of Search and AI
The Future of Search and AI
 
Data modeling with neo4j tutorial
Data modeling with neo4j tutorialData modeling with neo4j tutorial
Data modeling with neo4j tutorial
 
Natural language search using Neo4j
Natural language search using Neo4jNatural language search using Neo4j
Natural language search using Neo4j
 

Ähnlich wie The Intersection of Robotics, Search and AI with Solr, MyRobotLab, and Deep Learning - Kevin Watters, KMW Technology

PyData Texas 2015 Keynote
PyData Texas 2015 KeynotePyData Texas 2015 Keynote
PyData Texas 2015 KeynotePeter Wang
 
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" EcosystemsPyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" EcosystemsUwe Korn
 
Create Your Own Chatbot with Hubot and CoffeeScript
Create Your Own Chatbot with Hubot and CoffeeScriptCreate Your Own Chatbot with Hubot and CoffeeScript
Create Your Own Chatbot with Hubot and CoffeeScriptRob Scaduto
 
How Open Source / Open Technology Could Help On Your Project
How Open Source / Open Technology Could Help On Your ProjectHow Open Source / Open Technology Could Help On Your Project
How Open Source / Open Technology Could Help On Your ProjectWan Leung Wong
 
But we're already open source! Why would I want to bring my code to Apache?
But we're already open source! Why would I want to bring my code to Apache?But we're already open source! Why would I want to bring my code to Apache?
But we're already open source! Why would I want to bring my code to Apache?gagravarr
 
From a student to an apache committer practice of apache io tdb
From a student to an apache committer  practice of apache io tdbFrom a student to an apache committer  practice of apache io tdb
From a student to an apache committer practice of apache io tdbjixuan1989
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...Lucas Jellema
 
Scalable Ensemble Machine Learning @ Harvard Health Policy Data Science Lab
Scalable Ensemble Machine Learning @ Harvard Health Policy Data Science LabScalable Ensemble Machine Learning @ Harvard Health Policy Data Science Lab
Scalable Ensemble Machine Learning @ Harvard Health Policy Data Science LabSri Ambati
 
Bosc2014 tripal
Bosc2014 tripalBosc2014 tripal
Bosc2014 tripalmestato
 
OpenAI GPT in Depth - Questions and Misconceptions
OpenAI GPT in Depth - Questions and MisconceptionsOpenAI GPT in Depth - Questions and Misconceptions
OpenAI GPT in Depth - Questions and MisconceptionsIvo Andreev
 
An Introduction to the Laravel Framework (AFUP Forum PHP 2014)
An Introduction to the Laravel Framework (AFUP Forum PHP 2014)An Introduction to the Laravel Framework (AFUP Forum PHP 2014)
An Introduction to the Laravel Framework (AFUP Forum PHP 2014)daylerees
 
NLP and Deep Learning for non_experts
NLP and Deep Learning for non_expertsNLP and Deep Learning for non_experts
NLP and Deep Learning for non_expertsSanghamitra Deb
 
Scaling with swagger
Scaling with swaggerScaling with swagger
Scaling with swaggerTony Tam
 
Django in enterprise world
Django in enterprise worldDjango in enterprise world
Django in enterprise worldSimone Federici
 
How do OpenAI GPT Models Work - Misconceptions and Tips for Developers
How do OpenAI GPT Models Work - Misconceptions and Tips for DevelopersHow do OpenAI GPT Models Work - Misconceptions and Tips for Developers
How do OpenAI GPT Models Work - Misconceptions and Tips for DevelopersIvo Andreev
 
Dapper: the microORM that will change your life
Dapper: the microORM that will change your lifeDapper: the microORM that will change your life
Dapper: the microORM that will change your lifeDavide Mauri
 

Ähnlich wie The Intersection of Robotics, Search and AI with Solr, MyRobotLab, and Deep Learning - Kevin Watters, KMW Technology (20)

PyData Texas 2015 Keynote
PyData Texas 2015 KeynotePyData Texas 2015 Keynote
PyData Texas 2015 Keynote
 
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" EcosystemsPyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
 
The Developers World
The Developers WorldThe Developers World
The Developers World
 
Bots & spiders
Bots & spidersBots & spiders
Bots & spiders
 
Create Your Own Chatbot with Hubot and CoffeeScript
Create Your Own Chatbot with Hubot and CoffeeScriptCreate Your Own Chatbot with Hubot and CoffeeScript
Create Your Own Chatbot with Hubot and CoffeeScript
 
How Open Source / Open Technology Could Help On Your Project
How Open Source / Open Technology Could Help On Your ProjectHow Open Source / Open Technology Could Help On Your Project
How Open Source / Open Technology Could Help On Your Project
 
But we're already open source! Why would I want to bring my code to Apache?
But we're already open source! Why would I want to bring my code to Apache?But we're already open source! Why would I want to bring my code to Apache?
But we're already open source! Why would I want to bring my code to Apache?
 
From a student to an apache committer practice of apache io tdb
From a student to an apache committer  practice of apache io tdbFrom a student to an apache committer  practice of apache io tdb
From a student to an apache committer practice of apache io tdb
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
 
Scalable Ensemble Machine Learning @ Harvard Health Policy Data Science Lab
Scalable Ensemble Machine Learning @ Harvard Health Policy Data Science LabScalable Ensemble Machine Learning @ Harvard Health Policy Data Science Lab
Scalable Ensemble Machine Learning @ Harvard Health Policy Data Science Lab
 
Ice dec05-04-wan leung
Ice dec05-04-wan leungIce dec05-04-wan leung
Ice dec05-04-wan leung
 
Bosc2014 tripal
Bosc2014 tripalBosc2014 tripal
Bosc2014 tripal
 
Walter api
Walter apiWalter api
Walter api
 
OpenAI GPT in Depth - Questions and Misconceptions
OpenAI GPT in Depth - Questions and MisconceptionsOpenAI GPT in Depth - Questions and Misconceptions
OpenAI GPT in Depth - Questions and Misconceptions
 
An Introduction to the Laravel Framework (AFUP Forum PHP 2014)
An Introduction to the Laravel Framework (AFUP Forum PHP 2014)An Introduction to the Laravel Framework (AFUP Forum PHP 2014)
An Introduction to the Laravel Framework (AFUP Forum PHP 2014)
 
NLP and Deep Learning for non_experts
NLP and Deep Learning for non_expertsNLP and Deep Learning for non_experts
NLP and Deep Learning for non_experts
 
Scaling with swagger
Scaling with swaggerScaling with swagger
Scaling with swagger
 
Django in enterprise world
Django in enterprise worldDjango in enterprise world
Django in enterprise world
 
How do OpenAI GPT Models Work - Misconceptions and Tips for Developers
How do OpenAI GPT Models Work - Misconceptions and Tips for DevelopersHow do OpenAI GPT Models Work - Misconceptions and Tips for Developers
How do OpenAI GPT Models Work - Misconceptions and Tips for Developers
 
Dapper: the microORM that will change your life
Dapper: the microORM that will change your lifeDapper: the microORM that will change your life
Dapper: the microORM that will change your life
 

Mehr von Lucidworks

Search is the Tip of the Spear for Your B2B eCommerce Strategy
Search is the Tip of the Spear for Your B2B eCommerce StrategySearch is the Tip of the Spear for Your B2B eCommerce Strategy
Search is the Tip of the Spear for Your B2B eCommerce StrategyLucidworks
 
Drive Agent Effectiveness in Salesforce
Drive Agent Effectiveness in SalesforceDrive Agent Effectiveness in Salesforce
Drive Agent Effectiveness in SalesforceLucidworks
 
How Crate & Barrel Connects Shoppers with Relevant Products
How Crate & Barrel Connects Shoppers with Relevant ProductsHow Crate & Barrel Connects Shoppers with Relevant Products
How Crate & Barrel Connects Shoppers with Relevant ProductsLucidworks
 
Lucidworks & IMRG Webinar – Best-In-Class Retail Product Discovery
Lucidworks & IMRG Webinar – Best-In-Class Retail Product DiscoveryLucidworks & IMRG Webinar – Best-In-Class Retail Product Discovery
Lucidworks & IMRG Webinar – Best-In-Class Retail Product DiscoveryLucidworks
 
Connected Experiences Are Personalized Experiences
Connected Experiences Are Personalized ExperiencesConnected Experiences Are Personalized Experiences
Connected Experiences Are Personalized ExperiencesLucidworks
 
Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...
Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...
Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...Lucidworks
 
[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...
[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...
[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...Lucidworks
 
Preparing for Peak in Ecommerce | eTail Asia 2020
Preparing for Peak in Ecommerce | eTail Asia 2020Preparing for Peak in Ecommerce | eTail Asia 2020
Preparing for Peak in Ecommerce | eTail Asia 2020Lucidworks
 
Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...
Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...
Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...Lucidworks
 
AI-Powered Linguistics and Search with Fusion and Rosette
AI-Powered Linguistics and Search with Fusion and RosetteAI-Powered Linguistics and Search with Fusion and Rosette
AI-Powered Linguistics and Search with Fusion and RosetteLucidworks
 
The Service Industry After COVID-19: The Soul of Service in a Virtual Moment
The Service Industry After COVID-19: The Soul of Service in a Virtual MomentThe Service Industry After COVID-19: The Soul of Service in a Virtual Moment
The Service Industry After COVID-19: The Soul of Service in a Virtual MomentLucidworks
 
Webinar: Smart answers for employee and customer support after covid 19 - Europe
Webinar: Smart answers for employee and customer support after covid 19 - EuropeWebinar: Smart answers for employee and customer support after covid 19 - Europe
Webinar: Smart answers for employee and customer support after covid 19 - EuropeLucidworks
 
Smart Answers for Employee and Customer Support After COVID-19
Smart Answers for Employee and Customer Support After COVID-19Smart Answers for Employee and Customer Support After COVID-19
Smart Answers for Employee and Customer Support After COVID-19Lucidworks
 
Applying AI & Search in Europe - featuring 451 Research
Applying AI & Search in Europe - featuring 451 ResearchApplying AI & Search in Europe - featuring 451 Research
Applying AI & Search in Europe - featuring 451 ResearchLucidworks
 
Webinar: Accelerate Data Science with Fusion 5.1
Webinar: Accelerate Data Science with Fusion 5.1Webinar: Accelerate Data Science with Fusion 5.1
Webinar: Accelerate Data Science with Fusion 5.1Lucidworks
 
Webinar: 5 Must-Have Items You Need for Your 2020 Ecommerce Strategy
Webinar: 5 Must-Have Items You Need for Your 2020 Ecommerce StrategyWebinar: 5 Must-Have Items You Need for Your 2020 Ecommerce Strategy
Webinar: 5 Must-Have Items You Need for Your 2020 Ecommerce StrategyLucidworks
 
Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...
Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...
Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...Lucidworks
 
Apply Knowledge Graphs and Search for Real-World Decision Intelligence
Apply Knowledge Graphs and Search for Real-World Decision IntelligenceApply Knowledge Graphs and Search for Real-World Decision Intelligence
Apply Knowledge Graphs and Search for Real-World Decision IntelligenceLucidworks
 
Webinar: Building a Business Case for Enterprise Search
Webinar: Building a Business Case for Enterprise SearchWebinar: Building a Business Case for Enterprise Search
Webinar: Building a Business Case for Enterprise SearchLucidworks
 
Why Insight Engines Matter in 2020 and Beyond
Why Insight Engines Matter in 2020 and BeyondWhy Insight Engines Matter in 2020 and Beyond
Why Insight Engines Matter in 2020 and BeyondLucidworks
 

Mehr von Lucidworks (20)

Search is the Tip of the Spear for Your B2B eCommerce Strategy
Search is the Tip of the Spear for Your B2B eCommerce StrategySearch is the Tip of the Spear for Your B2B eCommerce Strategy
Search is the Tip of the Spear for Your B2B eCommerce Strategy
 
Drive Agent Effectiveness in Salesforce
Drive Agent Effectiveness in SalesforceDrive Agent Effectiveness in Salesforce
Drive Agent Effectiveness in Salesforce
 
How Crate & Barrel Connects Shoppers with Relevant Products
How Crate & Barrel Connects Shoppers with Relevant ProductsHow Crate & Barrel Connects Shoppers with Relevant Products
How Crate & Barrel Connects Shoppers with Relevant Products
 
Lucidworks & IMRG Webinar – Best-In-Class Retail Product Discovery
Lucidworks & IMRG Webinar – Best-In-Class Retail Product DiscoveryLucidworks & IMRG Webinar – Best-In-Class Retail Product Discovery
Lucidworks & IMRG Webinar – Best-In-Class Retail Product Discovery
 
Connected Experiences Are Personalized Experiences
Connected Experiences Are Personalized ExperiencesConnected Experiences Are Personalized Experiences
Connected Experiences Are Personalized Experiences
 
Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...
Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...
Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...
 
[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...
[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...
[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...
 
Preparing for Peak in Ecommerce | eTail Asia 2020
Preparing for Peak in Ecommerce | eTail Asia 2020Preparing for Peak in Ecommerce | eTail Asia 2020
Preparing for Peak in Ecommerce | eTail Asia 2020
 
Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...
Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...
Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...
 
AI-Powered Linguistics and Search with Fusion and Rosette
AI-Powered Linguistics and Search with Fusion and RosetteAI-Powered Linguistics and Search with Fusion and Rosette
AI-Powered Linguistics and Search with Fusion and Rosette
 
The Service Industry After COVID-19: The Soul of Service in a Virtual Moment
The Service Industry After COVID-19: The Soul of Service in a Virtual MomentThe Service Industry After COVID-19: The Soul of Service in a Virtual Moment
The Service Industry After COVID-19: The Soul of Service in a Virtual Moment
 
Webinar: Smart answers for employee and customer support after covid 19 - Europe
Webinar: Smart answers for employee and customer support after covid 19 - EuropeWebinar: Smart answers for employee and customer support after covid 19 - Europe
Webinar: Smart answers for employee and customer support after covid 19 - Europe
 
Smart Answers for Employee and Customer Support After COVID-19
Smart Answers for Employee and Customer Support After COVID-19Smart Answers for Employee and Customer Support After COVID-19
Smart Answers for Employee and Customer Support After COVID-19
 
Applying AI & Search in Europe - featuring 451 Research
Applying AI & Search in Europe - featuring 451 ResearchApplying AI & Search in Europe - featuring 451 Research
Applying AI & Search in Europe - featuring 451 Research
 
Webinar: Accelerate Data Science with Fusion 5.1
Webinar: Accelerate Data Science with Fusion 5.1Webinar: Accelerate Data Science with Fusion 5.1
Webinar: Accelerate Data Science with Fusion 5.1
 
Webinar: 5 Must-Have Items You Need for Your 2020 Ecommerce Strategy
Webinar: 5 Must-Have Items You Need for Your 2020 Ecommerce StrategyWebinar: 5 Must-Have Items You Need for Your 2020 Ecommerce Strategy
Webinar: 5 Must-Have Items You Need for Your 2020 Ecommerce Strategy
 
Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...
Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...
Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...
 
Apply Knowledge Graphs and Search for Real-World Decision Intelligence
Apply Knowledge Graphs and Search for Real-World Decision IntelligenceApply Knowledge Graphs and Search for Real-World Decision Intelligence
Apply Knowledge Graphs and Search for Real-World Decision Intelligence
 
Webinar: Building a Business Case for Enterprise Search
Webinar: Building a Business Case for Enterprise SearchWebinar: Building a Business Case for Enterprise Search
Webinar: Building a Business Case for Enterprise Search
 
Why Insight Engines Matter in 2020 and Beyond
Why Insight Engines Matter in 2020 and BeyondWhy Insight Engines Matter in 2020 and Beyond
Why Insight Engines Matter in 2020 and Beyond
 

Kürzlich hochgeladen

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Kürzlich hochgeladen (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

The Intersection of Robotics, Search and AI with Solr, MyRobotLab, and Deep Learning - Kevin Watters, KMW Technology

  • 1. Robotics, Search and AI with Solr, MyRobotLab, and Deep Learning Kevin Watters Founder, KMW Technology @kwatters76 #Activate18 #ActivateSearch
  • 2. What are we going to show today? • A life sized humanoid 3D printed open source robot that can learn from it’s surrounding and interact with humans in a meaningful and natural manor. • Teach a robot to recognize people by making an introduction. • Just as a humans meet and remember each other, so should robots. • Simplify the barriers of human robotic interaction.
  • 3. Agenda • Introduction • InMoov • MyRobotLab • Anotomy of a Cognitive Robot • Demo • Q & A
  • 4. Introduction • KMW Technology • Boston Based Search Professional Services • Founded in 2010 • Search consulting and contracting • Solr • Elastic • Deeplearning4j • NLP/NLU • ETL & Custom Connectors • www.kmwllc.com
  • 5. How did I get here? • Open source supporter, committer, contributor • Enjoy teaching and sharing • Maker Faire / Maker movement • NYC / Bay Area / Denver / Boston / Paris • EE from Northeastern University • Passion for building and integrating. • Search and AI passion.
  • 6. RedHat Summit & Robots for Good
  • 7. Introducing Lloyd • Started Construction 2014 ? • MakerBot Replicator 2 • Powered By MyRobotLab • 2 arduinos • 1 Raspberry PI • 2 cameras • 25 servo motors (more to come.) • Speech Recognition • Speech Synthesis • Memory • And Telepresence and remote operation with OculusRift Support!
  • 8. InMoov • Open Source life sized 3D printed humanoid robot • Designed by Gael Langevin, Paris France • Started in 2012 • Inspired 3D printed prostetics projects • Bionico / eNable • Approx. 500 exist around the world • Gael believes in Open source and that it takes a world to raise a robot. • More Info at: www.inmoov.fr
  • 9. MyRobotLab I for one welcome our new robotic overloads! • Started by Greg Perry, Portland, Oregon • Java based Open Source framework • Hosted on github • Borg in technologies • Over 100 open source projects integrated.. And counting! • Pub / Sub service based architecture • Scripting via Python / jython • Multi-platform (Windows/Linux/Mac/RasPI) • www.myrobotlab.org
  • 10. How do we make this robot “smart”? • How does can it recognize people and interact with them. • What were the challenges ? Where do we want to take the robot? • How do we get this robot to learn and understand? • What tools exist out there to solve this problem? • How can we wire it all together… • We should be able to interact with the robot without a keyboard. • We should be able to teach the robot new things. • Lets make it cognitive!.. And open source!
  • 11. Anotomoy Of A Cognitive Robot Modeled anthropomorphically • Hearing ( WebkitSpeech / CMU Sphinx) • Speaking ( MaryTTS / Polly / NaturalReader, etc • Reasoning ( ProgramAB / AIML ) • Vision ( OpenCV) • Remembering ( Solr ) • Learning ( Deeplearing4j )
  • 13. Hearing All your utterance are belong to us.
  • 14. Speech Recognition • Initially using CMU Sphinx • Need to specify a fixed grammar • Not very active project • English only • Offline • Webkit Speech Recognition • Built into Google Chrome • Accessed via WebGui & Javascript • Supports ~ 60 langauges & dialects • Requires Internet Connection
  • 15. Speaking Hello, is there anybody out there?
  • 16. Speech Synthesis • MaryTTS • Open source, supports a few different voices and languages • No internet connection required • MyCroft – AI Speech Synthesis • Open source, limited number of voices • No internet connection Required • LocalSpeech – invoke existing command line utilities • FreeTTS • Festival • Natural Reader / Acapela Speech • Good quality • Requires internet connection • Lots of voices for various languages • Amazon Polly • Requires account, small cost • Good quality, requires internet connection
  • 18. Natural Language Understanding • Based on ProgramAB • AIML 2.0 (XML based) • Created by Dr. Richard S. Wallace in 1995. (Yeah it’s old, but it works.) • Case based Reasoning • Uses recursion to break down user utterances • Special fork of project on github to support MyRobotLab specific using “OOB” or Out-Of-Band calls to MyRobotLab services or external web services • Pandorabots Create your own online • Mitsuku is the current winner of the Lobner prize and is AIML based.
  • 19. ProgramAB extensions • Maven Based • Proper Logging • 40x faster loading large AIML sets • SRAIX handler for extensibility to call out to external services. • Localization / Locale support • CJK support with Lucene Tokenization • CJK Tokenizer (Chinese / Korean) • Kuramoji Tokenizer (Japanese)
  • 20. AIML Tags & Simple Example “Category” is the basic unit to define a response “Pattern” This is the string that defines the matching for the utterance. Patterns can have wildcards or reference a “set” of items for brevity. “Template” this defines how to handle the response “That” this is an optional tag that can specify additional matching criteria based on that previous resonse from the robot. It’s used to create “multi- pass” conversations “Topic” an optional tag that specifies the precedence of matching. Categories in the current topic are matched before the default topic. Useful for talking about particular subjects in more detail without giving generic responses. Add additional mappings for an utterance of “Greetings”, or “Hey” to recursively return the response for “Hi” Map any utterance that starts with “HELLO” to return the response for “Hi” User : Hello Robot! Bot: Hello User! <category> <pattern>HI</pattern> <template>Hello user!</template> </category> <category> <pattern>GREETINGS</pattern> <template><srai>HI</srai></template> </category> <category> <pattern>HEY</pattern> <template><srai>HI</srai></template> </category> <category> <pattern>HELLO *</pattern> <template><srai>HI</srai></template> </category>
  • 21. Learn Tag Example • AIML has built into it the ability to add new categories and responses dynamically. • Use the wildcards to generate a template to teach the robot. • Use the “think” tag so the robot only thinks it and doesn’t say it! • Use the “learn” tag to add a new category that is filled out from the pattern. • User the “eval” tag to return the value that matched the first and second * in the pattern • A helper category that will match any utterance starting with “What is” to return the response for what ever comes after the words “what is” • User : Learn that Pi is yummy • Bot: Ok Pi is yummy. • User : What is Pi? • Bot: Yummy. <category> <pattern>LEARN * IS *</pattern> <template>OK <star/> IS <star index="2"/> <think> <learn> <category> <pattern><eval><star/></eval></pattern> <template><eval><star index="2"/></eval></template> </category> </learn> </think> </template> </category> <category> <pattern>WHAT IS *</pattern> <template><srai><star/></srai></template> </category>
  • 22. Wikipedia based Q/A API Integration • Using ProgramAB to convert the utterance to a Solr query. • MyRobotLab support for indexing XML, JDBC, RSS, etc • Support for Document Processing Pipeline with pluggable stages • Indexed Wikipedia using Sweble java parser • Extracting Infoboxes and indexing them as triples • Constructing high precision queries to answer free form questions. • KMW based NLU web service integrated to simplify.
  • 24. OpenCV / JavaCV • Open source… • Java bindings via the JavaCPP project. Thanks Samuel Audet! • 2000+ different algorithms to manipulate and extract information from image and video data • Support for a wide range of different hardware from webcams to remote Mjpeg video streams. • Video Processing Pipeline of filters that is modular and dynamic that enhance the image with metadata and classifications.
  • 25. Memory Well, how did I get here?
  • 26. Memory (Embedded and Cloud Solr) • Solr is integrated into MyRobotLab as both Embedded Solr Server or external SolrCloud instance. • Can attach to all information flows between services in MyRobotLab to capture data-inflight between services • Records what the robot hears, sees, says, recognizes, and how the robot moves • Stores image data in non-searchable binary field. • Can be queried to produce training datasets for deep learning and custom AI model.
  • 27. More Solr Stuff! • Dynamically attach to the Inbox or Outbox of an MRL Service • Serialize the Message object that is passed between services into a SolrInputDocument. • Ability to specify stateful information to be tagged on data being indexed to label incoming data • Facet based metrics on the amount of data flowing through the robots nervous system.
  • 29. Learning What good are memories if you don’t learn from them?
  • 30. Deeplearning4j • Java based deep learning framework supported by SkyMind.io • GPU acceleration and native support across many platforms with JavaCPP project. • Relies on ND4J with JNI to do heavy matrix math modeled after Python’s NumPY • Can load models from Tensorflow, Keras, Café • Has a pre-trained model zoo • Supports custom network topologies • Feed forward, CNN, RNN, LSTM support
  • 31. Solr for Deeplearning in 1,2,3 Solr’s native support for faceting, random sort ordering, and pagination is ideal for generating a random sampling to produce both the testing and training datasets. 1. Query to get total training dataset count with a facet on the label field to get all labels for a dataset. 2. Query with a random sort order ascending for the training dataset (max pagination offset based on percentage of dataset.) 3. Query with the same random sort seed descending for the remaining examples for the testing dataset.
  • 32. VGG-16 Image Classification • Visual Geometry Group (U. Oxford) • ImageNet ILSVRC-2014 (1st runner up) • Can classify ~ 9000 classes of objects • 16 level deep Convolutional Neural Network • Input layer 224x224 pixels with 3 color channels (163,968) • Open source pre-trained (Creative Commons Attribution) • Available in Model-Zoo for DL4J
  • 33. Yolo - Darknet • Yolo (You Only Look Once) • Classification and Localization (Bounding Box) • Trained on COCO dataset (Common Object in Context) • Pretrained model, native support in OpenCV to load pre-trained model • Currently using YoloV2 (Input 416x416x3 pixels)
  • 34. Transfer learning • Training neural networks takes a long time and a lot of compute resources. • Training VGG16 took multiple weeks. • 138,357,544 parameters to train • Use pre-trained model, chop off last (output) layer • Add new output layer with the number of classes that you want to classify. • Hold all layers frozen except for the output layer (~ 4,097 parameters per class to train.) • Training time ~ 5 minutes to get to 80+ % accuracy • Small training dataset ( ~ 50 examples per class.)
  • 35. Combine Yolo & VGG • We can combine Yolo classification to produce the bounding box. • Crop image based on bounding box and pass it to a transfer learned VGG16 model to sub-classify • Yolo detects Person • Pass cropped image of the person to VGG16 to subclassify and identify which person it is! • Store training data in Solr from Yolo • Custom Dataset Iterator that queries embedded Solr • Inspired by SOLR-11838
  • 37. Demo • How ya doin’ Lloyd? I always liked you!
  • 38. The Singularity is near! • We have presented an integration of many open source technologies to demonstrate emergent behavior and to help provide a bit of our vision of how robots and their human care takers will evolve in the next decades to come. • This is an open source project in its inception. Feel free to contribute or take from this as much or as little as you like. • Try it out! Download it.. Don’t like it? Make it better! • Want to help out? Pull Requests welcome!
  • 39. Whats next? • New technologies? • DeepWave – Speech? • LSTM based Speech Recognition? • Performance and stability • Better distributed and swarm capabilities • SLAM – Simultaneous Localization and Mapping • Current Release is “Manticore” • Upcoming release is “Nixie” (Soon!) • Next release is “Ogre”
  • 40. Thank you! Kevin Watters Founder, KMW Technology @kwatters76 #Activate18 #ActivateSearch