🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Natural Language AI Abstraction

Started by
6 comments, last by Ketchaval 22 years, 8 months ago
Having just had a lecture on stylistic analysis of the (French) language, an interesting idea came to me. What do people think of the idea? Would it be useful? What if games were programmed to be able to =understand= events and relationships between events and actions, and were able to express (and understand) these events in terms of semi~natural language. This ability to comprehend events in a more abstract way could be an interesting ability (useful?). For example, to fully understand the abstract phrase Tomorrow, I will close the door. Requires knowledge of the present situation... ie. what day it is at the time that the phrase is uttered, and which specific door it is that will be closed. Thus the ability to ''plan'' in a more general way might be acquired from the ability to use language. As well as the ability to understand events in relation to the present (ie. those that happened in the past, may/will occur in the future). Guards could be programmed to report that "there was an break~in in Sector 3". Thus the receiver of this report would know that there had been an intruder in sector three (because the was shows that the event happened at a point in the past, in relation to the present time).
Advertisement
quote: Original post by Ketchaval

What if games were programmed to be able to =understand= events and relationships between events and actions, and were able to express (and understand) these events in terms of semi~natural language.

This ability to comprehend events in a more abstract way could be an interesting ability (useful?).



You may find reading the work of Marvin Minsky to be interesting. He is an extremely well-known
AI researcher, who presented a talk about the need for AI programmers to add "common sense"
knowledge to their applications, at GDC 2001 (you can get the streaming video of the talk
at gamasutra). He is getting on in years, but read his work (lots on his web page). He''s good.

Eric
Mmm, if Marvin Minsky is only ''good'', then we are all nothing but puddle sludge! (No offense Eric ) Minsky is considered one of the greatest minds in cognitive philosophy, artificial intelligence and linguistics and has made significant contributions to other fields.

As for Ketchaval''s thoughts relating to planning through natural language discourse, this is already an active area of research in the AI community. I suggest you do a google search and check out some of the online publications.

Cheers,

Timkin
quote: Original post by Timkin
Mmm, if Marvin Minsky is only 'good', then we are all nothing but puddle sludge! (No offense Eric ) Minsky is considered one of the greatest minds in cognitive philosophy, artificial intelligence and linguistics and has made significant contributions to other fields.



You miss-quoted my puddle sludging. "He's good" is an old-fashioned American expression that
awards high praise indeed. It is spoken slowly, with emphasis on the word "good". It is like
saying "Wow man" when someone does something spectacular. Not to mention, I did refer to
Minsky as "extremely well known" too.

Anyway, can we not nit-pick?

Thanks,

Eric


Edited by - Geta on October 14, 2001 10:40:43 AM
Ketchaval, you have just captured the spirit of knowledge representation and it's importance to AI. That is a huge focus in the AI community. Whole journals and symposiums revolve around that concept. Some key concepts used to implement such techniques include:

Frame based systems
Productions systems
Semantic nets
Predicate calculus representing axioms about common sense

Soar is a production system based on a semantic net. Cyc was originally a frame based system which has evolved into a predicate calculus system.

Here is an example of the power of such a system: Bill tells Joe that the gun is in John's desk. Joe knows John's desk is a container capable of holding a gun sized object so doesn't immediately refute what Bill has told him. Joe knows John's desk is in John's office. Joe knows John's office is in section 5 of the power plant. Joe is in section 4 of the power plant. Now Joe can build a plan to retrieve the gun.

Let's look at it in more precise terms:

inside(gun, JohnsDesk)
is(container, JohnsDesk)
inside(JohnsDesk, JohnsOffice)
inside(JohnsOffice, Section5)
inside(Section5, PowerPlant)
inside(Joe, Section4)
inside(Section4, PowerPlant)
adjacentTo(Section4, Section5)

// the next statement says that if x is inside y
// and y is inside z, then x is inside z
inside(x, y) & inside(y, z) -> inside (x, z)

// the next statement says that if x is adjacent to y
// then y is adjacent to x
adjacentTo(x, y) -> adjacentTo(y, x)

// the next statement says that if x is adjacent to y
// then y is not inside x and x is not inside y
adjacentTo(x, y) -> ~inside (x, y) & ~inside(y, x)

Now, let's do some queries.

inside(gun, Section5)?
YES

inside(gun, Section4)?
NO

adjacentTo(Section5, Section4)?
YES

inside(gun, PowerPlant)?
YES

inside(JohnsOffice, PowerPlant)?
YES

inside(Joe, PowerPlant)?
YES

Huge amounts of research have been done to find efficent ways to reason about all of the deriveable knowledge from axioms such as the above. Some promising lines seemed to be based on applying a min cut vertex separator to the graph representing that type of knowledge, and then constraining the search within the the immediately relevant subgraph to determine if it is not necessary to proceed to the neighboring subgraphs. But I am probably getting ahead of you and myself, so I will end it right here.

Edited by - bishop_pass on October 15, 2001 1:59:06 AM
_______________________________
"To understand the horse you'll find that you're going to be working on yourself. The horse will give you the answers and he will question you to see if you are sure or not."
- Ray Hunt, in Think Harmony With Horses
ALU - SHRDLU - WORDNET - CYC - SWALE - AM - CD - J.M. - K.S. | CAA - BCHA - AQHA - APHA - R.H. - T.D. | 395 - SPS - GORDIE - SCMA - R.M. - G.R. - V.C. - C.F.
quote: Original post by Geta
Anyway, can we not nit-pick?


My apologies Eric... I meant the jibe in a very light hearted and humorous manner. I understood exactly what you were saying by "He''s good". I''ll refrain from such poor attempts at humour in the future.

Cheers,

Timkin
Oh, whatever happened to the good ole'' days when people would be pulling on the ole'' asbestos suits and flaming each other to obscurity?

Lol...

GROUP HUG!!!!

-Tok
"Everything that deceives may be said to enchant"
-Plato
--------------------------~The Feature Creep of the Family~
quote: Original post by bishop_pass

Soar is a production system based on a semantic net. Cyc was originally a frame based system which has evolved into a predicate calculus system.



Now, I would have said (based on Laird''s presentations at the GDC) that SOAR wasn''t a production system or semantics based, but was instead a rules-based system focused more on combat and evaluation.

Are we talking about the same SOAR? I mean the one here....




Ferretman

ferretman@gameai.com
www.gameai.com

From the High Mountains of Colorado

Ferretman
ferretman@gameai.com
From the High Mountains of Colorado
GameAI.Com

This topic is closed to new replies.

Advertisement