Click below to scroll

Moralit.ai – Ethical Decision making AI
GeoTagMapBuilder Program Beta
PhotoGPS Data Aggregator
Days to Sell – Retsly Real Estate & Public Data Hackathon
Paperclip Project
xplore.xyz
212 Kettle: The Untethered Water Kettle
Keep it Clean: Music lyric Verification

 Moralit.ai – Ethical Decision making AI

About

Moralit.ai is an artificially intelligent personal assistant which uses natural language processing and machine learning to perform moral decision making. By adhering to deontological principles surrounding murder, suffering, adultery, and deception, moralit.it determines the ethical permissibility of performing action requests from the user.

Inspiration

If you hold to the material nature of the world around us, AI with true AMA could mean an end to the problem of conscious life and could bring about ethical obligations to these rational “persons.” With AI performing ever larger feats of intelligent processing, artificial moral agency (AMA) is becoming a topic of discussion among many philosophers, computer scientists, and layman alike. Inspired by recent moral dilemmas faced by developers of artificially intelligent software (Tay.ai at Microsoft, self driving car software at Tesla, etc), the aim of this project is to explore the means by which an AI which can rationalize its own moral decisions.

How we built it

First, we created four Kantian universals to feed our AI that it is absolutely unable to participate in or act on:

  1. Murder
  2. Creating suffering
  3. Adultery
  4. Deception

We then used api.ai for natural language processing which allowed us to understand the domain of the users speech. Based upon the domain, intent, and original user text, we process ethical reasoning where necessary. In certain cases such as completing math functions, asking for the time, and authorizing/opening software applications, we bypassed any ethical processing. When the text didn’t fall into one of those domains, we compared it to the AI’s current knowledge of the 4 forbidden universals. When running into an ethical problem, the AI defers to denying the user’s request or refusing to answer the question.

The second portion of ethical reasoning (which has not yet been connected, but was developed to 90%) uses machine learning to train our AI about further censoring of topics in its realm of work. For example, when a user requests to search the web for “how to build a bomb,” there is an obvious ethical intersection with our first Kantian universal. The AI uses an API to grab the main context in a sentence and ranks its relevance to our four principles using ML and after that point, we compare the users request with a constant value which we deem “permissible.” If the relevance score is below our constant permissible score value, we return the answer (in this case, a web search), and if it is not, we deny the users request.

Screen Shot 2016-04-12 at 8.07.03 PM

Try it out: https://moralit-ai.herokuapp.com/
GitHub Repo: https://github.com/Moralit-ai/Moralit-beta


GeoTagMapBuilder Program Beta

The GeoTagMapBuilder is a Java program written to aggregate and view photos. The original program was written by Drew Noakes, here is a link to his GitHub repo I used as a starting point for the program. Here is how the program functions:

  • Download the zip file, and open the .dmg file (sorry Windows users)
  • Drag the program into your applications folder
  • Open “GeoTagMapBuilder”
  • Choose your photo directory and output location
  • Click Run
  • A webpage window will open with a Google Maps layout that is responsive in nature. You can click on any marker to view the image that is associated with it!

Many a times people with OS X store their photos on the iPhoto platform. Unfortunately, you won’t be able to choose this as a photo directory. If you would like to run the program on these photos you will need to export the photos to a folder and then run this program on the new folder. Here is how to export these photos.

 

Mouseover the video below.


 Photo GPS Data Aggregator

I was fueled to create this short and simple script because I wanted a way to see all the places I have been through photos. Many people don’t know, but most cameras and cell phones pin the GPS coordinates to each photo when a picture is taken. Apple utilizes this in a fun map that can plot photos, but is limited to an album or year. I wanted a solution that could see all the photos. Here is the link to the script. Below is the result.

Screen Shot 2015-12-29 at 11.10.04 AM

Days to Sell – Retsly Real Estate & Public Data Hackathon

During October of 2015 a team of eight traveled to San Francisco for the Retsly Real Estate & Public Data Hackathon. Our team consisted of industry professionals, and students majoring in: Statistics(Phd), Regional Planning, Computer Science, Electrical Engineering, Math, Management Information Systems. We were fortunate enough to be sponsored by the Principal Financial Group to make the trip and participate in the hackathon. Our team decided to create a web application that given a certain address would graph the number of days to sell the property given the price it was listed at. We utilized the Google Maps API to convert the users requests into lat/long which fed into the Retsly API. We pulled data from the surrounding neighborhood, property itself, current interest rate, and more, to total roughly 143 variables to be accounted for in the solution set. Feeding these variables from php to our algorithm was the most difficult part. Due to time constraints and experience we ran all analysis locally through the R platform. The platform would utilize a random forest algorithm to best determine the depicted graph points (python would be another alternative to scale). The points were fed back into php where D3 graphs javascript library would be used to visualize the solution set. Our project isn’t currently live because Retsly is still in a private beta for their API. Below are some pictures of the team and final product.

Screen Shot 2015-11-22 at 1.43.49 PM

12196278_1193834067300633_7802728317587446482_n


Paperclip Project

The paperclip project is an project idea that Charles Forey and myself had heard about and decided we were going to attempt during our trip to the UCLA Career fair (check out my blog post about this trip!). The original project goes something like this: Start with a red paperclip, and trade it for another item of greater value. Repeat until you have an item of large worth. Here is a link to the original project where we found our motivation: https://en.wikipedia.org/wiki/One_red_paperclip. The link to our website is below if you would like to trade us for the item we currently have on hand, or share our website with a friend to get the word out. Once we decide the worth of the current item is great enough we plan to donate the item to the Children’s Diabetes Foundation. Both Charley and myself have been affected by diabetes within our families and would like to show our support by creating this campaign for both awareness and fundraising.

 

Link to website: http://paperclipexchange.com

 


xplore.xyz

xplore is the result of a 36 hour hackathon at Iowa State University in September of 2015. The project team consisted of  Steven Brockshus (Role: Design, HTML/CSS, Photoshop), Mehul Shinde (Role: Algorithms, Web Integration), Nate Joens (Role: Web Integration, Javascript, API Implementation), and Brendon Geils (Role: Web Integration, Javascript, Algorithms, API Implementation). Our team decided we would like to create a web application similar to a Pinterest platform that give users the opportunity to xplore lifestyle preferences. The team grew together over the 36 hours. Before the event the entire team had had little exposure to Php and one member was completely new to web development, but had a knack for seeing the bigger picture. After the drudging exciting 36 hours we created our lifestyle preference website. The landing page is a modified template while each preference was developed internally. We utilized HTML/CSS, Javascript, Php and Python in creating the web app. Our site also pulls from the Google Maps API, Instagram API, and Foursquare API. We also pride ourselves on the .xyz domain in response to Google’s “abc.xyz.”*Disclaimer: The Instagram API does not have a filtering feature for explicit content (new project opportunity) so be aware our site is pulling unfiltered user uploaded photos.*

Link to website: http://xplore.xyz

Screen Shot 2015-09-20 at 7.57.45 AM

Screen Shot 2015-09-20 at 7.57.26 AM


 

212 Kettle: The Untethered Water Kettle

The 212 Kettle is a portable water heater that allows consumers to boil water in roughly 15 minutes through a battery powered thermos. The project idea came from Brian Ornduff who chose this project as his senior capstone design project. Brian was an industrial design student at Iowa State University. Given Brian’s background with industrial design he required some electrical assistance on the project. Through a mutual friend I was brought on to help wire and design a system that would meet his design criteria. The system would need to be compact, simple to use, and rechargeable via a wall outlet. The project took roughly a semester meeting weekly to hash out issues with the design and engineering. This project showed me the complex tradeoffs that design and engineering have to face for any given product. Enjoy some of the photos below, courtesy of Brian.

Link to complete project slides

Screen Shot 2015-09-23 at 2.13.42 PM Screen Shot 2015-09-23 at 2.13.54 PM Screen Shot 2015-09-23 at 2.14.37 PM Screen Shot 2015-09-23 at 2.14.46 PM Screen Shot 2015-09-23 at 2.14.58 PM

 

Keep it Clean: Music Lyric verification

I was inspired for this project because of my appreciation for music and event entertainment. While running Wakefield Entertainment, a sound and lighting company, I ran into the issue of ensuring I was playing non-explicit music. A school dance shouldn’t want the “F bomb” dropped on it. Previous to my application I would have to read the lyrics to the entire song before playing it to ensure the song was appropriate. There are a few services out there, but none are consistent on which words were considered bad. I developed a python script to read in a users song title and/or artist and proceed to return the Name, Artist, explicit words found, context of the explicit word. By adding the output of context the explicit word was used in I was better able to determine which songs I could play at a given event. I have been able to distribute this script to other DJs that I know. My next steps for the project are to package this script within a web application to distribute to a wider entertainment DJ audience.

parental