Current search techniques make almost no use of context. That is surprising from a user¡¯s perspective but is not very surprising from search engine designer¡¯s perspective. Most of us suffer from trying to use and refine what we already know. Search engine experts are very good in preparing databases on keywords and then refining them to provide ranking and efficiency. They try to bring in all requirements by starting with the original data organized in huge databases based on word frequencies.
Context appears in many different forms. I will mention some of the more obvious ones here, without trying to be exhaustive in my considerations. Here are some major context related factors and their influence and effect on search and why they are going to be increasingly important.
Personal Preferences: All personalization techniques try to get some information about a person by either explicitly asking or by using some learning techniques. These personal preferences are extensively used by e-commerce engines and portal designers (like for your ¡®my Yahoo¡¯) to provide you specific information only and filtering out all the information about which you don¡¯t care. Search engines rarely use this information so far because they are designed to be general. I believe that this will be one of the first context related information that will be used by search engines.
Location of the User: Many searches depend on where the user is located. If I am in Atlanta and ask for restaurants or any other information related to ¡®yellow pages¡¯, the system should provide me information about Atlanta, not San Diego. When I am in San Diego, it should provide me information related to San Diego, not Atlanta. Currently I can do it on some engines using personal preferences so when I am traveling, I must mention to the system that now I am in San Mateo. Evolving use of internet connectivity is giving rise to ¡®Location Based Services¡¯. So when I ask on my phone for an ATM, it should know my location and give me that information. There are special systems being designed for these applications. Can these be part of search engines? The problem is that current search engines only work based on words so you can query like ¡®ATM Atlanta¡¯ and for several things may get a reasonable answer. But this is not scalable in terms of applications and granularity of locations that will be essential for mobile internet. There it will be very important to organize information in Spatial Databases and perform Spatial Query to get the answer.
Time of the Query: If I ask a question at 10 AM about a place to eat, the system should know that most probably I am interested in lunch and should show me all places in my vicinity that will suit my personal preference for lunch. On the other hand, if the query is posed to the engine at 10PM, it should know that there is no point showing me all closed restaurants. Time plays very important role in many queries on mobile internet and should be considered in answering a query. Current search engines are very poor in answering time related queries. Most systems assume that they are collecting data from stationary documents and hence except for historical facts, time is of no importance. So neither information has any concept of time not the query considers time.
Context of Query: Humans usually continue in a context. So if I am asking a query about Bush¡¯s popularity in Europe and then just want to change to France, then I should not have to type the whole query again and the system should be able to use what it already found. But current systems are designed to be stateless so every time a new query should be typed in. An equally important situation is when I am driving and ask for a restaurant, the system knows what direction I am going and should use that information along with my location and time to provide me the answer. Effectively, current search engines don¡¯t provide any control of search – every time you are asking for a new search.