IP Library Patent Application 15008675
Patent Application
App. No. 15/008,675

METHODS AND APPARATUS FOR COMPARING DIFFERENT TYPES OF DATA

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 None
App. No.
15/008,675
Abstract

Methods and apparatus for comparing unrelated data types are provided. The provided techniques can evaluate a relevance of mixed-type data, such as data having a mix of numerical categories and text categories. In an example, a method includes receiving a plurality of records including a first record and a second record. Each record has a numerical category and a non-numerical category. The method includes calculating a first difference between a first number in the numerical category of the first record and a second number in the numerical category of the second record, calculating a first complex distance based on a second difference in categorical values between corresponding non-numerical categories in the first record and the second record, and forming a second complex distance between the first record and the second record by adding the first difference to the first complex distance.

Claims (68)

1 . A method for comparing different data types, comprising:

receiving, from a computer interface, a plurality of records including a first record and a second record, wherein each record in the plurality of records has a numerical category and a non-numerical category;

calculating a first difference between a first number in the numerical category of the first record and a second number in the numerical category of the second record;

calculating a first complex distance based on a second difference in categorical values between corresponding non-numerical categories in the first record and the second record; and

forming a second complex distance between the first record and the second record by adding the first difference to the first complex distance.

2 . The method of claim 1 , comprising:

determining a respective complex distance between each remaining combination of records in the plurality of records;

selecting, as a respective group, a pair of records having the lowest respective complex distance;

removing the pair of records from further complex distance determinations that are based on individual records in the plurality of records; and

repeating the determining, the selecting, and the removing.

3 . The method of claim 2 , comprising:

computing a respective complex distance between each remaining group;

choosing, as a respective cluster, a pair of groups having the lowest respective complex distance;

eliminating the respective cluster from further complex distance determinations that are based on pairs of groups; and

repeating the computing, the choosing, and the eliminating.

4 . The method of claim 1 , wherein the calculating the first distance further comprises calculating the first distance using a Euclidean distance algorithm, a Manhattan distance algorithm, a SquaredEuclidean algorithm, a Canberra algorithm, a Cosine algorithm, a Bray-Curtis algorithm, a Chessboard algorithm, or a combination thereof.

5 . The method of claim 1 , wherein the calculating the first complex distance further comprises calculating the first complex distance using at least one of a dice algorithm, a Jaccard distance algorithm, a Boolean reasoning algorithm, a Hamming algorithm, a Rogers-Tanimoto algorithm, a Russel-Rao algorithm, a Sokal-Sneath algorithm, or a Kulczynski algorithm.

6 . The method of claim 1 , further comprising:

wherein the plurality of records includes a third record;

calculating a third difference between the first number in the numerical category of the first record and a third number in the numerical category of the third record;

calculating a third complex distance based on a fourth difference in categorical values between corresponding non-numerical categories in the first record and the third record;

forming a fourth complex distance by adding the third difference to the third complex distance; and

identifying a fifth complex distance between the first record, the second record, and the third record by subtracting the fourth complex distance from the second complex distance.

7 . The method of claim 1 , further comprising weighting one or more of the first difference and the first complex distance.

8 . The method of claim 1 , further comprising receiving the plurality of records via a computer network, from a computer, from a mobile device, from a wearable device, from a cloud-based computer network, or a combination thereof.

9 . An apparatus configured to compare different data types, comprising:

a processor;

a memory coupled to the processor and configured to cause the processor to initiate creating specific logic circuits within the processor, wherein the specific logic circuits are configured to cause the processor to:

receive, from a computer interface, a plurality of records including a first record and a second record, wherein each record in the plurality of records has a numerical category and a non-numerical category;

calculate a first difference between a first number in the numerical category of the first record and a second number in the numerical category of the second record;

calculate a first complex distance based on a second difference in categorical values between corresponding non-numerical categories in the first record and the second record; and

form a second complex distance between the first record and the second record by adding the first difference to the first complex distance.

10 . The apparatus of claim 9 , wherein the memory is configured to cause the processor to initiate creating specific logic circuits configured to cause the processor to:

determine a respective complex distance between each remaining combination of records in the plurality of records;

select, as a respective group, a pair of records having the lowest respective complex distance;

remove the pair of records from further complex distance determinations that are based on individual records in the plurality of records; and

repeat the determining, the selecting, and the removing.

11 . The apparatus of claim 10 , wherein the memory is configured to cause the processor to initiate creating specific logic circuits configured to cause the processor to:

compute a respective complex distance between each remaining group;

choose, as a respective cluster, a pair of groups having the lowest respective complex distance;

eliminate the respective cluster from further complex distance determinations that are based on pairs of groups; and

repeat the computing, the choosing, and the eliminating.

12 . The apparatus of claim 9 , further comprising a computing device with which the processor is integrated.

13 . The apparatus of claim 9 , wherein the processor is a microprocessor, a microcontroller, a digital signal processor, a field programmable gate array, a programmable logic device, an application-specific integrated circuit, a controller, a non-generic special-purpose processor, a state machine, a gated logic device, a discrete hardware component, a dedicated hardware finite state machine, or a combination thereof.

14 . A non-transitory computer-readable medium, comprising:

processor-executable instructions stored thereon configured to cause a processor to:

initiate receiving, from a computer interface, a plurality of records including a first record and a second record, wherein each record in the plurality of records has a numerical category and a non-numerical category;

initiate calculating a first difference between a first number in the numerical category of the first record and a second number in the numerical category of the second record;

initiate calculating a first complex distance based on a second difference in categorical values between corresponding non-numerical categories in the first record and the second record; and

initiate forming a second complex distance between the first record and the second record by adding the first difference to the first complex distance.

15 . The non-transitory computer-readable medium of claim 14 , wherein the processor-executable instructions further include instructions configured to cause the processor to:

initiate determining a respective complex distance between each remaining combination of records in the plurality of records;

initiate selecting, as a respective group, a pair of records having the lowest respective complex distance;

initiate removing the pair of records from further complex distance determinations that are based on individual records in the plurality of records; and

initiate repeating the determining, the selecting, and the removing.

16 . The non-transitory computer-readable medium of claim 15 , wherein the processor-executable instructions further include instructions configured to cause the processor to:

initiate computing a respective complex distance between each remaining group;

initiate choosing, as a respective cluster, a pair of groups having the lowest respective complex distance;

initiate eliminating the respective cluster from further complex distance determinations that are based on pairs of groups; and

initiate repeating the computing, the choosing, and the eliminating.

17 . The non-transitory computer-readable medium of claim 14 , wherein the calculating the first distance further comprises calculating the first distance using a Euclidean distance algorithm, a Manhattan distance algorithm, a SquaredEuclidean algorithm, a Canberra algorithm, a Cosine algorithm, a Bray-Curtis algorithm, a Chessboard algorithm, or a combination thereof.

18 . The non-transitory computer-readable medium of claim 14 , wherein the calculating the first complex distance further comprises calculating the first complex distance using at least one of a dice algorithm, a Jaccard distance algorithm, a Boolean reasoning algorithm, a Hamming algorithm, a Rogers-Tanimoto algorithm, a Russel-Rao algorithm, a Sokal-Sneath algorithm, or a Kulczynski algorithm.

19 . The non-transitory computer-readable medium of claim 14 , wherein the plurality of records includes a third record, and the processor-executable instructions further include instructions configured to cause the processor to:

initiate calculating a third difference between the first number in the numerical category of the first record and a third number in the numerical category of the third record;

initiate calculating a third complex distance based on a fourth difference in categorical values between corresponding non-numerical categories in the first record and the third record;

initiate forming a fourth complex distance by adding the third difference to the third complex distance; and

initiate identifying a fifth complex distance between the first record, the second record, and the third record by subtracting the fourth complex distance from the second complex distance.

20 . The non-transitory computer-readable medium of claim 14 , wherein the processor-executable instructions further include instructions configured to cause the processor to initiate weighting one or more of the first difference and the first complex distance.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Jun 6, 2019
From: PNC BANK, NATIONAL ASSOCIATION
To: DIGITAL MAP PRODUCTS, INC.; DMTI SPATIAL INC.
Reel/Frame 049398/0085 →
SECURITY INTEREST Recorded Jul 17, 2017
From: DMTI SPATIAL INC.
To: PNC BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 043024/0433 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 7, 2017
From: NEOPOST TECHNOLOGIES
To: DMTI SPATIAL, INC.
Reel/Frame 042931/0126 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2016
From: RABENOK, VLADIMIR
To: NEOPOST TECHNOLOGIES
Reel/Frame 037607/0419 →