Category Archives: Technology

Apache NiFi on Hortonworks HDF Verses … Microsoft Flow?

Attended a technical discussion last night on Apache NiFi and Hortonworks HDF,  a Meetup @ Honeywell, a Hortonworks client.

Excellent presentations from the Hortonworks team for “NiFi on HDF” solutions architecture and best practices. Powerful solution to process and distribute data in real-time, any data, and in large quantities with resiliency.   It’s no wonder why the US NSA originally developed the ability to consume data in real-time, manipulate it, and then send it on it’s way.  However, recognizing the commercial applications (benevolent wisdom?), the NSA released the product as open-source software, via its technology transfer program.

As a tangent,  among other things, I’m currently exploring the capabilities of “Microsoft Flow“, which has recently been promoted to GA from their ‘Preview Release’.  One resonating question came to mind during the presentations last night:

At it’s peak maturity (not yet), can Microsoft Flow successfully compete with Apache NiFi on Hortonworks HDF?

Discussion Points:

  • The NiFi / HDF solution manages data flows in real-time.  The Microsoft Flow architecture seems to fall short in this capacity. Is it on the product road map for Flow?  Is it a capability Microsoft wants to have?
  • There a bit of architecture / infrastructure on the Hortonworks HDF side, which enables the solution as a whole to be able to ingest, process, and push the data in real-time.   Not sure Microsoft Flow is currently engineered on the back end to handle the throughput.
  • The current Microsoft Flow UI may need to be updated to handle this ‘slightly altered’ paradigm of real-time content consumption and distribution.

The comparison between Microsoft Flow and NiFi on HDF may be a huge stretch for comparison.

Cloud Serverless Computing: Why? and With Whom?

What is Cloud Serverless Computing?

Based on your application Use Case(s), Cloud Serverless Computing architecture may reduce ongoing costs for application usage, and provide scalability on demand without the Cloud Server Instance management overhead, i.e. costs and effort.
Note: Cloud Serverless Computing is used interchangeability with Functions as a service (FaaS) which makes sense from a developer’s standpoint as they are coding Functions (or Methods), and that’s the level of abstraction.

Microsoft Flow

 

Microsoft Flow Pricing

As listed below, there are three tiers, which includes a free tier for personal use or exploring the platform for your business.  The pay Flow plans seem ridiculously inexpensive based on what business workflow designers receive for the 5 USD or 15 USD per month.  Microsoft Flow has abstracted building workflows so almost anyone can build application workflows or automate business manual workflows leveraging almost any of the popular applications on the market.

It doesn’t seem like 3rd party [data] Connectors and Template creators receive any direct monetary value from the Microsoft Flow platform.  Although workflow designers and business owners may be swayed to purchase 3rd party product licenses for the use of their core technology.

Microsoft Flow Pricing
Microsoft Flow Pricing

Microsoft Azure Functions

Process events with a serverless code architecture.  An event-based serverless compute experience to accelerate development. Scale based on demand and pay only for the resources you consume.

Google Cloud  Serverless

Properly designed microservices have a single responsibility and can independently scale. With traditional applications being broken up into 100s of microservices, traditional platform technologies can lead to significant increase in management and infrastructure costs. Google Cloud Platform’s serverless products mitigates these challenges and help you create cost-effective microservices.

Google Serverless Application Development
Google Serverless Application Development

 

Google Serverless Analytics and Machine Learning
Google Serverless Analytics and Machine Learning

 

Google Serverless Use Cases
Google Serverless Use Cases

 

Amazon AWS  Lambda

AWS provides a set of fully managed services that you can use to build and run serverless applications. You use these services to build serverless applications that don’t require provisioning, maintaining, and administering servers for backend components such as compute, databases, storage, stream processing, message queueing, and more. You also no longer need to worry about ensuring application fault tolerance and availability. Instead, AWS handles all of these capabilities for you, allowing you to focus on product innovation and get faster time-to-market. It’s important to note that Amazon was the first contender in this space with a 2014 product launch.

IBM Bluemix OpenWhisk

Execute code on demand in a highly scalable serverless environment.  Create and run event-driven apps that scale on demand.

  • Focus on essential event-driven logic, not on maintaining servers
  • Integrate with a catalog of services
  • Pay for actual usage rather than projected peaks

The OpenWhisk serverless architecture accelerates development as a set of small, distinct, and independent actions. By abstracting away infrastructure, OpenWhisk frees members of small teams to rapidly work on different pieces of code simultaneously, keeping the overall focus on creating user experiences customers want.

What’s Next?

Serverless Computing is a decision that needs to be made based on the usage profile of your application.  For the right use case, serverless computing is an excellent choice that is ready for prime time and can provide significant cost savings.

There’s an excellent article, recently published July 16th, 2017 by  Moshe Kranc called, “Serverless Computing: Ready for Prime Time” which at a high level can help you determine if your application is a candidate for Serverless Computing.


See Also:
  1. “Serverless computing architecture, microservices boost cloud outlook” by Mike Pfeiffer
  2. “What is serverless computing? A primer from the DevOps point of view” by J Steven Perry

Applying Artificial Intelligence & Machine Learning to Data Warehousing

Protecting the Data Warehouse with Artificial Intelligence

Teleran is a middleware company who’s software monitors and governs OLAP activity between the Data Warehouse and Business Intelligence tools, like Business Objects and Cognos.   Teleran’s suite of tools encompass a comprehensive analytical and monitoring solution called iSight.  In addition, Teleran has a product that leverages artificial intelligence and machine learning to impose real-time query and data access controls.  Architecture  also allows for Teleran’s agent not to be on the same host as the database, for additional security and prevention of utilizing resources from the database host.

Key Features of iGuard:
  • Policy engine prevents “bad” queries before reaching database
  • Patented rule engine resides in-memory to evaluate queries at database protocol layer on TCP/IP network
  • Patented rule engine prevents inappropriate or long-running queries from reaching the data
70 Customizable Policy Templates
SQL Query Policies
  • Create policies using policy templates based on SQL Syntax:
    • Require JOIN to Security Table
    • Column Combination Restriction –  Ex. Prevents combining customer name and social security #
    • Table JOIN restriction –  Ex. Prevents joining two different tables in same query
    • Equi-literal Compare requirement – Tightly Constrains Query Ex. Prevents hunting for sensitive data by requiring ‘=‘ condition
    • DDL/DCL restrictions (Create, Alter, Drop, Grant)
    • DQL/DML restrictions (Select, Insert, Update, Delete)
Data Access Policies

Blocks access to sensitive database objects

  • By user or user groups and time of day (shift) (e.g. ETL)
    • Schemas
    • Tables/Views
    • Columns
    • Rows
    • Stored Procs/Functions
    • Packages (Oracle)
Connection Policies

Blocks connections to the database

  • White list or black list by
    • DB User Logins
    • OS User Logins
    • Applications (BI, Query Apps)
    • IP addresses
Rule Templates Contain Customizable Messages

Each of the “Policy Templates”  has the ability to send the user querying the database a customized message based on the defined policy. The message back to the user from Teleran should be seamless to the application user’s experience.

iGuard Rules Messaging
iGuard Rules Messaging

 

Machine Learning: Curbing Inappropriate, or Long Running Queries

iGuard has the ability to analyze all of the historical SQL passed through to the Data Warehouse, and suggest new, customized policies to cancel queries with certain SQL characteristics.   The Teleran administrator sets parameters such as rows or bytes returned, and then runs the induction process.  New rules will be suggested which exceed these defined parameters.  The induction engine is “smart” enough to look at the repository of queries holistically and not make determinations based on a single query.

Finally, here is a high level overview of the implementation architecture of iGuard.  For sales or pre-sales technical questions, please contact www.teleran.com

Teleran Logical Architecture
Teleran Logical Architecture

 

Currently Featured Clients
Teleran Featured Clients
Teleran Featured Clients

 

Google Search Enables Users to Upload Images for Searching with Visual Recognition. Yahoo and Bing…Not Yet

The ultimate goal, in my mind, is to have the capability within a Search Engine to be able to upload an image, then the search engine analyzes the image, and finds comparable images within some degree of variation, as dictated in the search properties.  The search engine may also derive metadata from the uploaded image such as attributes specific to the image object(s) types.  For example,  determine if a person [object] is “Joyful” or “Angry”.

As of the writing of this article,  search engines Yahoo and Microsoft Bing do not have the capability to upload an image and perform image/pattern recognition, and return results.   Behold, Google’s search engine has the ability to use some type of pattern matching, and find instances of your image across the world wide web.    From the Google Search “home page”, select “Images”, or after a text search, select the “Images” menu item.  From there, an additional icon appears, a camera with the hint text “Search by Image”.  Select the Camera icon, and you are presented with options on how Google can acquire your image, e.g. upload, or an image URL.

Google Search Upload Images
Google Search Upload Images

Select the “Upload an Image” tab, choose a file, and upload.  I used a fictional character, Max Headroom.   The search results were very good (see below).   I also attempted an uncommon shape, and it did not meet my expectations.   The poor performance of matching this possibly “unique” shape is mostly likely due to how the Google Image Classifier Model was defined, and correlating training data that tested the classifier model.  If the shape is “Unique” the Google Search Image Engine did it’s job.

Google Image Search Results – Max Headroom
Max Headroom Google Search Results
Max Headroom Google Search Results

 

Google Image Search Results – Odd Shaped Metal Object
Google Search Results - Odd Shaped Metal Object
Google Search Results – Odd Shaped Metal Object

The Google Search Image Engine was able to “Classify” the image as “metal”, so that’s good.  However I would have liked to see better matches under the “Visually Similar Image” section.  Again, this is probably due to the image classification process, and potentially the diversity of image samples.

A Few Questions for Google

How often is the Classifier Modeling process executed (i.e. training the classifier), and the model tested?  How are new images incorporated into the Classifier model?  Are the user uploaded images now included in the Model (after model training is run again)?    Is Google Search Image incorporating ALL Internet images into Classifier Model(s)?  Is an alternate AI Image Recognition process used beyond Classifier Models?

Behind the Scenes

In addition, Google has provided a Cloud Vision API as part of their Google Cloud Platform.

I’m not sure if the Cloud Vision API uses the same technology as Google’s Search Image Engine, but it’s worth noting.  After reaching the Cloud Vision API starting page, go to the “Try the API” section, and upload your image.  I tried a number of samples, including my odd shaped metal, and I uploaded the image.  I think it performed fairly well on the “labels” (i.e. image attributes)

Odd Shaped Metal Sample Image
Odd Shaped Metal Sample Image

Using the Google Cloud Vision API, to determine if there were any WEB matches with my odd shaped metal object, the search came up with no results.  In contrast, using Google’s Search Image Engine produced some “similar” web results.

Odd Shaped Metal Sample Image Web Results
Odd Shaped Metal Sample Image Web Results

Finally, I tested the Google Cloud Vision API with a self portrait image.  THIS was so cool.

Google Vision API - Face Attributes
Google Vision API – Face Attributes

The API brought back several image attributes specific to “Faces”.  It attempts to identify certain complex facial attributes, things like emotions, e.g. Joy, and Sorrow.

Google Vision API - Labels
Google Vision API – Labels

The API brought back the “Standard” set of Labels which show how the Classifier identified this image as a “Person”, such as Forehead and Chin.

Google Vision API - Web
Google Vision API – Web

Finally, the Google Cloud Vision API brought back the Web references, things like it identified me as a Project Manager, and an obscure reference to Zurg in my Twitter Bio.

The Google Cloud Vision API, and their own baked in Google Search Image Engine are extremely enticing, but yet have a ways to go in terms of accuracy %.  Of course,  I tried using my face in the Google Search Image Engine, and looking at the “Visually Similar Images” didn’t retrieve any images of me, or even a distant cousin (maybe?)

Google Image Search Engine: Ian Face Image
Google Image Search Engine: Ian Face Image

 

Smartphone AI Digital Assistant Encroaching on the Virtual Receptionist

Businesses already exist which have developed and sell Virtual Receptionist , that handle many caller needs (e.g. call routing).

However, AI Digital Assistants such as Alexa, Cortana, Google Now, and Siri have an opportunity to stretch their capabilities even further.  Leveraging technologies such as Natural language processing (NLP) and Speech recognition (SR), as well as APIs into the Smartphone’s OS answer/calling capabilities, functionality can be expanded to include:

  • Call Screening –  The digital assistant asks for the name of the caller,  purpose of the call, and if the matter is “Urgent
    • A generic “purpose” response, or a list of caller purpose items can be supplied to the caller, e.g. 1) Schedule an Appointment
    • The smartphone’s user would receive the caller’s name, and the purpose as a message back to the UI from the call, currently in a ‘hold’ state,
    • The smartphone user may decide to accept the call, or reject the call and send the caller to voice mail.
  • Call / Digital Assistant Capabilities
    • The digital assistant may schedule a ‘tentative’ appointment within the user’s calendar.  The caller may ask to schedule a meeting, the digital assistant would access the user’s  calendar to determine availability.  If calendar indicates availability, a ‘tentative’ meeting will be entered.  The smartphone user would have a list of tasks from the assistant, and one of the tasks is to ‘affirm’ availability of the meetings scheduled.
    • Allow recall of ‘generally available’ information.  If a caller would like to know the address of the smartphone user’s office, the Digital Assistant may access a database of generally available information, and provide it.  The Smartphone user may use applications like Google Keep, and any note tagged with a label “Open Access” may be accessible to any caller.
    • Join the smartphone user’s social network, such as LinkedIn. If the caller knows the phone number of the person, but is unable to find the user through the social network directory, an invite may be requested by the caller.
    • Custom business workflows may also be triggered through the smartphone, such as “Pay by Phone”.

Amazon X-Ray Studios for Indie Movie Producers

I remember building a companion app for the Windows desktop that pulled music data from iTunes and Gracenote.   Gracenote boasts:

“Gracenote technology is at the heart of every great entertainment experience, and is supported by the largest source of music metadata on the planet..”

Gracenote, in conjunction with the iTunes API / data allowed me to personalize the user experience beyond what iTunes provided out of the box.   X-Ray IMDb on Amazon Video also enriches the experience of watching movies and television hosted on Amazon Video .

While watching a movie using Amazon Video, you can tap the screen, and get details about the specific scene, shown in the foreground as the media continues to play.

“Go behind the scenes of your favorite movies and TV shows with X-Ray, powered by IMDb.  Get instant access to cast photos, bios, and filmographies, soundtrack info, and trivia.  “

IMDb is an Amazon company, which in his infinite foresight, in 1998, Jeff Bezos, founder, owner and CEO of Amazon.com, struck a deal to buy IMDb outright for approximately $55 million and attach it to Amazon as a subsidiary, private company.

The Internet Movie Database (abbreviated IMDb) is an online database of information related to films, television programs and video games, including cast, production crew, fictional characters, biographies, plot summaries, trivia and reviews, operated by IMDb.com, Inc., a subsidiary of Amazon. As of June 2017, IMDb has approximately 4.4 million titles (including episodes), 8 million personalities in its database,[2] as well as 75 million registered users.


In Amazon’s infinite wisdom again, they are looking to stretch both X-Ray and the IMDb property to budding film artists looking to cultivate and mature their following.

Approach to Adoption of X-Ray IMDb  / Amazon Video

Amazon must empower artists and their representatives to update IMDb.  IMDBPro seems to enable just such capabilities such as:

Showcase yourself on IMDb & Amazon

Manage your photos and the credits you are Known For on IMDbPro, IMDb, and Amazon Video”
  1. How then is new media content, such as Actor’s photos, and Filmography [approved] and updated by IMDb.
  2. Furthermore, what is the selection process to get indie content [approved] and posted to Amazon video.  Is there a curation process whereby not every indie artist is hosted, e.g. creative selection process is driven by Amazon Video business.
  3. To expand the use of X-Ray powered by IMDb, what are the  options for alternate Media Players and Streamers?  e.g. is YouTube a possibility, hosting and streaming content embedded with X-Ray capabilities?  Does Amazon X-Ray enabled capabilities require the Amazon Video player?
X-Ray Current Support: Amazon Hosted and Streaming

X-Ray is available on the Amazon Video app in the US, UK, Germany, and Austria for thousands of titles on compatible devices including Amazon Fire Tablets and TV/Stick, iOS and Android mobile devices, and the web.    To access X-Ray, tap the screen or click on the Fire TV remote while the video is playing.”

Amazon X-Ray Studios, Video Editing/Integration Desktop Application

Indie producers may leverage X-Ray Studios to integrate IMDb overlay content to enhance their audience’s experience.   Timecodes are leveraged to sync up X-Ray content with the video content.

“In video production and filmmakingSMPTE timecode is used extensively for synchronization, and for logging and identifying material in recorded media. During filmmaking or video production shoot, the camera assistant will typically log the start and end timecodes of shots, and the data generated will be sent on to the editorial department for use in referencing those shots.”

All metadata regarding an Indie Video may be integrated into the video source / target file, and transcoding may be required to output the Amazon required media standard.

Amazon has slightly complicated the situation by creating an Amazon Web Service (AWS) called X-Ray which has completely no relation to the X-Ray service powered by IMDb.

Amazon could not be reached for comment.

Amazon’s Alexa vs. Google’s Assistant: Same Questions, Different Answers

Excellent article by  .

Amazon’s Echo and Google’s Home are the two most compelling products in the new smart-speaker market. It’s a fascinating space to watch, for it is of substantial strategic importance to both companies as well as several more that will enter the fray soon. Why is this? Whatever device you outfit your home with will influence many downstream purchasing decisions, from automation hardware to digital media and even to where you order dog food. Because of this strategic importance, the leading players are investing vast amounts of money to make their product the market leader.

These devices have a broad range of functionality, most of which is not discussed in this article. As such, it is a review not of the devices overall, but rather simply their function as answer engines. You can, on a whim, ask them almost any question and they will try to answer it. I have both devices on my desk, and almost immediately I noticed something very puzzling: They often give different answers to the same questions. Not opinion questions, you understand, but factual questions, the kinds of things you would expect them to be in full agreement on, such as the number of seconds in a year.

How can this be? Assuming they correctly understand the words in the question, how can they give different answers to the same straightforward questions? Upon inspection, it turns out there are ten reasons, each of which reveals an inherent limitation of artificial intelligence as we currently know it…


Addendum to the Article:

As someone who has worked with Artificial Intelligence in some shape or form for the last 20 years, I’d like to throw in my commentary on the article.

  1. Human Utterances and their Correlation to Goal / Intent Recognition.  There are innumerable ways to ask for something you want.  The ‘ask’ is a ‘human utterance’ which should trigger the ‘goal / intent’ of what knowledge the person is requesting.  AI Chat Bots, digital agents, have a table of these utterances which all roll up to a single goal.  Hundreds of utterances may be supplied per goal.  In fact, Amazon has a service, Mechanical Turk, the Artificial Artificial Intelligence, which you may “Ask workers to complete HITs – Human Intelligence Tasks – and get results using Mechanical Turk”.   They boast access to a global, on-demand, 24 x 7 workforce to get thousands of HITs completed in minutes.  There are also ways in which the AI Digital Agent may ‘rephrase’ what the AI considers utterances that are closely related.  Companies like IBM look toward human recognition, accuracy of comprehension as 95% of the words in a given conversation.  On March 7, IBM announced it had become the first to hone in on that benchmark, having achieved a 5.5% error rate.
  2. Algorithmic ‘weighted’ Selection verses Curated Content.   It makes sense based on how these two companies ‘grew up’, that Amazon relies on their curated content acquisitions such as Evi,  a technology company which specialises in knowledge base and semantic search engine software. Its first product was an answer engine that aimed to directly answer questions on any subject posed in plain English text, which is accomplished using a database of discrete facts.   “Google, on the other hand, pulls many of its answers straight from the web. In fact, you know how sometimes you do a search in Google and the answer comes up in snippet form at the top of the results? Well, often Google Assistant simply reads those answers.”  Truncated answers equate to incorrect answers.
  3. Instead of a direct Q&A style approach, where a human utterance, question, triggers an intent/goal , a process by which ‘clarifying questions‘ maybe asked by the AI digital agent.  A dialog workflow may disambiguate the goal by narrowing down what the user is looking for.  This disambiguation process is a part of common technique in human interaction, and is represented in a workflow diagram with logic decision paths. It seems this technique may require human guidance, and prone to bias, error and additional overhead for content curation.
  4. Who are the content curators for knowledge, providing ‘factual’ answers, and/or opinions?  Are curators ‘self proclaimed’ Subject Matter Experts (SMEs), people entitled with degrees in History?  or IT / business analysts making the content decisions?
  5. Questions requesting opinionated information may vary greatly between AI platform, and between questions within the same AI knowledge base.  Opinions may offend, be intentionally biased, sour the AI / human experience.

Amazon and Microsoft Drinking their own AI Chatbot Champagne?

A relatively new medium of support for businesses small to global conglomerates becomes available based on the exciting yet  embryonic [Chabot] / Digital Agent services.   Amazon and Microsoft, among others, are diving into this transforming space.  The coat of paint is still wet on Amazon Lex and Microsoft Cortana Skills.   MSFT Cortana Skills Kit is not yet available to any/all developers, but has been opened to a select set of partners, enabling them to expand Cortana’s core knowledge set.  Microsoft’s Bot Framework is in “Preview”  phase.  However, the possibilities are extensive, such as another tier of support for both of these companies, if they turn on their own knowledge repositories using their respective Digital Agents [Chabot]  platforms.

Approach from Inception to Deployment

  • The curation and creation of knowledge content may occur with the definition of ‘Goals/Intents’ and their correlated human utterances which trigger the Goal Question and Answer (Q&A) dialog format.  Classic Use Case.  The question may provide an answer with text, images, and video.
  • Taking Goals/Intents and Utterances to ‘the next level’ involves creating / implementing Process Workflows (PW).    A workflow may contain many possibilities for the user to reach their goal with a single utterance triggered.  Workflows look very similar to what you might see in a Visio diagram, with multiple logical paths. Instead of presenting users with the answer based upon the single human utterance, the question, the workflow navigates the users through a narrative to:
    • disambiguate the initial human utterance, and get a better understanding of the specific user goal/intention.  The user’s question to the Digital Agent may have a degree of ambiguity, and workflows enable the AI Digital Agent to determine the goal through an interactive dialog/inspection.   The larger the volume of knowledge, and the closer the goals/intentions, the implementation would require disambiguation.
    • interactive conversation / dialog with the AI Digital Agent, to walk through a process step by step, including text, images, and Video inline with the conversation.  The AI chat agent may pause the ‘directions’ waiting for the human counterpart to proceed.

Future  Opportunities:

  • Amazon to provide billing and implementation / technical support for AWS services through a customized version of their own AWS Lex service?   All the code used to provide this Digital Agent / Chabot maybe ‘open source’ for those looking to implement similar [enterprise] services.
  • Digital Agent may allow the user to share their screen, OCR the current section of code from an IDE, and perform a code review on the functions / methods.
  • Microsoft has an ‘Online Chat’ capability for MSDN.  Not sure how extensive the capability is, and if its a true 1:1 chat, which they claim is a 24/7 service. Microsoft has libraries of content from Microsoft Docs, MSDN, and TechNet.  If the MSFT Bot framework has the capability to ingest their own articles,  users may be able to trigger these goals/intents from utterances, similar to searching for knowledge base articles today.
  • Abstraction, Abstraction, Abstraction.  These AI Chatbot/Digital Agents must float toward Wizards to build and deploy, and attempt to stay away from coding.  Elevating this technology to be configurable by a business user.  Solutions have significant possibilities for small companies, and this technology needs to reach their hands.  It seems that Amazon Lex is well on their way to achieving the wizard driven creation / distribution, but have ways to go.  I’m not sure if the back end process execution, e.g. Amazon Lambda, will be abstracted any time soon.

Evaluating fobi.io Chatbot Powered By Google Forms: AI Digital Agent?

Interesting approach to an AI Chatbot implementation.  The business process owner creates one or more Google Forms containing questions and answers, and converts/deploys to a chatbot using fobi.io.  All the questions for [potential] customers/users are captured in a multitude of forms.  Without any code, and within minutes, an interactive chatbot can be produced and deployed for client use.

The trade off for rapid deployment and without coding is a rigid approach of triggering user desired “Goal/Intents”.  It seems a single goal/intent is mapped to a single Google Form.  As opposed to a digital agent, which leverages utterances to trigger the user’s intended goal/intent.  Before starting the chat, the user must select the appropriate Google Form, with the guidance of the content curator.

Another trade off is, it seems, no integration on the backend to execute a business process, essential to many chatbot workflows. For example, given an Invoice ID, the chatbot may search in a transactional database, then retrieve and display the full invoice.  Actually, I may be incorrect. On the Google Forms side, there is a Script Editor. Seems powerful and scary all at the same time.

Another trade off that seems to exist, more on the Google Forms side, is building not just a Form with a list of Questions, but a Consumer Process Workflow, that allows the business to provide an interactive dialog based on answers users provide.  For example, a Yes/No or multichoice answer may lead to alternate sets of questions [and actions].  It doesn’t appear there is any workflow tool provided to structure the Google Forms / fobi.io chatbot Q&A.

However, there are still many business cases for the product, especially for small to mid size organizations.

* Business Estimates – although there is no logic workflow to guide the Q&A sessions with [prospective] customers, the business still may derive the initial information they require to make an initial assessment.  It seems a Web form, and this fobi.io / Google Forms solution seems very comparable in capability, its just a change in the median in which the user interacts to collect the information.

One additional note, Google Forms is not a free product.  Looks like it’s a part of the G Suite. Free two week trial, then the basic plan is $5 per month, which comes with other products as well.  Click here for pricing details.

Although this “chatbot” tries to quickly provide a mechanism to turn a form to a chatbot, it seems it’s still just a form at the end of the day.  I’m interested to see more products from Zoi.ai soon

Evaluating Amazon Lex – AI Digital Agent / Assistant Implementation

Evaluating AI chatbot solutions for:

  • Simple to Configure – e.g. Wizard Walkthrough
  • Flexible, and Mature Platform e.g. Executing backend processes
  • Cost Effective and Competitive Solutions
  • Rapid Deployment to XYZ platforms

The idea is almost anyone can build and deploy a chat bot for your business, small to midsize organizations.

Amazon Lex

Going through the Amazon Lex build chat process, and configuration of the Digital Assistant was a breeze.  AWS employs a ‘wizard’ style interface to help the user build the Chatbot / Digital Agent.  The wizard guides you through defining Intents, Utterances, Slots, and Fulfillment.

  • Intents – A particular goal that the user wants to achieve (e.g. book an airline reservation)
  •  Utterances – Spoken or typed phrases that invoke your intent
  • Slots – Data the user must provide to fulfill the intent
  • Prompts – Questions that ask the user to input data
  • Fulfillment – The business logic required to fulfill the user’s intent (i.e. backend call to another system, e.g. SAP)
Amazon Lex Chabot
Amazon Lex Chabot

The Amazon Lex Chatbot editor is also extremely easy to use, and to update / republish any changes.

Amazon Chat Bot Editor
Amazon Chat Bot Editor

The challenge with Amazon Lex appears to be a very limiting ability for chatbot distribution / deployment.  Your Amazon Lex Chatbot is required to use one of three methods to deploy: Facebook, Slack, or Twilio SMS.  Facebook is limiting in a sense if you do not want to engage your customers on this platform.   Slack is a ‘closed’ framework, whereby the user of the chat bot must belong to a Slack team in order to communicate.  Finally, Twilio SMS implies use of your chat bot though a mobile phone SMS.

Amazon Chatbot Channels
Amazon Chatbot Channels

 

I’ve reached out to AWS Support regarding any other options for Amazon Lex chatbot deployment.  Just in case I missed something.

Amazon Chatbot Support
Amazon Chatbot Support

There is a “Test Bot” in the lower right corner of the Amazon Lex, Intents menu.  The author of the business process can, in real-time, make changes to the bot, and test them all on the same page.

Amazon Chatbot, Test Bot
Amazon Chatbot, Test Bot

 

Key Followups

  • Is there a way to leverage the “Test Bot” as a “no frills” Chatbot UI,  and embed it in an existing web page?  Question to AWS Support.
  • One concern is for large volumes of utterances / Intents and slots. An ideal suggestion would allow the user a bulk upload through an Excel spreadsheet, for example.
  • I’ve not been able to utilize the Amazon Lambda to trigger server side processing.
  • Note: there seem to be several ‘quirky’ bugs in the Amazon Lex UI, so it may take one or two tries to workaround the UI issue.

IBM Watson Conversation also contends for this Digital Agent / Assistant space, and have a very interesting offering including dialog / workflow definition.

Both Amazon Lex and IBM Watson Conversation are FREE to try, and in minutes, you could have your bots created and deployed. Please see sites for pricing details.