Method for managing semantic data communication
The iterative method for transmitting semantic data using bit sequences representing vector space portions addresses the challenge of optimizing network resources and maintaining confidentiality by adapting precision to application needs, ensuring efficient and confidential data communication.
Patent Information
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- ORANGE SA
- Filing Date
- 2024-12-16
- Publication Date
- 2026-06-19
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: Method for managing semantic data communication. Technical field
[0001] The technical field is that of telecommunications.
[0002] More specifically, the invention relates to a method for managing the communication of semantic data. In particular, the invention makes it possible to communicate semantic data with variable precision.
[0003] Semantic data will be transmitted by the method according to the invention from one piece of equipment to another. Such data is a particular type of data used in the field of artificial intelligence. The capabilities of artificial intelligence, and in particular generative artificial intelligence (GAI), that is, the branch of artificial intelligence that focuses on the automatic production of media, especially texts, images, or videos, came to the attention of the general public with the online release of Chat-GPT (a product of the company Open AI), the first version of which dates from November 2022. Other generative artificial intelligence programs are being developed by companies such as Google (product Gemini), Anthropic (product Claude), and Mistral AI (product Le Chat).The products mentioned here are chatbots, but other generative artificial intelligence products can produce images (such as DALL-E from Open AI, or Midjourney from the research laboratory of the same name), videos, sounds, computer programs, or even specifications for chemical molecules. Other artificial intelligence tasks might include pattern recognition, decision-making, classification, planning, or any other type of activity that mimics human intelligence.
[0004] Generative artificial intelligence programs encode the data they manipulate for processing in a format that we here call semantic data or a semantic vector. Semantic content, the meaning expected or interpreted by users of a text, image, or video, is thus associated with semantic data. Such semantic data is a high-dimensional vector in the space of real numbers. The typical number of dimensions for semantic data ranges from several hundred to several thousand. The MTEB project (acronym for Massive Text Embedding Benchmark) performs performance comparisons between models used by generative artificial intelligence programs and, in March 2024, on Of the ten best performing models, seven used 4096-dimensional vectors and three used 1024-dimensional vectors.
[0005] The term most often used in English to refer to semantic data manipulated by generative artificial intelligence programs is "embedding." However, this term conflates the function that encodes data, such as text or an image, for subsequent processing—a mathematical function that is an embedding (a translation of the English "embedding")—and the data obtained as a result of applying this function. To avoid this confusion between a function and its result, we will subsequently use only the term "semantic data" or "semantic vector" in this document, even though the term "embedding" is more commonly found in the literature, in both English and French.
[0006] Semantic data is therefore characterized by the fact that it represents semantic content in the form of computer data. It is possible to see that semantic content is indeed associated with semantic data by examining the transformations that can be applied to it. A classic example in artificial intelligence considers semantic data corresponding to the concept of "France," which can be transformed into semantic data corresponding to the concept of "Paris." The same transformation, applied to semantic data associated with "Germany," will produce semantic data associated with "Berlin," and similarly for data such as "Spain"-"Madrid," "Italy"-"Rome," etc.This indicates that semantic content corresponding to a country or city is indeed associated with the corresponding semantic data, and that manipulations of the semantic data correspond to manipulations of the concepts associated with the semantic data.
[0007] Semantic data, initially appearing in the context of generative artificial intelligence, have found uses in all artificial intelligence programs.
[0008] As indicated, the semantic data we are discussing are vectors of real numbers ranging in size from several hundred to several thousand. These several hundred or thousands of real numbers that form a semantic data element are generally represented for computer processing by a data type called a floating-point number, which uses 32 bits to be represented, that is, 4 bytes. A semantic data element that is a vector of dimension 4096 will therefore have an approximate memory size of 16 KB (16 kilobytes).
[0009] It can be noted that the number of dimensions of semantic data tends to increase over time, and that the best performing models tend to use higher dimension vectors.
[0010] Some artificial intelligence researchers propose using vectors of complex numbers as semantic data. Such a proposal, if adopted and if the number of dimensions remained constant, would imply doubling the size of the semantic data by replacing a 32-bit floating-point number with two real numbers to represent a complex number.
[0011] We have spoken of bits to represent computer data, but, more generally, it is more accurate to speak of sequences of symbols. Indeed, bits are symbols that come in pairs (0 and 1), but the transmissions actually carried out at the physical level rarely involve such paired symbols. The symbols transmitted at the physical level will be, for example, electromagnetic waves to which phase-shift keying is applied in order to transmit one value from among 4, 8, or 16 values. These techniques are used, for example, in mobile telecommunications. Phase-shift keying is called phase-shift keying in English, and the acronyms 4-PSK, 8-PSK, or 16-PSK are used to describe phase-shift keying modulations that allow the transmission of one value from among 4, 8, or 16 values in a single transmission.In optical fiber transmissions, the physically transmitted symbols can take one value from among many possible values, and not just symbols like bits, which take their values from a pair of possible values. Even though the transmitted symbols as such are not bits and can take more than two values, there is nevertheless a direct link between a transmitted symbol and bits in all cases. For example, in the case of 4-PSK modulation, the transmitted symbols can take four values, and these four values correspond respectively to the bit pairs '00', '01', '10', and '11'.
[0012] We will therefore speak in this document of bit sequences to simplify the exposition but each time, this can be understood in a more general reading as being sequences of symbols.
[0013] These points are well known to those skilled in the art and will not be developed further. State of the art
[0014] The future development of artificial intelligence promises an explosion in the transmission of semantic data. Indeed, one can easily imagine interesting applications in which semantic data would be transmitted from a device that produces it to another device that will use it.
[0015] For example, during a telephone conversation, a speech recognition system coupled with an interpretation system could interpret each sentence spoken by a speaker in terms of semantic data. The meaning of the sentence The utterance spoken by the speaker would then be associated with semantic data. This semantic data would be transmitted to another speaker who would have a reverse interpretation system coupled with a speech synthesis system. This system would allow for automatic translation of the telephone conversation, regardless of the languages used by the speakers. In a conference call with speakers each speaking their own language, the participants would hear each other's contributions translated in real time into their respective languages.
[0016] To give another example, an artificial intelligence system can detect events such as an attack or burglary in video footage from a CCTV camera. A user may wish to have such a CCTV service without the video feed of their home being transmitted externally. Rather than transmitting the video, an AI-powered CCTV system can generate semantic data and transmit it. A system trained to detect intrusions will then only need this semantic data to detect potential intrusions, and the privacy of CCTV users will be preserved.
[0017] In the field of telecommunications, research is beginning to explore the concept of semantic networks that automatically adapt to the needs of applications transmitting data over the network using artificial intelligence techniques. Such semantic networks must rely on general-purpose information representations that lend themselves to automatic adaptations and optimizations. These representations can carry semantic data of various kinds, such as images, text, or even configuration elements of the semantic network itself. A semantic network therefore relies on semantic data as its elementary data format.
[0018] These possible application examples show the general interest in transmitting semantic data (often called embeddings in English) in computer and / or telecommunications networks or, more generally, in interconnecting artificial intelligence systems in order to respond to complex tasks.
[0019] The scientific field of semantic communications is concerned with the problem of communicating only the minimum amount of data necessary to perform a task. In this approach, the transmission of semantic data varies the transmitted data according to the needs of subsequent processing. In the prior art, the transmission of semantic data requires the sender to know the receiving application in order to implement this variation.
[0020] A major drawback of this approach is that the processing performed before transmission depends on the task expected at reception. However, this task at the The reception process cannot be known in all cases. Knowing this task at the receiving end also implies that the telecommunications operator (which transmits the data and often prepares it for transmission) must be informed of the tasks performed by the applications using its network. However, telecommunications operators are generally agnostic regarding the applications that use their networks. Furthermore, it would be highly impractical to develop network optimizations specific to each expected processing task. For these reasons, such an approach could only be applied in the very specific case of a dedicated application between a sender and a receiver connected by a private network, in which specific optimizations would be implemented to optimize the targeted artificial intelligence task.Such an approach cannot be generalized to the countless expected uses in artificial intelligence and, more generally, to all uses in which the aim is to adapt the communicated data according to the processing that will be carried out by the receiving application.
[0021] The invention improves the situation. Description of the invention
[0022] According to a first functional aspect, the invention relates to a method of communicating semantic data from a sending management entity to a receiving management entity, the semantic data being vectors belonging to a given vector space, the method being iterative and comprising obtaining, for a semantic data to be communicated, a sequence of bits corresponding to a part of the given vector space in which the data to be communicated is located; followed by the transmission to the receiving management entity of the sequence of bits obtained in place of the data to be communicated, the length of the transmitted bit sequence being able to vary between iterations.
[0023] Thanks to the invention, semantic data is communicated from a sending management entity to a receiving management entity in a very economical manner. Indeed, instead of transmitting the data to be communicated, a sequence of bits representing a portion of the vector space is transmitted. The receiving management entity therefore does not receive the semantic data as such, but a sequence of bits that allows it to know the portion of the vector space in which the semantic data to be communicated is located. The receiving management entity thus knows the semantic data to within a certain error, which is the maximum distance that can exist in the portion in question between two semantic data points present in that portion.For many applications, it is not necessary to know the communicated data precisely but just an approximation of it; in this case, the gain in terms of data to be transmitted between a complete semantic data and a . A sequence of bits corresponding to a part of the vector space does not degrade the quality of the service provided.
[0024] In one embodiment, the longer the resulting bit sequence, the smaller the corresponding portion of the vector space. In this embodiment, the error due to transmitting a bit sequence instead of the data to be communicated will decrease as the length of the resulting and transmitted bit sequence increases.
[0025] The process according to the invention therefore makes it possible to achieve very significant savings in network, energy and material resources for communicating semantic data.
[0026] Furthermore, the method does not directly transmit the semantic data to be communicated, but rather sequences of bits that correspond to regions of the vector space in which the semantic data is located. The method therefore preserves a certain degree of confidentiality for the communicated semantic data. A potential attacker who manages to intercept the transmissions would not have access to the exact semantic data communicated, but to an approximation thereof.
[0027] Furthermore, the length of the transmitted bit sequence can vary between iterations. In this way, the communication method has the advantage of variable precision. When the application using the communicated semantic data can operate with imprecise semantic data, short bit sequences will be used, corresponding to larger portions of the vector space in which the communicated semantic data is located. Conversely, when the application needs to communicate precise semantic data, the bit sequences will be longer in order to correspond to a smaller portion of the vector space, for which the associated error will be lower.At the extreme, the bit sequence corresponding to a precise semantic data point—that is, a precise point in the given vector space—and corresponding to the transmission of 32 bits for each real dimension of the semantic data, can be transmitted. In this case, the maximum precision that can be obtained by encoding real numbers using 32 bits is achieved.
[0028] This advantage of variable precision is further achieved without having to adapt the semantic data to be communicated according to the task for which it is intended. The precision with which the semantic data is communicated is adjusted by choosing a greater or lesser length for the transmitted bit sequences, without prior information about the tasks for which the semantic data is being communicated. This is particularly advantageous for a telecommunications operator, which can communicate semantic data in an agnostic manner. A telecommunications operator can use the method according to The invention allows for the communication of semantic data without requiring knowledge of the specific characteristics of the applications that will use this semantic data. By using the method according to the invention, it is not necessary to develop network optimizations specific to each expected processing task.
[0029] The method according to the invention is iterative. It comprises, for example, a succession of steps for obtaining a sequence and then transmitting the resulting sequence. Thanks to this iterative aspect, the invention enables complete communication between applications by communicating multiple semantic data. The succession of steps for obtaining a sequence and transmitting the resulting sequence allows for the communication of multiple semantic data, for example, one with each sequence transmission. It is also possible to complete a first transmission of a sequence by obtaining bits that complete the first sequence to form a second, longer sequence, and to transmit only the bits that complete the first sequence, which corresponds to the transmission of the second sequence.
[0030] According to one embodiment, the sequence obtained is a sequence of symbols other than bits.
[0031] In this embodiment, the bit sequence obtained and then transmitted is a sequence of symbols belonging to a set of symbols, and not a sequence of bits. In some embodiments, these symbols correspond to quantities that will be those used in the physical transmission employed by the method. For example, as explained above, the calculated sequence can be a sequence of symbols that correspond to modulations of phase changes among four possible phase changes, that is, 4-PSK symbols. In this case, the sequences would be sequences of values chosen from among the four possible 4-PSK values. A sequence of 8 4-PSK symbols will then take a value from among 65,536 possibilities (indeed, 4 to the power of 8 equals 65,536), and a vector space divided into 65,536 regions can be located by indices of length 8 formed by 4-PSK symbols instead of 16-bit sequences.Subsequently, we will most often choose examples in which the sequences are formed of bits, but it is clear that these examples are only examples among others.
[0032] The transmission of the resulting sequence can be achieved by directly transmitting the sequence of symbols forming the sequence. In other embodiments, the sequence of symbols forming the resulting sequence is translated into a format suitable for transmission and then transmitted, which corresponds to the transmission of the sequence.
[0033] According to one embodiment, which can be implemented alternatively or cumulatively with the previous embodiment, a semantic data to be communicated is divided into several sub-data belonging to vector subspaces of the given vector space and a sequence is obtained for a sub-data, corresponding to a part of a given vector subspace in which the subdata is located, and the sequences obtained from the subdata are transmitted to communicate the complete data.
[0034] Thanks to this embodiment, the method according to the invention is adapted to the dimensions of the semantic data to be communicated. A bit sequence of a given length, for example a few bytes, can delimit a sufficiently precise part in a vector space of a given dimension, say a few units, for example dimension 2. However, the semantic data to be transmitted are points belonging to high-dimensional vector spaces (a few hundred to a few thousand). One way to proceed is then to divide the semantic data to be communicated into several sub-data of a suitable dimension, for example dimension 2. The sequences that are obtained and then transmitted will then correspond to sub-data for a vector subspace of the given vector space.Upon reception, it will be possible to combine all the obtained sequences to reconstruct the corresponding part of the given vector space where the complete semantic data is located. In this embodiment, it is not necessary to use the same length of bit sequences for the different sliced parts. Some can benefit from a longer sequence, and therefore be communicated with greater precision.
[0035] According to one embodiment, which can be implemented alternatively or cumulatively with the preceding embodiments, the sequence transmitted during a transmission step is the continuation of the sequence transmitted during the previous transmission step.
[0036] Thanks to this embodiment, the method according to the invention can operate by refining the desired accuracy during the transmission of a sequence. The transmission step then corresponds to the transmission of a first part of a sequence, and the following step corresponds to the transmission of the remainder of the same sequence. In this way, if the accuracy obtained by transmitting the first part of the sequence is sufficient, the remainder of the sequence will not be transmitted, thus saving network, hardware, and energy resources. The remainder of the sequence can be transmitted in a subsequent transmission step to achieve the desired level of accuracy.
[0037] According to one embodiment, which can be implemented alternatively or cumulatively with the preceding embodiments, when a first sequence obtained is the prefix of a second sequence obtained, then the part corresponding to the first sequence includes the part corresponding to the second sequence.
[0038] Thanks to this embodiment, the method provides a practical way of ensuring that the longer a sequence obtained is, the larger the corresponding part of the space The vector space is small. Let's say that a short sequence corresponds to a given first part of the vector space. This first part can be divided into several sub-parts, each sub-part corresponding to a distinct sequence of bits. The complete bit sequences corresponding to one of the subsets in the complete vector space will then be formed by using the bit sequence corresponding to the first subset as a prefix, followed by the bit sequences corresponding to the subsets, in order to find the subset within the first subset. The subset corresponding to a complete sequence is indeed included in the first subset, and the sequence corresponding to the first subset is indeed a prefix of the complete sequence corresponding to the subset.
[0039] This embodiment can be advantageously combined with the previous one; a first sequence of bits can be transmitted in a first step, corresponding to a prefix of a more complete bit sequence. This sequence can then be completed by a suffix transmitted in a subsequent transmission step, which specifies the sub-part included in the first part where the semantic data to be communicated is located.
[0040] It is possible to imagine other embodiments in which there is no equivalence between the inclusion relation of the parts of the given vector space and the prefix relation between corresponding bit sequences. A partition of the vector space can be imagined, and then random sequences assigned to the different parts, the longest corresponding to the smallest parts included in larger parts, without necessarily including the prefixes of the sequences. This version provides an alternative to the preferred embodiment.
[0041] It is also possible in this arbitrary slicing mode to have longer bit sequences corresponding to larger parts of the given vector space.
[0042] According to one embodiment, which can be implemented alternatively or cumulatively with the preceding embodiments, a part corresponding to a sequence of bits obtained is defined by the bit values of the sequence which indicate, according to the rank in the sequence, whether the semantic data to be communicated, for a given dimension, is less than or greater than a predefined bound.
[0043] Thanks to this embodiment, the method provides a practical way of defining the correspondence between a sequence of bits and a portion of the given vector space. Boundaries can be predefined on the different dimensions of the vector space. A bit, at a given location in the sequence, will then indicate whether the semantic data to be communicated lies, for that dimension, below or above the predefined bound. A complete sequence of bits can thus be segmented by dichotomy a part or sub-part of the given vector space in an increasingly precise way.
[0044] Other embodiments are possible, for example, in which the partitioning of the vector space is not orthogonal to predefined bounds on the different dimensions of the space. It is possible, for example, to link together the values taken from the different dimensions of the vector space to take into account a correlation between these different dimensions. Any type of partitioning of the given vector space is possible, as is any type of correspondence with bit sequences.
[0045] According to one embodiment, which can be implemented alternatively or cumulatively with the preceding embodiments, the receiving management entity sends to the sending management entity a message setting the length of the transmitted bit sequences.
[0046] Thanks to this embodiment, the receiving management entity can adapt the precision with which the sending management entity communicates the semantic data. The receiving management entity can request that it receive longer or shorter bit sequences. In general, a longer bit sequence corresponds to a smaller portion of the vector space in which the semantic data to be communicated is located, and in this case, increasing the length of the transmitted bit sequences amounts to increasing the precision of the process.
[0047] The receiving management entity is best positioned to determine the most suitable sequence length. Indeed, the receiving management entity will provide the semantic data to the application, for example, an artificial intelligence application, which will use it. This application will be able to judge whether the accuracy is sufficient for its needs or needs improvement. Based on feedback from the user application, the receiving management entity can request longer or shorter bit sequences for communicating semantic data.
[0048] According to one embodiment, which can be implemented alternatively or cumulatively with the preceding embodiments, the receiving management entity sends the sending management entity a message requesting a variation in the length of the bit sequence.
[0049] Thanks to this embodiment, the method according to the invention is made more dynamic. Rather than fixing a fixed length of the transmitted bit sequence once and for all, this embodiment allows the length of the transmitted sequences, and therefore the precision of the method, to be modified during a communication session of several semantic data points. The method is thus made adaptive because the precision required by the user application can vary during the communication of the semantic data. The message requesting a variation of the The sequence length can also require zero variation of this length, that is to say that it remains unchanged because it corresponds to the useful precision.
[0050] According to one embodiment, which can be implemented alternatively or cumulatively with the preceding embodiments, the issuing management entity will periodically decrease the length of the transmitted bit sequences even in the absence of a message requesting a decrease in this length.
[0051] Thanks to this embodiment, the process is made even more adaptive and dynamic while optimizing the use of network, energy, and hardware resources. When the receiving management entity can send messages requesting an increase or decrease in the length of the transmitted bit sequences, it is likely that, once sufficient precision is achieved, it will not request a decrease in the length of the transmitted bit sequences since this decrease would imply a decrease in the precision of the communicated semantic data.
[0052] However, it is possible that, as transmission conditions change over time, as do the needs of the consuming applications, a level of precision necessary at a given moment may become superfluous later in the transmission. By periodically reducing the length of the transmitted bit sequences on its own initiative, the sending management entity will decrease the precision of the communicated semantic data. But this reduced precision may nevertheless be sufficient for the receiving management entity and the generative artificial intelligence application using the communicated semantic data. In this case, reducing the length of the transmitted bit sequences saves network, energy, and hardware resources. This reduction, initiated by the sending management entity, is suitable for the receiving management entity, which would not have requested it on its own.
[0053] According to one embodiment, which can be implemented alternatively or cumulatively with the preceding embodiments, the sending management entity begins the transmission of bit sequences of a given length and increases this length until it receives a message from the receiving entity indicating that the length of the transmitted bit sequences should no longer vary.
[0054] Thanks to this embodiment, another adaptive and dynamic variant of the method is proposed. The method begins with the transmission of short sequences, which correspond to a low precision of the communicated semantic data. The transmitting management entity will then progressively increase the length of the transmitted bit sequences, and therefore the associated precision, until it reaches a level sufficient for the receiving management entity and the application(s). users of the calculated semantic data. The receiving management entity will then transmit a message indicating that the level of accuracy achieved is satisfactory.
[0055] This embodiment makes it possible to achieve the desired level of accuracy using a minimum of coordination messages between the sending and receiving management entities. Furthermore, since the initial level of accuracy is low but resource-efficient, this embodiment ensures that the achieved level of accuracy will be as economical as possible while providing sufficient quality of service. In other words, this embodiment guarantees no waste in achieving sufficiently efficient communication of semantic data.
[0056] According to one embodiment, which can be implemented alternatively or cumulatively with the preceding embodiments, the sending management entity begins the transmission of bit sequences of a given length and decreases this length until it receives a message from the receiving entity indicating that the length of the transmitted bit sequences should no longer vary.
[0057] This embodiment offers a reverse implementation of the previous one. The transmitting management entity begins by transmitting bit sequences with high precision, for example, with the maximum precision provided by the method. By decreasing the precision until the receiving management entity indicates that the precision should not change further, this embodiment of the method will also allow sufficient precision to be achieved for the user applications. Starting from a higher precision, the embodiment guarantees that no information is lost, even during the initial setting of the desired precision.This embodiment can be adapted to use cases such as video surveillance applications in security contexts that require guarantees of no information loss or that cannot tolerate any setup time before effective data transmission, i.e., that cannot tolerate initial latency.
[0058] According to one embodiment, which can be implemented alternatively or cumulatively with the preceding embodiments, for a given length of transmitted bit sequences, several sequences are transmitted at once by the sending management entity to the receiving management entity.
[0059] This embodiment corresponds to batch transmission of several bit sequences, each corresponding to a portion of the vector space containing semantic data to be communicated. Once a precision is fixed, or even while this length is being negotiated, it may be advantageous to transmit several sequences corresponding to several pieces of semantic data to be communicated in a single transmission.
[0060] According to another functional aspect, the invention relates to a method for obtaining semantic data implemented by a receiving management entity, the semantic data being vectors belonging to a given vector space and being communicated by a sending management entity, the method being iterative and comprising the reception, from the sending management entity, of a sequence of bits, said sequence of bits having been obtained from a semantic data to be communicated and corresponding to a part of the given vector space in which the semantic data to be communicated is located, the length of the received bit sequence being able to vary between iterations; followed by obtaining a semantic data which is located in the part of the vector space corresponding to the received bit sequence.
[0061] The semantic data obtained by the retrieval process is then used in place of the semantic data that was to be communicated. The retrieval process can also be considered as a process for receiving semantic data.
[0062] The second functional aspect corresponds to the reception of the semantic data that must be communicated to the receiving management entity. It is not the semantic data itself that is transmitted, but a sequence of bits corresponding to a portion of the vector space in which the communicated semantic data is located. The receiving management entity will therefore obtain semantic data that is not necessarily the semantic data to be communicated, but which is located in the same portion of the vector space and which will be considered to be the semantic data received by means of the method according to the invention. One way of obtaining the semantic data in question could be, for example, the random selection of a point present in the portion of the vector space corresponding to the received bit sequence.
[0063] Depending on the size of the portion of the vector space in question, the precision of the semantic data communication varies. It must be sufficient for the needs of the applications using the communicated semantic data, which are related to the receiving management entity. Different embodiments allow the precision of the communicated semantic data to be adapted to the needs of the user applications by varying the length of the received bit sequence.
[0064] According to one embodiment of this other functional aspect, the receiving management entity sends a message to the sending management entity requesting a variation in the length of the bit sequence.
[0065] Thanks to this embodiment, the iterative process is adaptive in the sense that the receiving management entity can ask the sending management entity to increase or decrease the precision of the communication of the semantic data by varying the length of the bit sequence.
[0066] According to one embodiment of this other functional aspect, the semantic data obtained is the geometric center of the part of the vector space corresponding to the received bit sequence.
[0067] This embodiment offers an alternative for obtaining semantic data present in the portion of the vector space corresponding to the received bit sequence. Rather than performing a random selection, the semantic data obtained will be the geometric center of the relevant portion of the vector space. This embodiment has the advantage, compared to a random selection, of being easier to implement since the geometric center can be determined in advance. In a variant, a predefined point can be chosen instead of the geometric center.
[0068] According to a first material aspect, the invention relates to a management entity, called the sending management entity, implementing an iterative method of communicating semantic data to a receiving management entity, the semantic data being vectors belonging to a given vector space, the sending management entity comprising the following modules: • A module for obtaining, for a semantic data to be communicated, a sequence of bits corresponding to a part of the given vector space in which the data to be communicated is located; • A transmission module to the receiving management entity of the obtained bit sequence in place of the data to be communicated, the length of the transmitted bit sequence being able to vary between iterations.
[0069] According to a first embodiment of this material aspect, the invention relates to a telecommunications equipment comprising a transmitting management entity capable of managing the communication of semantic data according to the invention.
[0070] Such telecommunications equipment may be, for example, a router, a home gateway, a gateway located in a professional environment, a network card in computer equipment such as a computer or a mobile terminal, or a communicating object such as a camera or other object producing semantic data for artificial intelligence applications or otherwise. In general, a transmitting management entity according to the invention may be embedded in any type of object or equipment that produces semantic data for a remote receiver or that is required to communicate such data to another piece of equipment in a computer or telecommunications network.
[0071] According to a second material aspect, the invention relates to a management entity, called the receiving management entity, implementing an iterative process for obtaining semantic data, the semantic data being vectors belonging to a given vector space and being communicated by an issuing management entity, the receiving management entity comprising the following modules: • A receiving module, from the sending management entity, of a sequence of bits, said sequence of bits having been obtained from a semantic data to be communicated and corresponding to a part of the given vector space in which the semantic data to be communicated is located, the length of the received bit sequence being able to vary between iterations; • A module for obtaining semantic data that is located in the part of the vector space corresponding to the received bit sequence.
[0072] According to a first embodiment of this material aspect, the invention relates to a telecommunications equipment comprising a receiving management entity capable of managing the acquisition of semantic data according to the invention.
[0073] Such telecommunications equipment may be, for example, a router, a gateway in a home or business environment, a network card in computer equipment such as a computer, a mobile terminal, or equipment managing data reception in a cloud computing system. In general, a receiving management entity according to the invention may be embedded in any type of object or equipment receiving semantic data for storage or processing by artificial intelligence or other applications, or required to receive such data in a computer or telecommunications network.
[0074] In some embodiments, the management entities handling communication and the reception of semantic data are integrated into a single device. In some of these embodiments, the devices in question may be routers that perform both communication to other devices and reception of semantic data from other devices. In other embodiments, the management entities handling communication and reception correspond to distinct components of the same device. The transmitting management entity may correspond to a component that produces semantic data, and the receiving management entity to a component for storing and reading the produced semantic data. The transmission channel between the devices in this case is a software bus that connects the two components of the same device.For example, in an autonomous vehicle or robot, the transmitting management entity can be integrated into an environmental sensor that transforms data from the environment into semantic data, and the receiving management entity can be integrated into a computing center that processes the semantic data emitted by the sensors to decide on a reaction from the vehicle to the autonomous robot. Any other communication architecture is possible.
[0075] According to another material aspect, the invention relates to a data carrier on which is recorded a computer program comprising a sequence of instructions for the implementation of the semantic data communication method according to the invention when it is loaded into and executed by a processor.
[0076] According to another material aspect, the invention relates to a data carrier on which is recorded a computer program comprising a sequence of instructions for implementing the method of obtaining semantic data according to the invention when it is loaded into and executed by a processor.
[0077] Data carriers can be any entity or device capable of storing programs. For example, the carriers can include a storage means, such as a ROM, for example a CD-ROM or a microelectronic circuit ROM, or a magnetic recording means such as a hard drive. On the other hand, the carriers can be transmissible media such as an electrical or optical signal, which can be transmitted via an electrical or optical cable, by radio, or by other means. The programs according to the invention can, in particular, be downloaded from a network such as the Internet. Alternatively, the information carrier can be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the process in question.The program according to the invention can use any type of computer technology in terms of compiled programming languages, interpreted languages, or a combination of both, as well as in terms of operating systems. Brief description of the figures.
[0078] The invention will be better understood upon reading the following description, given by way of example, and made with reference to the accompanying drawings in which:
[0079] [Fig-1] represents a system composed of an issuing management entity and an entity receiving management implementing the invention.
[0080] [Fig.2] illustrates an example of correspondence between bit sequences and parts of a vector space.
[0081] [Fig.3] illustrates an example of exchanges between the issuing management entity and the receiving management entity during the implementation of the invention.
[0082] [Fig.4] illustrates another example of exchanges between the issuing management entity and the receiving management entity during the implementation of the invention.
[0083] [Fig.5] illustrates another example of exchanges between the issuing management entity and the receiving management entity during the implementation of the invention.
[0084] [Fig.6] illustrates another example of exchanges between the issuing management entity and the receiving management entity during the implementation of the invention.
[0085] [Fig.7] illustrates another example of correspondence between bit sequences and parts of a vector space. Detailed description
[0086] Figure 1 represents a transmitting management entity 100 that manages the communication of semantic data SD from equipment EQ1 to equipment EQ2, via a CNL communication channel. A receiving management entity 200 manages the reception of semantic data SD'. The semantic data SD and SD' are vectors belonging to a given vector space.
[0087] In the embodiment shown in [Fig. 1], the management entity 100 comprises the following modules: • A module 101 for obtaining, for a semantic data to be communicated SD, a sequence of bits S, a sequence corresponding to a part of the given vector space and the data to be communicated SD being located in the part of the vector space corresponding to the sequence S obtained; • A 102 transmission module to a receiving management entity 200 of the obtained bit sequence S in place of the data to be communicated SD.
[0088] In the examples presented here, the bit sequences are such that the longer a sequence is, the smaller the corresponding part of the vector space is, but other embodiments are possible.
[0089] The obtained sequence S is transmitted through a CNL communication channel between the first equipment EQ1 and the second equipment EQ2.
[0090] In the embodiment shown in [Fig. 1], the management entity 200 comprises the following modules: • A module 201 receiving from a sending management entity 100 a sequence of bits S obtained from a semantic data to be communicated SD and corresponding to a part of the given vector space in which the semantic data SD to be communicated is located; • A module 202 for obtaining semantic data SD' which is located in the part of the vector space corresponding to the received bit sequence S.
[0091] Instead of directly transmitting the bits forming the semantic data SD, which is a vector of several hundred, or even thousands, of real numbers, the management entity 100 obtains a sequence of bits S corresponding to a part of the vector space in which the semantic data SD is located and transmits the sequence S in place of the semantic data SD, which greatly saves the size of data to be transmitted.
[0092] The sequence S obtained is, in the example embodiment described here, a sequence of bits but a sequence of symbols in general can be used with a symbol alphabet larger than the two bits '0' and '1'.
[0093] The transmission of the symbols forming the sequence S is carried out via a CNL communication channel. Thanks to the sequence S, the management entity 200 can locate the portion of the vector space containing the semantic data to be communicated, SD. The management entity 200 obtains a semantic data item, SD', which is located in the same portion of the vector space and therefore has a certain proximity to the semantic data SD to be communicated. This semantic data SD' will then be used in subsequent artificial intelligence or other applications in place of the semantic data SD to be communicated. The semantic data SD' was thus communicated from the equipment EQ1 to the equipment EQ2 instead of the semantic data SD, which was the semantic data to be communicated.
[0094] In some embodiments, the bit sequences used in the invention are such that the longer a sequence is, the smaller the corresponding part of the vector space. In these examples, by lengthening the obtained and transmitted sequence S, it is possible to decrease the size of the part of the vector space in which the data SD is located. The received data SD' can therefore be made very close to the data to be communicated SD by increasing the length of the obtained and transmitted bit sequence S, since the part of the vector space in which both the semantic data to be communicated SD and the obtained data SD' are located can be made very small by increasing the length of the bit sequence S.
[0095] In the example in [Fig. 1], the given vector space is represented by two arrows; it is a two-dimensional space. The region containing the data SD is delimited by the two axes and two dashed lines. The data to be communicated, SD, is located in a lower right corner of this region, while the obtained data, SD', is located in the center of the region corresponding to the transmitted and received sequence S. This example serves only to illustrate that the semantic data to be communicated, SD, and the obtained data, SD', are generally distinct but are linked by the region of the vector space in which they are both located. Figures 2 and 7 will discuss ways of partitioning the vector space to which the semantic data to be communicated belong.
[0096] The management unit 100 included in the EQ1 equipment has the hardware architecture of a conventional computer. It includes, in particular, a processor, RAM (Random Access Memory), and read-only memory such as Flash memory or ROM (not shown in the figure), as well as input / output devices such as, in some cases, keyboards and / or screens (not shown in the figure), and ports networks allowing communication with other entities and servers through a communication network such as the Internet, not shown in the figure.
[0097] The management entity 200 included in the EQ2 equipment also has the hardware architecture of a conventional computer. It includes in particular a processor, random access memory (RAM) and read-only memory such as Flash memory, ROM (not shown in the figure) as well as input / output devices such as, in some cases, keyboards and / or screens (not shown in the figure), and network ports allowing communication with other entities and servers via a communication network such as the Internet (not shown in the figure).
[0098] Management entities 100 and 200 can be included, for example, in telecommunications equipment. Such equipment EQ1, EQ2 can be routers, home gateways, or gateways deployed in professional environments. Management entities 100 and 200 can be included in network cards present in IT equipment EQ1, EQ2, such as computers, or in equipment EQ1, EQ2 managing the reception or transmission of data in cloud computing systems. Management entities 100 and 200 can also be included in mobile terminals EQ1, EQ2, where they will serve, respectively, for communication or the reception of semantic data through 3G, 4G, 5G, 6G, or other wireless telecommunications networks to which the mobile terminals EQ1, EQ2 are connected.
[0099] In general, a management entity 100 or 200 according to the invention can be embedded in any type of object or equipment EQ1, EQ2 producing SD semantic data for backup or processing by artificial intelligence or other applications or having to perform the reception of such data in a computer or telecommunications network.
[0100] In another technical field, management entities 100 and 200 can be included in image and sound sensors and in all types of equipment EQ1, EQ2, for example, means of transport or robotic equipment EQ1, EQ2. Image or sound sensors can encode semantic data from the captured images or sounds. Such sensors (cameras, microphones) can include a management entity 100 that emits semantic data. Receiving management entities 200 can be deployed in processing servers that will receive the communicated semantic data and act upon it. These receiving management entities 200 can, for example, be found in servers embedded in means of transport where they will be used to interpret data transmitted by the sensors via the management entities 100 that emit semantic data. This organization of the entities Management 100 and 200 can be useful in the context of autonomous transport systems or robots, where sensors process captured images and sounds, produce semantic data, and this semantic data is sent to control servers for interpretation and subsequent action. In this context, the transmitting and receiving management 100 and 200 entities can be integrated into the same equipment. The CNL channel is then a software bus or equivalent that ensures data transmission within the equipment.
[0101] In another domain, management entities 100 and 200 can belong to the same equipment and manage the storage of semantic data. In this context, the sending management entity 100 obtains a sequence S from a semantic data item to be stored SD, and it is this sequence of bits or symbols S that is stored. Management entity 200 retrieves the stored sequence S and obtains a semantic data item SD' which is located in the same part of the vector space as the semantic data item SD initially stored. The semantic data item SD' thus ends up in place of the semantic data item SD that was to be stored, which has saved memory space since it is the bit sequence S that was ultimately stored.
[0102] The CNL communication channel is a link between the transmitting management entity 100 and the receiving entity 200. The CNL channel can be a segment of a telecommunications network or, conversely, correspond to a chain of several communication networks allowing the connection of management entity 100 to management entity 200. The CNL channel can also be a link within a piece of equipment (autonomous means of transport, robot, computer equipment in general) between sensors (cameras, microphones) and processing servers, or between a component that produces and stores semantic data and a component that retrieves it. In these cases, the CNL channel can be a data bus within a computer device. The communication technologies deployed in the CNL channel can be wired, optical, satellite, or wireless technologies, or a combination of these different technologies.
[0103] The CNL channel can establish a direct link between the transmitting management entity 100 and the receiving management entity 200. For example, the management entity 100 can be included in a network card of a personal computer; the management entity 200 can be included in a home gateway deploying a local area network with WiFi technology; and the CNL channel can, in this case, be the WiFi link between the computer including the transmitting management entity 100 and the gateway including the receiving management entity 200. Or, the management entity 100 can be included in a mobile phone using 3G, 4G, 5G, 6G, or other wireless telephony technology, and the management entity can be included in a base station deploying the The corresponding technology and the CNL channel will be the wireless link between the mobile phone, including the transmitting management entity 100, and the base station, including the receiving management entity 200. Alternatively, management entity 100 is associated with a camera, microphone, or radar or lidar system and sends semantic data to management entity 200, which is included in a processing server embedded in an autonomous vehicle or robot, via an internal coaxial or fiber optic cable link, which forms the CNL channel. Or, the CNL channel is a software or data bus connecting components of a computer system.
[0104] In other examples, the CNL channel will establish an indirect link between the sending management entity 100 and the receiving management entity 200. For example, management entities 100 and 200 may be included in routers EQ1 and EQ2 present in packet-switched networks, which may be, for example, IP routers (acronym for Internet Protocol). In this example, the CNL channel could be a path according to the IP protocol between the two routers EQ1 and EQ2 that include management entities 100 and 200. In this embodiment, the CNL channel may therefore use several IP network segments and several IP routers and will thus be an indirect link between the two management entities 100 and 200.
[0105] In some embodiments, the CNL channel can be viewed as transmitting bit sequences, that is, sequences of binary symbols 0 or 1, between the two devices EQ1 and EQ2, including the two management entities 100 and 200. However, at the level of physical transmission, the CNL channel will transmit physical symbols that can take more than just two values. For example, in the field of wireless communications, the symbols transmitted by the CNL channel can be phase modulations carried by a radio wave, and these phase modulations can take up to sixteen or more distinct values. Similarly, in the field of fiber optic or copper-core links, the symbols transmitted by the CNL channel will be variations of electromagnetic waves carried by the physical media.
[0106] The sequence obtained S which is transmitted by the transmitting management entity 100 through the CNL channel will therefore in some embodiments be a sequence of bits 0 or 1 but will be, in other embodiments, a sequence of symbols corresponding to the symbols that can be transmitted in the CNL channel.
[0107] Fig. 2, meanwhile, illustrates an example of correspondence between bit sequences and parts of a vector space.
[0108] In the example in [Fig. 2], a given vector space is divided into parts in a regular manner and bit sequences corresponding to the different parts are specified. Another example is given in [Fig. 7].
[0109] The vector space in question is two-dimensional, represented by the two arrows labeled x and y, which indicate possible names for these two dimensions. The example presented here is easily understood from a geometric point of view: it is the well-known Cartesian plane.
[0110] The semantic data SD to be communicated are generally points in vector spaces with a much higher number of dimensions. As already seen, semantic data are generally vectors formed from several hundred or several thousand real numbers. However, the principles described here for a two-dimensional vector space can be applied identically to large vector spaces.
[0111] Furthermore, in some embodiments, the semantic data SD to be communicated can be divided into several sub-data according to the dimensions of the vector space. The two dimensions of the vector space represented in [Fig. 2] can therefore correspond to a semantic sub-data of the semantic data SD to be communicated.
[0112] In the example shown in [Fig. 2], the vector space is divided into several parts according to predefined bounds whose values are not specified in the figure. The first bound is simply the value 0 for both dimensions x and y. The two arrows in the figure divide the vector space into four parts: negative x and y; positive x and y; positive x and negative y; negative x and positive y. These four parts correspond to four possible two-bit sequences, namely, using the same order of the parts: 00 for negative x and y; 11 for positive x and y; 01 for positive x and negative y; 10 for negative x and positive y. In other words, the first bit of the sequence changes when dimension y crosses the bound 0; and the second bit of the sequence changes when dimension x crosses the bound 0. Another choice of representation would, of course, have been possible.
[0113] Since the semantic data are not vectors of real numbers in the mathematical sense of the term but of real numbers represented by computer types such as / Zoat 32, the vector space is bounded by the minimum and maximum values that can be given by the computer types used.
[0114] A two-bit sequence thus allows a two-dimensional vector space to be divided into four parts by considering two predefined bounds. These two bounds do not, moreover, have to be considered in two distinct dimensions. In general, one bit allows a vector space to be divided into two parts.
[0115] In the example in [Fig. 2], the four-part division is repeated recursively in each part. In total, the vector space is divided into 64 parts, each part corresponding to a six-bit sequence. The same scheme (00 = bottom left quadrant; 11 = top right quadrant; 01 = bottom quadrant) is repeated in the following steps: right; 10 = top left quadrant) is used recursively. Only the complementary parts of the sequences are written; in the example in [Fig.2], when a bit sequence is prefixed to a longer sequence, the part corresponding to the prefix sequence includes the part corresponding to the longer sequence.
[0116] To take an example, the four small parts surrounding the point (0,0) in [Fig.2] correspond to the following sequences: 001111 for the sub-subpart immediately below left of the point (0,0); 110000 for the sub-subpart immediately above right of the point (0,0); 100101 for the sub-subpart immediately above left of the point (0,0); 011010 for the sub-subpart immediately below right of the point (0,0).
[0117] Figure 2 shows parts and sub-parts cut equally by the limits, but it is possible in some embodiments to have unequal cuts of the different parts. Such an example is given in [Fig.7].
[0118] It is clear that by lengthening the bit sequence S, the corresponding portion containing the semantic data SD to be communicated becomes increasingly smaller, and the error in replacing the semantic data SD with the resulting data SD' also becomes increasingly smaller. In the example given here, the method according to the invention therefore communicates semantic data with variable precision by lengthening or shortening the transmitted bit sequence S.
[0119] The resulting semantic data SD' can, in some resolution modes, be the center of the portion of the vector space corresponding to the transmitted bit sequence. However, in other embodiments, it can be obtained randomly. It can also be predefined and located anywhere within the corresponding portion, but not necessarily at its geometric center.
[0120] In the example in [Fig. 2], bit sequences are used to correspond to the clipped regions, but other symbols can be used. In a 2-dimensional space, such as this one, it would be natural to use a 4-symbol alphabet '0', '1', '2', and '3' instead of using bit pairs 00, 01, 10, and 11. Such symbols can be transmitted directly if the communication channel is suitable for this.
[0121] For example, in wireless communications, phase modulations are used and the signal carrying the information can use up to 16 symbols, in the case of 16-PSK modulation. The 16 transmitted symbols then correspond to 4-bit sequences and could be used naturally to slice four-dimensional vector spaces in the same way as shown in [Fig. 2] for a two-dimensional space.
[0122] The communicated semantic data can itself be divided into sub-data, according to the dimensions of the vector space to which it belongs. A semantic data item of dimension 1024 could thus be divided into 256 Four-dimensional subdata. This subdata can be communicated by transmitting sequences of 16-PSK symbols that naturally divide four-dimensional spaces into subregions containing the subdata. The 16-PSK symbols themselves can be transmitted directly over the CNL channel, provided that it is a wireless communication channel using 16-PSK phase modulation.
[0123] Fig. 3 represents an example of exchanges between the issuing management entity and the receiving management entity during the implementation of the invention.
[0124] In this embodiment, the receiving management entity 200 initiates the communication of semantic data from the sending management entity 100. To do this, the receiving management entity 200 sends the sending management entity 100 a message whose content REQ RES 2 indicates a request for a certain level of resolution or precision in the communication of semantic data. The requested level of resolution is 2; this is an arbitrary value, which corresponds to a given precision in the communication of semantic data.
[0125] Still in the example, the issuing management entity 100 acknowledges the requested resolution level by an ACK acknowledgment message.
[0126] The arbitrary level 2 of resolution or precision corresponds in the example presented here to bit sequences S of length 4. This can be related to the example in [Fig. 2] where four-bit sequences were used to partition two-dimensional spaces twice. The sending management entity will therefore, in the subsequent implementation of the invention, address bit sequences of length 4 instead of semantic data. In the example, the sequences 1011, 1101, 1000, 0010 are sent successively in SND messages by the sending management entity 100 to the receiving management entity 200.
[0127] These bit sequences correspond to regions of the vector space containing the semantic data to be communicated. Taking the example in [Fig. 2], the 4-bit sequences correspond to 16 different regions of a two-dimensional vector space. By adding two bits to the communicated sequences, 64 corresponding regions can be defined, which could correspond to a resolution level of 3 in the example presented here.
[0128] In general, semantic data are vectors of dimension much greater than 2. However, they can be segmented before transmission into numerous sub-data according to dimensions chosen before applying the methods of the invention. The sequences transmitted here can therefore correspond to such sub-data and will need to be combined to obtain a complete region corresponding to the communicated semantic data.
[0129] After the transmission of four 4-bit length sequences, still in the example of [Fig.3], the receiving management entity 200 requests the sending management entity 100 to use a resolution level 1, by addressing the message REQ RES 1.
[0130] After an ACK acknowledgment, the issuing management entity 100 will use this new lower resolution level and address 2-bit length sequences, namely here 11 then 00.
[0131] Semantic data communication may continue at this resolution or precision level 1, or a higher resolution level may be requested by the receiving management entity 200. In this case, longer bit sequences will be transmitted.
[0132] In other embodiments, the issuing management entity 100 can set on its own initiative the level of resolution used to communicate semantic data or parts of semantic data.
[0133] Fig. 4, meanwhile, represents another example of exchanges between the entity of issuing management and the receiving management entity during the implementation of the invention.
[0134] In this second implementation example, the receiving management entity 200 requests that the sending management entity 100 communicate semantic data to it with a dynamic resolution (or precision), varying over time according to the quality of service felt by the receiving management entity 200. This request is expressed by the initial message REQ DYN RES.
[0135] After an acknowledgment message ACK, the sending management entity 100 will communicate semantic data with dynamic resolution. Suppose that the management entity 100 is to transmit the bit sequence 100111 corresponding to a region of the vector space in which the semantic data to be communicated is located. This is indicated, on the side of the sending entity 100, by the indication SND 100111. A bit sequence to be transmitted is not necessarily bounded, nor does it necessarily have to be known in its entirety before its transmission begins. It may be, in this case, a prefix of a longer sequence to be communicated.
[0136] The sending management entity 100 will then transmit to the receiving management entity 200 the first two bits of the sequence to be transmitted, namely 10. This prefix, formed from the first two bits of the sequence to be transmitted, corresponds to a region of the larger vector space and includes the region of the vector space which corresponds to the complete bit sequence 100111.
[0137] The receiving management entity 200 receives the prefix 10 and determines that the precision communicated by a bit sequence of length 2 is too low for its needs. This is indicated on the receiving management entity side by the QoS LOW indication. A The application using the communicated semantic data could, for example, have given this indication to the receiving entity 200.
[0138] The receiving entity 200 communicates to the sender 100 that the quality of service is too low by asking it to increase the resolution by a RES++ message.
[0139] The transmitting management entity 100 will then continue by transmitting the next two bits 01 of the complete sequence 100111. Indeed, the first two bits 10 have just been transmitted. It is not necessary to repeat them, but only to improve the accuracy of the communication of semantic data by continuing the transmission of the bit sequence corresponding to the region where said semantic data is located.
[0140] In this embodiment, when a first obtained sequence is the prefix of a second obtained sequence, then the portion corresponding to the first sequence includes the portion corresponding to the second sequence. To increase the accuracy of the communication, the size of the region corresponding to the transmitted bit sequence must be reduced. In this example, a longer bit sequence must be transmitted, but it is not necessary to repeat the prefix already transmitted. This prefix corresponds to a region that includes the smaller region of the complete sequence. The example shown in [Fig. 2] corresponds to this embodiment.
[0141] In the continuation of the example presented in [Fig. 4], the receiving entity 200 still considers the quality of service too low and again requests an increase in the RES++ resolution. The transmitting entity sends the last two bits 11 of the complete sequence 100111. The receiving entity 200 considers the quality of service satisfactory and transmits a QoS OK message to the transmitting entity 100 to indicate this. In subsequent transmissions, the transmitting management entity 100 will transmit bit sequences of length 6 corresponding to this resolution level deemed satisfactory by the receiving management entity 200. The two sequences 100010 and then 110111 are transmitted by the transmitting entity 100 to the receiving entity 200.
[0142] The receiving management entity 200 may then judge that the quality of service is too high for its needs, which is represented in the figure by the indication QoS HIGH, which corresponds to a waste of resources and possibly unnecessary expenses.
[0143] The receiving entity 200 can then indicate to the sending entity 100 that it can reduce the resolution by sending a RES- message. Subsequently, the sending entity 100 transmits a sequence of length only 4 bits, namely 0011 in the example. In this way, savings are achieved while maintaining sufficient precision of the communicated semantic data and a satisfactory quality of service for the applications that use the semantic data communicated to the receiving management entity 200.
[0144] Fig. 5 represents another example of exchanges between the issuing management entity and the receiving management entity during the implementation of the invention.
[0145] In this example, an effect similar to that obtained in the example in [Fig.4] is implemented with a reduced exchange of messages.
[0146] The receiving management entity 200 requests that the sending management entity 100 provide it with semantic data of increasing resolution (or precision). This is indicated by the initial message REQ INC RES. The sending entity 200 acknowledges receipt of this request with an acknowledgment message ACK.
[0147] In this example, the transmitting management entity 100 must transmit a bit sequence beginning with the prefix 100111 in order to communicate semantic data. In realistic examples, the sequence to be transmitted may be longer and obtained incrementally during transmission. Since the requirement is to communicate with increasing precision, the transmitting entity 100 will first transmit the first two bits of the sequence 10.
[0148] The receiving entity 200 considers the accuracy unsatisfactory (RES NOK), and in this example, this results in no response. The transmitting management entity 100 then continues the transmission of the sequence by transmitting the next two bits 01 and then the next two bits 11. At this point, the receiving entity 200 considers the accuracy achieved to be sufficient and transmits an acknowledgment message ACK to the transmitting entity 100 to indicate this.
[0149] The issuing management entity 100 will then transmit a second sequence whose prefix is 110010, which corresponds to a second semantic data to be communicated.
[0150] Similarly, the sending management entity transmits the first two bits 11. From this transmission, the receiving entity 200 considers that the precision is sufficient for this communication and indicates it with an acknowledgment message.
[0151] Many reasons can explain this change in the required precision between the two communications on the part of the receiving entity 200. The timing of the communication may have changed, and at a certain time, high precision may be necessary to meet the semantic data analysis needs of the application(s) communicating with the receiving entity 200, whereas at a later time, the analysis may require much lower resolution or precision. Or, the semantic data communicated the first time corresponds to a data type that requires high precision, while the subsequent data corresponds to a data type that requires lower precision. This implementation example makes it possible to adapt the communication to these evolving needs without the entity receiving management 200 has to specify a level of precision or resolution explicitly.
[0152] As seen in [Fig.5], the third sequence of bits to be transmitted, with prefix 011000, will be communicated with sufficient precision after the sending of only two times two bits.
[0153] Fig. 6 represents another example of exchanges between the issuing management entity and the receiving management entity during the implementation of the invention.
[0154] This example replicates the transmissions already seen in [Fig. 4], in which the precision is dynamic. The difference with the example in [Fig. 4] is that the bit sequences corresponding to regions containing semantic data are transmitted in batches. In the first transmission, prefixes of the same length are transmitted for an entire batch of sequences to be transmitted. As long as the quality of service is too low, the receiving entity 200 will request the transmitting entity to increase the resolution (or precision) by sending a RES++ message. The transmitting entity will therefore continue transmitting the bit sequences by sending, in batches, the following bits in the respective sequences to be transmitted, until the quality of service is deemed satisfactory for the entire batch and a RES OK message is transmitted by the receiving entity 200 to the transmitting entity 100.
[0155] With the length of the bit sequences to be transmitted thus defined, the sending management entity 100 will address bit sequences of equal length (here, length 6, corresponding to a resolution level of 3) in batches. The resolution can then be reduced by management entity 100 at the request of management entity 200, but the transmission is always done in batches. In this way, a large semantic data item can be communicated by dividing it into several sub-data items, according to the dimensions of the vector space in which the semantic data is located, and the different bit sequences corresponding to the sub-regions in which the sub-data items are located are sent in batches, one batch being able, for example, to correspond to a complete semantic data item.
[0156] This batch sending principle was shown in [Fig.6] using a precision adjustment mode identical to that shown in the example in [Fig.4], but the same principle can also be used in combination with the adjustment mode shown in the example in [Fig.5].
[0157] Fig. 7, meanwhile, represents another example of correspondence between bit sequences and parts of a vector space than that presented in Fig. 2.
[0158] We saw in [Fig.2] a partition of a two-dimensional vector space in which the regions corresponding to the sequences were defined by bounds. Depending on whether the semantic data are less than or greater than a given bound according to In a given dimension, a bit in the bit sequence corresponding to the region of the vector space in which the semantic data in question is located will be 0 or 1. This approach leads to a partitioning of the vector space according to a grid to form the regions corresponding to the bit sequences in a 2-dimensional space and to an equivalent structure in a higher-dimensional space.
[0159] However, it is not mandatory to perform a regular partition of this type of vector space. In the example in [Fig. 7], an irregular partition of the two-dimensional vector space is shown. This partition may be appropriate for certain applications depending on the presence of the semantic data to be communicated in a particular region of the space, in order to improve the discrimination of the semantic data actually present in a given application domain.
[0160] In the example in [Fig. 7], the bit sequences corresponding to the irregular regions are such that, when a first sequence is the prefix of a second sequence, then the portion corresponding to the first sequence includes the portion corresponding to the second sequence. If we look at a bit sequence reduced to '0', the corresponding region is located approximately in the upper left of the figure. This area is divided into two sub-regions, corresponding to the bit sequences 00 (on the left) and 01 (on the right of the encompassing region).
[0161] The bit sequences 10 and 11 divide the remaining space into two regions, with 11 at the bottom of the space and 10 at the top right. These regions are themselves divided into sub-regions: for example, the sequences 110, 1110 and 1111 divide the region corresponding to the prefix sequence 11 into three sub-regions.
[0162] Figure 7 also shows how bit sequences can be arranged in a tree to highlight the prefix relationship between them. It can be seen that the sequences used in the example in Figure 7 to partition the vector space into regions are not arranged in a binary tree, but in an arbitrary tree.
[0163] In embodiments not shown in the figures, the invention includes sending a message from the sending management entity 100 to the receiving management entity 200 indicating that the maximum resolution level has been reached. This can be done dynamically, by sending a message indicating that the maximum transmission length of a bit sequence has been reached. In this case, the following bits will belong to a new transmitted bit sequence. This can also be done statically, in a message indicating at the beginning of the transmission the maximum length of the bit sequences that can be transmitted by the sending management entity 100.
[0164] Finally, it should be noted here that, in this text, the term "module" can refer to a software component, a hardware component, or a set of Hardware and software components: a software component itself corresponds to one or more computer programs or subprograms, or more generally to any element of a program capable of implementing a function or set of functions as described for the modules concerned. Similarly, a hardware component corresponds to any element of a hardware assembly capable of implementing a function or set of functions for the module concerned (integrated circuit, smart card, memory card, etc.).
Claims
Demands
1. A method for communicating semantic data from a sending management entity (100) to a receiving management entity (200), the semantic data being vectors belonging to a given vector space, the method being iterative and comprising obtaining, for a semantic data (SD) to be communicated, a sequence of bits (S) corresponding to a part of the given vector space in which the data to be communicated (SD) is located; followed by the transmission to the receiving management entity (200) of the sequence of bits (S) obtained in place of the data to be communicated (SD), the length of the transmitted sequence of bits (S) being able to vary between iterations.
2. A method for communicating semantic data according to claim 1 characterized in that the sequence transmitted (S) during a transmission step is the continuation of the sequence transmitted during the previous transmission step.
3. A method for communicating semantic data according to any one of claims 1 or 2 characterized in that, when a first sequence obtained is the prefix of a second sequence obtained, then the part corresponding to the first sequence includes the part corresponding to the second sequence.
4. A method for communicating semantic data according to any one of claims 1 to 3 characterized in that a part corresponding to a sequence of bits obtained (S) is defined by the bit values of the sequence (S) which indicate, according to the rank in the sequence (S), whether the semantic data to be communicated (SD), for a given dimension, is less than or greater than a predefined bound.
5. A method of communicating semantic data according to any one of claims 1 to 4 characterized in that the receiving management entity (200) sends to the sending management entity (100) a message requesting a variation in the length of the bit sequence (S).
6. A method of communicating semantic data according to any one of claims 1 to 5 characterized in that the sending management entity (100) will periodically decrease the length of the transmitted bit sequences (S) even in the absence of a message requesting a decrease in this length.
7. A method of communicating semantic data according to any one of claims 5 or 6 characterized in that the transmitting management entity (100) starts the transmission of bit sequences (S) of a given length and increases this length until it receives a message from the receiving entity (200) indicating that the length of the transmitted bit sequences (S) should no longer vary.
8. A method for obtaining semantic data implemented by a receiving management entity (200), the semantic data being vectors belonging to a given vector space and being communicated by a sending management entity (100), the method being iterative and comprising the reception, from the sending management entity (100), of a bit sequence (S), said bit sequence having been obtained from a semantic data to be communicated (SD) and corresponding to a part of the given vector space in which the semantic data to be communicated (SD) is located, the length of the received bit sequence (S) being able to vary between iterations; followed by obtaining a semantic data (SD') which is located in the part of the vector space corresponding to the received bit sequence (S).
9. Method for obtaining semantic data according to claim 8 characterized in that the receiving management entity (200) sends to the sending management entity (100) a message requesting a variation in the length of the bit sequence (S).
10. A management entity (100), referred to as the sending management entity, implementing an iterative process for communicating semantic data to a receiving management entity (200), the semantic data being vectors belonging to a given vector space, the sending management entity (100) comprising the following modules: • A module (101) for obtaining, for a semantic data item to be communicated (SD), a bit sequence (S) corresponding to a portion of the given vector space in which the data item to be communicated (SD) is located; • A module (102) for transmitting the obtained bit sequence (S) to the receiving management entity (200) in place of the data item to be communicated (SD), the length of the transmitted bit sequence (S) can vary between iterations.
11. Telecommunications equipment comprising a transmitting management entity (100) capable of managing the communication of semantic data (SD) by implementing the method of claim i
12. 1. Management entity (200), referred to as receiving management entity, implementing an iterative process for obtaining semantic data, the semantic data being vectors belonging to a given vector space and being communicated by a sending management entity (100), the receiving management entity (200) comprising the following modules: • A module (201) for receiving, from the sending management entity (100), a sequence of bits (S), said sequence of bits having been obtained from a semantic data to be communicated (SD) and corresponding to a part of the given vector space in which the semantic data to be communicated (SD) is located, the length of the received bit sequence (S) being able to vary between iterations; • A module (202) for obtaining a semantic data (SD') which is located in the part of the vector space corresponding to the received bit sequence (S).
13. Telecommunications equipment comprising a receiving management entity (200) capable of managing the acquisition of semantic data (SD') by implementing the method of claim 8.
14. Data carrier on which is recorded a computer program comprising a sequence of instructions for implementing the method of communicating semantic data according to claim 1 when loaded into and executed by a processor.
15. Data carrier on which is recorded a computer program comprising a sequence of instructions for implementing the method of obtaining semantic data according to claim 8 when loaded into and executed by a processor.