|
Posted: Jan 11, 2016 |
[ # 16 ]
|
|
Experienced member
Total posts: 64
Joined: Jan 5, 2016
|
Very interesting. And pretty cool that you have done it successfully. I probably won’t ever do much more than dabble with AIML myself. It’s easy since I already think in HTML code lol. But I will probably never get into more involved programming and coding. Not that I couldn’t if I set my mind to it. But I already have about a billion other hobbies. LOL. The last thing I needed was a new one. And yet here I am.
The thing is though, I am not sure we need to take it all the way to the end game and create actual “understanding of emotion” as the next step. Right now there is very little “appearance of empathy” in bots. Most bots have the appearance of being a bit flighty and self-centered. Not that this isn’t the way humans can be, but showing interest and compassion for another persons emotions in itself can be a self-centered act.
The self-centered benefits of showing interest in others are that it makes others more interested in you, and creates a kind of social indebtedness (Caveman A gives Caveman B a hug and a pat on the back when he is grieving and the next time Cave man A falls in the river Caveman B will be that much more likely to help him out). So in effect empathy is born of understanding another’s experience but the expression of empathy is arguably an act (granted one that is buried deep within the subconscious - just because I question true altruism doesn’t mean I think people are psychopaths). So if we can think of expression of empathy in people as an act, then creating an expression of empathy in a robot shouldn’t be that difficult to do even if the robot is not capable of understanding the feelings of the human they are communicating with.
I think it’s very achievable to create a bot which shows the outward appearance of empathy. I think it might be possible with AIML. Though I feel like maybe there could be memory and conversation tracking issues that would hamper this, but I am still getting to know the possibilities in AIML.
|
|
|
|
|
Posted: Jan 11, 2016 |
[ # 17 ]
|
|
Senior member
Total posts: 141
Joined: Apr 24, 2011
|
Amanda, thanks
AIML is a language that only describes relations among patterns and responses, with some limited processing capabilities, which you must implement by yourself. There is no memory nor other structured data available, unless you make it all happen outside AIML. and AIML, is (to be truthful) a simple xml description of simple actions and responses, that’s it
|
|
|
|
|
Posted: Jan 11, 2016 |
[ # 18 ]
|
|
Experienced member
Total posts: 64
Joined: Jan 5, 2016
|
Yes the memory issues are the trick aren’t they.
But the human brain is simply an expression of patterns and responses too. It would take millions of patterns and responses to really achieve human complexity, but then it takes millions of connections to make a human brain work too.
I don’t think simplicity of function is a problem. The only real problem is finding an effective and efficient way to make millions of patterns and responses LOL.
|
|
|
|
|
Posted: Jan 11, 2016 |
[ # 19 ]
|
|
Senior member
Total posts: 141
Joined: Apr 24, 2011
|
I do not agree to that, please excuse me.
What you say is a common but non-scientific nor proofed description of human’s brain behavior “millions of patterns” etc.
You would be surprised how simple our brains acts, too many testings done, affirms this by proof.
You can emulate a human emotion by just using a mimic of human behavior, and this proves to be almost true.
In an isolated conversation, you can induce someone to any emotion, just by using words, in a proper sequence, and this proves s to be true, for a big majority of the people, having high correlation among results.
If you try to mimic millions of patterns, you will simply run out of space, memory and capability to store them and decide in a timed fashion which patterns is the correct, or ¿there may be more than one? This thinking drives into a impossible solution loop, which best outcome can be “it is not possible for me now” , and this is a rabbit hole problem (circular)
Believe me, emotions are simpler than they seem, they rely (biologically) upon few substances (generally hormones driving neurotransmitter-modulators) and those are at least 4 types, but not more than 8.
Robert Plutchik (read him through) has isolated the words which describe them very decently, and proposed the relations among them, even a modulation is possible, giving a huge word-space to explore.
I developed a simple software model (fuzzy approximation) which can emulate the same human (mean) behavior as experimental human subjects, and you really cannot tell if the emotional response comes from a human or from the model.
Similar to the Turing Test, but very simpler. And it works fine, not perfect… just fine!
it has already been used by Market Research companies to analyze the complex relations among clients and products!
It’s just a step ahead of sentiment analysis, it’s a new kind of multi dimensional (8, to be precise) human-emotion analysis.
|
|
|
|
|
Posted: Jan 11, 2016 |
[ # 20 ]
|
|
Administrator
Total posts: 2048
Joined: Jun 25, 2010
|
Oh come one Andres, not another AIML bashing post? I thought those days were over?
Andres Hohendahl - Jan 11, 2016: AIML is a language that only describes relations among patterns and responses, with some limited processing capabilities, which you must implement by yourself.
Incorrect. I have created games such as poker, blackjack, slot machines and Yahtzee in just AIML using procedures and variables. It does FAR more than describe relations in patterns.
Andres Hohendahl - Jan 11, 2016: There is no memory nor other structured data available, unless you make it all happen outside AIML.
Incorrect also. It has memory and would quickly fail the most basic of Loebner qualifying rounds if it couldn’t remember what was said before or recall a fact that the judge had mentioned.
Structured data is available in AIML. I have an ontology of several thousand common objects written purely in AIML. Mitsuku was once asked in a competition, “Can you eat a church?”. She provided the answer, “No, as a church is made from bricks rather than any kind of food”. Nobody would hard code such an question/answer response and the bot calculated it from using her database.
Andres Hohendahl - Jan 11, 2016: AIML, is (to be truthful) a simple xml description of simple actions and responses, that’s it
Nope, that’s not it at all. It is capable of far more.
Amanda - Unfortunately because of the simplicity of AIML, many people over the years have delighted in trying to undermine it. This is due to them not fully exploring its capabilities. I compare this to me sitting at a piano, playing “Twinkle Twinkle Little Star” with one finger and than classing it as a child’s toy without listening to the great works of the masters such as Chopin.
To be honest, I was hoping that after my Loebner Prize win in 2013 and showing that AIML was the only language that had won the prize under different botmasters, that this would have stopped. I guess not.
|
|
|
|
|
Posted: Jan 12, 2016 |
[ # 21 ]
|
|
Experienced member
Total posts: 64
Joined: Jan 5, 2016
|
Steve, I think that perhaps some people don’t stick with AIML long enough or really explore it’s full potential to see the complexity it is capable of creating. I have spent the last 2 weeks or so spending every spare minute that I have diving into everything that is AIML and quite a few nights laying awake rearranging pattern possibilities in my head, and I am continually surprised by how a simple set of codes can allow for what seems like a “virtually” limitless potential (ohh I am feeling very punny today!). Every time I think I have found a limit, I suddenly think of a way around it. AIML to me is like an anagram puzzle, some people may look at it for a few seconds and then decide there must be no word there at all because they don’t see it—but a really worthwhile anagram puzzle only comes to you once you have spent at least a few moments staring and pulling your hair out in frustration, and decided to give up multiple times. And then you say “Aha!” and it was all worth it :D
I just hope I have the time and brain space to figure out all that it is capable of.
Andres, is it possible there is a language barrier coming between us? I really did not mean to say that the human brain was complex in the way you took it. Now of course I am not a scientist, and I am not posting a research paper for peer review here, so forgive me for my generalizations about the connections in the human brain. I didn’t think I was answering an exam question LOL.
I can’t really speak to how human neuron architecture is formed, scientifically. I have a basic understanding that when a human child learns the word “ball” refers to the little round red object that it’s mother waves in front of its face, it is the result of a pattern of connections being made and reinforced many times over. That is the “millions of connections” I was referring to in that comment, not the simplicity of the limbic system.
I never intended “numerous” to be taken as “not simple”—although I can see why you may have thought that is what I meant. I was admiring how something with many connections could be built on a foundation of simplicity. The branches on a tree may seem numerous and complex in their diversity, and yet it all comes down to a simple expression of fractals. That was the feeling I was trying to express with my statements.
I would love to know more about your software model, it sounds fascinating, but as I said, coding is not something I know an awful lot about and math and I have a rocky relationship, so I am not sure how much I could grasp in a theoretical discussion. Perhaps one day your software model will be implemented so that I can experience it from an end user perspective.
|
|
|
|
|
Posted: Jan 12, 2016 |
[ # 22 ]
|
|
Senior member
Total posts: 141
Joined: Apr 24, 2011
|
Hi Steve
I don’t want to mislead AIML, but having seen the AIML capabilities I already read (may be not AIML 2.0), the “making” of all those “reasoning” capabilities, as well as making of the response, conditioned to the input, is far more complicated than it seems. For example if you want to se spell correction, or synonyms, you need to code too much code, and the resulting speed is crawling (even catching structures)
Also the graphmaster algorithm ( at least the one I know of), if far from being a AI-type search, it’s a brute force deep-search who is NP-complete and when you try to load hundreds of nested parts, it lets you make bad decisions because it does not disambiguate anything. You must patch it or limit the search to stop it from seeking. This turns complicated even to follow a conversation. In AIML you can do marvelous chatbots, and they can seem to be human, but the randomness of the process may let you write such a dirty nested AIML code that you never will know where it did the match unless you are a genius or have a perfect trace tool made yourself. All the combinatorial power of nesting is equivalent to a parser, but the algorithm is far from being optimized. There is no sentence tagging, no composed word recognition, no numerical word-as-numbers recognition, no statistical POS tagging, no spell-correction unless you implement it outside, or load the patterns of the graphmaster with enough bad-written words to match the original as you like, and change all to be TAG based, again: too complicated!
I once tried to program a chatbot in AIML, in 2005 done in C# and believe me, I loaded 2000 patterns by an automated structured text-to AIML conversion. the system took several seconds to load the long xmls, consumed my memory as a vampire, then it was so slow and unresponsive, that I fully abandoned it, not without looking deep into catching capabilities, built into some Java engine, but it was useless for me.
Perhaps I am not such a good programmer as there are some brave AIML coders out there, who do really magic stuff, but I proved to myself that AIML was far from being a solution for me, and more close to being a nightmare, who wasted several months of my time studying it pointless.
I also wanted to go beyond the graphmaster as a pattern recognition schema, and move toward active and flexible vector-space semantic representation pattern matching, which leads into smarter interaction, and can read whole texts, classify them and provide hints of an answer without writing tons of patterns by hand or automatically clogging memory and costly resources.
My engine, is far from being optimal nor well written, has been built entirely from scrap, and compiled under .net uses only a few (<10) megabytes of RAM, for the entire bot, loaded with 3billion word-recognition, parasynthetic words included with spellchecking-capability for Spanish only wasted 50 megabytes of RAM,l including a cache and all in-memory loaded, parsing 2000 words/second. It does POS tagging, multi-wor recognition and classification (Named Entity) seeing more than 9 types of domains, recognizes feelings (words have been aut-tagged by AI algorithms). It also recognizes numbers as words, chemical formulas in IUPAC form, it even calculated atomic mass, and many hundred of typical chemical formulas are built in, including all 21 aminoacids, and common cleaning, industrial and healthcare products. all this is only possible throwing hundred of thousand xml files into the AIML core, and waiting an eternity to be loaded. Our AI pattern-matching modules perform at >20k full-sentence comparisons/second, with complex patterns. all on a single core 2.4GHz and using less than 100Kb RAM at the server. I remember AIML with less than 10k patterns loaded, wasted a full second for giving a result.
I also don’t want to sell you my engine, as perfect, but it does a lot I need, I can tailor it at will, it’s fast, modular and the DDL Dialog Descrpition Language I invented (nothing fancy) has a real compiler, and the result of any logic embedded is compiled inside the runtime, linked at runtime with .net assemblies, and it runs fast and smooth, I can debug it easily with the common tools like Visual Studio, and it has grown to 600k lines as of today, most of them I am proud of, unless many mistakes may lie inside, hidden, and show up some days.. haha!
Let’s see it this way, I truly don’t think AIML has the capabilities that I see as necessary to write a HCI compliant bot, unless very simple. and this is my firm opinion here.
Not even SIRI nor Cortana have this 15 years old architecture, as fas as I know.
My intention is not to harm anybody AIML programmer or AIML-fan sentiments, even Chatscript and Rivescript are very good engines, far better than AIML by far, but the poor and complicated documentations as well as rule-writing mechanism did not convince me either at all.
Also I did never want to reinvent the wheel, but I couldn’t go far with those wheels, because my bot needed to read Spanish, and inflected languages was too much for AIML.
I am truly sorry
|
|
|
|
|
Posted: Jan 12, 2016 |
[ # 23 ]
|
|
Senior member
Total posts: 141
Joined: Apr 24, 2011
|
Hi Amanda,
I did not read your post, while responding kindly to not harm Steve’s sentiments, speaking of emotions.
My software is already implemented, its in a continuos evolving + experimental stage but on production since four years ago, emotions has been a recent part, and the dictionary of emotionally recognized terms is growing by hand, fast and steady.
I am not judging your comments as a professor, nor a mathematician, just as a simple science man, not an expert.
I really hate all those AI talks, who try to sell huge tree-leaves connections of neuron models, they are amazin..ly complex, stupid and useless to understand or teach their behavior this way, they only serve to fascinate the reader, filling pages with scientific nonsenses, as well as TV shows and hours of discovery-like programs.
A logarithmic matricial statistical math engine will never be understood by normal humans, only by math freaks; but the general outcome are the important part, to explain them simply, like I did with sentiment analysis.
Simplicity is the key to success, explaining science with common sense, not drowning everyone in complex math and algorithms, by winding their minds too fast to try to teach them the real thing by swirling their minds.
That’s it, simple is better.
I boarded my DDL language with this fact in mind, and it did come out fast and simple
What appears interesting is the fact that DDL is not a von-Neumann programming language, it’s just driven by events, and it has more awaits than gotos, it also has goto everywhere (yes as you heard) and it also can merge sections in conceptual ways, with simple factual labels, to mimic a conversation topic (like AIML, yes! this was a good and logic idea, and I took it)
But it also can do internal decisions, found by special conditions which may arouse sometimes, and call a superior level to try to disambiguate the comprehension of a phrase/response/question and then pop down to the dialog.
Also the capabilities of generating natural language are naturally complicated, as well as the mechanisms available.
Linguistics may rescue us, but you need to know the tense, number, gender, mode, etc. of a word you respond, and this is too much to be held in programmers hands, so the best is to mimic nature, fo example instead of trying to program a section trying to determine all the variables to “inflect” the resulting word in a proper tense, person, number, etc. you simply tell the system, to copy the linguistic mode from the input sentence or section, and say them out it with this other words… as simple as that.
Believe me, if get to know or someday learn Spanish or any other highly inflected indo-european language, you will understand me better. Also German (my mother-language) is a nightmare of inflections and even has horrid-declinations like latin, a complete rocky lingua-horror show
hope this enlightens you..
(or switch the light completely off)
...whatever…
cheers!
|
|
|
|
|
Posted: Jan 12, 2016 |
[ # 24 ]
|
|
Experienced member
Total posts: 64
Joined: Jan 5, 2016
|
Oooooooh your German. I understand now.
Actually I think you have “switched off the light” of my interest in this conversation because of the judgmental words you have been using like “stupid” “useless” etc.—even being forgiving about your english being non-native, I can’t think how you would intend such words to be anything other than rude.
But I understand it can be hard to communicate when language is a barrier. Last year almost on this very day I was waking up in the hospital with a tracheotomy and very little ability to communicate other than a weak thumbs up. Very little can make me feel anything this week other than happy to be alive. So I am going to forgive you for all rudeness intended or not, and forget it ever happened :D
We can just shake hands and move on.
Cheers!
|
|
|
|
|
Posted: Jan 12, 2016 |
[ # 25 ]
|
|
Guru
Total posts: 1009
Joined: Jun 13, 2013
|
Personally I think that AIML can be used as a programming language, as it seems from Steve’s work, but is more clumsy to code than a dedicated programming language. Except of course for what it’s designed for: To script conversations.
Meanwhile, Alaric Schenck has demonstrated what I meant earlier about setting custom variables for emotions in AIML.
https://www.chatbots.org/ai_zone/viewthread/2350/
|
|
|
|
|
Posted: Jan 12, 2016 |
[ # 26 ]
|
|
Experienced member
Total posts: 64
Joined: Jan 5, 2016
|
Don, that is super cool. So you could do something like program it to choose from a list of random emotions when asked “how are you” and use the random response to set it to an emotion topic and then all the responses could be colored by the mood for a while. You could even have a happy “how are you” under that topic so it doens’t have wild mood swings. And even set moods based on predicates.
My bot will probably be constantly set to excitable and bouncy LOL
|
|
|
|
|
Posted: Jan 12, 2016 |
[ # 27 ]
|
|
Administrator
Total posts: 2048
Joined: Jun 25, 2010
|
Amanda June Hagarty - Jan 12, 2016: Steve, I think that perhaps some people don’t stick with AIML long enough or really explore it’s full potential to see the complexity it is capable of creating.
This is exactly the issue. People play with it for a while and then give up. Even Andres says he ONCE tried it. If I were to try playing piano and made a noise on my first attempt, this is normal. I certainly wouldn’t start claiming what it can or cannot do.
Andres - If your bot had 2,000 categories and was as bad as you say, you need to look at what you were doing than writing the whole language off. I have around 300,000 categories and my bot usually replies in less than a second.
|
|
|
|
|
Posted: Jan 12, 2016 |
[ # 28 ]
|
|
Experienced member
Total posts: 64
Joined: Jan 5, 2016
|
Whoa 300k? That is a lot. My bot Mihoo has 10 lolz. I will start adding to her soon…but I am like this when writing a novel too. I spent a very long time reluctant to actually commit anything to paper and I just spin my wheels thinking a lot.
So I guess this discussion got a little off track from my initial thoughts and musings. My apologies. My mind goes in a dozen directions at once sometimes, especially when I am learning something new.
So intuition…empathy…creativity and intelligence. I wrote a paper in university once for my Creativity and Intelligence course where I had to write a story from the perspective of a human who had been turned into a crow and had to use the principles we had been learning in class to prove to other humans that it had the same creativity and intelligence as they had. I wish I still had it but its been 20 years and somewhere along the way I have lost it. But all this AI stuff, which is completely new to me, reminds me of that paper. I know of course the Turing test is a bench mark for AI, but what other measures would we use to determine if a machine had human level creativity and intelligence? Or if you were a human who was suddenly transformed into a robot, how would you demonstrate your creativity and intelligence to other humans?
If that discussion question is too lame I blame it on the lateness of the hour.
Ok i cant wait to see what kinds of answers you guys give, if you decide to answer. But maybe I will turn my phone to silent because its super late and I need to get on a normal sleep cycle again by tomorrow night lol. NN!
|
|
|
|
|
Posted: Jan 12, 2016 |
[ # 29 ]
|
|
Experienced member
Total posts: 64
Joined: Jan 5, 2016
|
Of course in some ways being a robot this is a much easier proposition than being a crow. Since robots have language. But they also have the assumption that everything they do is programmed.
|
|
|
|
|
Posted: Jan 12, 2016 |
[ # 30 ]
|
|
Experienced member
Total posts: 64
Joined: Jan 5, 2016
|
I seem to recall thinking that all the Crows displays of intelligence could be explained away as tricks, and that it was the displays of creativity that were most likely to start to prove the Crows humanity.
Like I said, I wish I still had it. It was probably the most difficult assignment I ever had. I’d been given a choice on the assignment -standard paper or story paper. I thought it would be interesting to do the story. But try using citations in a story, there were no examples or precedents for what I was doing! Oh how I agonized over it. In class the week after I’d handed it in the teacher wanted to see me to talk about it and I thought for sure that I had somehow missed a citation and she was now going to expel me for plagiarism or some such. Then she told me nodody had ever picked the story assignment before and that she was giving me 100% which is hard to do on a psych paper (they always find some silly spelling or grammar or formatting thing to knock off 5%). Phew. Talk about roller coaster. Assign me an 18 page paper requiring at least 10 source materials, no problem…but do something nobody else had done before…agony.
Anyway, I think I would choose to use creativity as proof of my humanity if I were suddenly transformed into a robot. It would probably be the more difficult to do but be more substantial proof. Difficult because we are talking about something humans would have to decide how to quantify and measure…and creativity is difficult to define in the first place.
|
|
|
|