Poll

What Grammar Thing should I work on next?

Gerunds & Participles
1 (20%)
Indirect Objects
0 (0%)
Adjective Clauses
1 (20%)
The many uses of "that"
3 (60%)

Total Members Voted: 5

Voting closed: February 26, 2022, 03:17:15 am

Project Acuitas

  • 251 Replies
  • 101058 Views
*

MikeB

  • Mechanical Turk
  • *****
  • 164
Re: Project Acuitas
« Reply #240 on: July 02, 2022, 10:09:52 am »
What do you do with articles/quantifiers?
I'm not sure what you're asking here. I treat them as adjectives that modify the noun they're attached to. I also pick up some additional information from them to help the parser (articles are *always* adjectives, which is handy) and to tag words as count nouns rather than bulk nouns.
Nowadays articles and quantifiers are placed in the determinative grammatical category which normally function as determiners. This is quite distinct from members of the adjective grammatical category which normally function as modifiers.

https://en.wikipedia.org/wiki/Determiner

In my current model I have Article/Quantifies, Person/Agent, Question/Interrogative in three separate groups. The first two are further split into three, and the last is split into five. 11 total. This came about due to the need to encode a past/present/future (or precise/optimistic/explaining) intention into each word, so when compressed with similar words, the word is lost but the meaning isn't...

For these, as "this/that/these/those" act as a precise Article/Quantifier only in my model, it assumes there is a missing word:
That <noun/verb> is incorrect.
That <noun/verb> doesn't make me happy.
This <noun/verb> is not a good time.

What ever works. For actually coding though I don't know how you can lump them all in one category. There's micro intentions in each sub category.

In my model "running" is hard fixed as a verb, and pattern sentences account for "<article> <verb> <noun>..."

*

MagnusWootton

  • Replicant
  • ********
  • 535
Re: Project Acuitas
« Reply #241 on: July 02, 2022, 10:59:06 am »
top work here,   i can see alot of potential with this symbolic a.i.,   and when quantum machine learning ends up with huge intelligence defecits this style may actually be better and take alot less horsepower to get going.

*

MagnusWootton

  • Replicant
  • ********
  • 535
Re: Project Acuitas
« Reply #242 on: July 16, 2022, 03:29:44 pm »
Coming from the standpoint of NLP,  I give the robot so much text and it uses it as its database.  (natural english database.)

Does your robot utilize questions inside of it as well as statements?

Id think that only statements would be useable, a question kind of a useless thing because its not knowing anything,  I wonder if it is useful at all to have a question implanted inside it.

Or your robot doesnt actually use NLP directly,  it uses your awesome graphs that it converts it to,  but do these graphs support questions?
I guess they do,    but questions actually arent used as a source of information are they?

*

WriterOfMinds

  • Trusty Member
  • ********
  • Replicant
  • *
  • 529
    • WriterOfMinds Blog
Re: Project Acuitas
« Reply #243 on: July 16, 2022, 10:02:12 pm »
In the internal data representation, a statement and a yes-no question are actually the same, and an open question is almost the same, with a wildcard in the place of one of the concepts.

The only real difference is how they get used. Questions from a conversation partner prompt information retrieval, so they can be answered. Questions generated by Acuitas (yes, there are internally generated questions) are later asked of conversation partners in order to gain more knowledge.

*

Don Patrick

  • Trusty Member
  • ********
  • Replicant
  • *
  • 627
    • AI / robot merchandise
Re: Project Acuitas
« Reply #244 on: July 17, 2022, 08:44:17 am »
Questions can also contain implicit facts or serve as hypotheses when you can chop sentences up into semantic components. For instance, if people ask "is the sun blue or yellow?", then presumably one of the two is true. Supposing a program already knows that it's not blue, the "or yellow" provides a presumable fact. Some open questions like "when", "why" and "how - does a robot talk" contain a premise that is already assumed to be true by the person asking, and thus contain as much information as a statement.
CO2 retains heat. More CO2 in the air = hotter climate.

*

MagnusWootton

  • Replicant
  • ********
  • 535
Re: Project Acuitas
« Reply #245 on: July 17, 2022, 11:51:02 am »
I understand thankyou.

So when I asked the question "can a question be treated as stating things?"

It is information that possibly it could be?  But it could be completely meaningless as well, just like saying could all the time when you speak, it hasnt designated anything completely, its all still a mystery but there were words that were said still.

Maybe if your machine has a function for the word "could"   goes into a hypothical store of possibles.

*

chattable

  • Electric Dreamer
  • ****
  • 125
Re: Project Acuitas
« Reply #246 on: July 18, 2022, 09:23:52 am »
I understand thankyou.

So when I asked the question "can a question be treated as stating things?"

It is information that possibly it could be?  But it could be completely meaningless as well, just like saying could all the time when you speak, it hasnt designated anything completely, its all still a mystery but there were words that were said still.

Maybe if your machine has a function for the word "could"   goes into a hypothical store of possibles.
words have meaning it just guesses about what you are trying to say.

*

WriterOfMinds

  • Trusty Member
  • ********
  • Replicant
  • *
  • 529
    • WriterOfMinds Blog
Re: Project Acuitas
« Reply #247 on: July 18, 2022, 06:14:29 pm »
A question is a form of communication. It is always asked of someone and by someone, with some motive. You need this surrounding frame to know the full import of a question.

This is why Acuitas has the Conversation Engine and the Narrative Engine in addition to just a parser.

*

Don Patrick

  • Trusty Member
  • ********
  • Replicant
  • *
  • 627
    • AI / robot merchandise
Re: Project Acuitas
« Reply #248 on: July 21, 2022, 06:17:15 pm »
So when I asked the question "can a question be treated as stating things?"

It is information that possibly it could be?  But it could be completely meaningless as well, just like saying could all the time when you speak, it hasnt designated anything completely, its all still a mystery but there were words that were said still.

Maybe if your machine has a function for the word "could"   goes into a hypothical store of possibles.
There are a number of ways that a question can be useful in the same way as a statement.
If you have a conversation engine such as Acuitas, then a question is a valuable clue to what people want to say or talk about.
If you have a program that strictly processes text as a string of letters, then you can return the question and get statements in return, like Cleverbot.
If you have a statistical algorithm, then at the very least it can learn that "Do you have a cat?" is a more plausible sequence than "Do you have a pangalactic gargleblaster?", and thus is more likely to be true as a statement.
The question "Did people cheer for the king?" almost equals the statement "people can cheer for the king". Of course there is a degree of assumption on behalf of the questioner that may turn out entirely false, but normal statements can also be untrue.

I find there is value in distinguishing information as real (happening), theoretical (possibilities & abilities), and hypothetical (what if). Whether it is really useful depends on one's approach to AI. I didn't distinguish hypothetical scenarios until late in development, I imagine it is of much more import to Acuitas and its story-based angle.
CO2 retains heat. More CO2 in the air = hotter climate.

*

WriterOfMinds

  • Trusty Member
  • ********
  • Replicant
  • *
  • 529
    • WriterOfMinds Blog
Re: Project Acuitas
« Reply #249 on: July 25, 2022, 11:33:03 pm »
Update! Getting some new motivated communication material into the Conversation Engine/Executive.

I now have the Conversation Engine create its own Narrative scratchboard at the beginning of every conversation. That gives it access to a lot of the same modeling tools the Narrative engine uses. When a conversation is initiated and a new scratchboard is created, Acuitas is immediately entered as a character, and the scratchboard is populated with information about his internal state. This includes the current status of all his time-dependent drives, any "problems" (current or anticipated undesired realities) or "subgoals" (desired hypotheticals) being tracked in the Executive, and any activity he is presently doing. Once his conversation partner introduces themselves, they will be entered as a character as well, and given an empty belief model. Now the fun starts.

Whenever there is a brief lull in the conversation, Acuitas considers stating one of these known facts about his internal state. But first, he'll run a prediction on his conversation partner: "If they knew this, what would they do - and would I like the results?" This process retrieves the listener's goal model and determines their likely opinion of the fact, runs problem-solving using their knowledge model and capabilities, then determines Acuitas' opinion of their likely action using *his* goal model. If Acuitas can't come up with a prediction of what the listener will probably do, he settles for checking whether their opinion of his internal state is the same as his.

Maybe that was a little convoluted, so what's the bottom line? If Acuitas expects that you will either try to sabotage one of his positive states/subgoals or accentuate one of his negative states/problems, he will not tell you about it. If he thinks that you are neutral or might try to help, he *will* tell you.

There's also a mechanism that enters any fact told to the listener into their belief model. Acuitas will check this to make sure he isn't telling them something they already know.

With this in place, I started working on a better way of handling the spontaneously generated questions that have been an Acuitas feature since very early. Again, the previous method was kind of reflexive and arbitrary: generate and store a big list of potential questions while "thinking" privately. Whenever there's a lull in a conversation, spit one out. Here's how the new way works: whenever Acuitas is "thinking" and invents a question he can't answer, that gets registered as a lack-of-knowledge Problem: "I don't know <fact>." Acuitas may later run problem-solving on this and conclude that a feasible solution is to ask somebody about <fact>; this plan gets attached to the Problem until somebody appears and the Conversation Engine grabs the Problem and considers talking about it. At that point, instead of just describing the problem, Acuitas will execute the plan, and ask the question.

I think this is better than the old method because it's more versatile - less of a canned feature specific to those spontaneously-generated questions. In the future, all sorts of processes might generate lack-of-knowledge problems, which could have various solutions. For now, it still needs refinement. I haven't fully tested it all yet, and things need better prioritization so the generated questions (which can be very numerous) don't totally drown out the communication of other internal states.

There's one more thing I did, and that concerns threat handling. As I've previously described, if the conversation partner states an intention ("I will ..."), Acuitas will infer possible effects and run them against his goals. The result is a positive, negative, or neutral conclusion; if the conclusion is negative, he will view the speaker's statement as a "threat," dissent, and make attempts at self-defense. The new feature I added was the ability to collect the pieces of information used to reach the negative conclusion, and announce some of them to the threatening agent. Because if you knew this would have results he doesn't like, you wouldn't do it, right? You're not a total meanie, right?

I'm kinda proud of this one. It should generate a more-or-less appropriate reply no matter what the threat or the violated goal is.

A bit more on the blog: https://writerofminds.blogspot.com/2022/07/acuitas-diary-51-july-2022.html

*

MagnusWootton

  • Replicant
  • ********
  • 535
Re: Project Acuitas
« Reply #250 on: July 26, 2022, 06:07:13 am »
Building a model of the person communicating with the robot is really good if you get it going.
Is there any new data structures involved with this modelling, or is it all in there already and you havent actually full utilized whats there yet?  (From possibly a lack of energy? thats what happens to me.)

So your actually building a separate brain for the person communicating with Acuitas, and he can occupy this separate model and actually pretend hes u as well?   Thats what I would do.

If I were you I wouldn't go too far without a bit of direct programming the activity of the bot,  because unless u do this the problem is too big,   everything in my bot is going to be fairly dictated to it,  Possibly alot more so than this, and it doesnt hurt the situation,  makes it more predictable but at least its working good and its doing what you want,  if u let the computer control its own behaviour too much then it ends up being a problem as well, because it doesnt do what u want.

So the conversation robot has friend and foe system in it,  I spose in the real world your going to need that,  only takes one naughty kid to go try and "break the system" and Acuitas has got to detect that or he wont last as long in the wild.

I'm predicting your success,  In all my aging 41 year old programming wisdom you look like you are managing the problem in an efficient way, in ways I couldnt do until right close to now really,  before this u were majorly kicking my butt,  but maybe now Ive read more of what you are doing its probably helped me with the situation as well, if I want to go try and attempt a symbolic language based AI.

Is there a new demo of you communicating to it?   It would be cool to see it demonstrating these new abilities, how much does it help the situation of being with something useful to be around, instead of some meaningless magic 8 ball conversation you can have with a markov chain.

<edit>
I bet Acuitas can take commands really well,  that seems like a really useful thing for it.   would make a way better artificial telephone operator as well than what we get, so id think.
</edit>

*

WriterOfMinds

  • Trusty Member
  • ********
  • Replicant
  • *
  • 529
    • WriterOfMinds Blog
Re: Project Acuitas
« Reply #251 on: July 27, 2022, 04:02:55 am »
Quote
Is there any new data structures involved with this modelling, or is it all in there already and you havent actually full utilized whats there yet?

I think all the data structures that went into this month's work were re-used from the Narrative module.

Quote
So your actually building a separate brain for the person communicating with Acuitas, and he can occupy this separate model and actually pretend hes u as well?

Something like that, yeah.

No new demos yet. I'm a little too busy hacking things together right now to polish one up.