DE102014204830A1

Computer-implemented systems and methods for comparing and associating objects

Abstract

Computer-implemented systems and methods for comparing and associating objects are disclosed. In some embodiments, a method is provided for associating a first object with one or more objects within a plurality of objects, each object having a first plurality of characteristics, each characteristic having data reflecting a characteristic of a compound represented by the object entity wherein the associated objects have matching data in corresponding characteristics for a second plurality of properties. The method may include that, for each object within the plurality of objects and for the first object, the following is carried out: generating a Slug for the object, wherein the slug comprises the second plurality of characteristics of the object; and enter the slug on the object in a Bloom filter. Further, the method may include that, for a position in the Bloom filter, corresponding to the Slug for the first object, an association between objects is generated whose Slugs position correspond if the Slugs for these objects match.

DE102014204830A1, drawing sheet 1
Sheet 1 of 5

Term

Projected expiry 14 March 2034.

  1. Priority
  2. Filed
  3. Published
  4. Today
  5. Projected expiry

16 claims: 16 independent, 0 dependent

  1. 1
    A method of associating a first object with one or more objects within a plurality of objects, each object having a first plurality of characteristics, each characteristic having data reflecting a characteristic of a compound represented by the object entity, wherein the associated objects matching data in have appropriate properties for a second plurality of characteristics, the method comprising the following operations, which are executed by one or more processors:Performing, for each object within the plurality of objects and for the first object, the following: Generating a Slug for the object, wherein the slug comprises the second plurality of characteristics of the object;and Entering the Slug for the object in a Bloom Filter;and Generating, for a position in the Bloom filter, corresponding to the Slug for the first object, an association between objects whose Slugs correspond to the position if the Slugs for these objects match. Verfahren zum Assoziieren eines ersten Objekts mit einem oder mehreren Objekten innerhalb einer Mehrzahl von Objekten, wobei jedes Objekt eine erste Mehrzahl von Eigenschaften aufweist, jede Eigenschaft Daten aufweist, die ein Kennzeichen einer durch das Objekt repräsentierten Entität widerspiegeln, wobei die assoziierten Objekte übereinstimmende Daten in entsprechenden Eigenschaften für eine zweite Mehrzahl von Eigenschaften aufweisen, wobei das Verfahren die folgenden Operationen umfasst, die durch einen oder mehrere Prozessoren ausgeführt werden: Ausführen, für jedes Objekt innerhalb der Mehrzahl von Objekten und für das erste Objekt, des Folgenden: Erzeugen eines Slug für das Objekt, wobei der Slug die zweite Mehrzahl von Eigenschaften von dem Objekt aufweist;und Eingeben des Slug für das Objekt in einen Bloomfilter;und Erzeugen, für eine Position im Bloomfilter, die dem Slug für das erste Objekt entspricht, einer Assoziierung zwischen Objekten, deren Slugs der Position entsprechen, falls die Slugs für diese Objekte übereinstimmen.
  2. 2
    The method of claim 1, further comprising:Setting the size of the Bloom filter, for a predetermined error rate, and number of objects within said plurality of objects. Verfahren nach Anspruch 1, weiter umfassend: Festlegen der Größe des Bloomfilters, für eine vorbestimmte Fehlerrate und Anzahl von Objekten innerhalb der Mehrzahl von Objekten.
  3. 3
    The method of claim 1 or claim 2, further comprising:Reading the plurality of objects from at least one database. Verfahren nach Anspruch 1 oder Anspruch 2, weiter umfassend: Auslesen der Mehrzahl von Objekten aus mindestens einer Datenbank.
  4. 4
    A method according to any one of claims 1 to 3, further comprising that the determining if the Slugs match in the position corresponding to the Slug for the first object with the Slug for the first object, comprising the following operations performed by a or more processors are running:Enter, for each Slug in the position corresponding to the Slug for the first object, the respective Slug and its associated object in a Multimap, said Slug to the subject a key is to the Multimap and its associated object is a value to the Multimap;and Associating objects in the Multimap whose key matches the slug for the first object. Verfahren nach einem der Ansprüche 1 bis 3, das weiter umfasst, dass das Bestimmen, ob die Slugs in der Position, die dem Slug für das erste Objekt entspricht, mit dem Slug für das erste Objekt übereinstimmen, die folgenden Operationen umfasst, die durch einen oder mehrere Prozessoren ausgeführt werden: Eingeben, für jeden Slug in der Position, die dem Slug für das erste Objekt entspricht, des jeweiligen Slug und dessen zugehörigen Objekts in eine Multimap, wobei der Slug für das jeweilige Objekt ein Schlüssel zu der Multimap ist und sein zugehöriges Objekt ein Wert zu der Multimap ist;und Assoziieren von Objekten in der Multimap, deren Schlüssel mit dem Slug für das erste Objekt übereinstimmt.
  5. 5
    A method for associating objects within one or more groups of objects within a plurality of objects, each object having a first plurality of characteristics, each characteristic having data reflecting a characteristic of a compound represented by the object entity, wherein the associated objects within a group of objects having mismatched data in corresponding characteristics for a second plurality of characteristics, the method comprising the following operations, which are executed by one or more processors:Performing, for each object within the plurality of objects, of the following: Generating a Slug for the object, wherein the slug comprises the second plurality of characteristics of the object;and Entering the Slug for the object in a counting Bloom Filter;Inputting, for each generated slug, the slug and its associated object into a Multimap, if a position in the counting bloom filter corresponding to the Slug, a count value of greater than 1, wherein said slug is a key to the Multimap and the object is a value is to the Multimap;and Associating the objects, which are stored as values ​​for each key, the Multimap, with two or more associated values. Verfahren zum Assoziieren von Objekten innerhalb einer oder mehreren Gruppen von Objekten innerhalb einer Mehrzahl von Objekten, wobei jedes Objekt eine erste Mehrzahl von Eigenschaften aufweist, jede Eigenschaft Daten aufweist, die ein Kennzeichen einer durch das Objekt repräsentierten Entität widerspiegeln, wobei die assoziierten Objekte innerhalb einer Gruppe von Objekten übereinstimmende Daten in entsprechenden Eigenschaften für eine zweite Mehrzahl von Eigenschaften aufweisen, wobei das Verfahren die folgenden Operationen umfasst, die durch einen oder mehrere Prozessoren ausgeführt werden: Ausführen, für jedes Objekt innerhalb der Mehrzahl von Objekten, des Folgenden: Erzeugen eines Slug für das Objekt, wobei der Slug die zweite Mehrzahl von Eigenschaften von dem Objekt aufweist;und Eingeben des Slug für das Objekt in einen zählenden Bloomfilter;Eingeben, für jeden erzeugten Slug, des Slug und dessen zugehörigen Objekts in eine Multimap, falls eine Position im zählenden Bloomfilter, die dem Slug entspricht, einen Zählwert größer als 1 aufweist, wobei der Slug ein Schlüssel zu der Multimap ist und das Objekt ein Wert zu der Multimap ist;und Assoziieren der Objekte, die als Werte für jeden Schlüssel der Multimap gespeichert sind, mit zwei oder mehr zugehörigen Werten.
  6. 6
    The method of claim 5, further comprising:Setting the size of the counting Bloom filter, for a predetermined error rate, and number of objects within the plurality of objects. Verfahren nach Anspruch 5, weiter umfassend: Festlegen der Größe des zählenden Bloomfilters, für eine vorbestimmte Fehlerrate und Anzahl von Objekten innerhalb der Mehrzahl von Objekten.
  7. 7
    The method of claim 5 or claim 6, further comprising:Reading the plurality of objects from at least one database. Verfahren nach Anspruch 5 oder Anspruch 6, weiter umfassend: Auslesen der Mehrzahl von Objekten aus mindestens einer Datenbank.
  8. 8
    Method according to one of claims 5 to 7, wherein each entry in the counting Bloom filter includes a 2-bit counter. Verfahren nach einem der Ansprüche 5 bis 7, wobei jeder Eintrag im zählenden Bloomfilter einen 2-Bit-Zähler aufweist.
  9. 9
    The method of claim 8, wherein each 2-bit counter is a saturation counter. Verfahren nach Anspruch 8, wobei jeder 2-Bit-Zähler ein Sättigungszähler ist.
  10. 10
    Method according to one of claims 1 to 9, wherein the slug comprises a concatenation of two or more character strings which are separated by a delimiter between each concatenated string. Verfahren nach einem der Ansprüche 1 bis 9, wobei der Slug eine Verkettung von zwei oder mehr Zeichenketten aufweist, die durch einen Abgrenzer zwischen jeder verketteten Zeichenkette getrennt sind.
  11. 11
    The method of claim 10, wherein the delimiter having a character that is not otherwise present in the character strings that have been concatenated. Verfahren nach Anspruch 10, wobei der Abgrenzer ein Zeichen aufweist, das ansonsten nicht in den Zeichenketten vorhanden ist, die verkettet wurden.
  12. 12
    The method of claim 10, wherein the delimiter comprises a sequence of two or more characters and the sequence of two or more character is not present in any of the two or more character strings that have been concatenated. Verfahren nach Anspruch 10, wobei der Abgrenzer eine Abfolge von zwei oder mehr Zeichen aufweist und die Abfolge von zwei oder mehr Zeichen nicht in irgendeiner der zwei oder mehr Zeichenketten vorhanden ist, die verkettet wurden.
  13. 13
    A method according to any one of claims 10 to 12, wherein the number of properties in the first plurality of properties is the same as the number of properties in the second plurality of characteristics. Verfahren nach einem der Ansprüche 10 bis 12, wobei die Anzahl von Eigenschaften in der ersten Mehrzahl von Eigenschaften gleich groß wie die Anzahl von Eigenschaften in der zweiten Mehrzahl von Eigenschaften ist.
  14. 14
    A method according to any one of claims 10 to 12, wherein the number of properties in the first plurality of features is greater than the number of attributes in the second plurality of characteristics. Verfahren nach einem der Ansprüche 10 bis 12, wobei die Anzahl von Eigenschaften in der ersten Mehrzahl von Eigenschaften größer als die Anzahl von Eigenschaften in der zweiten Mehrzahl von Eigenschaften ist.
  15. 15
    System, comprising:a storage device which stores a set of instructions;and at least one processor executing the set of instructions to perform operations which include the operations of any one of claims 1 to 14. System, aufweisend: eine Speichervorrichtung, die einen Satz von Anweisungen speichert;und mindestens einen Prozessor, der den Satz von Anweisungen ausführt, um Operationen durchzuführen, welche die Operationen nach einem der Ansprüche 1 bis 14 beinhalten.
  16. 16
    The computer-readable medium storing instructions that, when executed by at least one processor, cause the at least one processor to perform operations which include the operations of any one of claims 1 to 14. Computerlesbares Medium, das Anweisungen speichert, die, wenn sie durch mindestens einen Prozessor ausgeführt werden, den mindestens einen Prozessor veranlassen, Operationen durchzuführen, welche die Operationen nach einem der Ansprüche 1 bis 14 beinhalten.