My favorites | Sign in
Project Logo
             

inqle - [ing-kuhl] - intransitive verb

to gain insight through cogitation, to get the first inkling of an idea

INQLE (Intelligent Network of Querying and Learning Engines) is a free and open-source machine learning computer program, which uses automated agents to make discoveries.

INQLE News

November 29, 2009: INQLE 0.3.4 simplified some internal code, and changed the way datamodels are stored.

October 7, 2009: Ernesto Reinaldo Barreiro joined the team! Now we can hope to benefit from his Wicket expertise!

August 12, 2009: INQLE 0.3.3 removed a layer of complexity; the Learning Cycle is now integrated into the ExperimenterAgent. Creating RapidMiner plugins is much simplified.

July 7, 2009: INQLE 0.3.2 has simplified file data importer.

June 27, 2009: Venkatesh Umaashankar joins the team! INQLE code base updated to Eclipse Galielo (3.5), RAP 1.2, Jena 2.6.0, TDB 0.8.1. Development on INQLE code base simplified.

March 1, 2009: Announcing INQLE 0.3! 2 years in the making. Details here: http://groups.google.com/group/inqle-core/t/1ee0e333826624bf.

February 10, 2009: We have released version 0.2.7. No performance degradation at over 8 hours of learning cycles. It now takes but 3.7 seconds per learning cycle.

February 7, 2009: We have begun running benchmark experiments against standardized data sets, to prove (or disprove) the value of INQLE.

What is INQLE??

...and how could it make discoveries? INQLE continuously runs experiments on whatever data you load into it. It determines what attributes in the data correlate with what other attributes. Thus, INQLE can help you discover valuable insights about anything.

Like what kind of insight? Example: Let's say you would like to determine why your child (or cat, or penguin) has good days and bad days. You then capture a bunch of measurements about your child's day, like a score of his emotional well-being (happy/average/sad), hours he slept, amount of TV he watched and when, number of servings of dessert he ate, etc. You then load this into your INQLE server and start up the learning agent. You come back a few hours later and discover that your child has better days when he did not watch TV in bed the night before.

How does INQLE work? INQLE runs on a personal computer. You manage it using your web browser. INQLE contains a database for storing your data. You load your data into it, and it converts your data into a structured format called linked data, or RDF. This allows INQLE to preserve the meaning of data attributes, such that data from different data sets can be combined and mined.

What else does it do? See our growing table of use cases for INQLE. Future versions will allow you to combine your data with related data on the web, discovering correlations. INQLE is built on a highly extensible framework, and we plan for survey modules, positively reinforcing learning algorithms, and more.

How could it be free? Believe it or not, there are millions of programmers who like to write software and give it away through the internet. Over the years, these programmers have developed increasingly sophisticated tools for doing all sorts of very cool things with data. We have come to the age where the pieces are all out there, lying around, free, waiting for yet another pathetic geeky programmer to assemble them into INQLE.

Background

In data veritas: When humans try to make predictions it's called "diagnosis", "expert opinion" or "reading a crystal ball". In any case, humans are notoriously error-prone in making predictions. Computers on the other hand are very good at parsing through data, weighing the possible influences, and spitting out measures of statistical correlation. When computers try to make predictions it's called "data mining".

So data mining can be a very useful tool for learning about how things work. The trouble is that data mining is a tricky business. Typically, one must take some college courses to learn how to do it.

That's where INQLE comes in. INQLE simplifies data mining, such that almost anyone can do it. How? By doing continuous, random machine learning experiments. You see, your computer is powerful, yet sits there doing nothing most of the time. Why not let it noodle away continuously on a set of data and discover what can be discovered? Over time it will turn over every stone and expose whatever insights (correlations) are present in data. So INQLE does the heavy lifting, and the human just needs to know how to gather data and how to interpret results.

Getting Started: Installing INQLE

You don't really install INQLE. You just download it and run it. INQLE is a Java program, so it runs on (almost) any computer. It has been tested on Windows XP, Mac OSX, and Red Hat Linux.

  1. INQLE requires Java version "1.6" (AKA "Java 6") or above. That means you must have a modern version of Java on your computer in order for INQLE to work. You can check your version of Java by opening a command prompt (Start -> Programs -> Accessories -> Command Prompt), and typing "java -version" without the quotes. If you get an error or if you do not see something like "1.6.0_03", then you will need to install the latest from here.
  2. Download the latest version of INQLE from here
  3. Use an unzip program like 7 Zip to unzip it.
  4. For Windows, you can start INQLE server by double clicking inqle-console.bat. For Linux or Mac, you can open a terminal window and type sh inqle-console.sh
  5. Open a browser to http://localhost:7500/inqle

In your browser, you should see the INQLE Setup Wizard.

Getting Started: Using INQLE

When you first open your browser to INQLE, you will see the setup wizard. This wizard captures information about your INQLE server, including the login & password you will use to access your INQLE server. Upon completing this setup wizard, you will see the login dialog. After successful login, you will see the INQLE Administration interface.

Load data into your inqle database

Internally, INQLE stores all data as RDF data. You can load from a spreadsheet into INQLE, or you can load data that is already in the RDF format. See How to Load Data Into INQLE on how to import your data.

Start the Learning Agent

The Learning Agent is an automated agent, which recurrently runs Learning Cycles. A Learning Cycle consists of these steps

Review Experiment Results

As soon as the Learning Agent has saved experiment results, you may begin surveying them. In the top menu, select "Window" then "Experiments". You will see a table of experimental data. You may sort by any column by clicking on it. Look for experiments which have a high correlation.

Customize Experiments

You may customize the nature of the experiments that are done in a number of ways:

Mission

The INQLE mission is to improve the process by which research and discovery are done. We will accomplish this by offering technology that:

We offer INQLE completely free to use, with the hope that it will entice a new, large group of latent amateur researchers, to participate in scientific discovery about the world.

Roadmap

We have a highly ambitious roadmap for INQLE. For the short term, we will focus on security, usability and connectivity. We have already added sophisticated tools for importing data from spreadsheets. We will provide newer and improved sampling algorithms.

By version 0.4, INQLE will support combining local data with remote, undiscovered data on the same topic. Next we will add text mining, such that INQLE can parse and experiment on less structured information.

By INQLE version 1.0, we will introduce the ability for an INQLE server to learn from other INQLE servers. Toward this, we will introduce algorithms which can discover past Experiment Results of interest (locally or remotely), change a single variable, then run the slightly altered experiment. Thus INQLE servers can crawl the space around past fruitful experiments, eventually discovering those which are the most interesting.

In short, INQLE will become an expanding tool for learning about the universe. Like the human brain, it will be capable of leveraging past findings, analogizing, and making probabilistic determinations. In contrast with a brain, the network of INQLE servers will not be constrained by the number of connections that can be retained inside a 1 liter, limited-duration skull.

Helping INQLE

Whether you're a researcher or a statistician or a Java developer, INQLE could use your help. Please let us know at our online group if you would like to contribute!

See the INQLE Developer Guide for a discussion on how you can get productive working on INQLE. And post your questions or ideas to the user group.

License

INQLE is free, open source software, licensed under the Affero Gnu Public License version 3 (AGPL 3).

INQLE is maintained and owned by INQLING, LLC.









Hosted by Google Code