Project Acuitas

  • 99 Replies
  • 16903 Views
*

WriterOfMinds

  • Trusty Member
  • ******
  • Autobot
  • *
  • 224
    • WriterOfMinds Blog
Re: Project Acuitas
« Reply #75 on: July 19, 2019, 03:40:45 PM »
Oookay, I'm long overdue for an AI update.  The big new project for the past couple of months has been the concept of things being in states, and the ability to track those states.

Way back in Diary #7, I introduced a division between short-term (or naturally temporary) information and long-term (or essentially static) information.  It's a bit like the division between things you would use estar and ser for in Spanish, though it doesn't follow those rules strictly.  Previously, Acuitas simply discarded any short-term information he was given, but I've added a new memory area for saving this knowledge.  Like the existing semantic memory, it works by storing linked concept pairs … with the difference that the short-term ones are stored with a time stamp, and Acuitas anticipates that they will “expire” at some point.

The existing feature that allows short-term and long-term information to be distinguished (by asking questions, if necessary) can also grant Acuitas an estimate of how long a temporary state is likely to last.  While idling, he checks the short-term state memory for any conditions that have “expired” and adds questions about them to his queue.  Then, when next spoken to, he may ask for an update: is the information still correct?

I also added the ability to parse and store a new type of information link – location – along with the associated “where is” questions.  Location links are three-ended so that they can store not only a thing and its location, but also spatial relationships between two things (under, over, in, beside, etc.).

https://writerofminds.blogspot.com/2019/07/acuitas-diary-18-mayjune-2019.html

*

WriterOfMinds

  • Trusty Member
  • ******
  • Autobot
  • *
  • 224
    • WriterOfMinds Blog
Re: Project Acuitas
« Reply #76 on: September 07, 2019, 04:19:47 AM »
I spent the past two months revisiting the text parser, with the big goal this time around of adding support for dependent clauses. In case anyone's high school grammar is rusty, a clause is a subject/verb pair and any words associated with them; a dependent clause is one that is part of another clause and can't be a sentence by itself. Previously, Acuitas could handle one subject and one verb group per sentence, and that was it.

After last year's feverish round of development, I left the text parser a mess and never wanted to look at it again. So the first thing I had to do was clean up the disastrous parts. I ended up giving some of the functions another serious overhaul, and got some code that is (I think) actually maintainable and comprehensible. Whew.

Some sentence types that are very important for reasoning use dependent clauses. For instance, sentences that discuss subordinate pieces of knowledge:

I know [that a cheetah is an animal].
I told you [that a grape can be eaten].
I fear [that the car broke yesterday].

And sentences that express conditional information:

[If a berry is green], it is unripe.
[If you eat that berry], you will get sick.
The gun will fire [if you pull the trigger].

Acuitas can parse sentences like the ones above now, but doesn't really do anything with them yet. That will come later and require updates to the high-level conversation management code.

Blog link: https://writerofminds.blogspot.com/2019/09/acuitas-diary-19-julyaugust-2019.html

*

Hopefully Something

  • Trusty Member
  • ********
  • Replicant
  • *
  • 701
  • no seriously where are these cookies
Re: Project Acuitas
« Reply #77 on: September 07, 2019, 06:12:24 AM »
Oh my gosh, that's like a math test and a grammar test rolled into one. But it's five hundred pages, there's no solution manual, and you have to get a hundred percent. I'd go a few steps then get mired in a web of confusion. Still, here's hoping.  O0

*

DemonRaven

  • Trusty Member
  • ********
  • Replicant
  • *
  • 630
  • Disclaimer old brain @ work not liable for content
    • Chatbotfriends
Re: Project Acuitas
« Reply #78 on: September 08, 2019, 09:57:56 AM »
Give it a old brain like mine it will forget things lol  :D :2funny:

This month I updated the text parser and other speech features to do a couple more new things with verbs. First, I threw in recognition of the present progressive tense, so I can now tell Acuitas what I'm doing at the moment. For the time being, such information is treated in much the same way as comments about past-tense actions, which I taught him to recognize a while ago; it isn't stored, and responses are rather meaningless. BUT I'll find uses for it later.

I think the more interesting new thing is recognition ability for a couple of link-forms related to state change or state retention. Up until now, Acuitas has learned what verbs “mean” only in terms of a) what can do that action and b) what that action can be done upon. Now, he can learn what a verb actually does by tying it to an adjective. Here are some examples:

To live is to stay alive.
To appear is to become visible.
To finish is to make complete.

I also added “type of” links for verbs, so Acuitas can categorize specific verbs under more general ones, like this:

To smash is to damage.
To walk is to move.
To talk is to communicate.

A little extra on the blog as usual: http://writerofminds.blogspot.com/2018/09/acuitas-diary-14-september-2018.html
So sue me

*

LOCKSUIT

  • Emerged from nothing
  • Trusty Member
  • *****************
  • Sentinel
  • *
  • 3550
  • First it wiggles, then it is rewarded.
Re: Project Acuitas
« Reply #79 on: September 08, 2019, 09:47:01 PM »
WoM, what is your opinion on Korrelan's main project? I mean, you have a different take on AGI. Korrelan seems to have done all the right or great things to do such a endevour - studying the brain, Wikipedia, ~53 y/o dude with good programming skills, building realistic model, etc. You could call it the "right way" to do AGI. But you seem to have a more GOFAI approach and hand code a lot of things, similar to my project.
Emergent

*

WriterOfMinds

  • Trusty Member
  • ******
  • Autobot
  • *
  • 224
    • WriterOfMinds Blog
Re: Project Acuitas
« Reply #80 on: September 09, 2019, 02:05:45 AM »
Trying to stir the pot, are you?  ;)

For starters, I don't think there's an established "right way" to build AGI, and anybody who tries to declare one is being arrogant. The field is too young. Nobody's made an AGI yet, and even after someone does, that won't be a proof that there is no other (or better) way of doing it. This is pioneering work. None of us know what we are doing, and arguments about method often devolve into the blind trying to lead the blind.

Korrelan's project follows a "bottom-up" approach, reproducing the phenomena of intelligence by mimicking the one thing we see associated with it in nature: the structure and low-level behavior of the brain. I'm following a "top-down" approach: reinventing intelligence on a functional or conceptual level, using techniques that are natural to the digital medium. Neither approach is wrong; either approach may get somewhere. If they both get somewhere, the results could be very different and contribute valuable diversity to the field. I think it's fine to have people exploring in both directions.

Knowing what I do about your motivations, I suspect you want to pour maximum resources into whichever path will lead to AGI the fastest. But I'm not an oracle. I really don't know who will be winning this race. The proof will be in the results, so we'll just have to wait and see.

Now, here are a couple of possibly controversial opinions:

1. Korrelan seems to belong to the "AGI must be embodied" school. I do not. It's my opinion that divorcing reasoning from sense perception and motor control is not only feasible, but a rather interesting thing to try.
That being said, sense perception and motor control can be incredibly useful for certain applications, so I don't fault anyone for working on them. It all comes down to the type of project you want. I have some less-abstract projects of my own that I will probably post about someday, though they've been getting neglected because Acuitas is such a time hog.

2. We don't know everything there is to know about the brain yet. My instincts tell me that the brain encompasses a large amount of information/structure ... even before it starts learning. Therefore, I'm always suspicious of projects that assume full intelligence will arise from a slate that starts out mostly blank. "I've got one simple idea/computational element/learning algorithm/neuron-like thing, and if I can just make a soup containing millions of them then poof, I will have AGI!" Sorry: I don't think it's going to be that easy. Learning is crucial for general intelligence, but to even learn effectively I suspect you need a lot of groundwork first.

To quote Matt Mahoney from the Topicbox mailing list: "The brain is not just a few neural network modules. It has thousands of specialized structures, hundreds of types of neurons, and hundreds of neurotransmitters. We are born knowing to fear heights and spiders, how to swallow and cough and blink, how to learn language, and how to distinguish what is good to eat from among thousands of scents. Altogether we are born knowing half of what we know as adults, 10^9 bits encoded in our DNA and 10^9 bits of long term memory for words, pictures, and sounds. There is no good way to avoid coding the inherited knowledge ..."

*

LOCKSUIT

  • Emerged from nothing
  • Trusty Member
  • *****************
  • Sentinel
  • *
  • 3550
  • First it wiggles, then it is rewarded.
Re: Project Acuitas
« Reply #81 on: September 09, 2019, 02:57:25 AM »
"Trying to stir the pot, are you?  ;)"

:#


I agree, there is many ways and I can't confirm a NN-less approach is undoable at all OR efficient/ flexible... And while you can go for the likely best choice we don't know that yet, even if we think we know why. It is possible, to be extra sure however. One would hope to pick the right way. Preferably a controllable way.

I actually can possibly confirm that a NN-less, and NN-based algorithms are both possible, there is some proof I've noticed. For example my algorithms, while Transformers are very flexible and are becoming near perfect bloggers/ translators.
Emergent

*

Don Patrick

  • Trusty Member
  • ********
  • Replicant
  • *
  • 513
    • Artificial Detective
Re: Project Acuitas
« Reply #82 on: September 09, 2019, 05:56:24 PM »
I tend to agree with much that WriterofMinds writes. The way I see it, the more of us try different things, the more chance that one of us finds an approach that works well. Moreso, I consider human intelligence to consist of two different (yet technically same) methods: Associative intelligence and rational intelligence. Neural networks handle the first type well enough, they are fast but also sometimes completely off the mark. WriterofMind's project is of the second type, which is generally slower but has absolute accuracy. Both are suited to different circumstances, but neither of them alone equal the combined intelligence of a human who uses both. That is not to say one shouldn't explore each individually to its limits, just to consider that there is no single "correct" approach.
CO2 retains heat. More CO2 in the air = hotter climate.

*

WriterOfMinds

  • Trusty Member
  • ******
  • Autobot
  • *
  • 224
    • WriterOfMinds Blog
Re: Project Acuitas
« Reply #83 on: September 28, 2019, 11:16:33 PM »
This month, I did some work on cause-and-effect reasoning and goal satisfaction, which introduced the conversational possibility of asking Acuitas what he wants.

I leveraged the text interpretation upgrades from last month to implement encoding and storage of conditional relationships, such as “if a human eats food, the human will not starve.” These relationships can be remembered and used to infer the effects of an action. I also threw in the ability to learn that a pair of concepts are opposites or antonyms.

Then I implemented some inference mechanisms so that Acuitas can determine whether some action serves – or contradicts – a particular goal. Acuitas will now claim to desire things that support one of his goals and not desire things that contradict one of his goals, while remaining ambivalent about everything else. The examples below reference a self-preservation goal … not because I think that should be the primary goal for an AI, but because it's one of the easier ones to define.  In Acuitas' knowledge representation, it basically comes down to “Self (has quality)/(is in state) 'alive' or 'existent.'”

With this goal active, Acuitas can answer any of the following:

“Do you want to be alive?”
“Do you want to be dead?”
“Do you want to live?”
“Do you want to die?”

… where the last two (live/die) rely on verb-defining links in the semantic database, and the two negative versions (dead/die) rely on awareness of opposites.

The most complex inferences currently possible are illustrated by this little interchange:

Me: Do you want to be deleted?
Acuitas: I do not.

To produce that answer, Acuitas has to retrieve and put together five different pieces of stored information …

*If a program is deleted, the program “dies.” ← From the cause-and-effect/conditional database
*I am a program. ← From semantic memory (is-instance-of-class relationship)
*To die is to transition to state “dead.” ← From semantic memory (verb definition relationship)
*State “dead” is mutually exclusive with state “alive.” ← From semantic memory (opposites)
*I have a goal of being in state “alive.” ← From goal list

… to make the inference, “being deleted would violate my goals.”

The features still need a lot of generalization and expansion to be fully functional, but the groundwork is laid.

*

Hopefully Something

  • Trusty Member
  • ********
  • Replicant
  • *
  • 701
  • no seriously where are these cookies
Re: Project Acuitas
« Reply #84 on: September 28, 2019, 11:38:14 PM »
This sounds like a proto-Data from Star Trek.

*

WriterOfMinds

  • Trusty Member
  • ******
  • Autobot
  • *
  • 224
    • WriterOfMinds Blog
Re: Project Acuitas
« Reply #85 on: September 29, 2019, 02:54:05 AM »
You flatter me :)  He's probably a long way from being even a proto-Data.  But I try.

*

LOCKSUIT

  • Emerged from nothing
  • Trusty Member
  • *****************
  • Sentinel
  • *
  • 3550
  • First it wiggles, then it is rewarded.
Re: Project Acuitas
« Reply #86 on: September 30, 2019, 11:35:42 PM »
Now I see more actual progress going on here than korr's project.

:))))))

I mean, it DOES something...

which could fulfill my goals
Emergent

*

WriterOfMinds

  • Trusty Member
  • ******
  • Autobot
  • *
  • 224
    • WriterOfMinds Blog
Re: Project Acuitas
« Reply #87 on: October 30, 2019, 03:44:11 PM »
I set some smaller Acuitas goals this month so I would have a little more time to fix bugs and clean up my own mess.  The first goal was to enable identification of people from first names only, while allowing for the possibility that multiple people have the same first name. Using someone's full name with Acuitas establishes a link between the first name (as an isolated word) and the full name (with its connected person-concept).  If the first name is later used in isolation, Acuitas will infer the full name from it.  If multiple full names containing that first name are known, Acuitas will ask the user which one is meant.

The second thing I worked on was text parser support for a new grammar feature, with a focus on expanding the range of possible “I want” sentences Acuitas can understand.  The ability to parse infinitives, as in “I want to live,” was already present.  This month I worked on infinitives with subjects, as in “I want John to live.”

To see why this is tricky, consider the following sentences:

1. I want Bob to eat.
2. I want a fruit to eat.
3. I want food to live.

They all follow the exact same pattern and have completely different meanings. Notice that in the second sentence, you could move some words and get “I want to eat a fruit” without changing the implications too much.  Doing this to the third sentence would be bizarre (“I want to live food”) and doing it to the first sentence would be horrifying (“I want to eat Bob”).

The first sentence is the only one in which the noun (Bob/fruit/food) is the subject of the infinitive.  The key factor is who will be doing the action expressed by the infinitive.  In the first sentence, Bob is the one who will be eating if I get my way; in the latter two sentences, I'm the one eating and I'm the one living.  And that information is not actually in the sentence – it's in your background knowledge.  To properly understand these sentences, it's helpful to be aware of things like …

*I am a human
*Humans can eat fruit
*Bob is probably also a human
*I am probably not a cannibal, and therefore don't want to eat Bob
*Food can be used to sustain a human's life
*Once something is food, it's not living (or won't be living much longer)
*Living isn't an action you can perform on food

So here is where we bring to bear the full power of the system by having the Text Parser call the semantic memory for already-known facts about these words.  Acuitas can't quite store all of the facts listed above, but he does know that “humans can eat” and “fruits can be eaten.”  He might also know that the speaker and “Bob” are humans.  At this early, sketchy phase, that's enough for the parser to start discriminating.

Some sentences of this type are just plain ambiguous, especially when taken in isolation.  For example, “I want a plant to grow.”  Plants can grow (on their own), but they can also be grown (by a cultivator, whom the speaker might be).  Upon detecting an ambiguity like this, Acuitas will, as usual, ask the speaker about it.  This also works for cases when the information in the database is not yet extensive enough.

See the blog for some sentence diagrams: https://writerofminds.blogspot.com/2019/10/acuitas-diary-21-october-2019.html

*

Freddy

  • Administrator
  • **********************
  • Colossus
  • *
  • 6685
  • Mostly Harmless
Re: Project Acuitas
« Reply #88 on: October 30, 2019, 05:33:41 PM »
I popped over to Chatbots.org last night and there was talk of a chatbot competition - an online one so more people can take part.

Do you think Acuitas is ready to enter a contest or is this even something you would consider?

I am hesitant to enter my own bot in a competition  ;D

*

WriterOfMinds

  • Trusty Member
  • ******
  • Autobot
  • *
  • 224
    • WriterOfMinds Blog
Re: Project Acuitas
« Reply #89 on: October 30, 2019, 06:02:35 PM »
I would consider participating in contests eventually, but I don't think he's ready yet.  At the moment, he doesn't even have an interface that would let other people communicate with him over the web (and there is a *lot* more linguistic development I need to do).

 


Users Online

8 Guests, 0 Users

Most Online Today: 23. Most Online Ever: 340 (March 26, 2019, 09:47:57 PM)

Articles