CS 372 (Artificial Intelligence) Fall 2004
Week14 (Due 12/5) Reactions & Thoughts
Ioana Butoi
This week’s topic has been very interesting. Thinking more about it I find our brain to be amazing, since it does all this processing in seconds. It also looks so easy to understand one another and get the right context from conversations. However, when we try to program a computer to do it, it is no longer an easy task; it is in fact very complicated. We need to take a quick look at a sentence and we can understand it, but for a computer the task is much more complicated. Again, I realized how many thing we take “for granted”. It is not until we think about them that we realize how complicated they are to reproduce. “Easy” things such as speech are in fact not trivial. Even if you we define a very comprehensive grammar, the parser will not be able to understand everything that we understand, because the human brain is very forgiving in terms of grammatical errors. We would need to come up with a program that it would overlook some of the mistakes. This raises another question: how much space for error do we need to allow so we don’t totally confuse the computer. We would need a device that would adapt to error since we cannot account for all the cases that exist. I wish we had more time to go into more depth with the study of natural language processing.Andrew Cantino
When we were talking about transition networks this week, I had an interesting idea. First, it seems like the recursive transition networks could be run in reverse to generate grammatically correct random sentences -- it would be even more interesting to add some sort of Hidden Markov layer so that the sentences that were generated would be likely English sentences. First, you would create your grammar using RTNs or ATNs, but with added Markov-like weightings on the transitions, then you would train the weightings on a large corpus of data, so that the weightings statistically represent those found in English. Then, you could make a program that would try to generate poetry, for example. In the same vein, you could probably make your RTNs adapt by training them on real English sentences. Both of these would be interesting projects.Audrey Flattes
I think I'm just shocked by how complex everything is. So many things I feel that I take for granted knowing, it amazes me people who are able to learn other languages especially english. Looking at the break down that we did in class and the ways in which to construct sentences, all I can think is that when you actually have to stop and consider how you are forming you sentences it becomes alot more difficult in my opinion. The subject of language processing is really interesting it allows you to understand things many different levels. I makes me think about completeing the same exercises in different languages. I really like this subject, its alot to take in but interesting.Christina Florio
Kathleen Maffei
The processing of natural language looks a lot to me like what we did in CS245 (Principles of Programming Languages). We wrote our own language and a parser, which translated it into Haskell for processing. It was very similar to the way in which natural language is processed. Each line of code was examined, right to left, and matched against patterns / rules by which to translate the code to Haskell. Of course, the language we wrote was very similar to the LISP-like version of the natural language sentences. I suppose that what we did in CS245 was more like the opposite of what we’re discussing in class – more like turning code into natural language sentences.
I had an interesting thought in class on Thurday. I was thinking about using a neural network to produce a chat bot and how convenient it is that all the data needed to train it is already typed in and available in large quantities. Wouldn't it be interesting to train a neural network with a bunch of chat room logs? Granted the result would be some terrible English with heaps of vernacular, but it should be able to communicate within the chat room domain. u think?
Sara McCullough
I have really enjoyed our discussions on natural language in class. It just seems to me that to find a way to represent our natural language, idioms and all, in computational terms would be so useful! Not only for somewhat mundane things like document editing and web page processing, but it would be incredibly useful for some very progressive things like machine translation and spoken language dialogue agents. It just seems like natural language processing is something that would allow for a robot to take the place of a personal assistant, or a therapist even! An agent capable of correctly processing natural language would be incredibly convenient. But, it's such a complex problem! It's very interesting, and almost mind-boggling, to think about how much goes into processing our words. It's ironic that natural language, the symbol system that is easiest for humans to learn and use, is so hard for a computer to master.Ben Root
I really liked seeing the similarities between the parsing of a natural language and the parsing of a non-ambiguous computer language. In compiler class we spent a long time debugging our grammars to try to iron out any ambiguities and now the parser embraces the ambiguity. In computer language parsers though, the actual code for the parser is kind of simple because there is ONLY one way to interpret any set of statements and so any ambiguity is just an error. The Natural Language parser is much more computationally complex though because it has many forks which it can take through a text. I’d be very interested in reading or hearing a lecture on the next step after the parsing which might be assigning meanings to the different sentences, and representing them in some digital fashion. It is sort of like our adversarial search tree where you have to look ahead and get more context before you can decide which interpretation (or 'move') to choose out of a large list of possibilities.Sandeep Singh
Natural language processing is definitely one of the most interesting topics we’ve discussed in this course. At first, the idea seemed a bit abstract, but the examples we did really helped emphasize the overall structure and meaning.Immediately, language processing in relation to computers reminds me of this bot that can be messaged in AIM. Many people are familiar with SmarterChild; it is an AIM-bot that is able to hold a conversation with you. While it can’t really relay facts, it can still produce sound sentences. I’ve been wondering if the programmers who created SmarterChild used some type of RTN or ATN in order to form sentences (much like we did in class).
I’m very interested in how language processing comes into play in compiler design. Ben mentioned that he was familiar with this topic from a previous course. This is something I really want to learn more about.
For more information on SmarterChild, here's a link to the company that created it: http://www.conversagent.com/ .
It seems as though their goal is to provide people with something that can provide immediate and accurate answers 24/7. Even more so, such a bot can serve a numerous amount of people all at the same time. Pretty cool...
Darby Thompson
I feel REALLY sorry for people who have to learn English as a second language. I thought French was terrible but English is just crazy. I found it very helpful to look at a sentance as a tree structure. I guess I've never studied a language like that before... grammar isn't my strongest quality. This has got me thinking... if I had been taught french using the methods that we are applying to languages to teach a computer, would that have made more sense to me? I have a funny feeling that breaking down a language like this would have given me a much stronger basic knowledge of french. Although I'd probably sound robotic when I tried to hold a conversation, I believe my papers would have vastly improved. Even though there are so many 'special cases', breaking down the sentance is extremely helpful. Perhaps we should adopt this technique for teaching people who struggle with learning languages?
