Sunday, 24 March 2013

Inconsistency Checking with Fluent Editor

One of the helpful features of Fluent Editor for knowledge engineers is an explanation mechanism for knowledge inconsistency checking. Whenever ontology you are editing is logically inconsistent (although it is correct in terms of grammar) you may be guided what are the logical paths that leads to this inconsistency.

How does it work? Let's see on the example.

Start Fluent Editor 2 Express. Click File menu ribbon, than New and select  African wildlife template.

Scroll to the end of file (in fact it doesn't matter where you put new sentences) and add new sentences for the purpose of this example:

First we'll state explicitly, that no herbivore eats neither animals nor parts of them:
No herbivore eats animal and-or eats thing that has-part animal.

Then we'll describe two pizzas: Tasty-Pizza and Vegan-Pizza (instances of concept pizza):
Tasty-Pizza is pizza and has-part an animal.
Vegan-Pizza is pizza and has-part a plant.

And at the end lets express that Sophie (giraffe from the African wildlife template) eats Tasty-Pizza:
Sophie eats Tasty-Pizza.

 Our sentences should look like below altogether (at the end of African wildlife template content):
No herbivore eats animal and-or eats thing that has-part animal.
Tasty-Pizza is pizza and has-part an animal.
Vegan-Pizza is pizza and has-part a plant.
Sophie eats Tasty-Pizza.

OK. Now let's ask about Sophie. In the Reasoner window (at the bottom of Fluent Editor, if it's hidden press CTRL+R to show it) write the question "Who-Or-What is Sophie?". Don't forget the question mark at the end:

Who-Or-What is Sophie?

Press ENTER to start reasoning. Notice, that you can use hints in this windows just as within the main editing window.

Fluent Editor has embedded reasoner service for Description Logic.
You can ask about instances (e.g. "Who-Or-What is Sophie?"), concepts (e.g. "Who-Or-What is giraffe?") or roles (e.g. "Who-Or-What eats?").

In our example, although it is correct in terms of grammar, it is inconsistent in terms of logic. Thus, when we ask about Sophie Inconsistent Knowledge Base window appear. Click explanations button to show more details:

It will show all logical paths that leads to inconsistency. First of one in this example looks like below:

Sophie is a giraffe.
Every twig is a plant-part.
Every giraffe eats nothing-but things that are leaves and-or are twigs.
Every plant-part is-proper-part-of a plant.
Every leaf is a plant-part.
If X is-proper-part-of Y then X is-part-of Y.
No herbivore eats an animal and-or eats something that has-part an animal.
Something is a herbivore if-and-only-if-it eats nothing-but plants and-or eats nothing-but things that are-part-of plant.
Sophie eats Tasty-Pizza.
Tasty-Pizza is a pizza and has-part an animal.

As you can see, this is very useful tool while editing even complex ontologies. It gives you helpful hints on how to make your ontology consistent.

Video: Inconsistency Explanations with Fluent Editor

*) FluentEditor 2 is a comprehensive tool for editing and manipulating complex ontologies that uses Controlled Natural Language. Fluent editor provides one with a more suitable for human users alternative to XML-based OWL editors. It's main feature is the usage of Controlled English as a knowledge modeling language. Supported via Predictive Editor, it prohibits one from entering any sentence that is grammatically or morphologically incorrect and actively helps the user during sentence writing. The Controlled English is a subset of Standard English with restricted grammar and vocabulary in order to reduce the ambiguity and complexity inherent in full English.

Thursday, 21 March 2013

When the cloud pays off?

Cloud (cloud computing) has recently become a buzz word. At this year's CeBIT in Hannover (the largest IT exhibition in the world), where we showed one of our solutions, many companies presented their services in the cloud, mainly lease infrastructure or applications. But is it just a fashionable term, or is it really a new quality?

When the cloud really pays off? Wherever utilization of computing power varies significantly over time and expanding own data-center does not belong to the core business. Examples?

  • Financial Industry: Generating monthly hundreds of thousands statement documents for the customers, transferring them electronically and archiving these documents for five years. In such a scenario, periodically, once a month, we need high computing power and large, secure data archive. With the cloud you pay only for what you use and we are able to fully scale solution to current needs. 
  • Maintain IT systems: Testing in the cloud. Instead of building up another data center to create a test environment, you can lease the infrastructure and systems necessary to reproduce it for the test and utilize of them only when they are needed. And in such size that reproduce reliably even large production environment. Cloud gives us the opportunity to virtualize the test process itself, so we can continuously monitor the availability of IT systems and study the behavior of systems under heavy load.
  • Market Research and PR: Monitoring and analysis of data from the Internet. With cloud computing, we can obtain large amounts of data from the Internet and effectively process them to get the interesting information (who, when, and how wrote about interesting topic; identifying opinion leaders; comparing the different channels of information; data collection and analysis of e-commerce; comparison activity of PR companies, brands, names, etc.). Azure cloud-based solution also allows for full integration with existing systems in the company (CRM, ERP, security), and all the obtained data remain the property of the company. 

Cognitum cooperates with Microsoft under prestigious Azure Circle program, where technology partners are invited with experience in Windows Azure. It provides IT solutions in the area of Cloud and BigData for customers both in Poland and abroad.