Semantic search engines are starting to appear on the fringes of mainstream web, and thanks to Yahoo’s BOSS/SearchMonkey integrations they are likely to get a lot more prevalent. However, a vital component needs to be overhauled before my mum is going to use them - the user interface.
Let’s start by having a look at current search engine UIs in common use today.
A Single Text Box
At present, search engines just employ a single text box for users to enter a summary of their goal. This works well for most text-based searches, not least because users have learned to modify their behaviour to get the most out of the search technology.
Most users type one to three noun phrases, examine the results and then either drill into the ten blue links or refine their query, often returning to previous queries before they reach their goal.
One of the biggest challenges for semantic search developers will be to modify the users’ learned behaviour. Longer queries give more accurate results, both for text search and semantic search.
Advanced Search
Many search engines offer an “advanced search” option, which takes the user to a lengthy web form comprising of optional search fields. Such complexity makes for a horrendous user experience, as Google discovered when they found large numbers of users viewing the form but leaving before they entered any data.
Faceted Search
“Faceted Search” is a technical term for the filters that you often see on e-commerce sites. For example, a user might search for “adidas shoes” and then supply extra criteria by clicking filters for “Men’s shoes”, “Under £100”, “White” etc.
This is a great improvement in usability where the number of facets is low. Multiple page reloads can be problematic for people with slow connections or using small devices like mobile phones.
Repeatability can be an issue for facted search too. Remembering the search phrase then a sequence of four clicks that got you to your favourite shoes is onerous for the user but the “you recently viewed” feature of sites like Amazon really help.
It’s not just e-commerce sites that have faceted search: Google’s Image, Blog, Finance etc are all search facets too.
Natural Language Search
From Ask.com to Powerset, there’s always been rather more hype than substance surrounding natural language search. The technology performs well for simple queries like “How old is Barack Obama?”
Ask.com search:
Powerset search:
...producing better results than the equivalent Google search.
Ask a question that has two or more facets, and these engines fall back to text searches. For example, “Which English philosophers where also classical liberals?” would require an intelligent engine to find the list of English philosophers then find which are mentioned in the page on classic liberals, intersect the two sets and provide the results.
SPARQL & MQL
Neither SPARQL nor FreeBase’s MQL are user friendly, but they’re not designed to be. They are designed to answer complex queries like “Which English philosophers where also classical liberals?”
If you’re interested, here is the SPARQL to perform that query against DBPedia:
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?name WHERE {
?person skos:subject <http://dbpedia.org/resource/Category:English_philosophers> .
?person skos:subject <http://dbpedia.org/resource/Category:Classical_liberals> .
?person foaf:name ?name .
?person rdfs:comment ?description .
FILTER (LANG(?description) = 'en') .
}
ORDER BY ?name
And here are the results:
{ "head": { "link": [], "vars": ["name"] },
"results": { "distinct": false, "ordered": true, "bindings": [
{ "name": { "type":"literal", "value": "Herbert Spencer" }},
{ "name": { "type":"literal", "value": "Jeremy Bentham" }},
{ "name": { "type":"literal", "value": "John Locke" }},
{ "name": { "type":"literal", "value": "John Stuart Mill" }} ] } }
Horrible, but perfectly accurate and a real answer, not ten blue links.
The query syntax comes about from having a large number of possible facets to cover - far more than could reliably follow the e-commerce model of applying filters.
The Coming Challenge
User interface designers are going to have to work hard to get from users that are used to a single text box to the complex query syntax of SPARQL and MQL.
I think the first thing we all need to recognise is that that damn text box is not going away! Users know that’s how to interact with a search engine and you’re not going to change their minds anytime soon.
The ten blue links, however, can be scrapped if we can determine that the user is searching for a definitive answer (not just looking for “funny jokes” or “cat pictures”). Instead, a summary of the data available should be presented together with a number of appropriate facets to drill down into the results.
The interface components representing facets should be appropriate to the query - use date pickers for dates, drop-downs for lists of countries etc. Lead the user forward using visual cues that they are already comfortable with, like the timeline in this experimental Google search:
Here’s a very usable faceted search of Nobel Prize winners, although it could benefit from allowing use of the browser back button. You might also like to play around with MedStory, a clinical information search engine that has eye-catching filters, but is let down by the confusing pop-up interface.
Perhaps we can learn from off-line data analysis tools, I’m thinking that techniques like OLAP cubes or Excel’s pivot tables might be made more web-friendly. Maybe the Hollywood cliché 3D interface can help, but I doubt it.
There’s been some good progress made in semantic search technologies but now we need to start thinking about users. How will they interact with the tools? How will semantic search change the way we work online? What limitations will people hate?
Related documents:
Creative Commons licensed photo by dullhunk.