parsing english

Fd80f81596aa1cf809ceb1c2077e190b
0
rouncer 104 Mar 02, 2010 at 17:07

I was talking to Milhail, and he said that a computer couldnt understand english, but i beg to differ.

I think I could parse english and even get the computer to understand it, this has got to be done before and if it hasnt I think the world is behind schedule.

“I love you”

this is an easy example, the computer reads “you” and knows you mean it, and it reads “i” and understands its coming from the person writing the text.

Love is something a computer would have a hard time dealing with, but you could just call it “positive” so the computer reads “positive to me from you” and the computer can understand “I love you”

I know thats a really easy example, and it could get a little more complex than that once the sentence becomes more complex, but im pretty sure i could get it to work, so maybe itll be a pet project of mine for the future, since everyone is so dumb they cant even think its possible.

P.S. love belongs to I, in that sentence, if it was “you love I” it would be different. So youd have to parse it especially in that way.

33 Replies

Please log in or register to post a reply.

A77e71b962cd6c7c3b885f0488452f1f
0
tobeythorn 101 Mar 02, 2010 at 17:49

I’m currently reading Noam Chomsky’s “Language and Mind”. In the first part, he makes some really strong arguments about the complexity of interpreting “surface structure” (ie, strings of words), into deep structure (ie, actually meaning). Chomsky also makes the point that language is inherently creative, which is something software has not been so good at. If people do figure out how to make computers really understand language, you can be sure that it will be a big deal.

It really isn’t fair to say that people are dumb. It may be possible, but its going to require some radically new ideas.

17ba6d8b7ba3b6d82970a7bbba71a6de
0
vrnunes 102 Mar 02, 2010 at 17:55

Parse is simple, understand is not. Rouncer, you are underestimating the complexity…

This is a field where computers are in the stone age yet… as is AI in general.

Do not underestimate this area, you’re not considering many implicit details of AI. =)

I guess there is more space left in AI for revolutions from individuals than there is in CG (realtime or not).

Fd80f81596aa1cf809ceb1c2077e190b
0
rouncer 104 Mar 02, 2010 at 20:05

Tobey, I say people are dumb if they dont even want to try…
I say anyone who tries will come up with something for sure, bring on the brain demos! :)

I could give you a few more ideas, dont think this is a dead wall area of thought you really can come up with stuff.

Possible ways to make a computer “understand” (understand as in the simplest possible way) could be meaning “categories” in a table like system or even imagine a script for each verb! Just think about it.

As I see it, the computer only has to understand enough for a possible logical reaction, what it says back.

If noone else does it, its gonna be me for sure, thats all I know.

Anyway, ill be back here with an implementation, however simplistic and dumb it is.

Any creativity it has is simple reaction programs, theres nothing that learns or is creative at all, its gonna be take in and spit out as I see it… making it learn is something else.

36b416ed76cbaff49c8f6b7511458883
0
poita 101 Mar 02, 2010 at 20:51

rouncer, seriously, kudos on you for begin so optimistic about this, but I don’t think you really appreciate the complexity of the subject, and the amount of effort that has been put in by some very, very clever people. Understanding English is very difficult.

In order to understand English, you need your AI to have knowledge of culture. For example, if I said that “The Simpsons has jumped the shark” what would an AI make of that? Would it understand the reference to Happy Days, or would it think that an actual shark was involved?

That’s just a simple example, there’s much more to it than that, and much more subtle things as well.

Fe8a5d0ee91f9db7f5b82b8fd4a4e1e6
0
JarkkoL 102 Mar 02, 2010 at 20:53

How would you measure that computer understands what you are typing? Is there some animated face showing emotions based on the interpretation? Or would the program answer something back? I think the complexity of the interaction has a lot to do with how complex the algorithm for understanding sentences would have to be. Btw, underestimating the complexity of the task is great way to get started on working on something instead of getting overhelmed by the complexity of the task ;)

Fd80f81596aa1cf809ceb1c2077e190b
0
rouncer 104 Mar 02, 2010 at 22:36

Heres my idea->

so you write the english
it converts it to its meaning language.

it finds (hopefully heirarchically optimized) the command for the meaning from a giant list each single sentence meaning is a separate object string.

it carries out the command.

you can explicitly tell it new things.
and you can tell it to draw simple conclusions.

its not intelligent in any way… but it does “understand” in a loose way by having a reaction to every meaning explicitly… ive got an idea that i can fill out a lot of the missing permutations of logic by running a “concluder algorythm”
like ->

it knows->
“an apple is green”
“green things fit in green spheres”

then it concludes “an apple fits in a green sphere” - even if you didnt tell it. and that just fills in the multitude of gaps youll leave out when your programming it explicitly.

so its nothing special, it might as well be the little program that reads your writing in liesure suit larry… it “understands” english. :)

A8433b04cb41dd57113740b779f61acb
0
Reedbeta 167 Mar 02, 2010 at 22:44

rouncer, what you’re describing sounds a lot like a program called SHRDLU built in the late 60s. ;)

17ba6d8b7ba3b6d82970a7bbba71a6de
0
vrnunes 102 Mar 02, 2010 at 22:53

Oh yes, if you limit the system to a specific domain, it starts to become manageable.

The way I initially understood, I thought you were talking about understanding “open language”, which sounds to me in the same way that when somebody talks about the next homebrew WOW, or a Solar System renderer with all details from atoms to asteroids.

I must agree that underestimating may be good to start without fear, though. =)

Just go ahead, I’m one that will be looking forward for any progress you make, please tell us about this project!

Fd80f81596aa1cf809ceb1c2077e190b
0
rouncer 104 Mar 02, 2010 at 23:29

Yeh SHRDLU is what i mean… its totally cool. :)
so its been done before, thought so.
thanks for showing me.
SHRDLU in a game would be cool for npcs, dont you think.

A77e71b962cd6c7c3b885f0488452f1f
0
tobeythorn 101 Mar 03, 2010 at 00:22

rouncer,
Another thing comes to mind that might interest you are chat-bots. There have been chat-bot competitions for years. My understanding is that a wide range of strategies exist.

Lastly, I don’t know much about the programming language prolog, but my understanding is that you could tell it that an apple is green, and then that green things fit in spheres, and if you ask if an apple goes in a sphere, it will conclude that it does.

A8433b04cb41dd57113740b779f61acb
0
Reedbeta 167 Mar 03, 2010 at 00:32

Yeah, Prolog is built for syllogistic reasoning like that, so it might be a good choice for the back-end logic engine.

A638aa42130293f319eda7fa4ba121f4
0
fireside 141 Mar 03, 2010 at 01:27

Interesting topic. I didn’t know that about prolog.

6837d514b487de395be51432d9cdd078
0
TheNut 179 Mar 03, 2010 at 02:49

You probably should read up on discrete mathematics since it deals with logic and reasoning. My professor was obsessed with Prolog, but we never had the chance to use it in our curriculum. A pity since I hear nothing but good things about it in the field of AI. Although I wouldn’t use it to build games. I would much rather see chat bots evolved to actually performing tasks. Start getting computers to interact with people. They don’t have to understand (just like a chat bot doesn’t really “understand”), but start making a push for a general agent on a PC that works with you.

B2d356f97a3d0dec8ae2d8c1e1fa1c2d
0
Nerd_Skywalker 101 Mar 03, 2010 at 03:07

I was messing around with this recently, it gets very frustrating very quickly though (But maybe that’s because I was trying to argue with it :))

A77e71b962cd6c7c3b885f0488452f1f
0
tobeythorn 101 Mar 03, 2010 at 03:48

i just tried the chat-bot nerd_skywalker linked to, and got in an argument with it. quite impressive, because most chat-bots totally fail to be even remotely engaging or coherent.

6837d514b487de395be51432d9cdd078
0
TheNut 179 Mar 03, 2010 at 19:47

I dunno about that. I just broke the bot in under 5 sentences. Not much of a conversationalist.

A77e71b962cd6c7c3b885f0488452f1f
0
tobeythorn 101 Mar 04, 2010 at 02:09

well the first thing it said was nonesense, and then i pointed that out, and then it argued with me over that point

A638aa42130293f319eda7fa4ba121f4
0
fireside 141 Mar 04, 2010 at 03:06

It was all nonsense for me.
I think with AI you have to have a smaller topic area or rule set to not go into stupid land. I took a brief look at prolog and found it somewhat interesting. There is also a p# which is prolog for the .net platform.

Fd80f81596aa1cf809ceb1c2077e190b
0
rouncer 104 Mar 04, 2010 at 09:07

me-> hello
bot->Hello.
me-> do you feel ok?
bot->Sometimes.
mw-> when do you hate things?
bot->When I let myself.

that was the conversation i had with “clever bot” it worked up until then!

This is about all the level of interaction I was talking about, it does “understand” for what I was talking about, but a real thinking intelligence I realize that this is pretty much science fiction.

So it has been done heaps before… I should have realized. Its pretty cool actually.

Fe8a5d0ee91f9db7f5b82b8fd4a4e1e6
0
JarkkoL 102 Mar 04, 2010 at 09:59

It seems I was able to convince the bot that the world is flat ;)

Did you know that Earth is really flat?
> Did you know that it’s not true.
Of course it’s true. If it was round like people are claiming then people on the other side would fall into the space!
> What is your point?
My point is that all this talk about earth being round is just a big conspiracy not to look for the edge!
> How did you know that I don’t like eminem?
Are you trying to chance the topic?
> I know the answer but you are changing the topic every second sentence.
The answer to what? Do you mean you agree that the world is flat?
> Yes, indeed.

2b97deded6213469bcd87b65cce5d014
0
Mihail121 102 Mar 04, 2010 at 10:19

OK, too much posts on a weird topic, natural language processing is different than natural language understanding, but still the question of machines doing Turing tests in a decent fashion will remain unsolved in my eyes for the following reasons.

Language is just an interface, abstracting the structures of our mind and its current state, which are still complete mysteries. Why would you expect a computer to respond in a human way, when it does not hold a mind? Its structure is nowhere near as complex as that of the mind. Indeed, a machine could check all the pieces it needs like wether information, age of somebody and what not, it could have sensors for other feedback, but how would it solve the puzzle together that a simple question like ‘Did you know the world is flat?’ is posing and give a proper answer that not only gives a (language-) correct answer, but also reflects thought? Exactly! What if there’s soul? What if there’s destiny? Are humans themselves machines? Exactly! You simply cannot make a machine think, for you have no idea how to do it.

Besides, even if you can answer all these questions AND formulate a formal problem – you then have to prove it’s actually COMPUTABLE with a machine (giving Turing machine as a reference model), for as we know, some very simple problems are actually not computable…

Rouncer, you could of course make your parser respond to some queries by giving it knowledge of some very specific and small domain. That’s not a problem: “give me three vertices and position them at random, connecting them with random edges, forming random triangles” will be ok, but even this will cost you a great deal of thinking plus coding and it might take years. Go ask a computational linguist about all the fields involved.

Prolog being used for AI? I don’t think so. Prolog is just a nice way of deriving knowledge (according to certain logic) from a known set of axioms (facts). Everyone could code Prolog in a matter of hours and I, having used it in the last years, fail to see, how this GREAT NEW concept takes AI a step forward. All you need is a computable logic and a derivation rule for that logic.

In short: rouncer, you CAN have a bot in your program specific to a very small domain, its only a lot of work, but there are enough tools already for matching language to structures.

B7109317066ddd5327cb0674388c4974
0
Luz_Reyes 101 Dec 02, 2010 at 22:39

I know it’s an old post - but does anyone know, what is that contest/standing order that anyone who can make a machine that speaks indistinguishably from a human gets a large sum of money??

A77e71b962cd6c7c3b885f0488452f1f
0
tobeythorn 101 Dec 02, 2010 at 23:21

Maybe The Loebner Prize or The Chatterbox Challenge?

8676d29610e6c98d6dd2d9c38528cd9c
0
alphadog 101 Dec 03, 2010 at 14:53

@Luz Reyes

make a machine that speaks indistinguishably from a human

What kind of human? Are we talking Marilyn Vos Savant or Paris Hilton kind of human?

Admittedly, getting a computer to spew the nonsense Hilton does versus the logical and factual thinking a smart person can may ironically actually be harder to achieve…

:sneaky:

Ceee4d1295c32a0c1c08a9eae8c9459d
0
v71 105 Dec 03, 2010 at 16:33

Wehn i was writing code for my phd theses i had a sudden urge to write a kind of human language parser, since my work was about an intelligent internet browser capable of “understand” the contect of the web page and in a second moment search trhough the net for similar web sites.
I started observing that my work was a subset of a much larger category going into natural language parsing.
My idea at that time was to break up a long text into nodes.
One main node was the entire text, subnodes where periods terminated by the ‘.’ or ‘;’ symbol , these subnodes were called sentences.
A sentence was subdivided into short nodes called phrases , terminated by the ‘,’ symbol.
Once i collected all this nodes i started parsing the phrases, comparing the strucutre of the expression with a larger database , which was growing in time in a totally automated fashion, the more text you put in, the larger the neural network grew until the point i could trace a neural path and reconstructing the meaning of the tex , building up a ‘comphresion’ tree.
The task was huge and my time was ticking fast so i stopped the idea and worked back on the theses, but this idea still knock at my door once in a while.

36b416ed76cbaff49c8f6b7511458883
0
poita 101 Dec 06, 2010 at 09:14

@v71: That approach to natural language processing was abandoned quite a long time ago. It’s simply far too rigid. For a specific example, what if someone forgets a period? Most humans would still be able to make sense of a sentence (realising the person’s mistake), but it would throw your node-based parser right off.

It’s all done statistically now, and I believe that’s the correct way to do it. Anything based on strict definitions is probably not going to work.

Ceee4d1295c32a0c1c08a9eae8c9459d
0
v71 105 Dec 06, 2010 at 14:11

Well, yes, it was an idea i had time ago, i abandoned it in favour of different things, maybe one day i will be interested again into nlp

Ffe16f497018b21d87cf101c9c49cfe0
0
touch_the_sky 103 Dec 08, 2010 at 15:05

I once had this idea of writing some “genuine human” bot, more of a real convincing imitation attempt than true thinking thing. Apart from all the obvious learning algorithms (and cheap tricks which would make it appear much more like it), it was supposed to have a fairly neat feature - it was supposed to verify the information it learned through conversation, by “watching” real people chat with themselves. But work and stuff.. They’ll probably build the real SkyNet before I get my hands on this sort of project;)

Missing comas, typos, etc. - this is sort of stuff is already sortable (even on web search). Idioms, jumping sharks etc - I don’t think it would be that hard to make a bot recognise them to a decent extent and give the user a convincing answer matching the context. (I’m not saying it would not take loads of time) Problem is, it would still be just imitation of “what a real human would say” (there would be no such thing as conscious thought involved).

As far as real thinking intelligence - Ray Kurzweil says we’ll have a full mapping of human brain + hardware / software required to create artificial consciousness NO diffferent than ours, with all it’s emotions, feelings, etc. in about 20-25 years or so… What do you think?;)

36b416ed76cbaff49c8f6b7511458883
0
poita 101 Dec 09, 2010 at 08:43

@touch_the_sky

Missing comas, typos, etc. - this is sort of stuff is already sortable (even on web search). Idioms, jumping sharks etc - I don’t think it would be that hard to make a bot recognise them to a decent extent and give the user a convincing answer matching the context. (I’m not saying it would not take loads of time) Problem is, it would still be just imitation of “what a real human would say” (there would be no such thing as conscious thought involved).

I think you’re underestimating the subtleties of human communication.

As far as real thinking intelligence - Ray Kurzweil says we’ll have a full mapping of human brain + hardware / software required to create artificial consciousness NO diffferent than ours, with all it’s emotions, feelings, etc. in about 20-25 years or so… What do you think?;)

I think it’s quite feasible. Last I heard someone had already reconstructed a rat’s brain, although I didn’t hear any more from it (perhaps they didn’t really do what I think they had done). I think it will be more than 25 years though. We tend to overestimate these sorts of things – remember flying cars in the year 2000 :-)

8676d29610e6c98d6dd2d9c38528cd9c
0
alphadog 101 Dec 09, 2010 at 16:07

@poita

someone had already reconstructed a rat’s brain

Last I heard, we don’t even understand how a rat’s brain really works, yet we’ve successfully rebuilt it?

http://online.wsj.com/article/SB124751881557234725.html

He’s mimcking/modeling how neurons in a specific region work together in a net. It’s a far cry from rebuilding the rat brain. Even then, he needs a supercomputer to pull off the sim.

Furthermore, putting a real sim into a believable, future “The Sims XXVI” is much more than 20 years away.

Ffe16f497018b21d87cf101c9c49cfe0
0
touch_the_sky 103 Dec 09, 2010 at 17:41

@poita

I think you’re underestimating the subtleties of human communication.

I was more about that now it’s possible to create a waaayy better chatterbot than what I’ve seen so far

@poita

remember flying cars in the year 2000 :-)

Yeah flying cars in the year 2000;) It’s actually quite funny when you watch some old sci-fi movie where “the movie future” is already our past though

I heard about that rat brain some time ago, there was another one when they made a robot controlled by a cpu merged with live brainy tissue.

Btw, you may have seen it but: http://www.youtube.com/watch?v=53KICv9e5lY&feature=related

;)

5ccedf5e0f538b594eb578f003ade3eb
0
Hyper 96 Dec 10, 2010 at 11:57

@poita

remember flying cars in the year 2000 :-)

You mean the 1980s, not 2000. :)