The History of foof

FoofSQ Adblock Plus + Content + Semantic Matching => foof

foof is a derivative of the FireFox adblocker, Wladimir Palant’s Adblock Plus. See http://adblockplus.org/en/history for a history of Adblock and Adblock Plus.

The idea for foof came from suggestions in various forums and blogs about possible improvements to Adblock Plus. These suggestions focused on allowing pictures or other images to replace the ads, instead of just crunching (or blanking) the space.

A group of us, (Bill, Jeremy, Barry, Dean, and Miguel) at TextWise, were working on a semantic matching technology that allowed us to match arbitrary heaps of text to similar heaps of text. One of our initial uses of the technology was to contextually match ads to Web pages. This worked very well, but we decided to focus on Web 3.0, and wanted to see what else we could match to web pages that users might enjoy.

We began to look for other applications for our technology and are in the process of developing many cool Web 3.0 apps (see http://www.semantichacker.com). During the debugging of our original advertising system, we had implemented a tool that replaced Ads on Web pages with our ads – to allow us to debug in situ. Being users of Adblock Plus, we were reading the blogs and realized that we could use our technology to offer more than just replacing ads with images. Thus, the idea of using TextWise’s semantic matching engine and various content sources to match content to fill the ad holes, was born.

Taking Wladimir Palant’s Adblock Plus code as a base, we have added the features of optionally selecting various types of content (contextual selection) or using your own images (random selection).

This is Version One of foof. There are many things that can be done to enhance it. Comments are welcome (see the forum) and the source code is available (see source) .

FoofSQ The Semantic Matching Technology

Our text matching is based on the use of TextWise's Semantic Signature® technology.

A Semantic Signature® is a representation of ALL concepts covered in a block of text. Each block of text contains semantic dimensions ("concepts") with associated weights. The dimensions capture the strength of each concept in the text.

Semantic Signatures® provide a weighted representation of the concepts contained in a piece of text. The weight of each concept represents the strength of that concept in the text. The Semantic Signatures® for two pieces of text that both address the same subject will share many common concepts with high weights. Our technology can therefore recognize that these two pieces of text are related even though they share no common keywords.

To match content to Web pages, we first produce Semantic Signatures® for the content to be matched. Then as Web pages are loaded, we produce a signature for the Web page, and match the Web page's signature against the content signatures that we created previously. As the matching is fuzzy, we select the content that closest matches the Web page and return it to the browser.

We are constantly updating the content in order to produce matches that are both good and current.