WO2019070412A1 - System for generating and utilizing geohash phrases - Google Patents

System for generating and utilizing geohash phrases Download PDF

Info

Publication number
WO2019070412A1
WO2019070412A1 PCT/US2018/051980 US2018051980W WO2019070412A1 WO 2019070412 A1 WO2019070412 A1 WO 2019070412A1 US 2018051980 W US2018051980 W US 2018051980W WO 2019070412 A1 WO2019070412 A1 WO 2019070412A1
Authority
WO
WIPO (PCT)
Prior art keywords
phrase
geohash
region
word
words
Prior art date
Application number
PCT/US2018/051980
Other languages
French (fr)
Inventor
James O'FLAHERTY Jr.
Original Assignee
Precision Location Intelligence, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Precision Location Intelligence, Inc. filed Critical Precision Location Intelligence, Inc.
Publication of WO2019070412A1 publication Critical patent/WO2019070412A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries

Definitions

  • FIG. 1 illustrates an example geohash-phrase system according to some implementations.
  • FIG. 2 illustrates another example geohash-phrase system according to some implementations.
  • FIG. 3 illustrates an example table showing the relationship of a location to a geohash and a geohash character code to a phrase word according to some implementations.
  • FIG. 4 illustrates an example table showing the relationship of a location to a geohash and a geohash character code to multiple geohash-phrases according to some implementations.
  • FIG. 5 illustrates an example geohash-phrase region according to some implementations.
  • FIG. 6 illustrates an example multi-level geohash-phrase regions according to some implementations.
  • FIG. 7 illustrates another example geohash-phrase region according to some implementations.
  • FIG. 8 illustrates an example geohash-phrase region associated with a famous landmark according to some implementations.
  • FIG. 9 illustrates an example geohash-phrase region associated with a location represented by multiple geohash-phrase regions according to some implementations.
  • FIG. 10 illustrates an example geohash-phrase region wherein each sub- region in the same position has the same phrase word assigned according to some implementations.
  • FIG. 11 illustrates an example geohash-phrase region wherein each sub- region in the same position may have different phrase word assigned according to some implementations.
  • FIG. 12 illustrates an example with two adjacent geohash-phrase regions according to some implementations.
  • FIG. 13 is an example flow diagram showing an illustrative process for generating a geohash-phrase dictionary according to some implementations.
  • FIG. 14 is an example flow diagram showing an illustrative process for assigning phrase words to a geohash region according to some implementations.
  • FIG. 15 is an example flow diagram showing another illustrative process for assigning phrase words to a geohash region according to some implementations.
  • FIG. 16 illustrates an example architecture of one or more servers associated with an geohash-phrase system according to some implementations.
  • FIG. 17 illustrates example components of one or more user devices hosting a client side application associated with the geohash-phrase system according to some implementations.
  • This disclosure includes techniques and implementations associated with a geohash-phrase system for utilizing phrases or phrase words as a geohash in a manner that improves a human' s ability to memorize and recall location based information.
  • a geohash-phrase system for utilizing phrases or phrase words as a geohash in a manner that improves a human' s ability to memorize and recall location based information.
  • the world is divided into multi-level regions that are assigned a hash tag or code.
  • a computer system is then able to quickly locate or perform operations associated with a desired location in response to receiving the hash code as an input.
  • the regions may be based on longitude and/or latitude coordinates of the globe.
  • atop-level region may include an approximately 97 miles square area.
  • the top-level region may be divided into 1,024 approximately 3 miles square regions.
  • the computer system may perform operations, analysis, or other computations based on allocation at various levels of specificity.
  • the geohash-phrase regions may include six levels with the smallest region being approximately 3/16 th of an inch square and the largest region being approximately 97 miles square, in some examples.
  • each region may be assigned a location indicated by either the four bounding corners or a center location within the region.
  • Each region may also be assigned a hash code as discussed above.
  • each of the regions may be assigned a geo-hash phrase.
  • the geohash-phrase may include phrase words pulled from a dictionary (such as an English dictionary for English speakers, a Spanish dictionary for Spanish speakers, and so forth).
  • the phrase words assigned to the geohash phrase regions may be selected for improved searching or user interaction with computing systems.
  • the geohash-phrases may be selected from a pool consisting of nouns, verbs, and adjectives within the selected dictionary.
  • the system may allow individuals to memorize sentences associated with a location and to allow the sentence to be entered as a user input into a computing system without having overlapping phrase words.
  • a region may be represented by the geohash-phrase "dog kicks big man purple hydrant” which in turn may correspond to a geohash of "9gv4sznppj lze”.
  • a user may in some cases memorize the geohash-phrase as a sentence, such as "the dog kicks a big man into a purple hydrant”.
  • the user input terms “the”, “a”, “into”, “a”, may be ignored by the computer system as the terms are not in the geohash-phrase dictionary.
  • the geohash-phrase system allows the user to memorize sentences rather than concatenated phrase words or letter number sequences common in hash codes.
  • each phrase word assigned to a region differs from phrase words assigned to other regions, such that the location may be determined irrelevant of the order the phrase words were entered as an input or communicated.
  • the geohash-phrase "the dog kicks a big man into a purple hydrant” would be the equivalent to the geohash-phrase "the hydrant kicks a purple dog into a big man”.
  • phrase word may be used in multiple languages in a natural way as order and connecting phrase words (e.g., adverbs, prepositions, articles, etc.) have no bearing on the system's ability to identify and determine location information or regions.
  • the geohash-phrases may also be selected to align generally with the human cognitive and recognition ability.
  • the phrase words may be assigned in an order that aligns with the sentence structure of the associated language.
  • regions may be assigned phrase words in the order that reflects typical sentence structure.
  • the order may be noun, verb, adj ective, noun, verb, adjective, and so forth.
  • the geohash-phrase system may allow an individual or system to provide a level of specificity associated with a location. For example, by using a geohash-phrase "dog” the system may communicate a region of approximately 100 miles square. However, using a geohash-phrase "dog kicks” the system may communicate a region of approximately 3 miles square. Likewise, inputting a geohash- phrase "dog kicks big man” may allow the user of the system to specify a region of approximately 15 feet square.
  • multiple geohash-phrases may be assigned to the same region.
  • the phrase word "Eiffel” and the phrase word "Seine” may be assigned to the same region within Pairs. In this manner, different people may memorize different geohash-phrases for the same region.
  • the system discussed herein may allow users to assign new or unused phrase words to a region to create their own geohash-phrases for a region.
  • the system may include a voting system, payment system, or other selection system that may be used to assign names to regions.
  • each region may be assigned names based at least in part on the population, landmass, and/or usage statistics of phrase words within a selected dictionary.
  • the geohash-phrase system may assign regions with zero population (such as regions entirely within the ocean) a phrase generated by concatenating multiple phrase words within a dictionary together. For example, "monkey-blue-wind” or "large-sheep-sleeps" may be assigned to a top level or approximately 97 miles square region. In this manner, regions with zero population that are unlikely to be the result of a search or analysis by the system may be assigned longer phrases but still include phrase words in a manner that a human is able to more easily memorize than the standard address system used today.
  • the system may then assign phrase words to a region based on the highest level of usage within the dictionary (e.g., a phrase word that is unassigned and most commonly used are assigned next) to the most populated areas and in cases where the population is zero or a tie between two regions, the system may assign the most commonly used and unassigned phrase words based on landmass. For example, a region that is 90% water may be assigned a phrase word after a region that is 80% landmass.
  • FIG. 1 illustrates an example geohash-phrase system 100 according to some implementations.
  • the geohash-phrase system 100 may include a remote or cloud based system 102 operating as a cloud-based service 104 for one or more applications operating on local devices 106(1)-(K) proximate to a user 108(1)-(L).
  • the cloud-based geohash-phrase service 104 may operate on one or more cloud-based resources 110.
  • the cloud-based resources 110 may include one or more communication interfaces 112 in communication with the local devices 106 via one or more networks 114 (such as the Internet).
  • the cloud-based resources 110 hosting the cloud-based geohash-phrase service 104 may also include one or more processors 116 as well as computer-readable storage media 118.
  • processors 116 may also include one or more processors 116 as well as computer-readable storage media 118.
  • modules such as instructions, data stores, and so forth may be stored within the computer-readable storage media 118 and configured to execute on the processors 116. For example, a location determining instructions 120, a phrase identification instructions 122, phrase pruning instructions 124, phrase assigning instructions 126.
  • the computer-readable media 118 may store data, such as location data 128 (e.g., latitude-longitude, size, landmass, population density, GPS coordinates, and/or other data associated with each region), geohash data 130 (e.g., hash codes or tags assigned to regions), and geohash-phrase data 132, as well as other data.
  • location data 128 e.g., latitude-longitude, size, landmass, population density, GPS coordinates, and/or other data associated with each region
  • geohash data 130 e.g., hash codes or tags assigned to regions
  • geohash-phrase data 132 geohash-phrase data 132
  • the location determining instructions 120 may be configured to receive position data 134 from one or more of the local user devices 106(1)-(K).
  • the position data 134 may include information or data usable to determine a desired position relative to the Earth.
  • position data 134 may include coordinates, data collected from sensors such as inertial measurement units (IMU), global positioning system
  • the location determining instructions 120 may also be configured to receive location data 140 from one or more of the local user devices 106(1)-(K).
  • the location data 140 may also include information or data usable to determine a desired position relative to the Earth.
  • location data 140 may include coordinates, regions, or locations selected on by the user 108 via a user interface map displayed on the device 106, names of locations (e.g., landmarks, cities, countries, etc.) entered by the user 108, among other data representative of a location.
  • the location data 140 may be representative of a current location of the user 108, while in other cases, the location data 140 may be representative of a desired location (e.g., an individual in Austin, Texas is viewing information useful for planning a trip to Paris, France).
  • a desired location e.g., an individual in Austin, Texas is viewing information useful for planning a trip to Paris, France.
  • the location determining instructions 120 may also be configured to receive a hash code 142 from one or more of the local user devices 106(1)- (K).
  • the user 108 may enter a hash code 142 or the device 106 may convert a user input into a hash code 142 to be provided to the geohash-phrase system 104 to improve processing speed associated with determining a location.
  • the location determining instructions 120 may cause the cloud-based geohash phrase system to translate the position data 134, location data 140, and/or the hash code 142 to a geohash phrase 136 and/or information 138 associated with the desired location, which may be returned to the device 106.
  • the location determining instructions 120 may receive "Paris France" as a use input.
  • the location determining instruction 120 may determining a region associated with Paris France using the location data 128. Once the region is determined, the location determining instructions 120 may determine the geohash phrase 134 via a stored mapping or table between the geohash phrase data 132, the location data 128, and the geohash data 130. In other examples, the location determining instructions 120 may determine the geohash for the region represented by the user input Paris France and then convert the geohash into the geohash phrase 136.
  • the information 138 associated with the desired location may include various types of information useful to the user 108 when viewing the region represented by the geohash phrase 136.
  • the information 138 may include overlays, such as elevation maps, weather/storm patterns, population density maps, demographic information, economic information, traffic information, road maps, other transpiration maps.
  • the information 138 may also include other information such as landmark information, business information, tourist attractions, ratings, trend data, emergency care data, etc.
  • the cloud-based geohash phrase system 104 may be configured to access third party data stores and systems (not shown) in order to provide the information 138 to the user device 106.
  • the cloud-based geohash phrase system 104 may utilize the location data 128 to access weather and/or traffic data available via various third party news and government systems.
  • the cloud-based geohash phrase system 104 may provide the geohash code to the user device 108 in lieu of the geohash phrase 136.
  • an application operating on the device 106 may be configured to convert the geohash code to the geohash phrase 136 prior to displaying the information 138 to the user 108.
  • the user 108 may input phrase data 140 (e.g., a geohash phrase, a partial geohash phrase, etc.).
  • the phrase identification instructions 122 may utilize the geohash phrase data 132 and/or the location data 128 to identify the region or location associated the phrase data 140.
  • the geohash phrases for each top-level region differ from each other. Further, each sub- level region within the region differ from each other and so forth and so on. Additionally, in some example, only nouns, verbs, and adjectives are used as phrase words associated with a region.
  • the user 108 may enter the phrase data 140 in various formats. For example, the geohash-phrase "the dog kicks a big man into a purple hydrant" would be the equivalent to the geohash-phrase "the purple hydrant kicks a big dog into a man”.
  • the user 108 may also specify a level granularity with respect to the region (e.g., the user 108 may select between levels of varying size - from regions of approximately 97 miles square to regions as small as a few inches square). For example, by adding or removing phrase words from the phrase data 140 being provided as a geohash phrase to the cloud-based geohash phrase system 104, the user 108 may determine the granularity or size of the region being selected. For instance, each noun, verb, or adjective added to the phrase data 140 results in a smaller region being selected by the phrase identification instructions 122.
  • an application operating on the device 106 may be configured to provide the location data 140 (e.g., latitude longitude coordinates), the hash code 142, and the phrase data 140 to the geohash phrase system 104 with each location based query being placed.
  • the geohash phrase system 104 may also be configured to return the location data 140, the geohash code 142, and the geohash phrase 136 as part of each response to a query.
  • phrase words usable to generate geohash phrases may become obsolete or take on alternative meanings over time as language evolve and change. In these examples, it may no longer make sense to maintain a particular phrase words association to a region. For instance, a phrase word may take on a derogatory meaning and should be replaced as the phrase word in the geohash phrase representing a region.
  • the phrase running instructions 124 may be configure to determine any changes in phrase words meaning or relevance.
  • the phrase running instructions 124 may apply a relevancy score or usability score to each phrase word, and once a phrase word falls below a threshold score replace the phrase word as representative of a region using an unassigned phrase word having a score greater than the threshold or greater than a second threshold (e.g. , an assignment threshold).
  • a second threshold e.g. , an assignment threshold
  • the cloud-based geohash phrase system 104 also includes the phrase assigning instruction 126.
  • the phrase assigning instruction 126 may be configured to allow the users 108 of the system 100 to assign additional names to regions. For example, an entity or user may be able to purchase the rights to name a region. In other examples, the community of users 108(1)-(L) may be able to vote or otherwise provide feedback to cause a region to receive additional phrase word. In some case, various events may cause regions to take on new or uncommon nick names. In these cases, the phrase assigning instruction 126 may be configured to identify the new nick names (e.g., via monitoring social media, third party sites, etc.) and to cause the new nick name to be assigned to the region if currently not in use. In one particular example, the phrase pruning instructions 124 together with the phrase assigning instruction 126 may cause the new nick name to be reassigned from an existing region to the new region (e.g., the regions may swap phrase words).
  • each region may be assigned a location (e.g., latitude/longitude coordinate) and/or a geohash code. However, each region may not be assigned a geohash phrase word.
  • the phrase assigning instruction 126 may be configured to assign phrase words to regions based at least in part on the population, landmass, and/or usage statistics of phrase words within a selected dictionary. For instance, in one example, the phrase assigning instruction 126 may assign regions with zero population (such as regions entirely within the ocean) a phrase generated by concatenating multiple phrase words within a dictionary together to form a new phrase word.
  • phrase words may still be in a format that a human is able to more easily memorize than the standard address system.
  • the phrase assigning instruction 126 may then assign phrase words to a region based on the highest level of usage within the dictionary (e.g., phase words may be assigned in order of most commonly used unassigned words within a dictionary) and population density. For example, regions associated with maj or world cities may be assigned more commonly used words as phrase words than regions including only rural areas. In cases where the population is zero or a tie between two regions, the phrase assigning instruction 126 may assign the phrase words based on landmass. For example, a region that is 10% landmass and 90% water may be assigned a phrase word having a lower usage rating than a region that is 90% landmass and 10% water.
  • FIG. 2 illustrates an example geohash-phrase system 200 according to some implementations.
  • the geohash-phrase system 200 may include a remote or cloud based system 202 operating as a cloud-based service 204 for one or more applications operating on local devices 206 proximate to a user 208.
  • the cloud-based geohash-phrase service 204 may operate on one or more cloud-based resources 210.
  • the devices 206 may host or implement an application or app 212 that allows the user 208 to interact with the geohash phrase system 204.
  • the device 206 may include one or more processors 214, and computer-readable storage media 216 as well as communication interfaces 218, sensors 220, and input/output interfaces 222.
  • the communication interfaces 218 may support both wired and wireless connection to various networks, such as cellular networks, radio (e.g., radio-frequency identification (RFID)), WiFi networks, short-range or near-field networks (e.g., Bluetooth®), infrared signals, local area networks, wide area networks, the Internet, and so forth.
  • RFID radio-frequency identification
  • WiFi networks e.g., WiFi networks
  • short-range or near-field networks e.g., Bluetooth®
  • infrared signals e.g., local area networks, wide area networks, the Internet, and so forth.
  • the communication interfaces 218 may allow the device 206 to send and receive data associated with location and geohash phrases from the geohash phrase system 204.
  • the sensors 220 may be used to monitor position and movement of the user device 206.
  • the sensors may include motion sensors (e.g., gyroscopes and accelerometers) and/or position sensors (e.g., Global Position System (GPS) or other satellite receivers based location tracking systems).
  • the sensors may include systems for tracking movement based on wireless signals, such as the nearest cellular tower or currently connected tower.
  • the input/output interfaces 222 may include one or more output components, such as a display or touch screen, and one or more input components, such as keyboards, keypads, joysticks, a mouse, a touch screen, touch pad, drawing pad, or control buttons.
  • the output components and input components are combined in a single interface to provide a touch-sensitive display, or touch screen display.
  • the input/output interfaces 222 include one or more displays for presenting information, such as electronic content items, to a user, one or more input sensors for accepting input resulting from contact and/or application of incident force, such as a user finger or stylus pressing upon one of the sensors.
  • the computer-readable storage media 216 may include volatile and nonvolatile memory, 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 includes, but is not limited to, RAM, ROM, 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, RAID storage systems, or any other medium which can be used to store the desired information and which can be accessed by a computing device.
  • the computer-readable media 216 may store an application 212 that includes geohash phrase instructions 224, geohash phrase lookup instructions 226, geohash phrase word assignment instructions 228, alert instructions 230, phrase selection instruction 232, and dictionary update instructions 234.
  • the geohash phrase application 212 may also store a local geohash phrase dictionary 236 to, for instance, improve lookup time of geohash codes and/or geohash phrases without accessing the cloud-based geohash phrase system 204.
  • the geohash phrase instructions 224 may be configured to allow users 208 to enter a geohash phrase 238 and to cause information 240 associated with a region indicated by the geohash phrase 238 to be displayed on the input/output interface 222.
  • the geohash phrase instructions 224 may allow the user 208 to type a sentence or series of words and in retum be presented with a map of the region on the input/output interface 222.
  • the phrase instruction 228 may access the local geohash phrase dictionary 236 to determine the location information 240.
  • the geohash phrase 236 may not be present in the local geohash phrase dictionary 236, such as when the dictionary 228 or 204 has been updated to include additional words or phrases.
  • the geohash phrase instructions 224 may send the geohash phrase 236 to the geohash phrase system 204 and receive in retum the location data 240, a hash code 242, as well as a corresponding geohash phrase 236 (e.g., the phrase provided or additional phrases that may be present in the local dictionary 236).
  • the geohash phrase lookup instructions 226 may be configured to allow the user 208 to indicate a region and in retum receive the corresponding geohash phrase 236 or phrase words associated therewith. For example, the user 208 may be presented with a map of the globe and in response to a user selection be presented with the corresponding geohash phrase 236. In some cases, the geohash phrase lookup instructions 226 may access the cloud-based geohash system 204 using the location data 240 and receive in retum one or more geohash phrases 238, location data 240, and a geohash code 242. [0054] The geohash phrase word assignment instructions 228 may be configured to allow one or more users 208 to request a region be associated with a desired phrase word.
  • the user may select a region and enter a bid on the value the user would exchange for the right to assign a phrase word to the region.
  • the user may be presented with a region and a list of possible phrase words and allowed to select or vote on one or more of the list of possible phrase words.
  • the alert instructions 230 may be configured to notify the user 208 to an update related to the dictionary 236, the geohash phrase system 204, or a region of indicated previously indicate by the user 208.
  • the phrase selection instructions 232 may be configured to determine which phrase word or geohash phrase 236 the phrase lookup instructions 226 should present to the user 208 via the input/output interface 222. For example, some regions may have additional phase words assigned (e.g., two or more phrase words are associated with the region). In these cases, the phrase selection instruction 232 may be configured to select which of the phrase words for region should be used by the phrase lookup instructions 226. For example, the phrase selection instructions 232 may determine phrase words based on user data, such as demographic data, user history, user preferences, historical data, and/or other information known about the user 208.
  • the dictionary update instructions 234 may be configured to periodically, in response to a user input, or in response to a failed local geohash phrase lookup to update the geohash phrase dictionary 236 with any new phrase words added to the geohash phrase system 204 since the last update. In this manner, the dictionary 236 may be keep up to date.
  • FIG. 3 illustrates an example table showing the relationship of a location 306 to a geohash character code 304 and a geohash character code 304 to a phrase word 302 according to some implementations.
  • the table 300 also includes the size of the region in metric 308 and in imperial 310 measurements.
  • the location 306 is indicate of a (latitude, longitude) coordinate of the center of the corresponding region.
  • the region represented by the geohash phrase "dog kicks big man” has a center located at 32.822878, -96.813948 and represents a region that covers 15.674 feet square.
  • geohash phrase "dog kicks" has a center located at 32.805, -96.833 and represents a region that covers a 3.040 miles square. Thus, as shown, each region may be assigned a different location 306, geohash 304, and geohash phrase words 302.
  • FIG. 4 illustrates an example table showing the relationship of a location 406 to a geohash character code 404 and a geohash character code 404 to multiple geohash-phrase words 406 according to some implementations.
  • the table 400 also includes the size of the region in metric 408 and in imperial 410 measurements, as in FIG. 3 above.
  • the phrase words 402 includes additional phrase words for some of the corresponding geohash character codes 404 and physical locations 406.
  • the additional phrase words may be used in the alternate to generate geohash phrases. For example, "Dog Kicks Big Man Purple Hydrant” would be equivalent (e.g., return the same region) to "Puppy Jumps Enormous Man Cold Water".
  • the additional phrase words associated with each level of a geohash phrase may be interchangeable, such as the case with additional phrase words, generally indicated by 412 and 414.
  • the word "Dog” and the word “Canine” generally refer to the same object/thing and are replaceable within speech or text associated with the English Dictionary.
  • the additional phrase words associated with each level of a geohash phrase may be unrelated, such as the phrase words indicated by 416.
  • the additional phrase words associated with each level of a geohash phrase may not be interchangeable but may be related, such as the phrase words indicated by 418.
  • the words “hydrant”, “firetruck”, and “fireman” are all related to a fire department.
  • the phrase words 418 may be selected to improve recall and memorization of geohash phrases.
  • phrase words such as the additional phrase words 420
  • the phrase word "John-Smith” and "Mary-Smith” may have been added on behalf of John and Mary Smith.
  • John and Mary may be famous or associated with a particular region, may have been voted in by popular demand as additional phrase words 420, or John and Mary may have purchased the rights to select additional phrase words 420 and designated their names.
  • phrase words 402 including the original phrase words and the additional phrase words may be refer to herein as a phrase word domain.
  • the output of the system may be or include the geohash phrase word domain.
  • phrase word may be defined as a case insensitive contiguous sequence of characters where a character must be selected from all 26 letters, all 10 numbers, a hyphen, or an underscore).
  • phrase words may be defined in a manner in which the phrase word does not follow the above rule (e.g., a valid word could be "John Smith").
  • FIG. 5 illustrates an example map 500 having a geohash-phrase region 502 according to some implementations.
  • the geohash phrase region 502 illustrates a top-level region.
  • the region 300 is a region that is two tiers above the region having the phrase word "big" of FIG. 3.
  • the size of a region and any sub-regions thereof may vary depending in the level of granularity desired for the application associated with the geohash phrase system.
  • the region 502 may be much larger than the approximately 97 miles square of the top region "big” of FIG. 3.
  • the region 502 may correspond to a geohash code of "U” or a phrase word of "goat”.
  • the current example also shows one set of sub-regions, generally indicated by 504.
  • the sub-region 504 has a code of "0" thus the hash code is "U0" thereby indicating the top-level region 502 and the first sub-region 504.
  • the region 504 has a phrase word "runs” and a geohash phrase of "goat runs”.
  • the current map 500 illustrates how the geohash phrases relate to geohash codes and are more aligned with the cognitive ability of human individuals. For example, a human has an easier time recalling that a friend live at "goat runs" than at "U0". The issue will become clear when the hash code and locations become more refined, as illustrated below with respect to FIG. 6.
  • FIG. 6 illustrates an example map 600 including multi-level geohash-phrase regions 602 and 604 according to some implementations.
  • the map 600 has been zoomed in from the region 502 having the phrase word "goat” to show additional sub-regions 602 and 604.
  • the sub-region 602 may have a phrase word "dog” and the sub-region 604 may have the phrase word "tall”.
  • the sub-region 604 may be represented by the geohash phrase "goat runs dog tall” or "tall goat runs by a dog".
  • the sub-region 604 may be represented by "tall dog runs”.
  • the geohash phrase system when the geohash phrase system is associated with human-location interaction any region larger than 100 miles square may be irrelevant and the additional high level regions (e.g., 502 and 504) may only cause additional and largely unnecessary memorization.
  • the top-level region of the geohash phrase system may be region 602 or 604.
  • the regions 504, 602, and 604 of the map 600 are formed by rectangles.
  • Each of the rectangle regions 504, 602, and 604 may be formed from thirty- two equal sized sub-regions (or form an 4x8 or 8x4 region).
  • the rectangles alternative between 4x8 and 8x4 but in other examples other arrangements may be used.
  • the size and or location of a region may be determined based on population, search relevancy (e.g., how often the region or sub- region is search result), usage (e.g., how often the region or sub-region is a user input), usage, etc.
  • FIG. 7 illustrates another example map 700 of geohash-phrase regions 504, 702, 704, 706, and 708 according to some implementations.
  • the geohash phrase region 504 is shown as being bounded by four sub-regions 702-708.
  • the location data may be organized based on the comer sub-regions of each region.
  • the center of each comer region 702-708 may be stored as the location data in lieu of the center latitude and longitude of the region 504 itself.
  • the size of the regions at similar levels may be configured to vary again based on metrics such as population, landmass, usage, economic data, demographic data, etc.
  • FIG. 8 illustrates an example map 800 of a geohash-phrase region 802 and sub-regions 804 and 806 associated with a famous landmark according to some implementations.
  • the regions associated with landmarks or unique names/nick names may be assigned the names as associated phrase words within the geohash phrase of the regions.
  • the region 806 may have the phrase word "Eiffel”
  • the region 804 may have the phase word "built”
  • the region 802 may have the phrase word "tower”.
  • the geohash phrase for the region 806 including the Eiffel Tower may be "the Eiffel tower was built by Gustave", which is a historical fact, thus easier to memorize or known by a large number of the individuals that search the location of the Eiffel tower.
  • FIG. 9 illustrates an example map 900 of the geohash-phrase region 906 associated with a location having a famous landmark 902 according to some implementations.
  • the landmark 902 is the Eiffel Tower and as shown at some level of granularity, the landmark 902 is part of multiple sub-regions, in this case, regions 904 and 906. In these cases, both regions are unable to have the phrase word. Further, "Eiffel" was already assigned to region 806. Thus, the sub- regions may be formed from additional nouns, verbs, and adj ectives associated with the famous landmark 802.
  • the region 802 may be assigned the phrase word "Sauvestre" the other architect behind the Eiffel tower and the region 704 may be assigned the phrase word "lattice” or a word descriptive of the features of the Eiffel tower.
  • FIG. 10 illustrates an example geohash-phrase region 1002 having sub- regions 1004-1010 with further sub-region 1012-1018 in the same position and having the same phrase word assigned according to some implementations.
  • each sub-region within a larger region may maintain the same set of phrase words assigned in the same pattern.
  • the regions cat 1004, dog 1006, cow 1008, and pig 1010 each include a corresponding upper right hand comer region, 1012-1018.
  • each of the regions 1012-1018 have the same phrase word assigned, e.g., "Tall" in this example.
  • the geohash phrase for each of the regions 1012-1018 with region 1002 as the top-level region differ.
  • the geohash phrase for region 1012 is “Tall Cat Swims”
  • for region 1014 is “Tall Dog Swims”
  • for region 1016 is “Tall Cow Swims”
  • for region 1018 is “Tall Pig Swims”.
  • the phrase words are unique with respect to each parent-child relationship and within each sub-region itself.
  • Tall is used only to refer to region 1014 within region 1006.
  • FIG. 11 illustrates an example geohash-phrase region 1102 having sub- regions 1104-1110 with further sub-region 1112-1118 in the same position and having possible different phrase word assigned according to some implementations.
  • each sub-region within a larger region may generally maintain the same set of phrase words assigned in the same partem.
  • the regions cat 1004, dog 1006, and cow 1008, each include a corresponding upper right hand corner region, 1012-1016.
  • each of the regions 1012-1016 have the same phrase word assigned, e.g., "Tall" in this example.
  • the upper right hand comer region 1118 of the region 1110 is assigned the phrase word "fat".
  • the phrase word "fat” may be an additional phrase word such that the phrase word "tall” is also assigned to region 1118.
  • the phrase word "tall” may not be an additional phrase word of the region 1118.
  • the phrase words are unique not only with respect to each parent-child relationship and within each sub-region itself, but may be unique within each region included in a top-level region.
  • the dictionary may be unique [0073]
  • FIG. 12 illustrates an example map 1200 with two adjacent geohash-phrase regions 1202 and 1204 according to some implementations.
  • the geohash phrase for region 1202 may be "dog kicks books" and the region 804 may be "dog kicks buckets”.
  • each of the regions 802 and 804 include two visible sub-regions 1206 and 1208 as well as 1210 and 1212 respectively.
  • the sub-region 1206 and the sub-region 1210 may be assigned the same phrase word, for instance, "big” as each sub-region 1206 and 1210 are at the same location within the parent regions 802 and 804.
  • the sub-region 1208 and 1212 are at the same phrase word "tall” as each shares a location relative to the parent regions 1202 and 1204.
  • the geohash phrase for the region 806 may be "dog kicks big buckets” and the geohash phrase for the region 1210 may be “dog kicks big books”. The difference being the phase word "buckets" versus "books" of the parent regions 1202 and 1204.
  • the geohash phrase system may be configured to utilize additional location information, such as GPS, cell tower signal strength, etc., to assist with determining a correct geohash phase associated with a location, such as a location of a user device.
  • the location data may be utilized to assist with inaccurate or fault user inputs. For example, if a user input the phrase "dog kicks big books" but was inside of the region 1204 rather than the region 1202, the location information may be used to present the user with a request for clarification or with multiple options for the desired region (e.g., sub-regions 1206 and 1210).
  • FIGS. 13-15 are flow diagrams illustrating example processes associated with an offer processing system according to some implementations.
  • the processes are illustrated as a collection of blocks in a logical flow diagram, which represent a sequence of operations, some or all of which can be implemented in hardware, software or a combination thereof.
  • the blocks represent computer- executable instructions stored on one or more computer-readable media that, which when executed by one or more processors, perform the recited operations.
  • computer-executable instructions include routines, programs, objects, components, encryption, deciphering, compressing, recording, data structures and the like that perform particular functions or implement particular abstract data types.
  • FIG. 13 is an example flow diagram showing an illustrative process 1300 for generating a geohash-phrase dictionary according to some implementations.
  • a geohash phrase system may generate a new geohash phrase mapping between locations, geohash codes, and geohash phrases.
  • the system may generate a first mapping based on equal size regions and a second mapping with regions sized based on population density.
  • the system may generate a new mapping based on a new dictionary or a limited dictionary selected by one or more users of the system.
  • the system may generate a plurality of hyphenated phrase words from existing words within the dictionary. For instance, by combining multiple words into a single phrase word, the phrase word for a region may still form a sentence within a dictionary but may expand the dictionary to additional nouns, verbs, and adjectives in the cases where the number of available phrase words are limited.
  • the system assigns individual hyphenated phrase words to locations associated with water based regions of the globe. For example, regions that are entirely or primarily covered by water are unlikely to be the subj ect of large number of geohash phrase lookups, results, or inquiries. Thus, the system may assign the new created or generated hyphenated phase words to the regions that are unlikely for a user to attempt to memorize.
  • the system may identify unique location names. For example, as discussed above, the system may identify famous landmarks such as the Eiffel Tower, the Statue of Liberty, the Golden Gate Bridge, the Buckingham Place, Mt. Rushmore, the Forbidden city, etc. In other cases, the system may identify unique nick names like the Windy City, the Big Apple, Silicon Valley, etc.
  • the system may assign the unique location names to the regions encompassing the unique location. For example, the area of Paris France associated with the Eiffel Tower may be assigned the phrase words "Eiffel” and “tower” as well as words associated with the Eiffel tower. Areas around San Francisco USA may be assigned the words “Golden”, “Gate”, and "Silicon”. Once the words are assigned as a phrase word, the system may remove them from the available pool of phase words within a dictionary.
  • the system may rank any unassigned nouns, verbs, and adjectives (e.g., the unassigned words within the dictionary) based at least in part on usage statistics. For example, the system may access third party databases or systems to determine word usage statistics for various words within a dictionary.
  • the system may assign unassigned regions phrase words based at least in part on the population density and the usage ranking. For example, once unique locations and remote locations have been assigned either the unique names, phrase words associated with the unique names, or newly generated/hyphenated phrase words, the remaining regions may be assigned phrase words in order of highest population and highest usage ranking. So the next phrase word with the highest usage may be assigned to the region with the highest population density.
  • the system may assign unassigned regions whose population density is zero phrase words based at least in part on amount of landmass and the usage ranking. For example, some part or reserve regions may have no population but large landmass percentages. In this case, the system my assign remaining phrase words in order of largest amount of landmass.
  • Process 1300 provides one example for assigning phrase words to regions. However, in other examples, it should be understood that other metrics may be used. For example, phrase words may be assigned based on word usage and most searched regions, most relevant regions, most visited regions, most famous regions, etc.
  • FIG. 14 is an example flow diagram showing an illustrative process 1400 for assigning phrase words to a geohash region according to some implementations.
  • additional phrase words may be assigned to a region after the geohash phrase system has assigned an initial phrase word to each region based on a selected dictionary. For instance, a user, entity, or individual may purchase the rights to name or select a phrase word for a selected geohash region.
  • a famous event or occurrence may become associated with a region (such as a speech, rally, disaster, etc.).
  • public voting may be used via, for instance, social media to select new phrase words for a region.
  • the system may receive a selection of a region and a desired phrase word. For example, the individual or entity that purchased the rights to name a region may input the desired name.
  • the system may determine the word is a noun, verb, or adjective associated with the desired dictionary. For example, if the word is in English the system may determine if the desired phrase word is within the dictionary (e.g., is an actual word), and if it is if the desired phrase word is a noun, verb, or adjective to prevent parts of speech such as conjunctions from becoming assigned as phrase words. In some cases, if the desire phrase word is not part of the dictionary but appears to be a noun, verb, or adjective (e.g., a name of an individual, entity, or object), the system may deem the desired phrase word acceptable.
  • the geohash phrase system may determine that the desired phrase word is unassigned. For instance, in some cases, each of the phrase words for each region may be unique and, thus, if the desired phrase word is already assigned then the phrase word may not be reused. In other cases, phrase words may be unique within sub- regions of a region and, thus, if another sub-region is already assigned the phrase word then it may be unacceptable to assign the desired phrase word to another sub-region.
  • the geohash phrase system may assign the desired phrase word as an additional phrase word for the region.
  • a region may be assigned multiple phrase words, such that each phrase word assigned may be used interchangeably to refer to the region.
  • a region may be assigned the phrase word "dog” but have an additional phrase word "cat".
  • the geohash phrase "dog kicks big man purple hydrant” is equivalent to "cat kicks big man purple hydrant”.
  • FIG. 15 is an example flow diagram showing another illustrative process 1500 for assigning phrase words to a geohash region according to some implementations.
  • additional or additional phrase words may be assigned to a region after the geohash phrase system has assigned an initial phrase word to each region based on a selected dictionary. For instance, a user, entity, or individual may purchase the rights to name or select a phrase word for a selected geohash region. In another example, a famous event or occurrence may become associated with a region (such as a speech, rally, disaster, etc.). In still other examples, public voting may be used via, for instance, social media to select new phrase words for a region.
  • the system may receive a selection of a region and a desired phrase word. For example, the individual or entity that purchased the rights to name a region may input the desired name.
  • the system may determine the word is a noun, verb, or adjective associated with the desired dictionary. For example, if the word is in English the system may determine if the desired phrase word is within the dictionary (e.g., is an actual word), and if the desired phrase word is a noun, verb, or adjective, to prevent parts of speech such as conjunctions from becoming assigned as phrase words. In some cases, if the desired phrase word is not part of the dictionary but appears to be a noun, verb, or adjective (e.g., a name of an individual, entity, or object), the system may deem the desired phrase word acceptable.
  • the desired phrase word is not part of the dictionary but appears to be a noun, verb, or adjective (e.g., a name of an individual, entity, or object).
  • the geohash phrase system may determine that the desired phrase word is assigned to a second region. For instance, in some cases, each of the phrase words for each region may be unique and, thus, if the desired phrase word is already assigned then the phrase word may not be reused. In other cases, phrase words may be unique within sub-regions of a region and, thus, if another sub-region is already assigned the phrase word then it may be unacceptable to assign the desired phrase word to another sub-region.
  • the system may determine that the second region has an additional phrase word.
  • a region may be assigned multiple phrase words, such that each phrase word assigned may be used interchangeably to refer to the region.
  • a region may be assigned the phrase word "dog” but have an additional phrase word "cat".
  • the geohash phrase "dog kicks big man purple hydrant” is equivalent to "cat kicks big man purple hydrant”.
  • the geohash phrase system may assign the desired phrase word to the first region and unassign the desired phrase word from the second region. For instance, since the second region has an additional phrase word, the system may be able to reassign the phrase word to the first region.
  • FIG. 16 illustrates an example architecture of one or more servers associated with an geohash-phrase system according to some implementations.
  • the servers, which host the geohash phrase system 1600 collectively comprise processing resources, as represented by processors 1602, and computer-readable storage media 1604.
  • the computer-readable storage media 1604 may include volatile and nonvolatile memory, 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.
  • Such memory includes, but is not limited to, RAM, ROM, 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, RAID storage systems, or any other medium which can be used to store the desired information and which can be accessed by a computing device.
  • the servers may also include one or more communication interfaces 1606, which may support both wired and wireless connection to various networks, such as cellular networks, radio (e.g., radio-frequency identification (RFID)), WiFi networks, short-range or near-field networks (e.g., Bluetooth®), infrared signals, local area networks, wide area networks, the Internet, and so forth.
  • RFID radio-frequency identification
  • WiFi networks e.g., WiFi networks
  • short-range or near-field networks e.g., Bluetooth®
  • infrared signals e.g., local area networks, wide area networks, the Internet, and so forth.
  • the communication interfaces 1606 may allow the geohash phrase system 1600 to receive transaction data, user communications, and/or offer data from user devices and third party systems.
  • a co-located management system may act as a proxy or additional tier for a cloud-based management system.
  • Several modules such as instructions, data stores, and so forth may be stored within the computer-readable storage media 1604 and configured to execute on the processors 1602. For example, a location determining instructions 1608, a phrase identification instructions 1610, phrase pruning instructions 1612, phrase assigning instructions 1614.
  • the computer-readable media 1604 may store data, such as location data 1616 (e.g., latitude-longitude, size, landmass, population density, GPS coordinates, and/or other data associated with each region), geohash data 1618 (e.g., hash codes or tags assigned to regions), and geohash-phrase data 1620, as well as other data.
  • the location determining instructions 1608 may be configured to receive position data from one or more of the local user devices.
  • the position data may include information or data usable to determine a desired position relative to the Earth.
  • position data may include coordinates, regions selected on by the user via a user interface map displayed on the device, names of locations (e.g., landmarks, cities, countries, etc.), data collected from sensors such as inertial measurement units (IMU), global positioning system units (GPS), accelerometers, gyroscopes, magnetometers, etc., among other data.
  • the position data may include a hash code or a geohash phrase of the desired location.
  • the position data may be representative of a current location of the device, while in other cases, the position data may be representative of a desired location (e.g., an individual in Austin, Texas is viewing information useful for planning a trip to Paris, France).
  • the location determining instructions 1208 may cause the cloud-based geohash phrase system 1600 to translate the position data to a geohash phrase and/or information associated with the desired location, which may be returned to the device.
  • the location determining instructions 1608 may receive "Paris France" as a user input.
  • the location determining instruction 1608 may determining a region associated with Paris France using the location data 1616. Once the region is determined, the location determining instructions 1608 may determine the geohash phrase via a stored mapping or table between the geohash phrase data 1620, the location data 1616, and the geohash data 1618. In other examples, the location determining instructions 1608 may determine the geohash for the region represented by the user input Paris France and then convert the geohash into the geohash phrase.
  • the information associated with the desired location may include various types of information useful to the user when viewing the region represented by the geohash phrase.
  • the information may include overlays, such as elevation maps, weather/storm patterns, population density maps, demographic information, economic information, traffic information, road maps, other transpiration maps.
  • the information may also include other information such as landmark information, business information, tourist attractions, ratings, trend data, emergency care data, etc.
  • the cloud-based geohash phrase system 1600 may be configured to access third party data stores and systems in order to provide the information to the user device.
  • the cloud-based geohash phrase system 1600 may utilize the location data 1616 to access weather and/or traffic data available via various third party news and government systems.
  • the cloud-based geohash phrase system 1600 may provide the geohash code to the user device in lieu of the geohash phrase.
  • an application operating on the device may be configured to convert the geohash code to the geohash phrase prior to displaying the information to the user.
  • the user may input phrase data (e.g., a geohash phrase, a partial geohash phrase, etc.).
  • the phrase identification instructions 1610 may utilize the geohash phrase data 1620 and/or the location data 1616 to identify the region or location associated with the phrase data.
  • the geohash phrases for each top-level region differ from each other.
  • each sub- level region within the region differ from each other and so forth and so on.
  • only nouns, verbs, and adjectives are used as phrase words associated with a region.
  • the user may enter the phrase data in various formats. For example, the geohash-phrase "the dog kicks a big man into a purple hydrant" would be the equivalent to the geohash-phrase "the big hydrant kicks a purple dog into a man”.
  • the user may also specify a level granularity with respect to the region (e.g., the user may select between levels of varying size - from regions of approximately 97 miles square to regions as small as a few inches square). For example, by adding or removing phrase words from the phrase data being provided as a geohash phrase to the cloud-based geohash phrase system, the user may determine the granularity or size of the region being selected. For instance, each noun, verb, or adjective added to the phrase data results in a smaller region being selected by the phrase identification instructions 1610.
  • phrase words usable to generate geohash phrases may become obsolete or take on altemative meanings over time as language evolves and changes. In these examples, it may no longer make sense to maintain a particular phrase words' association to a region. For instance, a phrase word may take on a derogatory meaning and should be replaced as the phrase word in the geohash phrase representing a region.
  • the phrase pruning instructions 1612 may be configured to determine any changes in the phrase words meaning or relevance.
  • the phrase running instructions 1612 may apply a relevancy score or usability score to each phrase word, and once a phrase word falls below a threshold score, replace the phrase word as representative of a region using an unassigned phrase word having a score greater than the threshold or greater than a second threshold (e.g. , an assignment threshold).
  • a second threshold e.g. , an assignment threshold
  • the cloud-based geohash phrase system 1600 also includes the phrase assigning instruction 1614.
  • the phrase assigning instruction 1614 may be configured to allow the users of the system 1600 to assign additional names to regions. For example, an entity or user may be able to purchase the rights to name a region. In other examples, the community of users may be able to vote or otherwise provide feedback to cause a region to receive additional phrase words. In some case, various events may cause regions to take on new or uncommon nick names.
  • the phrase assigning instruction 1614 may be configured to identify the new nick names (e.g., via monitoring social media, third party sites, etc.) and to cause the new nick name to be assigned to the region if currently not in use.
  • the phrase pruning instructions 1612 together with the phrase assigning instruction 1614 may cause the new nick name to be reassigned from an existing region to the new region (e.g., the regions may swap phrase words).
  • each region may be assigned a location (e.g., latitude/longitude coordinate) and/or a geohash code. However, each region may not be assigned a geohash phrase word.
  • the phrase assigning instruction 1614 may be configured to assign phrase words to regions based at least in part on the population, landmass, and/or usage statistics of phrase words within a selected dictionary. For instance, in one example, the phrase assigning instruction 1614 may assign regions with zero population (such as regions entirely within the ocean) a phrase generated by concatenating multiple phrase words within a dictionary together to form a new phrase word.
  • phrase words may still be in a format that a human is able to more easily memorize than the standard address system.
  • the phrase assigning instruction 1614 may then assign phrase words to a region based on the highest level of usage within the dictionary (e.g., phase words may be assigned in order of most commonly used unassigned words within a dictionary) and population density. For example, regions associated with maj or world cities may be assigned more commonly used words as phrase words than regions including only rural areas. In cases where the population is zero or a tie between two regions, the phrase assigning instruction 1614 may assign the phrase words based on landmass. For example, a region that is 10% landmass and 90% water may be assigned a phrase word having a lower usage rating than a region that is 90% landmass and 10% water.
  • FIG. 17 illustrates example components of one or more user devices 1700 hosting a client side application 1712 associated with the geohash-phrase system according to some implementations.
  • the device 1700 may host or implement the application or app 1712 that allows the user to interact with the geohash phrase system described herein.
  • the device may include one or more processors 1702, and computer-readable storage media 1704 as well as communication interfaces 1706, sensors 1708, and input/output interfaces 1710.
  • the communication interfaces 1706 may support both wired and wireless connection to various networks, such as cellular networks, radio (e.g., radio-frequency identification (RFID)), WiFi networks, short-range or near-field networks (e.g., Bluetooth®), infrared signals, local area networks, wide area networks, the Internet, and so forth.
  • RFID radio-frequency identification
  • WiFi networks e.g., WiFi networks
  • short-range or near-field networks e.g., Bluetooth®
  • infrared signals e.g., local area networks, wide area networks, the Internet, and so forth.
  • the communication interfaces 1406 may allow the device to send and receive data associated with location and geohash phrase from the geohash phrase system.
  • the sensors 1708 may be used to monitor position and movement of the user device 1700.
  • the sensors may include motion sensors (e.g., gyroscopes and accelerometers) and/or position sensors (e.g., Global Position System (GPS) or other satellite receivers based location tracking systems).
  • the sensors 1308 may include systems for tracking movement based on wireless signals, such as the nearest cellular tower or currently connected tower.
  • the input/output interfaces 1710 may include one or more output components, such as a display or touch screen, and one or more input components, such as keyboards, keypads, joysticks, a mouse, a touch screen, touch pad, drawing pad, or control buttons.
  • the output components and input components are combined in a single interface to provide a touch-sensitive display, or touch screen display.
  • the input/output interfaces 1710 include one or more displays for presenting information, such as electronic content items, to a user, one or more input sensors for accepting input resulting from contact and/or application of incident force, such as a user finger or stylus pressing upon one of the sensors.
  • the computer-readable storage media 1704 may include volatile and nonvolatile memory, 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 includes, but is not limited to, RAM, ROM, 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, RAID storage systems, or any other medium which can be used to store the desired information and which can be accessed by a computing device.
  • the computer-readable media 1704 may store the application 1712 that includes geohash phrase instructions 1714, geohash phrase lookup instructions 1716, geohash phrase word assignment instructions 1718, alert instructions 1720, phrase selection instruction 1722, and dictionary update instructions 1724.
  • the geohash phrase application 1712 may also store a local geohash phrase dictionary 1726 to, for instance, improve lookup time of geohash codes and/or geohash phrases without accessing the cloud-based geohash phrase system discussed herein.
  • the geohash phrase instructions 1714 may be configured to allow users to enter a geohash phrase and to cause information associated with a region indicated by the geohash phrase to be displayed on the input/output interface 1710. For instance, the geohash phrase instructions 1714 may allow the user to type a sentence or series of words and in return be presented with a map of the region on the input/output interface 1710. In general, the phrase instruction 1714 may access the local geohash phrase dictionary 1726 to determine the location information. In some cases, the geohash phrase may not be present in the local geohash phrase dictionary 1726, such as when the global dictionary has been updated to include additional words or phrases.
  • the geohash phrase instructions 1714 may send the geohash phrase to the geohash phrase system and receive in retum the location data, a hash code, as well as a corresponding geohash phrase (e.g., the phrase provided or additional phrases that may be present in the local dictionary 1726).
  • the geohash phrase lookup instructions 1716 may be configured to allow the user to indicate a region and in retum receive the corresponding geohash phrase or phrase words associated therewith. For example, the user may be presented with a map of the globe and in response to a user selection be presented with the corresponding geohash phrase. In some cases, the geohash phrase lookup instructions 1716 may access the cloud-based geohash system using the location data and receive in return one or more geohash phrases, location data, and a geohash code. [00119] The geohash phrase word assignment instructions 1718 may be configured to allow one or more users to request a region be associated with a desired phrase word.
  • the user may select a region and enter a bid on the value the user would exchange for the right to assign a phrase word to the region.
  • the user may be presented with a region and a list of possible phrase words and allowed to select or vote on one or more of the list of possible phrase words.
  • the alert instructions 1720 may be configured to notify the user to an update related to the dictionary 1726, the geohash phrase system, or a region of indicated previously indicate by the user.
  • the phrase selection instructions 1722 may be configured to determine which phrase word or geohash phrase the phrase lookup instructions 1716 should present to the user via the input/output interface 1710. For example, some regions may have additional phase words assigned (e.g., two or more phrase words are associated with the region). In these cases, the phrase selection instruction 1722 may be configured to select which of the phrase words for region should be used by the phrase lookup instructions 1716. For example, the phrase selection instructions 1722 may determine phrase words based on user data, such as demographic data, user history, user preferences, historical data, and/or other information known about the user.
  • the dictionary update instructions 1724 may be configured to periodically, in response to a user input, or in response to a failed local geohash phrase lookup to update the geohash phrase dictionary 1726 with any new phrase words added to the geohash phrase system since the last update. In this manner, the dictionary 1726 may be keep up to date.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

A geohash phrase system is configured to receive location data in the form of a geohash phrase from a user device and to return information associated with the location. The geohash phrase is a concatenation of multiple phrase words within a dictionary. Each phrase word represents a specific region of the globe and corresponds to a geohash code.

Description

SYSTEM FOR GENERATING AND UTILIZING GEOHASH
PHRASES
CROSS-REFERENCE TO RELATED APPLICATION(S)
[0001] This application claims priority to U.S. Provisional Application No.
62/567,585 filed on October 3, 2017 and entitled "SYSTEM FOR GENERATING AND UTILIZING GEOHASH PHRASES," which is incorporated herein by reference in its entirety.
BACKGROUND
[0002] It is common for individuals to communicate location information via some form of an address system. Todays, address system is largely a result of the development and street systems. However, the house number, street name, jurisdiction name, zip code format that is common in the United States address system has little relationship to human cognitive ability and, thus, is often hard for individuals to remember. Recently, a location based hash code "Geohash" has been developed as a supplement to the street address system. The geohashes are designed primarily for use by computing systems and often more difficult for individuals to memorize and recall than the historical street address system.
BRIEF DESCRIPTION OF THE DRAWINGS [0003] The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different figures indicates similar or identical components or features. [0004] FIG. 1 illustrates an example geohash-phrase system according to some implementations.
[0005] FIG. 2 illustrates another example geohash-phrase system according to some implementations.
[0006] FIG. 3 illustrates an example table showing the relationship of a location to a geohash and a geohash character code to a phrase word according to some implementations.
[0007] FIG. 4 illustrates an example table showing the relationship of a location to a geohash and a geohash character code to multiple geohash-phrases according to some implementations.
[0008] FIG. 5 illustrates an example geohash-phrase region according to some implementations.
[0009] FIG. 6 illustrates an example multi-level geohash-phrase regions according to some implementations.
[0010] FIG. 7 illustrates another example geohash-phrase region according to some implementations.
[0011] FIG. 8 illustrates an example geohash-phrase region associated with a famous landmark according to some implementations.
[0012] FIG. 9 illustrates an example geohash-phrase region associated with a location represented by multiple geohash-phrase regions according to some implementations.
[0013] FIG. 10 illustrates an example geohash-phrase region wherein each sub- region in the same position has the same phrase word assigned according to some implementations. [0014] FIG. 11 illustrates an example geohash-phrase region wherein each sub- region in the same position may have different phrase word assigned according to some implementations.
[0015] FIG. 12 illustrates an example with two adjacent geohash-phrase regions according to some implementations.
[0016] FIG. 13 is an example flow diagram showing an illustrative process for generating a geohash-phrase dictionary according to some implementations.
[0017] FIG. 14 is an example flow diagram showing an illustrative process for assigning phrase words to a geohash region according to some implementations.
[0018] FIG. 15 is an example flow diagram showing another illustrative process for assigning phrase words to a geohash region according to some implementations.
[0019] FIG. 16 illustrates an example architecture of one or more servers associated with an geohash-phrase system according to some implementations.
[0020] FIG. 17 illustrates example components of one or more user devices hosting a client side application associated with the geohash-phrase system according to some implementations.
DETAILED DESCRIPTION
[0021] This disclosure includes techniques and implementations associated with a geohash-phrase system for utilizing phrases or phrase words as a geohash in a manner that improves a human' s ability to memorize and recall location based information. For example, in geohashing the world is divided into multi-level regions that are assigned a hash tag or code. A computer system is then able to quickly locate or perform operations associated with a desired location in response to receiving the hash code as an input. [0022] In some cases, the regions may be based on longitude and/or latitude coordinates of the globe. For example, atop-level region may include an approximately 97 miles square area. The top-level region may be divided into 1,024 approximately 3 miles square regions. Each of the lower regions may then be divided and so and so forth until the regions are as small as a nanometer. In this manner, the computer system may perform operations, analysis, or other computations based on allocation at various levels of specificity. As the system describe herein is designed for use by humans in communicating location information, the geohash-phrase regions may include six levels with the smallest region being approximately 3/16th of an inch square and the largest region being approximately 97 miles square, in some examples.
[0023] In some cases, each region may be assigned a location indicated by either the four bounding corners or a center location within the region. Each region may also be assigned a hash code as discussed above. In addition to the location (e.g., a latitude and longitude coordinate) and the hash code, each of the regions may be assigned a geo-hash phrase. In some cases, the geohash-phrase may include phrase words pulled from a dictionary (such as an English dictionary for English speakers, a Spanish dictionary for Spanish speakers, and so forth). In some cases, the phrase words assigned to the geohash phrase regions may be selected for improved searching or user interaction with computing systems. For example, the geohash-phrases may be selected from a pool consisting of nouns, verbs, and adjectives within the selected dictionary. In this manner, the system may allow individuals to memorize sentences associated with a location and to allow the sentence to be entered as a user input into a computing system without having overlapping phrase words. For example, a region may be represented by the geohash-phrase "dog kicks big man purple hydrant" which in turn may correspond to a geohash of "9gv4sznppj lze". However, a user may in some cases memorize the geohash-phrase as a sentence, such as "the dog kicks a big man into a purple hydrant". In this example, the user input terms "the", "a", "into", "a", may be ignored by the computer system as the terms are not in the geohash-phrase dictionary. Thus, the geohash-phrase system allows the user to memorize sentences rather than concatenated phrase words or letter number sequences common in hash codes.
[0024] In some cases, each phrase word assigned to a region differs from phrase words assigned to other regions, such that the location may be determined irrelevant of the order the phrase words were entered as an input or communicated. For example, the geohash-phrase "the dog kicks a big man into a purple hydrant" would be the equivalent to the geohash-phrase "the hydrant kicks a purple dog into a big man". Additionally, by utilizing a geohash-phrase system that utilizes unique verbs, adjectives, and nouns to represent regions, the same phrase word may be used in multiple languages in a natural way as order and connecting phrase words (e.g., adverbs, prepositions, articles, etc.) have no bearing on the system's ability to identify and determine location information or regions.
[0025] In some implementations, the geohash-phrases may also be selected to align generally with the human cognitive and recognition ability. For example, the phrase words may be assigned in an order that aligns with the sentence structure of the associated language. In some cases, regions may be assigned phrase words in the order that reflects typical sentence structure. For instance, the order may be noun, verb, adj ective, noun, verb, adjective, and so forth. Thus, the recallability of a location descriptor (e.g., the geohash-phrase) of a location may be further aligned with the cognitive ability of humans.
[0026] In some examples, the geohash-phrase system may allow an individual or system to provide a level of specificity associated with a location. For example, by using a geohash-phrase "dog" the system may communicate a region of approximately 100 miles square. However, using a geohash-phrase "dog kicks" the system may communicate a region of approximately 3 miles square. Likewise, inputting a geohash- phrase "dog kicks big man" may allow the user of the system to specify a region of approximately 15 feet square.
[0027] In some implementations, multiple geohash-phrases may be assigned to the same region. For example, the phrase word "Eiffel" and the phrase word "Seine" may be assigned to the same region within Pairs. In this manner, different people may memorize different geohash-phrases for the same region. In some cases, the system discussed herein, may allow users to assign new or unused phrase words to a region to create their own geohash-phrases for a region. For example, the system may include a voting system, payment system, or other selection system that may be used to assign names to regions.
[0028] In some situations, each region may be assigned names based at least in part on the population, landmass, and/or usage statistics of phrase words within a selected dictionary. For instance, in one example, the geohash-phrase system may assign regions with zero population (such as regions entirely within the ocean) a phrase generated by concatenating multiple phrase words within a dictionary together. For example, "monkey-blue-wind" or "large-sheep-sleeps" may be assigned to a top level or approximately 97 miles square region. In this manner, regions with zero population that are unlikely to be the result of a search or analysis by the system may be assigned longer phrases but still include phrase words in a manner that a human is able to more easily memorize than the standard address system used today.
[0029] In the current example, the system may then assign phrase words to a region based on the highest level of usage within the dictionary (e.g., a phrase word that is unassigned and most commonly used are assigned next) to the most populated areas and in cases where the population is zero or a tie between two regions, the system may assign the most commonly used and unassigned phrase words based on landmass. For example, a region that is 90% water may be assigned a phrase word after a region that is 80% landmass.
[0030] FIG. 1 illustrates an example geohash-phrase system 100 according to some implementations. In the current example, the geohash-phrase system 100 may include a remote or cloud based system 102 operating as a cloud-based service 104 for one or more applications operating on local devices 106(1)-(K) proximate to a user 108(1)-(L). In the illustrated example, the cloud-based geohash-phrase service 104 may operate on one or more cloud-based resources 110. The cloud-based resources 110 may include one or more communication interfaces 112 in communication with the local devices 106 via one or more networks 114 (such as the Internet).
[0031] The cloud-based resources 110 hosting the cloud-based geohash-phrase service 104 may also include one or more processors 116 as well as computer-readable storage media 118. Several modules such as instructions, data stores, and so forth may be stored within the computer-readable storage media 118 and configured to execute on the processors 116. For example, a location determining instructions 120, a phrase identification instructions 122, phrase pruning instructions 124, phrase assigning instructions 126. In some implementations, the computer-readable media 118 may store data, such as location data 128 (e.g., latitude-longitude, size, landmass, population density, GPS coordinates, and/or other data associated with each region), geohash data 130 (e.g., hash codes or tags assigned to regions), and geohash-phrase data 132, as well as other data. [0032] The location determining instructions 120 may be configured to receive position data 134 from one or more of the local user devices 106(1)-(K). The position data 134 may include information or data usable to determine a desired position relative to the Earth. For example, position data 134 may include coordinates, data collected from sensors such as inertial measurement units (IMU), global positioning system units (GPS), accelerometers, gyroscopes, magnetometers, etc., among other machine collected location/position data.
[0033] The location determining instructions 120 may also be configured to receive location data 140 from one or more of the local user devices 106(1)-(K). The location data 140 may also include information or data usable to determine a desired position relative to the Earth. For example, location data 140 may include coordinates, regions, or locations selected on by the user 108 via a user interface map displayed on the device 106, names of locations (e.g., landmarks, cities, countries, etc.) entered by the user 108, among other data representative of a location. In some cases, the location data 140 may be representative of a current location of the user 108, while in other cases, the location data 140 may be representative of a desired location (e.g., an individual in Austin, Texas is viewing information useful for planning a trip to Paris, France).
[0034] In some situations, the location determining instructions 120 may also be configured to receive a hash code 142 from one or more of the local user devices 106(1)- (K). For example, the user 108 may enter a hash code 142 or the device 106 may convert a user input into a hash code 142 to be provided to the geohash-phrase system 104 to improve processing speed associated with determining a location.
[0035] Once the position data 134, location data 140, and/or the hash code 142 is received, the location determining instructions 120 may cause the cloud-based geohash phrase system to translate the position data 134, location data 140, and/or the hash code 142 to a geohash phrase 136 and/or information 138 associated with the desired location, which may be returned to the device 106. For example, the location determining instructions 120 may receive "Paris France" as a use input. The location determining instruction 120 may determining a region associated with Paris France using the location data 128. Once the region is determined, the location determining instructions 120 may determine the geohash phrase 134 via a stored mapping or table between the geohash phrase data 132, the location data 128, and the geohash data 130. In other examples, the location determining instructions 120 may determine the geohash for the region represented by the user input Paris France and then convert the geohash into the geohash phrase 136.
[0036] In some implementations, the information 138 associated with the desired location may include various types of information useful to the user 108 when viewing the region represented by the geohash phrase 136. For example, the information 138 may include overlays, such as elevation maps, weather/storm patterns, population density maps, demographic information, economic information, traffic information, road maps, other transpiration maps. The information 138 may also include other information such as landmark information, business information, tourist attractions, ratings, trend data, emergency care data, etc.
[0037] In some cases, the cloud-based geohash phrase system 104 may be configured to access third party data stores and systems (not shown) in order to provide the information 138 to the user device 106. For example, the cloud-based geohash phrase system 104 may utilize the location data 128 to access weather and/or traffic data available via various third party news and government systems.
[0038] In some implementations, the cloud-based geohash phrase system 104 may provide the geohash code to the user device 108 in lieu of the geohash phrase 136. In these implementations, an application operating on the device 106 may be configured to convert the geohash code to the geohash phrase 136 prior to displaying the information 138 to the user 108.
[0039] In some examples, the user 108 may input phrase data 140 (e.g., a geohash phrase, a partial geohash phrase, etc.). In these examples, the phrase identification instructions 122 may utilize the geohash phrase data 132 and/or the location data 128 to identify the region or location associated the phrase data 140. As discussed above, as the geohash phrases for each top-level region differ from each other. Further, each sub- level region within the region differ from each other and so forth and so on. Additionally, in some example, only nouns, verbs, and adjectives are used as phrase words associated with a region. In this manner, the user 108 may enter the phrase data 140 in various formats. For example, the geohash-phrase "the dog kicks a big man into a purple hydrant" would be the equivalent to the geohash-phrase "the purple hydrant kicks a big dog into a man".
[0040] The user 108 may also specify a level granularity with respect to the region (e.g., the user 108 may select between levels of varying size - from regions of approximately 97 miles square to regions as small as a few inches square). For example, by adding or removing phrase words from the phrase data 140 being provided as a geohash phrase to the cloud-based geohash phrase system 104, the user 108 may determine the granularity or size of the region being selected. For instance, each noun, verb, or adjective added to the phrase data 140 results in a smaller region being selected by the phrase identification instructions 122.
[0041] In some cases, an application operating on the device 106 may be configured to provide the location data 140 (e.g., latitude longitude coordinates), the hash code 142, and the phrase data 140 to the geohash phrase system 104 with each location based query being placed. Similarly, the geohash phrase system 104 may also be configured to return the location data 140, the geohash code 142, and the geohash phrase 136 as part of each response to a query.
[0042] In some examples, some of the phrase words usable to generate geohash phrases may become obsolete or take on alternative meanings over time as language evolve and change. In these examples, it may no longer make sense to maintain a particular phrase words association to a region. For instance, a phrase word may take on a derogatory meaning and should be replaced as the phrase word in the geohash phrase representing a region. Thus, the phrase running instructions 124 may be configure to determine any changes in phrase words meaning or relevance. For instance, the phrase running instructions 124 may apply a relevancy score or usability score to each phrase word, and once a phrase word falls below a threshold score replace the phrase word as representative of a region using an unassigned phrase word having a score greater than the threshold or greater than a second threshold (e.g. , an assignment threshold).
[0043] The cloud-based geohash phrase system 104 also includes the phrase assigning instruction 126. The phrase assigning instruction 126 may be configured to allow the users 108 of the system 100 to assign additional names to regions. For example, an entity or user may be able to purchase the rights to name a region. In other examples, the community of users 108(1)-(L) may be able to vote or otherwise provide feedback to cause a region to receive additional phrase word. In some case, various events may cause regions to take on new or uncommon nick names. In these cases, the phrase assigning instruction 126 may be configured to identify the new nick names (e.g., via monitoring social media, third party sites, etc.) and to cause the new nick name to be assigned to the region if currently not in use. In one particular example, the phrase pruning instructions 124 together with the phrase assigning instruction 126 may cause the new nick name to be reassigned from an existing region to the new region (e.g., the regions may swap phrase words).
[0044] Initially, each region may be assigned a location (e.g., latitude/longitude coordinate) and/or a geohash code. However, each region may not be assigned a geohash phrase word. In this situation, the phrase assigning instruction 126 may be configured to assign phrase words to regions based at least in part on the population, landmass, and/or usage statistics of phrase words within a selected dictionary. For instance, in one example, the phrase assigning instruction 126 may assign regions with zero population (such as regions entirely within the ocean) a phrase generated by concatenating multiple phrase words within a dictionary together to form a new phrase word. For example, "monkey-blue-wind" or "large-sheep-sleeps" may be assigned to a top level or approximately 97 miles square region. In this manner, regions with zero population that are unlikely to be the result of a search or analysis by the system 100 may be assigned longer phrases but still include real words as phrase words. Thus, the phrase words may still be in a format that a human is able to more easily memorize than the standard address system.
[0045] In the current example, the phrase assigning instruction 126 may then assign phrase words to a region based on the highest level of usage within the dictionary (e.g., phase words may be assigned in order of most commonly used unassigned words within a dictionary) and population density. For example, regions associated with maj or world cities may be assigned more commonly used words as phrase words than regions including only rural areas. In cases where the population is zero or a tie between two regions, the phrase assigning instruction 126 may assign the phrase words based on landmass. For example, a region that is 10% landmass and 90% water may be assigned a phrase word having a lower usage rating than a region that is 90% landmass and 10% water.
[0046] FIG. 2 illustrates an example geohash-phrase system 200 according to some implementations. In the current example, the geohash-phrase system 200 may include a remote or cloud based system 202 operating as a cloud-based service 204 for one or more applications operating on local devices 206 proximate to a user 208. In the illustrated example, the cloud-based geohash-phrase service 204 may operate on one or more cloud-based resources 210. In the current example, the devices 206 may host or implement an application or app 212 that allows the user 208 to interact with the geohash phrase system 204. The device 206 may include one or more processors 214, and computer-readable storage media 216 as well as communication interfaces 218, sensors 220, and input/output interfaces 222.
[0047] The communication interfaces 218 may support both wired and wireless connection to various networks, such as cellular networks, radio (e.g., radio-frequency identification (RFID)), WiFi networks, short-range or near-field networks (e.g., Bluetooth®), infrared signals, local area networks, wide area networks, the Internet, and so forth. For example, the communication interfaces 218 may allow the device 206 to send and receive data associated with location and geohash phrases from the geohash phrase system 204.
[0048] The sensors 220 may be used to monitor position and movement of the user device 206. For example, the sensors may include motion sensors (e.g., gyroscopes and accelerometers) and/or position sensors (e.g., Global Position System (GPS) or other satellite receivers based location tracking systems). In some case, the sensors may include systems for tracking movement based on wireless signals, such as the nearest cellular tower or currently connected tower. [0049] The input/output interfaces 222 may include one or more output components, such as a display or touch screen, and one or more input components, such as keyboards, keypads, joysticks, a mouse, a touch screen, touch pad, drawing pad, or control buttons. In some implementations, the output components and input components are combined in a single interface to provide a touch-sensitive display, or touch screen display. For instance, in the illustrated example, the input/output interfaces 222 include one or more displays for presenting information, such as electronic content items, to a user, one or more input sensors for accepting input resulting from contact and/or application of incident force, such as a user finger or stylus pressing upon one of the sensors.
[0050] The computer-readable storage media 216 may include volatile and nonvolatile memory, 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. Such memory includes, but is not limited to, RAM, ROM, 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, RAID storage systems, or any other medium which can be used to store the desired information and which can be accessed by a computing device.
[0051] Several modules such as instruction, data stores, and so forth may be stored within the computer-readable storage media 216 and configured to execute on the processors 214. For example, the computer-readable media 216 may store an application 212 that includes geohash phrase instructions 224, geohash phrase lookup instructions 226, geohash phrase word assignment instructions 228, alert instructions 230, phrase selection instruction 232, and dictionary update instructions 234. In some cases, the geohash phrase application 212 may also store a local geohash phrase dictionary 236 to, for instance, improve lookup time of geohash codes and/or geohash phrases without accessing the cloud-based geohash phrase system 204.
[0052] The geohash phrase instructions 224 may be configured to allow users 208 to enter a geohash phrase 238 and to cause information 240 associated with a region indicated by the geohash phrase 238 to be displayed on the input/output interface 222. For instance, the geohash phrase instructions 224 may allow the user 208 to type a sentence or series of words and in retum be presented with a map of the region on the input/output interface 222. In general, the phrase instruction 228 may access the local geohash phrase dictionary 236 to determine the location information 240. In some cases, the geohash phrase 236 may not be present in the local geohash phrase dictionary 236, such as when the dictionary 228 or 204 has been updated to include additional words or phrases. In this case, the geohash phrase instructions 224 may send the geohash phrase 236 to the geohash phrase system 204 and receive in retum the location data 240, a hash code 242, as well as a corresponding geohash phrase 236 (e.g., the phrase provided or additional phrases that may be present in the local dictionary 236).
[0053] The geohash phrase lookup instructions 226 may be configured to allow the user 208 to indicate a region and in retum receive the corresponding geohash phrase 236 or phrase words associated therewith. For example, the user 208 may be presented with a map of the globe and in response to a user selection be presented with the corresponding geohash phrase 236. In some cases, the geohash phrase lookup instructions 226 may access the cloud-based geohash system 204 using the location data 240 and receive in retum one or more geohash phrases 238, location data 240, and a geohash code 242. [0054] The geohash phrase word assignment instructions 228 may be configured to allow one or more users 208 to request a region be associated with a desired phrase word. For example, the user may select a region and enter a bid on the value the user would exchange for the right to assign a phrase word to the region. In other cases, the user may be presented with a region and a list of possible phrase words and allowed to select or vote on one or more of the list of possible phrase words.
[0055] The alert instructions 230 may be configured to notify the user 208 to an update related to the dictionary 236, the geohash phrase system 204, or a region of indicated previously indicate by the user 208.
[0056] The phrase selection instructions 232 may be configured to determine which phrase word or geohash phrase 236 the phrase lookup instructions 226 should present to the user 208 via the input/output interface 222. For example, some regions may have additional phase words assigned (e.g., two or more phrase words are associated with the region). In these cases, the phrase selection instruction 232 may be configured to select which of the phrase words for region should be used by the phrase lookup instructions 226. For example, the phrase selection instructions 232 may determine phrase words based on user data, such as demographic data, user history, user preferences, historical data, and/or other information known about the user 208.
[0057] The dictionary update instructions 234 may be configured to periodically, in response to a user input, or in response to a failed local geohash phrase lookup to update the geohash phrase dictionary 236 with any new phrase words added to the geohash phrase system 204 since the last update. In this manner, the dictionary 236 may be keep up to date.
[0058] FIG. 3 illustrates an example table showing the relationship of a location 306 to a geohash character code 304 and a geohash character code 304 to a phrase word 302 according to some implementations. The table 300 also includes the size of the region in metric 308 and in imperial 310 measurements. In the illustrated table, the location 306 is indicate of a (latitude, longitude) coordinate of the center of the corresponding region. For example, the region represented by the geohash phrase "dog kicks big man" has a center located at 32.822878, -96.813948 and represents a region that covers 15.674 feet square. Likewise, the geohash phrase "dog kicks" has a center located at 32.805, -96.833 and represents a region that covers a 3.040 miles square. Thus, as shown, each region may be assigned a different location 306, geohash 304, and geohash phrase words 302.
[0059] FIG. 4 illustrates an example table showing the relationship of a location 406 to a geohash character code 404 and a geohash character code 404 to multiple geohash-phrase words 406 according to some implementations. The table 400 also includes the size of the region in metric 408 and in imperial 410 measurements, as in FIG. 3 above.
[0060] In this example, the phrase words 402 includes additional phrase words for some of the corresponding geohash character codes 404 and physical locations 406. In some implementations, the additional phrase words may be used in the alternate to generate geohash phrases. For example, "Dog Kicks Big Man Purple Hydrant" would be equivalent (e.g., return the same region) to "Puppy Jumps Enormous Man Cold Water". In some cases, the additional phrase words associated with each level of a geohash phrase may be interchangeable, such as the case with additional phrase words, generally indicated by 412 and 414. For instance, the word "Dog" and the word "Canine" generally refer to the same object/thing and are replaceable within speech or text associated with the English Dictionary. In other cases, the additional phrase words associated with each level of a geohash phrase may be unrelated, such as the phrase words indicated by 416. In still other cases, the additional phrase words associated with each level of a geohash phrase may not be interchangeable but may be related, such as the phrase words indicated by 418. For instance, the words "hydrant", "firetruck", and "fireman" are all related to a fire department. In these instance, the phrase words 418 may be selected to improve recall and memorization of geohash phrases.
[0061] In some specific cases, the phrase words, such as the additional phrase words 420, may be assigned by individuals or entities, as discussed below. The phrase word "John-Smith" and "Mary-Smith" may have been added on behalf of John and Mary Smith. For example, John and Mary may be famous or associated with a particular region, may have been voted in by popular demand as additional phrase words 420, or John and Mary may have purchased the rights to select additional phrase words 420 and designated their names.
[0062] In some cases, the collection of phrase words 402 including the original phrase words and the additional phrase words may be refer to herein as a phrase word domain. In some case, the output of the system may be or include the geohash phrase word domain.
[0063] It should be understood that for some implementations, a valid phrase word may be defined as a case insensitive contiguous sequence of characters where a character must be selected from all 26 letters, all 10 numbers, a hyphen, or an underscore). In another implementation, phrase words may be defined in a manner in which the phrase word does not follow the above rule (e.g., a valid word could be "John Smith").
[0064] FIG. 5 illustrates an example map 500 having a geohash-phrase region 502 according to some implementations. In the current example, the geohash phrase region 502 illustrates a top-level region. In this example, the region 300 is a region that is two tiers above the region having the phrase word "big" of FIG. 3. Thus, it should be understood that the size of a region and any sub-regions thereof may vary depending in the level of granularity desired for the application associated with the geohash phrase system. For instance, the region 502 may be much larger than the approximately 97 miles square of the top region "big" of FIG. 3. In this example, the region 502 may correspond to a geohash code of "U" or a phrase word of "goat".
[0065] The current example, also shows one set of sub-regions, generally indicated by 504. The sub-region 504 has a code of "0" thus the hash code is "U0" thereby indicating the top-level region 502 and the first sub-region 504. Likewise, the region 504 has a phrase word "runs" and a geohash phrase of "goat runs". Thus, the current map 500 illustrates how the geohash phrases relate to geohash codes and are more aligned with the cognitive ability of human individuals. For example, a human has an easier time recalling that a friend live at "goat runs" than at "U0". The issue will become clear when the hash code and locations become more refined, as illustrated below with respect to FIG. 6.
[0066] FIG. 6 illustrates an example map 600 including multi-level geohash-phrase regions 602 and 604 according to some implementations. In the current example, the map 600 has been zoomed in from the region 502 having the phrase word "goat" to show additional sub-regions 602 and 604. The sub-region 602 may have a phrase word "dog" and the sub-region 604 may have the phrase word "tall". Thus, the sub-region 604 may be represented by the geohash phrase "goat runs dog tall" or "tall goat runs by a dog". However, in other examples, such as the example having a top-level 504 "runs" the sub-region 604 may be represented by "tall dog runs". For instance, when the geohash phrase system is associated with human-location interaction any region larger than 100 miles square may be irrelevant and the additional high level regions (e.g., 502 and 504) may only cause additional and largely unnecessary memorization. Thus, in some examples, the top-level region of the geohash phrase system may be region 602 or 604.
[0067] As illustrated, the regions 504, 602, and 604 of the map 600 are formed by rectangles. Each of the rectangle regions 504, 602, and 604 may be formed from thirty- two equal sized sub-regions (or form an 4x8 or 8x4 region). In the current example, the rectangles alternative between 4x8 and 8x4 but in other examples other arrangements may be used. For example, the size and or location of a region may be determined based on population, search relevancy (e.g., how often the region or sub- region is search result), usage (e.g., how often the region or sub-region is a user input), usage, etc.
[0068] FIG. 7 illustrates another example map 700 of geohash-phrase regions 504, 702, 704, 706, and 708 according to some implementations. In the current example, the geohash phrase region 504 is shown as being bounded by four sub-regions 702-708. In this example, the location data may be organized based on the comer sub-regions of each region. For instance, the center of each comer region 702-708 may be stored as the location data in lieu of the center latitude and longitude of the region 504 itself. In this manner, the size of the regions at similar levels may be configured to vary again based on metrics such as population, landmass, usage, economic data, demographic data, etc.
[0069] FIG. 8 illustrates an example map 800 of a geohash-phrase region 802 and sub-regions 804 and 806 associated with a famous landmark according to some implementations. For example, as discussed above, to further align the phase words with the cognitive awareness of the human and thereby improve recall and memorization of location information, the regions associated with landmarks or unique names/nick names may be assigned the names as associated phrase words within the geohash phrase of the regions. For instance, in the illustrated example, the region 806 may have the phrase word "Eiffel", the region 804 may have the phase word "built" and the region 802 may have the phrase word "tower". Further, if the high-level region (not shown) has a phrase word "Gustave" then the geohash phrase for the region 806 including the Eiffel Tower may be "the Eiffel tower was built by Gustave", which is a historical fact, thus easier to memorize or known by a large number of the individuals that search the location of the Eiffel tower.
[0070] FIG. 9 illustrates an example map 900 of the geohash-phrase region 906 associated with a location having a famous landmark 902 according to some implementations. In the current example, the landmark 902 is the Eiffel Tower and as shown at some level of granularity, the landmark 902 is part of multiple sub-regions, in this case, regions 904 and 906. In these cases, both regions are unable to have the phrase word. Further, "Eiffel" was already assigned to region 806. Thus, the sub- regions may be formed from additional nouns, verbs, and adj ectives associated with the famous landmark 802. For example, the region 802 may be assigned the phrase word "Sauvestre" the other architect behind the Eiffel tower and the region 704 may be assigned the phrase word "lattice" or a word descriptive of the features of the Eiffel tower.
[0071] FIG. 10 illustrates an example geohash-phrase region 1002 having sub- regions 1004-1010 with further sub-region 1012-1018 in the same position and having the same phrase word assigned according to some implementations. For example, in some implementations, each sub-region within a larger region may maintain the same set of phrase words assigned in the same pattern. Thus, the regions cat 1004, dog 1006, cow 1008, and pig 1010 each include a corresponding upper right hand comer region, 1012-1018. In this example, each of the regions 1012-1018 have the same phrase word assigned, e.g., "Tall" in this example. However, the geohash phrase for each of the regions 1012-1018 with region 1002 as the top-level region differ. For example, the geohash phrase for region 1012 is "Tall Cat Swims", for region 1014 is "Tall Dog Swims", for region 1016 is "Tall Cow Swims" and for region 1018 is "Tall Pig Swims". Thus, in this example, the phrase words are unique with respect to each parent-child relationship and within each sub-region itself. Thus, Tall is used only to refer to region 1014 within region 1006.
[0072] FIG. 11 illustrates an example geohash-phrase region 1102 having sub- regions 1104-1110 with further sub-region 1112-1118 in the same position and having possible different phrase word assigned according to some implementations. For example, in some implementations, each sub-region within a larger region may generally maintain the same set of phrase words assigned in the same partem. Thus, the regions cat 1004, dog 1006, and cow 1008, each include a corresponding upper right hand corner region, 1012-1016. In this example, each of the regions 1012-1016 have the same phrase word assigned, e.g., "Tall" in this example. However, unlike FIG. 10 above, the upper right hand comer region 1118 of the region 1110 is assigned the phrase word "fat". In this example, the phrase word "fat" may be an additional phrase word such that the phrase word "tall" is also assigned to region 1118. In an alternative example, the phrase word "tall" may not be an additional phrase word of the region 1118. In this alternative example, the phrase words are unique not only with respect to each parent-child relationship and within each sub-region itself, but may be unique within each region included in a top-level region. In one specific example, the dictionary may be unique [0073] FIG. 12 illustrates an example map 1200 with two adjacent geohash-phrase regions 1202 and 1204 according to some implementations. In the current example, the geohash phrase for region 1202 may be "dog kicks books" and the region 804 may be "dog kicks buckets". In the current example, each of the regions 802 and 804 include two visible sub-regions 1206 and 1208 as well as 1210 and 1212 respectively. In this example, the sub-region 1206 and the sub-region 1210 may be assigned the same phrase word, for instance, "big" as each sub-region 1206 and 1210 are at the same location within the parent regions 802 and 804. Likewise, the sub-region 1208 and 1212 are at the same phrase word "tall" as each shares a location relative to the parent regions 1202 and 1204. Thus, the geohash phrase for the region 806 may be "dog kicks big buckets" and the geohash phrase for the region 1210 may be "dog kicks big books". The difference being the phase word "buckets" versus "books" of the parent regions 1202 and 1204.
[0074] In some cases, the geohash phrase system may be configured to utilize additional location information, such as GPS, cell tower signal strength, etc., to assist with determining a correct geohash phase associated with a location, such as a location of a user device. In some cases, the location data may be utilized to assist with inaccurate or fault user inputs. For example, if a user input the phrase "dog kicks big books" but was inside of the region 1204 rather than the region 1202, the location information may be used to present the user with a request for clarification or with multiple options for the desired region (e.g., sub-regions 1206 and 1210).
[0075] FIGS. 13-15 are flow diagrams illustrating example processes associated with an offer processing system according to some implementations. The processes are illustrated as a collection of blocks in a logical flow diagram, which represent a sequence of operations, some or all of which can be implemented in hardware, software or a combination thereof. In the context of software, the blocks represent computer- executable instructions stored on one or more computer-readable media that, which when executed by one or more processors, perform the recited operations. Generally, computer-executable instructions include routines, programs, objects, components, encryption, deciphering, compressing, recording, data structures and the like that perform particular functions or implement particular abstract data types.
[0076] The order in which the operations are described should not be construed as a limitation. Any number of the described blocks can be combined in any order and/or in parallel to implement the process, or alternative processes, and not all of the blocks need be executed. For discussion purposes, the processes herein are described with reference to the frameworks, architectures and environments described in the examples herein, although the processes may be implemented in a wide variety of other frameworks, architectures or environments.
[0077] FIG. 13 is an example flow diagram showing an illustrative process 1300 for generating a geohash-phrase dictionary according to some implementations. As discussed above, from time to time a geohash phrase system may generate a new geohash phrase mapping between locations, geohash codes, and geohash phrases. For example, the system may generate a first mapping based on equal size regions and a second mapping with regions sized based on population density. In another example, the system may generate a new mapping based on a new dictionary or a limited dictionary selected by one or more users of the system.
[0078] At 1302, the system may generate a plurality of hyphenated phrase words from existing words within the dictionary. For instance, by combining multiple words into a single phrase word, the phrase word for a region may still form a sentence within a dictionary but may expand the dictionary to additional nouns, verbs, and adjectives in the cases where the number of available phrase words are limited.
[0079] At 1304, the system assigns individual hyphenated phrase words to locations associated with water based regions of the globe. For example, regions that are entirely or primarily covered by water are unlikely to be the subj ect of large number of geohash phrase lookups, results, or inquiries. Thus, the system may assign the new created or generated hyphenated phase words to the regions that are unlikely for a user to attempt to memorize.
[0080] At 1306, the system may identify unique location names. For example, as discussed above, the system may identify famous landmarks such as the Eiffel Tower, the Statue of Liberty, the Golden Gate Bridge, the Buckingham Place, Mt. Rushmore, the Forbidden city, etc. In other cases, the system may identify unique nick names like the Windy City, the Big Apple, Silicon Valley, etc.
[0081] At 1308, the system may assign the unique location names to the regions encompassing the unique location. For example, the area of Paris France associated with the Eiffel Tower may be assigned the phrase words "Eiffel" and "tower" as well as words associated with the Eiffel tower. Areas around San Francisco USA may be assigned the words "Golden", "Gate", and "Silicon". Once the words are assigned as a phrase word, the system may remove them from the available pool of phase words within a dictionary.
[0082] At 1310, the system may rank any unassigned nouns, verbs, and adjectives (e.g., the unassigned words within the dictionary) based at least in part on usage statistics. For example, the system may access third party databases or systems to determine word usage statistics for various words within a dictionary. [0083] At 1312, the system may assign unassigned regions phrase words based at least in part on the population density and the usage ranking. For example, once unique locations and remote locations have been assigned either the unique names, phrase words associated with the unique names, or newly generated/hyphenated phrase words, the remaining regions may be assigned phrase words in order of highest population and highest usage ranking. So the next phrase word with the highest usage may be assigned to the region with the highest population density.
[0084] At 1314, the system may assign unassigned regions whose population density is zero phrase words based at least in part on amount of landmass and the usage ranking. For example, some part or reserve regions may have no population but large landmass percentages. In this case, the system my assign remaining phrase words in order of largest amount of landmass.
[0085] Process 1300 provides one example for assigning phrase words to regions. However, in other examples, it should be understood that other metrics may be used. For example, phrase words may be assigned based on word usage and most searched regions, most relevant regions, most visited regions, most famous regions, etc.
[0086] FIG. 14 is an example flow diagram showing an illustrative process 1400 for assigning phrase words to a geohash region according to some implementations. As discussed above, in some cases, additional phrase words may be assigned to a region after the geohash phrase system has assigned an initial phrase word to each region based on a selected dictionary. For instance, a user, entity, or individual may purchase the rights to name or select a phrase word for a selected geohash region. In another example, a famous event or occurrence may become associated with a region (such as a speech, rally, disaster, etc.). In still other examples, public voting may be used via, for instance, social media to select new phrase words for a region. [0087] At 1402, the system may receive a selection of a region and a desired phrase word. For example, the individual or entity that purchased the rights to name a region may input the desired name.
[0088] At 1404, the system may determine the word is a noun, verb, or adjective associated with the desired dictionary. For example, if the word is in English the system may determine if the desired phrase word is within the dictionary (e.g., is an actual word), and if it is if the desired phrase word is a noun, verb, or adjective to prevent parts of speech such as conjunctions from becoming assigned as phrase words. In some cases, if the desire phrase word is not part of the dictionary but appears to be a noun, verb, or adjective (e.g., a name of an individual, entity, or object), the system may deem the desired phrase word acceptable.
[0089] At 1406, the geohash phrase system may determine that the desired phrase word is unassigned. For instance, in some cases, each of the phrase words for each region may be unique and, thus, if the desired phrase word is already assigned then the phrase word may not be reused. In other cases, phrase words may be unique within sub- regions of a region and, thus, if another sub-region is already assigned the phrase word then it may be unacceptable to assign the desired phrase word to another sub-region.
[0090] At 1408, the geohash phrase system may assign the desired phrase word as an additional phrase word for the region. For example, in some cases, a region may be assigned multiple phrase words, such that each phrase word assigned may be used interchangeably to refer to the region. For example, a region may be assigned the phrase word "dog" but have an additional phrase word "cat". In this example, the geohash phrase "dog kicks big man purple hydrant" is equivalent to "cat kicks big man purple hydrant". [0091] FIG. 15 is an example flow diagram showing another illustrative process 1500 for assigning phrase words to a geohash region according to some implementations. As discussed above, in some cases, additional or additional phrase words may be assigned to a region after the geohash phrase system has assigned an initial phrase word to each region based on a selected dictionary. For instance, a user, entity, or individual may purchase the rights to name or select a phrase word for a selected geohash region. In another example, a famous event or occurrence may become associated with a region (such as a speech, rally, disaster, etc.). In still other examples, public voting may be used via, for instance, social media to select new phrase words for a region.
[0092] At 1502, the system may receive a selection of a region and a desired phrase word. For example, the individual or entity that purchased the rights to name a region may input the desired name.
[0093] At 1504, the system may determine the word is a noun, verb, or adjective associated with the desired dictionary. For example, if the word is in English the system may determine if the desired phrase word is within the dictionary (e.g., is an actual word), and if the desired phrase word is a noun, verb, or adjective, to prevent parts of speech such as conjunctions from becoming assigned as phrase words. In some cases, if the desired phrase word is not part of the dictionary but appears to be a noun, verb, or adjective (e.g., a name of an individual, entity, or object), the system may deem the desired phrase word acceptable.
[0094] At 1506, the geohash phrase system may determine that the desired phrase word is assigned to a second region. For instance, in some cases, each of the phrase words for each region may be unique and, thus, if the desired phrase word is already assigned then the phrase word may not be reused. In other cases, phrase words may be unique within sub-regions of a region and, thus, if another sub-region is already assigned the phrase word then it may be unacceptable to assign the desired phrase word to another sub-region.
[0095] At 1508, the system may determine that the second region has an additional phrase word. For example, in some cases, a region may be assigned multiple phrase words, such that each phrase word assigned may be used interchangeably to refer to the region. For example, a region may be assigned the phrase word "dog" but have an additional phrase word "cat". In this example, the geohash phrase "dog kicks big man purple hydrant" is equivalent to "cat kicks big man purple hydrant".
[0096] At 1510, the geohash phrase system may assign the desired phrase word to the first region and unassign the desired phrase word from the second region. For instance, since the second region has an additional phrase word, the system may be able to reassign the phrase word to the first region.
[0097] FIG. 16 illustrates an example architecture of one or more servers associated with an geohash-phrase system according to some implementations. The servers, which host the geohash phrase system 1600 collectively comprise processing resources, as represented by processors 1602, and computer-readable storage media 1604. The computer-readable storage media 1604 may include volatile and nonvolatile memory, 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. Such memory includes, but is not limited to, RAM, ROM, 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, RAID storage systems, or any other medium which can be used to store the desired information and which can be accessed by a computing device.
[0098] The servers may also include one or more communication interfaces 1606, which may support both wired and wireless connection to various networks, such as cellular networks, radio (e.g., radio-frequency identification (RFID)), WiFi networks, short-range or near-field networks (e.g., Bluetooth®), infrared signals, local area networks, wide area networks, the Internet, and so forth. For example, the communication interfaces 1606 may allow the geohash phrase system 1600 to receive transaction data, user communications, and/or offer data from user devices and third party systems. In some cases, a co-located management system may act as a proxy or additional tier for a cloud-based management system.
[0099] Several modules such as instructions, data stores, and so forth may be stored within the computer-readable storage media 1604 and configured to execute on the processors 1602. For example, a location determining instructions 1608, a phrase identification instructions 1610, phrase pruning instructions 1612, phrase assigning instructions 1614. In some implementations, the computer-readable media 1604 may store data, such as location data 1616 (e.g., latitude-longitude, size, landmass, population density, GPS coordinates, and/or other data associated with each region), geohash data 1618 (e.g., hash codes or tags assigned to regions), and geohash-phrase data 1620, as well as other data.
[00100] The location determining instructions 1608 may be configured to receive position data from one or more of the local user devices. The position data may include information or data usable to determine a desired position relative to the Earth. For example, position data may include coordinates, regions selected on by the user via a user interface map displayed on the device, names of locations (e.g., landmarks, cities, countries, etc.), data collected from sensors such as inertial measurement units (IMU), global positioning system units (GPS), accelerometers, gyroscopes, magnetometers, etc., among other data. In some situations, the position data may include a hash code or a geohash phrase of the desired location. In some cases, the position data may be representative of a current location of the device, while in other cases, the position data may be representative of a desired location (e.g., an individual in Austin, Texas is viewing information useful for planning a trip to Paris, France).
[00101] Once the position data is received, the location determining instructions 1208 may cause the cloud-based geohash phrase system 1600 to translate the position data to a geohash phrase and/or information associated with the desired location, which may be returned to the device. For example, the location determining instructions 1608 may receive "Paris France" as a user input. The location determining instruction 1608 may determining a region associated with Paris France using the location data 1616. Once the region is determined, the location determining instructions 1608 may determine the geohash phrase via a stored mapping or table between the geohash phrase data 1620, the location data 1616, and the geohash data 1618. In other examples, the location determining instructions 1608 may determine the geohash for the region represented by the user input Paris France and then convert the geohash into the geohash phrase.
[00102] In some implementations, the information associated with the desired location may include various types of information useful to the user when viewing the region represented by the geohash phrase. For example, the information may include overlays, such as elevation maps, weather/storm patterns, population density maps, demographic information, economic information, traffic information, road maps, other transpiration maps. The information may also include other information such as landmark information, business information, tourist attractions, ratings, trend data, emergency care data, etc.
[00103] In some cases, the cloud-based geohash phrase system 1600 may be configured to access third party data stores and systems in order to provide the information to the user device. For example, the cloud-based geohash phrase system 1600 may utilize the location data 1616 to access weather and/or traffic data available via various third party news and government systems.
[00104] In some implementations, the cloud-based geohash phrase system 1600 may provide the geohash code to the user device in lieu of the geohash phrase. In these implementations, an application operating on the device may be configured to convert the geohash code to the geohash phrase prior to displaying the information to the user.
[00105] In some examples, the user may input phrase data (e.g., a geohash phrase, a partial geohash phrase, etc.). In these examples, the phrase identification instructions 1610 may utilize the geohash phrase data 1620 and/or the location data 1616 to identify the region or location associated with the phrase data. As discussed above, as the geohash phrases for each top-level region differ from each other. Further, each sub- level region within the region differ from each other and so forth and so on. Additionally, in some example, only nouns, verbs, and adjectives are used as phrase words associated with a region. In this manner, the user may enter the phrase data in various formats. For example, the geohash-phrase "the dog kicks a big man into a purple hydrant" would be the equivalent to the geohash-phrase "the big hydrant kicks a purple dog into a man".
[00106] The user may also specify a level granularity with respect to the region (e.g., the user may select between levels of varying size - from regions of approximately 97 miles square to regions as small as a few inches square). For example, by adding or removing phrase words from the phrase data being provided as a geohash phrase to the cloud-based geohash phrase system, the user may determine the granularity or size of the region being selected. For instance, each noun, verb, or adjective added to the phrase data results in a smaller region being selected by the phrase identification instructions 1610.
[00107] In some examples, some of the phrase words usable to generate geohash phrases may become obsolete or take on altemative meanings over time as language evolves and changes. In these examples, it may no longer make sense to maintain a particular phrase words' association to a region. For instance, a phrase word may take on a derogatory meaning and should be replaced as the phrase word in the geohash phrase representing a region. Thus, the phrase pruning instructions 1612 may be configured to determine any changes in the phrase words meaning or relevance. For instance, the phrase running instructions 1612 may apply a relevancy score or usability score to each phrase word, and once a phrase word falls below a threshold score, replace the phrase word as representative of a region using an unassigned phrase word having a score greater than the threshold or greater than a second threshold (e.g. , an assignment threshold).
[00108] The cloud-based geohash phrase system 1600 also includes the phrase assigning instruction 1614. The phrase assigning instruction 1614 may be configured to allow the users of the system 1600 to assign additional names to regions. For example, an entity or user may be able to purchase the rights to name a region. In other examples, the community of users may be able to vote or otherwise provide feedback to cause a region to receive additional phrase words. In some case, various events may cause regions to take on new or uncommon nick names. In these cases, the phrase assigning instruction 1614 may be configured to identify the new nick names (e.g., via monitoring social media, third party sites, etc.) and to cause the new nick name to be assigned to the region if currently not in use. In one particular example, the phrase pruning instructions 1612 together with the phrase assigning instruction 1614 may cause the new nick name to be reassigned from an existing region to the new region (e.g., the regions may swap phrase words).
[00109] Initially, each region may be assigned a location (e.g., latitude/longitude coordinate) and/or a geohash code. However, each region may not be assigned a geohash phrase word. In this situation, the phrase assigning instruction 1614 may be configured to assign phrase words to regions based at least in part on the population, landmass, and/or usage statistics of phrase words within a selected dictionary. For instance, in one example, the phrase assigning instruction 1614 may assign regions with zero population (such as regions entirely within the ocean) a phrase generated by concatenating multiple phrase words within a dictionary together to form a new phrase word. For example, "monkey-blue-wind" or "large-sheep-sleeps" may be assigned to a top level or approximately 97 miles square region. In this manner, regions with zero population that are unlikely to be the result of a search or analysis by the system 1600 may be assigned longer phrases but still include real words as phrase words. Thus, the phrase words may still be in a format that a human is able to more easily memorize than the standard address system.
[00110] In the current example, the phrase assigning instruction 1614 may then assign phrase words to a region based on the highest level of usage within the dictionary (e.g., phase words may be assigned in order of most commonly used unassigned words within a dictionary) and population density. For example, regions associated with maj or world cities may be assigned more commonly used words as phrase words than regions including only rural areas. In cases where the population is zero or a tie between two regions, the phrase assigning instruction 1614 may assign the phrase words based on landmass. For example, a region that is 10% landmass and 90% water may be assigned a phrase word having a lower usage rating than a region that is 90% landmass and 10% water.
[00111] FIG. 17 illustrates example components of one or more user devices 1700 hosting a client side application 1712 associated with the geohash-phrase system according to some implementations. The device 1700 may host or implement the application or app 1712 that allows the user to interact with the geohash phrase system described herein. The device may include one or more processors 1702, and computer-readable storage media 1704 as well as communication interfaces 1706, sensors 1708, and input/output interfaces 1710.
[00112] The communication interfaces 1706 may support both wired and wireless connection to various networks, such as cellular networks, radio (e.g., radio-frequency identification (RFID)), WiFi networks, short-range or near-field networks (e.g., Bluetooth®), infrared signals, local area networks, wide area networks, the Internet, and so forth. For example, the communication interfaces 1406 may allow the device to send and receive data associated with location and geohash phrase from the geohash phrase system.
[00113] The sensors 1708 may be used to monitor position and movement of the user device 1700. For example, the sensors may include motion sensors (e.g., gyroscopes and accelerometers) and/or position sensors (e.g., Global Position System (GPS) or other satellite receivers based location tracking systems). In some case, the sensors 1308 may include systems for tracking movement based on wireless signals, such as the nearest cellular tower or currently connected tower. [00114] The input/output interfaces 1710 may include one or more output components, such as a display or touch screen, and one or more input components, such as keyboards, keypads, joysticks, a mouse, a touch screen, touch pad, drawing pad, or control buttons. In some implementations, the output components and input components are combined in a single interface to provide a touch-sensitive display, or touch screen display. For instance, in the illustrated example, the input/output interfaces 1710 include one or more displays for presenting information, such as electronic content items, to a user, one or more input sensors for accepting input resulting from contact and/or application of incident force, such as a user finger or stylus pressing upon one of the sensors.
[00115] The computer-readable storage media 1704 may include volatile and nonvolatile memory, 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. Such memory includes, but is not limited to, RAM, ROM, 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, RAID storage systems, or any other medium which can be used to store the desired information and which can be accessed by a computing device.
[00116] Several modules such as instruction, data stores, and so forth may be stored within the computer-readable storage media 1704 and configured to execute on the processors 1702. For example, the computer-readable media 1704 may store the application 1712 that includes geohash phrase instructions 1714, geohash phrase lookup instructions 1716, geohash phrase word assignment instructions 1718, alert instructions 1720, phrase selection instruction 1722, and dictionary update instructions 1724. In some cases, the geohash phrase application 1712 may also store a local geohash phrase dictionary 1726 to, for instance, improve lookup time of geohash codes and/or geohash phrases without accessing the cloud-based geohash phrase system discussed herein.
[00117] The geohash phrase instructions 1714 may be configured to allow users to enter a geohash phrase and to cause information associated with a region indicated by the geohash phrase to be displayed on the input/output interface 1710. For instance, the geohash phrase instructions 1714 may allow the user to type a sentence or series of words and in return be presented with a map of the region on the input/output interface 1710. In general, the phrase instruction 1714 may access the local geohash phrase dictionary 1726 to determine the location information. In some cases, the geohash phrase may not be present in the local geohash phrase dictionary 1726, such as when the global dictionary has been updated to include additional words or phrases. In this case, the geohash phrase instructions 1714 may send the geohash phrase to the geohash phrase system and receive in retum the location data, a hash code, as well as a corresponding geohash phrase (e.g., the phrase provided or additional phrases that may be present in the local dictionary 1726).
[00118] The geohash phrase lookup instructions 1716 may be configured to allow the user to indicate a region and in retum receive the corresponding geohash phrase or phrase words associated therewith. For example, the user may be presented with a map of the globe and in response to a user selection be presented with the corresponding geohash phrase. In some cases, the geohash phrase lookup instructions 1716 may access the cloud-based geohash system using the location data and receive in return one or more geohash phrases, location data, and a geohash code. [00119] The geohash phrase word assignment instructions 1718 may be configured to allow one or more users to request a region be associated with a desired phrase word. For example, the user may select a region and enter a bid on the value the user would exchange for the right to assign a phrase word to the region. In other cases, the user may be presented with a region and a list of possible phrase words and allowed to select or vote on one or more of the list of possible phrase words.
[00120] The alert instructions 1720 may be configured to notify the user to an update related to the dictionary 1726, the geohash phrase system, or a region of indicated previously indicate by the user.
[00121] The phrase selection instructions 1722 may be configured to determine which phrase word or geohash phrase the phrase lookup instructions 1716 should present to the user via the input/output interface 1710. For example, some regions may have additional phase words assigned (e.g., two or more phrase words are associated with the region). In these cases, the phrase selection instruction 1722 may be configured to select which of the phrase words for region should be used by the phrase lookup instructions 1716. For example, the phrase selection instructions 1722 may determine phrase words based on user data, such as demographic data, user history, user preferences, historical data, and/or other information known about the user.
[00122] The dictionary update instructions 1724 may be configured to periodically, in response to a user input, or in response to a failed local geohash phrase lookup to update the geohash phrase dictionary 1726 with any new phrase words added to the geohash phrase system since the last update. In this manner, the dictionary 1726 may be keep up to date.
[00123] Although the subject matter has been described in language specific to structural features, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features described. Rather, the specific features are disclosed as illustrative forms of implementing the claims.

Claims

CLAIMS WHAT IS CLAIMED IS :
1. A system comprising:
one or more communication interfaces for receiving data;
one or more processors;
non-transitory computer-readable media storing computer-executable instructions, which when executed by the one or more processors cause the one or more processors to:
receive a geohash phrase via the communication interface, the geohash phrase including at least one phrase words;
determining a location based at least in part on the geohash phrase; and causing the communication interface to send at least one of the geohash code, the location, or information associated with the location to a device.
2. The system as recited in claim 1, wherein the non-transitory computer-readable media stores additional computer-executable instructions, which when executed by the one or more processors cause the one or more processors to determine a geohash phrase domain associated with the geohash phrase.
3. The system as recited in claim 1, wherein each phrase word of the geohash phrase is a noun, verb, adverbs, or adjective of a selected dictionary.
4. The system as recited in claim 1, wherein:
the geohash phase includes at least two phrase words and at least one addition word; and
determining a location based at least in part on the geohash phrase includes determining a location based at least in part on the least two phrase words and not on the at least one additional word.
5. The system as recited in claim 1, wherein the non-transitory computer-readable media stores additional computer-executable instructions, which when executed by the one or more processors cause the one or more processors to:
select a natural language dictionary, the natural language dictionary including words;
generate a phrase word dictionary from the words of the natural language dictionary, the phrase word dictionary including the phrase words;
generate a plurality of additional phrase words by combining at least two phrase words of the phrase word dictionary, individual ones of the plurality of additional phrase words not previously included in the natural language dictionary or the phrase word dictionary;
identify a first set of regions of the globe having a population density of zero; assign the additional phrase words to individual regions of the first set of regions;
identify a second set of regions, each region of the section set of regions including a famous landmark or having a unique name;
assigning phrase words associated with the famous landmark or the unique name to individual regions of the second set of regions; ranking unassigned phrase words within the phrase word dictionary based at least in part on usage statistics associated with individual phrase words, the usage statistic associated with usage by speakers of the natural language dictionary; and assigning the unassigned phrase words to remaining regions based at least in part on the ranking and population density associated with each individual region.
6. The system as recited in claim 1, wherein each geohash phrase associated with a region differs from all other geohash phrases associated with other regions.
7. The system as recited in claim 1, wherein the non-transitory computer-readable media stores additional computer-executable instructions, which when executed by the one or more processors cause the one or more processors to:
determining a first geohash code associated with the location;
adding the first phrase word to a geohash phrase associated with the location, the first phrase word also associated with a first region;
determining a second phrase word associated with the location, the second phrase word also associated with a second region;
adding the second phrase word to the geohash phrase associated with the location;
determining a third phrase word associated with the location, the third phrase word also associated with a third region;
adding the third phrase word to the geohash phrase associated with the location; and
outputting the geohash phrase.
8. A method comprising:
receiving a geohash phrase from the user device via the communication interface, the geohash phrase including phrase words and associated with a desired region;
determining a first level region associated with the geohash phrase by identifying a first phrase word within the geohash phrase;
determining a second level region associated with the geohash phrase by identifying a second word within the geohash phrase;
determining a third level region associated with the geohash phrase by identifying a third word within the geohash phrase;
identifying the third level region as the desired region; and
sending data associated with the third region to a device.
9. The method as recited in claim 8, further comprising determining no additional phrase words are included within the geohash phrase.
10. The method as recited in claim 8, wherein each region of a globe has an associated geohash phrase, each associated geohash phrase differs from all other associated geohash phrases.
11. The method as recited in claim 8, further comprising:
determining a geohash code based at least in part on the geohash phrase; and sending the geohash code to the device.
12. The method as recited in claim 8, wherein determining no additional phrase words are included within the geohash phrase including determining that the geohash phrase has no additional nouns, verbs, or adjectives.
13. The method as recited in claim 8, wherein the second phrase word differs from other phrase words assigned to regions encompassed by the first region.
14. The method as recited in claim 8, wherein the second phrase word differs from other phrase words assigned to parent-child regions associated with the second region.
15. A method comprising:
receiving data associated with a desired region;
determining a first phrase word associated with the desired region;
adding the first phrase word to a geohash phrase associated with the desired region;
determining the desired region is contained within a second region;
determining a second phrase word associated with the second region;
adding the second phrase word to the geohash phrase associated with the desired region;
determining the second region is contained within a third region;
determining a third phrase word associated with the third region;
adding the third phrase word to the geohash phrase associated with the desired region; and
outputting the geohash phrase.
16. The device as recited in claim 15, wherein the data associated with the second region is sensor data.
17. The device as recited in claim 15, wherein the data associated with the second region is a user selection.
18. The device as recited in claim 15, wherein the first phrase word, the second phrase word, and the third phrase word are at least one of a noun, verb, or adjective.
19. The device as recited in claim 15, wherein the data includes sensor data associated with location and captured by a sensor associated with the user device.
20. The device as recited in claim 15, wherein outputting the geohash phrase includes presenting the geohash phrase on a map of the region.
PCT/US2018/051980 2017-10-03 2018-09-20 System for generating and utilizing geohash phrases WO2019070412A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762567585P 2017-10-03 2017-10-03
US62/567,585 2017-10-03

Publications (1)

Publication Number Publication Date
WO2019070412A1 true WO2019070412A1 (en) 2019-04-11

Family

ID=64477260

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2018/051980 WO2019070412A1 (en) 2017-10-03 2018-09-20 System for generating and utilizing geohash phrases

Country Status (1)

Country Link
WO (1) WO2019070412A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114500872A (en) * 2021-12-30 2022-05-13 浙江大华技术股份有限公司 Matching method of camera and road information, computer device and storage medium
US11550828B2 (en) * 2018-05-11 2023-01-10 Elsevier Inc. Systems and methods for indexing geological features
GB2625095A (en) * 2022-12-05 2024-06-12 There Tech Ltd A system and method for generating a hierarchical location identifier

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2513196A (en) * 2013-04-19 2014-10-22 What3Words Ltd A method and apparatus for identifying and communicating locations
WO2016110455A1 (en) * 2015-01-06 2016-07-14 What3Words Limited A method for suggesting candidate words as replacements for an input string received at an electronic device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2513196A (en) * 2013-04-19 2014-10-22 What3Words Ltd A method and apparatus for identifying and communicating locations
WO2016110455A1 (en) * 2015-01-06 2016-07-14 What3Words Limited A method for suggesting candidate words as replacements for an input string received at an electronic device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "Geohash - Wikipedia", 10 May 2017 (2017-05-10), XP055553173, Retrieved from the Internet <URL:https://en.wikipedia.org/w/index.php?title=Geohash&oldid=779720755> [retrieved on 20190207] *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11550828B2 (en) * 2018-05-11 2023-01-10 Elsevier Inc. Systems and methods for indexing geological features
CN114500872A (en) * 2021-12-30 2022-05-13 浙江大华技术股份有限公司 Matching method of camera and road information, computer device and storage medium
CN114500872B (en) * 2021-12-30 2024-06-07 浙江大华技术股份有限公司 Method for matching camera with road information, computer device and storage medium
GB2625095A (en) * 2022-12-05 2024-06-12 There Tech Ltd A system and method for generating a hierarchical location identifier

Similar Documents

Publication Publication Date Title
Ribeiro Jr et al. Traffic observatory: a system to detect and locate traffic events and conditions using Twitter
US20100179754A1 (en) Location based system utilizing geographical information from documents in natural language
JP7023821B2 (en) Information retrieval system
US20150205879A1 (en) Information processing apparatus, browsing history classification method, and browsing history classification program
JP2010128806A (en) Information analyzing device
JP2015534099A (en) Custom labeling of maps based on content
JP2022532451A (en) How to disambiguate Chinese place name meanings based on encyclopedia knowledge base and word embedding
WO2019070412A1 (en) System for generating and utilizing geohash phrases
JP2007219655A (en) Facility information management system, facility information management method and facility information management program
US9158790B2 (en) Server, dictionary creation method, dictionary creation program, and computer-readable recording medium recording the program
WO2015191010A1 (en) Searching for a map using an input image as a search query
Zhu et al. Geoinformation harvesting from social media data: A community remote sensing approach
US8694512B1 (en) Query suggestions
CN111597279B (en) Information prediction method based on deep learning and related equipment
Jaiswal et al. Predicting time-sensitive user locations from social media
JP2016541058A (en) High-detail news map and image overlay
Kim et al. Landmark extraction from web-harvested place descriptions
JP7028194B2 (en) Knowledge generator for inference, knowledge generation method for inference, and program
KR101233902B1 (en) Server, dictionary creation method, and computer-readable recording medium for recording dictionary creation program
KR20130085011A (en) Indexing system of space object for combination object of soi and content
de Armas García et al. Deployment of a National Geocoding Service: Cuban Experience.
CN111126120B (en) Urban area classification method, device, equipment and medium
CN113220395A (en) Museum interaction method and system based on map display
Venkateswaran et al. Exploring and visualizing differences in geographic and linguistic web coverage
Paterson et al. Geographical Information Systems and Textual Sources

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18808548

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18808548

Country of ref document: EP

Kind code of ref document: A1