Friday, June 12, 2009

Presenting at PyOhio July 25-26

One of our team members, Jerry, submitted a paper to discuss Conversational Interfaces at the upcoming PyOhio conference in Columbus Ohio, July 25 and 26. I'd bet he'll touch on our favorite topic, Amy Iris!


We're interested in feedback and ideas for this presentation.

Here's the abstract of the presentation:

Artificial Intelligence and Python:
Developing a Conversational Interface Using Python
Jerry Felix

Conversational Interfaces (CIs) are programs that permit humans to interact with computers using natural language. As the state of the technology evolves from today’s simple chat-bots to tomorrow’s true “strong” Artificial Intelligence beings, Python sits as key component at the heart of these developments. Python has unique advantages as “the development language of choice” for Conversational Interfaces. In this presentation, I will introduce this exciting and rapidly developing field, explain Python’s unique positioning and capability in this area, and demonstrate how users can easily use Python to create their own CI.

Ten lines of Python change the world

One by one, free open source components have emerged that have laid a foundation to allow a novice Python programmer to create very powerful Conversational Interfaces. These include Artificial Intelligence and Natural Language Processing components, APIs such as Python-Twitter, Python and its libraries and Google App Engine. We are now at a point where a novice Python programmer can write code snippets as short as ten lines that can do amazing things, on the shoulders of giants.

Imagine a ten line program that does universal language translation, allowing you to send a text message from any phone in the world, and receive an immediate response:

MMMMMe (texting on cell phone): Translate “I have an emergency.” to Spanish
MMMMCI (texting back to me): “I have an emergency.” in Spanish is “Tengo una emergencia.”


Of course, there are translators available on the internet. So why is this significant? First, it’s pretty cool that with the right ten lines of Python stored in the right place, a novice can turn every cell phone on the planet into a universal translator. But that’s just the beginning.

All it takes is a little imagination and extrapolation to see the greater significance: If a novice programmer can write ten lines of Python to do something pretty cool, what happens when tens of thousands of novices realize this, and begin writing and contributing to a central repository of code snippets? Something Really Cool: a universal Conversational Interface emerges. What Wikipedia did for Encyclopedias, Python programmers can do for Artificial Intelligence.


Presentation Contents:

During this presentation, I will introduce Conversational Interfaces, and the components necessary to create your own CI using Python. I’ll explain Python’s unique role in Artificial Intelligence and CIs. I’ll demonstrate building code snippets, walk through the simple logic, and show how attendees can write similar code to respond intelligently to various conversational inputs. Then I’ll talk about how anyone can use Conversational Interfaces to improve their websites and Python applications.

Expertise Level Targeted:

This presentation includes discussions of very small code snippets which are appropriate for novices and experts alike. However, due to the subject matter, it should not be considered as an introduction to Python for someone who has never programmed before. You may consider it a good candidate for the Beginner’s Track because it shows what’s possible with very little Python code, and may open the eyes and minds of some beginners. The material will be presented in a fashion such that beginners will not be lost, but intermediate to experts will likely grasp it more fully.

Area of Python Programming that it relates to:

This presentation relates to the following areas of Python Programming: Libraries (especially re, urllib, urllib2), string parsing, interfacing with APIs (such as Python-Twitter, and the Best Buy ReMix API), internet programming, Google App Engine, Artificial Intelligence, and Conversational Interfaces.

About the author:

For 16 years, Jerry was employed by Hewett-Packard as a Systems Engineer and a Manager of Technical Consultants supporting major accounts including P&G, GE, Walmart, GM and others. He has participated in the building and support of the programs and technologies at some of America’s largest corporations. During the past 13 years, Jerry has been the co-owner and executive of a 15-person Cincinnati-based software business, Electronic Commerce Link. Jerry has spoken at international conferences before, including the HP International Users Group and the P&G Worldwide Users Conference. He holds a BS in Systems Analysis from Miami University and a MBA from the University of Cincinnati. Jerry is a self-taught Python programmer and enthusiast.

No comments: