Haven't done AI in a couple months, but here are a couple concerns off the top of my head:

First of all, you're talking tree structure, so now you have a reasonable search space, do you want to prune that search space? Before you start your iterations through the search space for applicable data are there some simple algorithms that will lower the number of calculations that need to take place? Maybe the keyword tree can be pruned after a dozen keywords because that's enough information to find an answer in, say, 95% of the queries. That would stop the algorithm from going off into the deep end with 20+ keywords when it doesn't need to.

This is just an example prune, but it's my general opinion that an AI shouldn't come back and say "well, i looked for stuff relevant to what you're looking for and found half the universe, so if you'd just care to browse through and tell me what was appropriate". That's one of the main problems with search engines sometimes, too much information.

The other major concern is how often it gets updated. You suggested once a day. This is fine if the search AI gets used a lot, because we shouldn't waste time re-analyzing everything while other people are searching, but if it only gets used around 20-50 times a day it would probably be better to re-analyze more often so that a query in the morning won't return the same (possibly irrelevent) information from one in the afternoon, which would generally help everyone get information faster.

The tree structure seems to be the best method off the top of my head, my brain's slightly dead right now from finals or i would actually sit down and try to plan out something else for comparison other than the brute force N-dimensional table approach you already posted. If i get some time later this week i may try, but the tree you suggest seems a good choice for representing the data in manageable means.

Good idea, seems reasonable, the module would probably be interesting to see whether it gets used on perlmonks or not, but that may just be me :-)

HTH,
jynx


In reply to Re: Re: Developing an Expert System/Intelligent Agent for PM? by jynx
in thread Developing an Expert System/Intelligent Agent for PM? by Masem

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.