IP Library Granted Patent US 11,720,574
Granted Patent B2
US 11,720,574 · App. 14/785,370 · Granted Aug 8, 2023

Methods, devices and computer software for facilitating searching and display of locations relevant to a digital map

Inventors: Hendrik Sebastian Ziezold (Amsterdam, NL); Simone Francine Tertoolen (Rotterdam, NL); Mathieu M. B. Doorduyn (Utrecht, NL); Marc Alexander Viddeleer (Almere, NL); Adrian Catalin Bogdan (Amsterdam, NL); Joost Cornelis Frederik Voogt (Utrecht, NL); Ruud Willemstein (Eemnes, NL); Martin Wolf (Veenendaal, NL); Maurits Hol (Amsterdam, NL); Michel de Boer (Loenen aan de Vecht, NL)
Assignee: TomTom Navigation B.V.
G06F16/24578G06F3/0484G06F16/29G06F16/319G06F16/3335G06F16/444
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,720,574
App. No.
14/785,370
Granted
Aug 8, 2023
Kind
B2
Abstract

A portable electronic device is disclosed comprising data processing means and a data repository containing: data records representative of locations relevant to or within a digital map; and data representative of an index associating words contained in the data records with the records in which those words appear. The device further comprises means for, in relation to a received search query including a search string, processing the search string to provide one or more search words; querying the index to identify data records containing the or each search word; and generating a rank for each of the one or more identified data records indicative of the relevance of each identified data record to the search query.

Claims (69)

1. A portable electronic device comprising:

one or more processors;

a data repository containing:

data records representative of locations relevant to or within a digital map, wherein each data record is associated with a record identifier comprising a first portion and a second portion: the first portion being a location reference and the second portion being a reference or pointer to information in the data record; and

data representative of an index associating words contained in the data records with the record identifiers associated with the data records in which those words appear; and

a computer readable medium comprising instructions which, when executed by the one or more processors, cause the electronic device, in relation to a received search query including a search string derived from user input on a user interface of the electronic device and a search center derived from a user selected location or from a current location received from a location sensor, to:

process the search string to provide one or more search words;

query the index to identify one or more identified data records containing the or each search word;

determine a distance from the search center for each of the one or more identified data records based on the location reference of the record identifier;

generate a rank for each of the one or more identified data records indicative of the relevance of each identified data record to the search query, the generating including calculating a score for each of the one or more identified data records based on words in that identified data record, the calculating including adjusting penalties used for words when calculating scores for identified data records that represent addresses based on distances for the identified data records that represent addresses; and

cause the display of the results of the search query on a display of the electronic device in rank order.

2. The portable electronic device of claim 1 , wherein the instructions further cause the electronic device, when processing the search string, to perform one or more of:

splitting the search string into words; and

normalising the words.

3. The portable electronic device of claim 2 , wherein normalising the words includes one or more processing steps that account for irregularities in the content of the search string, the processing steps including one or more of:

converting all letters to lower case;

removing accents from letters;

replacing a sequence of the same letter by a single letter;

replacing single letters with other letters; and

replacing words and abbreviations with standard abbreviations.

4. The portable electronic device of claim 2 , wherein the index contains normalised versions of the words contained in the data records and the search string is processed to normalise the words contained therein using the same normalisation rules used in the generation of the index.

5. The portable electronic device of claim 1 , wherein the instructions further cause the electronic device, when querying the index to identify the one or more identified data records containing the or each search word, to:

for each search word, find a set of matching records from the index; and

determine the intersection of the sets of records to provide the records that match all words.

6. The portable electronic device of claim 1 , wherein the instructions further cause the electronic device to:

rank the one or more identified data records based on their scores; and

if two of the one or more identified data records have a same score, reconcile their rank ordering based on a distance from the search center, otherwise rank the two identified data records in a random order.

7. The portable electronic device of claim 1 , wherein calculating the score for each of the of the one or more identified data records includes starting from a starting score and one or more of:

subtracting a penalty from the score for each word contained in the search string not exactly matched to a word contained in that identified data record;

subtracting a penalty from the score for a structural difference between the search words arranged in the search string and how the words appear in that identified data record, including incorrect word order and word gaps; and

subtracting a penalty from the score for each unmatched word contained in a component of that identified data record for which there is a word matching a search word.

8. The portable electronic device of claim 1 , wherein generating the rank for each of the one or more identified data records representing an address includes:

not ranking that identified data record if there is no search word matched against a word in the index contained in a street name of the identified data record.

9. The portable electronic device of claim 7 , wherein generating the rank for each of the one or more identified data records representing a place of interest (POI) includes one or more of:

not ranking that identified data record if there is no search word matched against a word in the index contained in the one of the components of that identified data record representing the name of the POI, the brand name of the POI or the POI category; and

not subtracting a penalty from the score for each unmatched word contained in a component for which there is a word matching a search word.

10. The portable electronic device of claim 1 , wherein the index includes tuples one for each word of the set of words contained in the data records relating each of said words to the respective record identifiers of all the records in which those words appear.

11. The portable electronic device of claim 1 , wherein each data record represents either an address or a Place of Interest (POI).

12. The portable electronic device of claim 11 , wherein the data records contain one or more of the following components or data indicative thereof: street name; place name; postal code; country code; POI name; POI brand name; POI address; and POI category code.

13. The portable electronic device of claim 1 , wherein the search string is derived from a single field free-text string input by the user on the user interface.

14. The portable electronic device of claim 1 , wherein adjusting the penalties used for words when calculating the score for each of the one or more identified data records includes at least one of:

reducing penalties for identified data records having a distance smaller than a first distance; and

increasing penalties for data records having a distance larger than a second distance.

15. The portable electronic device of claim 1 , wherein calculating the score for each of the one or more identified data records includes:

adding a bonus to the score for that identified data record when there is a word match with a center of settlement based on properties of the center of settlement and a distance of the center of settlement from the search center.

16. A method of operating a portable electronic device comprising one or more data processors and a data repository containing: data records representative of locations relevant to or within a digital map, wherein each data record is associated with a record identifier comprising a first portion and a second portion: the first portion being a location reference; and the second portion being a reference or pointer to information in the data record; and data representative of an index associating words contained in the data records with the record identifiers associated with the data records in which those words appear, the method comprising:

in relation to a received search query including a search string derived from user input on a user interface of the electronic device and a search center derived from a user selected location or from a current location received from a location sensor:

processing the search string to provide one or more search words;

querying the index to identify one or more identified data records containing the or each search word;

determining a distance from the search center for each of the one or more identified data records based on the location reference of the record identifier;

generating a rank for each of the one or more identified data records indicative of the relevance of each identified data record to the search query, the generating including calculating a score for each of the one or more identified data records based on words in that identified data record, the calculating including adjusting penalties used for words when calculating scores for identified data records that represent addresses based on distances for the identified data records that represent addresses; and

causing the display of the results of the search query on a display of the electronic device in rank order.

17. The method of claim 16 , wherein adjusting the penalties used for words when calculating the score for each of the one or more identified data records includes at least one of:

reducing penalties for identified data records having a distance smaller than a first distance; and

increasing penalties for data records having a distance larger than a second distance.

18. The method of claim 16 , wherein calculating the score for each of the one or more identified data records includes:

adding a bonus to the score for that identified data record when there is a word match with a center of settlement based on properties of the center of settlement and a distance of the center of settlement from the search center.

19. A non-transitory computer readable storage medium storing instructions that, when executed by one or more data processors of an electronic device that includes the one or more data processors and a data repository containing: data records representative of locations relevant to or within a digital map, wherein each data record is associated with a record identifier comprising a first portion and a second portion: the first portion being a location reference; and the second portion being a reference or pointer to information in the data record; and data representative of an index associating words contained in the data records with the record identifiers associated with the data records in which those words appear, cause the electronic device to perform a method comprising:

in relation to a received search query including a search string derived from user input on a user interface of the electronic device and a search center derived from a user selected location or from a current location received from a location sensor:

processing the search string to provide one or more search words;

querying the index to identify one or more identified data records containing the or each search word;

determining a distance from the search center for each of the one or more identified data records based on the location reference of the record identifier;

generating a rank for each of the one or more identified data records indicative of the relevance of each identified data record to the search query, the generating including calculating a score for each of the one or more identified data records based on words in that identified data record, the calculating including adjusting penalties used for words when calculating scores for identified data records that represent addresses based on distances for the identified data records that represent addresses; and

causing the display of the results of the search query on a display of the electronic device in rank order.

20. The non-transitory computer readable storage medium of claim 19 , wherein adjusting the penalties used for words when calculating the score for each of the one or more identified data records includes at least one of:

reducing penalties for identified data records having a distance smaller than a first distance; and

increasing penalties for data records having a distance larger than a second distance.

21. The non-transitory computer readable storage medium of claim 19 , wherein calculating the score for each of the one or more identified data records includes:

adding a bonus to the score for that identified data record when there is a word match with a center of settlement based on properties of the center of settlement and a distance of the center of settlement from the search center.

Assignments (11)
DEED OF DEMERGER AND INCORPORATION Recorded Nov 10, 2016
From: TOMTOM INTERNATIONAL B.V.
To: TOMTOM NAVIGATION B.V.
Reel/Frame 040582/0086 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2016
From: WILLEMSTEIN, RUUD
To: TOMTOM INTERNATIONAL B.V
Reel/Frame 040273/0788 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2016
From: WOLF, MARTIN
To: TOMTOM INTERNATIONAL B.V
Reel/Frame 040273/0804 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2016
From: HOL, MAURITS
To: TOMTOM INTERNATIONAL B.V
Reel/Frame 040273/0862 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2016
From: DE BOER, MICHEL
To: TOMTOM INTERNATIONAL B.V
Reel/Frame 040273/0873 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2016
From: DOORDUYN, MATHIEU M.B.
To: TOMTOM INTERNATIONAL B.V
Reel/Frame 040579/0818 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2016
From: ZIEZOLD, HENDRIK SEBASTIAN, MR
To: TOMTOM INTERNATIONAL B.V
Reel/Frame 040260/0807 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2016
From: TERTOOLEN, SIMONE FRANCINE
To: TOMTOM INTERNATIONAL B.V
Reel/Frame 040260/0961 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2016
From: VIDDELEER, MARC
To: TOMTOM INTERNATIONAL B.V
Reel/Frame 040262/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2016
From: BOGDAN, ADRIAN
To: TOMTOM INTERNATIONAL B.V
Reel/Frame 040262/0166 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2016
From: VOOGT, JOOST CORNELIS FREDERIK
To: TOMTOM INTERNATIONAL B.V
Reel/Frame 040262/0224 →
Priority Claims (1)
GB 1306937 · Apr 17, 2013 · national
Continuity (1)
Related Publication 20160078037A1 · Mar 17, 2016