Advertisement

What languages can you use to make a natural language proccesing AI?

Started by February 21, 2005 08:59 AM
9 comments, last by qesbit 20 years ago
Hello, I'm cyro393 and I have started a project in which I will have to create a "natural language proccesing AI." If anyone can help me answer the following questions It would be very helpful. >What (main) languages are normally used to create a "nlp_AI"? >Is there any good books, website, ect... on the actual programming of it? >Where to find a good compiler to generate this program. Thank you for your time and if you answer, your answer and help to move along "PROJECT_BLEND". Thank you all very much Cyro393
Any language would do, but in all the serious implementations I've heard about, some variant of Lisp was used. Thus, I would suggest using Common Lisp.
However, more popular languages such as C and C++ have been used to decent effect in many game implementations of NLP, such as the kind used in MUDs.

The language choice is really up to you.

Sorry, but I don't know of any resources covering the topic.
"Walk not the trodden path, for it has borne it's burden." -John, Flying Monk
Advertisement
Look into Roger Schank for that and related fields. There are many approaches to the topic, and I've found his the most interesting.

I was involved in such a project a year or so ago in college for which we used Common Lisp. People can rant and rave about how you will or won't need some particular language, but we found Common Lisp to be good for getting things up and running swiftly. In a field where you have some theories and not too great an idea as to how you're going to implement them, it's a good friend.
Thx guys, uh would you guys know where to get a cheap lisp compiler? thnx.

Cyro393
"lisp compiler" isn't the right word. Usually it is called "lisp implementation" or "lisp environment"

For Common Lisp:
clisp is gpl. Which is quite bad as it makes programs that use the c-calling interface "derived work".
Other than that there are no free implementations of common lisp for windows that i know of. Many others are freely usable but without "create standalone application" feature.

For Scheme:
Most Scheme implementations are free. Scheme is a lisp too, but with almost no standard library stuff and some other minor differences.

a list of lisp implementations
I use Corman Lisp. It says you can only use it for 30 days, but I used it for a year.
Advertisement
Depends on where you want to go.
For straight-up syntax parsing, Prolog is a good way for a fast attack.
For more complex parsing, the lex/yacc pair is a good one.
Since eventually you will hit the CFG limit with those, you will need to have some way to parse CSGs; and that means you probably will have to write your own. Here Lisp or C++ would work well.

Some people use Perl for their NLP work.

My point is your original question isn't that good. You can use most any modern programming language for most anything.

What are you going to do? Now select the language that gives the easiest path through that problem for you.
~V'lionBugle4d
Lsip, but i usually use vb6. It has good string handling abilities, and it is a rad language.

But then again, lisp is free, and you can find interpriters (maybe even ocmpilers) and tutorials free on the net. Vb6 isn't, so you may have to pay for it.
From,
Nice coder
Click here to patch the mozilla IDN exploit, or click Here then type in Network.enableidn and set its value to false. Restart the browser for the patches to work.
What you want to do is to build an environment in which you can easily express the lexical, semantic and ontological rules of your processing algorithm(s). LISP might, at times, be somewhat closer to such an environment, or at least it's very flexible and easy to prototype in, so it's sometimes the shortest path to get there.

However, you can build this environment in any language you choose, with more or less pain, and more or less performance. Once there, you can start actually developing the interesting part...
enum Bool { True, False, FileNotFound };
I'd go check into Prolog.

This topic is closed to new replies.

Advertisement