The Hunch Engine(TM) is a revolutionary search and discovery technology that uses proprietary behavioral modeling and artificial intelligence to make personalized suggestions. It takes a different approach from traditional recommendation engines. The user in a typical Hunch Engine(TM) application is presented with an initial sampling of items, which can be selected randomly of based on customer and/or business objectives. The customer clicks on preferred items (selection), and may also indicate items that are disliked (anti-selection). The Hunch Engine(TM) uses the feedback to present a new set of items. In general, the new items are chosen by the Hunch Engine(TM) to emphasize the characteristics of the items that the user seems to prefer, even though the user has never explicitly expressed his or her preferences. The result is an interactive navigation in which the user is quickly guided toward one or more items that match his or her desire at that particular moment.
Examples of Hunch Engine Applications
- Selecting a baby name
- Searching through image libraries
- Molecule search for drug discovery
- Searching for patterns with Interactive Data Mining
- Extracting document content through Text Visualization
- Design artwork such as a tile pattern
- Create new patterns of emerging behavior
Searching through image libraries
Image searching is an example of a problem in which (typically), you may not know what you are looking for, but you’ll recognize it when you see it.
As a demonstration of the Hunch Engine, we have created a tool to search for images on flickr. The user starts with one or more keywords, which are used to generate an initial sample of images. Our genetic operations in this case use the tags associated with images.
The user clicks on one or more images that he or she finds “interesting”, and then clicks the evolve button. The Hunch Engine returns a new batch of images that are mutations of those selected by the user. The image on the left shows an example in which a user has begun the search with the keyword “paris” (click on the image for a larger version). The “DNA” icons represent images that are still loading.
Because this demo uses only the image tags created by the flickr users, the search can take the user to unexpected pictures, making for an interesting, often surprising “exploration”. If a more focused search were desired (for instance, find night-time pictures of Paris with people in them), other filters could easily be added to the Hunch Engine. This would be entirely transparent to the user, and would not impact the interface or the way the tool is used.
Molecule search for drug discovery
One of the most powerful aspects of the Hunch Engine(TM) is its ability to combine hard constraints with subjective evaluation. In this example we have used the Hunch Engine(TM) as the basis for a tool that helps chemists discover new molecules during the drug development process in the pharmaceutical industry.
In this example, a chemist has to search through thousands of molecules to identify those that are likely to become a successful drug. The selection process requires checking several hard constraints such as solubility, toxicity or acidity of each molecule. However, the search ultimately depends on the chemist’s domain expertise in recognizing molecular structures that are likely to be stable and easily synthesizable. The complexity of the problem is exacerbated by the chemist’s ability to modify individual segments of the molecule, which leads to a virtually infinite search space.
Icosystem developed a tool (shown in the figure below) which presents to the chemist an initial set of 12 candidate molecules, each of which has been run through computational model to evaluate its characteristics and ensure it satisfies specific constraints. As shown in the left figure, the chemist can view the properties of each molecule. The figure on the right shows how the chemist can manipulate molecules through a library of fragments.
Using the Hunch Engine(TM), chemists are able to zoom in on promising candidates in a matter of a few days, a process that previously took several weeks.
Searching for patterns with Interactive Data Mining
A unique characteristic of the Hunch Engine(TM) is that the user does not need to have any knowledge of the techniques and operations that are used within the specific application. By selecting “interesting” candidates through the HE interface, the user is implicitly determining which of potentially many search filters and what parameter settings to use.
In one example we developed a tool to help a user identify clusters in a large data set. For instance, one may wish to identify customer segments based on extensive consumer data. Currently, this process requires the user to be familiar with data mining techniques such as dimension reduction and clustering.
The figure below shows how HE can be used to discover segments even with no knowledge of data mining. Starting with a high-dimensional data set, the user is presented with several candidates, each corresponding to a particular 2-D representation of the data (left panel).
As the user selects candidates that seem to contain some information, the Interactive Data Mining tool begins to reveal some structure in the data (center panel). Eventually (right panel), the user reaches solutions that show clear existence of five distinct clusters in the data.
This simple demo could easily be extended to use a large variety of data mining algorithms, without requiring the user to have any understanding of the underlying techniques. In addition, even expert users benefit from this tool, because it allows them to search a vast space of algorithms, rather than being forced to choose a class of algorithms at the outset — a practice that often limits the nature and extent of the search.
Extracting document content through Text Visualization
In collaboration with a leading advertising company, we are developing a Hunch Engine(TM)-based tool to analyze the meaning of surveys, blogs, or newsgroups, without any prior knowledge of the content of the text.
To do so, not knowing ahead of time what will be discovered in the data, the user starts with a range of perspectives on the data, such as, for example, various networks of concepts that appear connected in the data; each network differs by the word it centers on and by the nature of network connections (see figure below).
The user examines each of 6 representations presented and selects the ones that seem to provide useful information by clicking on them. The user can also use drag-and-drop features and other modes of interaction to more directly combine and alter representations. Once a meaningful representation has been found, the user can dig into it.
In the example shown above, the user is exploring a large corpus of newsgroup postings all related to healthcare issues. One area of particular interest to the user in this case is the relationships and alliances in the pharmaceutical industry and how they are being discussed by the newsgroup participants (right figure).
It is important to note that the same process can operate with most languages, provided the sentences can be parsed into words or other “atomic” units.