TECHNICAL FIELD

This document generally describes techniques, methods, systems, and mechanisms for automatically handling special search results, such as by automatically calling telephone numbers relating to internet search results or by automatically directing a user to a web page that is the target of a search result.

BACKGROUND

A mobile computing device, for example, an application telephone, may establish data communication with voice networks and with server systems that are connected to the mobile computing device via the internet. The mobile computing device can submit search queries to a search engine over the internet, and receive in response search results. In some instances, the search results can be selected by the search engine based on a location of the mobile computing device.

A user of the mobile computing device may also user the device to dial a telephone service over the Public Switched Telephone Network (PSTN) that provides a speech recognition-based business directory search. For example, the user may verbally submit a voice query to the telephone service using the mobile computing device, and may verbally hear a search result in response. The telephone service may connect the user to a telephone number for a search result if the user does not provide a verbal indication that the user would like to hear additional search results.

SUMMARY

The present disclosure generally relates to automatically handling special types of search results, such as by automatically calling telephone numbers relating to certain internet search results (e.g., those directed to particular businesses) or by automatically directing a user's browser to a web page that corresponds to a search result (e.g., when the result is very highly correlated to a search query from a user).

In other words, this document describes techniques, methods, systems, and mechanisms for automatically handling certain types of search results, including by calling telephone numbers relating to internet search results or automatically directing a web browser to a web page for a particular result. In general, a user of a computing device may input a query (e.g., a voice query or a textual query) using the computing device, and may submit the query to a search engine system in a familiar manner. The search engine system may receive the query, identify a geographical location of interest (e.g., an estimated geographical location of the computing device or a location specified in the query) or a web page or pages, and may provide to the computing device a local search result in the form of a telephone number or one or more results that correspond to landing web pages for the results.

The computing device may initiate a call using the returned telephone number automatically by displaying information about the organization to be called and providing a warning that the number will be dialed automatically if the user does not manually intervene. Where the most relevant result is determined to be a web page, the device may similarly automatically direct the user's browser or other web viewing application to the page. In either instance, the device may delay for a period while indicating to the user that it is going to make the call or go to the page automatically if the user does not intervene by the end of a countdown period, and may also give the user a control to select (or phrase to speak) to prevent such automatic redirection of the user.

In general, one aspect of the subject matter described in this specification can be embodied in a computer-implemented method for automatic telephone calling. The method includes receiving a query at a server system and from a computing device that is remote from the server system. The method includes determining whether the query is for causing the remote computing device to call a telephone number automatically. The method includes providing the query to a particular search engine system. The method includes receiving from a particular search engine system one or more search results that are responsive to the received query. The method includes providing a particular telephone number that corresponds to a most prominently ranked of the one or more search results from the search engine system and to the remote computing device, so as to cause the remote computing device to call the particular telephone number automatically.

Another aspect of the subject matter described in this specification can be embodied in a computer-implemented method for automatic telephone calling. The method includes providing a query by a computing device and to a server system that is remote from the computing device, so as to cause the remote server system to receive from a search engine system one or more search results that are responsive to the received query. The method includes receiving from the server system a telephone number that corresponds to a most prominently ranked of the one or more search results. The method includes in response to receiving the telephone number, automatically calling the telephone number. Automatically calling the telephone number includes presenting on the computing device a description of the most prominently ranked search result.

In yet another aspect of the subject matter described in this specification, a system for automatic telephone calling includes a query handler, at a computing device, programmed to receive user-input selecting a graphical interface element that is for transmitting a user-input query to a server system that is remote to the computing device, and to transmit the user-input query to the server system in response to receiving the user-input. The system includes a location identifier, at the server system, programmed to identify a location that is provided to the server system in or with the query. The system includes a particular search engine, at the server system, programmed to receive the query and determine search results that are relevant to the query and are geographically-constrained based on the location, wherein the search results are ranked. The system includes an automatic caller programmed to receive a telephone number for a most-prominently ranked of the search results, and automatically call the telephone number without receiving user-input subsequent to the transmission of the user-input query to the server system.

Another aspect of the subject matter described in this specification may be embodied in a computer-implemented method of providing search results automatically to a user of a computing device. The method includes receiving a spoken input provided by a user to a computing device. The method includes transmitting the spoken input to a computer server system that is remote from the computing device. The method includes receiving by the computing device and in response to the transmitted spoken input, search result information that is responsive to the spoken input. The method includes providing an alert to the user, by the computing device, that the device will connect the user to a target of the search result information if the user does not intervene to stop the connecting of the user. The method includes connecting the user to the target of the search result information based on a determination that the user has not intervened to stop the connecting of the user.

These and other implementations can optionally include one or more of the following features. The received query may include recorded voice information. The voice information may be converted, by the server system, into textual form such that the query that is provided to the particular search engine system is in textual form. The particular search engine system may be a geographical search engine system that receives (i) a query, and (ii) a location, and returns a geographically-constrained listing of search results that correspond to venues that are responsive to the query and are geographically near the location. The location may be an estimated geographical location of the remote computing device as determined by the remote computing device using information encoded in wireless signals that identifies one or more remote transmitting devices.

Determining whether the query is for causing the remote computing device to call a telephone number automatically may include determining whether the query includes a predefined carrier phrase. Providing the query to the particular search engine system may be performed in response to a determination that the query includes the predefined carrier phrase. The server system may be configured to provide the query to a different search engine system if the query is determined to not include the predefined carrier phrase. Calling the particular telephone number automatically may include presenting on the remote computing device an animated timing display and calling, by the remote computing device, the particular telephone number at substantially a termination of the animated timing display. The query may be received in response to a user-selection of a query button at the mobile computing device. The query button may cause the mobile computing device to transmit the query to the server system.

Automatically calling the telephone number may include presenting on the computing device, without receiving user-input at the computing device subsequent to receiving the telephone number, a prompt to call the telephone number. The prompt may enable a user to cause the computing device to dial the telephone number with a single-action user input. Automatically calling the telephone number may include presenting on the computing device, without receiving user-input subsequent to receiving the telephone number, an animated timing display and dialing the particular telephone number at an expiration of the animated timing display. During the presentation of the animated timing display, the computing device may not present telephone numbers that correspond to the one or more search results.

Automatically calling the telephone number may include presenting, at the computing device and concurrent with the animated timing display, a button to cancel the dialing of the particular telephone number at the expiration of the animated timing display. The computing device may be configured to present descriptions of other of the search results in response to a user-selection of the button to cancel the automatic dialing. The automatic calling of the telephone number may be performed by the computing device and may include a dialing of the telephone number by the computing device while the computing device is not presently connected to another computing device in a duplex telephone conversation. The computing device may receive user-input defining the query. The query may be provided to the server system in response to a user-selection of a query button that causes the query to be transmitted to the server system.

The system may include a search result ranker that is programmed to assign, for the most-prominently ranked of the search results, the ranking based at least in-part on comparing a present time to data that indicates hours of operation for a venue that corresponds to the most-prominently ranked of the search results. The system may include a search result ranker that is programmed to assign, for the most-prominently ranked of the search results, the ranking based at least in-part on user-input provided by multiple users, other than a user of the computing device, to cancel an automatic dialing of the telephone number. The automatic dialing of the telephone number performed by automatic callers that are each programmed to receive a particular telephone number for a most-prominently ranked of search results that are received in response to a query, and to automatically call the particular telephone number.

The system may include a search result ranker that is programmed to assign, for the most-prominently ranked of the search results, the ranking based at least in part on whether the computing device, or a user of the computing device, has previously called the telephone number. The system may include a second search engine, at the server system, that is programmed to receive the query and determine search results that are relevant to the query. The system may include a query type identifier to determine whether the query is to be provided to the particular search engine system or the second search engine system. The computing device may not automatically call a telephone number corresponding to a most-prominently ranked of search results that are received from the second search engine.

The spoken input may include a carrier phrase and a query parameter. The query parameter may be submitted to a search engine system to generate the search result information. The carrier phrase may be used to select a search engine system, from among a plurality of search engine sub-systems, to which the query parameter is to be submitted. Providing an alert to the user may include providing a timed countdown, at the end of which the connecting of the user is to occur automatically. The search result information may include a telephone number that is responsive to a query parameter in the spoken input. Connecting the user to the target may include automatically dialing the telephone number using the device. The search result information may include a uniform resource locator for a web site that is responsive to a query parameter in the spoken input. Connecting the user to the target may include automatically redirecting a web-navigating application to the web site. The user may be provided with an option to cancel automatic connection to the target of the search result information. The user may be displayed, in response to receiving a user input to cancel the automatic connection, the user information responsive to the spoken input that does not correspond to the target of the search result information.

Particular embodiments can be implemented, in certain instances, to realize one or more of the following advantages. Mobile computing device users may initiate a call to a business entity without knowing a telephone number for the business entity, or in some instances a name or location of the business entity. Similarly, users may be taken to a web page in response to a voice input without having to actively select a search result from among multiple search results. A level of user-input needed to search for a business entity and telephone the business entity or go to an entity's web site may be reduced, saving user time and increasing user convenience.

An unknown telephone number may be called, or a web page whose URL is unknown may be visited, by inputting a voice query without any physical user-input, or with a minimal amount of physical user-input (where physical input is input other than spoken input, such as contacting a touchscreen or pressing physical buttons on a telephone). A propriety of a selected search result may be passively acknowledged by a user performing no actions during a calling or redirect countdown. If a user is not interested in a selected search result, canceling the call or redirection may present a list of alternative search result suggestions.

The details of one or more embodiments are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description and drawings, and from the claims.

