Haley A.I.-as-a-Service incorporates numerous machine learning algorithms and technologies to drive intelligent interactions. There is no one-size-fits-all algorithm for artificial intelligence, and we strive to have a large toolbox to allow the right tool for the right job. Below is a quick overview of some of the components we incorporate.
The Vital Development Kit (VDK) provides the foundational knowledge representation tool VitalSigns which compiles knowledge models into code, keeping knowledge consistent across Haley.
The Vital Development Kit (VDK) and VitalSigns uses the W3C Standard OWL to represent knowledge objects, their properties, and their relationships.
Within Haley, we've defined "Entities" and "Relationships" as dynamically defined knowledge objects that can be used within the service. An "entity" is a "thing", and a "relationship" is a relationship between things. As an example, an eCommerce store that sells shoes may want to define entities for "Shoes", "Brands", and "Category", with relationships for "makes" ("Nike" makes "Air Jordan") and "belongs-to" ("Air Jordan" belongs-to "BasketBallShoes"). Haley can then use these entities and relationships to recommend items to users.
Apache Spark is software that supports large-scale processing of data, and included with Apache Spark is the library MLlib for machine learning. MLlib provides a number of machine learning algorithms to produce predictive models that can be used within Haley. Apache Spark is part of our processing pipeline to produce new models using new data on an ongoing basis.
Tensforflow is an open-source library that can be used for Deep Learning and training of Neural Networks. Keras is a library which provides convenient functions that make Tensorflow easier to use. We use these together to create Neural Networks to use within Haley for natural language processing, image recognition, and other predictive and recommendation tasks.
Intel BigDL is an open source deep learning library for Apache Spark.
Recommendation models are used to recommend an item to a person, such as a movie to watch, a product to buy, or a news article to read. Haley uses several algorithms for recommending items to users based on algorithms using collaborative filtering, probabilistic soft logic, reasoning, or neural networks.
Haley utilizes reasoning engines to determine what actions to perform or what items to recommend. Reasoning includes rules which may be used to encode domain and business logic. Planning is used to determine which steps are necessary to reach the desired goal.
Reasoning engines tend to be binary true or false, but Bayesian reasoning can be used to determine the likelihood of outcomes - such as the likelihood of a recommendation leading to a purchase.
Haley can utilize external sources of knowledge such as data provided by the customer (such as an inventory system) or from external providers. WikiData provides a structured set of data derived from Wikipedia, and Google provides the KnowledgeGraph service, both of which can provide a depth of knowledge to Haley for many applications.
Haley can utilize externally provided A.I. services from providers such as Amazon, Google, and IBM. Rather than re-implement the wheel, it's often quicker to utilize a service off-the-shelf as a starting point, and train a customized system once the value is proven.
Kibana is a analytics and visualization tool which can be used with the Haley message stream to provide insight into Haley's activities.