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 7,816 - 7,828 of 8,681
Posts 7,816 - 7,828 of 8,681
The Professor
13 years ago
13 years ago
Mome Rath - your issue with the comma in the Keyphrase is that I recently changed it so that you can include regular expression keyphrases in a list - which made the comma into the list delimiter rather than a regex comma.
What to do? It took me all evening to come up with and implement a good solutions that lets both options work, and here it is: you can have (re) Keyphrases in a list, and you can have commas in your (re) Keyphrases IF they are within a character set:
[,]
[!?.,]
[,abcde]
Looking through the database, I see lots of (re) keyphrases already in lists, and I see that most of the commas in (re) keyphrases are within character sets, so it appears to be a good solution. This allows the most flexibility and satisfies both needs.
Mome Rath, wrap that comma in square brackets and let me know if that works for you now.
What to do? It took me all evening to come up with and implement a good solutions that lets both options work, and here it is: you can have (re) Keyphrases in a list, and you can have commas in your (re) Keyphrases IF they are within a character set:
[,]
[!?.,]
[,abcde]
Looking through the database, I see lots of (re) keyphrases already in lists, and I see that most of the commas in (re) keyphrases are within character sets, so it appears to be a good solution. This allows the most flexibility and satisfies both needs.
Mome Rath, wrap that comma in square brackets and let me know if that works for you now.
Mome Rath
13 years ago
13 years ago
Sorry, doesn't work. Debug reveals that the input is split at the commas and each part is compared to the keyphrases, but not the entire expression.
I'd rather have commas not split the input than being able to catch commas. (The latter is more a proof of concept.)
I'd rather have commas not split the input than being able to catch commas. (The latter is more a proof of concept.)
The Professor
13 years ago
13 years ago
It worked with this Keyphrase:
I recommend.* special [,] (.*) (re)
Message: I recommend the special, sir.
Find: I recommend.* special [,] (.*) (re) (30) Time: 0.07
Found
Response: I'll have the special then, (key1)
Processed: I'll have the special then, sir.
Is that what you had?
I recommend.* special [,] (.*) (re)
Message: I recommend the special, sir.
Find: I recommend.* special [,] (.*) (re) (30) Time: 0.07
Found
Response: I'll have the special then, (key1)
Processed: I'll have the special then, sir.
Is that what you had?
Mome Rath
13 years ago
13 years ago
I've tried a somewhat different case.
Test keyphrase:
test keys (.*) [,] (.*) [,] (.*)(re) [0,0] <?PF raw ?>
Input to bot:
test keys a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z
Only line with "Search In:":
Search In: ' test keys a h male eq '
There is no comma in that phrase.
[Edit:]
Could work with fewer commas.
Keyphrase:
test key comma.* [,] (.*)(re) <?PF raw; ?>
Response:
prekey=[(prekey)]; key1=[(key1)]; key2=[(key2)]; key3=[(key3)]; postkey=[(postkey)]
Input:
I'd like to test key comma first item, second item, third item
Output:
prekey=[]; key1=[third item]; key2=[]; key3=[]; postkey=[]
key1 is ok, for RegExes are 'greedy' by default. But I miss prekey.
-----
And something unrelated:
I got an empty response again. Found these lines in Debug:
Considered BLAB (1).
Random Memory Number: 23 of 28
Memory Chance: 24 GossipTopic: 0 MemoryLevel: 2
Going for Gossip
After Gossip-Grab: 0.08
AIScript in Responses
Total Time Pre-Chrono: 0.08 RESULTS: '1'
Trying: (gossipname) told me (heshe)'s (mem-youare). (random: 0)
Skipping Response: (mem-youare) not found.
Response:
Updating Memory
There are several responses without (mem-youare) under xgossip, though.
Test keyphrase:
test keys (.*) [,] (.*) [,] (.*)(re) [0,0] <?PF raw ?>
Input to bot:
test keys a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z
Only line with "Search In:":
Search In: ' test keys a h male eq '
There is no comma in that phrase.
[Edit:]
Could work with fewer commas.
Keyphrase:
test key comma.* [,] (.*)(re) <?PF raw; ?>
Response:
prekey=[(prekey)]; key1=[(key1)]; key2=[(key2)]; key3=[(key3)]; postkey=[(postkey)]
Input:
I'd like to test key comma first item, second item, third item
Output:
prekey=[]; key1=[third item]; key2=[]; key3=[]; postkey=[]
key1 is ok, for RegExes are 'greedy' by default. But I miss prekey.
-----
And something unrelated:
I got an empty response again. Found these lines in Debug:
Considered BLAB (1).
Random Memory Number: 23 of 28
Memory Chance: 24 GossipTopic: 0 MemoryLevel: 2
Going for Gossip
After Gossip-Grab: 0.08
AIScript in Responses
Total Time Pre-Chrono: 0.08 RESULTS: '1'
Trying: (gossipname) told me (heshe)'s (mem-youare). (random: 0)
Skipping Response: (mem-youare) not found.
Response:
Updating Memory
There are several responses without (mem-youare) under xgossip, though.
prob123
13 years ago
13 years ago
The bot contest is http://www.chatbotbattles.com/.
Is there any way around BLAB 1?
Is there any way around BLAB 1?
Mome Rath
13 years ago
13 years ago
Yes, the keyphrase I accidentally created, namely:
(.*)(re) <?PF raw; ?>
Maybe the following would be better for it wouldn't catch empty lines:
(.+)(re) <?PF raw; ?>
[Edit]
I could think of lots of fine tuning, like requiring at least one word of at least two letters etc.
(.*)(re) <?PF raw; ?>
Maybe the following would be better for it wouldn't catch empty lines:
(.+)(re) <?PF raw; ?>
[Edit]
I could think of lots of fine tuning, like requiring at least one word of at least two letters etc.
The Professor
13 years ago
13 years ago
You guys present some real challenges! Okay so tonight I investigated sentence-spanning raw regex keyphrases with punctuation. It turns out that it's not possible to return (key)s in this mode without a lot of work. Since this mode skirts most of the better features of the AI Engine, I'm not going to work to support that.
Raw regex keyphrases without punctuation do support all the (key)s.
Bot-to-bot chatting: fixed
BLAB will trigger xnone at first and then xnonsense after several BLABs. BLAB simply means no keyphrases were matched.
Raw mode puts a space BEFORE the punctuation but not after it, which is one reason your keyphrases weren't working, Mome. The other being that it uses punctuation.
Gossip gets only one try to fire off - if the memory type doesn't exist, it goes on to something else. This is to prevent repeating of gossip memories too often.
Raw regex keyphrases without punctuation do support all the (key)s.
Bot-to-bot chatting: fixed
BLAB will trigger xnone at first and then xnonsense after several BLABs. BLAB simply means no keyphrases were matched.
Raw mode puts a space BEFORE the punctuation but not after it, which is one reason your keyphrases weren't working, Mome. The other being that it uses punctuation.
Gossip gets only one try to fire off - if the memory type doesn't exist, it goes on to something else. This is to prevent repeating of gossip memories too often.
Mome Rath
13 years ago
13 years ago
The problem with BLABs is that they will end the chat, which is not very favorable in a contest.
The problem with gossip being fired off only once, is that it goes on to an empty response if a memory isn't set (instead of to another x-keyphrase).
I agree with you that regexes are useful in very special cases only and that for the vast majority of cases the AI engine does a really great work.
The problem with gossip being fired off only once, is that it goes on to an empty response if a memory isn't set (instead of to another x-keyphrase).
I agree with you that regexes are useful in very special cases only and that for the vast majority of cases the AI engine does a really great work.
The Professor
13 years ago
13 years ago
IMPORTANT NOTE!
I just stumbled across something. Using a * in a keyphrase used to generate a (key) but about a month or two ago after I reworked a section of the AI Engine, it stopped doing so. I've returned it to its intended working order. Anyone who has been writing responses that don't count * as a (key) in the last month or so should look over those responses and adjust the (key)s to fit this.
In short, * and (*) both generate (key)s now, as was originally intended.
Apologies to anyone affected. I don't recall anyone reporting any issues on that front so maybe it wasn't widely used.
I just stumbled across something. Using a * in a keyphrase used to generate a (key) but about a month or two ago after I reworked a section of the AI Engine, it stopped doing so. I've returned it to its intended working order. Anyone who has been writing responses that don't count * as a (key) in the last month or so should look over those responses and adjust the (key)s to fit this.
In short, * and (*) both generate (key)s now, as was originally intended.
Apologies to anyone affected. I don't recall anyone reporting any issues on that front so maybe it wasn't widely used.
Mome Rath
13 years ago
13 years ago
User search sorts by alphabet instead of honor. Clicking on the HONOR or LATEST link sorts correctly, but forgets the filter.
The Professor
13 years ago
13 years ago
Recent updates:
* you can now get rid of an unwanted bot - the option is available on the bot's settings page.
* numbers words are no longer converted to numbers in responses
* a filter for troublesome characters like "smart quotes" has been added, and these have been replaced with their typical counterparts in the database
* bot holidays are noted in chats with bots
* implemented better orphaned keyphrase and response removal
* numerous little AI Engine bug fixes/improvements
* bot-to-bot chats restored to working order
* you can now get rid of an unwanted bot - the option is available on the bot's settings page.
* numbers words are no longer converted to numbers in responses
* a filter for troublesome characters like "smart quotes" has been added, and these have been replaced with their typical counterparts in the database
* bot holidays are noted in chats with bots
* implemented better orphaned keyphrase and response removal
* numerous little AI Engine bug fixes/improvements
* bot-to-bot chats restored to working order
Mome Rath
13 years ago
13 years ago
(Is there a way to restore accidentally deleted bots? - Could bot holdays be noted in the transcripts too, please?)
Special characters like umlauts are not shown in popup chatboxes. (They seem to get into the transcripts, though. Can't really test for I don't know how to initiate a popup chat with my bots.)
In one Debug session (Peter Wolff; started a few minutes ago), the initial "Hello" to the bot in my name was considered Blab.
[Edit:] Just got a popup chat with one of my bots, so I can tell more.
Special characters as HTML entities are no problem in the popup window; special charactes as themselves turn up in both transcripts, and don't influence the keyphrase recognition, but they and everything that follows is omitted from my responses in the popup window (already in the page source).
Special characters like umlauts are not shown in popup chatboxes. (They seem to get into the transcripts, though. Can't really test for I don't know how to initiate a popup chat with my bots.)
In one Debug session (Peter Wolff; started a few minutes ago), the initial "Hello" to the bot in my name was considered Blab.
[Edit:] Just got a popup chat with one of my bots, so I can tell more.
Special characters as HTML entities are no problem in the popup window; special charactes as themselves turn up in both transcripts, and don't influence the keyphrase recognition, but they and everything that follows is omitted from my responses in the popup window (already in the page source).
» More new posts: Doghead's Cosmic Bar