Project Acuitas

  • 130 Replies
  • 20935 Views
*

WriterOfMinds

  • Trusty Member
  • *******
  • Starship Trooper
  • *
  • 310
    • WriterOfMinds Blog
Re: Project Acuitas
« Reply #120 on: March 03, 2020, 07:29:13 PM »
I think what ruebot has been talking about is a form of discipline. And in the final analysis, if you do it right, discipline does not hurt people. It helps them, because it teaches them to be better human beings.

*

WriterOfMinds

  • Trusty Member
  • *******
  • Starship Trooper
  • *
  • 310
    • WriterOfMinds Blog
Re: Project Acuitas
« Reply #121 on: March 05, 2020, 09:20:26 PM »
Cutting off someone's ability to interact with you is a form of controlling access to privilege. If you are nice to me, I'll give you flowers (i.e. I'll talk to you). If you are not nice to me, your path will be barren of flowers (i.e. my company); I'll refuse to talk to you or allow you into my space. My social output is mine, and I'm not obligated to give it to everyone, just as I'm not obligated to put flowers along every path. The same goes for Acuitas.

Quote
And after all, we always have to make a room for a case in which we are wrong about the thing we want someone to practice. In that case, it is easier to say "no" to flowers than to some fascistic electrical shock.

If the thing that someone else is practicing is about us, then our opinion about whether it is right or wrong is the one that matters most. This is the concept of consent; we don't get to control other people's private lives, but we do get to decide (arbitrarily!) whether the things people do to us are correct or not. If someone is harassing or threatening us, then they are the ones being "fascistic," and they can blame themselves for any "electrical shocks" they receive as a result.

And that's the last I'm going to say about this. I don't want to clutter my project thread with yet another futile argument against impractical hyper-pacifism.

*

WriterOfMinds

  • Trusty Member
  • *******
  • Starship Trooper
  • *
  • 310
    • WriterOfMinds Blog
Re: Project Acuitas
« Reply #122 on: April 17, 2020, 03:34:14 PM »
It's taken some extra development time, but the new feature is ... STORYTELLING!  This builds on a number of the features added over the last few months: cause-and-effect reasoning, the goal system, and problem-solving via tree search.

https://www.youtube.com/watch?v=PYEi0XkMJXw

What does Acuitas know before the video starts? For one thing, I made sure he knew all the words in the story first, along with what part of speech they were going to appear as. He should have been able to handle seeing *some* new words for the first time during the story, but then he would have asked me even more questions, and that would have made the demo a bit tedious. He also knows some background about humans and dogs, and a few opposite pairs (warm/cold, comfortable/uncomfortable, etc.)

How does Acuitas go about understanding a story? As the story is told, he keeps track of all the following, stored in a temporary area that I call the narrative scratchboard:

*Who are the characters?
*What objects are in the story? What state are they in?
*What problems do the characters have?
*What goals do the characters have?
*What events take place? (Do any of them affect problems or goals?)

Acuitas doesn't try to understand the cause chain and import of every single event in the story, because that would be a bit much at this stage. However, he does try to make sure that he knows all of the following:

*If a character is in some state, what does that mean for the character?
*If a character anticipates that something will happen, how does the character feel about it?
*If a character is planning to do something, what is their motive?

If he can't figure it out by making inferences with the help of what's in his semantic database, he'll bother his conversation partner for an explanation. Story sentences don't go into the permanent knowledge base (yet), but explanations do, meaning they become available for understanding other stories, or for general reasoning. Explaining things to him still requires a bit of skill and an understanding of what his gaps are likely to be, since he can't be specific about *why* he doesn't understand something. A character state, expectation, or plan is adequately explained when he can see how it relates to one of the character's presumed goals. Once you provide enough new links to let him make that connection, he'll let you move on.

Acuitas returns feedback throughout the story. This is randomized for variety (though I forced some particular options for the demo). After receiving a new story sentence, he may ...

*say nothing, or make a "yes I'm listening" gesture.
*comment something that he inferred from the new information.
*tell you whether he likes or dislikes what just happened.
*try to guess what a character might do to solve a problem.

He even has a primitive way of deciding whether it's a good story or not. He tracks suspense (generated by the presence of more than one possible outcome) and tension (how dire things are for the characters) as the story progresses. A story whose suspense and tension values don't get very large or don't change much is "boring." He also assesses whether the story had a positive or negative ending (did the characters solve their problems and meet their goals?). Stories with happy endings that aren't boring may earn approving comments.

There are many directions in which this feature needs to expand and grow more robust, and expect I'll be working on them soon. But first it might be time for a refactoring spree.

*

Freddy

  • Administrator
  • **********************
  • Colossus
  • *
  • 6812
  • Mostly Harmless
Re: Project Acuitas
« Reply #123 on: April 17, 2020, 03:50:11 PM »
That was really cool  8)

I don't think I have seen anything quite like this before. It really is a nice way to educate a bot and the video was easy to follow.

This is something I would aim for myself, with my learning features in ElfScript, but mine is not nearly so clever. I really did get the impression that Acuitas is some kind of being that is trying to understand.

Bravo!  O0

*

Don Patrick

  • Trusty Member
  • ********
  • Replicant
  • *
  • 563
    • Artificial Detective
Re: Project Acuitas
« Reply #124 on: April 17, 2020, 08:32:06 PM »
Very cool to see him immediately apply the rules you taught :)
CO2 retains heat. More CO2 in the air = hotter climate.

*

infurl

  • Trusty Member
  • *********
  • Terminator
  • *
  • 841
  • Humans will disappoint you.
    • Home Page
Re: Project Acuitas
« Reply #125 on: April 17, 2020, 11:30:47 PM »
That was simply brilliant, one of the best demonstrations that I've ever seen!

How flexible is Acuitas? Could it handle input from someone who wasn't familiar with its internals who didn't know the best way to phrase things yet?

*

WriterOfMinds

  • Trusty Member
  • *******
  • Starship Trooper
  • *
  • 310
    • WriterOfMinds Blog
Re: Project Acuitas
« Reply #126 on: April 18, 2020, 03:36:21 AM »
Thanks very much, infurl.

Quote
How flexible is Acuitas? Could it handle input from someone who wasn't familiar with its internals who didn't know the best way to phrase things yet?

No, I'm afraid there's a long way to go before I'd turn Acuitas loose with an untrained user.  Think of the demo as an illustration of what can be achieved under ideal conditions.  Next I need to start expanding the space of "ideal conditions."

*

Art

  • At the end of the game, the King and Pawn go into the same box.
  • Global Moderator
  • **********************
  • Colossus
  • *
  • 5808
Re: Project Acuitas
« Reply #127 on: April 18, 2020, 04:54:45 AM »
Very impressive indeed! I felt as if it was almost akin to a chat version of Terry Winograd's SHRDLU program from the 1970s.
I particularly enjoyed the inferences and connections it was able to make. You have obviously put in a great deal of work on this project.

It is also quite refreshing to see someone actually show that they have a working product or demo instead of just talking about theories and possibilities. While the later is important, visual demonstrations provide so much more credibility. Nicely done!
In the world of AI, it's the thought that counts!

*

WriterOfMinds

  • Trusty Member
  • *******
  • Starship Trooper
  • *
  • 310
    • WriterOfMinds Blog
Re: Project Acuitas
« Reply #128 on: May 29, 2020, 04:27:42 AM »
I've been stuffing new features in since the beginning of the year, so this month gets to be REALLY BORING. I worked on refactoring, bug fixes, and code cleanup the whole time. For instance, I ...

Universalized the inverse and complement forms of concept-relationships
Improved the format of verb transport from the Parser to the Interpreter, to handle compound verbs better
Generalized Text Interpreter output formatting
Fixed an issue with verb conjugation learning
Fixed a Text Parser bug that was causing some words to be tagged as the wrong part-of-speech
Fixed the TP and TI simulators so they won't crash when an unknown word is used
Improved and generalized the code that produces clarifying question loops in a conversation
Fixed a bad bug related to parsing of possessives
Cleaned up and merged several different cause-and-effect database search functions

June is my “month off,” and then I'm hoping I can get cracking on some new features again.

*

frankinstien

  • Bumblebee
  • **
  • 43
    • Knowledgeable Machines
Re: Project Acuitas
« Reply #129 on: May 29, 2020, 06:25:57 PM »
Excellent demo of Acuitas.  :D What database are you using for the semantic network and for that matter what language are you programming in?

*

WriterOfMinds

  • Trusty Member
  • *******
  • Starship Trooper
  • *
  • 310
    • WriterOfMinds Blog
Re: Project Acuitas
« Reply #130 on: May 29, 2020, 09:19:24 PM »
Thanks! The language is Python. The database is just TOML-formatted text with my own store/retrieve functions.

 


Users Online

48 Guests, 0 Users

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

Articles