Skip to main content
GameDev.net gamedev.net
🔒 Locked

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

Started by cyro393 Feb 21, 2005 at 8:59 AM 9 replies 2.3k views
Original Post
cyro393
cyro393
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
Extrarius
Extrarius
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
Brandon N
Brandon N
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.
cyro393
cyro393
Thx guys, uh would you guys know where to get a cheap lisp compiler? thnx.

Cyro393
Trap
Trap
"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
Vlion
Vlion
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
Nice Coder
Nice Coder
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.
hplus0603
hplus0603
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 };
qesbit
qesbit
I'd go check into Prolog.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.