« | Main | »

October 4, 2006

Powerset and Natural Language Search

Ever since I stated that Powerset was in “semi-stealth” mode about a year ago, I have been pretty quiet about the company on my blog. A few months ago we realized, after going through a fundraising process with a great set of angel investors, that much of Silicon Valley already knew that Powerset was building a natural language search engine. So we finally put some content up on the Powerset website and agreed to let some of our friends write about us. Some of the first articles about Powerset are those by:

But I have been so busy with the company that I just didn’t take the time to write up the vision on my own blog.

Powerset has now unexpectedly become the subject of a recent blogstorm, initiated by an article posted yesterday by Matt Marshall on VentureBeat. Since Matt wrote his initial version of the article before he was able to contact us, he expressed skepticism about what he inferred we are trying to do. (Update: Matt Marshall has just written a new article about Powerset, after meeting with me and Steve yesterday.) This article started a debate in the blogosphere, with people coming down on both sides of the “search is great, nobody can compete with Google” vs. “search is broken, go for it” divide (for the former, see Steve Bryant’s article, and for the latter, see this article by Richard Koman).

Given all the attention, I want to take time out to share my vision of natural language as the future of search. To start with, I will characterize the conventional thinking as expressed by various critics.

Search today

Search has become much better than it used to be, and users have become pretty familiar with using the keyword-oriented search input language. While query length is going up slowly but steadily, the average query is still 2-3 words. Even search engines like Ask Jeeves that encouraged users to enter questions still wound up with mostly short keyword queries.

From these facts it is easy to draw the following conclusions:

  • users don’t like typing and will not enter more than 2-3 words.
  • natural language search has been tried and found lacking

If that’s true, then we will have to settle for short keyword queries for the indefinite future. Unfortunately, the limited query length puts fundamental limits on how much information is communicated to the search engine. This in turn limits what a search engine, however intelligent, could possibly do to improve the results (using more information about the searcher and the search context can help, and is the subject of much active research). Looking at this situation, it is easy to see why it seems like the search industry has matured and hit a plateau. Future innovation will come from extending search in various ways, but not from any fundamental changes in the core.So there we are, right? Well, not exactly. First, note that this logic is very similar to the conventional wisdom before Google came on to the scene. Search was good enough, not a differentiator anymore, and the big players had turned their focus to innovate in other dimensions away from search (e.g. to becoming integrated media and technology companies).

Second, does the data so far really prove that users are generally satisfied with search, that they like to express themselves to search engines they way they do today, and they wouldn’t try searching in a new way even if it promised better results?

Who is satisfied communicating in an impoverished language?

An analogy with natural languages is helpful here. Suppose you live in France and don’t speak any French. Life is very difficult when you don’t speak the language. Even basics like getting food and finding a bathroom can be a challenge. Then you study French for a year. Life is much better — you can accomplish all your basic daily tasks and even have extended conversations. The difference is like night and day. But does that mean you would be fully satisfied with your first grade level French? Of course not. Even after studying for a year, what you can say in French pales in comparison to what you can think in your own native language. After living for a while in a country where you must speak a foreign language it is easy to stop trying to express complex thoughts, but that doesn’t mean the thoughts go away. Rather, each new word and construction you gain opens up new possibilities for communication. As you improve, your conversation partners (native speakers) gradually begin to see more of the true intelligence you have had all the time, even though you couldn’t express it until you learned more of their language.

I believe we are in much the same situation with respect to search today. But to see this, it is helpful to look more closely at the history and mechanisms of search.

A brief history of search query languages

What is search? At its most abstract, a user enters a query to a search engine, and the search engine displays a readable set of results to the user. Most search engines do not actually go out and find live documents in response to a user’s query. Instead, they find a large set of documents in advance, process those documents, and then build an index. They consult this index in response to a user’s query to find a set of matching documents. Then they rank the potential matches and present the top ranking results. The ranking of the matches, and possibly the short presentation of each result, are tailored to the query and potentially any other information available to the search engine.

As seen in this abstract description, the user experience in search starts with the query. The query language has a big impact on every aspect of the experience. The earliest search engines, called Information Retrieval (IR) systems, required users to enter queries in a boolean language (a bunch of keywords modified with AND, OR, and NOT). This was powerful, and pretty effective for people like librarians who were trained on these systems, but distinctly unnatural.

Later systems let users enter queries in less formal language: free-text queries. A free-text query is just a list of words with no operators. The boolean-centric IR community called this “natural language query”, and our modern search engines are direct descendents of this approach. A free-text search engine translates a free-text query into a boolean query (implicitly assuming the words are coordinated by AND or OR operators) and then sends it to the same kind of boolean search engine as before. But rather than using all the words in the query, the translator splits the query words into two sets: keywords and stopwords. The keywords are the meaningful content-bearing words, the ones that a trained boolean search user would have put into the query, as they only want documents that have these words (or not). The stopwords are the words that novice users enter because they are natural when entering text queries, but which are so frequent in most documents that they add no actual information usable by a boolean search engine (in fact, if they were included they would make the search results worse).

The result of this split is that from the perspective of the search engine, there is no difference at all between a user query that contains keywords and stopwords and a user query that just contains the keywords. The stopwords are completely ignored. As a consequence, as users gain experience with these search engines, they learn that the stopwords don’t have any value, and they just save themselves the trouble of typing them in their queries. The result is that the effective query language used by users trained in free-text queries is not natural language, but rather a keyword sequence language, which I call “keywordese”. Most novice searchers, and even skilled searchers who are frustrated in a search session, still put stopwords in their queries, but skilled searchers consider this to be just silly.

The expressive power of natural language search

But is it really silly to want to use stopwords, just something a person does until he learns how to search effectively? On the contrary, I think this perspective reveals something fundamental about the state of search today. To begin with, let’s look at the words that are “stopwords”, the words that don’t get any respect by the search engines. They are the little function words that put together the meaning of a phrase in a natural language like English. They are little because they are so frequent and useful in language. Words like “by”, “for”, “about”, “of”, and “in” are all stopwords. But consider how valuable they are to communicating intent among humans. To a keywordese search engine, “book for children”, “book by children”, and “book about children” are all equivalent to “book children”. Using only keywords, it is not even clear how one could possibly express these different queries.

This brings us back to the human language issue and the French analogy. “Keywordese” is a really impoverished language. It is much less expressive than even first year French. Normal people have learned human languages all their lives, and that language learning ability is based on aeons of biological and cultural evolution. We are all masters of communicating our intent to other people. But when it comes to search engines, we have to revert to an impoverished foreign language in which it is impossible to express anything but the most basic thoughts. It is akin to using a pidgin language, the kind invented by two groups of people who speak different languages so that they can communicate through a combination of individual words and gestures without any real syntactic structure.

This motivates the idea of true natural language search. Instead of keywordese or even advanced keywordese (which few people can remember how to use), true natural language queries have linguistic structure. This includes queries where the function words matter, where word order means something, and where relationships that should be explicitly stated easily are stated. Instead of ignoring the function words, a natural language search engine respects their meaning and uses it to give better results. Instead of being a waste of time for a user to add stopwords in a query, each little word added has a profound effect on the search quality.

Going beyond stopwords and even content words in documents, language can also be used to specify information about the type, nature or organization of the information that one is seeking. Understanding queries will allow search engines to separate the content being searched for from information about the type of content or its organization (meta-content). For example, “synopsis of books about the civil war” or “trailers of action movies by Steven Spielberg”.

By tapping into the expressive power that people already know and use everyday in natural language, all users can let their true intelligence come through in their interactions with a search engine. This benefits everyone. Natural language search has the potential to turn novice searchers into power searchers, and to enable all searchers to do things that are simply impossible with search today.

“Remember when we used to use keyword search?”

Seen in this light, there is enormous room for fundamental innovation in search, as the game has only just begun. I believe we are going to look back 5 to 10 years from now and say: “remember when we used to search using keywords?”. It will take hard work to get there, but that’s what we’re working on at Powerset!

Posted by barney at October 4, 2006 10:26 pm

This entry was posted in Human Language Technology, Information retrieval, Search

Trackbacks & Pingbacks

Trackback URL for this entry:
http://www.barneypell.com/xmlrpc.php

Comments

What you are saying makes sense. It is clear that the search user interface will be improved in the coming years.
Encouraging users to make use of the stopwords and providing better results based on that usage is really interesting:
books by Bradbury about carousels
sales data for Apple iPod
recipe for onion soup
I wonder what proportion of searches will actually benefit from this enhancement? In many cases, the inclusion of the stopword and the added meaning that it brings is just not helpful (example: “recipe for onion soup” vs. “recipe onion soup”).
Is this a great new feature to incrementally improve the best search engines or is this truly a paridigm shift and a new type of search engine?

posted by anthropocentric at October 5th, 2006 1:34 am

Hey Barney, I totally dig what you’re saying. I have much respect for you for giving the search engine game a go. But please don’t mischaracterize what I said, which is that competing with Google involves more than search technology. That’s all. If you look at the history of my posts you’ll see I’m not an unabashed Google lover by any stretch of the imagination.
I wish you all the success in the world.
-Steve
p.s. I would take issue with “users don’t like typing and will not enter more than 2-3 words.” Most non-tech savvy people I know type in godawful long sentences, which then break the engine. Either way though, your point stands.

posted by Steve Bryant at October 5th, 2006 8:21 am

Barney, Great post, excellent analysis of the search problem. We may have met years ago when I was director of engineering at AltaVista. We had a series of meetings with the SRI guys about NLP.
My advice is to focus on enterprise search or specialized vertical search markets. Your unique technology will be more appreciated and valued by those customers. If you are really stuck on doing consumer search than I would suggest you try to specialize in News Search, People Search, Medical Search, or some other vertical where NLP power can be an advantage.
Good luck!
Don Dodge
The Next Big Thing
http://dondodge.typepad.com/the_next_big_thing/2006/10/powerset_natura.html

posted by Don Dodge at October 5th, 2006 8:50 am

Barney
Totally with you on this. Really clear exposition of today’s search.
Some points:
1. Average keyword length is drifing up. When I ran marketing at Albert, which did some query disambiguation while heading (but not reaching) a decent NLP, average internet searches were 1.4 words trending towards 2. (This is data looking at 1996 to 1999). That is, I guess, because users are getting more sophisticated, data sets are broader so demanding (and rewarding) longer searches.
According to Yahoo!, average query length has now reached 3.3 words. (See http://blogs.zdnet.com/micro-markets/index.php?p=27 )
So contrary to what Danny O’Sullivan has said, user behaviour can and does change.
2. I think we have fallen into the category of learned helplessness about search. We basically accept what we’re given and take what we can get. The lack of innovation in search–and let’s face it, there hasn’t been any since PageRank–has taught us not to rebel.
aa

posted by azeem at October 5th, 2006 1:33 pm

Also note that Keywordese is just fine when you know exactly what you’re looking for. If I type “Christophe’s Restaurant Sausalito, CA” into Google, the top result gets me what I want, their contact info. Search improvements are required when the task is a discovery one, where I’m not exactly sure what I’m looking for so I need something that will understand what I mean. In this regard, Don Dodge’s recommendation above, to focus on specialized vertical markets is great advice worth considering.
Good luck to you on this Barney, it’s a heck of a play.

posted by direwolff at October 6th, 2006 1:20 am

Good luck with the project.
It would be really interesting to see to what extent NLP are used for search. Having a larger dataset like the web makes its much more challenging. Will there be any beta version fore registered users to try the service? Would be be interested in seeing the results.

posted by lohit at October 6th, 2006 1:35 pm

Without futzing around we might safely (though possibly wrongly) assume the keyword-ese search engine not mentioned by name here is Google. Google might be the right commercial standard, so for the purposes of conversation I’ll take the risk of deluding myself and assume you really mean Google.
Anyway, this notion of keywordese where Google strips stop words (function words really) is somewhat strawlike, for a lack of a better word (or a lack of a word altogether). A simple test of Google suffices. If you compare search results for “a who” and “the who” you will notice the results are different. Same too when I tried “a mule” and “the mule.” If the functional word didn’t matter, then they would be stripped and mule would be the query inside the black box. But that’s not the case, so Google does not really fit the description. But what other search engines truly matter today, assuming a mass-market audience?”
Google’s search appears to expand the query by what I might call both functional ambiguity and boolean ambiguity as well as proximity-based weightings. Further, the terms in the title tags are more important than terms in other places. in this sense, Google already appears to consider functional words, collocation/proximity, and even document context as well. So by your definition of natural language search it seems that Google is already there.
But it isn’t, obviously.
The value of Google’s search is based almost entirely on the search/searcher context. If the searcher has a weakly formed preconception of a satisfactory search result (namely because the person is not a domain expert) and the search string is dumb (1-2 words) chances are the search results will be satisfactory–given PageRank over a large enough network. But if you begin pumping up user domain expertise then the language of search query will necessarily become richer while the user’s standards for satisfaction will rise. Finally, if the user is a domain expert s/he will likely already know the right subnetworks to stick to. Google frankly begins to suffer in such an environment as I witnessed first-hand in a study I designed for a large statistical software company. People who rely on their support search either like Google users and flail or they search with less keywordese-like language (longer query strings, more functional words) and experience greater success. Several search engines including Google were tested.
I remain befuddled by the phrase “natural language search.” If I had to imagine what is meant by natural language I would imagine certain things to be present that are typically absent: (1) user context modeling; (2) semantic network expansion (plug in WordNet or something like it and expand your input).
But efforts at disambiguation will diminsih naturalness for reasons too extensive to discuss here. Even POS tagging strips out POS ambiguities which are rich in the english language. So grappling with ambiguity using an estimate of likely semantic preferences for specific users might get you to naturalness. But then you might also need recognizing, making, and refining mistakes. Or an ability to recognize the differences in meaning of a term over time.
What I wonder even more about is, why stick with search? Search seems to be a marriage of keywordese-in to document-out. information extraction at least breaks the document barrier but it still ends up tied to the document. if you’ge going to have enough computing power under the hood to have natural language search queries (what I imagine that means) and rewrite/expand queries you might as well go for intelligently processing results into a coherent natural language whole. How about inductive reasoning (e.g., Muggleton’s work) or multidocument summarization approaches? Something synthetic, something that generates new information from the din of the old, something far more valuable and compact. Of course that’s easier for me to say than to do however.
I’m eager to see this search engine. Good luck.

posted by Patrick Herron at November 10th, 2006 12:40 am

Patrick: You are right that Google is now using specific passage retrieval algorithms (ala Bill Woods) that take word proximity, variation, and order into account. It certainly makes the search better. And that said, you are right that there is much more to do even for Google.
Natural language search, for me, means the ability to use natural language to do anything you would want to do with a search engine. This includes informational, navigational, and transactional queries. It also includes statements of intent and context.
Moving beyond just document search, including ideas you suggest, is highly relevant.

posted by Barney Pell at November 10th, 2006 3:45 pm

I remember as a student at Cambridge Univ ORL the video retrieval project that was searching for passages in video content that provided specific visual content, the procurement of which was obtained by seaching audio sentences information mostly I think. I think for English the task would be far easier than for other inflexion based languages though so I am concerned that the expansion of project would be far more complex than the” add another same type of google box approach to search country specific pages”.
Well…I think a novel UI approach would also help greatly to assist in the construction of the sentences to be used as search artifacts and I think might be quite key to the project.

posted by stufflix at April 3rd, 2007 1:37 pm

I remember as a student at Cambridge Univ ORL the video retrieval project that was searching for passages in video content that provided specific visual content, the procurement of which was obtained by seaching audio sentences information mostly I think. I think for English the task would be far easier than for other inflexion based languages though so I am concerned that the expansion of project would be far more complex than the” add another same type of google box approach to search country specific pages”.
Well…I think a novel UI approach would also help greatly to assist in the construction of the sentences to be used as search artifacts and I think might be quite key to the project.

posted by stufflix at April 3rd, 2007 2:18 pm

Leave a Reply

Name:

Email Address:

URL:

Comments: