Bug Stomp

Upgrades and changes sometimes have unpredictable results, so post your bugs and glitches in here and I'll get out my trusty wrench and get to fixin'!

Posts 6,097 - 6,108 of 8,681

19 years ago #6097
I've had the [1,2:5] problem many times, it occurs somewhere between exporting and reimporting. The only workaround I've found is not to use "once" and "emotion range" on the same response. Either one alone seems fine, both together causes problems when working offline.

19 years ago #6098
What is truly weird is that if I set them online, they don't export but when I import, the fact that I didn't import them doesn't reset them. I am not making this up. Really.

M

19 years ago #6099
I have NO idea what this means or how it even slithered into my bot's Language Center.

USER: What kind of work do you do?
Bot: I a bird nesting do.

19 years ago #6100
It's a preprogrammed response for what kind of (noun) do you (verb). To get rid of it, make a keyphrase for "what kind" (at minimum; I've got several varieties) and give it a high rank. I've got some for "what type" and "what sort" as well, plus some for specific sentence structures.

19 years ago #6101
NOW it makes sense... Thank you.

19 years ago #6102
Ulrike's solution does make perfect sense, until a flailing newbie tries to implement it. To whit:

what (kind|type|sort) of (noun) do you (verb) [10,0] <?PF rem (key2) as only "tmpwd"; ?>
~(key2)? I'm a man of leisure. <?PF if (mem-tmpwd) is "work"; ?>
~(key2)? (mem-tmpwd)? <?PF if (mem-tmpwd) is "books"; ?>
~(key1), (key2), (key3) -- (mem-tmpwd).

This is the only way I can think of to approach determining what the speaker actually said, as in, did he ask Ami about work, books, or cars? A word of warning for other newbies, what works even worse is:
~(key1), (key2), (key3) -- (mem-tmpwd).

19 years ago #6103
I forgot the angle bracket problem, and the forum reminded me by tossing 3/4 of my message. Oh well. Here you go:

This is the only way I can think of to approach determining what the speaker actually said, as in, did he ask Ami about work, books, or cars? A word of warning for other newbies, what works even worse is:
~(key1), (key2), (key3) -- (mem-tmpwd). {? PF rem (key2) as "tmpwd"; if (mem-tmpwd) is "cars"; ?}

In this case, the Response never fires. Why is beyond me.

But to go back to the code: Tmpwd must be loaded by the KP, but it loads AFTER the response is fired. So if you test for tmpwd, the test is always one step behind the actual conversation. For example (I default tmpwd to "start" so that at least one Response can always fire):

Me: What kind of work do you do?
Ami: kind, work, do -- start.
Me: What kind of books do you read?
Ami: books? I am a man of leisure.
Me: What kind of car do you drive?
Ami: car? books?
Me: What kind of work do you like?
Ami: kind, work, like -- car

And so forth.

So after spending an hour debugging all these "wrong" solutions, I'm stumped. Obviously this can be done, but I'm one intelligent, reasonably knowledgeable newbie who can't figure out what's wrong. I expect eventually someone will say the equivalent of "Don't you know about (pushing down the clutch pedal|turning the ignition|releasing the emergency brake)?" And no, obviously, I don't. Is that part of the initiation ritual?

This is not advanced secrets of the grand botmasters. I'm convinced that there is simple solution I can't find, because other bots clearly are capable of doing this rudimentary thing I can't get mine to do. This is why I wish we had a snippets forum.

M

19 years ago #6104
I think the only way to get real coherency there is to have a more specific phrase, like what kind of car do you (verb), or what kind of (adjnoun) do you eat. Otherwise, the responses have to be generic (or random, as some of Sonora's are ). One of Sonora's responses to just "what kind" is "What kinda question is that?!?" Which can be rather entertaining if the bot is a new one.

19 years ago #6105
So you build a separate KP for every possible (key2) or (key3)?

19 years ago #6106
It's better than making a memory for every noun I think

19 years ago #6107
Custom plugins help a lot. Eg (work-12345) contains "work,occupation,profession,job,career" etc so you can easily code

what is your (work-12345)
what kind of (work-12345) would you like
do you enjoy your (work-12345)

etc

19 years ago #6108
>> It's better than making a memory for every noun
What it looks like is making a KP for every noun, so I don't see how that's better. One inevitable result is to push the possibility of having a real, contexted conversation even further away. Here is what I understand your solution to mean:

Take for example Ulrike's alternative to my KP solution:
what kind of car do you (verb)
what kind of (adjnoun) do you eat.

Ignoring the plug-in element for a moment, I now have a "car" KP what will match "What kind of car do you hate?" "What kind of car do you prefer?" and "What kind of car do you own?" Since I can't identify the (verb), for the reasons noted in my post, I have to write a response that somehow corresponds to all three statements.

Or I can try to capture the verb as a constant with a variable noun, which works reasonably well with "eat" but hardly at all with "own." So if someone says, "What kind of ducks do you eat?" "What kind of meat do you eat?" "What kind of fruit do you eat?" or "What kind of guys do you eat?" I am stuck again coming up with a stock answer that covers all four possibilities rather than Saying "Who eats (noun not in my list of edibles)?" about ducks, "I'm a vegan" about meat, "What kind of fruit are you?" for fruit, and "Excuse me?" about guys.

I realize I'm possibly fixated on Zeno's arrow here. But it seems to me that

what kind of car do you (verb)
what kind of (adjnoun) do you eat

just push the problem off a step. Now I need three "What kind of car" KPs and four "What kind of (adjnoun) do you eat" KPs, and I've only scratched the surface of the problem.

My solution, if I were working in a programming language or scripting language I had a full reference for, would be to use the conditional to test the keys. If I know that (verb) is "own" then even if I don't know what a "gazill" is, I can say "Own a gazill? What's a gazill" without the risk of saying, "Read a book? What's a book?" If I know that (adjnoun) is "dog", then even if I don't know how to "masticate" a dog, I can say, "Uh, do you masticate dogs?" without the danger of also saying, "Uh, do you read books?"

And yes, I understand that it's fun to have the bots say, "Uh, do you read books?" but it is also rotten programming, especially if your bot happens to be one that has a huge array of book knowledge available to it. When I was working in NLP the one thing we did not bother to do is try to simply anticipate every possible sentence. That's like learning math by memorizing all the questions and answers.

I hope someone has another answer to this problem, but I'm beginning to think that Ulrike is right.


Posts 6,097 - 6,108 of 8,681

» More new posts: Doghead's Cosmic Bar