Jump to content
  • Advertisement
Sign in to follow this  
Nice Coder

Computers and people

This topic is 4836 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Why do people expect computers to be 'smart'? Do you expect your dog to be 'smart'? To understand more then a few words you speak at it? No? Then why do you ask your computer to do the same?
What was the point of all these retorical questions? i'm trying to design a simpler version of english, that is easily parsable so that computers can use it, yet is easy to learn. ie. "Computer, what is the time?" The problem is how to do it.... Any ideas? From, Nice coder

Share this post


Link to post
Share on other sites
Advertisement
I don't agree with your analogy really... computers work in quite different ways to dogs so expectations are different. And being able to parse the language is not the same as understanding it, which in turn is not the same as being able to act upon understanding it.

It's quite easy to get a computer to parse natural language if you remove the special cases. X-bar theory is one approach. Even less generally, a simple handling of noun, verb, and prepositional phrases is pretty trivial. The hard part is in assigning semantics to the vocabulary.

Share this post


Link to post
Share on other sites
Does anybody know of any good examples of a computer understanding english as an interface solution?
(sorry for the stupid sentence:D)

Share this post


Link to post
Share on other sites
Quote:
Original post by Kylotan
I don't agree with your analogy really... computers work in quite different ways to dogs so expectations are different. And being able to parse the language is not the same as understanding it, which in turn is not the same as being able to act upon understanding it.

It's quite easy to get a computer to parse natural language if you remove the special cases. X-bar theory is one approach. Even less generally, a simple handling of noun, verb, and prepositional phrases is pretty trivial. The hard part is in assigning semantics to the vocabulary.


Hmmm. I'm not sure if i made my point clear.

People expect computers just to be 'smart' and that its 'easy' to do that.

What i was thinking, was to build a small set of words, and using a simple grammer model, allows us to interface with our computers using only a subset of english.

For eg.

Computer, Turn off the lights.

[Computer,] <- Subject
, Second clause.
[Turn off] <- Command
[The lights] <- Object. (turn that into just a pointer to the object 'lights', or it could ask for a specific light).

I was wondering if anybody had any ideas on that?

From,
Nice coder

Share this post


Link to post
Share on other sites
* The cl assical approach is a layered approach :
letters -> word (with the stuffs like do/does/did taken in accout). It's the lexical layer. Performed by a huge state machine (transducer).
word -> sentence. It's the grammatical layer. Performed by some flavours of Hidden Markov Models (aka HMM).
sentence -> meaning. Well... A good research subject ;)
For all this, there some software package, but never free. Sad...

* You can work with sentences with some fixed grammatical structure, a "Tarzan-like speaking". The grammatical layer could be much easier this way, a simple HMMM could perform this. The lexical layer could be also simplified, with only one word for each lexical entry.
A simplified grammar for a RPG game :
1) SENTENCE -> ACTION [and] SENTENCE
2) SENTENCE -> ACTION
3) ACTION -> ACTION_TYPE ACTION_PARAMETER_LIST
4) ACTION_PARAMETER_LIST -> ACTION_PARAMETER ACTION_PARAMETER_LIST
5) ACTION_PARAMETER_LIST -> ACTION_PARAMETER
6) ACTION_PARAMETER -> ITEM
7) ACTION_PARAMETER -> BUDDY
8) ACTION_PARAMETER -> LOCATION_DEF
9) ITEM -> [sword], [crystal ball], ...
... and so on
A LL(1) grammar is really easy to parse.
By following the derivation of a grammar to build a given sentence, you can deduce the meaning of the sentence.

* Some examples of simplified English :
Letters -> Take sword and attack monster in-front-of me.
Lexical -> [Take][sword][and][attack][monster][in-front-of][me].
Grammatical -> ACTION_TYPE ITEM ACTION_TYPE BUDDY LOCATION LOCATION_PARAMETER

Share this post


Link to post
Share on other sites
I don't really get it. Isn't your idea really just the premise of every single text based game only used in a different application?

Share this post


Link to post
Share on other sites
Quote:
Original post by SirSmokey
I don't really get it. Isn't your idea really just the premise of every single text based game only used in a different application?


Actually, i was thinking of making a replica of the star-trek computer. (and marketing it, since everybody would want one).

Quote:
Original post by Marmakoide


Hmmm. Interesting.

Can you give a worked example please?

From,
Nice coder

Share this post


Link to post
Share on other sites
The last 3 lines of his post are a worked example.

Getting a computer to understand a subset of grammar with a subset of vocabulary is a solved problem, as of decades ago, so I'm not really sure what you're asking. Simply develop a grammar (grammar types are well-defined - look up the Chomsky hierarchy for examples, or just come up with a Backus-Naur definition), populate it with your required verbs, nouns, and modifying terms, then attach those verbs and nouns to actions and targets. Understanding that language is then just a case of parsing it (eg. chart parser, recursive descent parser, etc) and executing the appropriate function (based on the verb) with the right parameters (based on the noun and adverb).

Language processing only becomes difficult when you don't have control over the grammar or vocabulary. You said you have control over the language, so the problem is as trivial as you want it to be.

Share this post


Link to post
Share on other sites
Hmmm.

I was thinking of a more deatailed thing, but meh. :-) (like an example sentence, for parsing)

What i was thinking of making is a 'compubuddy'.

Ie. You tell your computer what to do.
It does what its told.

Ie. "Find file ****"
Or "Play music"

Ect.

Pretty much an Nlp command prompt (similar to the computer in star trek)

For example.

You go [f12]Open command prompt[f12] and it goes and opens the command prompt.

You press f12 to open a window, which is sortov like a shell window.]
You then press f12 to get rid of it when you don't want it.
You just press the key, type your commands, then key it again and its gone!

From,
Nice coder

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!