Recent Posts

Pages: [1] 2 3 ... 10
General Project Discussion / Re: Exp-Log (a deductive system)
« Last post by ivan.moony on January 18, 2022, 08:51:42 pm »
I prefer ANNs or Direct hardware logic, to turing machines by a mile,  heaps simpler, also universal.

Doesn't ANN resemble a stateless machine? You call ANN with some parameters, you get some result. No states remembered between cycles.

What I like about Turing-like machines is that they are easy to formally describe and reason about. This provides a fruitful ground for algorithm synthesis. This is also a case with lambda calculus, though LC is a stateless and no-user-interaction-in-between-intended kind of a computation.
General Project Discussion / Re: Exp-Log (a deductive system)
« Last post by MagnusWootton on January 18, 2022, 06:44:26 pm »
I prefer ANNs or Direct hardware logic, to turing machines by a mile,  heaps simpler, also universal.

General Project Discussion / Re: Exp-Log (a deductive system)
« Last post by ivan.moony on January 18, 2022, 10:48:35 am »
This whole automata emulation inside stateless environment is cumbersome. I want it to be simpler. States exist in real world, right? Why shouldn't then they be a part of the language?

I need to construct a stateful automata environment to embrace that stateless insides. Maybe I'll go for it in a direction of generalizing all three important automata classes (finite state, pushdown, and Turing machines) into a single automation parameterized kind.

But why wouldn't I use only Turing machine if it has greater expressive power than finite state and pushdown automata? Because pushdown is simpler to use than Turing, and finite state is simpler to use than pushdown. Turing machine is a necessary evil we should reach for only if we have to. Otherwise, those simpler kinds should be at disposition to easy up our work.
A.L.I.C.E (AIML) / Re: RiveScript Version: v2.0.3
« Last post by on January 16, 2022, 07:46:03 pm »
I don't use Rivescript but if it follows the standard AIML spec, the <person> transformation should apply to the entire wildcard contents, rather than just the first match, so I would say, yes, it needs amending.

This was helpful.  Thanks for pinpointing the issue. This made me consider a potential work around.  But, extending the RiveScript open source would of course be better. 
A.L.I.C.E (AIML) / Re: RiveScript Version: v2.0.3
« Last post by on January 16, 2022, 07:32:53 pm »
#! /usr/bin/env perl

my $sentence = "i am to you what you are to me.";

for ($sentence) {
  s/i am/YOU ARE/g;
 s/you are/I AM/g;

print $sentence;

Save as:
Runs with: perl
YOU ARE to ME what I AM to YOU.

sudo chmod +x

Convert $sentence to sentence case in another pass.

 « Edit Notes: Updated code »
General Project Discussion / savannah digital assistant
« Last post by chattable on January 16, 2022, 06:32:59 pm »
i making a digital assistant that i can roleplay with.
i am using rivescript, tinketer,pyttsx3 and pyjokes to make her.
i am implimenting the ability to touch the digital assistant in role play.
she will be able to remember what i have done and have not done in roleplay.
her name is actually savannah.
i did the same thing with my fun lady chatbot on personalityforge websight.
i am going to give her house with rooms represented by text and pictures.

here is the script i made to play gifs for a certain amount of time then the window will disappear.

import tkinter
from PIL import Image, ImageTk, ImageSequence
from time import time
############you need to install pillow with pip###########
class App:
    def __init__(self, parent):
        self.parent = parent
        self.canvas = tkinter.Canvas(parent, width=400, height=400)
        self.sequence = [ImageTk.PhotoImage(img)
                            for img in ImageSequence.Iterator(

##############################put the full path to your gif file between the quotation marks after r with double slash between directories###########
        self.image = self.canvas.create_image(200,200, image=self.sequence[0])
    def animate(self, counter):
        self.canvas.itemconfig(self.image, image=self.sequence[counter])
        self.parent.after(20, lambda: self.animate((counter+1) % len(self.sequence)))

root = tkinter.Tk()
app = App(root)
start = time()

# in after method 5000 milliseconds
# is passed i.e after 5 seconds
# main window i.e root window will
# get destroyed
root.after(6000, root.destroy)
# running the application

end = time()
print('Destroyed after % d seconds' % (end-start))
Modify message

i really like the replika chatbot.
A.L.I.C.E (AIML) / Re: RiveScript Version: v2.0.3
« Last post by on January 16, 2022, 06:06:14 pm »
! version = 2.0

// Person substitutions
! person i am    = you are
! person you are = I am
! person i'm     = you're
! person you're  = I'm
! person my      = your
! person your    = my
! person you     = me
! person i       = you
! person me      = you

+ say *
- Um... "<person>"

I think what goes wrong with the JavaScript version is that parts of the sentence are being substituted twice.

A common solution, in many languages, is using a case sensitive match, substitute UPPERCASE for
lowercase to prevent the second substitution.  For example:  "i am" to "YOU ARE" will not later
case sensitive match to "you are" so it won't get transformed.

Modified using UPPERCASE technique...

! person i am    = YOU ARE
! person you are = I AM
! person i'm     = YOU'RE
! person you're  = I'M
! person my      = YOUR
! person your    = MY
! person you     = ME
! person i       = YOU
! person me      = YOU

+ say *
- Um... "<person>"


i am to you what you are to me

YOU ARE to ME what I AM to YOU

Of course, another pass would convert "YOU ARE to ME what I AM to YOU" to sentence case.

EDIT NOTES:  Slight correction on misspelling.
General Chat / Re: Peril Quest - A Simulated adventure (A completed work of fiction)
« Last post by OllieGee on January 16, 2022, 02:46:39 pm »
Im pleased that you like what you’ve read so far WriterOfMinds. I’d be really grateful if you could post any quick reviews on the chapters via the Wattpad site. Cheers!
General AI Discussion / Re: Language feat.
« Last post by Zero on January 16, 2022, 02:04:24 pm »
I'm about to define a new controlled language, designed to be used for symbolic AI inner discourse, social interaction, and so on. I call it µlfn (Micro-LFN).

So, here is my strategy.

There are 2 stages: definition of the vocabulary, and definition of the grammar.

For the vocabulary, I will include
- The LFN translation of every word in the Toki Pona dictionary. This is because Ai need something to talk about: the Ma-ali island will have plants, animals, fire, water, ...etc. A very simple world, but it still needs words to talk about these things.
- From LFN, what I call "tool words": prepositions, conjunctions, ...etc.
- From LFN, words related to the mind, like thinking, hesitating, wondering, learning, being surprised, ...etc. But I don't know yet how I will extract them from the LFN dictionary.

If I can, I'll try to stay under 250 words.

For the grammar of µlfn, fortunately I can use the extremely well written official LFN grammar book. For now, I will include only the rules I need to make µlfn as capable as Attempto Controlled English, trying to keep things simple (one right way to say something should be enough). I should be able to hand-craft a complete PEGjs parser out of it. Then if I see a need for more rules, I could add carefully selected ones.

The advantage of staying strictly in a subset of Franca Lingua Nova is, you can always augment Micro-LFN later gradually if you need to: you don't have to invent anything, you're already into a well-designed human language.
AI Programming / Re: Remembering Chatbot user in RS
« Last post by Zero on January 16, 2022, 11:41:03 am »
Thanks for the input.

I think I would insert an optional callback right in the setVariable() function of rivescript.js, and make it available in the public API through a setPersistenceCallback() function, so I (the user) can inject my own persistence callback at initialization.

Welcome to AiDreams :)
Pages: [1] 2 3 ... 10