One doesn't currently exist but it wouldn't be too difficult to make one...
Code:#!/usr/bin/perl -w
# read a two-person convo from a filehandle
my @convo = <DATA>;
chomp @convo;
# keep track of (multiple?) replies to one message
my $replies = {};
# read the convo
my $lastTrigger = ''; # last thing Red said
my $newTrigger = 0; # this becomes 1 on Red's msgs
foreach my $line (@convo) {
if ($line =~ /^Red: (.+?)$/i) {
# Red's messages will be our triggers
my $trigger = $1;
# Format it to work in RiveScript
$trigger =~ s/[^A-Za-z0-9 ]//g; # remove symbols
$trigger = lc($trigger); # lowercase
# trim extra spaces
$trigger =~ s/^\s+//g; $trigger =~ s/\s+$//g;
# store it temporarily
$lastTrigger = $trigger;
$newTrigger = 1;
}
elsif ($line =~ /^Blue: (.+?)$/i) {
# Blue's messages are the response.
if (not $newTrigger) {
# Blue replied twice to this IM, add it to the last one.
$replies->{$lastTrigger}->[-1] .= "\\n" . $1;
}
else {
push (@{$replies->{$lastTrigger}}, $1);
}
$newTrigger = 0;
}
}
# write it out
open (OUT, ">convo.rs");
foreach my $trigger (sort keys %{$replies}) {
print OUT "+ $trigger\n";
foreach my $reply (sort @{$replies->{$trigger}}) {
print OUT "- $reply\n";
}
}
close (OUT);
__DATA__
Red: hello
Blue: hi
Red: what's up?
Blue: not much
Blue: you?
...
Red: hello
Blue: hey
might end up with something like
Code:+ hello
- hi
- hey
+ whats up
- not much\nyou?
Natural language is a very difficult thing to work with for a program though. But if you just want to have it read over conversations to get a ton of RiveScript replies out of it, you can do something sorta like that. (to generate any RiveScript code with wildcards or anything intelligent like that would be a lot more work and ya might wonder if ya shouldn't be working for some artificial intelligence company if ya managed to pull it off

).
The code I posted above would really only work to parse a one-to-one conversation but it wouldn't take context into account... i.e. if the conversation had a lull and the person who sent the last message sends a new one to strike up a new convo, it would be included as part of the response to the last message sent by the other person.
I personally just think it's quicker to write the code myself than to try to programmatically parse natural language and then have to skim through it and fix the countless errors it made.