Complex Language Understanding & Execution (CLUES) Engine

  • 107 Replies
  • 29958 Views
*

sunama

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 109
    • ai project
Re: Complex Language Understanding & Execution (CLUES) Engine
« Reply #45 on: April 16, 2011, 01:20:23 pm »
Have you got a website for your project?

If your program truly works as advertised...you have something very special, as your program is not merely sentence/pattern matching, it is "understanding" the input and correctly making decisions on how to answer a complex sentence.

BTW. when did you start first coding this? I imagine that this program has a fairly hefty amount of code already associated to it.
www.aiproject.co.uk
Natural Language Processing

*

victorshulist

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 118
Re: Complex Language Understanding & Execution (CLUES) Engine
« Reply #46 on: April 19, 2011, 12:07:31 am »
No, not yet.  I will probably start at least a blog though sometime.   Not sure when.  Devoting full time to the project  8)   Of course I will continue to post progress reports on here  :)

*

sunama

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 109
    • ai project
Re: Complex Language Understanding & Execution (CLUES) Engine
« Reply #47 on: April 19, 2011, 12:47:47 am »
I would love to read it.

From the responses that your AI is giving. it is radically more advanced than anything that I have read about.

At this rate, I may request to license some of your algorithms/subroutines, to incorporate into my own AI.  ;)
www.aiproject.co.uk
Natural Language Processing

*

victorshulist

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 118
Re: Complex Language Understanding & Execution (CLUES) Engine
« Reply #48 on: April 25, 2011, 08:39:55 pm »
@sunama

Yes, there is no pattern matching or even statistical analysis being done here.  Everything you see is being done by *EXTREMELY* deep parsing and *knowledge inference*.    Information about common sense and the world helps the system disambiguate possible interpretations.   The system is designed and optimized for exceedingly fast parse tree generation.     So even on a single core CPU the system can pump out 10,000 possible parse trees per second and evaluate them all based on common sense in order to deduce which one the user probably meant.

First coding?  February 2009.   I did 2 proof-of-concepts in Perl (for the code engine).   Oct '10 to Feb '11 I re-wrote the core engine in C++ for extremely fast processing.

All that remains now is to add all the common sense knowledge.   This will be a combination of manual entry and pulling from many other sources.

After NLU and Q/A is complete, I will work on the system's ability to infer using NL.  That is, given several rules in NL, it will reason among them :)

*

sunama

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 109
    • ai project
Re: Complex Language Understanding & Execution (CLUES) Engine
« Reply #49 on: April 26, 2011, 02:30:22 am »
That sounds pretty damn impressive.
You must put up a web client or even a video of your language processor.
Most language processors, use sentence matching and statistical analysis to come up with the most appropriate answer to a question, but your program is more advanced.
www.aiproject.co.uk
Natural Language Processing

*

victorshulist

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 118
Re: Complex Language Understanding & Execution (CLUES) Engine
« Reply #50 on: April 26, 2011, 04:15:44 pm »
Thank you.

Yes, I am currently aiming for the fall to put up some videos on vimeo.com.  And hopefully a web client probably talking to the server via SOAP calls, by perhaps New Years.

You are correct in saying this software differs from mainstream chatbot technology.  In fact I have been tempted to not refer to it as a chatbot, but rather a SMART Tool.   SMART standing for Semantic Matching And Reasoning Techniques.   Of course 'Matching' may be misleading because people may jump to conclusions and think simple textual pattern matching.

Another reason why I am probably going to avoid referring to the technology as a chatbot is because of the fact that there will be many, many layers of processing between input and output, as opposed to chatbots which are typically "input stimulus >> output reaction".

Overall stages of processing
~~~~~~~~~~~~~~~~~~~~~~

1. Bottom up possible meaning generation (which takes hints from grammar and knowledge of world).

2. Evaluation of those possible interpretations from world knowledge.

3. Further evaluate meaning of input based on conversation context.  For example, are we in the middle of trying to arrive at a solution to a problem and we just asked a question to which the user has responded to.  If so, continue to determine the result.   Or, perhaps the system is currently being taught a procedure by example.    Or, perhaps the system's conversation state is simply in the initial "hello, how are you?" stage of the conversation.    So meaning determination happens all the way up to , and including this level.   (It can even happen later on, after the user has responded).

4. Once we are relatively certain we understand the meaning of the input, and we are aware what the state of the conversation is, determine how this piece of information fits in with our current goal.   perhaps this information is the single missing piece in a long chain of reasoning required to deduce a response to a question the user asked a few inputs ago.

So this is the level of processing the system will eventually do. 

For now though, I am at the NLU stage.    Input is taken, knowledge is used to deduce which possible interpretation makes the most sense, and then questions can be asked to test its understanding.    This of course is the foundation for all of the other layers discussed above.

Another important concept is natural language argument generation.    Given one or more rules that are given to the system (not as executable computer code), but instead given to the system as natural language, combine them with other facts (again in natural language), and have the system generate a logical argument, where the premise(s) and concluding statements are in natural language.


*

sunama

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 109
    • ai project
Re: Complex Language Understanding & Execution (CLUES) Engine
« Reply #51 on: April 26, 2011, 05:19:25 pm »
What you are trying to create seems very advanced.

One question though: the example of input/output you gave earlier in this thread, referred to a single topic. Can your AI (at this moment in time), process information regarding other topics.

Lets say for instance I informed it that "my car has an engine fault".
Then in the next sentence, I asked it, "Do I own a car?"

At this present time, would it be able to give me the correct answer?
www.aiproject.co.uk
Natural Language Processing

*

victorshulist

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 118
Re: Complex Language Understanding & Execution (CLUES) Engine
« Reply #52 on: April 26, 2011, 07:18:11 pm »
At this time no. 

Basically I am doing all the framework first.    Breadth first.     Creating the entire infrastructure for it to be able to handle any free form input.

Once I am done that, I will sit down and feed it a HUGE pile of information.   So right now I don't think it even knows what the words "engine" and "fault" means.   Right now it considers unknown words as nouns.  So right now it  *would* know you are telling it you have a car, and that car has some <noun> associated with it.

Thus, without knowing what 'fault' is, it couldn't answer something like "Is my car in mint condition?'

But, right now it wouldn't answer your question about "do I own a car" *because* I want it to fully understand the input, and I want it to stop and say "I don't know the words: engine and fault, please specify" or something like that.

Then, when that functionality is completed, it would then try to answer your question.    But before I create that functionality (to learn via NLP), I could go into its database and directly enter information about "engine" and "fault".

One thing I absolutely am not going to do is have it ignore the parts of the sentence it doesn't understand.  It will demand to know.   (I don't want an Eliza).   

So to answer your question,  no, it wouldn't reply right  now. 

I'm currently working only on a small subset of words,  and creating its ability to handle free form language first.     Then, I will update it with all the words in the dictionary, and their meanings.    It will never know every word (I don't think many people know every single word and every acronym), but I want to first give it the functionality to learn via NLP.

So I see completing this functionality (ability to learn) as higher priority, than going in right now and giving it more words directly to show more examples.

Example:
~~~~~~~~~~~~~~~~~~

user>  my car has an engine fault

ai> I did not fully understand your input.  I *did* understand  : "my car has an engine", but not the rest.

user> If something  has a fault it means it is not working as well as it should be.

ai> I see, so your car is not working as well as it should be?

user> correct

user> do I have a car?

ai> Yes

So, for now, I am doing a breadth first functionality.   Then, I will go in and teach it many many words (either directly, or via NLP --- directly of course until I have the "learn via NLP" functionality done),  *then*  it will answer more example problems.

I have tossed around the idea of first completely having it learn every word in the dictionary, then give a huge amount of examples, but decided not to.  First is "across the board" that is, get every functionality working with a limited vocabulary, then add "on the fly NLP learning of new words".

*

victorshulist

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 118
Re: Complex Language Understanding & Execution (CLUES) Engine
« Reply #53 on: April 26, 2011, 07:24:24 pm »
You may be wondering why the AI would complain about not knowing the word "fault" in....

ai> I did not fully understand your input.  I *did* understand  : "my car has an engine", but not the rest.

but didn't complain in.....

user> If something  has a fault it means it is not working as well as it should be.

The reason is:

The AI will first identify in both cases, the word "fault" as unknown, but it will assume it is a noun.

Based on the semantics of the input (it will realize that in the second sentence the semantics were that we were defining the unknown word), whereas in the first, we were not.

In a case of an unknown word appearing in a sentence that has semantics of defining something, it will know not to complain.  Instead it will learn the meaning.

*again: learning word meanings via NLP doesn't exist right now.   First I have to complete mastery of NLU on limited vocabulary.


*

sunama

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 109
    • ai project
Re: Complex Language Understanding & Execution (CLUES) Engine
« Reply #54 on: April 26, 2011, 07:39:03 pm »
So, what you are saying is that your AI is not yet able to learn, by natural language processing...is this correct?

If so, I am assuming, that you, the creator, are having to somehow teach the meanings/uses of words, by either hard coding in the source code OR loading up information, manually, in text files or a data base. Is this correct?
www.aiproject.co.uk
Natural Language Processing

*

victorshulist

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 118
Re: Complex Language Understanding & Execution (CLUES) Engine
« Reply #55 on: April 26, 2011, 08:04:53 pm »
Absolutely nothing is hard coded into the infrastructure logic.   The core engine also doesn't even really have any affinity to English.   The core could be used for other languages.   Information about words, meanings, etc , yes, are in text files fed directly at the moment.    Those text files, later, will be maintained by the system itself in response to natural language conversation.   

*

sunama

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 109
    • ai project
Re: Complex Language Understanding & Execution (CLUES) Engine
« Reply #56 on: April 26, 2011, 09:04:17 pm »
How difficult is it going to be though, to get the system to "update the text files, automatically"?

Based on what you have told me, my feeling is that this engine you are creating is a 3rd generation language processor.

If the likes of cleverbot or ultraHal are 1st generation (very little machine learning...quite dumb)
My own AI and the AICI are 2nd generation (full learning capabilities, but lack the ability to reason in depth)
Your NLP is 3rd generation. (deep complex reasoning)

How do you plan to bring your AI to market?
What sort of time line are you placing on this?
Do you intend to bring this to (the commercial) market or is this just a research project?

My estimate (and I could be very wrong here), is that it would probably take you another 2-3 years or so for you to develop a fully working prototype which you can show to investors and be confident of getting funding. Remember, you have still have to implement the automatic learning element of your AI. I believe that you also have to implement some of the more basic algorithms (eg. simple chat algorithms, simple greeting algorithms, etc).

Tell me what your plans are...I am very interested in your technology. My belief is that you would need to meld your AI with either a 1st or 2nd gen NLP. There is little point in you creating the more basic algorithms which 1st and 2nd gen systems already have working.
www.aiproject.co.uk
Natural Language Processing

*

victorshulist

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 118
Re: Complex Language Understanding & Execution (CLUES) Engine
« Reply #57 on: April 26, 2011, 10:32:50 pm »
Yes, it is very difficult to tell.   But I think optimistically, 1.5 years, worst case, say 2.5 years (to show a prototype).

It is currently just my own research, for now (only on evenings and weekends, mostly only weekends).

The learning new words on the fly through discussion will be easy when I complete FULL NLU  (which the proof of concept is already completed, with limited vocabulary, just need a decent number of base words such that any other words can be defined in sentences of base words).

Learning is 9/10ths understanding.  No understanding, no learning, simple as that !

Your bot generations examples is interesting.   I'm interested, if you can elaborate, and give a good example, of 2nd generation learning.

An important point in my design is that absolutely nothing is ignored.    Even the word "the" can be important in some cases to differentiate meaning.

*

victorshulist

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 118
Re: Complex Language Understanding & Execution (CLUES) Engine
« Reply #58 on: April 26, 2011, 10:50:21 pm »
I noticed you wrote in the AICI / NND thread.   I posted back.

There is a perfect example of why no chatbot will EVER have Total NLU without world knowledge.

*

sunama

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 109
    • ai project
Re: Complex Language Understanding & Execution (CLUES) Engine
« Reply #59 on: April 26, 2011, 11:57:57 pm »
This is how I like to define the current state of NLP:

1st gen: these bots have no "understanding". They don't truly break down the English language. Although the creators say that these bots can learn...if you try and teach them, you will understand just how bad they are at learning.

Simple example (I like to test programs using the most simple language that a child can understand)

1st gen bot:
my eyes are green.
what colour are my eyes

no matter how many times I state that my eyes are green, 1st gen bot will never be able to give the correct answer.
Even a child could answer this question, yet a 1st gen bot cannot.
The problem here is relating the word 'colour' with 'green'.
1st gen bots generally aren't good at relating words.

2nd gen bot
these bots can learn.
they are efficient at learning and do so, normally with a single line.

eg, my own AI:
my eyes are green
what colour are my eyes?

my AI gives the correct answer, as it has previously been told that the word green and colour have a strong relation.
I believe that AICI has the following relational algorithm in place:

green 'is a' colour.

the 2nd gen bots get the same answer using different techniques.

2nd gen bots will also use sentence matching, as part of their set of algorithm.

2nd gen bots will struggle when it comes to debating/reasoning.

3rd gen bot (this is what you are aiming for)
the bot can answer simple questions, but it is also capable of reasoning/debating.


IMO (and bear in mind this is just my opinion), the best way forward is to first create a bot which can handle simple language...eg a first gen bot.
The architecture of the program must allow for multithreading, such that a single input can be run through many different algorithms.
As such many different answers can be generated, however, the AI will decide which is the most likely answer.
Using the above technique, after you have created a 2nd gen bot, you can simply add more and more algorithms to turn the 2nd gen bot into a 3rd gen bot.

My understanding is that most 1st gen bots have not been created using the above described technique. What this means is that they have limit to how "intelligent" they can become. For them to become a true 3rd gen bot, major parts of their code would have to be re-written. Worst case scenario - 90% + of their code would need to be written.

Bear in mind that the above is just how I class the different bots. Other people will have different definitions.
www.aiproject.co.uk
Natural Language Processing

 


Will LLMs ever learn what is ... is?
by HS (Future of AI)
November 10, 2024, 06:28:10 pm
Who's the AI?
by frankinstien (Future of AI)
November 04, 2024, 05:45:05 am
Project Acuitas
by WriterOfMinds (General Project Discussion)
October 27, 2024, 09:17:10 pm
Ai improving AI
by infurl (AI Programming)
October 19, 2024, 03:43:29 am
Atronach's Eye
by WriterOfMinds (Home Made Robots)
October 13, 2024, 09:52:42 pm
Running local AI models
by spydaz (AI Programming)
October 07, 2024, 09:00:53 am
Hi IM BAA---AAACK!!
by MagnusWootton (Home Made Robots)
September 16, 2024, 09:49:10 pm
Attempting Hydraulics
by MagnusWootton (Home Made Robots)
August 19, 2024, 04:03:23 am
LLaMA2 Meta's chatbot released
by spydaz (AI News )
August 24, 2024, 02:58:36 pm
ollama and llama3
by spydaz (AI News )
August 24, 2024, 02:55:13 pm
AI controlled F-16, for real!
by frankinstien (AI News )
June 15, 2024, 05:40:28 am
Open AI GPT-4o - audio, vision, text combined reasoning
by MikeB (AI News )
May 14, 2024, 05:46:48 am
OpenAI Speech-to-Speech Reasoning Demo
by MikeB (AI News )
March 31, 2024, 01:00:53 pm
Say good-bye to GPUs...
by MikeB (AI News )
March 23, 2024, 09:23:52 am
Google Bard report
by ivan.moony (AI News )
February 14, 2024, 04:42:23 pm
Elon Musk's xAI Grok Chatbot
by MikeB (AI News )
December 11, 2023, 06:26:33 am

Users Online

267 Guests, 0 Users

Most Online Today: 331. Most Online Ever: 2369 (November 21, 2020, 04:08:13 pm)

Articles