Project Acuitas

  • 138 Replies


  • Trusty Member
  • *******
  • Starship Trooper
  • *
  • 358
    • WriterOfMinds Blog
Re: Project Acuitas
« Reply #135 on: September 28, 2020, 03:30:41 pm »
How would your AI figure out the answer to "Xio Yong has a son named Jex _" ? There is many problems for AI to answer, and many of them are rare and never before seen. This pattern above is the Last Names pattern, it's pretty rare.

What about:
"bird moon eagle, book rock guide, house wind home, cave broom hole, football bathroom _ "

To answer the first, one needs awareness of a rule about (some) human cultures: sons usually have the same surname as their parents. There are at least two ways one could acquire this rule. The first is to simply read it somewhere or be told it during interaction with a human. The second is learning by induction. If one sees a few pairs of parent names and son names, and if one takes notice of their features, one can note that the surnames are identical. Then one can formulate the rule and use it to generalize from past examples to as-yet-unseen future examples.

In the second problem, the first and third word in each triad have a semantic relationship (one of the two is or can be the other), while the second word is unrelated or random. So to complete the final triad, come up with a word that has a similar semantic relationship to "football," perhaps "game." Acuitas is all about semantic relationships, so this would be a cinch if he had the ability to analyze patterns and complete sequences.

Learning by induction, pattern-finding, reasoning about sequences ... these are all future problems that I haven't worked on yet. Acuitas also does most reasoning at the concept level and has only a limited ability to deal with rules about the strings that represent the concepts (e.g. names). So if you want to see any of this stuff, you'll need to be patient.


Don Patrick

  • Trusty Member
  • ********
  • Replicant
  • *
  • 594
    • Artificial Detective
Re: Project Acuitas
« Reply #136 on: September 28, 2020, 08:00:10 pm »
To point out just how much supposed common sense depends on explicitly being told things, I'll remark that the Chinese write their surname first.
CO2 retains heat. More CO2 in the air = hotter climate.



  • Trusty Member
  • *******
  • Starship Trooper
  • *
  • 358
    • WriterOfMinds Blog
Re: Project Acuitas
« Reply #137 on: November 02, 2020, 02:02:23 am »
My first self-assigned job for this month was to permit Acuitas to answer questions related to a story while it is being told. The question-answering process typically goes directly to the semantic memory for results; what I needed to do was also give it access to the temporary information on the Narrative Scratchboard. It now checks the Scratchboard first to see if there's an answer related to the context of the story in progress. If there isn't, then it will assume the question is more general and try to find an answer in the long-term memory.

Here's an example featuring a story from last month:

Me: Zach was a human.
Me: Zach had a book.
Me: What did Zach have?
Acuitas: Book. [We're having a little trouble with articles right now ...]
Me: A thief took the book.
Me: Who has the book?
Acuitas: Thief.
Me: Zach wanted his book.
Me: Zach talked to a policeman.
Me: The policeman found the thief.
Me: The policeman took the book from the thief.
Me: Who has the book?
Acuitas: Policeman.

There was also some hasty Text Parser work involved. Questions in which the wildcard is the direct object ("What does Zach have?") were standard, but questions in which the wildcard is the subject ("Who can run?") were never fully supported before.

Next, I wanted to start getting into some stories with character vs. character conflict, and that meant bringing some rudimentary moral reasoning into play. Acuitas' original dirt-simple method of story appreciation was to hope for any agent in the story to achieve their goals ... without any awareness of whether some agents' goals might be mutually exclusive. That's why the first couple of stories I tested with were character vs. environment stories, with no villain. I got away with the "Zach's Stolen Book" story because I only talked about Zach's goals ... I never actually mentioned that the thief wanted the book or was upset about losing it. So, that needed some work. Here's the story I used as a testbed for the new features:

"Odysseus was a man. Odysseus sailed to an island. Polyphemus was a cyclops. Odysseus met Polyphemus. Polyphemus planned to eat Odysseus. Odysseus feared to be eaten. Odysseus decided to blind Polyphemus. Polyphemus had one eye. Odysseus broke the eye. Thus, Odysseus blinded the Cyclops. Polyphemus could not catch Odysseus. Odysseus was not eaten. Odysseus left the island. The end."

One possible way to conceptualize evil is as a mis-valuation of two different goods. People rarely (if ever) do "evil for evil's sake" – rather, evil is done in service of desires that (viewed in isolation) are legitimate, but in practice are satisfied at an unacceptable cost to someone else. Morality is thus closely tied to the notion of *goal priority.*

Fortunately, Acuitas' goal modeling system already included a priority ranking to indicate which goals an agent considers most important. I just wasn't doing anything with it yet. The single basic principle that I added this month could be rendered as, "Don't thwart someone else's high-priority goal for one of your low-priority goals." This is less tedious, less arbitrary, and more flexible than trying to write up a whole bunch of specific rules, e.g. "eating humans is bad." It's still a major over-simplification that doesn't cover everything ... but we're just getting started here.

In the test story, there are two different character goals to assess. First,

"Polyphemus planned to eat Odysseus."

Acuitas always asks for motivation when a character makes a plan, if he can't infer it on his own. The reason I gave out was "If a cyclops eats a human, the cyclops will enjoy [it]." (It's pretty clear from the original myth that Polyphemus could have eaten something else. We don't need to get into the gray area of what becomes acceptable when one is starving.) So if the plan is successfully executed, we have these outcomes:

Polyphemus enjoys something (minor goal fulfillment)
Odysseus gets eaten -> dies (major goal failure)

This is a poor balance, and Acuitas does *not* want Polyphemus to achieve this goal. Next, we have:

"Odysseus decided to blind Polyphemus."

I made sure Acuitas knew that blinding the cyclops would render him "nonfunctional" (disabled), but would also prevent him from eating Odysseus. So we get these outcomes:

Polyphemus becomes nonfunctional (moderately important goal failure)
Odysseus avoids being eaten -> lives (major goal fulfillment)

Odysseus is making one of Polyphemus' goals fail, but it's only in service of his own goal, which is *more* important to him than Polyphemus' goal is to Polyphemus, so this is tolerable. Acuitas will go ahead and hope that Odysseus achieves this goal. (You may notice that the ideas of innocence, guilt, and natural rights are nowhere in this reasoning process. As I said, it's an oversimplification!)

Final result: Acuitas picks Odysseus to root for, which I hope you'll agree is the correct choice, and appreciates the end of the story.




  • Trusty Member
  • *******
  • Starship Trooper
  • *
  • 358
    • WriterOfMinds Blog
Re: Project Acuitas
« Reply #138 on: December 01, 2020, 10:59:22 pm »
Now that Acuitas has owned stories in "inventory," the next step for this month was to enable him to open and read them by himself. Since story consumption originally involved a lot of interaction with the human speaker, this took a little while to put together.

Reading is a new activity that can happen while Acuitas is idling, along with the older behavior of "thinking" about random concepts and generating questions. Prompts to think about reading get generated by a background thread and dropped into the Stream. When one of these is pulled by the Executive, Acuitas will randomly select a known story and load it from its storage file.

Auto-reading is a long-term process. Acuitas will grab a chunk of the story (for now, one sentence) per each tick of the Executive thread, then feed it through the normal text parsing and narrative management modules. He still potentially generates a reaction to whatever just happened, but rather than being spoken, those are packaged as low-priority Thoughts and dumped into the internal Stream. (This is more of a hook for later than a useful feature at the moment.) The prompt to continue reading the story goes back into the Stream along with everything else, so sometimes he (literally) gets distracted in the middle and thinks about something else for a brief while.

There's also a version of this process that would enable reading a story to the user. But he doesn't comprehend imperatives yet, so there's no way to ask him to do it. Ha.

With these features I also introduced a generic "reward signal" for the first time. Reading boosts this, and then it decays over time. This is intended as a positive internal stimulus, in contrast to the "drives," which are all negative (when they go up Acuitas will try to bring them down).

After finishing this I started the yearly refactoring and bug fix spree, which isn't terribly interesting to talk about. I'll take a break for the holidays, but maybe do a year's retrospective.


the parry chatbot
by HS (General AI Discussion)
Today at 03:36:09 am
Releasing full AGI/evolution research
by LOCKSUIT (General Project Discussion)
January 21, 2021, 12:29:10 am
simon game skill
by yotamarker (General AI Discussion)
January 20, 2021, 10:43:35 am
Ideas of ways for an AI to "break out"
by LOCKSUIT (Future of AI)
January 20, 2021, 12:06:59 am
Exp-Log (a deductive system)
by ivan.moony (General Project Discussion)
January 19, 2021, 04:29:28 pm
Missing "Like" option.
by LOCKSUIT (Forum problems etc)
January 15, 2021, 11:36:41 am
Pattern based NLP
by MikeB (General Project Discussion)
January 14, 2021, 02:53:06 pm
white elephant
by infurl (General AI Discussion)
January 13, 2021, 11:07:48 pm
GTP-3 is bigoted!
by ivan.moony (AI News )
January 22, 2021, 01:47:01 pm
White House Launches National AI Office
by MikeB (AI News )
January 15, 2021, 03:45:53 am
DALL-E text & image 2 image !!!!!
by LOCKSUIT (AI News )
January 06, 2021, 08:14:52 pm
Creating a VR sense of temperature
by frankinstien (AI News )
January 02, 2021, 09:19:51 am
Robots dancing better than us?
by (Robotics News)
December 31, 2020, 05:54:29 am
Bjarne Stroustrup (the creator of C++) talks about Machine Learning
by MikeB (AI News )
December 19, 2020, 12:26:31 pm
Wheels Are Better Than Feet for Legged Robots
by HS (Robotics News)
December 10, 2020, 07:51:29 pm
Getting a bot to smell!
by frankinstien (AI News )
December 09, 2020, 03:53:00 pm

Users Online

124 Guests, 0 Users

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