A system and method provides a natural language interface to world-wide web content. Either in advance or dynamically, webpage content is parsed using a parsing algorithm. A person using a telephone interface can provide speech information, which is converted to text and used to automatically fill in...http://www.google.com/patents/US7660400?utm_source=gb-gplus-sharePatent US7660400 - Method and apparatus for automatically building conversational systems

Method and apparatus for automatically building conversational systemsUS 7660400 B2

Abstract

A system and method provides a natural language interface to world-wide web content. Either in advance or dynamically, webpage content is parsed using a parsing algorithm. A person using a telephone interface can provide speech information, which is converted to text and used to automatically fill in input fields on a webpage form. The form is then submitted to a database search and a response is generated. Information contained on the responsive webpage is extracted and converted to speech via a text-to-speech engine and communicated to the person.

Images(6)

Claims(9)

1. A computer-implemented method of interacting with a webpage via a spoken dialog service, the method comprising:

parsing a webpage to identify input fields in a webpage form and information to be inserted into the input fields and to determine prompts and input tags for use with a spoken dialog with a user, wherein the spoken dialog includes audible speech from the user and an automatic spoken response from a spoken dialog system;

receiving an entity name having a physical location and location identifier from the user via the spoken dialog the entity name and location identifier associated with the webpage form;

providing the entity name and location identifier to respective input fields of the webpage form;

receiving from a computer server a list of physical entities geographically closest to the location identifier; and

communicating to the user at least the closest entity of the list of entities to the location identifier.

2. The computer-implemented method of claim 1, where the entity is a business.

3. The computer-implemented method of claim 1, wherein the entity is an individual.

4. The computer-implemented method of claim 1, wherein the location identifier is a location code.

5. The computer-implemented method of claim 4, wherein the location code is a zip code.

6. The computer-implemented method of claim 1, wherein the location identifier is an address.

7. The computer-implemented method of claim 1, further comprising:

extracting the closest entity to the location identifier; and

communicating the closest entity to the location identifier.

8. The computer-implemented method of claim 1, wherein communicating at least the closest entity to the user further comprises communicating via synthetic speech.

9. A system that enables interaction with a webpage via a spoken dialog service, the system comprising:

means for receiving an entity name with a physical location and location identifier from a user via a spoken dialog;

means for providing the entity name and location identifier to a webpage form;

means for receiving from a computer server a list of physical entities geographically closest to the location identifier; and

means for communicating to the user at least the closest entity of the list of entities.

The present invention relates to spoken dialog systems and more specifically to a system and method of dynamically building conversational systems for interfacing with databases.

2. Introduction

As the world-wide web (WWW) evolves, user interaction with the computer to provide and receive information continues to improve and become more efficient. Search engines allow users to provide a few keywords and receive listings of relevant webpages containing content. The size and number of databases available for searching continually increases, thus increasing the complexity of the process of getting desired content to users.

One way in which the WWW provides for a user to interface with a database or set of databases is through forms. Forms are used to provide a user a customized response based on the content of the database and the user's input. The WWW enables an unlimited number of ways to present and govern the user's interaction. Many are investing resources in electronic customer relationship management (e-CRM) to intelligently analyze and improve the user's experience.

However, with the ever increasing demand for e-CRM and e-care, the number of forms on the web has begun to increase dramatically. User-related information, such as name, address, zip code email address, credit card information, data related to personal interests and other types of information or various combinations of data are often required to learn about the user and engage in a dialog. In many scenarios, a user that desires information, such as flight reservations or location direction to an address or entity such as store or building, needs to input information into a form containing input fields in order to access the database containing the information and to receive a response.

In many cases, as an access client like Microsoft's Internet Explorer receives the form-filled information and transmits the information to a web-server, the responsive webpage is a dynamically generated webpage that incorporates the user's input information. In other words, the webpage that is delivered to the client is not a static webpage that contains previously generated content. Dynamically generated webpages often arise when web applications dynamically generates a page that contains information specific to the user's request. Therefore, a webpage delivered in response to a user's providing information in a form related to a travel reservation, or a personal account, etc., is delivered via a dynamically generated webpage. Dynamically-generated webpages are difficult to deal with since they not indexed by search engines and are generated on the fly.

With the increase in the trend of e-CRM and web-enabled access to databases, especially proprietary databases, there is an increasing number of webpages with form interfaces that return dynamically generated pages. Accompanying this increase in e-CRM is a focus on voice-enabled interfaces for various services. One area where voice-enabled services are utilized is in customer services for companies. For example, AT&T's VoiceToneSM service provides a natural, conversational speech interface that listens and responds like a live agent. Callers can simply make a request, ask a question, or even utter a few words and thus avoid time-consuming menus, structured speech and touch-tone prompts. AT&T VoiceToneSM's intelligent intent determination can quickly and accurately understand what callers are trying to accomplish and respond to their precise needs.

One method of interacting via voice with the WWW is via VoiceXML (or VXML). This programming language enables a webpage to be programmed with various voice interactions with a user. There are deficiencies in using VoiceXML, however. The dialog is scripted and must follow the programmed flow. Questions or issues that a user may have outside of the program flow will not be addressed. Further, if a website is updated with new or different information, the VoiceXML code needs to be reprogrammed to accommodate such changes.

There is a need in the art for a system and method that utilizes the benefits and efficiency of voice-enabled interaction to improve a user's interaction with the Internet and various types of databases. There is also a lack of ability to interact with the Internet in the process of filling out a form using a voice-enabled service.

SUMMARY OF THE INVENTION

Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The features and advantages of the invention may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. These and other features of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth herein.

One embodiment of the invention comprises a method of providing information to a user utilizing a natural language dialog. The method comprises receiving spoken information from a user, converting the received spoken information to text, automatically filling in a web-based form using the text converted from speech, receiving a dynamically-generated webpage generated according to the filled webpage form and communicating to the user, via synthetic speech, content from the dynamically-generated webpage.

An exemplary type of information that may be provided relates to location. For example, the user may be engaging in a natural voice dialog with a computer service such as AT&T's VoiceToneSM, and the conversation comes to a point where the user desires location information. In this case, the invention can provide means for receiving information from the user and then using a form-based webpage to obtain location-based information. This information is then processed and presented to the user via synthetic speech in the natural language conversation. However, as can be appreciated, the location example is merely an exemplary method that illustrates the basic principle of the invention. The invention is not limited to any specific type of information that is provided to a user via the dialog.

BRIEF DESCRIPTION OF THE DRAWINGS

In order to describe the manner in which the above-recited and other advantages and features of the invention can be obtained, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered to be limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:

FIG. 1 illustrates the architecture of the present invention; and

FIG. 2A shows a webpage with input fields for receiving an address;

FIG. 2B shows a webpage with input fields for a starting address and a destination address;

FIG. 2C shows a webpage response to a request for directions from a location to a destination; and

FIG. 3 illustrates a method according to an aspect of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

The present invention provides a solution to enable interaction between a telephone or other voice communication device with the world wide web (WWW). The communication is between a live user and a computer system having the necessary technology to perform automatic speech recognition, perform dialog management, and generate synthetic responses to the user. Such systems can approach a realistic conversation as though it was between two people. One example of such a system is AT&T's VoiceToneSM service. The basic components of these voice-enabled services are generally known and therefore the technical details will not be provided here other than introductory information.

The VoiceToneSM service provides an improved way to communicate with people using a voice-based contact or audible dialog with a virtual agent. Such voice-based interactions with customers of a business, for example, can improve the customer relationship with that business in that the experience is much more enjoyable then pressing numbers on a telephone to navigate through a menu system. In the menu systems, users must “press 1 for sales” or “press 2 for technical assistance” and so on. The VoiceToneSM system enables a virtual agent to ask the user “How may I help you?”. Using automatic speech recognition and dialog management, the VoiceToneSM system can understand and provide the desired information or assistance to the user.

FIG. 1 illustrates an off-line component 102 of the architecture 100 that shows a WWW interface 104, a form parser 106, and a box showing the steps of providing prompts and input tags 108 for managing the interaction between the VoiceToneSM service and the WWW. The form parser 106 will analyze a webpage to learn what input fields are available and what information is to be inserted into each field. For example, if an input field exists for a person's address, the field will have accompanying text that may state: “Address” or “Street” and another field may have associated text that states “Zip Code” and so on. The form parser will retrieve and organize for a webpage all of the input fields and labels. This information is used to generate the appropriate prompts and input tags 108 for use in the dialog process 120.

The dynamically generated prompts and input tags for a webpage having input fields for an address, phone number and email address will relate to modifying the dialog with the user 112 to insure that the prompts to the user (such as “Please give me your address and phone number” and “Please give me your email address”) will be provided and the response from the user will be identified and tagged. Named entity approaches for identifying information such as an address in speech or a phone number are known. Any approach may be used to identify the information within a user response that should be associated with the various input fields on a webpage.

The analysis of the webpage performed by the form parser allows for further analysis of the webpage. Many forms include required information and non-required information. An example is that to complete a form the webpage may require the user to input his name, address, phone number and an email address. These fields on the webpage are often marked with an asterisk “*” or other means such as color. The form parser 106 can identify the necessary fields by analysis of the text or colors of the webpage or other means to identify the necessary input fields. For example, if the user gives a name, address, phone number, but no email address, the dialog manager may prompt the user as follows: “Thank you for that information, we also need your email address to provide you with your directions. What is your email address?”.

FIG. 1 further illustrates the basic components of the VoiceToneSM system 120 in the broader context of the architecture 100 of the invention. A user 112 receives synthetic (text-to-speech or TTS) or recorded speech from the system 130 and can provide a response. An example would be the system asking “How may I help you?”. The user may respond “I need directions to Union Station from the White House”. The speech from the user is recognized using an automatic speech recognition system 114. A dialog manager 116 such as the known Florence Dialog Manager may be used to manage the interaction and responses to the user. As part of the management of these responses, a natural language understanding module 118 is used to understand the meaning of the received speech from the user 112.

An advantage over VXML of this dialog interchange and ability to fill in form information via the dialog includes the ability to receive a phrase of information and fill in the various input field of a form without requiring individual questions for each field. For example, using the off-line and dynamic parsing ability of this invention, the dialog could accept a statement from the user such as “I want to fly from Boston to Washington on Jan. 5 2004 before noon.” The present invention enables the system to complete all of the necessary input fields and then continue to request information only for other required field, if necessary.

Many companies or entities have websites where users can provide information or interact with the site. For example, a well-known site Mapquest®, having an example webpage 200 shown in FIG. 2A, includes input fields for an address 202, city 204, state 206, zip code 208 and a “get map” button 210 to execute the search. The user inputs as much information as the user knows. A database search is performed and a map of the address is presented to the user that can be manipulated and viewed or printed. If a user were to call a virtual agent associated with Mapquest®, the user may not be in a position to have a PDA or computer screen to enable the person to interact with this form-filling webpage to obtain information. One aspect of the present invention enables a user to interact with and receive information from a webpage that requires form-filling information.

FIG. 1 illustrates this interaction between VoiceToneSM or the like and a website. If, in a dialog with the user, the user states that he would like to know where Union Station is from the White House, the VoiceToneSM service will generate a request that can be utilized for posting values to the Mapquest® webserver 122. The request may be the result of further dialog with the user to gather more information. For example, the dialog may ask the user “Are you in Washington DC?” or “Do you want to take the Metro or will you travel by car?” For the purpose of this example, assume that the user will drive from the White House to Union Station. In this case, the information in the request that will be used to interact with Mapquest® will include the necessary information to populate the necessary input fields to obtain the information.

On Mapquest®, to get driving directions, a user would click on the driving directions button 214. Other buttons include a maps button 212 and a road trip planner 216. FIG. 2B illustrates the forms to fill out for driving directions. On this webpage 230, there is a starting address 218 and a destination address 220. The information is filled into field 222 for a starting address and the field 224 for a destination address. The present invention involves generating the necessary information drawn from the VoiceToneSM dialog to submit a request from the VoiceToneSM application to populate the necessary fields, for example in Mapquest, to obtain information. The interaction with the webpage 230 is all performed by VoiceToneSM or a process associated with VoiceToneSM inasmuch as the user is on a telephone call.

Returning to FIG. 1, once the values or information is posted to a webserver 122, the information via the WWW 124 is retrieved from a database 126. FIG. 2C illustrates a response from Mapquest® to the search request for directions from the White House to Union Station. This page 250 shows information such as the total distance and estimated time 240, directions (in steps 1-5) 242, and other options tabs such as shortest route 244, a route that avoids highways 246, an option to receive directions by email 246 and an option to send to a phone 248. Of course, since this interchange is just an example, other options will be presented to a user in a response depending on the website and user request. This is only an illustration of one way to receive information from a request submitted via the WWW using input fields.

FIG. 1 then illustrates a step of extracting information from the response webpages 128 and submitting that extracted information to VoiceToneSM120. In this example, information such as “total distance: 1.62 miles” and “total estimated time: 6 minutes” as well as the 5 step directions are extracted from the webpage and provided in the responsive package of information to VoiceToneSM. From this extracted information, VoiceToneSM generates a text-to-speech 130 response to the user 112. The response may be, for example, “here are your directions. The total distance from the White House to Union Square by driving is 1.62 miles. It should take 6 minutes to arrive. Start out going east on E street northwest toward Ellipse road northwest for 0.16 miles. Turn left onto fifteenth street northwest and go 0.22 miles. Turn right onto new your avenue north west and go 0.19 miles. Turn right onto H street northwest and go 0.82 miles. Turn slightly right onto Massachusetts avenue northwest and go 0.23 miles.” In this manner, the extracted information is converted into conversational text and then synthetically generated and delivered to the user.

In another aspect of the invention, other information on the webpage is extracted and incorporated into the dialog. For example, VoiceToneSM may ask the user “would you like the fastest route, the shortest route or to avoid highways?” This would be in response to the tabbed options in FIG. 2C252, 244 and 246. Further, the VoiceToneSM application may ask “do you wish these directions emailed to you or sent to a PCS phone?” See options 246 and 248 of FIG. 2C. In this regard, if the response is “yes” from the user, a dialog is generated from VoiceToneSM that retrieves the necessary email address or phone number to continue to interact with the Website via the voice conversation and fill in further input fields such as the email address input field 254. Further extraction from webpages and modification of the dialog continues.

Therefore, the invention comprises a system and method of providing the interface between a voice-enabled virtual agent and existing websites that receive information requests via input fields and provide information. The website may be restructured or designed such that the information that they provide is easier to extract for the purpose of the voice-interaction with website. This restructuring or design could focus on providing more description of input fields. For example, instead of “to:” to identify an address input field for a destination, the website would label the field “destination address.” In this manner, the form parser 106 will more accurately and efficiently identify webpage content and input fields as it performs its process.

There are an unlimited number of kinds of websites to which the present invention may apply: airlines reservations, retail stores, auctions, and so on. In another example, often users desire to find the nearest store to their location. Using a phone, the user can engage in a natural language dialog with an application such as VoiceToneSM and provide the store name and zip code. In this regard, this aspect of the invention may differ from the form-filling application. With a store name and zip code, the process according to the present invention may be able to search the WWW and extract a store address from a store home webpage and present via TTS the response to the user.

The present invention enables voice interaction with dynamically-generated webpages. For example, the webpages discussed above that include content specific to the user request are generated on-the-fly to provide the necessary information for that specific user. An aspect of the present invention enables dynamic extraction of that information, and use of the extracted information within a voice-dialog.

Another example of a voice dialog according to an aspect of the present invention is as follows. This relates to the invention in use with a customer relations department of a company where the user is trying to return a product:

Computer: Thank you for calling, this is Julie, I am an automated attendant.

How can I help you?

User: I ordered a pair of shoes two weeks ago, I need to return them.

Computer: OK. I can help you process your return in one of two ways. You can return the merchandize to the customer service desk at the nearest retail store or you can mail the items back to the distribution center that shipped it to you. The address for the distribution center is on the back of the invoice. Would you like me to find the address of the closest store or distribution center?

User: Yes

Computer: May I have your home zip code?

User: 53018

Computer: Was that 53018?

User: Yes

Computer: Which shall I look up, a distribution center or a store?

User: I'd like the closest store

Computer: I can get that information for you. The closest store to you is at the Brookfield Square Mall, located on the corner of Brookfield Road and Marland Road in Brookfield. Would you like the phone number for that store?

User: No I can get it

Computer: Is there anything else I can do for you today?

User: No

Computer: Very well, have a nice day.

The above exchange between a user and a VoiceToneSM service or the like involves receiving the user's zip code, utilizing that information to obtain the location of the nearest store to that zip code from a webserver, extracting the address for the store from the received information from the webserver, and incorporating that information into the spoken dialog in the TTS response to the user. The response may also provide the nearest two, three or more locations to the user. The above example illustrates the customer relations management benefits of the present invention. Preferably, this invention is applicable to the context of a standard webpage that is not written using VoiceXML.

In a standard interaction with a webpage, if the user fills in only a portion of the necessary information, a dynamic webpage is presented to the user, often identifying the input field via color or some other means to highlight what further information is needed. An aspect of the present invention comprises providing the input information received from the user into the form. When the response from the webpage indicates that further information in another input field is needed, that field is identified and a prompt is generated to retrieve from the user the remaining information to complete the form. In this regard, part of the form parsing 106 may occur off-line prior to a dialog with the user, and part of the parsing may occur dynamically while the user is interacting via a spoken dialog with the service.

FIG. 2A illustrates a webpage 200 from Mapquest®. This page shows input fields for an address 202, city 204 and state 206, as well as a zip code 208 and a get map button 210. Other links include a link to maps 212, driving directions 214 and a road trip planner 216. FIG. 2B illustrates the webpage presented if the user selects the driving directions 214 button in FIG. 2A. In this webpage, the user is presented with input fields for an address, city, state and zip code 222, as well as address, city, state and zip code fields 224 for the destination address. Other buttons may be a start button 218, end button 220 and a get directions 226 button. These facilitate use of the website.

FIG. 2C illustrates the response from the website when a user inputs a starting address 1600 Pennsylvania Avenue (the White House) to 50 Massachusetts Ave (Union Station, Washington DC). Information includes the total distance 1.62 miles, and total estimates time: 6 minutes. Detailed directions are provided 242 to the user and several options enable the user to receive the fastest route 252, the shortest route 244 or a route that avoids highways 246. The user can receive the directions via email 254 or the directions can be sent to a PCS phone 248.

The form parser will analyze either off-line or dynamically each of the webpages illustrates in 2A, 2B and 2C to generate the appropriate prompts and input tags to receive via a voice dialog the information. As an example, after receiving via the voice dialog the “from” and “to” addresses, the service will receive the directions webpage shown in FIG. 2C. The form parser 106 will then identify the various pieces of information on the webpage 250 and dynamically adjust the dialog to ask the user questions such as: “Would you like to receive the directions via email or by phone?” If the response is by email, then the service receives the email address from the user or from another database or storage location and completes the process. The service may provide the directions (steps 1-5 on the webpage 250) via the voice dialog.

The form parser may also utilize prior history from the voice dialog. For example, assume the user originally stated “I need directions from the White House to Union Station and then I need a hotel”. In this regard, the form parser 106 can utilize information contained in previous interactions with the user to intelligently parse the webpage information to determine what to incorporate into the dialog and what not to incorporate into the dialog. Then, when the webpage shown in FIG. 2C is presented, with hotel information in buttons 256 and 254, the dialog can be modified to present the user with the further information related to hotels on the webpage 250. In this manner, the service can intelligently interact with the user via the spoken dialog because the information that can be parsed from a webpage can be selectively presented to the user in the dialog.

FIG. 3 illustrates a method of interacting with web data via a natural language service. The method comprises parsing webpage content 302. This parsing can occur off-line or dynamically or a combination of off-line and dynamically during a spoken dialog. Off-line parsing occurs in advance of the spoken dialog wherein the web parse analyzes the website structure of a website to prepare the prompts and input tags that are available for use in the spoken dialog. The method then comprises receiving spoken information from a user (304). The information in this context is information that (1) may be parsed and inserted into an input field on a webpage; or (2) information used to search the WWW to find information for generating a response to the user. Next, the method comprises converting the spoken information to text (306) using known automatic speech recognition means and using the text to automatically fill a webpage form for use in a database search (308). Several examples of this step are discussed above. Another way of characterizing step (308) includes using the text to perform a more generalized websearch to locate information. Next, the method comprises extracting information from a dynamic webpage generated according to the database search (310) and communicating to the user, via synthetic speech, content from the extracted information (312). Other steps may be inserted including additional loops involving further dialog with the user to obtain further information for insertion in input fields to generate yet further dynamic webpages from which information is extracted for spoken presentation to the user.

In one aspect of the invention, the process returns to step (302) if another webpage is dynamically presented to the user for further parsing. Inasmuch as the user dialog and interaction with the WWW is dynamic, not all of these steps need to be performed for each interaction with the user.

One of the benefits of the present invention is that it can provide for a more open interaction with the user. Using VoiceXML, the user typically is asked a question each time for information related to an input field: “Please give me your street number”; “Please give me the city”; “Please give me your zip code” and so on. The present invention enables the user to provide a single utterance from which all the information is extracted for use in the website. Then, named entity extraction or some other means is used to identify the entities to extract from the speech. For example, the destination city, time of departure, originating city, etc.

In another aspect of the invention, the parser 106 may be modified to parse a website for more information than just input field content. Many websites may include text that identifies their address, their phone number, and email or other contact information. In this regard, if the user provides the following request “I need the nearest WalMart to my zip code, which is 12345.” The parser 106 may traverse the Walmart website to extract information such as headquarters address, and local store addresses and zip codes. All the extracted information from the website can be parsed and identified to enable the user to get information. A series of company webpages may be off-line parsed to identify company store location addresses and zip codes. This extracted information can be stored in a database 126. From the database information, the response to the user's request can be identified and presented to the user. In this way, the user can receive the answer to his question: the closest Walmart to the zip code 12345 via the spoken dialog. Thus, the information used to generate a response to a user inquiry can come from extracting information from webpage content off-line or extracting information in dynamically generated webpages after a form filling step.

As can be appreciated, while the above examples are location-based, any kind of interaction or any type of information that is sought may be utilized. Other examples include bank account access, on-line shopping, auctions, on-line travel reservations, etc. The principles of the present invention can apply to any type of WWW interaction and to any combination of interactions. For example, if an off-line parsing of a company website produces a company store address and zip code that is provided to a user in a zip code comparison search, the user at that point may desire directions. At this stage in the interaction, the service can then utilize a website such as Mapquest® to use current information (store address as the destination address) and retrieve other information (the user's address within the previously provided zip code area) via the spoken dialog to move from the stage of providing the information of the nearest store to the stage of providing directions to the store from the user's current location.

Embodiments within the scope of the present invention may also include computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or combination thereof) to a computer, the computer properly views the connection as a computer-readable medium. Thus, any such connection is properly termed a computer-readable medium. Combinations of the above should also be included within the scope of the computer-readable media.

Computer-executable instructions include, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. Computer-executable instructions also include program modules that are executed by computers in stand-alone or network environments. Generally, program modules include routines, programs, objects, components, and data structures, etc. that perform particular tasks or implement particular abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of the program code means for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps.

Those of skill in the art will appreciate that other embodiments of the invention may be practiced in network computing environments with many types of computer system configurations, including personal computers, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. Embodiments may also be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination thereof) through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

Although the above description may contain specific details, they should not be construed as limiting the claims in any way. Other configurations of the described embodiments of the invention are part of the scope of this invention. For example, the “service” described above may comprise a variety of structures or combination of structures or servers that perform the processes described to engage the user in an intelligent conversation utilizing web content. It is immaterial to the present invention regarding the location on a network where software modules may be processed. Accordingly, the appended claims and their legal equivalents should only define the invention, rather than any specific examples given.