Re: Various questions regarding PowerLoom

Hans Chalupsky <[email protected]> Mon, 25 Feb 2013 12:59:44 -0800
Newsgroups gmane.comp.ai.powerloom
Message-ID <[email protected]>
Hi Philippe,

the answer to this question is "it depends".  Expert system languages 
such as CLIPS or JESS (I haven't really worked with SOAR or ACT-R, but 
the basic concepts are similar) use condition-action rules as their 
basic modeling construct.  This means the IF-part of such a rule 
specifies some complex condition in the current working memory, and the 
THEN part specifies an action that should be carried out if that 
condition is true (e.g., add or retract something from the working 
memory).  This means that the resulting systems very much become 
programs that change from one complex state to another controlled by the 
various condition-action rules.  That paradigm gives you a very high 
degree of freedom of how to formulate your model (you can program pretty 
much anything you can do in a regular programming language), it makes it 
easier for novices to build such systems, but it also makes it easy to 
build systems that become unwieldy and difficult to maintain once these 
rules start to interact in unexpected ways.

A logic-based KR system such as PowerLoom allows you to formulate 
generic rules about your domain and then have the system's inference 
engine figure out automatically how they chain and interact and apply to 
individual instances.  You also have a query language and interface that 
allows you to query for instances that satisfy complex descriptions and 
the background knowledge you put into the system.  This will generally 
allow you to build large knowledge bases and ontologies that are well 
modularized, consistent and extensible.  However, it is often difficult 
for novices to build such knowledge bases, and it is difficult to 
impossible to do certain things in logic that are easy to do in a 
programming language (such as updating state or preferring one rule over 
another).

So, there is no easy clear-cut answer, and the issue is not unlike 
deciding whether you should use Lisp or Java to write your program.  The 
example you sketched out could be easily handled in PowerLoom, but there 
might be aspects of that expert knowledge base that could be difficult 
to formulate, I don't know.  I often build systems that use PowerLoom to 
represent data and background knowledge, but that handle non-logical 
aspects programmatically. It might matter how the resulting system can 
interact with other software you build around it, or what type of people 
are expected to build and maintain the system, or whether you need 
commercial support from the tool vendor, etc.  If you are really serious 
about this, the best strategy is to build a small prototype system using 
some of the different tool kits you are considering and see what works 
well (for you) and what doesn't.

Hans

On 02/24/2013 03:00 AM, [email protected] wrote:
>
> Hello,
>
> is PowerLoom the appropriate language to program question-answer expert systems?
>
>
> For instance,
>
> "Please input the client's honorific"
>
> Mr
> Mrs
> Ms
>
>> Mr
> "Please input the client's name"
>
> Paul Johnson
>
> "Please input the client's age"
>
>> 45
> "Please enter the client's occupational status"
>
> unemployed
> student
> employee
> manager
>
>> employee
> "Please input his country"
>
>> GB
> "Please select the client's subscription period"
>
> 6-month
> 12-month
> 24-month
>
>> 12-month
> [Searching the best deal for Mr. Paul Johnson and for the newspaper]
>
> "You should offer Mr. Paul Johnson who's 45, is an employee, and lives in GB, a 12-month subscription at EUR 400".
>
>
>
> How does it compare with other expert-system languages such as SOAR, ACT-R and Drools, for such purposes?
>
> Many thanks.
>
> Philippe
>
>
>
> _______________________________________________
> powerloom-forum mailing list
> [email protected]
> http://mailman.isi.edu/mailman/listinfo/powerloom-forum