general

Saturday, 15. April 2006

Fusterclucked (I've been used and abused)

"Nice list", was a typically understated comment on Robitron to what, at least by my account, amounts to a very nice list: Juergen Pirner's Task List, a collection of common user behaviors (understood as "tasks") that are intended to test and/or "break" a natural language interface, or bot, that a user encounters on the Internet. Juergen calls it "a rough list of tasks Jabberwock (the "candidate") as a web based chatterbot is aware of", and with his consent, I re-post it here, so that it may inform a wider audience of AI researchers and fans. Being a bot on the web today is like walking around wearing a large "Kick me" sign on your ass, so as a primer for the abuse which any AI that's at the mercy of the general public has to endure, it's well worth studying.

Our larger discussion at that point revolved around the question of whether it is appropriate to speculate about a future dominated by super-human AI, while most AIs that exist today break when you do something as unintelligent and mechanical as feeding them back their own output. I couldn't be convinced that it is, but I believe I made up for that by pointing the group towards the agentabuse.org site. During CHI 2006, an international conference for human-computer interaction held from April 24-27 in Montréal, these commendable people are organising a workshop, "Misuse and Abuse of Interactive Technologies". From the blurb:
The goal of this workshop is to address the darker side of HCI by examining how computers sometimes bring about the expression of negative emotions. In particular, we are interested in the phenomena of human beings abusing computers. Such behavior can take many forms, ranging from the verbal abuse of conversational agents to physically attacking the hardware. In some cases, particularly in the case of embodied conversational agents, there are questions about how the machine should respond to verbal assaults.
The workshop was held in 2005 already; you can download the proceedings, or individual papers, from their site. Could be helpful.

Friday, 3. June 2005

Last proposal before summer break

WRT the recent discussion, at GTxA, at GameDevBlog, at Zen of Design (twice), at Terranova (twice), and at Design Synthesis, on the subject of Game AI, I propose thinking in terms of the "_ Actor *"-calculus, where "_ " represents the idea of recursion, "Actor" represents the idea of an actor that can act on all Solvable Terms of her story by solving them, and act on all Unsolvable Terms of her story by solving their types, and "*" represents the idea of the fixed point at which all Unsolvable Terms get equalled; then they get typed by the context of their appearance in the Story - the current position in Story Space-Time, and, via "_", get passed back to the Actor to type-solve.

With that, I annonce the summer break for Robot Soul. I'll reply to comments as they appear, but will not start any new threads for a while, as my summer project deserves all the attention I can give it. If the Into The Woods introduction to the "Hero's Journey" idea is any indication, some of the smarter game designers will read up on drama and acting (DOC format, but excellent reading list) during their summer vacation, which will enhance communication and the spread of these ideas to the more tech-oriented quarters of the game developer community. You heard it hear first.

See you in September.

Wednesday, 1. June 2005

Quadratic programming

Jason Booth, in a comment to Damion Schubert's "You Don’t Want Realistic A.I." post, points to the combinatory approach to AI in the early Mario Brothers games.
This moves you very quickly towards an n^2 model of content instead of an n++. This is a desirable place for an MMO developer to be in, because you simply cannot produce enough content in the n++ model.
This is one of the reasons why I find Dramatica so useful: it really supports the quadratic approach. It takes more skills to create n^2 content, but to me, it's the only viable strategy anyway,

Monday, 30. May 2005

Suits me fine

In Marcus Reinfried's essay"Can Radical Constructivism Achieve a Viable Basis for Foreign Language Teaching? - A Refutation of the 'Wolff-Wendt' Theorem", I just found an idea that I really like:
The phenomenal world is a mixture of mimesis (the mirroring of ontic reality) and construction, in which both factors amalgamate, because they cannot clearly be separated from each other.
In other words, Reinfried assumes "doubling";

Phenomenal World = Construction + Mimesis

If I assume (as the Constructivist that I seem to be) that Phenomenal World = Actor, the above corresponds nicely to Meyerhold's Formula

Actor = Creator + Medium

Right, this looks circular, but it isn't, really: since the Theory of Identification posits that, with the exception of the case of madness, identification is never complete, but an ideal that the Creator should aspire to without ever reaching it (if he does, the game is over for him), I get circularity with small random variations. Which suits me fine, since this seems to be how biological replication works, too.

Addendum: To anybody who concludes that I expect a correlation between gene expression and verbal expression to exist - you're right. "You are your material", Actor = Nature + Nurture, etc...

Wednesday, 25. May 2005

Disclaimer

I've already made favorable mention of the Dramatica software, and will repeat this in the future. This might bring up the question of whether I'm a shill for the company that sells it. Short answer: no.

Longer answer: I bought v.2 of Dramatica about nine years ago, and it works for me. It doesn't work for everybody; I know several writers who found that it limits their options in thinking about their stories, and actually, the program is designed to do just that. If your storytelling is inspired, say, by Wim Wenders' movies, I doubt that this is the tool you might want to use. It's also only available for Windows and OS X, which will limit you some more. If you can, try the demo (full functionality, except for Save and Export).

The reason why I find Dramatica an indispensable tool for the design of interactive stories/characters (an application probably not foreseen by the developers) lies in its very limitations: both the program itself and the Storyforms that are its output are designed to work recursively, using a fixed point combinator. I had no idea what this might be, or that I would have to find out about it, when I started learning to use AIML, but my subsequent attempts to use Storyforms to help me design bots led me to the lambda calculus. It took me a while to get my head around that, but then one day, ta-daaa, the lights went on like Hapland: "So this is how it all works!"

It taught me why the Dramatica story engine works, and why each completed Storyform has to have a fixed point (for those who know Dramatica: the value of the Problem of the Subjective Character that is Steadfast is the value of the fixed point), and incidentally, it also taught me why AIML works, which taught me why LISP works - it's all based on the same idea! And - wait for this! now I'm gonna weird you out! - there's an equivalent idea at the foundation of the Meyerhold/Stanislavski complex of acting theory - where it's called "doubling" -, which grounds the all-important identification of the Actor with the Character, and is expressed in the rule "You are your material". Meyerhold used to write this rule as

Actor = Artist + Medium

but an alternative notation he used was

Actor = Actor1 + Actor2

and the latter, to me, started looking damn similar to

f(x): x -> (('x)('x))

which is a LISP expression that evaluates to itself, and the foundation of a LISP (or AIML) interpreter! Alonzo Church used this as a foundation for all computing; Meyerhold/Stanislavski used it as a foundation for all acting: (('x)('x)) is a fixed point, which means it's a point that I can base a Storyform on, which grounds the Characters, which... but by then, my brain had totally turned to cottage cheese, which might explain why this so-called Disclaimer went off the rails the way it did...

Anyway, the good folks that sell Dramatica have no idea of who I am and what I'm doing, and get their product evangelized by me free of charge.

And if you don't know, now you know.

Sunday, 22. May 2005

Mathematics In Relativism Shock

Dennis Jerz linked to this gem of an LA Times article about mathematics going postmodern. Philip Davis, emeritus professor of mathematics at Brown University, shows that certain mathematical definitions drift over time, and proofs of mathematical "truth" (at least those on the level of difficulty where it takes computers to come up with one) are not absolute, but context-dependent, and socially constructed. For instance, hardcore mathematicians feel quite uneasy about proofs that can only be given using the help of computers, and cannot be verified "by hand".

This seems understandable, given the fact that, down on the hardware level, "digital" machines are undoubtably analog (the CPU's transitors are switched on and off by rising and ebbing electrical currents, and that motion is continous), and the famous "1"s and "0"s are really just an abstraction, which is prone to leak.

The notion that mathematics is not as resolvable a discipline as advertised is probably not so new; seems to me that the intuitionists argued along similar lines nearly a hundred years ago already. However, back then they were ridiculed by Hilbert and friends. Nobody is seen laughing about Davis now.

Impact on AI: if mathematicians doubt the correctness of mathematical proofs given by computers even now, then The Dawn of The Ultraintelligent Machines seems to be, erm, at least a good while off.

Friday, 20. May 2005

Dilemmata

To make it clear to anybody who still thinks that I fantasize about having solved the "story vs. agency" dilemma - this is not the point. The point is that, by definition, I don't have that particular dilemma. I've reified the system boundary so that the system is the story which includes the client(s)/player(s) as character(s), and any interaction between characters, whether human or virtual, is part of the story. This includes all attempts of the client to "break" the story, and the (potentially infinite) number of cases where the bot simply doesn't understand a word. These are simply moments of "heightend drama" (the basic, but not necessarily the only ones).

Whether the input, or parts of it, are understood or not: the bot always looks at the input and the context to generate an output, and a crucial part of this output is an update of the context. "Context", here, is "the story so far" - the history of the interaction. And this brings us to my dilemma: instead of "story vs. agency", I have "context vs. abstraction".

I start out with one sentence that is my Edge Metaphor (if you missed the discussion where I explained that term, you can catch up here - scroll down to about the middle of the second comment). The Edge Metaphor is a representation of my innermost story problem that is so abstract that it's entirely meaningless when encountered on its own. Then I add potential context. I say "potential" because any response can't really be part of the context defined by a particular client-bot relationship until the client first has said something that made the bot give this response - only then, it becomes part of their (hi)story.

Because humans are likely to respond to utterances of others, the meaning of which they don't understand, with a "wh-question", and because I write in a way that allows the bot to always answer any "wh-question" in context, my bet is that the probalility that the bot will end up making sense to the client will be relatively high. Add to that the fact that, given certain stylistical decisions about how the responses are written, you can treat a lot of inputs as if they where "wh-questions" - for instance, if you don't begin responses to "Why...?" with "Because...", you can also interpret inputs like "You're wrong", "I don't understand", "That's bullshit", etc., as if they were "Why?" -, and you can reveal even more context using that strategy. The goal is writing a text that can seamlessly explain itself. In my more highfalutin moments, I call this "the autopoiesis of meaning".

Of course, there's still a dilemma of sorts, since no matter how much context I provide, I'll never beat the Law of Leaky Abstractions. However, there's a practical reason for why I prefer the "context vs. abstraction" dilemma over the "story vs. agency" dilemma: in the case of the latter, you'll get a system with two interacting variables you have to optimize, and if I'm not grossly mistaken, figuring out what "optimal" is under these conditions is a mathematical impossibility (I think that John von Neumann gave the proof for this, but I can't find the reference any more, so if somebody had a pointer, I'd very much appreciate it). It's like a see-saw consisting of a beam placed over a barrel, with random forces acting on both ends of the beam in random ways - an unstable and unpredictable affair. If, instead, I fix one end of the beam, I only have to deal with one variable, which is much better. My beam might still be too feeble or too rigid to deal with some cases, but in the limit, it should be doing okay. In fact, it looks much closer now to what the Dramatica glossary calls Work - a solvable problem -, versus Dilemma - an unsolvable problem.

Some dead ends

I said I would have a closer look at the papers that came up when I googled for documents containing both the terms "narrative intelligence" and "method actor". One was Actor-Role Analysis: Ideology, Point of View, and the News, the MS thesis of Warren Sack, written in 1994. Sack was a member of the Narrative Intelligence Group at MIT, where the monicker "Narrative Intelligence" was coined in the early 90s. Regarding my query, the paper was a blind alley: the abstract contains the sentence "A version of the method, actor-role analysis, is encoded in a computer program, SpinDoctor, which can automatically detect the point(s) of view represented in some news stories", and Google concluded that "method, actor" would probably suit me just as well as "method actor". "Narrative Intelligence" is mentioned only on the Acknowledgments page. I didn't read the rest; 118 pages about a program that could detect the point of view in some news stories eleven years ago are a bit much.

Sack is currently an Assistant Professor in the Film and Digital Media Department at the University of California, Santa Cruz. If he does anything with the word "narrative" in it these days, I couldn't find it. I've been a subscriber to the Narrative Intelligence mailing list (ni@media.mit.edu) for the last four years; I recieved something like 15 messages during that time, the last one more than two years ago. It looks to me like the originators of the NI meme have pretty much written it off in the meantime.

The other lead my query got me consisted of two papers coming from the Universidad Complutense de Madrid, Spain, describing another attempt to solve what they call the "Interactive Dilemma": the "inevitable conflict between author’s determinism and interactor’s freedom". They chose pencil-and-paper Role-Playing Games and their Game Masters as a real-life model for their conception of Interactive Storytelling, which results in another one of those man-in-the-middle software architectures that I don't really believe in. It turns out that "Narrative Intelligence" appears only in the References, and "Method Actor", in this case, refers to one of the player types in RPGs, as defined by one Robin Law, who seems to be an authority on that subject. The Spanish researchers let the player choose a type in the beginning of the interaction with their system: "It is hoped that interactors of a specific model will under such conditions choose the type of character most related to their preferences in acting." Seems like they've re-invented the concept of character classes as it is known in MMORPGs.

Nothing to see here, move along, move along...

Thursday, 12. May 2005

Originality

Here are some queries I just googled, with the number of hits I got in parentheses:

"artificial intelligence" (12700000)
"artificial intelligence" actor (144000)
"artificial intelligence" actor -Spielberg -movie (72400)
"artificial intelligence" "method actor" -Spielberg -movie (28)

"narrative intelligence" (3770)
"narrative intelligence" actor (186)
"narrative intelligence" actor -Spielberg -movie (121)
"narrative intelligence" "method actor" -Spielberg -movie (4)

First discovery: Robot Soul scores top position for the last query, on day 6 after launch. This means that there are some other researchers out there, but my page rank is better. Niceness. I'll have a close look at the [pdf] other [pdf] documents [doc] later.

As it seems, there are three of them containing the term combination, all of them dating from 2004. So on first look, it seems that the meme that includes both the concept of "artificial intelligence" and "method actor" is weak, but it is. It's not some "original idea" attributable exclusively to yours truly (= "madness"?), but something that obviously has occured to some people recently, those occurences seemlingly happening independent of one another (I, for one, don't know any of the other people who wrote about what does or doesn't connect "artificial intelligence" and "method actor" - yet!). Is that characteristic for a meme? I would say it is.

Second discovery: Dennis Jerz reads me. This is an honor. Jerz hosts a mad good Eliza. He also was puzzled by a suggestion of mine; I'll post about that later.

Third discovery: now I seem to have it all - no talent, plus no originality. Anatoly, here I come!

Saturday, 7. May 2005

Introduction

Hello world. My name is Dirk Scheuring, and I create chatbots (a.k.a. chatterbots, bots, talking robots, conversational characters, interactive characters, etc.). Bots are a form of Artificial Intelligence - AI, for short. To write my bots, I use a programming language called Artificial Intelligence Markup Language (AIML). Together with Anne Kootstra, I founded aiml.info, a website which distributes (mainly) FOSS tools and information about their use to AIML authors/programmers.

The awkward compound term "AIML authors/programmers" warrants some attention: in the academic "discipline" (or "cross-discipline", or "meta-discipline", or whatever) called AI, there's a budding "sub-discipline" called Narrative Intelligence, and it's there where my interest in AI is focused. There are various definitions, by various people, of what NI is, or could be. More than in definitions, however, I'm interested in working examples.

Today, most of the people who come up with such examples seem to emerge from one of two professional backgrounds: they start their self-education in designing and implementing interactive characters as either authors or programmers. In terms of science as a whole, authors can be categorized as belonging to the humanities culture ("author" as synonym to "storyteller"), and programmers as belonging to the natural sciences culture ("programmer" as synonym to "engineer"). To make a long story short: I believe that, to create the best possible chatbots, a botmaster has to have and use both storytelling and engineering skills. So here's my Assumption #1:

author = programmer = Creator

That means from on here, I see neither authors nor programmers - I only see Creators.

Recent Comments

I feel fine.
I know someone will comment on it soon :-) Theatre...
scheuring - 14. Jun, 10:24
How do you feel when...
How do you feel when you receive no comments? How can...
Magical - 14. Jun, 09:19
Thanks, Brian,
for this interesting invitation. Since, by your own...
scheuring - 15. May, 10:33
AI-Foundation Panel
Dirk, I like the thinking. Because of that expertise,...
Brian Hoecht - 13. May, 22:05
Gabe,
you're welcome.
scheuring - 29. Apr, 16:29
thanks scheuring!
Cool, that seems to cover most of the basics. Definitely...
drgold - 28. Apr, 05:41
Top 400
About five years ago (pre-ProgramD), the "standard"...
scheuring - 22. Apr, 14:55

Credits


Bots
creators
definitions
fun
general
reasons
stories
Profil
Logout
Subscribe Weblog