System and Method for Marketing Over an Electronic Network
20210365992 · 2021-11-25
Inventors
Cpc classification
International classification
Abstract
A method, and system for implementing the method, comprising the steps of providing an object browser user supporting at least speech communication with the user, permitting user-controlled browsing of objects received through a computer communication network; downloading an object through the computer communication network in dependence on a user input, the object having an associated data file defining a predetermined vocabulary and a predetermined grammar; presenting the downloaded object through the object browser, wherein speech information received from the user is interpreted in conjunction with both the predetermined vocabulary and the predetermined grammar; and selectively generating at least one communication through the computer communication network, in dependence on the interpreted speech information.
Claims
1-20. (canceled)
21. A system for providing interactive content on a mobile device, the system comprising: a user interface configured to present information to and receive information from a user; a speech engine configured to: recognize a speech input and to control the user interface to present an interactive element, access at least one data store storing a plurality of interactive elements having an associated plurality of data files, individual ones of the associated data files defining a vocabulary and a grammar for user commands associated with a respective interactive element, and process a command received as the speech input, recognized by the speech engine and interpreted with respect to the vocabulary and grammar defined in a respective data file associated with the presented interactive element; and a port for communication with the Internet, the port configured to receive the interactive element, and one of the associated data files into the data store from the Internet, wherein the at least one data store is configured to store a user profile and information regarding an incentive associated with the interactive element being dependent on the user profile.
22. The system of claim 21 wherein in connection with the speech engine recognizing a speech input as corresponding to a user command of the data file associated with the presented interactive element, the user interface is updated to display content associated with the presented interactive element.
23. The system of claim 22 wherein updating the user interface to display content associated with the presented interactive element includes activating a URL link for the recognized user command of the data file to receive the content via the port.
24. The system of claim 21 wherein the speech engine monitors the interaction of the user with third party websites and communicates data associated with the user interaction to the at least one data store via the port.
25. The system of claim 21 further comprising a message delivery subsystem configured to present a message associated with the interactive element via the user interface to facilitate user interaction with the presented interactive element.
26. The system of claim 21 wherein the at least one data store storing the plurality of interactive elements is the memory of a remote distributor computing device enabling the plurality of interactive elements to be modified remote from the at least one speech engine.
27. The system of claim 21 wherein the user profile is used to predict engagement of the user with the interactive element.
28. The system of claim 21 wherein the user profile comprises information associated with the user including at least one of a lifestyle characteristic, a behavioral characteristic, a personality trait, demographic information, an interest, and an occupation.
29. The system of claim 21 wherein the speech engine is further configured to, upon recognizing the speech input as corresponding to a user command of the interactive element, update the user interface with at least one graphic for the user command included in a commands configuration file.
30. The system of claim 21 wherein upon recognizing the speech input as corresponding to a user command of the interactive element, activating a URL link associated with the user command included in the commands configuration file.
31. The system of claim 21 wherein the speech engine is configured to recognize the speech input including a plurality of variables.
32. The system of claim 25 wherein the message delivery subsystem is further configured to present a message associated with the interactive element via the user interface to facilitate user interaction with the presented interactive element.
33. The system of claim 25 wherein presenting the message includes using a text-to-speech engine to read the message to the user.
34. The system of claim 27 wherein the communication port is further configured to communicate data pertaining to interaction of the user with the interactive element to a remote advertising server.
35. The system of claim 21 wherein the data store storing the plurality of interactive advertisements is the memory of a remote distributor computing device enabling the plurality of interactive elements to be modified remote from the speech engine, the speech engine accessing the interactive element via a network.
36. A method comprising: presenting, via a user interface of a user device, an interface of a computer program and an interactive advertisement; and accessing, from a memory storing a plurality of interactive advertisements, the interactive advertisement selected from the plurality of interactive advertisements based at least in part on information associated with the user and an associated commands configuration file including a vocabulary and a grammar for user commands associated with the interactive advertisement; recognizing, via a speech-to-text engine, a speech input of the user as a user command for the interactive advertisement based at least in part on the vocabulary and grammar of the commands configuration file associated with the interactive advertisement; and tracking interaction of the user with the presented interactive advertisement via speech input.
37. The method of claim 36 further comprising monitoring the interaction of the user with third party websites and communicating data associated with the user interaction to the memory via a network.
38. The method of claim 37 further comprising communicating data pertaining to interaction of the user with the interactive advertisement to a remote advertising server.
39. The method of claim 36 wherein the information associated with the user is a user profile used to predict engagement of the user with the interactive advertisement.
40. The method of claim 36 wherein the information associated with the user includes at least one of a lifestyle characteristic, a behavioral characteristic, a personality trait, demographic information, an interest, and an occupation.
41. The method of claim 36 further comprising updating the user interface with at least one graphic for the recognized user command included in the commands configuration file upon recognizing the speech input as corresponding to the user command of the interactive advertisement.
42. The method of claim 36 further comprising activating a URL link associated with the user command included in the commands configuration file upon recognizing the speech input as corresponding to the user command of the interactive advertisement.
43. The method of claim 36 further comprising presenting a message associated with the interactive advertisement via the user interface to facilitate user interaction with the presented interactive advertisement.
44. The method of claim 36 wherein presenting the message includes using a text-to-speech engine to read the message to the user.
45. The method of claim 36 wherein the interface of the computer program is presented in a first portion of a display screen of the user interface of the user device, while the interactive advertisement is presented in a second portion of the display screen of the user interface of the user device.
46. The method of claim 45 wherein the first portion of the display screen is a browser window and the second portion of the display screen is a banner window.
47. The method of claim 36 wherein at least a portion of the interactive advertisement is presented via the user interface of the user device using speech.
48. An apparatus comprising: a user interface configured to display information to and receive information from a user; and at least one processing device, configured to operate a speech engine configured to recognize a speech input and to control the user interface to present a voice-interactive element; the at least one processing device is configured to access at least one data store, the data store configured to store a plurality of interactive elements having an associated plurality of data files, individual ones of the associated data files defining a vocabulary and a grammar for user commands associated with a respective voice-interactive element; and the at least one processing device further configured to process a command received as the speech input, recognized by the speech engine and interpreted with respect to the vocabulary and grammar defined in a respective data file associated with the presented voice-interactive element.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0016] The invention will now be described by reference to the drawings, in which:
[0017]
[0018]
[0019]
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
[0020] A preferred embodiment of the invention employs the “CoolInfo”™ program (CoolSoft, LLC, Vero Beach, Fla.), which is a voice recognition program that includes a speech to text engine and a text to speech engine. In order to subsidize use of this software, rendering it low cost or no cost, a feature is provided which presents advertising information to users. Advantageously, the advertisements employ speech enabled features of the program, though the technique is compatible with other types of software which do not themselves integrate speech engines, by employing an external speech engine or operating system or server functionality.
[0021] For example, the program may be distributed for free or at a nominal cost, and users are required to register the program to achieve full functionality. Optionally, a registration process requires the user to provide at least a valid email address for sending a registration key, and if desired the registration process can require the user to provide at least some basic demographic information. The distributor can use this information to build an opt-in mailing list which has value to potential advertisers. Alternately, the message delivery system avoids use of email, and instead presents messages and if registration is required, effectuates registration directly through the program or an associated component.
[0022] Optionally, a trial period can be offered to give the user time to try the program and complete the registration process. For example, the software may provide a thirty day fully functional trial period before the user must register. After thirty days, the program cannot be started unless it is validly registered. During the trial period, a trial startup dialog can be displayed to encourage the user to register the program and provide a link and dialog for registration. If desired, the trial startup dialog can display a banner ad in its window, along with a second banner ad when the program is launched in trial mode.
[0023] The registration process enables the distributor to collect basic information from users without having to send any personal information from the user's computer. In fact, it is desirable not to take any personal information from the user's computer in order to avoid it being labeled as spyware.
[0024] The system may also acquire information from the user, data stored on the computer, or through activities of the user. Instead of directly communicating this data externally, it may use this information to formulate queries of external databases, in a form which leaks only a small amount of information, with the response to the query then presented, or filtered and a portion presented to the user. The revenues may be generated by splitting a fee with the query engine host. Preferably, the fee is dependent, at least in part, on a user interaction with the advertisement and/or a commercial transaction resulting from the presentation. In such an incentive environment, the value of the user profile and its use to predict user interactions and/or transactions is exploited, while the compensation considered reasonable by an advertiser is significantly higher than compensation for mere presentation of ads.
[0025] The profiling elements are well known to those of ordinary skill in the art, and continually evolve, and need not be disclosed herein in detail. The profiles may be extracted from other local software datafile, or from a remote server.
[0026] In order to avoid excessive leakage of personal information from the system, a number of options are available. One is the generation of a high proportion of spurious communications, to obscure genuine communications, and thereby prevent useful analysis of the communication stream. Likewise, the information produced by the system may be highly granular, instead of composite, wherein the local software aggregates and filters the results, potentially from different sources, i.e., different search engines, or through different proxies to the same search engine.
[0027] The user interface shown in
[0028] The preferred program includes both a speech-to-text engine and a text-to-speech engine. With it, users can use speech commands to browse to selected websites and use certain search engines as specified in a configuration file, discussed in more detail below. The program may integrate or subsume a browser, so that Web pages can open in either or both of the program's own browser window or the default browser on the computer.
[0029] The preferred program has one or more configuration file that contains available or valid commands, which are read by the program when it starts, although it is also possible to refresh the configuration file at regular intervals, or obtain the valid commands from other sources than a configuration file. For example, the program may employ optical character recognition to read possible commands from a screen buffer, or read data files or operating system API streams. Using a configuration file that is external to the software program enables program content and advertising content to be modified regularly and easily without necessitating changes to the program. The configuration file is discussed in detail below.
[0030] Browsing and searching the Internet by speech is a feature of the preferred CoolInfo™ program that users will find valuable, and provides a medium for delivering advertising content. Web pages to be opened can be public third-party web pages, or web pages hosted by the distributor or sponsor that contain the desired content. If web pages are opened in the program's browser window, they can contain advertising medium in the form of banners, text or links. In the preferred program, the data for a command in the configuration file can also include text of a message to be read by the text to speech engine when the command is invoked so as to provide the user with a spoken message. This spoken message can be provided with each browse or search command whether the web pages are opened in the program's or the default browser. If a web page is opened in the program's browser, the configuration file can contain a command that uses the text to speech engine to read the contents of the program's browser window which may contain an advertising message which is read along with other information which is presumably of interest to the user. When reading the sponsor message directly from the page content (or using optical character recognition to extract the message from graphic content), it is then not necessary to include a separate text message to be read. Likewise, by extracting data from a normal advertisement (versus one specially encoded for this purpose), the system need not closely cooperate with the advertising server.
[0031] The software program is able to accept different types of variables in speech command inputs. For example, in the CoolInfo™ embodiment, the program is capable of two types of variables. A text variable is used with search engine search commands and a numeric variable is used, for example, to search the weather by zip code. The command syntax is:
Command+Search Variable
[0032] When the command is spoken, the program takes the words spoken following the command and adds them to the appropriate position in the URL.
[0033] For example, the command “Search Google Speech Recognition” returns the following URL to the computers default web browser:
http://www.google.com/search?hl=en&q=speech+recognition
[0034] The command “Weather Zip Code 32963” returns the following URL to the CoolInfo™ browser window:
http://coolsoftllc.com/coolinfo/weather/results.asp?zip=32963
[0035] The above link is to an .asp page which strips the desired information from the following link for presentation and reading in the CoolInfo™ browser window.
http://www.srh.noaa.gov/forecast/MapClick.php?CityName=Vero+Beach&state=FL&site=MLB
[0036] The text of the page presented in the program's browser window can include a sponsor message. The text to speech engine is used to read the sponsor message and page content, the latter of which is presumably of interest to the user. Various methods for striping and reformatting information on a web page for presentation in a different format are well known in the art and need not be discussed further here.
[0037] The software program contains at least one of a banner window and a browser window. The preferred program has both a banner window and a browser window. The graphic in the banner windows is specified in the at least one configuration file at startup and with each command. For example, the software has one banner window, and is designed to refresh the banner every two minutes to allow for rotation of banners if desired. The refresh interval can also be specified in the configuration file, or derived externally. For example, the banner itself may encode its duration.
[0038] Each speech command in the preferred program can be programmed to display its own banner if desired, and this is specified in the same configuration file that contains the speech commands. The hosting website tracks impressions and clicks on the banners using methods that are well known in the art. Page views of web pages hosted by the distributor can also be tracked. The software may be designed to, or not to, track views and clicks to third party websites initiated from a link other than from a banner in the banner window or a web page hosted in an internal browser window. In the former case, the program risks being labeled as spyware. Thus, the software can be designed to report clicks from any links in any browser window. Likewise, if it is desirable to track conversion, known methods in the art for tracking conversions can be used.
[0039] One of the objects of this invention is to have features and functionality in the software program that makes it desirable for users to keep the program running regularly, so as to maximize exposure for advertising sponsors. For example, the Windows calculator to be operated by speech, and/or a User Commands feature that lets users create their own speech commands to open documents and files, run programs, browse webpages, make the computer speak and other command functions which can be run on the user's computer.
[0040] In order to enable User Commands functionality, a User Commands configuration file is maintained which contains all the information required by the program to build grammars for, and process speech commands created by, the user. The information in this User Commands configuration file is similar to information in the program configuration file discussed below. Optionally, a User Command can include command parameters for the operating system and/or programs. The preferred program uses a vertical slash “I” to separate the command and the parameter. In this preferred program, the user can create a User Command to run a home automation program, and pass information to this program, for example a command to turn on a specific light module or run a macro. The home automation program may communicate with automated devices, for example, through wired networks, so-called wireline networks (powerline), wireless networks (Wireless Ethernet 802.11x, Bluetooth, ZigBee, WiMax, Wireless USB, UWB, or the like), USB, Firewire (IEEE-1394), optical/infrared (e.g., IRdA), ultrasonic, or other communication platform. Advantageously, speech communicated through remote devices and/or telephony equipment for interaction with the program.
[0041] In an alternate embodiment, program commands and User Commands can function without speech. The commands are activated from at least one of links in a list and buttons displayed with the user interface or in the program's browser window.
[0042] In order speech enable the calculator, a program command file (calc.lst) is installed locally on the computer. This file contains the calculator speech commands and is used to build grammars for these speech commands which are then used by the program and the speech engine whenever the user speaks the “start calculator” program command. Optionally, a web page with instructions for using the Windows calculator with speech is loaded in the program's browser window as one of the command steps used to start the calculator. When the calculator command is invoked, the program then directs the user's speech input to the calculator program. Alternately, the calculator may be presented directly in a web page using a local server, or as a Java applet. Similarly, an instruction page can be loaded with other features if desired, and also if desired can be read by the text to speech engine.
[0043] Another possible program function is a look up contacts feature. When this feature is invoked, the program reads the default address book on the computer and builds command grammars for each contact. Optionally, when the lookup feature is invoked, the program can display a list of contacts in its browser window based on the command grammars. When the user speaks a command including the name of a contact, the program displays specified fields for the contact in the programs browser window. As with other information displayed in the programs browser window, a command can be issued for the text to speech engine to read the contact's information as displayed. The information may also automatically populate fields in a web page or program interface screen.
[0044] An optional “What Can I Say?” dialog may be made available. This dialog displays a list of speech commands available to the user. Optionally, each command displayed in the “What Can I Say?” dialog has a tool tip with more information. The user moves the pointer over the command to display the tool tip. When included in the preferred program, the “What Can I Say?” feature is intended to make it easier for users to run the program, thereby increasing the probability of more frequent and regular use. Other types of “help” or user assistance may also be provided, such as “wizards”, tutorials, frequently asked questions (FAQ), etc. Each of these user assistance features, in turn, may be speech enabled for input and/or output. Likewise, each interaction with the user affords the possibility of presenting an advertisement, and/or determining a user context to ensure delivery of relevant subsidy content. The availability of subsidy, in turn, incentivizes high quality user assistance which is viewed by the user as a valuable resource. Indeed, the speech enabled user assistance for performing various tasks or providing computer-based instruction may be a principal function of the software, wherein the tasks to be assisted with are extrinsic to the program.
[0045] As previously discussed, using a configuration file that is external to the program allows the advertising content and some of the features of the software program to be controlled externally, which enables the distributor to modify them regularly to add commands and features, and manage advertising content for the software program.
[0046] In the preferred embodiment, two configuration files are utilized and are hosted by the distributor. The first configuration file is the “launch commands” file with contains commands to execute upon startup. The second configuration file is the program commands configuration file with contains the speech commands for browsing and searching and the advertising content (banner and spoken message) that will be displayed with each command. The preferred program uses the information in this commands configuration file to build grammars for speech commands that will be available to the user, Both configuration files are read when the program starts, although in alternate embodiments they could be read regularly at specified intervals. The launch commands file is read and not downloaded, and the program commands file is read and saved locally. If the program starts when it is not connected to the Internet, the launch commands will not run, but the program commands configuration file that was last downloaded will be read, and when the computer connects to the Internet it will be possible to run these commands without starting the program. However, in alternate embodiments, it might be desirable to download both configuration files locally, or not to download either and require the user's computer to be connected to the Internet before using the program. It is also possible and may be desirable to use only a single configuration file, or to use multiple configuration files for various types of commands and features.
[0047] The software program can use a default path for its command configuration files, and can employ a method for identifying sponsors and specifying the path for the commands configuration file(s) to be used by a particular sponsor. The preferred embodiment employs both a default path, and if a sponsor ID file is present uses that information to determine the path for the launch and program configuration files. This enables the distributor to license copies of the software program for distribution directly by advertising sponsors, and to customize the content to be delivered by the program by copies distributed by each of such sponsors. Thus, additional revenues can be derived from licensing copies of the program which deliver customized content.
[0048] The at least one program commands configuration file contains a list of speech commands, the URL link for each command, whether the URL link is opened in the software program or the default browser, and the at least one banner to be displayed. The program commands configuration file can also specify other commands parameters, such as read, sleep, focus.
[0049] The following are the command syntax and commands that are preferably available. Typically, commands have multiple steps. The syntax for each line in a command group is:
Speech Command=Command Step
[0050] The speech command (the text to the left of the equal “=” sign) is generally identical for each step in a command, and the text portion may be case sensitive.
[0051] The following is a list of available command steps in a preferred embodiment. This list is not intended to be limiting, and other embodiments can have additional or different command steps. [0052] Browse,URL: Opens the URL in the computers default web browser. [0053] CoolBrowse,URL: Opens the URL in the CoolInfo window. [0054] Banner,URL: Opens the URL for the banner in the CoolInfo banner window. [0055] Read: Uses the text to speech engine to reads the contents of CoolInfo [0056] Sleep,Seconds: Pauses the specified number of seconds before proceeding to the next command step. [0057] Focus: Brings CoolInfo to the foreground with the active focus. [0058] Speak,Phrase: Uses the text to speech engine to read the phrase. [0059] Tool Tip: If a “What Can I Say?” dialog and corresponding tool tips are employed as a feature, a separator is used in any step in the command group followed by text for a tool tip.
[0060] The following is an example of a speech command with multiple steps. This command opens the specified banner link in the banner window, opens the www.nytimes.com webpage in the default browser, sleeps for 60 seconds to give the user time to view the target web page in the default browser, and then brings the program to active focus so the user can see the banner. Optionally, a Speak command could be included at the end of this command group (after the focus command) to read a message inviting the user to click on the banner,
New York Times=banner,
http://www.coolsofffic.com/coolInfo/CoolInfoBanners/index.asp¼Say “New York Times” to open the New York Times Webpage
New York Times=browse,http://www.nytimes.com
New York Times=sleep,60
New York Times=focus
[0061] In the preferred embodiment, the location of the URL where the commands configuration files are kept is secure, to protect it from tampering, and the software program runs only commands, as indicated above, that deliver content and manage the software program. These security measures prevent the software program from being used for delivering malicious content to users in the event the security of the commands configuration file(s) is compromised and the content is tampered with by a malicious third party.
[0062] A sample a launch commands configuration file and a program commands configuration file as used with the preferred embodiment are included below in
[0063] It will be appreciated that the above described methods may be varied in many ways, including, changing the order of steps, and/or performing a plurality of steps concurrently. It should also be appreciated that the above described description of methods and apparatus are to be interpreted as including apparatus for carrying out the methods, and methods of using the apparatus, and computer software for implementing the various automated control methods on a general purpose or specialized computer system, of any type as well known to a person or ordinary skill, and which need not be described in detail herein for enabling a person of ordinary skill to practice the invention, since such a person is well versed in industrial and control computers, their programming, and integration into an operating system. For the main embodiments of the invention, the particular selection of type and model is not critical, though where specifically identified, this may be relevant. The present invention has been described using detailed descriptions of embodiments thereof that are provided by way of example and are not intended to limit the scope of the invention. No limitation, in general, or by way of words such as “may”, “should”, “preferably”, “must”, or other term denoting a degree of importance or motivation, should be considered as a limitation on the scope of the claims or their equivalents unless expressly present in such claim as a literal limitation on its scope. It should be understood that features and/or steps described with respect to one embodiment may be used with other embodiments and that not all embodiments of the invention have all of the features and/or steps shown in a particular figure or described with respect to one of the embodiments. That is, the disclosure should be considered combinatorially complete, with each embodiment of each element considered disclosed in conjunction with each other embodiment of each element (and indeed in various combinations of compatible implementations of variations in the same element).
[0064] Variations of embodiments described will occur to persons of the art. Furthermore, the terms “comprise,” “include,” “have” and their conjugates, shall mean, when used in the claims, “including but not necessarily limited to.” Each element present in the claims in the singular shall mean one or more element as claimed, and when an option is provided for one or more of a group, it shall be interpreted to mean that the claim requires only one member selected from the various options, and shall not require one of each option. The abstract shall not be interpreted as limiting on the scope of the application or claims. It is noted that some of the, above described embodiments may describe the best mode contemplated by the inventors and therefore may include structure, acts or details of structures and acts that may not be essential to the invention and which are described as examples. Structure and acts described herein are replaceable by equivalents which perform the same function, even if the structure or acts are different, as known in the art.
[0065] Therefore, the scope of the invention is limited only by the elements and limitations as used in the claims.