Advertisement

Parser theory

Started by March 29, 2001 09:13 AM
4 comments, last by NewDeal 23 years, 10 months ago
Hi guys. I was wondering if any of you know where i can find some material on how to make a text parser capable of parsing (nearly) everyday language on a limited subject. What im looking for is not so much the programming part of it, but more the theory which lies behind. Id prefer not to spend too much money on this(no books ), since its for a school project and nothing i plan to go further with. Thanks for your help
This is hardly an easy subject. I would have a look at ELIZA for at least a resonable start. Keyword parsers are interesting and usually impressive.

Advertisement
I know its a tough subject.

To elaborate a bit: The Program im going to make should be able to handle reservations of different resources. The tricky part is that the reservations will be a sentence typed in by the user of the system. This should then be translated into a series of commands on a database.

ex: Reserve room 122 every sunday in march from 10 to 12pm for the rest of this year.

Ive made a parser earlier capable of understanding mathematical expressions and performing different operations on them (like integrals, calculations etc). I suppose i could use the same methods for a natural language even though the syntax is a bit more loose.

Anyways, any suggestions or info is very welcome.

BTW using Bison-like libraries is not an option
The normal way these things work (other than not very well, go ask jeves) is
1. run through sentance looking for actions.
2. look for object that might be apropreate for that action.
3. look for qualifiers apropreate for the objects
4. form several guesses and ask the user to pick the correct one

The main problem with all these sorts of systems is that with a
little effort you can get what was your equation parser to parse what you write fairly easily. Soon you are typing queries as easily as you talk to someone else. Then someone else uses your system and little changes in the way they talk totally confuses
everything.

I want room 122 for the month of march from 10 until 12
=> march 10,11,12 all day
Reserve a parking place near room 112 for april
=> Reserves parking place 112 for April Smathers

http://citeseer.nj.nec.com/cs might be apropreate here
Maybe you should try Prolog. Its a small little language desinged for natural language processing.
Thanks for the link Grib. Looks like there might be some stuff i can use .

Since this should end up with a COM object i dont think Prolog is an option. Ill take a look at it anyways though.

Appreciate your help

This topic is closed to new replies.

Advertisement