|
|
Senior member
Total posts: 974
Joined: Oct 21, 2009
|
.... in my humble opinion is…. IMAGINATION.
It seems to be an essential ‘ingredient’ to A.I. and especially chatbots.
In getting my bot to parse the sentence….
“The train being late, the soldiers missed their boat.”
I have it understand the connection between the to statements. *BUT* I had to basically give it a rule that relates these 2 concepts. I’m sure humans don’t need to be fed these rules that relate the two.
What would the bot need? Well, it would need to consider… It is probably true that the soldiers were going to use that same train to get to the place where the boat was. That is not stated in the sentence…. it seems that the bot will need an imagination, and to theorize, and from that, conclude on its own.
Now, instead of “calculating” these connections of statements with an imagination, what’s really wrong with just giving it a rule that connects these two sentences? I mean if it gets the job done the same way.
I have tested my bot with similar statements .. .
“The cab being late, the boys missed the show”
“My ride being late, I missed the concert”
Yes, it looks at the words in these sentences, and notices the same properties of the words, and the same type of connections.
The ultimate, or “ideal” way to do this of course, is if the bot had an imagination and ran a kind of “simulation” of reality, that I believe we humans have.
However, for a bot that can chat with you, and do useful things, I don’t think it is absolutely a requirement. I don’t know if a bot without an imagination could pass the Turing test though. If the bot had a kind of ‘internal world simulator’ or microcosm of the world, it could form these rules.
Then again, who is to say this rule I created that related those 2 statements in a cause/effect relationship isn’t itself a type of imagination, is there such a thing as ‘static’ and ‘dynamic’ imaginatons?
Thoughts anyone?
|
|
|
|
|
Posted: Aug 8, 2010 |
[ # 1 ]
|
|
Administrator
Total posts: 3111
Joined: Jun 14, 2010
|
The only thoughts I’m having are running along the lines of how far outside of my skillset you two are discussing things. Though it’s providing me with incentive to try expanding my horizons in this direction. Keep it up, you two. This is good stuff!
|
|
|
|
|
Posted: Aug 8, 2010 |
[ # 2 ]
|
|
Senior member
Total posts: 974
Joined: Oct 21, 2009
|
Oh I don’t know about that Dave.. I’ve seen how fast you have put together some top notch code. But I have to agree, we are starting to gain some real talent on this site lately !! This Jan guy with his nueral nets sounds cool, I’m going to try his bot out.. but he has no Unix version :(
|
|
|
|
|
Posted: Aug 8, 2010 |
[ # 3 ]
|
|
Administrator
Total posts: 3111
Joined: Jun 14, 2010
|
No doubt about that, Victor. I’m in awe of many of you.
And thanks for the compliment, but those code snippets were well within my area of expertise, whereas this particular discussion is a bit more esoteric and abstract than I’m accustomed to. Never fear, though. I’m hanging in as best I can, and making progress toward understanding.
|
|
|
|
|
Posted: Aug 8, 2010 |
[ # 4 ]
|
|
Guru
Total posts: 1297
Joined: Nov 3, 2009
|
My initial thoughts are that a with syntax is implied:
[with] “The train being late, the soldiers missed their boat.”
[with] “The cab being late, the boys missed the show”
[with] “My ride being late, I missed the concert”
A with syntax is sort of like an inverted case structure.
My rough, preliminary untested pseudo code just for kicks:
with
late as (
select datetime, passenger
from itinerary
)
select *
from late
where ...
NOTE: This example is just for discussion purposes.
Here are some excellent examples of with-syntax:
http://www.orafaq.com/node/1879
Victor: EXCELLENT topic… Thanks alot!
|
|
|
|
|
Posted: Aug 8, 2010 |
[ # 5 ]
|
|
Senior member
Total posts: 974
Joined: Oct 21, 2009
|
Yes, good observation 8PLA. There is that implication, assumption. So it goes back to my point about the bot having a kind ‘imagination’ ... that is, to imagine that different words are implied. I guess perhaps all it amounts to is, wrapping the whole thing around another level of abstraction, permutation, which “only” costs even more CPU cycles lol
|
|
|
|
|
Posted: Aug 8, 2010 |
[ # 6 ]
|
|
Administrator
Total posts: 3111
Joined: Jun 14, 2010
|
It seems to me that, as there are many different ways to say the same thing (e.g. “since the train was late”, or “because…”, etc. as opposed to “with the train being late”), one would have to derive a way to “score” the phrase, or to recognize that many phrases, though different, have essentially the same meaning. I’m not certain how to go about doing this, but I’m sure it’s possible.
|
|
|
|
|
Posted: Aug 8, 2010 |
[ # 7 ]
|
|
Senior member
Total posts: 974
Joined: Oct 21, 2009
|
Dave - exactly. What I have going write now is the following….
1) user gives input string
2) input string chopped into words
3) grammatical “brain storming” happens, and every single possible grammatical parse tree is generated.. this is “bottom up”
4) then .. . concept determination.. which is “top > down”
during this step, there are many different parse trees or sentence structures that can “boil down” to the same concept.
5) the concept which includes the most number of words from user input (accounts for most of the user’s words), “wins”, and a “reactor” script which deals specifically with that concept, is executed, and output of that goes back to user.
|
|
|
|
|
Posted: Aug 8, 2010 |
[ # 8 ]
|
|
Administrator
Total posts: 3111
Joined: Jun 14, 2010
|
I guess my biggest “confusion”, if one can call it that, is how you determine which part-of-speech is applied to which word in the input. For example, the sentence “I went to the barn”, a simple sentence, and a statement, as well, is broken down into individual words. this part of the process is very basic, so easily understood. Do you, at this point, look into a database, or word table, to see if the word first exists, and if so, assigns a POS value of “noun”, “verb”, “adjective”, etc. to it, and then process accordingly? Or do you have some other means to determine which part-of-speech category the word falls into? And, for that matter, if the word can be either a noun or a verb, how do you determine which category it falls into then? For example, in the sentence “That boy can sure run”, the word run is a verb. But in “Wendy’s nylons have a run”, the word run is a noun.
Of course, I could be completely misunderstanding the process, and am thus spouting gibberish, but…
|
|
|
|
|
Posted: Aug 8, 2010 |
[ # 9 ]
|
|
Guru
Total posts: 1297
Joined: Nov 3, 2009
|
I was still editing when you guys replied.
This reminds me of how cool it would be
to custom program my GPS in my car.
“In .2 miles make a right, then step on it or you are going to be late!”
|
|
|
|
|
Posted: Aug 8, 2010 |
[ # 10 ]
|
|
Administrator
Total posts: 3111
Joined: Jun 14, 2010
|
8PLA • NET - Aug 8, 2010: I was still editing when you guys replied.
This reminds me of how cool it would be
to custom program my GPS in my car.
Um… Ok?
In what way does this remind you of how cool it would be
to custom program your GPS in your car?
Just curious, is all.
|
|
|
|
|
Posted: Aug 8, 2010 |
[ # 11 ]
|
|
Senior member
Total posts: 974
Joined: Oct 21, 2009
|
No .. you have it pretty much bang on Dave!
What CLUES does is, for a word like “run” , if the word *could* be more than one part of speech, it has ALL those parts of speech at the same time.
So yes, the program looks up in a text file, and gets a list of part of speech values that it could have. Many many words actually have noun and verb as their part of speech.
So, then, depending on the context (ie the role it plays in a given parse tree), determines how it evaluates it.
So, if a word can be 2 parts of speech, then more than one tree is generated, one for each part of speech, or role it can possiblity play. That is what i refer to as stage 2 “grammar brain storming”
|
|
|
|
|
Posted: Aug 8, 2010 |
[ # 12 ]
|
|
Guru
Total posts: 1297
Joined: Nov 3, 2009
|
Well Dave, the GPS runs on Windows CE and I think it would be cool to hookup a Linux laptop to it. And of course integrate the GPS into a chatbot. In short, a smart, talking car connected to an orbiting satelite.
|
|
|
|
|
Posted: Aug 8, 2010 |
[ # 13 ]
|
|
Administrator
Total posts: 3111
Joined: Jun 14, 2010
|
@Victor:
I see. That clarifies things a bit. I’ll get into the virtues of text files over local database access later, as I think that there may be a performance advantage that you may be overlooking. But again, later.
@8pla:
That’s an interesting idea, and one I’m now considering for another project that I intend to start in the future. Once I start it, I’ll outline it here, as it will be another “incarnation” of Morti.
And @Victor again. I’m sure that at some point, tense is evaluated, as well. The word read, for example, can have both present and past tense, both relating to the same thing in different time frames. I expect that this is also an interesting challenge.
|
|
|
|
|
Posted: Aug 8, 2010 |
[ # 14 ]
|
|
Senior member
Total posts: 257
Joined: Jan 2, 2010
|
Hi, “The train being late, the soldiers missed their boat.”
I’m not sure about the imagination piece. Assuming ‘missed’ is interpreted as a scheduling problem and not sadness felt by the soldiers because they miss their boat… =)
Conceptually…
A train and boat - transport people and things from point A to point B
A train and boat - have a schedule
A schedule is a ‘time’ attribute.
This information, I think, needs to be stored in the knowledge base.
“being late” and “missed their” may be classified as ‘time’ based expressions…or specifically “deviation from a schedule”. This meaning may be associated with some standard responses. “Why was/were the [object(s)] late?” Or Why was the train late? Why were the soldiers late?
Can you elaborate on this concept of ‘imagination’?
Regards,
Chuck
|
|
|
|
|
Posted: Aug 8, 2010 |
[ # 15 ]
|
|
Senior member
Total posts: 971
Joined: Aug 14, 2006
|
A train and a boat are transporting people and things from A to B, agreed
But a train and a boat have a schedule in the current world.
In the world beyond, all plans of individuals are optimzed and based on criteria people are transported. No schedule at all. In the future, you don’t have to think about schedules.
Interesting btw to notice that algoritms to organise data packets in digital networks have a lot of similarity with algoritms in organizing physical traffic.
|
|
|
|