Users often consult resources such a websites or use mobile “apps” to research information regarding locations to which they will be traveling. For example, when a user is planning to travel to a new or unfamiliar location, and is unsure how the general weather/climate will be in this location, the user will often look at the weather forecast. While the weather forecast may provide numeric information and other raw data regarding the weather, the weather forecast does not compare the weather in the new location with the weather in a location where, e.g., the user lives, is located or has a familiarity. As such, users do not always know how “different” the weather will be in the new location.
Systems and methods for providing a comparative weather phrase engine for providing a comparative weather phrase engine that takes two (or more) locations, compares information associated with the locations, (e.g., average high temperatures, average low temperatures, and average precipitation) and generates a narrative phrase information the user how one location differs from another location. The comparative weather phrase engine may also compare weather at a location at different timescales.
In accordance with an aspect of the present disclosure, a method for generating a comparative phrase by a service provider having a web services interface including at least one server is described. The method may include providing information regarding first location; receiving an indication to compare a second location to the first location; receiving an identification of the second location; generating a phrase indicative of a comparison of the first location to the second location, the phrase being generated in accordance with rules associated with first conditions at the first location and second conditions at the second location; and providing information regarding the second location and the phrase.
In accordance with other aspects of the present disclosure, a method for generating a phrase indicative of a comparison of a first location to a second location is disclosed. The method may include defining a plurality of phrase fragments; defining a set of rules for comparing conditions the first location to the second location; receiving an indication of the first location and the second location; determining first conditions at the first location and second conditions the second location; generating, from a subset of the plurality of phrase fragments, the phrase in accordance with the rules, the first conditions and the second conditions; and providing the phrase together with information associated the second location or the second conditions.
In accordance with yet other aspects of the present disclosure, a system for generating a phrase indicative of a comparison of a first location to a second location is disclosed. The system may include a web services interface having a server, a database, and a phrase engine, the phrase engine including a plurality of phrase fragments and a set of rules for comparing conditions at the first location to conditions at the second location; and an application executing on a mobile computing device. Indications of the first location and the second location may be received from the mobile computing device and the web services interface determines first conditions at the first location and second conditions the second location. The web services interface may generate the phrase from a subset of the plurality of phrase fragments, the rules, the first conditions and the second conditions. The phrase may then be presented in a graphical user interface associated with the application.
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
The components in the drawings are not necessarily to scale relative to each other. Like reference numerals designate corresponding parts throughout the several views.
The present disclosure presents implementations for providing a comparative weather phrase engine that takes two (or more) locations, compares information associated with the locations, (e.g., average high temperatures, average low temperatures, and average precipitation) and generates a narrative phrase information the user how one location differs from another location.
As shown in
The web services interface 104 may provide a broad range of functions, such as providing content to a client device such as computing device 116. The computing device may be a mobile computing device, such as that shown in
In some implementations, the content may be location-specific, based on determined location of the computing device 116. The location may be provided by the user, e.g., by providing a geographic location such as a city, state, country, ZIP-code. In some implementations, the location may be provided automatically, such as by a location services mechanism utilizing the global positioning system (GPS) or other location-based methodologies.
A network 118 may be any communications network, including the Internet and/or mobile networks, such as GPRS, EDGE, WCDMA, 3G, LTE. The network may include a WAP Gateway 112 that serves as proxy or a service enabler located in a service layer, between the Internet and mobile networks. The WAP protocol runs like a tunnel from the mobile via radio communications towards the connectivity layer, the control layer and finally the service layer. The WAP gateway 112 operates as a protocol converter between WAP protocols and common HTTP/TCP used by web servers on the Internet, such as the web services interface 104. As illustrated, the gateway 112 may communicate to the computing device 116 over one or more cell towers 114 associated with the network provider (e.g., AT&T, Verizon Wireless, Sprint, T-Mobile, etc.) of the computing device 116. The service layer may include other service enablers for internet mobile applications.
External data sources 124 may be communicatively coupled the service provider 102 through the network 118. The external data sources 124 may include media that is used to populate web pages and other requests made to the web services interface 104. For example, a request by the computing device 116 for a web page may trigger additional requests to the external data sources 124 for advertising creatives (e.g., images and other rich media). The weather advertising creatives may be associated with the web page requested by the computing device 116 by a location identifier, such that the data provided by the external data sources 124 is geographical and/or temporally relevant to the request. Other items of interest may be included in the external data sources 124, such as historic sites, parks and recreation areas, sporting venues, etc. Similarly, this information may be geographically coded and communicated to computing devices 116.
At 206, an indication is received to compare locations. For example, as illustrated in the user interface of
At 210, a phrase is generated that compares the second location with the first location. As discussed above, the phrase engine 108 may generate a phrase that is a comparison of the general weather conditions at the second location with the first location, where the first location is generally known or familiar to the user. Table 1, below, describes a set of rules that may be applied to compare location 1 (e.g., location that the user is in or familiar with) with location 2 (e.g., the location to be compared with location 1). For example, location 2 maybe a travel destination.
In accordance with the present disclosure, the comparison phrase is generated from one or more phrase fragments that are concatenated based on comparison of the monthly average high/low temperature (T), a precipitation amount (P) and a snowfall amount (S) between location 1 and location 2. It is noted that any data other than, or in addition to, the monthly high/low temperatures, the precipitation amount, and the snowfall amount may be used to generate a phrase representative of a comparison of weather conditions between location 1 and location 2. For example, for weather conditions, relative humidity, cloud coverage conditions, UV index, etc. may be used in the comparison logic. For other comparisons, traffic information, tourist information, event information, etc., may be used in the comparison logic to compare any predetermined aspects of a second location to a first location.
At 212, the second location is presented in a graphical user interface together with the generated phrase. As shown in
In accordance with other aspects of the present disclosure, advertising 604 may be presented that is related to, e.g., location 2. A creative 604 may be presented that is associated with an advertiser or advertising campaign that is selected based on information received or used by the process 200. For example, the advertising may be triggered by the weather at location 2 such that an advertisement for outerwear is presented if the weather in location 2 is cooler than location 1. Any business logic may be applied to present advertising 604 to a user.
In accordance with yet other aspects, a user may specify dates of travel to location 2. In accordance with the actual travel dates, the phrase 602 may be updated in accordance with forecasted weather conditions to better represent a comparison of the weather in location 1 to the weather in location 2.
In accordance with yet other aspects, the comparative weather phrase engine may compare weather at a location at different timescales. For example, after six consecutive days of cloudy, rainy weather in Atlanta, the phrase engine may note improving weather with an indication that the weather will be dryer over the weekend.
Example Computing Devices 116
The computing device 116 may be configured in many different ways. For example, the computing device 116 may be a mobile phone, a PDA, a mobile computer, and the like.
The keypad 708 may be a push button numeric dialing pad (such as on a typical telephone), a multi-key keyboard (such as a conventional keyboard). The display 706 may be a liquid crystal display, or any other type of display commonly used in computing devices. The display 706 may be touch-sensitive, and may act as an input device.
One or more native application programs 712 may be loaded into the memory 704 and run on the operating system 710. The computing device 116 may also include a non-volatile storage within memory 704. The non-volatile storage may be used to store persistent information which should not be lost if computing device 116 is powered down. A web browser 714 provides an environment by which a user may access information over the network 118 by entering a Uniform Resource Locator (URL) of, e.g., the service provider 102 and/or the web services interface 104. Alternatively, the URL may be of any server accessible on the network 118 by the computing device 116.
The computing device 116 includes a power supply 716, which may be implemented as one or more batteries. The power supply 716 might further include an external power source, such as an AC adapter or a powered docking cradle that supplements or recharges the batteries. The computing device 116 may include an audio interface 722 to provide audible signals to and receive audible signals from the user. For example, the audio interface 722 may be coupled to a speaker for providing audible output and to a microphone for receiving audible input, such as to facilitate a telephone conversation.
Computing device 116 also includes communications connection(s) 720, such as a wireless interface layer, that performs the function of transmitting and receiving communications, or a wired interface, such as a USB connection between the computing device 116 and another computing device. The communications connection(s) 720 facilitates wireless connectivity between the computing device 116 and the outside world. The communication connection 720 may be configured to connect to any type of wireless network. According to one implementation, transmissions to and from the communications connection(s) 720 are conducted under control of the operating system 710.
The computing device 116 may include a camera 724 as an input device. The camera 724 may be activated through an action on the keypad 708 or touch-sensitive display 706. The camera 724 may include a multi-megapixel charge-coupled display (CCD) imaging device. Pictures or video taken by the camera may be stored in the memory 704.
The computing device 116 may include a GPS receiver 726 that receives signals from one or more GPS satellites 122. By locating several GPS satellites 122, the GPS receiver 726 may determine the distance to each satellite and use this information to deduce the location of the computing device 116. This operation is based on a mathematical principle called trilateration. If the computing device 116 does not include a GPS receiver 726, other methods of trilateration may be used by determining radio signal strengths from ground based LBS tower(s) 120 or using information from the network 118.
With reference to
The system 800 may have additional features/functionality. For example, the system 800 may include additional storage (removable and/or non-removable) including, but not limited to, magnetic or optical disks or tape. Such additional storage is illustrated in
The system 800 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by the system 800 and includes both volatile and non-volatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media.
Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Memory 804, removable storage 808, and non-removable storage 810 are all examples of computer storage media. Computer storage media includes, but is not limited to, RAM, ROM, electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the system 800. Any such computer storage media may be part of the system 800.
The system 800 may also contain communications connection(s) 812 that allow the device to communicate with other devices. Communications connection(s) 812 is an example of communication media. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared and other wireless media. The term computer readable media as used herein includes both storage media and communication media.
The system 800 may also have input device(s) 814 such as keyboard, mouse, pen, voice input device, touch input device, etc. Output device(s) 816 such as a display, speakers, printer, etc. may also be included. All these devices are well known in the art and need not be discussed at length here.
It should be understood that the various techniques described herein may be implemented in connection with hardware or software or, where appropriate, with a combination of both. Thus, the methods and apparatus of the presently disclosed subject matter, or certain aspects or portions thereof, may take the form of program code (i.e., instructions) embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the presently disclosed subject matter. In the case of program code execution on programmable computers, the computing device generally includes a processor, a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device. One or more programs may implement or utilize the processes described in connection with the presently disclosed subject matter, e.g., through the use of an API, reusable controls, or the like. Such programs are preferably implemented in a high level procedural or object oriented programming language to communicate with a computer system. However, the program(s) can be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language, and combined with hardware implementations.
Although example embodiments may refer to utilizing aspects of the presently disclosed subject matter in the context of one or more stand-alone computer systems, the subject matter is not so limited, but rather may be implemented in connection with any computing environment, such as a network or distributed computing environment. Still further, aspects of the presently disclosed subject matter may be implemented in or across a plurality of processing chips or devices, and storage may similarly be effected across a plurality of devices. Such devices might include personal computers, network servers, and handheld devices, for example.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described previously. Rather, the specific features and acts described previously are disclosed as example forms of implementing the claims.
The present application claims priority to U.S. Provisional Patent Application No. 61/828,160, filed May 28, 2013, entitled “Comparative Phrase Engine for Weather and Climatology,” which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61828160 | May 2013 | US |