Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: natural language sentence construction

by mattr (Curate)
on Jun 18, 2001 at 12:35 UTC ( [id://89245]=note: print w/replies, xml ) Need Help??


in reply to natural language sentence construction

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

  • Comment on Re: natural language sentence construction

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://89245]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others surveying the Monastery: (1)
As of 2024-04-25 19:43 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found