AI Zone Admin Forum Add your forum

NEWS: Chatbots.org survey on 3000 US and UK consumers shows it is time for chatbot integration in customer service!read more..

AI Needed for a Special Project!!!
 
 

Hello All

    This forum is a very pleasant surprise; I have been looking for a place to engage software engineers and scientists on a specific topic for a special project. I have a project which requires someone who is an expert in AI and understands the fundamentals of human communication to such a degree that they can teach a computer to communicate and more importantly converse like a human. Now I know this task seems daunting to most, but maybe not so much to this crowd.  I need someone who understands the underline simple principles involved which allow humans to communication and converse. I’ll be the first one to admit that I am no expert in AI, that’s why I have come to you all in the hopes that I might find someone brave enough to take on the challenge, and not only take it on but bold enough to do it.

    So what am I asking for? I need someone to create an AI which can learn how to communicate and hold a conversation on the level of an adult human. Now of course I don’t expect the algorithm to be able to hold a conversation on all topics and there will be a very small finite subset of topics which all conversations with the AI will be bounded to all topic revolve around a few subjects. Bounding the subjects of the conversation should make the job a little easier, I hope.

    I want the voice to like an AI but a very well designed AI.  Like Jarvis in Iron Man or Kit in Knight Rider, therefore the AI needs to be able to learn how to mimic human ascents, tones, etc. You can think of this AI as smaller (smarter) encapsulated version of Apple’s Siri, one which is capable of holding conversations only around a few very specific topics, and on those topics it should have the ability to converse intelligently. I’ll stop here, waiting on your responses and questions.

 

 
  [ # 1 ]

Hello, Daniel, and welcome to chatbots.org. smile

First off, let me just say that I’m neither an engineer, nor a scientist, nor do I specialize in communications. However, that being said, I AM a “student of AI”, at least in the area of chatbots. I’m also a web programmer/designer, and have had the honor and pleasure of working on several chatbot projects, so I think I’m at least a little bit qualified to speak about this topic.

Now the notion of deterring you is the furthest thing from my mind, because probably the most significant breakthroughs, discoveries and inventions that the Human race has come up with over the past… say… forever came about because the people involved refused to listen to “it can’t be done”, and I firmly believe in the idea that “can’t never did a darned thing”, so please take my words here as just a single point of view, and not to be taken as law. smile

Ok, enough with the caveats and beating around the bush. Let’s discuss a few points, shall we?

I have a project which requires someone who is an expert in AI and understands the fundamentals of human communication to such a degree that they can teach a computer to communicate and more importantly converse like a human.

This is the first of many “tall orders” that I see in your request. While I’m sure that someone with all of the skills that you describe could potentially exist, said someone(s) have yet to make themselves known. We have a lot of AI experts here, many of which are contributers to the community, and I don’t wish to denigrate anyone’s knowledge or abilities, but to the best of my knowledge (and I’m easily the most active person here), nobody here has all of the skills that you’ve outlined in that brief statement. Now that I’ve probably come close to alienating just about everyone here, let me explain a bit, if I may. smile

Of “experts in AI”, we have no lack. Heck, on a good day, I even consider myself to be one (though I admit that I may be deluding myself). We also have a goodly number of people who have demonstrated that they can get their projects to “converse like a human” (sort of), in that many of the past and current winners of the Loebner Competition are members here. So far, so good, so where’s the problem, you may ask. The problem lies in this part: “they can teach a computer to communicate”.

Now, to me, to “communicate” is much more than simply spewing words out of one’s mouth, or displaying text on a screen. Communication is a multiple-way process, and requires that all entities involved “understand” all others involved, insofar as the concepts, ideas and meanings being presented. this understanding requires a certain level of intelligence, which is an “emergent property”, and at present, isn’t something that has been adequately demonstrated in a computer, program, or algorithm (at least, not that members of this community can agree on, at any rate; and trust me, this is a common and often hotly contested topic).

This is not to say that projects such as you describe aren’t worth trying. On the contrary, I firmly feel that not only should there be projects of this sort, but that they should be pursued with a single-minded determination that verges on religious zealotry. cheese And there are several projects already in existence that are similar to what you’ve described, but there’s always room for another. wink

I realize that not a single word of that long-winded, self-important rant may be all that helpful to you, so let’s address that now. As I’ve indicated, I think that a project such as you’ve described (if a bit tersely) would be a worthwhile endeavor, but you’re lacking in details, specifically in the area of where we can assist you. Can you expand upon your idea a bit, and provide us with more information, so that we can best advise you?

 

 
  [ # 2 ]

Hi Dave

  Thank you for your honest and gracious response.  First let me start off by saying that I may have accidently set the bar a bit higher than I actually intended.  Out of ignorance I used words and phrases that, shall we say, raised a few eyebrows? cheese I’m not expecting the AI to be as proficient in communication as someone of you experience and expertise may have been lead to believe, I apologize for that.

    So a little more about the project.  Well we are designing a new short range electric vehicle and we would like to ( among other things ) give this vehicle a personality, by way of an AI unit.  Not just any AI but one with the ability to give commands to the internal systems and one with a better than average knowledge about the internal systems of the vehicle.  We need the AI to be able to take commands and perform some very basic tasks, we need it to be able to do things like run system diagnostics and report or issue commands to embedded systems in the vehicle based on instructions it receives from the user/driver.  The range of commands should be very basic by your standards.  For example we would like the AI to be able to issue commands to lower level systems to turn on and off the lights, increase and decrease velocity, report on system status when asked, questions like “what is the battery life at present rate of speed,” “what is the gforce of this turn.”  In addition to these types of commands we also need it to be able to instruct lower level systems to perform a certain set of tasks and report on the completeness of those tasks.  For example we would like the user to be able to give a command like, “Connect to my phone and call “so and so” , ” connect to my phone and play track 8 in playlist whatever” things of that nature.  Now the AI will not actually be performing these tasks it self, it will merely translate these commands into a set of instructions it will pass on to the internal systems those systems will do all the work. 

  I’ll stop here to give you a chance to respond and ask more questions.

 

 
  [ # 3 ]

Most of us here have the knowledge to assist with the Q&A’s.  For the voice input/output, my crutch was Google text-to-speech, and I would not have been able to develop my application without this API.  So you would likely need to license a 3rd-party text to speech.  Passing commands to a sub-system would not be that difficult to code.  What base code were you thinking of?

 

 
  [ # 4 ]
Brian Rigsby - Mar 9, 2013:

Most of us here have the knowledge to assist with the Q&A’s.  For the voice input/output, my crutch was Google text-to-speech, and I would not have been able to develop my application without this API.  So you would likely need to license a 3rd-party text to speech.  Passing commands to a sub-system would not be that difficult to code.  What base code were you thinking of?

Hi Brian
 
  The base code will have to be C.  The most important feature is the sound of the voice and attitude or personality, that’s what I was hoping you guys could engineer or maybe replicate for us, and the AI smarts of course.  Hmmm 3rd party IP, well if its necessary, I guess.

 

 
  [ # 5 ]

I’ve written a “talking GUI” for a chat project called ChatScript in the past, but I did so in VB.NET, rather than C, and I never really got the chance to finish it, for a number of reasons. So I know that an interface that uses both Speech Recogintion (SR) and Text to Speech (TTS) is very possible, as far as that goes. I’ve also got plans (at some point in the future) for doing the same thing with another chatbot program that I’m currently working on, called Program O, but I don’t expect to begin work on it until mid to late May.

The AI’s personality will be dictated by the responses created for it, while the voice will have to be selected from a rather wide variety of third party TTS voices that are available through a number of different companies. the trouble here is in finding one that can be used “royalty-free”, if you’re going to put the AI into a commercial product. Of the many TTS voice providers out there, both Loquendo and Ivona have the best quality offerings. My personal preference between the two is Loquendo, mainly because of the seductive quality of their female voices. However, I don’t know if their voices can be used in a commercial product, so that’s something that you’ll need to look into.

As far as the functionality level of what you’re needing, something as simple and basic as AIML could probably be used, especially once AIML 2.0 moves beyond the “planning stages”. Right now there are only a couple of AIML interpreters that make use of AIML 2.0, and one of them is not yet available for public use, so (to the best of my knowledge) only Program AB, which is written in JAVA, is a viable option. The other platform that I know of is Program O version 3, which is still in the design phase, and won’t be available until later this year.

 

 
  [ # 6 ]

OK, I’ll chip in.

EDIT:  I only read the first post initially, wrote a lot, went away, came back, finished post, posted.  Then read your next post about what you actually required.  Felt that what I had already written may informative and insightful anyway, so I left it and modified a little smile

What you are asking is massive in your original post!  So I’m glad that you revealed more details in your second smile  That said, you mention initially abilities of an AI that we are working on, and have been working on for the past 5 years.

Due to the scale of such a thing, nobody is going to develop it unless there is a significant amount of money involved for development costs.  Just the chat aspects alone would get you into the history books, and you’d pass the turing test, get a medal, probably a Nobel prize to boot smile

But, I shall offer some advice on what you would need (should you wish to persue your original post ) smile

1.  Natural Language Parser which will take any sentence and create whats known as a POS tree.  This converts that sentence into nouns, verbs, noun phrases, verb phrases and more.

2.  Grammatical Relationship construction, this takes your sentence and POS trees and constructs high level relationships between the words, you need this for the next step of identifying entities, elements, actions and properties in the next step.

3.  “Rationalizer”...Ive not seen one of these anywhere, and I believe we are the first to develop such a thing.  This uses the previous 2 steps, some semantic relationship algorithms and constructions a rationale of the sentence.  You end up with a list of entities, actions and properties and the relationships between them….basically, who/what is performing what actions in the sentence.  A simple example….

“Dan is going to the cinema” resolves to this

{
"actions": {"going-3": {
"word": "going",
"base": "go",
"lextype": "verb.motion",
"type": "action",
"tense": "present",
"subjects": ["Dan-1"],
"prepositions": ["to-4"],
}},
  “objects”: {"cinema-6": {
"word": "cinema",
"base": "cinema",
"lextype": "noun.communication",
"actions": [],
"properties": [],
"prepositions": [],
"conjunctions": [],
"classification": "OTHER",
"gender": "NEUTRAL"
}},
  “objid”: 2,
  “subjects”: {"Dan-1": {
"word": "Dan",
"base": "dan",
"pos": "NNP",
"deptype": "nsubj",
"type": "subject",
"actions": ["going-3"],
"classification": "PERSON",
"gender": "MALE"
}},
  “subid”: 0,
  “prepositions”: {"to-4": {
"word": "to",
"base": "to",
"type": "preposition",
"pos": "TO",
"govenors": ["going-3"],
"entities": ["cinema-6"],
}},
}

I’ve left out some required “secret” fields of the dataset, but you get the idea and can see how this takes a simple sentence and creates a structed form.

This has taken a LOT of effort, and requires a deep understanding of the english language to be able to handle pre-positions, external compliments, possesive, verb modifiers and more….NOT easy let me tell you especially co-reference (pronouns).

This step also performs entitiy recognition (identifying people, gender, organisations, locations etc), and co-reference resolution.

4.  Once you’ve got your rationale, the next step is disambiguation, inference and deduction.  Disambiguation resolves elements of the rationale that you may not be certain about and uses inference to help it along

For example, Football could mean the sport, the ball itself or other things.  You can resolve a large number of these once you have the rational, as in “Dan kicked the football”....kick is an action, and using inference rules, it can determine that I couldn’t kick the sport itself, as football the sport is an abstract object, and I am physical, so I must mean the actual physical ball.

5.  At this point, you finally have a rationale, that you can be sure about is pretty correct.  The final step is to analyse that rational to ensure that it makes sense, and if there is any missing information.  At this point, this is quite easy, providing you have the correct foundations (which is another thread unto itself).

“Dan is going now”.....resolves to Dan is going to a different location, but the location isn’t known, so Caesar may prompt for location information such as “Where is he going?”  unless you had already given the location information earlier by way of “Dan is going to the cinema soon”.

That’s all I’m giving away for now smile  but as you can see a lot of work, and you haven’t even got to data retreival, training, logic processing, sentence refactoring, data storage, recall and more before you can even consider a real, smart, “true AI” chat bot.

Now, to actually perform what you require, “intelligent” command processing and simple conversation at an advanced level, you would still need a lot of the above (including some form of speech - text processor) but should be a lot easier to accomplish.

 

 
  [ # 7 ]
Dan Hughes - Mar 9, 2013:

3.  “Rationalizer”...Ive not seen one of these anywhere, and I believe we are the first to develop such a thing.  This uses the previous 2 steps, some semantic relationship algorithms and constructions a rationale of the sentence.  You end up with a list of entities, actions and properties and the relationships between them….basically, who/what is performing what actions in the sentence.

My bot Mitsuku has been able to do this for a while now.

Dan is going to the cinema

Who is going to the cinema?
Where is he going?
Is Dan going shopping?
Is Jake going to the cinema?

and so on.

I make this file available for anyone to use at http://www.mitsuku.com under the AIML files tab, as I am a firm believer that if it wasn’t for patents, copyrights, intellectual property etc, we would probably have put a man on Mars by now instead of still being in the steam age.

I mean no offence by this and realise you are working on a commercial product. I also apologise for taking the thread off topic.

 

 
  [ # 8 ]

Ahh I stand corrected, very interesting! smile so you also construct an semantic role object of sorts? 

I agree that it would be much better if everyone just shared, but unfortunately that’s not the case, maybe if money was abolished it would solve half of these issues smile

 

 
  [ # 9 ]

Dave: 

    Thanks for pointing out the providers of voice IP and third parties for us to look into.  I will take a todo and look these guys up over the weekend.  Your assessment and opinion on feasibility regarding my request seems to have changed a bit, that’s a good sign, however Dan doesn’t seem to be sooo optimistic. I’ll get to that…  You seem to think of it as a talking GUI, not sure I’d describe it as that, because the way we see it, there will be no real “Graphical” User Interface, only a voice responding to commands and at times autonomously injecting suggesting regarding driving style, road and vehicle conditions.  These injections will come at the behest of internal systems transmitting critical information from sensors or from control algorithms if they determine a situation or condition is worthy of the driver’s attention. 

  The interface will actually have no “face” (no pun intended) because we want the driver to think of it as the voice of the vehicle taking commands and responding to driver input, driving style, road conditions, internal sensor data, and control algorithm output.  We want the AI to bring to life the internal systems of the vehicle by expressing those individual systems, and alogrithms as one entity, or better one stated as one machine which has a unique quality, it is aware of itself and it’s surroundings.  Now Dave, before you chastise me for requesting the impossible, I know the last statement is not “really possible” but one can dream, that’s what’s going to get us to Mars (Steve), we are going to fly there on the dreams and passions of a few bold minds.

 

 
  [ # 10 ]

Daniel, I see your point, but please bear in mind that what I was/will be working on isn’t exactly the same as what you envision. I agree that your project is more along the lines of a VAUI (Voice Activated User Interface), or an AUI (Audio User Interface - There’s probably a better acronym available, but I’ve no clue what it would be). Still in all, they have some similarities in a few aspects, in that they both take spoken input, perform tasks and generate responses based on that input, and allow for an increased level of convenience for the user.

I’m just headed out the door to run some errands, so I’ll have to add more comments/thoughts later. smile

 

 
  [ # 11 ]

Oh I’m optimistic alright, otherwise I wouldn’t be leading a project to do exactly what your first post suggested smile  I just wanted to point out the magnitude of that request.

Not sure if the GUI comment is aimed at myself or someone else, but for me, with or without a gui makes no difference at all.  We currently have no GUI for our stuff, only a cmd shell and a speech to text module which can feed sentences to Caesar.  Our tech is designed to run guiless, embedded or whatever the task requires.

So…to simplify and at the risk of sounding pompus (which is in no way intended), you are looking for a “Siri” which you can embed in a vehicle?

 

 
  [ # 12 ]

No, Dan, that was directed at Daniel. You’re “Dan”, and always have been, since you first showed up here. cheese

If I don’t get my errands run I’ll never get things done, so I’m putting the laptop away now till I get back. smile

 

 
  [ # 13 ]

This is going to get confusing haha LOL

 

 
  [ # 14 ]

Dan…

  I see you and I are going to like each other right from the start!  Well I’ll only speak for myself, and say that I love the passion you have for technical implementation, or in other words the “how to” aspect of science, the part which makes dreams come to life.  Without that we would get nothing done, I love dreamers, don’t get me wrong, but the rewards should go to the Dream Implementers, not the dreamers!  Now I’m not an algorithm expert by trade or training, but I am an engineer, a hardware engineer to be specific, so my inclinations tend to lean toward the simplest solution for any problem.  Now Dan lets identify the problem, are we actually looking for an algorithm which can bring mechanical and electrical systems to life and express their thoughts, insights and mathematical calculations as those of a conscience entity?  Of course not, (yes i know you already know this) that would not only be impossible, but not really be useful or practical for a vehicle driven by a human being.  An autonomous vehicle may make a better case for such an AI, but not ours.  So the problem statement for your technical mind to ponder over is how do we create the “vague” illusion of such an entity?  That’s what we are aiming for.  Technically you can think of it as a talking command, debug and status interface.  Now how does that sound?  Hopefully a little simpler.

    As I said in the original post, it should only be able to converse or talk about a very small subset of topics, beyond those topics would be a great void into which it can not see nor comprehend.  Let us talk plainly Dan, what is a machine, sculpture, microprocessor, algorithm or beautiful painting?  They are static representations of a single stroke of genius realized by a creative mind.  They are not living entities and should be thought of as such, they are simply representations of a beautiful mind.  Your explanation and hints at implementation I have no doubt are technically accurate, your end goal however is to complicated, condescend with me to a lower state, consider the true beauty of simplicity, and maybe the end goal we are asking for will be a little clearer.

 

 
  [ # 15 ]
Dan Hughes - Mar 9, 2013:

Oh I’m optimistic alright, otherwise I wouldn’t be leading a project to do exactly what your first post suggested smile  I just wanted to point out the magnitude of that request.

Not sure if the GUI comment is aimed at myself or someone else, but for me, with or without a gui makes no difference at all.  We currently have no GUI for our stuff, only a cmd shell and a speech to text module which can feed sentences to Caesar.  Our tech is designed to run guiless, embedded or whatever the task requires.

So…to simplify and at the risk of sounding pompus (which is in no way intended), you are looking for a “Siri” which you can embed in a vehicle?


Yes I understand the need of a technical mind to clarify the gravity of a request made by someone ignorant of the technical feasibility of his or her requests.  And of course I don’t mind admitting my ignorance of the topic so please forgive me if I unknowingly overstate my actual expectations at times.  That’s why I like you Dan, you and I think alike to some degree. 

And…yes what we are asking for is sort of like a dumbed down version of Siri for a vehicle, yes that’s along the same lines that we are thinking.

 

 1 2 > 
1 of 2
 
  login or register to react