DE102014204834A1

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.

DE102014204834A1, drawing sheet 1
Sheet 1 of 5

Term

Projected expiry 14 March 2034.

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

12 claims: 12 independent, 0 dependent

  1. 1
    A method for identifying unikalen objects in 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, the method comprising the following operations or by a multiple processors are running:Performing, for each object in the plurality of objects, of the following: Generating a Slug for the object, wherein the slug comprises a second plurality of characteristics of the object;and Entering the Slug for the object in a counting Bloom Filter;Identifying, for each generated Slug, its corresponding position in the counting Bloom filter has a count equal to 1, of the Slug associated object as unikal in the plurality of objects;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 a value to the Multimap is;and Identifying, for each key, the Multimap with a single value of the object that is associated with the stored key as Slug, as unikal in the plurality of objects. Verfahren zum Identifizieren von unikalen Objekten in 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 das Verfahren die folgenden Operationen umfasst, die durch einen oder mehrere Prozessoren ausgeführt werden: Ausführen, für jedes Objekt in der Mehrzahl von Objekten, des Folgenden: Erzeugen eines Slug für das Objekt, wobei der Slug eine zweite Mehrzahl von Eigenschaften von dem Objekt aufweist;und Eingeben des Slug für das Objekt in einen zählenden Bloomfilter;Identifizieren, für jeden erzeugten Slug, dessen entsprechende Position in dem zählenden Bloomfilter einen Zählwert gleich 1 aufweist, des dem Slug zugeordneten Objekts als unikal in der Mehrzahl von Objekten;Eingeben, für jeden erzeugten Slug, des Slug und dessen zugehörigen Objekts in eine Multimap, falls eine Position in dem 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 Identifizieren, für jeden Schlüssel der Multimap mit einem einzigen Wert, des Objekts, das dem als Schlüssel gespeicherten Slug zugeordnet ist, als unikal in der Mehrzahl von Objekten.
  2. 2
    The method of claim 1, 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 1, weiter umfassend: Festlegen der Größe des zählenden 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
    Method according to one of claims 1 to 3, wherein each entry in the counting Bloom filter includes a 2-bit counter. Verfahren nach einem der Ansprüche 1 bis 3, wobei jeder Eintrag im zählenden Bloomfilter einen 2-Bit-Zähler aufweist.
  5. 5
    The method of claim 4, wherein each 2-bit counter is a saturation counter. Verfahren nach Anspruch 4, wobei jeder 2-Bit-Zähler ein Sättigungszähler ist.
  6. 6
    Method according to one of claims 1 to 5, wherein the slug comprises a concatenation of character strings which are separated by a delimiter, the delimiter having a character that is not otherwise present in the character strings that have been concatenated. Verfahren nach einem der Ansprüche 1 bis 5, wobei der Slug eine Verkettung von Zeichenketten aufweist, die durch einen Abgrenzer getrennt sind, wobei der Abgrenzer ein Zeichen aufweist, das ansonsten nicht in den Zeichenketten vorhanden ist, die verkettet wurden.
  7. 7
    Method according to one of claims 1 to 5, wherein the slug comprises a concatenation of character strings which are separated by a delimiter, the delimiter comprises a sequence of two or more characters and the sequence of two or more characters not in any of the two or is more strings available that have been chained. Verfahren nach einem der Ansprüche 1 bis 5, wobei der Slug eine Verkettung von Zeichenketten aufweist, die durch einen Abgrenzer getrennt sind, 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.
  8. 8
    A method according to any one of claims 1 to 7, 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 1 bis 7, 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.
  9. 9
    A method according to any one of claims 1 to 7, wherein the number of properties in the first plurality of characteristics is larger than the number of attributes in the second plurality of characteristics. Verfahren nach einem der Ansprüche 1 bis 7, 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.
  10. 10
    A method according to any one of claims 1 to 9, wherein the operation of inputting, Slug generated for each, of the slug and its associated object into the Multimap using at least one processor is executed. Verfahren nach einem der Ansprüche 1 bis 9, wobei die Operation des Eingebens, für jeden erzeugten Slug, des Slug und dessen zugehörigen Objekts in die Multimap unter Verwendung mindestens eines Prozessors ausgeführt wird.
  11. 11
    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 10th 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 10 beinhalten.
  12. 12
    The computer-readable medium that stores instructions, which when executed by a plurality of processors, the one or more processors cause carrying out operations which include the operations of any one of claims 1 to tenth or an Computerlesbares Medium, das Anweisungen speichert, die, wenn sie durch einen oder mehrere Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen, Operationen durchzuführen, welche die Operationen nach einem der Ansprüche 1 bis 10 beinhalten.