Devices and methods for matching product descriptions

EP4710284A1Pending Publication Date: 2026-03-18HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-05-12
Publication Date
2026-03-18

AI Technical Summary

Technical Problem

Conventional product matching systems face challenges in accurately aligning online product descriptions across different platforms, leading to inefficiencies in price matching and competitive pricing strategies, as they rely on attributes and multimodal information without effectively leveraging advanced encoding techniques.

Method used

A data processing apparatus that uses an encoder to generate encoded product descriptions, a filter to determine similarity estimates, and a predictor to refine similarity scores, incorporating knowledge graph information and neural network models for improved matching, while employing computationally lightweight filtering and sophisticated late interactions.

Benefits of technology

Enhances the accuracy and efficiency of product description matching by filtering candidate pairs with a computationally inexpensive approach and applying advanced late interactions, leading to better alignment and scalability without compromising precision or recall.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2023062810_21112024_PF_FP_ABST
    Figure EP2023062810_21112024_PF_FP_ABST
Patent Text Reader

Abstract

A data processing apparatus (110) is disclosed for determining a similarity score between a first product description and each of a plurality of second product descriptions, wherein each product description comprises a plurality of textual and / or numerical product description tokens. The data processing apparatus (110) comprises an encoder configured to generate an encoded first product description and a plurality of encoded second product descriptions based on the first product description and the plurality of second product descriptions. Moreover, the data processing apparatus (110) comprises a filter configured to determine, based on the encoded first product description and the plurality of encoded second product descriptions, a respective similarity estimate between the first product description and each second product description of the plurality of second product descriptions and to obtain a reduced plurality of second product descriptions by filtering the plurality of second product descriptions based on the plurality of similarity estimates. The data processing apparatus further comprises a predictor configured to determine, based on the encoded first product description and the reduced plurality of encoded second product descriptions, a similarity score between the first product description and each second product description of the reduced plurality of second product descriptions.
Need to check novelty before this filing date? Find Prior Art

Description

[0001]DEVICES AND METHODS FOR MATCHING PRODUCT DESCRIPTIONS TECHNICAL FIELD The present disclosure relates to information processing technology. More specifically, the present disclosure relates to devices and methods for matching or aligning product descriptions, in particular online product offers. BACKGROUND Product matching generally refers to a data analysis process to determine based on product descriptions of two products not including unique product identifiers, such as Global Trade Item Numbers (GTINs) or Manufacturer Part Numbers (MPNs), whether the two given products are identical. Product matching has important applications in ecommerce, for example, in price matching and in product database management. For instance, for an individual consumer price matching across different platforms or retailers can lead to lower prices for a desired product, while for a retailer pricing and discounting strategies inconsistent with competitors may have significant impact on commercial success. Conventional product matching systems make use of attributes such as title, description, brand, category and specification tables as features. Sometimes also multimodal information, such as images, are used as features. Some conventional product matching systems make use of pretrained language models (PLMs) to encode offers, i.e. product descriptions. SUMMARY It is an objective to provide improved devices and methods for matching or aligning product descriptions, in particular online product offers. The foregoing and other objectives are achieved by the subject matter of the independent claims. Further implementation forms are apparent from the dependent claims, the description and the figures. According to a first aspect, a data processing apparatus is provided for determining a respective similarity score between a first product description and each of a plurality of second product descriptions, wherein each product description comprises a plurality of textual and / or numerical product description tokens. The data processing apparatus comprises an encoder configured to generate an encoded first product description and a plurality of encoded second product descriptions based on the first product description and the plurality of second product descriptions. Moreover, the data processing apparatus comprises a filter configured to determine, based on the encoded first product description and the plurality of encoded second product descriptions, a respective similarity estimate between the first product description and each second product description of the plurality of second product descriptions and to obtain a reduced plurality of second product descriptions by filtering the plurality of second product descriptions based on the plurality of similarity estimates. The data processing apparatus further comprises a predictor configured to determine, based on the encoded first product description and the reduced plurality of encoded second product descriptions, a respective similarity score (which is more refined than the similarity estimate determined by the filter) between the first product description and each second product description of the reduced plurality of second product descriptions. The data processing apparatus may comprise processing circuitry implementing the encoder, the filter and / or the predictor in software and / or in hardware. Thus, an improved data processing apparatus for matching or aligning product descriptions, in particular online product offers, is provided. The encoder, the filter and / or the predictor may be implemented as a neural network model by the data processing apparatus according to the first aspect. In an implementation form the filter may be implemented as a computationally lightweight and the predictor as a computationally more sophisticated late interaction of encoded product descriptions for determining product description similarity. In other words, the lightweight late interaction implemented by the filter provides a computationally inexpensive candidate filtering approach, while the computationally more sophisticated expensive late interaction implemented by the predictor may be used on the set of pruned, i.e. filtered candidate pairs of product offers with better accuracy. As will be described in more detail below, in an implementation form the data processing apparatus may further make use of knowledge graph (KG) triples information for improving the encoded representation of the respective product description and thereby also improving the late-interactions and an optional partitioning, which rely on the encoded representations. In an implementation form, the plurality of product descriptions may comprise a plurality of product descriptions for a plurality of product offers, such as product offers on different ecommerce websites. In a further possible implementation form, the data processing apparatus is configured to jointly train the encoder, the filter and the predictor, for instance, based on a training set of product descriptions. In a further possible implementation form, the data processing apparatus further comprises a knowledge graph, KG, enhancer, wherein the KG enhancer is configured to generate a KG- enhanced first product description and a plurality of KG-enhanced second product descriptions by adding information from a knowledge graph to the first product description and the plurality of second product descriptions and wherein the encoder is configured to generate the encoded first product description and the plurality of encoded second product descriptions based on the first KG-enhanced product description and the plurality of second KG-enhanced product descriptions. In an implementation form, the KG enhancer may be implemented by the processing circuitry of the data processing apparatus in software and / or in hardware. In a further possible implementation form, the KG enhancer is configured to extract a plurality of product description KG triples from the knowledge graph and to add the plurality of product description KG triples to the first product description and the plurality of second product descriptions for generating the KG-enhanced first product description and the plurality of KG- enhanced second product descriptions. In a further possible implementation form, the data processing apparatus further comprises a pre-partitioner, wherein the pre-partitioner is configured, based on the encoded first product description and the plurality of encoded second product descriptions, to partition the plurality of second product descriptions into a plurality of product description clusters relative to the first product description. In a further possible implementation form, the pre-partitioner is configured to partition the plurality of second product descriptions into a plurality of product description clusters relative to the first product description by a distributed distance-based clustering using a local sensitive hashing, LSH, of the plurality of second product descriptions into a plurality of product description clusters relative to the first product description. In a further possible implementation form, the encoder comprises a transformer-based encoder configured to generate the encoded first product description and the plurality of encoded second product descriptions based on the first product description and the plurality of second product descriptions. In a further possible implementation form, the filter comprises a pooling layer, such as an average pooling, maximum pooling or classification (CLS) pooling layer, configured to generate based on the encoded first product description and the plurality of encoded second product descriptions a first product description representation vector and a plurality of second product description representation vectors. In a further possible implementation form, the filter is further configured to generate for the first product description and each of the plurality of second product descriptions a matching representation vector, wherein the matching representation vector comprises the first product description representation vector, the respective second product description representation vector and the difference vector between the first product description representation vector and the respective second product description representation vector. In a further possible implementation form, the filter is configured to determine the respective similarity estimate between the first product description and each second product description of the plurality of second product descriptions by applying a linear transformation and an activation function, such as the softmax function, to the matching representation vector associated with the first product description and the respective second product description. In a further possible implementation form, the predictor comprises a cross-encoding layer configured to generate based on the encoded first product description and the respective encoded second product description of the reduced plurality of encoded second product descriptions a cross-encoded first product description and a respective cross-encoded second product description. In a further possible implementation form, the predictor is further configured to generate for the first product description and each of the plurality of second product descriptions a respective enhanced representation vector, wherein the respective enhanced representation vector comprises the encoded product description and a difference measure between the encoded product description and the cross-encoded product description. In a further possible implementation form, the difference measure between the encoded product description and the cross-encoded product description is a Hadamard product of a difference vector between the encoded product description vector and the cross-encoded product description vector with the difference vector. In a further possible implementation form, the predictor is configured to process the respective enhanced representation vector by applying a transformer layer and a convolutional neural network layer to the respective enhanced representation vector for obtaining a respective processed enhanced representation vector for the first product description and for each of the second product descriptions of the reduced plurality of second product descriptions. In a further possible implementation form, the predictor is further configured to determine the respective similarity score between the first product description and each second product description of the reduced plurality of second product descriptions by applying a linear transformation and an activation function, such as the softmax function, to a further matching representation vector associated with the first product description and the respective second product description, wherein the further matching representation vector associated with the first product description and the respective second product description comprises the processed enhanced representation vector for the first product description and the respective processed enhanced representation vector for the respective second product description of the reduced plurality of second product descriptions. According to a second aspect a computer-implemented data processing method is provided for determining a respective similarity score between a first product description and each of a plurality of second product descriptions, wherein each product description comprises a plurality of textual and / or numerical product description tokens. The data processing method comprises the steps of: generating an encoded first product description and a plurality of encoded second product descriptions based on the first product description and the plurality of second product descriptions; determining, based on the encoded first product description and the plurality of encoded second product descriptions, a respective similarity estimate between the first product description and each second product description of the plurality of second product descriptions; obtaining a reduced plurality of second product descriptions by filtering the plurality of second product descriptions based on the plurality of similarity estimates; and determining, based on the encoded first product description and the reduced plurality of encoded second product descriptions, a respective similarity score between the first product description and each second product description of the reduced plurality of second product descriptions. The computer-implemented data processing method according to the second aspect of the present disclosure can be performed by the data processing apparatus according to the first aspect of the present disclosure. Thus, further features of the computer-implemented data processing method according to the second aspect of the present disclosure result directly from the functionality of the data processing apparatus according to the first aspect of the present disclosure as well as its different implementation forms described above and below. According to a third aspect a computer program product is provided, comprising a computer- readable storage medium for storing program code which causes a computer or a processor to perform the computer-implemented method according to the second aspect when the program code is executed by the computer or the processor. Details of one or more embodiments are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description, drawings, and claims. BRIEF DESCRIPTION OF THE DRAWINGS In the following, embodiments of the present disclosure are described in more detail with reference to the attached figures and drawings, in which: Fig.1 shows a schematic diagram illustrating a data processing apparatus according to an embodiment in form of a server for matching product offers interacting with a plurality of client devices; Fig.2a shows a schematic diagram illustrating a knowledge graph enhanced encoder implemented by a data processing apparatus according to an embodiment for encoding product descriptions; Fig.2b shows illustrative examples of a product description, knowledge graph triples and a tokenized product description used by a data processing apparatus according to an embodiment; Fig.3 shows a schematic diagram illustrating a filter implemented by a data processing apparatus according to an embodiment for filtering product descriptions based on a similarity estimate; Fig.4 shows a schematic diagram illustrating a predictor implemented by a data processing apparatus according to an embodiment for determining a similarity score of product descriptions; Fig.5 shows a schematic diagram illustrating a neural network architecture implemented by a data processing apparatus according to an embodiment, including the encoder, the filter and the predictor and further including a partitioner; and Fig.6 shows a flow diagram illustrating processing steps of a computer-implemented data processing method according to an embodiment for matching product offers. In the following, identical reference signs refer to identical or at least functionally equivalent features. DETAILED DESCRIPTION OF THE EMBODIMENTS In the following description, reference is made to the accompanying figures, which form part of the disclosure, and which show, by way of illustration, specific aspects of embodiments of the present disclosure or specific aspects in which embodiments of the present disclosure may be used. It is understood that embodiments of the present disclosure may be used in other aspects and comprise structural or logical changes not depicted in the figures. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present disclosure is defined by the appended claims. For instance, it is to be understood that a disclosure in connection with a described method may also hold true for a corresponding device or system configured to perform the method and vice versa. For example, if one or a plurality of specific method steps are described, a corresponding device may include one or a plurality of units, e.g. functional units, to perform the described one or plurality of method steps (e.g. one unit performing the one or plurality of steps, or a plurality of units each performing one or more of the plurality of steps), even if such one or more units are not explicitly described or illustrated in the figures. On the other hand, for example, if a specific apparatus is described based on one or a plurality of units, e.g. functional units, a corresponding method may include one step to perform the functionality of the one or plurality of units (e.g. one step performing the functionality of the one or plurality of units, or a plurality of steps each performing the functionality of one or more of the plurality of units), even if such one or plurality of steps are not explicitly described or illustrated in the figures. Further, it is understood that the features of the various exemplary embodiments and / or aspects described herein may be combined with each other, unless specifically noted otherwise. Figure 1 shows a schematic diagram illustrating a data processing apparatus 110 according to an embodiment in the form of a cloud server 110 for matching product offers and a plurality of client devices 120, such as smart phones, laptop, desktop or tablet computers, interacting with the data processing apparatus 110, for instance, via the Internet in a system 100. As will be described in more detail below, the data processing apparatus 110 is configured to match, i.e. align product descriptions, for instance, a first product description received from one or the client devices 120 with a plurality of second candidate product descriptions product offers retrieved from the Internet. The data processing apparatus 110 may be further in communication with a knowledge graph (KG) server or storage 130 as well as other servers, as will be described in more detail below. As illustrated in figure 1, the data processing apparatus 110 may comprise processing circuitry 111, a communication interface 113 and / or a memory 115. The processing circuitry 111 may be implemented in hardware and / or software and may comprise digital circuitry, or both analog and digital circuitry. Digital circuitry may comprise components such as application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), digital signal processors (DSPs), or general-purpose processors. The communication interface 113 may be configured to communicate with the client devices 120 and / or the KG server 130 via wired and / or wireless connections of a wired and / or wireless communication network, such as the Internet. The memory or storage 115 of the data processing apparatus 110 may be configured to store executable program code which, when executed by the processing circuitry 111, causes the data processing apparatus 110 to perform the functions and methods described herein. As will be described in more detail under further reference to figures 2a, 2b, 3, 4, and 5 in the following, the data processing apparatus 110 is configured to determine a respective similarity score between a first product description 201 (referred to as “offer 1” in figures 2a and 5) and each of a plurality of second candidate product descriptions 202. Figure 2a shows only a single exemplary second product description 202 (referred to as “offer 2” in figures 2a and 5) with the understanding that the first product description 201 is compared pairwise with each of the plurality of second candidate product descriptions 202 to determine one or more of the plurality of second product descriptions 202 best matching the first product description 201. Each product description 201, 202 comprises a plurality of textual and / or numerical product description tokens. As will be described in more detail in the following, for determining the one or more best matching product descriptions 202 for a given target product description 201 the data processing apparatus 110 is configured to implement one or more machine learning models, in particular neural networks. An embodiment of the overall architecture of the one or more machine learning models implemented by the data processing apparatus 110 is illustrated in figure 5. As illustrated in figures 2a and 5, the data processing apparatus 110 comprises, i.e. is configured to implement an encoder 200, 205 configured to generate an encoded first product description 207 (and a plurality of encoded second product descriptions 208 based on the first product description 201 and the plurality of second candidate product descriptions 202. In the embodiment illustrated in figure 2a, the encoded first product description 207 may be represented as an encoded first product description tensor ^^ ^^207 and each encoded second product description 208 may be represented as a respective encoded second product description tensor ^^ ^^208. In an embodiment, the encoder 200, 205 comprises a transformer-based encoder 200, 205 configured to generate the encoded first product description ^^ ^^207 and the plurality of encoded second product descriptions ^^ ^^208 based on the first product description 201 and the plurality of second product descriptions 202. In the embodiment illustrated in figures 2a and 5, the data processing apparatus 110 further comprises a knowledge graph, KG, enhancer 203, wherein the KG enhancer 203 is configured to generate a KG-enhanced first product description 201’ and a plurality of KG-enhanced second product descriptions 202’ by adding information from a knowledge graph 204 to the first product description 201 and the plurality of second product descriptions 202. In an embodiment, the knowledge graph 204 may be implemented on the KG server 130 and the data processing apparatus 110 may be configured to obtain the knowledge graph information from the KG server 130. In the embodiment illustrated in figures 2a and 5, the encoder 200, 205 (referred to as “Offer Encoder” 205 in figure 2a) is configured to generate the encoded first product description ^^ ^ ^^207 and the plurality of encoded second product descriptions ^^^208 based on the KG-enhanced first product description 201’ and the plurality of KG-enhanced second product descriptions 202’. In an embodiment, the KG enhancer 203 may be implemented by the processing circuitry 111 of the data processing apparatus 110 in software and / or in hardware. In an embodiment, the KG enhancer 203 is configured to extract a plurality of product description KG triples 220 (illustrated in figure 2b) from the knowledge graph 204 and to add the plurality of product description KG triples 220 to the first product description 201 and the plurality of second product descriptions 202 for generating the KG-enhanced first product description 201’ and the plurality of KG-enhanced second product descriptions 202’. Figure 2b shows illustrative examples of a first target product description 201 for a running shirt, several exemplary knowledge graph triples 220 and a tokenized KG-enhanced first product description 201’ used by the data processing apparatus 110 according to an embodiment for determining one or more second product descriptions 202 matching the first target product description 201. Taking advantage of the extracted product description KG triples 220 may enhance the information available to the encoder 200, 205 and thereby generate more meaningful encoded product descriptions 207, 208, which ultimately result in higher quality alignments. The benefit of using KG triples 220 relies on the fact that those triples may contain uniquely identified attribute keys and values, which are easier to identify than attribute mentions in unstructured text (which may be differently structured, contain synonyms, be in different languages or not be explicitly mentioned in the text). The KG triples 220 may take advantage of an ontology, which defines attribute constraints and enable the inference of the new triples that might not be explicitly mentioned in the text though reasoning. As illustrated in figures 3 and 5, the data processing apparatus 110 further comprises a filter 300 configured to determine, based on the encoded first product description ^^ ^^207 and the plurality of encoded second product descriptions ^^ ^^208, a respective similarity estimate between the first product description 201 and each second product description of the plurality of second product descriptions 202. In the embodiment shown in figure 3 the filter 300 comprises a pooling layer 301 configured to generate based on the encoded first product description ^^ 207 and the plurality of enco ^ ^^ded second product descriptions ^^^208 a first product description representation vector ^^ ^^303 and a plurality of second product description representation vectors ^^ ^^304. In an embodiment, the pooling layer 301 of the filter 300 may be an average pooling layer 301, a maximum pooling layer 301 or a classification (CLS) pooling layer 301. As further illustrated in figure 3, the filter 300 is further configured to generate for the first product description 201 and each of the plurality of second product descriptions 202 a matching representation vector 305, wherein the matching representation vector 305 comprises the first product description representation vector ^^ ^^303, the respective second product description representation vector 304 and the difference vector between the first product description representation vector 303 and the respective second product description representation vector 304, i.e. ^^ ^ ^^− ^^^. The filter 300 is further configured to determine a respective similarity estimate between the first product description 201 and each second product description of the plurality of second product descriptions 202 by applying a linear transformation and an activation function 307, such as the softmax function 307, to the matching representation vector 305 associated with the first product description 201 and the respective second product description 202. In an embodiment, the similarity estimate determined by the filter 300 may be a real number in the range from 0 to 1. Once the filter 300 has determined a respective similarity estimate between the first target product description 201 and each of the plurality of second candidate product descriptions 202 the filter 300 is further configured to obtain a reduced plurality of second product descriptions 202 by filtering the plurality of second candidate product descriptions 202 based on the plurality of similarity estimates, for instance, by keeping only a certain number of second candidate product descriptions 202 having the largest similarity estimates or those second candidate product descriptions 202 having a similarity estimates larger than a similarity estimate threshold, such as 0.5. As illustrated in figures 4 and 5, the data processing apparatus 110 further comprises a predictor 400 configured to determine, based on the encoded first product description ^^ ^^207 and the reduced plurality of encoded second product descriptions ^^ ^^208 (provided by the filter 300), a respective similarity score (which is more refined than the similarity estimate determined by the filter 300) between the first product description 201 and each second product description 202 of the reduced plurality of second product descriptions. In the embodiment shown in figure 4, the predictor 400 comprises a cross-encoding layer 401 configured to generate based on the encoded first product description ^^ ^^207 and the respective encoded second product description ^^ ^^208 of the reduced plurality of encoded second product descriptions 202 a cross-encoded first product description ^^ ^ ^^404 of the encoded first product description ^^^ 207 and a cross-encoded second product description ^^ ^^403 of the respective encoded second product description ^^ ^^208. In an embodiment, the cross-encoding layer 401 of the predictor 400 is configured to determine the cross-encoded product descriptions 403, 404 based on the following equations: softmax(^ ^ ^ ^^, ^^^)^^^, ^^ = softm ^ ^ ^^ax(^^^, ^^^)^^^, wherein ^ ^ ^ ^^= ^^^^^and ^^^= ^^^^^. As illustrated in figure 4, the predictor 400 is further configured to generate for the first product description 201 and each of the plurality of reduced second product descriptions 202 a respective enhanced representation vector, wherein the respective enhanced representation vector comprises the encoded product description ^^ ^^, ^^ ^^207, 208 and a difference measure between the encoded product description ^^ ^ ^^, ^^^207, 208 and the cross-encoded product description ^^ ^ ^^, ^^^404, 403. In an embodiment, the difference measure between the encoded product description ^^ , ^^ 207 ^ ^ ^^ ^^, 208 and the cross-encoded product description ^^^, ^^^404, 403 is a Hadamard product of a difference vector between the encoded product description vector ^^ , ^^ 207, 208 and the ^ ^ ^^ ^^cross-encoded product description vector ^^^, ^^^404, 403 with the difference vector. In other words, in an embodiment, the predictor 400 is configured to determine the difference measure between the encoded product description ^^ ^ ^^, ^^^207, 208 and the cross-encoded product description ^^ ^^, ^^ ^^404, 403 based on the following equation: wherein ^ denotes the Hadamard product. In an embodiment, the predictor 400 is configured to determine the respective enhanced representation vector based on the following equations: ^^^= [^^ ^^; ^^^^(^^ ^^, ^^^^ )], wherein the symbol “;” denotes concatenation. As illustrated in figure 4, the predictor 400 is configured to process the respective enhanced representation vector, i.e. ^^^and ^^^by applying a transformer layer 405 and a convolutional neural network layer 407 to the respective enhanced representation vector for obtaining a respective processed enhanced representation vector for the first product description 201 and for each of the second product descriptions 202 of the reduced plurality of second product descriptions. In an embodiment, the predictor 400 is further configured to determine the respective similarity score between the first product description 201 and each second product description 202 of the reduced plurality of second product descriptions by applying a linear transformation 411 and an activation function, such as the softmax function, to a further matching representation vector associated with the first product description and the respective second product description, wherein the further matching representation vector associated with the first product description 201 and the respective second product description 202 comprises the processed enhanced representation vector for the first product description 201 and the respective processed enhanced representation vector for the respective second product description 202 of the reduced plurality of second product descriptions. In other words, in an embodiment, the predictor 400 by means of the transformer layer 405 and the convolutional neural network layer 407 is configured to generate: ^^^= Conv^Transformer(^^^)^. Moreover, the predictor by means of the processing block 409 implementing a bilateral matching strategy is configured to generate: ^^^^^= [^^^; ^^^]. As already mentioned above, figure 5 illustrates the overall architecture of the one or more machine learning models, in particular neural networks of the data processing apparatus 110 for implementing the encoder 200, the filter 300 and / or the predictor 400. In an embodiment, the data processing apparatus 110 is configured to jointly train the encoder 200 (in particular the offer encoder 205 thereof), the filter 300 and the predictor 400, for instance, based on a training set of product descriptions with known or pre-assigned similarity scores. As illustrated in figure 5, the data processing apparatus 110 may further comprise a pre- partitioner 500, wherein the pre-partitioner 500 is configured, based on the encoded first product description ^^ 207 and ^ ^^the plurality of encoded second product descriptions ^^^208, to partition the plurality of second product descriptions 202 into a plurality of product description clusters relative to the first product description 201. More specifically, the pre- partitioner 500 may generate a first encoded product description vector 207’ based on the first encoded product description ^^ ^^207 (which, as already mentioned above, may be a higher dimensional tensor) and a respective second encoded product description vector 208’ based on the respective second encoded product description ^^ ^^208 (which also may be a higher dimensional tensor). Based on a suitable activation function the first encoded product description vector 207’ and the respective second encoded product description vector 208’ are binarized for obtaining a first binarized encoded product description vector 207’’ and a respective second binarized encoded product description vector 208’’. As illustrated in figure 5, the pre-partitioner 500, 501 is configured to partition the plurality of second product descriptions 202 into the plurality of product description clusters (identified, for instance, by a partition ID 503) relative to the first product description 201 by a distributed distance-based clustering (implemented by the processing block 501) using a local sensitive hashing, LSH, of the plurality of second binarized encoded product description vectors 208’’ into the plurality of product description clusters relative to the first binarized encoded product description vector 207’’. Using the LSH partitioning implemented by the pre-partitioner 500 may address the scalability problem when matching large datasets. The LSH partitioning may be jointly learned with the other machine learning models implemented by the data processing apparatus 110. Effectively partitioning the plurality of second product descriptions 202 helps decreasing the computational complexity and the number of candidate pairs that need to be computed. As will be appreciated, using the computationally inexpensive filter 300 in combination with the more sophisticated predictor 400 enables the data processing apparatus 110 to scale better without compromising precision or recall, as the more sophisticated predictor 400 ensures high precision and the filter 300 ensures the number of candidate pairs to be considered by the predictor 400 is reduced with no major recall loss. Figure 6 is a flow diagram illustrating a computer-implemented data processing method 600 for determining a similarity score between a first product description 201 and each of a plurality of second product descriptions 202. As already described above, each product description 201, 202 comprises a plurality of textual and / or numerical product description tokens. The data processing method 600 comprises a step 601 of generating an encoded first product description 207 and a plurality of encoded second product descriptions 208 based on the first product description 201 and the plurality of second product descriptions. Moreover, the data processing method 600 comprises a step 603 of determining, based on the encoded first product description 207 and the plurality of encoded second product descriptions 208, a similarity estimate between the first product description 201 and each second product description of the plurality of second product descriptions 202. The data processing method 600 further comprises a step 605 of obtaining a reduced plurality of second product descriptions 202 by filtering the plurality of second product descriptions based on the plurality of similarity estimates. Moreover, the data processing method 600 comprises a step 607 of determining, based on the encoded first product description 207 and the reduced plurality of encoded second product descriptions 208, a similarity score between the first product description 201 and each second product description of the reduced plurality of second product descriptions 202. As the computer-implemented data processing method 600 can be implemented by the data processing apparatus 110, further features of the computer-implemented data processing method 600 result directly from the functionality of the data processing apparatus 110 and its different embodiments described above and below. The person skilled in the art will understand that the "blocks" ("units") of the various figures (method and apparatus) represent or describe functionalities of embodiments of the present disclosure (rather than necessarily individual "units" in hardware or software) and thus describe equally functions or features of apparatus embodiments as well as method embodiments (unit = step). In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus, and method may be implemented in other manners. The described embodiment of an apparatus is merely exemplary. For example, the unit division is merely logical function division and may be another division in an actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented by using some interfaces. The indirect couplings or communication connections between the apparatuses or units may be implemented in electronic, mechanical, or other forms. The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments. In addition, functional units in the embodiments disclosed herein may be integrated into one processing unit, or each of the units may exist alone physically, or two or more units are integrated into one unit.

Claims

CLAIMS 1. A data processing apparatus (110) for determining a similarity score between a first product description (201) and each of a plurality of second product descriptions (202), each product description comprising a plurality of textual and / or numerical product description tokens, wherein the data processing apparatus (110) comprises: an encoder (200, 205) configured to generate an encoded first product description (207) and a plurality of encoded second product descriptions (208) based on the first product description (201) and the plurality of second product descriptions (202); a filter (300) configured to determine, based on the encoded first product description (207) and the plurality of encoded second product descriptions (208), a respective similarity estimate between the first product description (201) and each second product description of the plurality of second product descriptions (202) and to obtain a reduced plurality of second product descriptions by filtering the plurality of second product descriptions (202) based on the plurality of similarity estimates; and a predictor (400) configured to determine, based on the encoded first product description (207) and the reduced plurality of encoded second product descriptions (208), a similarity score between the first product description (201) and each second product description (202) of the reduced plurality of second product descriptions.

2. The data processing apparatus (110) of claim 1, wherein the data processing apparatus (110) is configured to jointly train the encoder (200, 205), the filter (300) and the predictor (400).

3. The data processing apparatus (110) of claim 1 or 2, wherein the data processing apparatus (110) further comprises a knowledge graph, KG, enhancer (203), wherein the KG enhancer (203) is configured to generate a KG-enhanced first product description (201’) and a plurality of KG-enhanced second product descriptions (202’) by adding information from a knowledge graph (204) to the first product description (201) and the plurality of second product descriptions (202) and wherein the encoder (200, 205) is configured to generate the encoded first product description (207) and the plurality of encoded second product descriptions (208) based on the first KG-enhanced product description (201) and the plurality of second KG- enhanced product descriptions (202).

4. The data processing apparatus (110) of claim 3, wherein the KG enhancer (203) is configured to extract a plurality of product description KG triples (220) from the knowledge graph (204) and to add the plurality of product description KG triples (220) to the first product description (201) and the plurality of second product descriptions (202) for generating the KG- enhanced first product description (201’) and the plurality of KG-enhanced second product descriptions (202’).

5. The data processing apparatus (110) of any one of the preceding claims, wherein the data processing apparatus (110) further comprises a pre-partitioner (500), wherein the pre- partitioner (500) is configured, based on the encoded first product description and the plurality of encoded second product descriptions, to partition the plurality of second product descriptions into a plurality of clusters relative to the first product description.

6. The data processing apparatus (110) of claim 5, wherein the pre-partitioner (500) is configured to partition the plurality of second product descriptions into a plurality of clusters relative to the first product description by a distributed distance-based clustering using a local sensitive hashing, LSH, of the plurality of second product descriptions into a plurality of clusters relative to the first product description.

7. The data processing apparatus (110) of any one of the preceding claims, wherein the encoder (200, 205) comprises a transformer-based encoder (205) configured to generate the encoded first product description and the plurality of encoded second product descriptions based on the first product description and the plurality of second product descriptions.

8. The data processing apparatus (110) of any one of the preceding claims, wherein the filter (300) comprises a pooling layer (301) configured to generate, based on the encoded first product description and the plurality of encoded second product descriptions, a first product description representation vector (303) and a plurality of second product description representation vectors (304).

9. The data processing apparatus (110) of claim 8, wherein the filter (300) is further configured to generate for the first product description (201) and each of the plurality of second product descriptions (202) a matching representation vector (305), wherein the matching representation vector (305) comprises the first product description representation vector (303), the respective second product description representation vector (304) and a difference vectorbetween the first product description representation vector (303) and the respective second product description representation vector (304).

10. The data processing apparatus (110) of claim 9, wherein the filter (300) is configured to determine the similarity estimate between the first product description (201) and each second product description of the plurality of second product descriptions (202) by applying a linear transformation and an activation function to the matching representation vector (305) associated with the first product description (201) and the respective second product description (202).

11. The data processing apparatus (110) of any one of the preceding claims, wherein the predictor (400) comprises a cross-encoding layer (401) configured to generate based on the encoded first product description (207) and the respective encoded second product description (208) of the reduced plurality of encoded second product descriptions a cross-encoded first product description (404) and a respective cross-encoded second product description (403).

12. The data processing apparatus (110) of claim 11, wherein the predictor (400) is further configured to generate for the first product description (201) and each of the plurality of second product descriptions (202) an enhanced representation vector, wherein the enhanced representation vector comprises the encoded product description (207, 208) and a difference measure between the encoded product description (207, 208) and the cross-encoded product description (404, 403).

13. The data processing apparatus (110) of claim 12, wherein the difference measure between the encoded product description (207, 208) and the cross-encoded product description (404, 403) is a Hadamard product of a difference vector between the encoded product description vector and the cross-encoded product description vector with the difference vector.

14. The data processing apparatus (110) of claim 12 or 13, wherein the predictor (400) is configured to process the enhanced representation vector by applying a transformer layer (405) and a convolutional neural network layer (407) to the enhanced representation vector for obtaining a respective processed enhanced representation vector.

15. The data processing apparatus (110) of claim 14, wherein the predictor (400) is further configured to determine the similarity score between the first product description (201) and each second product description of the reduced plurality of second product descriptions (202) by applying a linear transformation and an activation function to a further matchingrepresentation vector associated with the first product description (201) and the respective second product description (202), wherein the further matching representation vector associated with the first product description (201) and the respective second product description (202) comprises the processed enhanced representation vector for the first product description (201) and the respective processed enhanced representation vector for the respective second product description (202) of the reduced plurality of second product descriptions.

16. A data processing method (600) for determining a similarity score between a first product description (201) and each of a plurality of second product descriptions (202), each product description comprising a plurality of textual and / or numerical product description tokens, wherein the data processing method (600) comprises: generating (601) an encoded first product description (207) and a plurality of encoded second product descriptions (208) based on the first product description (201) and the plurality of second product descriptions (202); determining (603), based on the encoded first product description (207) and the plurality of encoded second product descriptions (208), a similarity estimate between the first product description (201) and each second product description of the plurality of second product descriptions (202); obtaining (605) a reduced plurality of second product descriptions (202) by filtering the plurality of second product descriptions based on the plurality of similarity estimates; and determining (607), based on the encoded first product description (207) and the reduced plurality of encoded second product descriptions (208), a similarity score between the first product description (201) and each second product description of the reduced plurality of second product descriptions (202).

17. A computer program product comprising a computer-readable storage medium for storing program code which causes a computer or a processor to perform the method (600) of claim 16, when the program code is executed by the computer or the processor.