U.S. patent application number 13/098782 was filed with the patent office on 2011-08-25 for automated tool for human assisted mining and capturing of precise results.
This patent application is currently assigned to ChaCha Search, Inc.. Invention is credited to Thomas E. Cooper, Scott A. Jones.
Application Number | 20110208712 13/098782 |
Document ID | / |
Family ID | 38309896 |
Filed Date | 2011-08-25 |
United States Patent
Application |
20110208712 |
Kind Code |
A1 |
Jones; Scott A. ; et
al. |
August 25, 2011 |
AUTOMATED TOOL FOR HUMAN ASSISTED MINING AND CAPTURING OF PRECISE
RESULTS
Abstract
An automated tool for human assisted analysis of search results
for obtaining precise results responsive to a request. A single
query entry triggers a search using one or more resources and
results returned from the resources are displayed in a
corresponding embedded renderer. A human provider analyzes the
returned results and extracts pertinent information for delivery to
a requestor who submitted the query.
Inventors: |
Jones; Scott A.; (Carmel,
IN) ; Cooper; Thomas E.; (Indianapolis, IN) |
Assignee: |
ChaCha Search, Inc.
Carmel
IN
|
Family ID: |
38309896 |
Appl. No.: |
13/098782 |
Filed: |
May 2, 2011 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11647286 |
Dec 29, 2006 |
7962466 |
|
|
13098782 |
|
|
|
|
11336928 |
Jan 23, 2006 |
|
|
|
11647286 |
|
|
|
|
60807428 |
Jul 14, 2006 |
|
|
|
Current U.S.
Class: |
707/706 ;
707/748; 707/769; 707/E17.108 |
Current CPC
Class: |
G06F 16/951
20190101 |
Class at
Publication: |
707/706 ;
707/748; 707/769; 707/E17.108 |
International
Class: |
G06F 7/00 20060101
G06F007/00; G06F 17/30 20060101 G06F017/30 |
Claims
1. A computer implemented method, comprising: passing a request to
a resource; providing a ranked list of resources associated with a
keyword of the query, the ranked list including the resource;
choosing, by a person, the resource; building a response based on a
selection by a human provider from results returned from a search
via the resource; and delivering the response as an answer to the
request.
2. The method according to claim 1, further comprising: selecting,
by a human provider ranked highest for the request, a result
returned by the resource; building, by the human provider, the
response based on content indicated by the result; and recording a
location associated with the result.
3. The method according to claim 2, wherein the location is a URL
of a web page of the selection.
4. The method according to claim 3, further comprising: delivering
an index page tab for directing a user to the location of the
content within the web page.
5. The method according to claim 1, further comprising: weighting
keywords of the query; and selecting the keyword based on the
weighting of the keyword.
6. The method according to claim 1, wherein the resource is an
Internet directory.
7. The method according to claim 1, wherein the resource is a
search engine.
8. The method according to claim 1, wherein the person is an
administrator and the list includes a default resource for the
keyword and the ranking is determined by the administrator.
9. The method according to claim 1, wherein the person is the human
provider and the ranking is based on frequency of use by human
providers.
10. The method according to claim 2, comprising: obtaining a
portion of the content selected by the human provider; and
recording the content in association with the answer and the
location, the content including a portion of the answer.
11. A persistent computer readable medium storing therein a program
for causing a computer to execute an operation including aiding a
human assisted search, comprising: passing a request to a resource;
providing a ranked list of resources associated with a keyword of
the query, the ranked list including the resource; choosing, by a
person, the resource; and building a response based on a selection
of a human provider from results returned from a search via the
resource; and delivering the response as an answer to the
request.
12. The computer readable medium of claim 11, wherein the operation
further comprises: selecting a highest ranking human provider
associated with the keyword; and choosing, by the highest ranking
human provider the resource.
13. The computer readable medium of claim 11, wherein the operation
further comprises: building the response based on a search of a
resource accessible only to the human provider.
14. The computer readable medium of claim 11, wherein the operation
further comprises: including the resource in the ranked list of
resources based on popularity of the resource among human providers
performing searches.
15. The computer readable medium of claim 11, wherein the operation
further comprises: including the resource in the ranked list of
resources based on previous use of the resource to obtain another
answer.
16. The computer readable medium of claim 11, wherein the operation
further comprises: obtaining, by the human provider, information
from a media file indicated by a search result returned by the
resource; composing, by the human provider, the response including
a portion of the information; recording an indicator of a location
of the media file, an indicator of the resource, an indicator of
the response, an indicator of the information, and an identifier of
the human provider; and selecting the human provider as the person
based on a ranking of the human provider for the request.
17. A computer interface, comprising: a query window indicating a
query to be searched by a human searcher; search resource selection
controls for selecting a search resource from a list of available
search resources to search with the query; a ranking indicator
associated with the search resource selection controls; a keyword
indicator providing information of a keyword associated with the
available search resources.
18. The interface according to claim 17, further comprising: result
windows displaying search results of the selected search
resources.
19. The interface according to claim 18, wherein the available
search resources are selected for queries associated with the
keyword by an administrator.
20. An apparatus for performing a search, comprising: a user device
submitting a request and receiving an answer of a human provider; a
provider system receiving the request, receiving a search result
from a resource, selecting the search result and enabling the human
provider to compose a direct answer to the request based on a
search of content located by the search result, the search being
performed by the human provider; and a search system receiving the
request, selecting the provider system, directing the request to
the resource as determined by a selection of a person from a ranked
list of available resources, determining the available resources,
and recording a location indicated by the search result and the
resource.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to and claims the benefit of
U.S. application Ser. No. 60/807,428, filed Jul. 14, 2006, inventor
Scott A. Jones, et al., titled AUTOMATED TOOL FOR HUMAN ASSISTED
MINING AND CAPTURING OF PRECISE RESULTS, U.S. application Ser. No.
11/647286, filed Dec. 29, 2006, inventor Scott A. Jones, et al.,
titled AUTOMATED TOOL FOR HUMAN ASSISTED MINING AND CAPTURING OF
PRECISE RESULTS and U.S. application Ser. No. 11/336,928, titled A
SCALABLE SEARCH SYSTEM USING HUMAN SEARCHERS, inventor Scott A.
Jones, filed Jan. 23, 2006, in the United States Patent and
Trademark Office, the disclosures of all of which are incorporated
herein by reference.
BACKGROUND
[0002] 1. Field
[0003] The present invention is directed to human assisted searches
and, more particularly, to an automated tool for human assisted
mining of search results for the purpose of returning a precise
result in response to a search request.
[0004] 2. Description of the Related Art
[0005] A resource such as a search engine, e.g., Google.RTM.,
Clusty.RTM., Yahoo.RTM., etc., may be utilized to submit a request
for information that meets particular criteria and retrieve desired
information from results returned in response to the request. Due
to the vast amount of information available over the Internet,
locating information using a search engine requires accurately
formulating a query or a keyword(s) for a search requested.
However, typical search engines fetch as many web pages as possible
in which a requested keyword or query appears and generally require
additional searching of the web pages to obtain desired
information.
[0006] In situations where results returned from an initial search
using a search engine do not produce desired information,
subsequent searches using other search engine(s) may be performed.
However, these subsequent searches require repeating the search and
browsing through returned results to locate the desired
information. While meta search engines such as Jux2.TM.,
Dogpile.RTM., etc., query various search engines and return results
from the search engines, all known meta search engines, Internet
directories and other similar technologies provide comprehensive
listing of web pages containing a requested keyword or query and
require user to browse through results to obtain desired
information. Typically additional searching of the results is
required, especially when the desired information requires
accessing a web page produced as a result of a search and running a
process or routine made available via the web page such as
converting a value, translating a word or sentence of one language
into another, etc. to obtain the desired information.
[0007] The above-discussed problems are further exacerbated for
users of devices such as cellular phones because current search
engines return search results that are often irrelevant to what the
users desire to know and require the users to interact and view
contents of listed web sites or modify and re-enter queries to
obtain relevant results. Cellular phone users are sometimes
frustrated by the limited display capability and awkward input
methods of cellular phones, which further complicates the search
function when using a cellular phone.
[0008] Although various types of search engines and other resources
are available for locating information, there is a need for a tool
that provides relevant, focused and accurate information to users
from a broad base of knowledge and information.
SUMMARY
[0009] A method and system are disclosed for passing a request to a
resource, building a response based on a selection of a human
provider from results returned from a search via the resource and
delivering the response as a result of that request.
[0010] The method and system include retrieving information by
allowing selection of at least two search engines and/or other
resources at a time a search is needed and triggering searches with
a single query.
[0011] The method provided may include activating a resource among
available resources, displaying content of the resource generated
based on a search via a specialized built-in browser, obtaining
information from the content displayed in the built-in browser and
providing the obtained information as a response to a request.
[0012] A renderer is disclosed for displaying search results of a
resource via which a search is performed for a request and
formulating a response to the request based on selection from the
results in the renderer.
[0013] The method and system disclosed may provide a display
including a query window showing a search query and at least two
windows simultaneously showing search results for that query from
at least two search engines.
[0014] These together with other aspects and advantages which will
be subsequently apparent, reside in the details of construction and
operation as more fully hereinafter described and claimed,
reference being had to the accompanying drawings forming a part
hereof, wherein like numerals refer to like parts throughout.
BRIEF DESCRIPTION OF THE DRAWINGS
[0015] FIG. 1 is a block diagram of a system for receiving requests
and transmitting the requests to providers.
[0016] FIG. 2 is a flowchart illustrating obtaining of information
from results returned from activated resource(s).
[0017] FIG. 3 is an illustration of a display for a search
interface for activating one or more resources for seeking
information in response to a request.
[0018] FIG. 4 is an illustration of a search interface with results
returned from activated resources in response to a request.
[0019] FIG. 5 is an illustration of a search interface with results
returned from multiple resources in response to a request.
[0020] FIG. 6 is an illustration of a search interface for
capturing a result.
[0021] FIG. 7 is an illustration of an interface enabling selection
of resource(s) for a request from available resources.
[0022] FIG. 8 is a flow chart for sending a query to activated
resource(s).
[0023] FIG. 9 is an illustration of a search interface using
selected resources and mining through results of the resources.
[0024] FIG. 10 is an illustration of a graphical user interface
(GUI) for extracting an answer pertaining to a request.
[0025] FIG. 11 is an illustration of a GUI for browsing through
results from a resource and capturing an exact answer.
[0026] FIG. 12 is an illustration of a display with composite
results pertaining to a request.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0027] Reference will now be made in detail to the present
embodiments of the present invention, examples of which are
illustrated in the accompanying drawings, wherein like reference
numerals refer to the like elements throughout. The embodiments are
described below to explain the present invention by referring to
the figures. It will nevertheless be understood that no limitation
of the scope of the invention is thereby intended, such alterations
and further modifications in the illustrated device, and such
further applications of the principles of the invention as
illustrated therein being contemplated as would normally occur to
one skilled in the art to which the invention relates.
[0028] An automated tool for human assisted analysis of search
results for obtaining precise result(s) as a response to a request
is provided by the system illustrated in FIG. 1. A request is a
query or keyword(s) submitted from an information seeker and may
entail a fully-formed question, sentence, keyword or search phrase,
for example, the closing time of a particular restaurant, the
winner of the 1960 World Series, information pertaining to a
medical illness, or any other type of query. A provider, a guide or
paid searcher (PaidSearchers.TM.) is a human searcher who has
registered to handle requests, who may be a professional, an
amateur and/or volunteer searcher. A requestor (InfoSeekers.TM.) is
a user or an entity submitting a request seeking information.
[0029] An exemplary system 20 for providing an automated tool for
human assisted information mining is illustrated in FIG. 1 and
described in detail in the application previously referenced. The
system 20 receives requests submitted by information seekers,
delivers the requests to providers for processing and returns
responses resulting from the processing by the providers to the
information seekers. As depicted in FIG. 1, request(s) may
originate from user devices 22 including a typical desktop or
laptop computer 22a, a handheld device 22b such as a personal
digital assistant (PDA), mobile phone 22c, landline phone 22d and a
specialized query terminal, or any other source that allows a user
to enter a query via text or speech entry and communicate with
server 26 via network 24. The user devices 22 may also be typical
touch-tone telephones, two-way radios or any other communication
device that allows the user to talk over a distance. The
communication system can include packet switched facilities, such
as the Internet, circuit switched facilities, such as the public
switched telephone network, radio based facilities, such as a
wireless network, etc.
[0030] The server 26 receives requests from the user devices 22 via
the network 24 and delivers the requests to provider systems 30
including provider system 30a and provider system 30b. For ease of
explanation, provider systems 30a and 30b used by providers are
illustrated in FIG. 1, however, the present invention is not
limited to any particular number of provider systems. For example,
at any given time, the system 20 may have multiple provider systems
30 that are available to process requests from the user devices 22
and deliver responses to the user devices 22. Similar to the user
devices 22, the provider systems 30 may be any text- or
speech-based systems such as a desktop or laptop system, a handheld
device such as a PDA, a cellular telephone, a specialized terminal,
or any other device that allows a provider to receive and respond
to a request submitted via text or speech entry.
[0031] As illustrated in FIG. 1, the provider systems 30a and 30b
are each provided with storage capability for locally maintaining
information respectively using provider storage 32 connected with
the provider system 30a and storage 34 integrated with provider
system 30b. The provider storage 32 and provider system storage 34
may be used to retain information pertaining to requests received
from the user devices 22 via the server 26 and responses to the
requests. Storage functionality of the provider systems 30a and 30b
is not limited to any particular configuration or recording media
and may include any type of temporary or permanent storage
technology that is useable to retain data. For example, a provider
using the provider system 30a may use a private storage accessible
via the Internet (e.g., GoDaddy.com, Yahoo.RTM. storage, etc.), the
provider storage 32, or any other device that can retain data
retrievable at a later time.
[0032] When the server 26 receives a request from any of the user
devices 22, the server 26 determines which provider(s) registered
with the system 20 to handle requests that are currently available,
match the request. Each provider may identify at least one
category, subcategory, keyword, or area of interest pertaining to
which the provider is willing to accept requests. For example, each
available provider registered to handle requests pertaining to the
category "health" may be identified and ranked against other
providers registered for that category according to prior success
in responding to requests to assign the request to top ranked
available provider(s) within the category. Various types of
conditions may be applied to determine provider(s) matching a
request for optimizing responses from the provider(s). Further, any
criteria discussed in U.S. patent application Ser. No. 11/336,928,
titled A SCALABLE SEARCH SYSTEM USING HUMAN SEARCHERS, inventor
Scott A. Jones, filed Jan. 23, 2006 may be used.
[0033] The server 26 processes arriving search requests (queries)
by determining which providers (guides or searchers) are available
to search for the information being requested, based upon factors
such as the providers being logged in, guides who are signed up for
a keyword or category, the ranking of the guide based on previous
performance, etc. The server 26 may also determine if a particular
query has been queried previously and can send a response to a user
with previously obtained search results without necessarily
invoking a human provider. For example, a query is matched to one
or more previous queries stored in system database 28. This
matching may compare, for example, one or more keywords of a
current query with one or more keywords of previous queries for an
exact, partial or fuzzy (highly similar) match. This can result in
several previous queries matching the current query.
[0034] The system 20 may also check for additional providers or
searchers that have become available since the query was received
and send them the query or can send the query to an available
provider who has registered for general searches. Alternatively,
the system 20 can use a variety of mechanisms such as using
thesaurus-like relationships between words to send the query to a
searcher that is signed up for a keyword pool that is deemed
closest to the user-entered keyword. The system 20 may be
configured to set the threshold for the degree of closeness of the
user-entered keyword versus the search pool associated with a
similar keyword.
[0035] The server 26 receives response(s) to a request from one or
more the provider systems 30 used by one or more providers and
delivers the response(s) to the requesting user device, e.g., user
device 22a. The server 26 has access to system database 28 that
maintains information of users' requests submitted via the user
devices 22, provider(s) registered to handle requests and
responding to the requests via the provider systems 30 and
responses to the submitted requests.
[0036] The system database 28, among other things, stores previous
queries (or a subset of previous queries, such as the ones that are
still considered relevant to a particular user, wherein said
relevance might pertain to time, location, or subject matter),
corresponding categories, subcategories and/or keywords that
resulted from the previous queries and accepted "relevant" results
associated therewith.
[0037] The database 28 may include cross-linked entries for query,
keyword, provider, user, advertisement, keyword and categories.
Within these structures, there are entries for logged-in status of
provider or searcher (availability), rank (or weighting) of
provider, rank (or weighting) of keyword, provider statistics such
as number of searches, number of accepted (by user) searches, user
identification (and/or IP address of user), name, address,
demographic information about users and providers, search results,
advertisements (game, video, text, audio, etc.), advertisement
statistics, accounting information, anonymity flags for user and
provider, provider availability, query clarification requests, and
an indication as to whether the provider is available for general
searches, query follow-on, etc. The statistical information for a
provider may include the total number of searches, the number of
successful searches, the average speed of the provider, the latency
of the provider before starting and ending a search, the average
number of results returned by the provider, the availability time
of the provider, etc.
[0038] A provider may sign up for multiple keywords in a query,
(e.g. a provider might be signed up for both "baseball" and "world
series"), then that greater-keyword provider may take priority over
fewer-keyword provider candidates who are only signed up for a
lesser number of matching keywords in the search query phrase (e.g.
a provider or searcher who is signed up for either "baseball" or
"world series" but not both).
[0039] If no provider is identified for a query phrase, then the
server 26 can forward the query to "generalist searchers" who will
attempt to answer queries in any category. Alternatively, the
system 20 may shuttle the query to another search engine and/or
meta-search engine in an attempt to provide the user with a base
level of functionality that is never worse than that of other
search engines. The results are passed back to the user. Also, the
query may be passed to a system of experts who answer questions on
a website such as Google.TM. Answers or Yahoo.TM. Answers, and the
user may be given a pointer to the location of the query which may
be answered in the future. These systems may not give the user
real-time feedback, but the user may be informed that he can check
back in the future.
[0040] An exemplary process 40 for human assisted information
mining is illustrated in FIG. 2. As shown in FIG. 2, process 40
begins with receiving 42 a request. As previously discussed, a
request may be any type of inquiry or keyword(s) for which a user
(i.e., infoseeker.TM.) is seeking specific or general information.
For example, a user may submit a request to obtain the final score
of the championship game of the 2006 NCAA Basketball Tournament, or
general information pertaining to "diabetes."
[0041] Subsequent to receiving 42 the request, process 40 continues
by activating 44 resource(s). A provider, a searcher or a guide
(i.e., PaidSearcher.TM.) may use various types of tools to perform
a search of publicly or privately available information to produce
result(s) in response to the request. For example, the provider may
use tools such as a browser to access public databases via searches
over the World Wide Web, private databases that may be accessible
only by the provider such as a database of information previously
gathered by the provider, results stored based on previous
requests, or from databases that require payment for access or even
information available to the provider in non-electronic form, such
as a book on the provider's bookshelf, test results from a personal
experiment, knowledge base of the provider, etc. In addition, the
provider may submit the request or some version of the request to
an automated search tool such as Ask.com.RTM., etc, or any other
similar system able to respond to questions submitted in natural
language. Alternatively, the provider systems 30 may copy the
request, place the request into the search field of a search page
for a particular search tool, for example, Yahoo.RTM., and transmit
the request to the search engines automatically.
[0042] The resource(s) activated 44 for seeking information related
to a request may also be defined by the system 20 (FIG. 1) based on
association of the provider handling the request with a category,
keyword or area of interest, resources used by other providers,
content of the request, or any other criteria that increases the
probability of obtaining an accurate result responsive to the
request. For example, a provider registered to handle requests
pertaining to the keyword "basketball" may be presented with
default resource(s) such as NCAAsports.com, ESPN.com, etc., while
another provider handling requests pertaining to the keyword
"health" may be provided with WEBMD.com, NIH.gov, etc. Similarly,
based on usage of a resource among provider(s) handling requests of
a particular keyword (or category), all the provider(s) may be
presented with the resource as a default for seeking information
pertaining to requests related to the category. In the same manner,
a provider may also configure default resource(s) to be used from
which that particular provider seeks information for a request.
Providers who are associated with the same keyword or category may,
in some embodiments, choose to activate different sets of
resources. That is, the system 20 (FIG. 1) may be configured to
allow provider(s) to flexibly activate resource(s) or may be
configured to predetermine particular resource(s) which the
provider(s) can activate. Activation of resource(s) for seeking
information related to a request is explained in detail below with
respect to FIGS. 3, 7 and 9.
[0043] After activating 44 resource(s), process 40 of FIG. 2
proceeds to obtaining 46 information from results of search(es)
using the activated resource(s). A provider may execute a single
search or multiple searches (concurrently or sequentially) using
the activated resource(s) for seeking information requested. For
example, the provider may be able to perform a search in relation
to a non-complex request using one or more of the activated
resource(s) while a complex request may require multiple searches
including referring to non-electronic information accessible to the
provider. Further, an access to a resource may be programmed such
that subsequent access to the resource is automatically executed
which providers may share with others associated with a category or
keyword.
[0044] When obtaining 46 information from results of the
search(es), a provider analyzes the information content of the
results returned from the search(es) to identify pertinent
information in relation to the request. The obtained information
may be a text based answer and may include a specific answer,
comments from the provider, web pages, web links, images, videos, a
document, audio recordings or any other request related information
acquired by the provider in response to the request. Typically, the
information obtained is what the provider may intend to satisfy the
needs of the requesting user. For example, the obtained information
may be operation hours of a particular type of restaurant in
Indiana and may include a web page of the restaurant,
advertisements referring to the restaurant, information of other
similar restaurants in Indiana, etc. Similarly, in response to the
request inquiring the final score of the championship game of the
2006 NCAA Basketball Tournament, the provider may obtain "73-57",
"Florida defeated UCLA 73-57", etc.
[0045] After the information is obtained 46, process 40 proceeds to
providing 48 the obtained information including an answer to the
request. The obtained information is provided to a requesting user
via whichever of the user devices 22 (FIG. 1) was used to submit
the request, or an alternate device, if identified in the request.
Providing 48 the obtained information includes transmitting the
information using a communication standard supported by a receiving
one of the user devices 22. For example, when a user submits a
request via a mobile device, a result obtained in accordance with
the human assisted search (i.e., provider) is transmitted using
wireless application protocol (WAP) enabling web browser services
on the mobile device. However, the information transmitted to a
requesting user is not limited to any particular protocol or file
format and may include hyper-text markup language (HTML) pages
conveyed using the hypertext transfer protocol (HTTP) and other
formats used to exchange information over a network including JPEG,
GIF image formats, voice recordings, plug-ins, etc. Information
such as sport scores or a street address may also be returned to
the user by the provider's own voice. This may be enabled via a
VOIP connection or any other connection that enables the user and
the provider to communicate by voice.
[0046] An exemplary embodiment of a search interface 50 for
activating one or more resources to seek information in response to
a request is illustrated in FIG. 3. As shown in FIG. 3, a window or
frame 52 includes resource windows 54, 56 and 58 configured to
display contents produced from a search using MSN.RTM., Yahoo.RTM.,
Google.RTM. search engines, respectively. The "renderer" renders
the results in each of the resource windows 54, 56 and 58. The
resource windows 54, 56 and 58 display results (search engine
results) from each of the resources so that a provider is able to
compare, contrast, modify and select from the results to prepare a
response to a request. The window 52 may include N number of
renderers using which the provider browses results of activated
resource(s). For example, each of the resource windows 54, 56 and
58 may be an HTML renderer for displaying web pages resulting from
a search using the MSN.RTM., Yahoo.RTM. and Google.RTM. search
engines, respectively. The resource windows 54, 56 and 58 may
display information including text, images, links, videos, HTML,
XML, XHTML, cascading style sheets, Java Script, etc., or other
electronic data available over the Internet and/or from a local
network.
[0047] The resource window 52 may be generated by an application
program producing embedded HTML renderers to display results of a
search using one or more of the resources to obtain information in
response to a request. For example, an application enabling a
provider or paid_searcher to utilize search engines and other
resources for obtaining information for a request submitted from a
user or an infoseeker discussed in application Ser. No. 11/336,928
may be used. For example, an application program used by a provider
embeds a default browser specified for an account of the provider
upon registration to the system 20 (FIG. 1) is executed.
Accordingly, if Internet Explorer (IE) is configured as the default
browser for a provider, each resource will be launched in separate
instances of IE within the application program used by the
provider.
[0048] The provider systems 30 may be implemented as a
browser-based thin client that allows all of the significant
processing, data flow, various information source connections, and
data manipulation to occur at the server 26 (FIG. 1). However,
preferably, the provider systems 30 are implemented via a locally
dynamic application that might run standalone or might run in the
context of a browser. There are many examples of locally dynamic
applications that do significant processing on the client side (in
this case, provider systems 30) while relying on data structures
that exist on a server (in this case, the server 26 connected to
the system database 28). Some examples of locally dynamic
applications include Google Earth (web-based mapping software),
implemented using AJAX (Asynchronous Java combined with XML), and
Basecamp (web-based project management software), implemented using
"Ruby on Rails".
[0049] A provider may activate any of the resource windows 54, 56
and 58 and thereby pass the request to the resources (e.g., search
sites) using selection boxes 54a, 56a and 58a, respectively. The
selection boxes 54a, 56a and 58a indicate (i.e., via checkmark)
resource(s) that are currently activated. For example, as
illustrated in FIG. 3, selection boxes 54a and 56a contain a
checkmark indicating that the MSN.RTM. and Yahoo.RTM. search
engines are activated while the lack of a checkmark in the
selection box 58a indicates that the Google.RTM. search engine is
not activated. For ease of explanation, FIG. 3 shows an instance
where the provider has three resources of which two are activated,
however, the present invention is not limited to any particular
number of resources from which a provider can select for
activation. For example, a provider may be provided with multiple
HTML renderers to correspond to various search engines, Internet
directories such as Yahoo!.RTM. Directory, Open Directory Project
(DMOZ), etc., and other resources available to the provider. Other
resources may be easily tapped by clicking on a resource link
provided which fires off a query string (as provided by the user
originally and/or as modified by the provider) to that resource in
a frame or window where the web page is rendered. Literally
hundreds of resources may be associated with a keyword (perhaps
submitted by peer providers in the system 20 (FIG. 1) and/or
defined by a system administrator and/or by users of the system
20). All of the resources may be easily accessed via the search
interface 50 or tool.
[0050] The window or frame 52 may include additional resources
window 57 providing access to other resources defined for or
associated with a category or keyword using selection boxes 57a
through 57c. Access to the other resources may also be provided in
the resources window 57 in a form of a link, URL, etc., pointing to
the resources. For example, in addition to resources displayed in
resource windows 54, 56 and 58, there might be other resources that
are defined by other providers associated with a keyword that a
particular provider may select from using selection boxes 57a
through 57c. The provider may be restricted to selecting a finite
number of resources to be displayed in the window 52. For example,
a provider may select to use the Clusty.RTM. search engine to
execute a search by clicking on selection box 57a which causes a
query submitted to the MSN.RTM. and Yahoo.RTM. search engines to be
passed to Clusty.RTM. such that the provider is able to retrieve
information or "drill-down" to relevant information from results
returned.
[0051] The resource windows 54, 56 and 58 also include graphical
user interface (GUI) elements 62, 64, 66, 68, 69a and 69b for
viewing contents displayed within the resource windows 54, 56 and
58. Specifically, GUI elements 62 and 64 enable scrolling from one
side of the resource windows 54, 56 and 58 to another, GUI elements
66 and 68 enable scrolling up and down within the resource windows
54, 56 and 58 and GUI elements 69a and 69b provide quicker
navigation within the resource windows 54, 56 and 58.
[0052] The window 52 shown in FIG. 3 includes a results section 60
for displaying a result compiled by a provider as the provider
obtains information from resource(s) in response to a request. For
example, as a provider is obtaining information from the resource
windows 54 and 56 to be provided to a requesting user, the obtained
information may be displayed in the results section 60. The results
section 60 may display partial or complete results based on
progress of the provider in obtaining information in response to
the request.
[0053] An exemplary search interface 70 for displaying results from
activated resources is illustrated in FIG. 4. As shown in FIG. 4,
the search interface 70 includes a window 72 displaying search
results from a search conducted using resources 54b and 56b, which
in this case are MSN.RTM. and Yahoo.RTM. search engines,
respectively. The window 72 includes search query entry field 76
enabling entry of keyword 74 to identify the object of the search,
which may be modified as needed to trigger a new search by
selecting button 78. For example, when the keyword 74 "health" is
changed based on entry of a different query or keyword in the
search query entry field 76, search results 82 acquired from
resource 54b (MSN.RTM.) and search results 84 acquired from
resource 56b (Yahoo!.RTM.) are changed to reflect results for the
different query or keyword.
[0054] Similar to the window 52 in FIG. 3, the search interface 70
includes GUI elements 62, 64, 66, 68, 69a and 69b to allow viewing
contents in the window 72 by adjusting information of the search
results 82 and 84 returned from the resources 54b and 56b. Further,
the window 72 includes GUI elements 54c and 56c for minimizing and
restoring the search results 82 and 84, respectively.
[0055] Another exemplary search interface 90 displaying multiple
resources is illustrated in FIG. 5. As shown in FIG. 5, the search
interface 90 includes a window 72a having activated resources 54b,
56b and 94. The resources 94 includes resource windows 94a through
94f rendering information of A9.RTM., Answers, Open Directory,
Amazon.RTM., WebMD.RTM. and Mamma.TM. which are activated in
conjunction with resources 54b and 56b for executing a search in
relation to the keyword 74 "health." The resource windows 94a
through 94f include buttons 92a through 92f using which the
resource windows 94a through 94f may be conventionally displayed
more fully (restored). For example, button 56c may be used to
minimize search result 84 rendered via the resource window 56b,
while buttons 54c and 92a through 92f may be used to restore the
resource windows 54b and 94a through 94f, respectively, to display
the search results.
[0056] While the majority of the resource windows 54b, 56b and 94
shown in FIG. 5 are search engines, resources used for seeking
information in response to a request are not limited to search
engines. For example, resource 94c DMOZ and/or other web
directories as well as commercial or informational web sites like
Amazon.RTM. 94d and WebMD.RTM. 94e may be used to conduct a search.
The provider may also obtain information from private databases and
other sources accessible to the provider to search for information
to respond to a request. Further, the window 72a includes GUI
elements 62, 64, 66, 68, 69a and 69b to adjust viewing of
information contained in the resource 54b, 56b and 94.
[0057] An exemplary search interface 100 for capturing a result is
illustrated in FIG. 6. As shown in FIG. 6, the search interface 100
includes a window 102 configured to allow a provider to analyze
information resulting from a search across activated resource(s),
compare the information and obtain selected contents of the
information from each resource for building a response to be
presented to a requesting user (i.e., information seeker). The
window 102 includes a close button 110 for conventionally exiting
or closing the window 102 displaying information of a resource. For
example, a provider may switch from information resulting from one
resource to another by using the close button 110.
[0058] The search interface 100 includes a next button 106 and a
previous button 108 for conventionally navigating through
information resulting from a single resource or multiple resources.
For example, the next and previous buttons 106 and 108 may be used
to navigate through web page contents resulting from a search of
Yahoo.RTM. and/or switch between navigating from web page contents
of Yahoo.RTM. and MSN.RTM.. The next button 106, the previous
button 108 and the close button 110 may be similar to typical
graphical user interfaces of application programs that provide
navigational capabilities.
[0059] The search interface 100 may include a URL, a link, etc.,
identifying a location of a result. For example, as shown in FIG.
6, URL 104 of results 116 obtained from Yahoo.RTM. may be indicated
as the provider seeks information in response to the request or
pages through the results using the next button 106. The URL
identifying a location of obtained information may also be provided
in a response to a user (InfoSeeker.TM.). The URL may include an
index to a particular location within a web page where the relevant
information and surrounding text (referred to herein as a
"snippet") is located when the HTML on the page includes tags with
this information. In such cases, when the provider obtains
information from a particular location on a web page, a
corresponding index page tab is identified and provided with the
URL to direct a recipient to the location of the obtained
information within the page. For example, if a particular bit of
pertinent information from a particular web page is located at the
bottom of a web page and the provider had to scroll to the bottom
of the web page to obtain information, the provider may forward the
URL of the web page including an index to allow the recipient to
view the information on the bottom of the web page without having
to scroll to locate the information. This means that the
InfoSeeker.TM. is able to quickly view the pertinent information on
the web page found by the provider with minimal scrolling, even on
a small display screen, such as a mobile phone.
[0060] As shown in FIG. 6, the result 116 from a resource includes
an answer 112 included in related context (or snippet) 114a and
114b. For example, when a user asks what "NCAA" stands for, a
provider executes the search using, e.g., pre-configured
resource(s), obtains the answer "National Collegiate Athletic
Association (NCAA)" and may include surrounding text or related
context of the answer. The context 114 may include text (or
graphics) related to the answer 112 or may simply be text adjacent
to the answer 112. The answer 112 and the context 114 may be text
including comments from the provider, web pages, links, images,
videos, audio recordings or any other information that may be
transmitted to a requesting user from the provider as a response to
a request.
[0061] In a preferred embodiment, the "answer" 112 is displayed
with a different display mode than the context 114 to allow the
provider to distinguish between information containing the query or
keyword of a request and context information. For example, the
answer 112 may be highlighted with a different color than the block
of text containing the context 114a and 114b. The provider may use
various conventional ways to select the answer 112 and the context
114 from the results 116 in building the response to the request,
such as dragging a cursor over selected content and selecting add
button 120, single clicking over what the provider wants to return
as the answer 112 and double clicking over the context 114,
blocking/copying, etc. The results 116 may include images, videos,
a document, audio recordings or any other information that may be
included by a provider in a response obtained for the request.
[0062] When the provider selects information from the results 116,
the selected information content may be displayed in an entry field
118 containing information to be included in a response to the
request upon selection of the add button 120. For example, the
provider double clicks on the answer 112 "National Collegiate
Athletic Association" which causes the snippet 114 including answer
112 to appear in the entry field 118 and clicks on the add button
120 to build a response for a request seeking information on
"NCAA." Alternatively, the answer 112 may be selected from the
resource by double clicking on a word, selecting a phrase by
dragging the mouse over word(s), selecting the word(s) by moving
the cursor to the location in the page and pressing the shift-key
while continuing to move over the words, etc.
[0063] An exemplary user interface 200 enabling selection from
available resources is shown in FIG. 7. As shown in FIG. 7, for
query or keyword(s) 74b of "prostate cancer", a set of resources
202 including mayoclinic.com 202a, NIH.gov 202b, WebMD.com 202c,
Google.com 202d and Yahoo.com 202e are available for selection.
Availability of a resource may be determined based on a variety of
criteria such as usage of the resource by other providers
registered to handle requests pertaining to the same or similar
category, popularity of a resource among all providers, reliability
of a resource in returning pertinent results, etc. It is also
possible to have different sets of resources for different keywords
or categories for which a provider is registered.
[0064] The user interface 200 also displays information of the set
of resources 202 including a rank 204 having indicators 206 and a
selection option 208 having indictors 210 for each of the resources
available for the keyword(s) 74b. The indicators 206 identify
ranking of each resource in comparison to other resources indicated
in the set of resources 202. For example, the resource
mayoclinic.com 202a is ranked first and the resource Yahoo.com 202e
is ranked fifth among the set of resources 202. The selection
option 208 includes indicators 210 indicating whether a resource to
receive a query has been selected as illustrated by the checkmark
indicated for resources 202a, 202b and 202c and the lack of a
checkmark for resources 202d and 202e. Similar to the GUI elements
62, 64, 68 and 66 (FIG. 3), search result renderers 212, 214 and
216 in FIG. 7 include GUI elements 62, 64, 66 and 68 to allow a
provider to adjust information displayed in the search result
renderers 212, 214 and 216.
[0065] Accordingly, when a search is conducted for the keyword(s)
74b of "prostate cancer" using activated resources 202a, 202b and
202c, search result renderers 212, 214 and 216 are provided,
respectively. The search result renderer 212 contains results of
mayoclinic.com for the keyword(s) 74b while search result renderers
214 and 216 contain results of NIH.gov and WebMD for the keyword(s)
74b, respectively. For example, Appendix A incorporated herein by
reference illustrates results returned for a search conducted using
the keyword(s) 74b of "prostate cancer" via resource 202a and
Appendices B and C also incorporated herein by reference illustrate
results returned for a search conducted via resources 202b and 202c
for the keyword(s) 74b. As such, any additional searching that
would have been required for an information seeker to obtain
desired information pertaining to the keyword(s) 74b would be
eliminated because the provider analyzes the returned results and
captures accurate information to present to the information
seeker.
[0066] FIG. 8 illustrates process 220 for sending a query to
activated resource(s). As shown in FIG. 8, process 220 begins with
determining whether search query of interface is activated 222. The
search query interface is activated 222, for example, when a user
(infoseeker.TM.) using one of the user devices 22 (FIG. 1) submits
a query to trigger a search. When it is determined that the search
query interface is not activated 222, process 220 ends 224. On the
other hand, upon determining that the search query interface is
activated 222, content of query field is obtained 226.
[0067] After obtaining 226 content of the query field, process 222
moves to setting 228 N=1. For example, as illustrated in FIG. 3,
two resources such as MSN.RTM. and Yahoo.RTM. may be activated by a
provider for executing a search for a particular query submitted by
a requestor. After setting 228 the number of resources, process 220
moves to accessing 230 resource list N.sup.th resource. For
example, five resources may be activated for a search pertaining to
the category "soccer", in which case, process 220 goes through the
list of resources and checks active 234 status of each resource and
incrementing N (232) if the resource is inactive. Process 220
continues to sending 236 query "soccer" to active 234 resource(s)
and extracting 238 results from the activated resource(s).
[0068] Subsequent to extracting 238 results from the activated
resources, process 220 continues to copying 242 results to
interface window for resource #N. For example, results returned
from a search using Mayoclinic.com as a resource in response to a
query pertaining to "prostate cancer" are copied to interface
window. How resources are listed or presented to a provider and how
results are returned from selected resources are displayed is
explained in detail below with respect to FIG. 9.
[0069] Process 220 determines whether end of the list 244 of
resources is reached and continues to check active resources by
accessing 230 the list of resources where N is incremented to N+1
(240) upon determining that the end of the list 244 has not been
reached.
[0070] FIG. 9 illustrates an interface 300 for conducting a search
using selected resources and mining through results of the
resources. As shown in FIG. 9, main search query page 302 includes
an input field 302a for entering a query or search request and a
button 302b for submitting the query to execute a search. Upon
submission of the query for the search, the provider will be
presented with a list of resources 304 to which the query may be
passed for the search. The list of resources 304 presented to the
provider may be predefined in accordance with the query or
keyword(s) in a request, a provider's preferences, use by other
providers, or any other criteria that increases the probability of
obtaining a precise result. For example, when the most frequently
used resources for conducting a search in relation to the category
prostate cancer are the Mayoclinic, NIH, WebMD web pages, these
resources are automatically presented to the provider when a query
directed to "prostate cancer" received by server 26 (FIG. 1).
[0071] In addition, providers may configure resources associated
with each keyword that the providers have signed up to handle. For
example, a provider may edit a list of resources presented to the
provider based on association of the provider with a particular
keyword or category by activating or de-activating any of the
resources in the list. In addition, a provider may add resources
for use by the provider, share resource(s) with other providers who
have signed up for a particular keyword or category and/or share
the resource(s) with users who are not using services of a
provider, etc. The system 20 (FIG. 1) may have a default set of
resources for a given keyword when a provider signs up for that
keyword, however, the provider may configure resource(s) that may
automatically be displayed in frames or resource windows to suit
the provider's needs. The resource(s) may be selected to
automatically send a user's query to each selected resource(s). In
addition, a provider may view a list of non-automatic resources,
which the provider may select in real-time, for example, by
clicking on the resource(s), at which point the query is sent off
to the selected resource(s) such that results may be returned to
the provider who may then choose to forward information to the user
(or Infoseeker.TM.).
[0072] When the provider selects a resource from the list of
resources 304, the query is passed to the selected resource to
conduct the search based on the query in the input field 302a. The
interface 300 shown in FIG. 9 includes a web page 308 containing
search results for the submitted query and a web page 306
identifying actual results in a contents page when a result
displayed in the web page 308 is selected. For example, each
instance where the query prostate cancer appears in the Mayoclinic
web page is displayed in the web page 308 and a particular instance
among results where prostate cancer in web page 308 is displayed in
web page 306.
[0073] When the provider selects a link from the result(s)
contained in the web page 308, web page 306 will pop up without
requiring the provider to be directed to a next page of the
selected result. The web page 306 may be an embedded browser
rendering cascading style sheets, HTML, XHTML, etc., of web pages
and components displayed using Java script to provide a full
browser function within an application. The web page 308 includes
conventional next 308b and previous 308a buttons for navigating
through results contained therein and the web page 306 includes
conventional next 306b and previous 306a buttons for locating each
occurrence of the keyword(s) 74b in web page 306.
[0074] Content linked to the search results displayed in the web
page 306 accessed by selecting one of the results in web page 308
may be displayed using a specialized built-in HTML renderer that
adds an image box 306c surrounding a selected section of a
particular web page information in the built-browser that is
created to enable the provider to obtain information to be
transmitted in response to the request. The image box 306c may
overlay any web page, graphics, text, etc., and the information in
the image box 306c may be converted to a desired format (e.g.,
JPEG, etc.) for sending to the provider so that the provider may
size the image box 306c to obtain what the provider perceives as
relevant in response to the request.
[0075] FIG. 10 illustrates a GUI 400 for extracting an answer
pertaining to a query. As shown in FIG. 10, a window 402 contains
results 408 from a resource and a URL 404 indicating the location
of the resource. The window 402 displays different portions of the
results (denoted 408a, 408b and 408c) 408 from the particular
resource with different characteristics (boxed text in this case)
and enables the provider to select therefrom to be returned as an
answer to a request. The provider may also be presented with
pre-selected section(s) of the results 408 (indicated by dashed
lines) produced from a search via the resource. For example, the
query "prostate cancer" may be highlighted by indicator b and any
information surrounding the query may be displayed with a different
marker such as indicators a and c.
[0076] The provider is able to modify the indicators a, b and c to
contain different portions of the results 408 and select the add
button 406 to add the selected portion to a response to be
presented. When the provider wants a different result, the provider
may select previous and next buttons provided in the window 402. As
such, the provider is able to capture a precise result and provide
the result as a response to a request. For example, the keywords
"prostate cancer" contained in a query which is the target string
in this case may be identified with 408b bracketed with context
before 408a and context after 408c.
[0077] FIG. 11 illustrates a GUI 500 for browsing through results
from a resource and capturing an exact answer. The GUI 500 includes
a window 501 displaying results 508 for a query submitted in a
field 502 and a response compiling window 506 for selectively
building information to be provided as a response to a request. For
example, the results 508 are generated for the query in the field
502 which requests conversion value of 98.degree. Fahrenheit to
Celsius in accordance with a search conducted using a resource. The
provider is able to analyze the results and select information from
the results 508 that the provider thinks qualifies as a response to
the request. For example, when the provider analyzes the results
508 and selects a result 504 from a particular resource, the
response compiling window 506 is presented to the provider using
which the provider builds the response including by modifying
contents to be delivered as the response to the request.
[0078] As illustrated in FIG. 11, the response compiling window 506
may include exact answer frame 506a for providing a direct or
precise answer, description frame 506b for presenting context
information related to the answer and URL/page locator frame 506c
identifying a location of contents in the response compiling window
506. For example, a direct answer to the query requesting
conversion value of 98.degree. Fahrenheit to Celsius may be 36.66 .
. . degrees Celsius, the description frame may be the rate of
conversion and the URL/Page locator may point to a web page
containing a converter.
[0079] As illustrated in FIG. 11, a result 504 one of the resources
may be selected, for example, by clicking on a link 504a of the
resource which allows a provider to access and locate ("drill
down") content of the resource where an answer can be calculated
perhaps with the provider's entry into a conversion table. Then,
when there is content (generated dynamically), the content can be
captured and transferred to the user. However, the dynamic web
content is copied to a known storage site accessible to the
provider (e.g., GoDaddy.com, Yahoo.RTM. storage, etc.). In addition
to returning a pointer to the copied data, a URL 506c pointing to
the resource where the calculation can be performed may also be
returned. Even though the answer may be dynamically generated, the
answer 506a is presented to the embedded browser as HTML content.
The window 501 may be enabled by a provider application that allows
the provider to select any content from a web page (even that
generated in forms, etc.) as the answer to a query. As explained
above with respect to FIG. 10, selecting text from a web page
generates the snippet and causes the title of the page and the
associated URL to be captured as part of the result. The result
line presented will contain the generated result and may direct the
user to the web site where the user may use the interface to do
other conversions.
[0080] An exemplary display 600 illustrating composite results
pertaining to a request is illustrated in FIG. 12. As shown in FIG.
12, display 600 includes a window 602 displaying composite results
from one or more resources. The window 602 includes results 1
through 3 denoted by 602a through 602c having corresponding context
or snippet and URL information. Further, the window 602 may have
exact answer frame 604 providing an exact answer to a request.
Using the query requesting the conversion from Fahrenheit to
Celsius as example, the exact answer frame 604 may be the converted
value in Celsius and the results 602a through 602c may be
information related to the query and URL pointing to a location of
the information. The provider may also prioritize the results in
the window 602 based on relevancy, accuracy or other criteria for
presenting the results in a manner that enables the requesting user
to view the results efficiently.
[0081] A method and system disclosed activate resource(s) among
available resources for a request, render results from the
activated resource(s) in a specialized built-in browser to enable
selected information to be obtained from the results and deliver
the selected information as a response to the request. The
information selected or extracted may include context (snippet) of
the extracted information, a URL link referring to a location of
the extracted information.
[0082] Accordingly, an automated tool for human assisted mining is
disclosed to improve experience of an information seeker during a
search by providing highly relevant answers based on human assisted
determination of relevancy, sorting of information and capturing of
results from traditionally returned information.
[0083] The many features and advantages of the claimed invention
are apparent from the detailed specification and, thus, it is
intended by the appended claims to cover all such features and
advantages of the claimed invention that fall within the true
spirit and scope of the invention. Further, since numerous
modifications and changes will readily occur to those skilled in
the art, it is not desired to limit the invention to the exact
construction and operation illustrated and described for the
disclosed embodiments, and accordingly all suitable modifications
and equivalents may be resorted to, falling within the scope of the
claimed invention. It will further be understood that the phrase
"at least one of A, B and C" may be used herein as an alternative
expression that means "one or more of A, B and C."
* * * * *