Method and device for training model for linking mention to entity over multiple knowledge bases
Patent Information
- Application Number
- JP2023048046
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-03-25
- Filing Date
- 2023-03-24
- Publication Date
- 2026-01-30
AI Technical Summary
Existing entity linking methods require manual selection of the domain for linking mentions to knowledge graphs, which is time-consuming and resource-intensive, especially for large-scale problems involving millions of entities across multiple domains.
A method for training a model to map entities from multiple knowledge bases into a vector space, using a loss function to measure similarity and dissimilarity, allowing simultaneous linking of mentions to entities across different knowledge graphs without prior domain selection.
The method enables efficient and automated linking of mentions to entities across multiple knowledge graphs, reducing training time and resource requirements while maintaining accuracy.
Smart Images

Figure 00000014_0000 
Figure 00000014_0001 
Figure 00000014_0002
Abstract
Description
[Technical Field]
[0001] background The present invention relates to a method and apparatus for training a model for linking mentions to entities across multiple knowledge bases. [Background technology]
[0002] In entity linking, typically, mentions are linked to a single background knowledge graph from a specific domain. Traditional approaches that deal with multiple domains treat the problem of linking to other knowledge graphs as zero-shot learning.
[0003] "Scalable zero-shot entity linking with dense entity retrieval" by Ledell Wu, Fabio Petroni, Martin Josifoski, Sebastian Riedel, and Luke Zettlemoyer (edited and published by Bonnie Webber, Trevor Cohn, Yulan He, and Yang Liu, Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing, EMNLP 2020, Online, November 16-20, 2020, pp. 6397-6407, Association for Computational Linguistics, 2020. doi: 10.18653 / v1 / 2020.emnlp-main.519) discloses one prior art approach.
[0004] However, with this approach, the user or machine needs to decide which knowledge graph to link the mention to, that is, it needs to understand its domain of interest. Given new text, this will almost certainly be difficult or may require a lot of time and computing resources. [Prior art documents] [Non-patent literature]
[0005] [Non-Patent Document 1] Ledell Wu, Fabio Petroni, Martin Josifoski, Sebastian Riedel, Luke Zettlemoyer, "Scalable zero-shot entity linking with dense entity retrieval" (edited and published by Bonnie Webber, Trevor Cohn, Yulan He, Yang Liu, Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing, EMNLP 2020, Online, November 16-20, 2020, pp. 6397-6407, Association for Computational Linguistics, 2020. doi: 10.18653 / v1 / 2020.emnlp-main.519) [Overview of the Initiative] [Problems that the invention aims to solve]
[0006] Disclosure of the invention The method, apparatus, and computer program described in the independent claim improve entity linking, particularly for large-scale problems where there are many, especially millions, possible entities to consider for each mention. [Means for solving the problem]
[0007] A method for training a model to associate mentions in text context with entities across multiple knowledge bases includes training the model dependent on training data to map entities in a first knowledge base to a first representation of those entities in vector space, entities in a second knowledge base to a second representation of those entities in vector space, and mentions to a third representation in vector space, wherein the training data includes a set of pairs, each pair containing a mention in text context and a reference entity corresponding to the mention in either the first or second knowledge base, and training the model includes evaluating a loss function, the loss function being calculated for each pair between the vector space representation of the mention in the pair and the vector space representation of the reference entity in the pair. The loss function includes a measure of similarity between and / or a measure of dissimilarity between the vector space representation of a mention within a pair and at least one vector space representation of an entity from a first or second knowledge base that is different from the reference entity within the pair, the training data includes a set of pairs, each containing an entity from the first knowledge base and an entity from the second knowledge base, the entities within a pair being identical, and the entities within a pair being different, dissimilar, or not identical, and the loss function includes a measure of similarity between the vector space representations of entities within a pair and / or a measure of dissimilarity between the vector space representations of entities within a pair. The model is trained to associate mentions in vector space with one of many possible entities from two different knowledge bases, the knowledge bases being, for example, knowledge graphs. The resulting trained model is capable of directly processing entities from the first and / or second knowledge bases.The model learns to map entities similar to a mention to a representation that is closer to the mention's representation than entities that are dissimilar to the mention. The model also learns to map entities that correspond to each other, are similar to each other, or are identical to each other to a representation that is closer to each other than entities that are different to each other, dissimilar to each other, or are not identical to each other.
[0008] The method may include providing a set of representations in a vector space, the set including a first representation each representing one entity of a first knowledge base, the set including a second representation each representing one entity of a second knowledge base, the method further including providing a third representation in a vector space representing mentions, selecting a subset of the set of representations, the subset including at least one first representation and / or at least one second representation that is more similar to the third representation than other representations in the set of representations, and associating the mentions with entities represented by the representations selected from the subset. According to the method, mentions are associated with one entity of one of these graphs in a single step.
[0009] Selecting a subset may involve selecting at least two representations that are more similar to the third representation than other representations, and determining scores for at least two representations, the score for each of the at least two representations being determined depending on the mentions and the entities that each representation represents. Selecting representations from the subset that are more similar to the third representation involves ranking at least two representations depending on their respective scores and selecting the representation with the higher score. The subset contains representations of entities that are candidates to which mentions can be associated. The scores indicate which of these entities is the best candidate. The subset may contain entities from the first knowledge base, the second knowledge base, or both. Thus, the best candidates from both knowledge bases are selected in a single step.
[0010] Selecting a subset may, in particular, involve selecting a predetermined number of representations that are closer to the third representation than other representations, or a predetermined number of representations that are within a predetermined distance from the third representation. This affects the size of the subset and allows for control over the computing resources required for processing.
[0011] Providing a set of representations may include mapping at least one entity in a first knowledge base to a first representation of that entity by a trained model, and / or mapping at least one entity in a second knowledge base to a second representation of that entity by a trained model.
[0012] This method may include mapping mentions to a third representation using a trained model.
[0013] Evaluating measures of similarity and / or dissimilarity may involve determining the distance between representations within a pair in a vector space.
[0014] An apparatus for training a model for associating mentions with entities of a first knowledge base or a second knowledge base is configured to implement the method. The apparatus achieves the advantages of the method.
[0015] The apparatus may comprise at least one processor and at least one storage for storing instructions, which, when executed by the at least one processor, cause the apparatus to implement the method.
[0016] A computer program includes computer-readable instructions for causing a computer to implement the method when executed by the computer.
[0017] Further embodiments of the present invention are obtained from the following description and drawings.
Brief Description of the Drawings
[0018] [Figure 1] A diagram schematically showing an apparatus for associating mentions with entities. [Figure 2] A diagram schematically showing a vector space. [Figure 3] A flowchart comprising steps of a method for associating mentions with entities.
Modes for Carrying Out the Invention
[0019] FIG. 1 schematically shows an apparatus 100. The apparatus 100 includes at least one processor 102 and at least one storage 104.
[0020] In this example, the at least one storage 104 is configured to store at least two knowledge bases.
[0021] Figure 1 shows the first knowledge base 106-1 and the second knowledge base 106-n. It can be assumed that more knowledge bases will be stored. In this example, the knowledge bases are knowledge graphs.
[0022] A knowledge base contains entities. Figure 1 illustrates the first entities 106-11,...,106-1i of the first knowledge base 106-1, and the second entities 106-n1,...,106-nm of the second knowledge base 106-n.
[0023] In some embodiments, the first knowledge base 106-1 includes at least i=100 first entities 106-11,...,106-1i. In some embodiments, the second knowledge base 106-n includes at least m=100 second entities 106-n1,...,106-nm.
[0024] In some further embodiments, the first knowledge base 106-1 includes at least i=1000 first entities 106-11,...,106-1i. In some further embodiments, the second knowledge base 106-n includes at least m=1000 second entities 106-n1,...,106-nm.
[0025] In some further embodiments, the first knowledge base 106-1 includes at least i = 10,000 first entities 106-11, ..., 106-1i. In some further embodiments, the second knowledge base 106-n includes at least m = 10,000 second entities 106-n1, ..., 106-nm.
[0026] In some embodiments, at least one knowledge base includes at least 100 entities. In some further embodiments, at least one knowledge base includes at least 1000 entities. In some embodiments, at least one knowledge base includes at least 10000 entities.
[0027] In this example, the knowledge base relates entities within the same knowledge base to each other in a paired manner. In some embodiments, the knowledge base contains at least 100 relationships. In some embodiments, the knowledge base contains at least 1000 relationships. In some embodiments, the knowledge base contains at least 10000 relationships.
[0028] In a knowledge graph, entities are represented as vertices, and relationships are represented as edges in the graph structure. In some embodiments, the number of vertices in at least one knowledge graph exceeds 100, and the number of edges exceeds 100. In some further embodiments, the number of vertices in at least one knowledge graph exceeds 1000, and the number of edges exceeds 1000. In some further embodiments, the number of vertices in at least one knowledge graph exceeds 10000, and the number of edges exceeds 10000.
[0029] In this example, storage 104 is configured to store the source 108 of the mention 110. The source 108 may contain text. The mention 110 may be a mention within a text context, for example, a mention within text.
[0030] The device 100 is configured to associate a mention 110 with one entity 106-11, ..., 106-nm of the first knowledge base 106-1 or the second knowledge base 106-n. If three or more knowledge bases are available, the device 100 is configured to associate a mention 110 with one entity of one of these three or more knowledge bases. Preferably, the device 100 is configured to associate a mention 110 with one entity of at least 10 knowledge bases. More preferably, the device is configured to associate a mention 110 with one entity of at least 100 knowledge bases.
[0031] At least one storage 104 can be configured to store instructions, which, when executed by at least one processor 102, cause at least one processor 102 to perform steps in the method described later with reference to Figure 3.
[0032] A computer program may include computer-readable instructions that cause a computer, for example, device 100, to perform this method when executed by the computer.
[0033] Figure 2 schematically shows the vector space 200. The vector space 200 contains the set of representations 206-11,...,206-nm. This set contains the first representations 206-11,...,206-1i, each representing one entity 106-11,...,106-1i of the first knowledge base 106-1. This set contains the second representations 206-n1,...,206-nm, each representing one entity 106-n1,...,106-nm of the second knowledge base 106-n.
[0034] The vector space 200 contains a third representation 210 of mention 110.
[0035] These representations, in this example, are vectors in vector space 200. For three or more knowledge bases, vector space 200 contains representations of entities from those three or more knowledge bases.
[0036] According to this method, mentions can be linked to multiple knowledge graphs simultaneously. These knowledge graphs may each be from different domains.
[0037] For example, the first knowledge graph 106-1 is from a general domain such as Wikipedia, while the second knowledge graph 106-n is domain-specific, such as MITRE ATT&CK on the cybersecurity domain.
[0038] Therefore, if the text contains both general domain mentions and domain-specific mentions, mention 110 can be associated with a single entity without the need to manually select beforehand which knowledge graph the entity belongs to. Furthermore, this method saves training time and resources. Only the general domain model needs to be fine-tuned using domain-specific data.
[0039] This will be explained in relation to the automatic addition of knowledge to the knowledge graph. Entity linking is a crucial task when automatically adding knowledge to the knowledge graph. The goal of entity linking is to find the correct entity for mentions in the text.
[0040] For example, mentions may refer to different people depending on the text context. Entity linking resolves this ambiguity by taking into account the text context as well as information from the knowledge graph containing candidate entities.
[0041] The specific challenges arise from the involvement of multiple different domains. That is, text data and the entities mentioned within that text data may originate from multiple different domains. For example, a particular hacker group may appear as an entity in the MITRE ATT&CK knowledge graph but not in Wikipedia, while a relatively common concept like a car brand name may appear in Wikipedia but not in MITRE ATT&CK. Therefore, if a single sentence in the text contains both a hacker group and cars, considering only one of these knowledge graphs simultaneously may not allow us to link all mentions to entities.
[0042] The methods described below can be used in entity linking systems that include a candidate generation module and a candidate ranking module. An example of this is disclosed in "Scalable zero-shot entity linking with dense entity retrieval" by Ledell Wu, Fabio Petroni, Martin Josifoski, Sebastian Riedel, and Luke Zettlemoyer (edited and published by Bonnie Webber, Trevor Cohn, Yulan He, and Yang Liu, Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing, EMNLP 2020, Online, November 16-20, 2020, pp. 6397-6407, Association for Computational Linguistics, 2020. doi: 10.18653 / v1 / 2020.emnlp-main.519). The candidate generation module represents, for example, candidate entities 106-11,...,106-nm from the knowledge graph 106-1,...,106-n, and mentions 110, for example, as vectors in the vector space 200.
[0043] The candidate generation module may include a candidate encoder for mapping candidate entities 106-11,...,106-nm to their respective first or second representations 206-11,...,206-nm. The candidate encoder may include a context encoder for mapping mention 110 to its corresponding third representation 210.
[0044] The candidate generation module can be configured to evaluate the similarity of these representations in order to find the closest entity to a mention.
[0045] The candidate ranking module may include a cross-encoder for evaluating the similarity between each candidate entity 106-11,...,106nm and the mention 110. The candidate ranking module can output the candidate entity 106-11,...,106nm having the highest similarity score.
[0046] In this example, the candidate generation module is a model. The model in this example is a general domain model. The model is fine-tuned using the loss function described later.
[0047] Figure 3 shows a flowchart with steps for a method to associate mention 110 with one entity in either the first knowledge base 106-1 or the second knowledge base 106-n. If three or more knowledge bases are available, the method is similarly carried out by considering three or more knowledge bases simultaneously.
[0048] This method includes step 302.
[0049] Step 302 involves providing a set of representations 206-11,...,206-nm within the vector space 200.
[0050] This set contains the first representations 206-11,...,206-1i, each representing one entity 106-11,...,106-1i of the first knowledge base 106-1.
[0051] This set includes a second representation 206-n1,...,206-nm, each representing one entity 106-n1,...,106-nm of the second knowledge base 106-n.
[0052] Providing a set of representations within the vector space 200 may include training a model. The model can be pre-trained before implementing this method.
[0053] In one example, the model is trained to map entities from a first knowledge base 106-1 to a first representation of those entities in a vector space 200.
[0054] This method includes mapping at least one entity of a first knowledge base 106-1 to a first representation of that entity using a trained model.
[0055] In one example, the model is fine-tuned to map entities in the second knowledge base 106-n to a second representation of those entities in the vector space 200. That is, the model is trained to map to the first knowledge base 106-1, and then fine-tuned to enable mapping to both the first knowledge base 106-1 and the second knowledge base 106-n.
[0056] This method includes mapping at least one entity from a second knowledge base 106-n to a second representation of that entity using a trained model.
[0057] For three or more knowledge graphs, the model can be trained or fine-tuned accordingly, and the entities of those three or more knowledge graphs can be similarly mapped to their respective representations in the vector space 200.
[0058] Training a model may include training or pre-training the model to map mention 110 to a third representation 210.
[0059] This method includes mapping mention 110 to a third representation 210 using a trained model.
[0060] In one example, the model is trained in a way that depends on the training data.
[0061] The training data consists of a set of pairs, each containing a mention and an entity from either the first or second knowledge base.
[0062] For three or more knowledge graphs, the training data may also include mentions and pairs of entities from one of these knowledge graphs.
[0063] Training the model in this example involves evaluating the loss function.
[0064] The loss function may include a measure of similarity between the representation of mentions and the representation of entities within a pair.
[0065] The loss function may include a measure of dissimilarity between the vector space representation of a mention within a pair and at least one vector space representation of an entity in a first or second knowledge base that is different from the entity within this pair.
[0066] The training data may consist of a set of pairs, each containing an entity from the first knowledge base and an entity from the second knowledge base.
[0067] For three or more knowledge graphs, the training data may contain pairs of entities from each of the different knowledge graphs.
[0068] In one example, entities within a pair should be identical. In this case, training the model involves evaluating a measure of similarity between the vector space representations of entities within the pair. The loss function may include this measure. For example, pairs are determined such that the vector space representations of entities that should be associated with the same mention by the trained model are closer to each other than the representations of other entities that should not be associated with this mention by the trained model.
[0069] In one example, the entities within a pair are different, dissimilar, or not identical to one another. In this case, training the model involves evaluating a measure of dissimilarity between the vector space representations of the entities within the pair. The loss function may include this measure. For example, pairs might be determined such that the vector space representations of entities that should not be associated with the same mention by the trained model are more spaced apart from each other in the vector space than the representations of other entities that should be associated with this mention by the trained model.
[0070] An example loss function for the training data T, taking these methods into consideration, is:
number
number
number
[0071] That is, evaluating a measure of similarity and / or a measure of dissimilarity involves determining the distance between representations within a pair of representations in a vector space.
[0072] According to one example, the parameters θ of the model are trained by training data from a general domain and then fine-tuned by a loss function L θ The loss function L θ ensures the following. (1) That the representation 210 for a mention 110, for example a mention from text, and the representation of the correct entity from one of a plurality of knowledge graphs are close to each other. This is achieved by the first dot product
Number
Number
Number
Number
number
[0073] Then, step 304 is executed.
[0074] In step 304, the method further includes providing a third representation 210 in a vector space 200 that represents the mention 110.
[0075] Then, step 306 is executed.
[0076] Step 306 involves selecting a subset of the set of representations 206-11,...,206nm.
[0077] A subset includes at least one first representation and / or at least one second representation that is more similar to the third representation 210 than to other representations in the set of representations. In the example shown in Figure 2, the subset includes representations 206-1i and 206-n2, but does not include representations 206-11, 206-12, 206-n1, and 206-nm. In the case of three or more knowledge bases, the subset may include entities from any of these knowledge bases.
[0078] Selecting a subset may involve selecting at least two representations that are more similar to the third representation 210 than to the other representations.
[0079] In one example, selecting a subset involves selecting a representation that is closer to the representation of a third representation 210 than to other representations in the vector space 200. In one example, a predetermined number of representations are selected.
[0080] For example, selecting a subset involves selecting a representation in the vector space 200 that is within a predetermined distance from the third representation 210.
[0081] Then, step 308 is executed.
[0082] Step 308 involves selecting entities for association. In this example, selecting entities for association involves selecting representations from a subset.
[0083] Selecting an entity for association may involve determining a score for the representation. In one example, the score determined for a given entity depends on the representation of mention 110 and the representation of this entity.
[0084] Selecting entities for association may involve ranking representations based on their respective scores.
[0085] In one example, the expression with the highest score is selected.
[0086] In one example, the expression with a higher score than at least one other expression is selected.
[0087] In this example, the selected entity is either from the first knowledge base 106-1 or from the second knowledge base 106-n. If there are three or more knowledge bases, the entity may be from any of these three or more knowledge bases.
[0088] Then, step 310 is executed.
[0089] Step 310 involves associating mention 110 with an entity represented by a representation selected from a subset.
[0090] In one example, training may involve the following steps:
[0091] 1. A step to train the candidate generation module on a general domain.
[0092] The candidate generation module, for example, the step of training the corresponding model, can be performed as described, for example, in "Scalable zero-shot entity linking with dense entity retrieval".
[0093] 2. Loss function L θ The following steps involve fine-tuning the candidate generation module using the training data:
[0094] • Domain-specific data: For example, the zero-shot entity linking dataset (Zeshel) from Fandom:Lajanugen Logeswaran, Ming-Wei Chang, Kenton Lee, Kristina Toutanova, Jacob Devlin, Honglak Lee, "Zero-shot entity linking by reading entity descriptions" (edited and published by Anna Korhonen, David R. Traum, and Lluis Marquez, Proceedings of the 57th Conference of the Association for Computational Linguistics, ACL 2019, Florence, Italy, July 28–August 2, 2019, Volume 1: Long Papers, pp. 3449–3460, Association for Computational Linguistics, 2019. doi: 10.18653 / v1 / p19–1335). Any other domain-specific dataset can be used in a similar manner.
[0095] This data includes multiple domains. For each domain, there are entities with text descriptions and labeled mentions extracted from articles related to that domain.
[0096] • General domain extension data: For example, the Reddit mentions dataset: Nicholas Botzer, Yifan Ding, Tim Weninger, "Reddit entity linking dataset" (Inf. Process. Manag., 58(3):102479, 2021. doi: 10.1016 / j.ipm.2020.102479). Datasets from any other general domain can be used in a similar manner.
[0097] This data is extracted from Reddit posts and comments by Reddit users and includes mentions annotated with Wikipedia entities.
[0098] • A list of duplicate entities: For example, this list can be generated by string matching of entity names appearing in two or more knowledge bases, or by defining a threshold for similarity used to determine whether two entities should be considered duplicates, using a relatively sophisticated model such as a sentence transformer to obtain semantic similarity between entities from two or more knowledge bases. The sentence transformer may be a Sentence-BERT, such as the one disclosed by Nils Reimers and Iryna Gurevych, 2019, "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks" (Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pp. 3982-3992, Hong Kong, China, Association for Computational Linguistics).
[0099] 3. The candidate ranking module, for example, the step of training the corresponding model on a general domain, as described in "Scalable zero-shot entity linking with dense entity retrieval," for example.
Claims
1. A method for training a model for linking mentions (110) in a textual context to entities (106-11, ..., 106-nm) across multiple knowledge bases, comprising: The method includes training (302) the model in dependence on training data to map entities of a first knowledge base (106-1) to a first representation of the entities in a vector space (200), to map entities of a second knowledge base (106-n) to a second representation of the entities in the vector space (200), and to map the mentions to a third representation in the vector space; the training data includes a set of pairs, each pair including a mention in a text context and a reference entity corresponding to the mention in the first knowledge base (106-1) or the second knowledge base (106-n); training the model includes evaluating a loss function; the loss function includes, for each pair, a measure of similarity between a representation in the vector space of the mention in the pair and a representation in the vector space of the reference entity in the pair, and / or a measure of dissimilarity between the representation in the vector space of the mention in the pair and at least one representation in the vector space of an entity of the first knowledge base (106-1) or the second knowledge base (106-n) that is different from the reference entity in the pair; the training data includes a set of pairs, each pair including an entity from the first knowledge base (106-1) and an entity from the second knowledge base (106-n); The entities in the pair are identical, and each pair is a set of pairs including an entity in the first knowledge base (106-1) and an entity in the second knowledge base (106-n), the entities in the pair are different, dissimilar, or non-identical; the loss function comprises a measure of similarity between the representations in the vector space of the entities in the pair and / or comprises a measure of dissimilarity between the representations in the vector space of the entities in the pair; A method characterized by:
2. The method includes providing (302) a set of representations (206-11, ..., 206-nm) in the vector space (200); the set includes first representations (206-11, ..., 206-1i), each representing one entity (106-11, ..., 106-1i) of the first knowledge base (106-1); the set includes second representations (206-n1, ..., 206-nm), each representing one entity (106-n1, ..., 106-nm) of the second knowledge base (106-n); The method comprises: providing (304) a third representation (210) in the vector space (200) representing the mention (110); selecting (306) a subset of the set of representations (206-11, ..., 206-nm), the subset including at least one first representation (206-1i) and / or at least one second representation (206-n2) that is more similar to the third representation (210) than other representations (206-11, 206-12, 206-n1, 206-nm) of the set of representations; linking (310) the mention (110) to the entity represented by the expression selected (308) from the subset; further comprising: The method of claim 1.
3. Selecting 306 the subset includes selecting at least two expressions that are more similar to the third expression than to other expressions, and determining a score for the at least two expressions; a score for each of the at least two expressions is determined depending on the mentions and the entity that each expression represents; selecting (308) from the subset an expression that is more similar to the third expression (210) comprises ranking the at least two expressions depending on their respective scores and selecting the expression having the higher score; The method of claim 2.
4. Selecting (306) the subset may in particular include selecting a predetermined amount of representations that are closer to the third representation than other representations or that are within a predetermined distance from the third representation. The method of claim 2.
5. Providing 302 the set of representations may include: Mapping at least one entity of the first knowledge base (106-1) to a first representation of that entity by the trained model; and / or Mapping at least one entity of the second knowledge base (106-n) to a second representation of the entity by the trained model. Including, The method of claim 2.
6. the method including mapping the mentions to the third representation by the trained model; The method of claim 1.
7. evaluating the measure of similarity and / or the measure of dissimilarity comprises determining a distance between the representations in the pair in the vector space. The method of claim 1.
8. 1. An apparatus (100) for training a model for linking mentions (110) in a textual context to entities (106-11, ..., 106-nm) across multiple knowledge bases, comprising: The device (100) is configured to perform the method according to claim 1.
1. An apparatus (100) comprising:
9. The apparatus (100) comprises at least one processor (102) and at least one storage (104) for storing instructions; The instructions, when executed by the at least one processor (102), cause the apparatus to perform the method of claim 1.
9. The apparatus (100) of claim 8.
10. A computer program comprising computer readable instructions which, when executed by a computer, cause the computer to carry out the method of any one of claims 1 to 7.