Intelligent Apps

Software as a Service and API with customizable Expert Systems, Decision Support Systems, Text Mining Systems, Machine Learning Tools and AI API

Expert System
Decision Support System
Text Mining
Machine Learning
Expert system-based Chatbot
Artificial Intelligence API
Knowledge Base
Knowledge Management System
Dempster-Shafer, forward & backward chaining
Analitical Hierarcy Process, Linear Programming, Fuzzy Logic, Forecasting
Automatic Text Summarization, Retrieval & Extraction
Neural Network modelling and simulation tool
Effortless integration
Various mathematical & statistical method
Various AI API
Simple data import

ARDVRO Kenviro

Kenviro is a project code, on which the research project was undertaken to develop some Artificial Intelligence (AI) functions to enrich the features and reliability of the while ARDVRO Platform. Therefore, Kenviro is a part of the ARDVRO Platform as a component or product. Thus, Kenviro also inherits the ARDVRO Platform behaviour, that is easy to integrate, flexible, secure communication and the modularity of the API.

The whole system can be easily to integrated to another applications, there are 5 options to integrated:

  • Integration to web application with an embedded javascript.
    ARDVRO Kenviro
  • Integration with API through SDK.
    ARDVRO Kenviro
  • Integration from Database Store Procedured.
  • Integration with Backend by adding more DotNet *.dll file and registered it in the appsettings.json file.
  • Integration by utilising Integration Module on the admin page.

 

Expert System

In artificial intelligence, an expert system is a computer system emulating the decision-making ability of a human expert. Expert systems are designed to solve complex problems by reasoning through bodies of knowledge, represented mainly as if–then rules rather than through conventional procedural code. Expert systems were among the first truly successful forms of artificial intelligence (AI) software. An expert system is an example of a knowledge-based system. As a knowledge-based system, an expert system is essentially composed of two sub-systems: the knowledge base and the inference engine. The inference engine applies the rules to the known facts to deduce new facts. Inference engines can also include explanation and debugging abilities. There are mainly two modes for an inference engine: forward chaining and backward chaining. While the knowledge base could be represented as a tree-based structured, or frame structured. The most common disadvantage cited for expert systems in the academic literature is the manual knowledge acquisition problem.

ARDVRO has developed a new approach to expert system architecture in a project code-named KENVIRO as well as the other's core module in this project. The inference engine calculated with Dempster-Shafer probabilistic theory on a frame-based knowledge representation. This architecture provides more flexibility in considering the possibilities of problems and has the ability to decide more than one problem in percentages. These advantages could provide the user with more information in solving the problem. Furthermore, with frame-based knowledge representation, this expert system can provide solutions to the problems.

Kenviro's Expert Systems have an Automatic Knowledge Acquisition feature to reduce the disadvantages of manual knowledge acquisition. The knowledge was sourced from a text in the natural English language. This method will perform a Text Mining process including Information Retrieval Information Extraction and also involve a clustering process using Self Organizing Maps neural networks. The Automated Knowledge Acquisition process was developed mainly based on Ardi's master thesis research. During the development, ARDVRO also undertake research to improve the accuracy of the automated knowledge acquisition results. Furthermore, add abilities to perform the automatic knowledge acquisition from google search and URL.

Kenviro's Expert System also provides an input form to enter the knowledge base manually, therefore the conventional forward chaining and backward chaining inference method are available. This expert system can also be configured to utilise the manual knowledge base input and combine it with the Dempster-Shafer inference method.
ARDVRO Kenviro

Kenviro provides easy steps to generate the configurable expert system. First of all, define the subject, then select an inference engine method. Secondly, select one or more of the knowledge acquisition types: Automated from English text files, Automated from Google, Automated from websites URL, or manual input later. Finally, after selecting the knowledge files, URL or Google keywords, click Generate. The delivery time will depend on the knowledge acquisition method. If the user only selects the manual input method, then the system will be ready immediately. However, the automated knowledge acquisition method will take several hours to finish, it very much depends on the size of the documents.
ARDVRO Kenviro

Please notice, that the accuracy of the knowledge base results from the automated knowledge acquisition process will be highly dependent on the quality of the text. If the text documents were written in good English literature, formal and academic writing, thus the accuracy of the knowledge base will also increase. Similar to us as a human, when we read a textbook with good English literature, the knowledge we gain will outperform the textbook written in bad English literature. The accuracy of the automated knowledge acquisition results can be improved by adding more good quality text documents. In other ways, the user can edit or input it manually to an existing knowledge base.

Kenviro's Automated Knowledge Acquisition only support English text documents. For the others language, client can utilise the manual input knowledge base.

Kenviro's Expert System have two modes of User Interface to be used by the users. The first one is the analytic form, which provides a set of Yes-No questions related to the keywords to be answered by the users. After submitting the form, the system will calculate all the answers, then display the issues, and also the solutions. The other one is the Chatbot widget. On the chatbot widget, the Yes-No questions will be provided one by one, each time user answers a question an analysis result would be produced. Therefore, the number of questions on the Chatbot widget mode could be less than the analytic form, and perhaps a more accurate result.
ARDVRO Kenviro

 
Expert System-based Chatbot

Most of the conversational chatbots were developed using Natural Language Processing and Machine Learning method, in which it tries to understand human natural language than trying to guess the response according to its trained knowledge-based. The drawback of this method is that in fact, this kind of chatbot will act as a human customer service without any technical deep knowledge for a specific area like technical support. Moreover, it will take time to train the chatbot, and approximately would be the same as the manual knowledge acquisition on an expert system. And, if it needs to add more knowledge, it needs to retrain again, while on an expert system, only input more data and will be ready immediately. Furthermore, the conversational chatbot will have difficulties understanding non-formal language by the user.

The non-conversational expert system based-chatbot would have a different characteristic when interacting with the user. On the one hand, the conversational chatbot will receive input from users and try to understand and respond to user questions. On the other hand, on the expert system-based chatbot, the user would only need to enter keywords or questions once, then the chatbot would be more active by asking the yes-no questions to the users. Moreover, the non-conversational chatbot could act as an expert rather than just as a customer service agent.

This research presents a different approach to developing a chatbot by using an expert system approach. The chatbot is also flexible to handle a different problem area depending on the entered knowledge-base subject. A framework was also developed to be able to produce a generic expert system-based chatbot. Moreover, to enhance more features, the user has options to select the inference mechanism from backward chaining, forward chaining and Dempster-Shafer method.


ARDVRO Kenviro

Decision Support System

Decision Support System (DSS) is software that provides a reasoning mechanism to suggest considerations on the process of decision making under uncertainty and complex variables that would be very complicated to be solved by conventional information system software. A DSS will compile useful information from a combination of raw data, documents, and personal knowledge, or business models to identify and solve problems and make decisions.

Generally, the decision support system will consist of a data model, inference mechanism, and user interface. The model would have a database, knowledge base, data model and decision criteria. The reasoning mechanism would involve some mathematical methods, statistical, inference mechanism, and Artificial Intelligence algorithm.

Each matter should be solved by a different reasoning method. Besides the probabilistic inference, Kenviro DSS also could be dealt with in the case of optimization, estimation, prediction, classification. Click here for the detail of the reasoning methods.

Users can generate a decision support system with Kenviro in 3 steps: 1) Define the subject and select the Decision Type. 2) Define the criteria model or simply upload matrix data (rows columns data) in csv. 3) Click Compute, then the calculation results will be ready in seconds.
ARDVRO Kenviro
ARDVRO Kenviro
ARDVRO Kenviro

Text Mining

Text mining, is the process of transforming unstructured text into a structured format to identify meaningful patterns and new insights. Since 80% of data in the world resides in an unstructured format, text mining is an extremely valuable practice within organizations.

The process of text mining comprises several activities to deduce the information from unstructured text data. It usually involves the use of techniques such as tokenization, part-of-speech tagging, chunking, and syntax parsing to format data appropriately for analysis. Some of these common text mining techniques include:

  • Information Retrieval.
    Information retrieval (IR) is a process to obtain relevant information through text documents by utilising some statistical method and Natural Language Processing NLP algorithm. One of the most famous algorithm in IR is the TF-IDF method.
  • Information Extraction.
    Information Extraction (IE) is a process to identify specific pieces of information (data) in an unstructured or semi-structured textual document into a structured database. One of the most simple approaches is the simple extraction pattern by utilising hand-written regular expressions.
  • Automatic Text Summarization.
    Automatic Text Summarization is a technique to provides a synopsis of long pieces of text to create a concise, coherent summary of a document’s main points. There are two general approaches to automatic text summarization: extraction and abstraction.

 

ARDVRO have developed a powerful text-mining tool by developing a new approach to provide meaningful pieces of information by undertaking further research based on Ardi's master research, to improve the accuracy of the text mining results and add a text summarization feature. The core modules of the text mining process consist of Topics Retrieval, Sentences Extraction and Automatic Text Summarization.

In performing the topics retrieval, it involves the Part-of-Speech Tagging, the TF-IDF calculation, clustering with Self Organizing Maps. While the sentences extraction was performed with the simple text regular expression pattern recognition. And the Automatic Text Summarization would concatenate all the meaningful sentences of the topics.

Kenviro's text mining tools simplify the whole process with an easy to use user interface and easy to consume API.
ARDVRO Kenviro
ARDVRO Kenviro
ARDVRO Kenviro
ARDVRO Kenviro
ARDVRO Kenviro
ARDVRO Kenviro

As the implementation of the text mining tool, ARDVRO provides a plugin that can be used as a Knowledge Management System (KMS). The KMS can help users to solve their problems at the first stage before heading the human agents, therefore, can minimize their workload. As a result, a company can reduce their customer service cost. The KMS is integrated with the ARDVRO WebAppGear Content Management System (CMS), which also provides a Ticketing System, CMS Live Chat Agent, and customer services email. Thus, once you installed the KMS, you will also fully utilise all CMS features. To find more information about ARDVRO WebAppGear CMS, please click here https://www.webappgear.com. The search results would combine from the CMS and Text Mining Content. The users can also chat with the Chatbot, or contact the staff through the contact form or email or social media link shown on the page.
ARDVRO Kenviro

Machine Learning

Machine learning is a form of artificial intelligence (AI) that enables a system to learn from data rather than through explicit programming. Machine learning uses a variety of algorithms that iteratively learn from data to improve, describe data, and predict outcomes.

According to Wikipedia, Neural Networks is one of the approaches in Machine Learning. While IBM explains that machine learning is a subfield of artificial intelligence, Deep learning is a subfield of machine learning, and Neural Networks make up the backbone of deep learning algorithms. To sum up, in other words, Neural Networks can be used in Deep Learning and Machine Learning as one of the algorithms.

Approached in Machine learning and Neural Network are traditionally divided into three broad categories:

  • Supervised learning: The computer is presented with example inputs and their desired outputs, given by a "teacher", and the goal is to learn a general rule that maps inputs to outputs. There are many popular algorithms in supervised learning, for example, Backpropagation, Generative Adversarial Networks, etcetera.
  • Unsupervised learning: No labels are given to the learning algorithm, leaving it on its own to find structure in its input. Unsupervised learning can be a goal in itself (discovering hidden patterns in data) or a means towards an end (feature learning). Examples of unsupervised learning, Self Organizing Maps, K-Means, Support Vector Machines, etcetera.
  • Reinforcement learning: A computer program interacts with a dynamic environment in which it must perform a certain goal. As it navigates its problem space, the program is provided feedback that's analogous to rewards, which it tries to maximize. The popular algorithm in reinforcement learning, Q-Learning, Markov Decision Process, etcetera.

 

Kenviro provides a tool to simulate the machine learning process from learning to execution. By the end, you can call the API in the prediction or recognition task to your application. Moreover, the tool also provides a user interface for standalone users. The tool provides a Backpropagation algorithm for regression tasks and Self Organizing Maps for classification tasks. It supports matrix data in rows and columns format and binary data such as images.

The steps are quite easy, first of all, define the parameters: learning rate, epoch, activation type, nodes each layer. Secondly, upload your training data. After training is finished you will be notified, you can continue to submit your data to predict or recognize. You can submit it through the user interface or call the API.
ARDVRO Kenviro

Artificial Intelligence API

In order to develop the whole Intelligent Applications, ARDVRO has developed the basic Artificial Intelligence functions from scratch without using any third-party library. The AI API include some basic statistical and mathematical functions that would be useful as additional features to others applications. Therefore, besides being used by the Kenviro project itself, ARDVRO also provides the basic functions of AI to be consumed by the client through the WebSocket API and Web API:

  • Backpropagation Neural Network.
  • Evolutionary Algorithm.
    • Genetic Algorithm.
  • Fuzzy Logic.
    • Mamdani Fuzzy Inference.
  • Self Organizing Maps.
  • Linear Programming Optimization.
    • Big M Minimization.
    • Dual Minimization.
    • Simplex Maximation.
  • Linear Regression.
    • Gradient Descent.
    • Least Square Criterion.
  • Probabilistics and Decision Making
    • Analitical Hierarcy Process (AHP).
    • Bayes Theorem.
    • Comparative Performance Index (CPI).
    • Delphi Method.
    • Demster-Shafer.
    • Equal Likelihood.
    • Exponential Comparison.
    • Hurwitch.
    • Minimax Regression.
  • Text Mining
    • Topics Retrieval
    • Sentence Extraction
    • Automatic Text Summarization

 

The API call have the same parameters for each main points to theirs sub points. To use certain method, pass in the parameter methodType. For example: to use probabilistic API:

                    let probabilistic = new ProbabilisticController( { Connector: Website.GetConnector() } );
                    probabilistic.Compute("AnaliticalHierarcyProcess", inputs, weights, callback);
                    probabilistic.Compute("DempsterShafer", inputs, weights, callback);
                
Further Documentation: All of those functions, also available as a method in the Decision Support Systems application and API.

 

Knowledge Base

Knowledge bases are formed as a result of generating expert systems and decision support systems. The knowledge base consists of expert system knowledge representations and decision support systems criteria. Each system represents its knowledge in the manner of the selected computational methods and stored in the database in high-level abstraction format, and then each module will translate it to its own manner. However, advanced users can edit and modify the knowledge base in order to improve the accuracy of the knowledge base by utilise the user interface. This knowledge base has also been used in the KMS tools to search for matters for the users. For further documentation, click here.
ARDVRO Kenviro

Prerequisites

As a part of the ARDVRO Platform, Kenviro very much depends on the whole ARDVRO Framework from backend to front-end. Therefore, when installing Kenviro, some other components of ARDVRO are also included in the packages, as a result, the client will automatically have the capability to consume those features. As the basic dependencies, Kenviro needs the SqlJson and WebAppGear packages including the CMS, KMS and Chatbot plugins.

Literature References
  • Expert system, Wikipedia, https://en.wikipedia.org/wiki/Expert_system, 2021.
  • Knowledge representation and reasoning, Wikipedia, https://en.wikipedia.org/wiki/Knowledge_representation_and_reasoning, 2021.
  • Knowledge acquisition , Wikipedia, https://en.wikipedia.org/wiki/Knowledge_acquisition, 2021.
  • Decision Support System, Wikipedia, https://en.wikipedia.org/wiki/Decision_support_system, 2021.
  • Text Mining For Automated Knowledge Acquisition of Expert System, Ardi, Master Thesis, Budi Luhur University, Indonesia, 2008.
  • Text Mining, Wikipedia, https://en.wikipedia.org/wiki/Text_mining, 2021.
  • Text Mining, IBM, https://www.ibm.com/cloud/learn/text-mining, 2021.
  • Information Retrieval, Wikipedia, https://en.wikipedia.org/wiki/Information_retrieval, 2021.
  • Information Extraction, Wikipedia, https://en.wikipedia.org/wiki/Information_extraction, 2021.
  • Automatic Summarization, Wikipedia, https://en.wikipedia.org/wiki/Automatic_summarization, 2021.
  • Information Extraction, Mihalcea, Rada, & Csomai, Andras, http://lit.csci.unt.edu/~classes/CSCE5200, 2008.
  • Machine Learning, Wikipedia, https://en.wikipedia.org/wiki/Machine_learning, 2021.
  • Artificial Neural Networks, Wikipedia, https://en.wikipedia.org/wiki/Artificial_neural_network, 2021.
  • AI vs Machine Learning vs Deep Learning vs Neural Networks, IBM, https://www.ibm.com/cloud/blog/ai-vs-machine-learning-vs-deep-learning-vs-neural-networks, 2021.
  • Reinforcement Learning 101, Bhatt, Sweta, https://towardsdatascience.com/reinforcement-learning-101-e24b50e1d292, 2021.
  • Machine Learning for Developers, Bonni, Rodolfo, Birmingham Mumbay, 2017.
  • Machine Learning for Dummies, Hurwitz, Judith & Kirsch, Daniel, IBM, 2018.