Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Comment on

( #3333=superdoc: print w/ replies, xml ) Need Help??
I think you will have more success if you aim at clearly defining a limited domain and a single use-case, especially if you stick to text report generation and not go into interactive feedback which requires language parsing. You don't need parsing at all if you just want to be able to express system status in English.

Besides defining nouns for system objects and working out the kinds of messages that can be provided, you also need to work on prioritizing what gets told to the user so they don't end up with ten pages of unimportant information when there are one or two really important things that need to be told (emailed) to them. More difficult heuristics are just that, way more difficult.. but if you can provide even a small very minimal AI engine it would be quite useful to people.

Perhaps AI::Fuzzy would be useful in figuring out the best way to express values which are not clearly defined.

You may know about this from CPAN:
Lingua::Wordnet - Perl extension for accessing and manipulating Wordnet databases.

As far as parsing goes, there are also some projects like these from freshmeat.net:

http://www.coli.uni-sb.de/~adubey/sleepy/
- a natural language parser
http://freshmeat.net/redir/pytalk/14298/url_homepage/
- another parser
http://www.ldc.upenn.edu/AG/
- Linguistic Data Corp has released open source code
(http://sourceforge.net/projects/agtk/)

But maybe what you really need is CLIPS, an expert system used by NASA and other government institutions. You can get the source code.. a Perl front end to this for even a limited problem space would be very cool! (Hint, Hint..)

"CLIPS is a productive development and delivery expert system tool which provides a complete environment for the construction of rule and/or object based expert systems... CLIPS provides a cohesive tool for handling a wide variety of knowledge with support for three different programming paradigms: rule-based, object-oriented and procedural. Rule-based programming allows knowledge to be represented as heuristics, or "rules of thumb," which specify a set of actions to be performed for a given situation. Object-oriented programming allows complex systems to be modeled as modular components (which can be easily reused to model other systems or to create new components). The procedural programming capabilities provided by CLIPS are similar to capabilities found in languages such as C, Pascal, Ada, and LISP."

Edit 2001-06-18 13:08 ar0n Made the links clickable


In reply to Re: natural language sentence construction by mattr
in thread natural language sentence construction by thpfft

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!
  • 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, 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, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • Outside of code tags, you may need to use entities for some characters:
            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.
  • Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others having an uproarious good time at the Monastery: (7)
    As of 2014-11-27 02:11 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      My preferred Perl binaries come from:














      Results (178 votes), past polls