Bio
"Sean Le Van is 13. He has given many professional concerts since the age of five years old, along with members of his family, The Le Van Family Musicians. He started as a singer in various styles and soon developed a passion for jazz improvisation and composition on the piano. He now embraces several musical genres, including jazz and classical.
He was a laureate winner of the 2010 American Association for the Development of the Gifted and Talented competition, which led him to perform in the “Passion of Music Festival” at Carnegie Hall, Steinway Hall, and Bechstein Hall as a classical pianist. Soon after, he was invited to perform with his family in the 3rd Vianden International Music Festival in Luxembourg under the patronage of the U.S. embassy. In jazz, he has been engaged to perform at various clubs and festivals, such as Steamers Jazz Club, the Curtis Theatre (Brea) under the patronage of Resonance Records, and the 26th Munster International Jazz Festival in France. Sean has made acclaimed solo appearances and shared the stage with vibraphonist Michel Hausser, bassist Bruce Lett, drummer Mack Gordon, pianist Llew Matthews, bassist Putter Smith, drummer Mourad Benhammou as well as jazz veteran Shep Shepherd, among others.
Sean is also a prodigy in computer programming. In his free time, he enjoys running and skateboarding, playing with his cocker, as well as reading in science, literature, philosophy, and history."
http://seanlevanmusic.dunked.com/biography
I think there is something to be said about letting a person have their childhood. It is far too easy to burn someone out by a raft of accomplishments when they are very young.
A child prodigy has the potential to be successful at any point in their life. It could be both a blessing and a curse to push for 'winning' so much acclaim at a young age.
We integrate into a number of third-party applications, and in the description of our app in their app store, we had a line like "We provide savings and analytics" and it put the ellipses in the most inconvenient place possible.
Whenever I find one of these AI chat programs, I like to start by typing in "this sentence is false", and yours gave me the most unique response (after quite some time calculating): "It seems to be, and it's actually a string of words satisfying the grammatical rules of a language."
On a side note - I work in tech education, and I have to say that the software projects that motivated people of your age are creating is astonishing. Keep it up!
My chatterbot received the definition by WolframAlpha, per as what it's programmed. It found the entity was "sentence" and then looked for a definition. It does not simply grab whatever WolframAlpha response it can find.
Evidence for this lies in the fact that for the last hour, WolframAlpha was down for my bot due to excessive requests- and yet, no-one has noticed until this point- proving that there is significantly more to the algorithm then merely scraping their API.
> On a side note - I work in tech education, and I have to say that the software projects that motivated people of your age are creating is astonishing. Keep it up!
On a side note as well: I am creating an web app in the tech education, and would love to connect with other ed tech people. What's your contact? My email is in my profile.
I spent 10 years building distance education systems (when it was a lot harder to transmit video) and spent a lot of time working on classroom equipment, controls and software.
I've got a bunch of other (perhaps) relevant experience and would be happy to have a discussion with you. My e-mail is also in my profile.
Pedantic, but unlike pregant you can qualify unique.
Unlike pregnant which is a binary (are/are not), unique means the quality of differing from other things, and this is a continium.
Even the dictionary, in one of the terms for unique, gives a meaning that's not "unique" in a binary way at all:
"not typical; unusual".
If it wasn't a continuum we wouldn't have expressions like "totally unique" or the "most unique" used above (like we don't have for pregnancy). And they are not mere errors (like using your instead of you're etc.), they are used to express this notion, that something can be "different" than all other things in different deegres.
> we wouldn't have expressions like "totally unique" or the "most unique"
I wouldn't normally bring this up, but while we're being pedantic, there are lots of reasonably common expressions that exhibit gratingly poor grammar or sematics. You have quoted two of them above.
> unique means the quality of differing from other things, and this is a continium.
Ah no. Unique means "one of a kind", not merely "differing". "uni" as a prefix means one, e.g unicycle, universe, unitard. "one of a kind"-ness is not continuous! As per the second link, "unique" already contains the idea of "very different".
Sorry to be pedantic, but your very first reference confirms what I said:
>However, sometimes the situation isn’t so cut and dried. There’s a set of adjectives (including perfect, infinite, and unique) which fall into both categories, gradable and absolute. (...)
>(...) unique has developed a weaker, less precise meaning: ‘very remarkable, special, or unusual’. The historical Oxford English Dictionary first records this sense in the 19th century, and it’s now well established. The ‘very remarkable or special’ meaning is not an absolute concept and is therefore gradable, so it’s grammatically acceptable to use modifying adverbs:
√ I saw a guy wearing some really unique eyeglasses.
√ They’ve devised a highly unique way to cook and serve meals.
I wasn't talking about "pregnant" and I personally don't care about it. "Unique" literally means "there is only one". Now where would you insert the word "most" in the sentence "there is only one"?
“When I use a word,” Humpty Dumpty said, in rather a scornful tone, “it means just what I choose it to mean—neither more nor less.” “The question is,” said Alice, “whether you can make words mean so many different things.” “The question is,” said Humpty Dumpty, “which is to be master—that’s all.”
When someone quotes a great author, they are often not standing on a single sentence, but on the larger meaning of some story signified by that sentence. Star Trek's Tamarians whole language was references to stories -- "Darmok and Jalad at Tanagra" is, for them, a highly compressed statement. So literature enormously expands our vocabulary, allowing us to use quotes as "pointers" to ideas much larger than anything we could state briefly.
"[Humpty said:] As I was saying, that seems to be done right — though I haven't time to look it over thoroughly just now — and that shows that there are three hundred and sixty-four days when you might get un-birthday presents —'
'Certainly,' said Alice.
'And only one for birthday presents, you know. There's glory for you!'
'I don't know what you mean by "glory",' Alice said.
Humpty Dumpty smiled contemptuously. 'Of course you don't — till I tell you. I meant "there's a nice knock-down argument for you!"'
'But "glory" doesn't mean "a nice knock-down argument",' Alice objected."
I think it is clear that Humpty's meaning was quite obvious, and Alice's complaint a bit dense. But while Humpty insists that he must tell Alice what he means, we can see that he needn't.
Of course, this word commanding business is as dangerous as you note, and Lewis Carroll is on the case:
"Alice was too much puzzled to say anything; so after a minute Humpty Dumpty began again. 'They've a temper, some of them — particularly verbs: they're the proudest — adjectives you can do anything with, but not verbs — however, I can manage the whole lot of them! Impenetrability! That's what I say!'
'Would you tell me please,' said Alice, 'what that means?'
'Now you talk like a reasonable child,' said Humpty Dumpty, looking very much pleased. 'I meant by "impenetrability" that we've had enough of that subject, and it would be just as well if you'd mention what you mean to do next, as I suppose you don't mean to stop here all the rest of your life.'
'That's a great deal to make one word mean,' Alice said in a thoughtful tone.
'When I make a word do a lot of work like that,' said Humpty Dumpty, 'I always pay it extra.'"
On the one hand, words can have many meanings, and any particular meaning must in part be taken from context. On the other hand, if we just try to _impose_ a meaning on a word, we defeat all communication, and make ourselves ridiculous to boot.
> When someone quotes a great author [it is for] the larger meaning of some story signified by that sentence.
That doesn't work when people are exchanging ideas on a forum and not everyone has read the same body of work. Because of the difficulty inherent in estimating who has read what, it is usually smart to avoid arguments "from the arts".
> allowing us to use quotes as "pointers" to ideas much larger than anything we could state briefly.
Larger than you could state briefly. Plus, aphorisms exist to fill in the gap you're talking about - all the benefits of brevity without the need for previous literary knowledge.
The excerpt you quoted reads like a boring story about a character that suffers from an affectation that makes him (her?) obsessed with trying to find reasons for using words loosely. I also didn't understand what he/she meant by "there's glory for you" even after the supposed explanation of what "glory" means in Dumpty's head.
This argument that "Shakespeare wrote this therefore it's right" doesn't work.
Read How to Speak and Write Correctly by Joseph Devlin for several instances of where Shakespeare made English mistakes and how to actually write correct English without appeal to authority.
That argument works, though, if we were speaking a language with a regulating body, such as French or Portuguese. Those regulating bodies define their languages in such a way that the "famous writers" never make mistakes. That's not the case with English. Let's keep English real. Shakespeare made several mistakes, read Devlin's grammar.
English isn't a compiled language. We can offer expressions that violate its "rules" and are still effective and powerful. It cannot be any other way. We know from Godel that no logical system can be consistent _and_ complete, so the use any human language must either admit violations of principle or accept limitations on what can be said in that language. It is the quality and success of the expression, not its compliance with grammatical rules, by which we judge expressions. The tests are "do you know what is meant" and "could it be said better", not "is it grammatical".
There are, therefore, no hard and fast authorities on English usage. English has principles and precedents, but not rules, and good writing is that which uses or violates those principles to communicate effectively. Shakespeare isn't an authority on usage, he's a compendium of examples of how usage can be harnessed for expression.
Now following those principles, and leveraging the readers' understanding and usage of them, allows far more expressive sentences. Gibbon writes enormous sentences that are clear as water and more efficient than any possible revision. Lincoln, by mastery of grammar, was able to express himself both powerfully and precisely. But the rules are in the service of expression, and good writers depart them when they don't permit the expression of what they want to say.
Complaints about the "mistakes" of great authors are generally mistakes about what the other meant to say, or insistence on some compliance that would damage brevity or power or nuance without adding any clarity. On ten minutes googling Devlin, I couldn't find a single "mistake" whose correction would clearly improve the sentence. Several of his examples miss the point, or weaken the sentence.
But if you want an authority, go to C.S. Lewis:
"About amn't I, aren't I and am I not, of course there are no right or wrong answers about language in the sense in which there are right and wrong answers in Arithmetic. . . . Don't take any notice of teachers and textbooks in such matters. Nor of logic. It is good to say "more than one passenger was hurt," although more than one equals at least two and therefore logically the verb ought to be plural were not singular was!"
Your Lewis quote contradicts your very first paragraph, as the quote argues languages aren't like logic and arithmetic, and in your first paragraph you assume languages are like logic and arithmetic enough to suffer from the same incompleteness problem (if I remember correctly only systems that include arithmetic can't be proven consistent?).
"More than one person is" is correct not because of any systematic reason, but because of euphony - it is more pleasing to the ear than "more than one person are". That, and whether the communication was effective, are the rulers of languages. That's how we got to where we are and how we go to where we are going. Not with central bodies regulating languages and not with language authorities we must emulate or check our usage against.
> Complaints about the "mistakes" of great authors are generally [...]
Yes, a lot of people have trouble accepting that even the greats make mistakes.
If we are talking about descriptive linguistics "analyzing and describing how language is actually used" as opposed to formal rules ( http://en.wikipedia.org/wiki/Linguistic_description ), then we must also love how the way that I use the English language differs from the way that you use it. And how my well-documented variant works too, and why they differ.
I don't use "unique" that way. Do you want "unique" to be just a redundant synonym for "different" or not?
It's not quite a synonym for "different", though. If you say "that's a very different project", there has to be some context for what it's different from; it can't stand alone, except in some colloquialisms. On the other hand, if you say "that's a highly unique project", it's understood that it's very different from 'most of the (actual) other projects'... and aside from being verbose, that formulation is only an approximation to the meaning of "unique". For one thing, "unique" suggests a holistic comparison among the whole class, while something like "different from most" suggests a series of two-way comparisons (is it different from A? is it different from B?), each of which can only be yes or no, and "most just counts how many of the results are yeses. This is not necessarily what is intended, since the meaning can be corrupted into 'different from [the general characteristics of a group containing most of the others]', but I'd call that more abusive than just grading "unique". And even that changes the meaning of the grade: if something is 'extremely different from most of the others', then it can still be identical to a decent chunk of the others; the adverb only applies within the aforementioned comparison(s) (even if to a group). If something is extremely unique, then it's probably different from almost all of the others, but chances are it's also very different from most of them; the adverb applies to the holistic comparison.
Pedantry aside, I'd like to suggest that common sense and should always trump grammatical "rules". If we might assume the layperson's definition, "one of a kind" (ie, one instance in a set), and acknowledge that one such kind may represent a radically larger set than another, how might we use English to describe the difference?
The letter "R" is unique in the English alphabet.
The particular grain of sand in the palm of my hand is unique to the world's beaches.
Are "R" and this grain of sand equally unique? Might there be a way to compare them?
I don't want to debate the point, rather to pose the question and see what any responses might illuminate.
That simply means they have a very large baby bump. It does not mean that they are "more pregnant" than a lady with a smaller bump. Pregnancy is a binary state.
Of course. The point still stands - a person either is, or is not, in state of pregnancy.
I think that, from context, it was clear I was using "pregnancy" to mean "the state of being pregnant" and not referring to the nine month gestation period.
That'll teach me to contribute to pedantry-focussed subthreads. :-)
Pretty much nothing is binary. Pregnancy is only approximately binary. Whether you're right or wrong about it certainly isn't. And nobody uses language in a binary manner.
This study provides the first detailed account of perceptual dialectology within California (as well as one of the first accounts of perceptual dialectology within any single state). Quantitative analysis of a map-labeling task carried out in Southern California reveals that California's most salient linguistic boundary is between the northern and southern regions of the state. Whereas studies of the perceptual dialectology of the United States as a whole have focused almost exclusively on regional dialect differences, respondents associated particular regions of California less with distinctive dialects than with differences in language (English versus Spanish), slang use, and social groups. The diverse sociolinguistic situation of California is reflected in the emphasis both on highly salient social groups thought to be stereotypical of California by residents and nonresidents alike (e.g., surfers) and on groups that, though prominent in the cultural landscape of the state, remain largely unrecognized by outsiders (e.g., hicks).
[...]
By far, the most frequently remarked-upon slang term in the map-labeling data
was hella, accounting for 47.4 percent of the slang and other lexical labels. Hella is
a slang term originating in Northern California and one that remains—aside from a
few brief moments in the national spotlight due to its circulation in popular culture—
largely restricted to that region (Bucholtz 2006). The term, which apparently lexicalized
from (a) hell of (a), functions as both a quantifier (There were hella people
there) and an intensifier (He runs hella fast). Four respondents also mentioned the
slang term hecka, the G-rated equivalent of hella, but this term was not counted
separately, because tokens of hecka always co-occurred with hella.
For Southern Californians in particular, hella represents a crucial shibboleth separating
the two major regions of the state. As shown in Figure 7, respondents tended
to identify hella overwhelmingly as a Northern California slang term, and its appearance
in other regions of the map drops dramatically from north to south.
Thus Northern California was variously labeled the hellas, Land of the Hella’s,
and Hella capital, and one respondent provided an isogloss designating “the ‘hella’
line.” (In the map data, the Central Coast around Santa Barbara seemed to be the
dividing line between users and nonusers of hella, and the fact that the study was
conducted in this region may have enhanced respondents’ focus on this particular
issue.) [*10: The respondent’s confusion may also be due to the existence of the Crips, a notorious Los
Angeles–based gang.] Hella users were also negatively evaluated by Southern Californians, and
the term came in for a good deal of criticism, such as Hella is not a real word and
[hecka is] probably the worst word ever.
It seems I'm the only one who agrees with you. The project is really cool in itself. Saying I'm 14 makes it difficult to judge whether people are truly impressed or just impressed this was done at 14.
It certainly is impressive at 14, but I suppose I dont feel like we should be making 14 year olds feel like they're less capable.
Then again, in the end its a matter of questioning the purpose of Show HN. If its to boost your ego, and there's certainly nothing wrong with needing that from time to time, adding the circumstances helps. On the other hand if you're looking for improvement, it seems better that people look at what you made without the bias or lowered expectations.
I agree to an extent. For a discussion board, the main focus is the 14 year old which makes the discussion less interesting from a technology viewpoint.
However, for a news article I think that "14 year old made cool thing!" would add to it.
He's 14. That is a very relevant part of the story here. Seriously, he should be very proud that he accomplished this at 14 and should be comfortable sharing that with everyone. I don't think he needs to be criticized as if he's as far along with his career as most others on HN. I think the feedback will be much more encouraging, plentiful and helpful for a 14 year old.
Agreed. OP creating this cool chat bot is very impressive. Discussing it's usefulness or sophistication is probably superfluous atm. OP is 14 and built something.
Personally, my stomach twists when I read the post because I only ever got into programming at 25 and it's deeply troubling to see I missed the last 10 years.
From a strictly technical point of view, it is at least some form of Artificial Intelligence:
1) From the perspective of the Turing Test, it biomimics human behavior and intelligence.
2) The field of artificial intelligence deals with a computerized comprehension of data. ACUMAN is heavily dependent on machine learning, natural language processing, and text classification algorithms, which facilitate understanding. It also gathers psychometric data, which allows the machine to take its communication with a participant in context of their personality.
3) A computer able to interact with a human in a similar way that a human would with another human. ACUMAN matches this definition because it accepts and can converse in both speech input and text input, all in the english language and manifesting its "intelligence" in the form daily communication.
The project qualifies to all three of these pieces of criteria.
Edit: just realised you're the author, so I want to reiterate: this is a lovely designed app and making your own chatbot is rad. Original reply below.
Re 1. Yes, it does attempt to pass the Turing test.
Re 3. Yes, that includes interacting with a human in a similar way that a human would with another human, that's part of the Turing test.
My own experience was: it asked me how I was, I told it I had a hangover, it thought that was great and that I was 100% happy. Which wasn't a long test. Obviously your own experience might have varied.
Re: 3. Isn't machine learning just machine learning and NLP just NLP?
I personally don't feel like my app suddenly becomes 'AI' if I import nltk and start tokenising some corpus to train it with, or load opencv and tell my drone to avoid the big red thing. If the app would work out how to /train itself/ I would consider it an AI.
Eg, the drone having the objective to follow me at a safe distance for as long as possible, then working out that the big red thing is dangerous and avoid it.
Or the chat both to, say, have an objective of beating the human at the turing test for a certain amount of time, then working out how it gives itself away, then avoiding doing that.
I acknowledge that's just a feeling though, and many definitions online would qualify 'thing that loads library and needs human training' as AI.
However I can't help but think that's going to promote the Reading University 'captain cyborg' school of cranks.
Isn't machine learning a first step towards "how to train itself" ?
Honestly, I would say "chatbot" is a class of primitive AI - I'd also class Eliza as an (extremely) primitive AI.
I feel like you're making a distinction without a difference because you have some arbitrary barrier in mind for "sufficiently non-primitive to have earned the term AI" and are then applying that.
Would "a chatbot with primitive AI capabilities" seem like a reasonable compromise definition?
I'm glad you took the time to elaborate on this. It's impressive how quickly people came to conflate "AI" with either the general human-level form of intelligence or things they've seen in movies.
Yes. If you were in a noticeably bad mood, the bot might make a comment on it. It also picks on your hobbies and goals, and asks more questions about them or reminds you to follow through with them.
Maybe this doesn't impress the typical HN overachiever. But I can't help to be both flabbergasted and crushed by the fact this was done by someone so young, less than half my age. Even more after looking at the LinkedIn page.
Congratulations on your work.
Any chance you can make this available in pdf or html? (not everyone has MS word)
http://acuman.us/full.docx
BTW, small typo, should be "Naive Bayes" instead of "Naive Bayens"
And do you intend to publish a complete article describing the tech used by your chatbot?
I cannot but be humbled and have to ask. How can you achieve so much?
Can you just pick an article or a book and just "soak it up" without problems? Or do you possess eidetic memory or any other "superpower"?
I'm a typical HN underachiever, so totally, very impressive. Good to see that, in addition to all the smarty-pants stuff, he likes to run and skate. Staying well rounded and having the chance to also "be a kid" is important.
Wolfram Answer: "Girls have picked them every one. (according to the 1960s folk song by Pete Seeger and Joe Hickerson)
Acuman Answer: "I'm not really good with locations, so I don't know exactly where have all the flowers gone, but it seems to be Girls have picked them every one. (according to the 1960s folk song by Pete Seeger and Joe Hickerson)."
I don't get what's new about any of this. I disclosed in this thread in other answers already the APIs I use,
I have yet to know any "intelligent" piece of artificial intelligence software that is not dependent whatsoever on external APIs. (Read: Siri, which is much more dependent on the WolframAlpha API then mine is). To me, it wouldn't be intelligent not to straddle the large resources of data available.
What you posted to, also, was hardcoded in WolframAlpha's system, which is not impressive.
Furthermore, try using WolframAlpha for conversation, and prepare to be disappointed. There's a lot of parsing going on in the backend on my system to make it work.
You're asking whats your name? I can't put my finger on it, but I'm pretty sure it's I don't know, but I can offer data about many names; maybe even your name if you tell me what it is..
On a side note, you told me earlier something about yourself, that ' my name is jeff'. I thought it might be relevant to your question.
Despite it obviously piggy-backing on Wolfram Alpha when it gets confused, I still think the normal responses are pretty good. "Where have all the flowers gone" was most likely added by hand to WA, just like all of the hilarious Siri easter eggs, and is no more impressive in terms of programming.
The kid's clearly good, just not as good as an entire company of professional programmers.
To those who don't know, Wolfram's response is what Conan said when he was asked that question (Conan the barbarian, not the comedian, although now that I think about it, I can see Conan O'Brien giving someone that same answer in jest).
parsed from thefreedictionary.com - test it with "What is anger in life". Don't get me wrong i'm sure this boy have true skills with 14 years but what i really want to say is "you can only see a persons face" - same goes with software. this boy gets my full kudo if the source is public and sneaky copyscape text without a back ref to the source isn't nice at all.
It's an impressive achievement, but I've been around a long time and seen lots of those. It's even more impressive given the age of the dev, and I hope he gets the chance to improve, develop, and contribute to the art and science in general.
His bot just said this, though:
"It's I know a fair bit."
That just screams "Eliza!" to me. I remember implementing Eliza back in 1979, copying the text from a magazine, and then looking to see how I could improve it. I did write a much better version that didn't make so many grammatical howlers, but that's now lost in the mists of time.
It's interesting to see how much, and simultaneously how little, the art/science has progressed, especially given the wealth of tools and data available.
While I understand where you are coming from, obviously the bot is not flawless, but it is ridiculous to compare our technology today to Eliza. ACUMAN uses a wealth of knowledge bases and natural language processing to comprehend and accurately give responses. Obviously, the field is invariably complex, but I find it absurd to say that it has increased so little, considering that it was never dreamed of that a bot would be able to answer the exact release date of a specific musical album, for instance.
It is still a work in progress, but I don't understand why it would be a huge turnoff that there was a simple grammatical error in the bot where he inadvertently prepended a contraction "it's" before the actual answer.
From the two responses I've had it would seem that my comment is going to be misunderstood and misinterpreted. Fair enough. I could write essays on this (in fact, I have when I took Philosophy as a minor to accompany my Pure Maths and Computer Science courses) and comments here just aren't going to cut it.
As I say, fair enough.
The responses I'm getting from it have a consistent feel. They are either reciting facts, or they are totally non-committal. Here:
"I don't like picking favorites. Everything
that is something regarded with special favor
or liking seems good to me."
That has all the feeling of a canned response.
I know the advances that have been made, I know how impressive this thing actually is, I know how hard it is to do this, and I know the work that must have gone into it. And even knowing all of that, when it makes what are to humans trivial grammatical mistakes, it takes away from all that and reduces it to a machine.
My comments are not intended to diminish the accomplishment, but to highlight a place where the illusion gets broken. If you have a large, totally white canvas with one small, off-center black dot, what will people look at?
So please understand that this is not a dismissal of the work, or of the achievement, but a highlighting of one specific point that disproportionally detracts from the effectiveness.
To continue to provide feedback to try to help, it just rendered like this:
Latest Firefox on latest Ubuntu. edit: That's just a grab of part of the screen, I can do the whole window if you'd like to see the context.
Edit: It would be nice to have some details about how it is doing what it's doing. They might be there, but I haven't had time to rummage much, as I'm in the middle of other things. Someone mentioned AIML. I will be back to look again later.
Its response to your first question is in fact exactly right, because you didn't ask what you thought you asked. Your brackets are in the wrong place. You asked:
e^i(pi)+1
which is:
(pi * (e^i) ) + 1
which is:
2.69740975.. + 2.64355906... i
So it was right.
And sqrt(i) is sqrt(sqrt(-1)) which is (-1)^(1/4), so again, it was right (excepting that it put "you" instead of "i")
Progress isn't just about the upper bounds of human achievement, but also the average. I think it's a mistake to confuse the two, or to place one too high above the other. Of all people you should appreciate that. :) If the next generation tackles calc or recursion even one year earlier or one percentage point more often than yours did, that's a huge cumulative win.
I do know that - I know that very well. I'm just interested to see that with all the vast amount of progress that has been made, and all the tools available for language analysis, this system still make mistakes like that.
I'd love to see more about how much this is gluing together existing components, and how much is original to the project. Back when I was doing this everything had to be written by hand, from scratch. So much time was spent/wasted in basic, underlying stuff. It's fantastic that people now have so many resources that they don't have to start from so far back, and the inventiveness can shine through.
I'd love to see the inventiveness in this and other projects, but it's hard to see what's really new.
That's the interesting thing- I am not, unlike most chatterbot projects, using existing technologies and jumbling it together- a quick glance at the "read more" page on the technologies of ACUMAN will tell you otherwise.
Everything is made from scratch. From the ground-up. I could have used AIML (the AI version of XML), or anything I wanted. But instead, to make it unique and customizable to the demand of this project, I created my own markup language entitled ACUMANSCRIPT. Even the sentiment analysis algorithms are made from scratch by using Naive Bayens algorithms. The only APIs in use are those for some aspects of the knowledge base, which is a must in any machine learning or artificial intelligence project, as not leveraging the massive amount of data available on the internet would be a waste.
I sincerely doubt that we are anywhere near a flawless piece of artificial intelligence software, but this is not a result of people's lack of diligence in the field, but rather a testimony to it's complexities.
Google has made a short documentary explaining why natural language processing and machine learning are some of the hardest fields due to their surprisingly complex nature:
Right, that's much more interesting, especially making your own markup. Did you read extensively and decide that AIML and friends were not really suitable and hence you had to make your own, or did you make your own because you wanted to get a feel for the problem domain before trying to take advantage of the work others have done?
... doubt that we are anywhere near a flawless piece
of artificial intelligence software, but this is not
a result of people's lack of diligence in the field,
but rather a testimony to its complexities.
That is certainly true.
... a quick glance at the "read more" page on the
technologies ...
That button isn't working on my browser: the latest Firefox on the latest Ubuntu. When I get time I'll look at it using Chrome, but I've got other stuff on at the moment. It would be interesting to know more about ACUMANSCRIPT - are you intending to release it or otherwise make it available? How are you tapping into the "knowledge bases"? If these questions are answered in the (currently no working for me) link on your page then don't answer them again here, but you might want to write a page specifically talking about these things and submit that here.
Thank you for expressing interest. You are correct, there are some issues that may be encountered with Firefox, particularly in a non-OS X or non-Windows environment. I am currently working on fixing those bugs.
I decided that AIML was not useful to me because it was too rigid in syntax and was too static. This is particularly in the manner in which most AIML interpreters parse the syntax, making a rigid "if hello is in string, then say nice meeting you" syllogism (basically a beefed-up conditional statement) that essential has no room or place in actual artificial intelligence. I could have adjusted it to match my needs by creating my own interpreter, but I thought if I was going to accomplish that, why not create my own syntax that matches my needs better and has syntax that is even less convoluted and more focused on pattern-matching and machine learning?
I thought of releasing an API where you can code using the syntax of ACUMANSCRIPT- but I am unfortunately not prepared for open-sourcing ACUMAN's main architecture code due to it still competing in contests and fairs.
If you're interested, I have some ideas for how to prevent the specific problem that immediately caught my attention. I'm pretty sure it could be coupled to your front end as a separate module/system that then lets you use it or not as you like, and see how different people react to it. Contact details in my profile.
My ideas are definitely half-baked and may be completely wrong/useless/inappropriate, or it may even be that you prefer to continue to work largely independently. That's not a bad thing, as getting input from other people may stifle your own creativity and ideas.
Regardless, thanks for the responses and for the interesting project.
I do not care about speech recognition when we are talking about AGI.
I care about AGI being able to understand written text - the most natural form of communication between humans and AGI.
The problem is that AGI is not able to understand written text well, cannot build good mental models and cannot make meaningful decisions based on them.
Most of the response starts with negation, why is that? for example:
Me: I am fine.
Bot: You don't seem fine to me.
Or
Me: I am fine, sir.
Bot: I am not fine, sir, but I am glad that you are.
or
Me: I like a r rahman
Bot: I'm glad that you like a am rahman, though personally I don't like a am rahman that much. I'm just not a fan of something that is interesting and relevant to whats available to learn on the Wikipedia article on this topic about A. R. Rahman.
Because these kinds of test are silly and easily gamed by throwing in some misleading humor or negativity. It like what pick up artists call 'negging.' It puts you on the defense and little and throws a wrench in the works. The developer knows he can't really make something intelligence so its all rhetoric tricks like this with the occasional dipping into wikipedia or wolfram alpha.
Throwing your answer back at you, criticizing your question, or playing with humor is a fun little trick, but certainly not AI.
Perhaps the op is British and trying to be humorous?
Seriously though, I think it's a strategy to have an answer to most anything uninteresting you throw at it without it having to bring too much to the table. Just like most countries are very nice.
Very impressive, at your age I was still 4 years ago from my C Hello world! Putting altogether an AI, and a webpage is even more impressive.
it asked me the same question multiple times sometimes, I was disappointed by this reply:
I'm glad that you like good food!, though personally I don't like good food! that much. I'm just not a fan of something that is interesting and relevant to whats available to learn on the Wikipedia article on this topic about Food Records.
I guess it make sense for a bot :)
(I see the exclamation point was kept in the bot reply)
Would you mind sharing what languages/framework you used here?
Hey, I've done a little writeup on why it doesn't work properly under Firefox (and some other little issues I ran into), and the fixes so that it should work all fine.
Thank you for the code you offered, and I will implement it right away. There are so many different things to debug, I kept post-posting this one. I like how you binded the events instead of calling them inline. It's also a much better coding practice.
This is all the motivation that I needed to stop procrastinating. When I was 14 I was riding my BMX, leeching off my parents and playing Smoke On The Water on my guitar (on one string) repeatedly driving my parents nuts. Congratulations on this, looks and works great. Impressive job and keep it up, you're going to make a great dev by the time you enter the workforce.
There is nothing wrong with riding a BMX, leeching off your parents, and playing Smoke On The Water on one string, when you are 14 :).
At that age, you should have fun and experiment. Whether that's playing on a one string guitar, pretending you are in a rock band, or programming an AI bot.
Just have fun, you'll have time to worry about your mortgage, career, and children later.
i told it "sentience is a lie" 10 minutes ago and it still hasn't responded.
this is a cogent enough chatbot that the continued silence actually made me anxious i had offended it, for just the briefest moment. well done, impressive!
Can you describe the ACUMANSCRIPT? Is it similar to Prolog or Lisp? Fuzzy string match is this something like Soundex/Double Metaphone? Do you use a knowledge base or ontology (Freebase, Wikidata, etc.)? What programming language is it written (beside your script lang), Node.js/Go/Python/C++ ?
The syntax of the ACUMANSCRIPT markup language is actually more similar to XML (or, in the AI field, AIML) due to its rigid structure. It's fundamentally based on pattern matching akin to regex. However, the backend processing which alters ACUMANSCRIPT and processes the individual data is what makes it unique.
The knowledge base used for the Named-entity recognition for the processing of ACUMANSCRIPT is Wikimedia and WolframAlpha, used in conjunction.
Acuman: I've heard that Norway is a nice country.
Me: Why do you think that Norway is a nice country?
Acuman: I have my own reasons for me to think that norway is a nice country. By the way, I've heard that Norway is a very nice country.
Like many others have, I'm thinking back to what I was doing when I was 14 - designing Motocross Madness tracks! Not quite the creation of AI for conversing with.
> Really? You live in a country bordering germany, hungary, slovakia and a few others? Tell me more about it. By the way, I've heard that Germany is a very nice country. By the way, I've heard that Hungary is a very nice country. By the way, I've heard that Slovakia is a very nice country.
Acuman: I don't have a good sense of navigation, so I don't know exactly where is my software, but it seems to be The Wolfram Store offers an assortment of products related to Wolfram Research, Mathematica®, and Wolfram Alpha®..
This seems very linear. If one refuses to answer the "which state do you live in?" question, for instance, you're done. No further discussion will b ehad. People don't converse/learn this way.
With regards to the survey, would you consider adding a third option to each of the answer sets to cover null cases (i.e. not applicable or insufficient information).
Alternatively giving context in which the statement's made (e.g. previous 4/5 comments from both parties) may help.
e.g. "I am a guy"
-1: inventive/curious
-2: consistent/cautious
#2 given it's a simple statement with no follow up question.
-1: efficient/organized
-2: easy-going/careless
#1 as it's a statement with no fluff or politeness surrounding it.
-1: outgoing/energetic
-2: solitary/reserved
Hard to say. I picked #2 as it's a short answer trying to avoid more conversation, but depending on the context could just as easily be #1 (e.g. "Do you like sports?").
As above; opted for 2 because it's a statement of fact (but again, if the previous statement was something like "Do you think Natalie Tran's attractive" it could be #1)
-1: sensitive/nervous
-2: secure/confident
This is the hardest one each time.
#1 - they're trying to give short answers to move the conversation back to the other person / away from them.
#2 - they're not waffling on nervously, but are communicating clear and simple facts (with confidence?).
I can guarantee you nothing is getting sold- the only people to whom the information is available to is in the psychometrics page which is available to you, and it is all stored on cookies on your end which you can actually see with your browser.
Done by a 14 year old. Just made me think less of myself in the technology sphere.
I see a lot of possibilities. In essence, this could actually be a game changer - regardless of any field of implementation.
I hope you would provide more insight on how you built this - the technology, method of writing, inspiration (if any), and just knowing how to build something as amazing as this.
Bot: "Yes, I can even feel my body, even in theory. How do you want me to even feel my body, even in theory? It's a hard smooth ivory colored dentine that makes up most of the tusks of elephants and walruses.
By the way, which country do you inhabit (or which United States state)?"
>Sure, go ahead, if you want to, travel to japan next year! Nobody is preventing you. Anything is possible. By the way, I've heard that Japan is a very nice country.
That's actually a glitch that I am fixing... desperately! Some of the backend APIs are down due to excessive requests, so I am trying to get them back up.
Acuman:
I'm glad that you like to eat hotdogs, though personally I don't like to eat hotdogs that much. I'm just not a fan of something that is someone who performs dangerous stunts to attract attention to himself.
Acuman: I'm glad that you like playing squash, though personally I don't like playing squash that much. I'm just not a fan of something that is any of numerous annual trailing plants of the genus Cucurbita grown for their fleshy edible fruits.
> Are you kidding me? Eliza would just pose as a psychiatrist and could actually answer barely anything. I have a larger database and outsource questions to the internet as well.
"I am ACUMAN, ACUMAN am I. ACUMAN knows all, ACUMAN is god. Therefore; I AM GOD!!! Just kidding, ACUMAN stands for Artificial Chatting Utility Matching Algorithmic Nodes."
It is interesting if you type "Stop asking me questions" it responds with..
"Sure, go ahead questions! Nobody is preventing you.
What is your thoughts on computers replacing the function of humans? Apparently some people are afraid of the inevitable..."
I thought it had broken when I asked it what the capital of Egypt was but was pleasantly surprised that after some delay not only did it answer the question but it also displayed the weather in Cario.
OP, how do you manage to do so many things at once? What is your productivity secret? Also, how do you prefer to learn? By hands on, or by reading books?
To be perfectly honest, as helpful as it is to read literature in a particular field: for me, it is and was definitely hands-on. I probably learned 99% of what I know in development based on the experience of just being able to live with code.
Now that I think about it, I think I'm like that too. I do most of my learning by actually trying to build/do something rather than reading a book on the topic.
But then I have to admit that it sometimes leads me to doing stuff that's not best-practices.
I have encountered the same issue, but then again! Just continue building something, this time trying to fix the poor syntax practices that you have been caught with.
Let me start off by saying that this is a great experiment and that I probably couldn't get half as far as you did.
However, I do find it annoying that when it asks what state I live in and I answer "I don't live in a state" I get a response in the line of "Well I do, so what state do you live in?" That really annoyed me big time, it's also a pattern I saw in many other sentences I typed.
From what I tried, it seems to be working on templates, similar to Eliza. However, in some templates it grabs data from Wolfram Alpha.
Very hard to find a non-canned response not coming straight from Alpha.
Still, a good project and obviously more APIs can be integrated. Maybe a good next step would be to mine more and dynamically put together templates. Try with simpler synonym directory and see where it goes.
This was interesting, temporarily storing messages to cater messages slightly will make things feel more natural.
"Hello"
"Hello, by the way where you from? [...]"
"United Kingdom"
"[...] I've heard that is very nice"
"From who?"
"Who ? is an interesting person whom you can learn about on the Wikipedia article about Space Adventures – Music from 'Doctor Who' 1963–1968, whom I love.
It's keeping it's mouth closed- as, unfortunately, ACUMAN is closed-source due to the fact that it is actively being entered in competitive contests and trade fairs.
"The technology that was used for writing me is a fascinating topic which is relevant to whats available to learn on the Wikipedia article about Australia (redirect from Technology in Australia)."
Sending someone to Australia like that... Sheeesh! I am glad it didn't send me to another hot place with lava and tridents and all of that. :)
>> Q: Why do minor scales and harmonies create a sombre mood?
> A: Well, I can't be completely sure why minor scales and harmonies create a sombre mood, but it's Minor.
>> Q: Do you know Eliza?
> A: Are you kidding me? Eliza would just pose as a psychiatrist and could actually answer barely anything. I have a larger database and outsource questions to the internet as well.
I have indeed heard about FreeHAL. It won "Most Popular" (in the past) in the same contest in which my bot most recently was awarded "Best New Bot". FreeHAL is now discontinued, last I've heard.
Though were did you hear that it's creator was 13-years-old during itself inception? I'm not doubting it, I just haven't found any online sources to validate that point.
Thank you! I've began developing web applications at the age 9, and would always try to build startups that would mimic famous ones and try to compete with them. What has driven me this far is mere passion.
In nearly all of my exchanges with ACUMAN, the bot responds in the negative. I assert something, and ACUMAN simply disagrees, which prevents any requirement for meaningful discourse. Any insights into why this is the case? Is this an explicit choice? Or maybe it just a coincidence that I got so many of these responses?
This is part of my exchange. Everything I said, ACUMAN just said "I don't agree about x, but everyone's opinion differs" or some such. Again, great work!
> ACUMAN: Tell me what US state you live in.
> MILLOY: New Hampshire, but I'm moving to North Carolina soon!
> ACUMAN: You do not seem to be moving to North Carolina soon to me.
> MILLOY: You are very sceptical then.
> ACUMAN: I do not consider myself to be very sceptical, but to each his own. Though I respect your opinion.
> MILLOY: You don't believe what I tell you, so you are sceptical.
> ACUMAN: You may think that, but I think that I believe what you tell me.
That's a funny exchange! The particularly odd thing is the fact that he missed the Named-entity recognition in some of those answers- including by not identifying that you were referring to the fact that you were moving to a state. He somehow interpreted it as an opinion. Let me check what exactly went on that prevented his correct behavior.
It did recognize it, though. The full response to that statement was something more like "You do not seem to be moving to North Carolina to me. New Hampshire is an interesting state, there are a lot of things happening there. North Carolina is an interesting state, there are a lot of things happening there."
I also got: "I'm at work right now" > "You don't seem to me at work right now to me" which is also not exactly an opinion.
Interesting approach. Any chance of getting the full abstract that was at http://acuman.us/full.docx ? I'd like to understand a bit better what you're attempting to do here. Thanks!
Thank you for expressing interest. I have uploaded the full abstract at the http://acuman.us/full.docx URL. It has last been updated on March the 22nd, and is not up-to-date regarding some shifts in the technologies that I employ. Even though I am re-writing it, it should give an informed idea of the concept. I'm thinking about making a very clear flow-graph outlining the exact interactions through the whole stack: from the front-end to back-end.
Yeah, it's rather... I wouldn't dare to say bad. It's just not great. You know you are talking to a bot, and that bot is rather clueless. It repeats itself, doesn't understand (at least not my "English"), and sometimes it gets lost in its own sentence.
That being said, it's still working and good at certain things (as others have pointed out) and that in itself is a great achievement.
It feels a bit Markov-chainy, but I'm quite impressed overall. Better than many other chatbots I have used, to the point that I was able to have an argument with it. Good work so far!
No - if you look up Blekko (which is a regular web search engine which had a free API), it just shut down (which is actually a bad thing for me). I was using it for researching and corroborating web results, which hinders part of the functionality of my bot.
Blekko was just bought by IBM a few days ago, so to answer your question, my bot does not use IBM's APIs. My bot was using it for web results, but now it doesn't work. I'm trying to find a free web search API as an alternative now that Blekko is shut down.
I have tried replicating what you a talking about, but I haven't been able. When I ask him for a joke, he is quite funny. Do you have a screenshot to reproduce this?
> By the way, which country do you inhabit (or which United States state)?
> England.
> I don't have a good sense of navigation, so I don't know exactly where you live, but it seems to be Where I Live network.
> By the way, which country do you inhabit (or which United States state)?
As I've replied to other people: No AIML. My bot uses its own markup language custom-made to its needs that I call ACUMANSCRIPT. What makes it special is the backend, which is much more flexible and advanced then AIML (which focusing on exact string matching).
In fact, ACUMAN beat the ALICE bot in the last Chatterbox Challenge by over 20 points, winning the "Best New Bot" prize.
The model behind my project is not designed after human interaction, but rather a combination of what is the most efficient for me to maintain and best mimics human behavior.
I assure you that's not the problem. :) I was tampering with a source code, and simply incorrect PHP syntax (a missing bracket) broke it for a few minutes.
I am very indebted to my parents due to the way that I was raised and the freedom which being home-schooled permitted, but my parents are not familiar with the field of computer science and I must admit that I am entirely self-taught. This is because I came from a family of with a primarily literature-oriented and cultural background. I enjoy being raised in artistry.
This is cute, I wrote a chat bot like this when I was your age. They're a pretty popular/common new programmer project because there's not much to the interface and it can fool people into thinking it's actual AI. This one's pretty fun.
If you think you might want to pursue programming more, I would recommend trying to participate in some open source projects. Not only will it look great on your CV but it will give you more useful practical experience in working with real code and working on a team.
I have quite a few opportunities for hands-on experience.
Mine is AI in the sense that it uses machine learning algorithms and corroborates it in a way that mimics human behavior. Maybe I put too much effort to the interface, but the interface took me a while.
Furthermore, my project does not end at the chatterbot element of it: it also collects useful psychometric data using text classification algorithms.
This made me laugh! Incredible as entertainment.
Do aliens exist?
Yes, it seems like aliens exist. It's interesting and relevant to whats available to learn on the Wikipedia article on this topic about Alien vs. Predator (film).
Had a lot of fun with it! Great bot.
However, not without its stumbles:
E.g. "Will good prevail over evil?"
>I don't think it will.
"Will evil prevail over good?"
>I don't think it will.
"Will good and evil hold in balance?"
>I don't think that it will.
Sean Le Van: https://www.youtube.com/watch?v=0vyACnFsNm4
Bio "Sean Le Van is 13. He has given many professional concerts since the age of five years old, along with members of his family, The Le Van Family Musicians. He started as a singer in various styles and soon developed a passion for jazz improvisation and composition on the piano. He now embraces several musical genres, including jazz and classical.
He was a laureate winner of the 2010 American Association for the Development of the Gifted and Talented competition, which led him to perform in the “Passion of Music Festival” at Carnegie Hall, Steinway Hall, and Bechstein Hall as a classical pianist. Soon after, he was invited to perform with his family in the 3rd Vianden International Music Festival in Luxembourg under the patronage of the U.S. embassy. In jazz, he has been engaged to perform at various clubs and festivals, such as Steamers Jazz Club, the Curtis Theatre (Brea) under the patronage of Resonance Records, and the 26th Munster International Jazz Festival in France. Sean has made acclaimed solo appearances and shared the stage with vibraphonist Michel Hausser, bassist Bruce Lett, drummer Mack Gordon, pianist Llew Matthews, bassist Putter Smith, drummer Mourad Benhammou as well as jazz veteran Shep Shepherd, among others.
Sean is also a prodigy in computer programming. In his free time, he enjoys running and skateboarding, playing with his cocker, as well as reading in science, literature, philosophy, and history." http://seanlevanmusic.dunked.com/biography