Saturday, August 4, 2012

A bit of non-library related fun

I must apologize for not posting. Sometimes things happen in life, like fires or accidents, and you're the only one near enough to help. That's what's been going on for the last few months. I won't bore you with details, but my wife and I have been taking care of some matters and helping a few people get their lives in better order.

Anyway, here's some fun, and good clean fun at that.

How To Survive A Robot Uprising (aka Robopocalypse)



I suggest you watch carefully and take notes.

Sunday, July 1, 2012

Google's Neural Network teaches itself to recognize...cats

Some exciting news last week. Google's simulation of a neural network taught itself how to identify cats after a week of watching YouTube videos. Keep in mind that the network had never been given even a single image labeled as a cat; it was never told what a cat was. It taught itself from unlabeled images.


Besides image recognition, this research will have applications in speech recognition and natural language processing. (As in Google's own version of SIRI).

As soon as the neural network believes that it is itself a cat, the feline conquest of the internet and AI will be complete!




Here's the story: http://www.eetimes.com/electronics-news/4376128/Google-neural-network-identifies-cats

Thursday, May 10, 2012

Emma2 coming soon...

I haven't been blogging much during the last month. Not due to laziness or boredom, but because I've been working on a new bot, "Emma2," written not in AIML but in ChatScript. ChatScript is a relatively new and very successful language for chatbot creation. So far I'm very pleased with the results. Stay tuned!

Friday, April 13, 2012

Robot with Human Skeleton

Here's something I came across on Twitter and wanted to share. ECCEROBOT is a robot with a structure of mechanical bones, joints, muscles, and tendons inspired by our own human anatomy:

Thursday, April 12, 2012

Computers in Libraries 2012, Chatbots 3.2

Spring is the time for presentations and travel. Last month, Emma (infoTabby) and her human friends presented at Computers in Libraries 2012 and at Chatbots 3.2. Both went well. My apologies for not releasing v1-5b as promised; I decided to skip it entirely and move to v1-6 which gathers the majority of the info you need to edit into one file and allows you to set material type attributes. It's good to be home and back to work!

Friday, March 16, 2012

Robots that fly and cooperate and play music

Michele and Emma and I will be speaking at Computers in Libraries 2012 next week, so there hasn't been much time for blogging. However, here's something you might enjoy, flying robots that cooperate and play the James Bond Theme.

Very cool.

Thursday, February 23, 2012

Facial recognition technology coming to retail stores

From Click Orlando, Bars, stores to use facial recognition technology to increase sales. If you don't want to read the whole article, here's the gist. In a few weeks some businesses in central Florida will start using enhanced facial recognition technology to cater ads to a shopper's age and demographic. In other words, the store will have billboards that can determine your age and gender, then display ads it thinks you'll like based on your age and gender. If you're a 30 year old woman, you'll see ads for shoes and makeup, if you're a 40 year old man, you'll see ads for lawn mowers and grills. Or turkey deep fryers and socket sets, or whatever. Eventually stores will be able to recognize you as an individual and track your spending habits (like they already do). In fact, the FTC "worries about the time when technology becomes so advanced that your social media profiles are scraped for information." Another reason not to share all those deeply personal tidbits on Facebook or Twitter. No one wants to walk into the grocery and have an artificially intelligent billboard start shouting about the great deal it'll give you on Gas-Ex or Listerine. "Come on and buy it, Chuck! You tweeted that was the reason you couldn't get a date!" To avoid this kind of embarrassment, the FTC predicts that "people will be wearing camouflage so they're not picked up by facial recognition trackers all over the place." Well, who knows. Some people can only see the potential for abuse in new technology. I try to be a bit more optimistic.

Tuesday, February 14, 2012

What do you do on your days off?

Chase bugs. And I'm after some tough ones right now. Very frustrating, but you just have to take the code apart one piece at a time and test each one individually. And what's driving me nuts is that my code works on the test server, but somehow is getting disrupted between the server and the bot interface on the webpage.


That's a real insect; you can read about it here. I'd rather not think about what it would be gnawing if there hadn't been a carrot near by.

Tuesday, January 31, 2012

Why did the Catbot cross the Road?

I didn't post very much this month. Things have been busy. Well, they're always busy, but this month was different. As some of you know, I'm now at the Lake Branch. The last few weeks have been a real pleasure, getting to know the Lake staff and community. The Library is getting ready to start computer classes at Lake, and there are more good things in store. Besides this, I've been trying to learn how to use AIML conditions. I think I'm finally getting a handle on them. And there's no better way to learn than by having a bit of fun. So...

Why did the Catbot cross the Road?

We can use conditions to code our bot to respond to this question:



<category>
<pattern>CATBOTXROAD</pattern>
<template>
<think>
<set name="topic">BOTJOKE</set>
</think>
That's a secret. I bet you can't guess why the Catbot crossed the road.
</template>
</category>

<topic name="BOTJOKE">
<category>
<pattern>_</pattern>
<template>
<think>
<set name="answr"><star/></set>
<set name="message">wrong answer</set>
<condition name="answr">

<li value="WHY GUESS"><set name="message">why guess</set></li>
<li value="* WHY GUESS"><set name="message">why guess</set></li>
<li value="WHY * GUESS"><set name="message">why guess</set></li>
<li value="WHY GUESS *"><set name="message">why guess</set></li>
<li value="* WHY * GUESS"><set name="message">why guess</set></li>
<li value="WHY * GUESS *"><set name="message">why guess</set></li>
<li value="* WHY GUESS *"><set name="message">why guess</set></li>
<li value="* WHY * GUESS *"><set name="message">why guess</set></li>

<li value="OTHER SIDE"><set name="message">right answer</set></li>
<li value="* OTHER SIDE"><set name="message">right answer</set></li>
<li value="OTHER SIDE *"><set name="message">right answer</set></li>
<li value="* OTHER SIDE *"><set name="message">right answer</set></li>

<li value="GIVE UP"><set name="message">give up</set></li>
<li value="* GIVE UP"><set name="message">give up</set></li>
<li value="GIVE UP *"><set name="message">give up</set></li>
<li value="* GIVE UP *"><set name="message">give up</set></li>

<li value="WHY"><set name="message">give up</set></li>
<li value="* WHY"><set name="message">give up</set></li>
<li value="WHY *"><set name="message">give up</set></li>
<li value="* WHY *"><set name="message">give up</set></li>

</condition>
</think>

<condition name="message">
<li value="wrong answer">No. It's not <get name="answr"/>. Guess again.</li>

<li value="why guess">It's fun. Go ahead and guess or type "I give up."</li>

<li value="right answer">No, that was the chicken. It was to get to the other side. Of the Digital Divide!
That's Librarian Humor for you.
<think>
<set name="topic"></set>
</think></li>

<li value="give up">Give up? It was to get to the other side. Of the Digital Divide!
That's Librarian Humor for you.
<think>
<set name="topic"></set>
</think></li>

</condition>
</template>
</category>
</topic>




One advantage to using conditions is that it's easier to control the topic tags. Very useful. Does this have an application beyond programming the bot with awful jokes? Yes. In fact, all of the files containing library information are being rewritten, as are those files governing searches. Lots of work, but our Emma should be in good shape for Computers in Libraries 2012! Presenters get to go free, it'll be a blast!

Monday, January 30, 2012

Cooking with Dog - How to Make Nabeyaki Udon Noodle

After a long evening of writing AIML, nothing perks me back up like a bowl of udon noodles. Here's a nice recipe for Nabeyaki Udon. There's a whole "Cooking with Dog" series on YouTube, very interesting and very cute. It's a poodle, naturally. Smart, smart dogs.

Monday, January 16, 2012

Fun with conditions

Sorry I've been away for so long. I've been in touch with one of the best AIML coders around, Steve Worswick. He's given me some assistance with using AIML conditions in Emma's brain. This is a different way of writing the code, but is much more flexible and easy to customize. So, for the last few weeks I've been learning how to use conditions properly and rewriting Emma's files. There are still quite a few to go, but I'll be finished by the end of this month.

I promise I'll also find time to blog!

Tuesday, November 29, 2011

A better way to answer our #1 question

You probably know that Emma's most frequently asked question is some variation of "What are your hours?" Until recently, she would respond by reading a summary of our hours. This is a rather long answer and it's not always correct, especially around the Holidays. When a user recently asked, "Are you open tomorrow?" on the day before a holiday, I began trying to program Emma to respond with the hours for a specific day. I contacted Dr. Wallace with some ideas and he put me on the right track. This is possible by using the formatted date tag. If you're unfamiliar with this formatting, or are interested in the technical details of the AIML code, follow this link.

Emma now knows what day it is and will respond with the hours for that day. She can also tell you if we're open tomorrow, or if we were open yesterday. I'm working on a separate AIML file containing holidays, so she'll know when we're closed or are closing early.

The #2 question is "Do you have eBooks?"

Saturday, November 19, 2011

Happy Birthday, Emma!

Emma first appeared on our website two years ago on November 19, 2009. As we're constantly trying to improve her, it's easy to lose perspective on just how far she's come. Two years ago, Emma answered a dozen, canned questions from a drop down menu. Now she not only answers questions about the library, but she can also pass queries to our catalog, to the OhioLINK catalog, to the Ohio Web Library, to Wolfram|Alpha, and even get you a local weather forecast. She knows what day it is and can tell you the library's hours for that day. And believe it or not, these are just the first small steps.

Emma wasn't the first chatbot to be used by a library (there have been a handful of German bots since 2006) but she was the first one to go live to the public in the U.S. She's blazed a trail that others are now following - University of Nebraska at Lincoln, Akron-Summit County Public Library, and most recently the Wadsworth Public Library. As more libraries get involved, this technology will only improve, becoming more powerful and smarter.

So, what's in store for our humble Catbot? We already see her clones, "kittenbots," spreading to other libraries. Pandorabots is working to make her available to smart phones and other mobile devices, and to enable her to access information far beyond library catalogs and databases. Emma (and Siri) really are just the beginning!

My thanks to all of you who help Emma develop by chatting with her, and also to those of you who have believed in and supported this project. I've done my utmost to prove that your confidence has not been misplaced. I think the coming year will show that it has not.

Sunday, October 30, 2011

Fall Cleaning

I've been putting it off for a while, but this was finally the weekend to start cleaning up Emma's brain. Kind of like raking the leaves or cleaning out the gutters; not the way you want to spend your days off, but you know it needs to be done. As you'd expect, Emma's brain developed through a number of stages. The oldest parts were generated more or less automatically by SitePal back in 2009. Not long after, I started learning how to write AIML myself. Being an ex-hornplayer and not a programmer, it took a while for me to learn good style, especially using AIML predicates. Not that the code was bad, it just needed some tidying up. And after three days and plenty of coffee it's nearly done. Now we'll have a nice, orderly foundation to build upon. And not just for Emma and MPL, but also for those using Emma's brain to make their own library bots.

Saturday, October 22, 2011

Pandorabots Rock the 2011 Loebner Competition!

Exciting news from Alicebot.org
- Pandorabots made history at the 2011 Loebner Competition:


"For the first time in its history the Loebner Prize included a separate prize known as the Junior Loebner Prize in which the judging panel consisted of students between 12 and 14 years old. Our team's two entries, Zoe by Adeena Mignogna and Tutor by Ron C. Lee, tied for first place in the Junior contest. Zoe also came in second place in the main contest. Also this was the first time two finalists used the same platform, Pandorabots. Adeena, Ron, Steve Worswick, and Pandorabots engineering staff all worked together to make it a team effort.



The main contest was as usual judged by scientists, technology experts and journalists.  Typically the judges try to give the bots an IQ test with questions like, "How many syllables in the word banana?" or "Which is bigger a small mountain or a large tooth?" (not very good icebreakers in ordinary human conversation--can these judges carry on a conversation with a person?) and predictably once again the bots are pronounced "disappointing".   The junior judges have more fun with the bots, suspend their disbelief more easily, and engage in casual chat using internet slang, saying "LOL", "Wassup?" and "What did you have for breakfast?" instead of giving an IQ test.   It is as if the scientists are testing to see how much a human is like a computer, and the kids are testing to see how much the computer is like a human.



Bruce Wilcox, the winner of last year's Loebner Prize bronze medal once again took the award in the main contest this year.   No bot has yet been awarded the silver medal for passing the Turing Test."

Wednesday, October 19, 2011

Human-Chatbot Haptic interaction

Researchers from Disney Research and Carnegie Mellon University have been investigating haptic interfaces. Haptic interfaces allow a users to touch, feel, manipulate, create and/or alter simulated 3D objects in a virtual environment. Users can experience tactile sensations such as textures, friction and vibration. As many of you keep asking, you may be able to pet Emma in the not-too-distant future. Now if I could just get her to purr...

Tuesday, October 11, 2011

Say "Hi" to Pixel and Ella


Emma has some friends she'd like you to meet. They aren't cats, not even virtual cats, but they're both chatbots and they both work in libraries. The first is Pixel, created by Dee Ann Allison at the University of Nebraska-Lincoln Libraries. Pixel is a very cool bot that answers questions about UNL library resources and services. You can chat with her here: http://pixel.unl.edu/.

Another chatbot friend is Ella, Wadsworth Public Library's perky new virtual librarian. You can chat with her here: http://www.wadsworthlibrary.com/bot/virtuallibrarian.cfm.

Please take some time and talk with both of these bots; just like Emma, every interaction helps make them smarter.

Friday, October 7, 2011

Midnight in Terminal 1

It's 1:30 am local time, that's 4:30 for everyone back in Ohio. Kris and I are stuck overnight in the San Francisco airport. All the flights heading back East were full this evening. After LITA, we thought it would be nice to relax for a few days in the Bay Area. I also wanted a few days off before starting to tackle the mountain of work that needs to be done on our bot. There are two goals for the next 3 months: 1. improve the way Emma guides searches, and 2. improve her ability to deal with random chat. I know what needs to be done to fix the former, that's the topic of a separate post. There are a number of files available from the free ALICE AIML set that should help with the latter, but they need testing and some customization first.

So what goes on in an airport after the last arrivals and departures? Not much. A few other folks with early morning flights are getting settled in for the night. There's a really cool zamboni-like vehicle cleaning the carpets. I'm seriously tempted to ask the driver if I can take it for a spin up the concourse. Looks like a lot of fun. Maybe not, though. It's cold in here, Kris estimates around 60 degrees. Plenty cold without adding wind chill and the carpet cleaner goes fast. SFO has free WiFi. Good thing, since sleeping might be tough. All the seats have arms, so one can sleep sitting up or stretch out on the floor. Sitting, thanks. With any luck we'll be home tomorrow, then it's back to work!

Sunday, October 2, 2011

Catbots take St. Louis

Michele and I presented at LITA yesterday. It was great! We had an enthusiastic audience and some really good questions at the end. I wish we could have taken a picture of their faces after we introduced Emma and she began speaking. We demonstrated general questions, passing searches, and some of the fun things she does, like find local weather forecasts. I went to some interesting presentations and will be using what I learned shortly. Can you say "Mobile version of the website?"

Sunday, September 18, 2011

Emma goes mobile

My apologies for not blogging in such a long time. Lots and lots going on at MPL (if you haven't already heard, Katie Spotz is coming to visit in October!) and lots going on with our humble bot. Michele McNeal and I will hit the road again this month to present at LITA in St. Louis, Pandorabots and I have been spending long hours putting Emma's code on Google so other libraries can use it, we're rewriting large portions of the code, and, just for fun, Michele helped me make a mobile version of our Catbot. Michele wrote the code, I just plonked Emma into it. Scan the QR code with your phone, then favorite or bookmark it. Flash and text to speech don't work with the mobile version (yet) but it does everything the web based bot can do. Remember to turn off your pop up blocker.