WO2014067102A1 - Information coding method, system and computer-readable medium - Google Patents
Information coding method, system and computer-readable medium Download PDFInfo
- Publication number
- WO2014067102A1 WO2014067102A1 PCT/CN2012/083857 CN2012083857W WO2014067102A1 WO 2014067102 A1 WO2014067102 A1 WO 2014067102A1 CN 2012083857 W CN2012083857 W CN 2012083857W WO 2014067102 A1 WO2014067102 A1 WO 2014067102A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- code
- semantic
- textual message
- semantic sentences
- bits
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
Definitions
- Semantic data refers to data that can be interpreted meaningfully by a machine without human intervention.
- a semantic data model is typically a software engineering model based on relationships between stored symbols, or objects, and the real world. Data is organized based on binary models of objects, usually in groups of three parts: two objects and a relationship between the two objects. For example, a data organization that represents a cup sitting on a table might look like "cup table.” The objects, i.e., cup and table, are interpreted with regards to their relationship, i.e., sitting on. The data is organized linearly, and the position of the objects reveals to software that the cup is sitting on the table and not the other way around. Accordingly, semantic data systems are designed to represent the real world as accurately as possible within the data set, and objects in the data set are organized linearly and hierarchically to give meanings to what they represent.
- data used for management, control, communication and other applications may be sent along with general messages that are transmitted over the network.
- Such data is typically short, and is discretely affixed to or embedded in the carrying message.
- a method includes pretreating a textual message that includes a plurality of semantic sentences used for generating a sequence of binary bits, with each bit of the sequence of binary bits corresponding to a respective one of the semantic sentences, determining that the textual message is suitable to carry a code of a plurality of bits therein, and embedding the code in a subset of the plurality of semantic sentences in response to the determining.
- FIG. 1 shows an example scheme of information coding based on semantic data reasoning, arranged in accordance with at least some embodiments described herein.
- FIG. 2 shows a processing flow for information coding based on semantic data reasoning, arranged in accordance with at least some embodiments described herein.
- FIG. 3 shows another processing flow for information coding based on semantic data reasoning, arranged in accordance with at least some embodiments described herein.
- FIG. 4 shows an example system that is configured to perform information coding based on semantic data reasoning, arranged in accordance with at least some embodiments described herein.
- FIG. 5 shows an example computing device that is configured to implement operations of one or more embodiments of information coding based on semantic data reasoning, arranged in accordance with at least some embodiments described herein.
- Described herein are systems, apparatuses, computer program products, methods, and techniques related to embedding a code into a textual message based on semantic data reasoning. Some example implementations described herein include pre-treating the textual message by segmenting the textual message into a plurality of individual semantic sentences and determining whether the textual message is suitable to carry the data.
- a subset of the plurality of semantic sentences is selected and the semantic sentences of the selected subset are tagged.
- a first knowledge base containing private information is utilized in the selection and tagging of semantic sentences.
- the code is embedded in the textual message, thus encoding the textual message, through the selection and tagging of select semantic sentences of the textual message.
- the encoded textual message is transmitted to a receiving party which can decode the encoded textual message to obtain the code using the first knowledge base or a second knowledge base that is a duplicate of the first knowledge base.
- the content of a message implies or reflects certain private information about the author of the message.
- a teacher can generally determine whether a student has mastered a given subject from the student's answers to questions of a test.
- the answers provided by the student reflect a level of knowledge of the student with respect to the subject being tested.
- the user may be asked to answer a short question such that a correct answer to the short question implies the authenticity or identity of the user.
- information implied in a given message can be reasoned, or deduced, from each of one or more semantic sentences of the given message.
- a deduced conclusion consistent with the truth behind the semantic sentence can be represented by a bit value of 1 and a deduced conclusion inconsistent with the truth behind the semantic sentence can be represented by a bit value of 0.
- a message containing multiple semantic sentences can be seen and treated as a string of bits of 0 and 1 when each of the semantic sentences of the message is deduced to a conclusion that is either consistent or inconsistent with the truth.
- a knowledge base that contains privileged information such as private information about an author of a message, for example, may be used to determine whether a deduced conclusion is consistent with the truth behind a respective semantic sentence. Accordingly, when a message has a multiple number of semantic sentences in a sufficiently large number as explained below, a given code of one or more bytes can be embedded, or carried, in a select number of semantic sentences of the message, in which the selected semantic sentences are selected in a sequence such that the bit value of the deduced conclusion of each selected semantic sentence represents a corresponding bit of the one or more bytes of the embedded code.
- the selected semantic sentences are tagged, or otherwise marked or highlighted, to identify them as the selected ones of the plurality of semantic sentences of the message that carry the code.
- the encoded message can be transmitted to a receiving party that has access to a knowledge base having the same privileged information, and the receiving party can recover the code by using the knowledge base.
- Fig. 1 shows an example scheme 100 of information coding based on semantic data reasoning, arranged in accordance with at least some embodiments described herein.
- a message may be a textual message containing one or more semantic sentences and encoded to carry a code as an encoded message, using a first knowledge base, and transmitted to a receiving side.
- a second knowledge base may be used to decode the encoded message to obtain the original message.
- the message can be denoted as M
- the first knowledge base can be denoted as K
- the code can be denoted as I
- the encoded message can be denoted as M'.
- the privileged information stored in the first knowledge base and the privileged information stored in second knowledge base may be identical.
- the first knowledge base and the second knowledge base are the same knowledge base accessible by both a sending party and a receiving party.
- the second knowledge base is a duplicate copy of the first knowledge base.
- the first knowledge base and the second knowledge base may be separate knowledge bases that are synchronized periodically so that the privileged information stored in the first knowledge base and the privileged information stored in the second knowledge base are identical.
- the mathematical symbol K is used to represent either the first knowledge base or the second knowledge base.
- Example scheme 100 may include one or more operations, actions, or functions as illustrated by one or more blocks 104, 106, 108, 110, and/or 112, with references to one or more of a message 102, a code 114, a knowledge base 116, and/or a knowledge base 118. Although scheme 100 is illustrated as discrete blocks, various blocks may be divided into additional blocks, combined into fewer blocks, or eliminated, depending on the desired implementation. Processing may begin at block 104.
- Block 104 may include pretreating message 102, or M, by preparing message 102 for determination of whether message 102 is suitable to carry code 114 and for subsequent encoding of message 102 to carry code 114 therein if it is determined that message 102 is suitable to carry code 104.
- a processor or a computing device on the sending side e.g., operated by a sending party
- the value of r is 1 if the result of comparison is consistent, and 0 if inconsistent.
- Decision block 106 may include determining whether message 102 is suitable to carry code 114, as not all messages may be able to carry code 114 under scheme 100. If message 102 is determined to be suitable to carry code 114, processing under scheme 100 may proceed to block 108; otherwise, processing may end. Under scheme 100, two factors may be considered in determining whether message 102 is suitable to carry code 114, namely: length and semantic richness of message 102. For example, the processor may determine message 102 to be too short if message 102 does not have enough semantic sentences therein to represent the number of bits in code 114.
- the processor may determine that message 102 has a sufficiently large number of semantic sentences when the number of the semantic sentences in message 102 is greater than the number of bits in code 114. Moreover, if message 102 does not have sufficient semantic richness to support coding or embedding code 114 into message 102, the processor may determine that message 102 is not suitable to carry code 114 even if message 102 is long enough with a large number of semantic sentences.
- An example pseudo code that tests the semantic richness of M for / is as follows:
- the function "match(s£/7/7g_!, string2)" is defined to determine how many times string2 matches stringl. Any one of numerous class match algorithms can be used to design this function, such as brute-force (BF), Knuth-Morris-Pratt (KMP), Boyers-Moore (BM) and so on. Once num ⁇ 1, / can be coded into M. When a gap of semantic richness between M and / is not large (e.g., not exceeding 5% of the number of bits in /), some tautology may be used to compensate the gap, for instance, by adding one or more accessorial sentences into message 102.
- BF brute-force
- KMP Knuth-Morris-Pratt
- BM Boyers-Moore
- Block 108 may include tagging or otherwise marking message 102 to embed code 114 in message 102.
- the processor may select some of the semantic sentences of message 102 such that the respective binary bit of comparison result of each of the selected semantic sentences represents a corresponding bit of code 114.
- each of the selected semantic sentences may be appended with a prefix or a suffix to tag the selected semantic sentences. This way, as a decoding process on the receiving side is to be performed on just those semantic sentences in encoded message /7' that are tagged or otherwise marked, considerable time can be saved.
- An example of tagging a selected semantic sentence is as follows:
- Tagged sentence HJack has a daughter whose name is Jessica.
- S3 is a label used for tagging to indicate the immediately following sentence is a selected semantic sentence. Processing may proceed from block 108 to block 110.
- Block 110 may include transmitting encoded message M', which carries / therein, from the sending party to the receiving party.
- the processor on the sending side may cause the encoded message M' to be transmitted to the receiving side (e.g., a computing device operated by a receiving party) via any suitable means, e.g., over a wired medium, wireless medium or a combination thereof.
- the receiving side e.g., a computing device operated by a receiving party
- any suitable means e.g., over a wired medium, wireless medium or a combination thereof.
- processing may proceed from block 110 to block 112.
- Block 112 (Decode the Encoded Message) may include decoding M' by segmenting M' into a multiple number of individual semantic sentences.
- a processor or a computing device on the receiving side e.g., operated by the receiving party
- scheme 100 there are numerous applications in which scheme 100 can be implemented, including but not limited to, for example, data classification, primary rate interface (PRI) management and authentication.
- data classification applications a message may be classified into, for example, 16 classes denoted by binary bits 0000 through 1111.
- the classes may be used to identify the type of content of the message.
- class 1 e.g., 0001 in binary
- class 2 e.g., 0010 in binary
- class 3 e.g., 0011 in binary
- class 4 e.g., 0100 in binary
- economics e.g., and so on.
- M is assumed to be classified as a message of class 8, which is denoted as 1000 in binary, and the four selected semantic sentences are s 2 , s 3 , s 5 and s 12 .
- the four semantic sentences s 2 , s 3 , s 5 and s 12 are selected to carry /, in this case classification of M, which is 1000.
- a special tag is appended as prefix to each of semantic sentences s 2 , s 3 , s 5 and s 15 , and the encoded message M' is transmitted to a receiving party.
- the receiving party of M' compares the deduced conclusion of those semantic sentences that are tagged, namely s 2 , s 3 , s 5 and s 12 , with Kto obtain the code /, which is 1000, indicating content of M is classified as class 8.
- a message is assigned one of eight PRI levels that are respectively denoted by binary bits 0000 through 0011.
- Four semantic sentences are selected from M to represent corresponding bits of the PRI level of M.
- the encoded message, M' is transmitted over a network and each node in the path decodes M' to determine the PRI level of M to process M according to the corresponding PRI procedure.
- the term “king” is the authenticated term and is divided into four characters, namely "k", “ ⁇ ” , "n” and "g".
- the corresponding ASIIC code in binary bits are 01101011, 01101001, 01101110 and 01100111, respectively, for a total of thirty-two bits. Accordingly, thirty-two sentences are selected from M to represent the ASIIC binary bits of the authenticated term.
- a received message passes the authentication when the message includes semantic sentences that yield comparison results r 1 r 2 ...r 32 that are identical to the ASIIC code of "king" in binary bits.
- FIG. 2 shows a processing flow 200 for information coding based on semantic data reasoning, arranged in accordance with at least some embodiments described herein.
- Example processing flow 200 includes one or more operations, actions, or functions as illustrated by one or more of blocks 202, 204 and 206. Although illustrated as discrete blocks, various blocks may be divided into additional blocks, combined into fewer blocks, or eliminated, depending on the desired implementation. Further, processing flow 200 may be implemented by software, hardware, or a combination of software and hardware in any type of computing device, such as example computing device 500 to be described below. For illustrative purposes, the operations described below are performed by a processor of a computing device. Processing may begin at block 202.
- Block 202 may include pretreating a textual message that includes a multiple number of semantic sentences used for generating a sequence of binary bits, with each bit of the sequence of binary bits corresponding to a respective one of the semantic sentences.
- a processor or a computing device on the sending side e.g., operated by a sending party
- the multiple semantic sentences may be analyzed to generate the sequence of binary bits.
- the processor in analyzing the multiple semantic sentences, may generate a binary 0 when a concept conveyed by a respective one of the semantic sentences is false based on information in a knowledge base, such as knowledge base 116. Conversely, the processor may generate a binary 1 when the concept conveyed by the respective one of the semantic sentences is true based on the information in the knowledge base.
- the information in the knowledge base is privileged information such as private information that is known to a sending party and a receiving party but not to others. Processing flow 200 may proceed from block 202 to block 204.
- Block 204 may include determining whether the textual message is suitable to carry a code of a multiple number of bits therein. If message 102 is determined to be suitable to carry code 114, then processing flow 200 may proceed to block 206; otherwise, processing flow 200 may end. For example, the processor may determine that message 102 is suitable to carry code 114, which has a multiple number of bits, when a length of message 102 is suitable to carry code 114 and semantic richness of message 102 is sufficient to carry code 114. In at least some embodiments, the processor may determine that the length of message 102 is suitable to carry code 114 based on a number of factors.
- Such factors may include, for example: (1) a quantity of the multiple number of semantic sentences in message 102, (2) a quantity of the multiple number of bits in code 114, and (3) that a sum of a redundancy number and a product of the quantity of the multiple number of semantic sentences in message 102 and a reduction ratio of compression algorithm is less than the quantity of the multiple number of bits in code 114.
- the processor in determining that the semantic richness of message 102 is sufficient to carry code 114, the processor may compare code 114 to the sequence of binary bits and determine that the multiple number of bits of code 114 can be represented by a corresponding number of binary bits of the sequence of binary bits. Processing flow 200 may proceed from block 204 to block 206.
- Block 206 may include embedding the code in a subset of the multiple semantic sentences in response to determining that the textual message is suitable to carry the code. For example, in embedding code 114 in a subset of the semantic sentences of message 102, the processor may select the subset of the multiple number of semantic sentences to carry code 114 in message 102 such that a pattern of the binary bits corresponding to the subset of the multiple number of semantic sentences match a pattern of the multiple number of bits of code 114. Further, the processor may tag the subset of the multiple semantic sentences such that the binary bit corresponding to a respective one of the tagged semantic sentences indicates a respective one of the bits of code 114.
- the processor may tag the tagged semantic sentences by prefixing each of the tagged semantic sentences with a label. In at least some other embodiments, the processor may tag the tagged semantic sentences by suffixing each of the tagged semantic sentences with a label. In still some other embodiments, the processor may tag the tagged semantic sentences by highlighting the tagged semantic sentences in a way that is recognizable by the receiving party.
- processing flow 200 may further include transmitting the textual message with the code embedded therein.
- the processor may transmit, or cause the associated computing device to transmit, the encoded message to the receiving party.
- FIG. 3 shows a processing flow 300 for information coding based on semantic data reasoning, arranged in accordance with at least some embodiments described herein.
- Example processing flow 300 includes one or more operations, actions, or functions as illustrated by one or more of blocks 302, 304, 306 and 308. Although illustrated as discrete blocks, various blocks may be divided into additional blocks, combined into fewer blocks, or eliminated, depending on the desired implementation. Further, processing flow 300 may be implemented by software, hardware, or a combination of software and hardware in any type of computing device, such as example computing device 300 to be described below. For illustrative purpose, the operations described below are performed by a processor of a computing device. Processing may begin at block 302.
- Block 302 may include segmenting a textual message into a multiple number of semantic sentences.
- Processing flow 300 may proceed from block 302 to block 304.
- Block 304 may include analyzing the multiple semantic sentences to generate a sequence of binary bits, with each bit of the sequence of binary bits corresponding to a respective one of the semantic sentences.
- the processor in analyzing the multiple semantic sentences of message 102, the processor may generate a binary 0 when a concept conveyed by a respective one of the semantic sentences is false based on information in a knowledge base, such as knowledge base 116. Conversely, when a concept conveyed by the respective one of the semantic sentences is true based on information in the knowledge base, the processor may generate a binary 1.
- the information in the knowledge base may be privileged information such as private information that is known to a sending party and a receiving party but not to others. Processing flow 300 may proceed from block 304 to block 306.
- Block 306 may include determining whether the textual message is suitable to carry a code of a multiple number of bits therein. If the textual message is determined to be suitable to carry the code, then processing flow 300 may proceed to block 308; otherwise, processing flow 300 may end.
- the processor may determine that message 102 is suitable to carry code 114 therein when the processor determines that a length of message 102 is suitable to carry code 114 and that semantic richness of message 102 is sufficient to carry code 114. In at least some embodiments, the processor may determine that the length of message 102 is suitable to carry code 114 based on a number of factors.
- Such factors may include, for example: (1) a quantity of the multiple number of semantic sentences in message 102, (2) a quantity of the multiple number of bits in code 114, and (3) that a sum of a redundancy number and a product of the quantity of the multiple number of semantic sentences in message 102 and a reduction ratio of compression algorithm is less than the quantity of the multiple number of bits in code 114.
- the processor may determine that the semantic richness of message 102 is sufficient to carry code 114 by comparing code 114 to the sequence of binary bits and determining that the multiple numbers of bits of code 114 can be represented by a corresponding number of binary bits of the sequence of binary bits. Processing flow 300 may proceed from block 306 to block 308.
- Block 308 may include marking a subset of the multiple semantic sentences to carry the code in the textual message.
- the processor may mark the subset of the multiple semantic sentences of message 102 such that the binary bit corresponding to each of the marked semantic sentences indicates a respective one of the bits of code 114.
- the processor may mark the marked semantic sentences by prefixing each of the marked semantic sentences with a label.
- the processor may mark the marked semantic sentences by suffixing each of the marked semantic sentences with a label.
- the processor may mark the marked semantic sentences by highlighting the marked semantic sentences in a way that is recognizable by the receiving party.
- processing flow 300 may further include transmitting the textual message with the code embedded therein.
- the processor transmits, or causes the associated computing device to transmit, the encoded message to the receiving party.
- FIG. 4 shows a system 400 that is configured to perform information coding based on semantic data reasoning, arranged in accordance with at least some embodiments described herein.
- Example system 400 may include one or more components, parts or modules as illustrated by one or more of first component 402, second component 404, third component 406, and fourth component 408. Although illustrated as discrete components, various components may be divided into additional components, combined into fewer components, or eliminated, depending on the desired implementation. Further, system 400 may be implemented by software, hardware, or a combination of software and hardware in any type of computing device, such as example computing device 500 to be described below.
- First component 402 may be configured to segment a textual message into a multiple number of semantic sentences.
- Second component 404 may be configured to analyze the multiple semantic sentences to generate a sequence of binary bits, with each bit of the sequence of binary bits corresponding to a respective one of the semantic sentences.
- second component 404 may analyze the multiple semantic sentences and generate a binary 0 when a concept conveyed by a respective one of the semantic sentences is false based on information in a knowledge base, such as first knowledge base 116.
- second component 404 may generate a binary 1 when the concept conveyed by the respective one of the semantic sentences is true based on the information in the knowledge base.
- Third component 406 may be configured to determine whether the textual message is suitable to carry a code of a multiple number of bits therein. In at least some embodiments, third component 406 may determine that message 102 is suitable to carry code 114 when third component 406 determines that a length of message 102 is suitable to carry code 114 and that semantic richness of message 102 is sufficient to carry code 114. In at least some embodiments, third component 406 may determine that the length of message 102 is suitable to carry code 114 based on a number of factors.
- Such factors may include, for example: (1) a quantity of the multiple number of semantic sentences in message 102, (2) a quantity of the multiple number of bits in code 114, and (3) that a sum of a redundancy number and a product of the quantity of the multiple number of semantic sentences in message 102 and a reduction ratio of compression algorithm is less than the quantity of the multiple number of bits in code 114.
- third component 406 may determine that the semantic richness of message 102 is sufficient to carry code 114 by comparing code 114 to the sequence of binary bits and determining that the multiple numbers of bits of code 114 can be represented by a corresponding number of binary bits of the sequence of binary bits.
- Fourth component 408 may be configured to mark a subset of the multiple semantic sentences to carry the code in the textual message in response to a positive determination that the textual message is suitable to carry a code of a multiple number of bits therein.
- fourth component 408 may mark a subset of the multiple semantic sentences to carry code 114 in message 102 by marking the subset of the multiple semantic sentences such that the binary bit corresponding to each of the marked semantic sentences indicates a respective one of the bits of code 114.
- fourth component 408 may mark the marked semantic sentences by prefixing each of the marked semantic sentences with a label.
- fourth component 408 may mark the marked semantic sentences by suffixing each of the marked semantic sentences with a label. In still some other embodiments, fourth component 408 may mark the marked semantic sentences by highlighting the marked semantic sentences in a way that is recognizable by the receiving party.
- system 400 may further include fifth component 410 that may be configured to transmit the textual message with the subset of the multiple number of semantic sentences being marked.
- fifth component 410 may transmit the encoded message to the receiving party that has access to first knowledge base 116 or has second knowledge base 118 which is a duplicate copy of first base 116.
- Embodiments of the proposed technique advantageously provide an additional layer of security as well as efficiency in data communication. Further, the proposed technique offers many applications in a cloud-computing environment such as data classification, authentication and PRI management.
- FIG. 5 shows an example computing device 500 that is configured to implement operations of one or more embodiments of information coding based on semantic data reasoning, arranged in accordance with at least some embodiments described herein.
- the computing device 500 shown in Fig. 5 is one example of a computing device and not intended to suggest any limitation as to the scope of use or functionality of the computer and network architectures.
- computing device 500 may include at least one processing unit 502 and system memory 504.
- system memory 504 may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.) or some combination thereof.
- System memory 504 may include an operating system 506, one or more program modules 508, and may include program data 510.
- a basic implementation of the computing device 500 is demarcated by a dashed line 514.
- the program module 508 may include a module 512 configured to implement the technique as described above.
- the module 512 include a set of computer-executable instructions or program codes that, when executed by the processing unit 502, may cause the processing unit 502 to carry out processing flows 200, 300 and/or 400, and any variations thereof, e.g., the computing device 500 may perform the operations as described above with respect to processing flows 200, 300 and/or 400.
- Computing device 500 may have additional features or functionality.
- computing device 500 may also include additional data storage devices such as removable storage 516 and non-removable storage 518.
- the removable storage 516 and non-removable storage 518 are an example of computer accessible media for storing computer-executable instructions or program codes that are executable by the processing unit 502 to perform the various functions described above.
- any of the functions described with reference to the figures can be implemented using software, firmware, hardware (e.g., fixed logic circuitry) or a combination of these implementations.
- Program code may be stored in one or more computer accessible media or other computer-readable storage devices.
- the processes and components described herein may be implemented by a computer program product.
- computer accessible media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data.
- the terms "computer accessible medium” and “computer accessible media” refer to non-transitory storage devices and include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transitory medium that can be used to store information for access by a computing device, e.g., computing device 500. Any of such computer accessible media may be part of the computing device 500.
- the removable storage 516 which may be a computer accessible medium, has a set of computer-executable instructions 530 stored thereon.
- the set of computer-executable instructions 530 When executed by the processing unit 502, the set of computer-executable instructions 530 cause the processing unit 502 to execute operations, tasks, functions and/or methods as described above, including processing flows 200, 300 and/or 400 and any variations thereof.
- Computing device 500 may also include one or more input devices 520 such as keyboard, mouse, pen, voice input device, touch input device, etc.
- Computing device 500 may additionally include one or more output devices 522 such as a display, speakers, printer, etc.
- Computing device 500 may also include one or more communication connections 524 that allow the computing device 500 to communicate with apparatus 550.
- computing device 500 may be used by the sending party and apparatus 550 may be used by the receiving party in various examples described above.
- processing unit 502 may direct computing device 500 or apparatus 550 to carry out a number of operations to implement the technique as described above, including processing flows 200, 300 and/or 400 and any variations thereof.
- computing device 500 is one example of a suitable device and is not intended to suggest any limitation as to the scope of use or functionality of the various embodiments described.
- example is used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as “example” is not necessarily to be construed as preferred or advantageous over other aspects or designs. Rather, use of the word example is intended to present concepts and techniques in a concrete fashion.
- techniques for instance, may refer to one or more devices, apparatuses, systems, methods, articles of manufacture, and/or computer-readable instructions as indicated by the context described herein.
- the operations of the example processes may be rendered in virtually any programming language or environment including (by way of example and not limitation): C/C++, Fortran, COBOL, PASCAL, assembly language, markup languages (e.g., HTML, SGML, XML, VoXML), and the like, as well as object-oriented environments such as the Common Object Request Broker Architecture (CORBA), JavaTM (including J2ME, Java Beans, etc.), Binary Runtime Environment (BREW), and the like.
- CORBA Common Object Request Broker Architecture
- JavaTM including J2ME, Java Beans, etc.
- BREW Binary Runtime Environment
- processor-readable media includes processor-storage media.
- processor-storage media may include, but are not limited to, magnetic storage devices (e.g., hard disk, floppy disk, and magnetic strips), optical disks (e.g., compact disk (CD) and digital versatile disk (DVD)), smart cards, flash memory devices (e.g., thumb drive, stick, key drive, and SD cards), and volatile and non-volatile memory (e.g., random access memory (RAM), read-only memory (ROM)).
- magnetic storage devices e.g., hard disk, floppy disk, and magnetic strips
- optical disks e.g., compact disk (CD) and digital versatile disk (DVD)
- smart cards e.g., compact disk (CD) and digital versatile disk (DVD)
- smart cards e.g., compact disk (CD) and digital versatile disk (DVD)
- flash memory devices e.g., thumb drive, stick, key drive, and SD cards
- volatile and non-volatile memory e.g.,
- Coupled and “connected” may have been used to describe how various elements interface. Such described interfacing of various elements may be either direct or indirect.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Machine Translation (AREA)
- Information Transfer Between Computers (AREA)
Abstract
An information coding method, system and computer-readable medium are provided. The method comprises the following steps: pretreating a textual message that includes a plurality of semantic sentences used for generating a sequence of binary bits, with each bit of the sequence of binary bits corresponding to a respective one of the semantic sentences (202); determining that the textual message is suitable to carry a code of a plurality of bits therein (203); and embedding the code in a subset of the plurality of semantic sentences in response to the determining (204).
Description
INFORMATION CODING METHOD, SYSTEM AND COMPUTER-READABLE MEDIUM
BACKGROUND
[0001] Semantic data refers to data that can be interpreted meaningfully by a machine without human intervention. A semantic data model is typically a software engineering model based on relationships between stored symbols, or objects, and the real world. Data is organized based on binary models of objects, usually in groups of three parts: two objects and a relationship between the two objects. For example, a data organization that represents a cup sitting on a table might look like "cup table." The objects, i.e., cup and table, are interpreted with regards to their relationship, i.e., sitting on. The data is organized linearly, and the position of the objects reveals to software that the cup is sitting on the table and not the other way around. Accordingly, semantic data systems are designed to represent the real world as accurately as possible within the data set, and objects in the data set are organized linearly and hierarchically to give meanings to what they represent.
[0002] In a cloud-computing environment, data used for management, control, communication and other applications may be sent along with general messages that are transmitted over the network. Such data is typically short, and is discretely affixed to or embedded in the carrying message.
SUMMARY
[0003] In at least one embodiment, a method includes pretreating a textual message that includes a plurality of semantic sentences used for generating a sequence of binary bits, with each bit of the sequence of binary bits corresponding to a respective one of the semantic sentences, determining that the textual message is suitable to carry a code of a plurality of bits therein, and embedding the code in a subset of the plurality of semantic sentences in response to the determining.
[0004] The foregoing summary is illustrative only and is not intended to be in any way limiting. In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features will become apparent by reference to the drawings and the following detailed description.
BRIEF DESCRIPTION OF THE DRAWINGS
[0005] The foregoing and other features of this disclosure will become more fully
apparent from the following description and appended claims, taken in conjunction with the accompanying drawings. Understanding that these drawings depict plural embodiments in accordance with the disclosure and are, therefore, not to be considered limiting of its scope, the disclosure will be described with additional specificity and detail through use of the accompanying drawings.
[0006] Fig. 1 shows an example scheme of information coding based on semantic data reasoning, arranged in accordance with at least some embodiments described herein.
[0007] Fig. 2 shows a processing flow for information coding based on semantic data reasoning, arranged in accordance with at least some embodiments described herein.
[0008] Fig. 3 shows another processing flow for information coding based on semantic data reasoning, arranged in accordance with at least some embodiments described herein.
[0009] Fig. 4 shows an example system that is configured to perform information coding based on semantic data reasoning, arranged in accordance with at least some embodiments described herein.
[0010] Fig. 5 shows an example computing device that is configured to implement operations of one or more embodiments of information coding based on semantic data reasoning, arranged in accordance with at least some embodiments described herein.
DETAILED DESCRIPTION
[0011] In the following detailed description, reference is made to the accompanying drawings, which form a part of the description. In the drawings, similar symbols typically identify similar components, unless context dictates otherwise. Furthermore, unless otherwise noted, the description of each successive drawing may reference features from one or more of the previous drawings to provide clearer context and a more substantive explanation of the current example embodiment. Still, the example embodiments described in the detailed description, drawings, and claims are not meant to be limiting. Other embodiments may be utilized, and other changes may be made, without departing from the spirit or scope of the subject matter presented herein. It will be readily understood that the aspects of the present disclosure, as generally described herein, and illustrated in the figures, may be arranged, substituted, combined, separated, and designed in a wide variety of different configurations, all of which are explicitly contemplated herein.
[0012] Described herein are systems, apparatuses, computer program products, methods, and techniques related to embedding a code into a textual message based on semantic data reasoning. Some example implementations described herein include pre-treating the textual message by segmenting the textual message into a plurality of individual semantic sentences and determining whether the textual message is suitable to carry the data. When it is determined that the textual message is suitable to carry the code, a subset of the plurality of semantic sentences is selected and the semantic sentences of the selected subset are tagged. A first knowledge base containing private information is utilized in the selection and tagging of semantic sentences. The code is embedded in the textual message, thus encoding the textual message, through the selection and tagging of select semantic sentences of the textual message. The encoded textual message is transmitted to a receiving party which can decode the encoded textual message to obtain the code using the first knowledge base or a second knowledge base that is a duplicate of the first knowledge base.
OVERVIEW
[0013] Typically, the content of a message implies or reflects certain private information about the author of the message. For example, a teacher can generally determine whether a student has mastered a given subject from the student's answers to questions of a test. In other words, the answers provided by the student reflect a level of knowledge of the student with respect to the subject being tested. As another example, when a user logs into a system, the user may be asked to answer a short question such that a correct answer to the short question implies the authenticity or identity of the user. Of course, such scenarios are not intended to be limiting in any manner. Instead, it is to be understood that information implied in a given message can be reasoned, or deduced, from each of one or more semantic sentences of the given message.
[0014] Assuming a result of deducing a conclusion from a semantic sentence can be treated as a Boolean value, a deduced conclusion consistent with the truth behind the semantic sentence can be represented by a bit value of 1 and a deduced conclusion inconsistent with the truth behind the semantic sentence can be represented by a bit value of 0. Thus, a message containing multiple semantic sentences can be seen and treated as a string of bits of 0 and 1 when each of the semantic sentences of the message is deduced to a conclusion that is either consistent or inconsistent with the truth. For instance, as an illustration using public knowledge, a message M containing the following three sentences can be expressed mathematically as M =
{0, 1, 0}: "There are more days in February than in March. There are fifty states in the United
States of America. The weather is generally colder in summer than in winter." This is because the deduced conclusion of the first sentence, si, is inconsistent with the truth, the deduced conclusion of the second sentence, s2, is consistent with the truth, and the deduced conclusion of the third sentence, s3, is inconsistent with the truth.
[0015] A knowledge base that contains privileged information, such as private information about an author of a message, for example, may be used to determine whether a deduced conclusion is consistent with the truth behind a respective semantic sentence. Accordingly, when a message has a multiple number of semantic sentences in a sufficiently large number as explained below, a given code of one or more bytes can be embedded, or carried, in a select number of semantic sentences of the message, in which the selected semantic sentences are selected in a sequence such that the bit value of the deduced conclusion of each selected semantic sentence represents a corresponding bit of the one or more bytes of the embedded code. The selected semantic sentences are tagged, or otherwise marked or highlighted, to identify them as the selected ones of the plurality of semantic sentences of the message that carry the code. The encoded message can be transmitted to a receiving party that has access to a knowledge base having the same privileged information, and the receiving party can recover the code by using the knowledge base.
[0016] Fig. 1 shows an example scheme 100 of information coding based on semantic data reasoning, arranged in accordance with at least some embodiments described herein.
[0017] According to scheme 100, on a sending side, a message may be a textual message containing one or more semantic sentences and encoded to carry a code as an encoded message, using a first knowledge base, and transmitted to a receiving side. On the receiving side, a second knowledge base may be used to decode the encoded message to obtain the original message. Mathematically, the message can be denoted as M, the first knowledge base can be denoted as K, the code can be denoted as I, and the encoded message can be denoted as M'. M
= {si, s2, Si, ...}, and s, is an arbitrary semantic sentence among the one or more semantic sentences of M. K is used in the deducing process and the deduced conclusion of s, may be consistent or inconsistent with the truth behind the respective semantic sentence, corresponding to Boolean value 1 and 0, respectively. I can be expressed as a sequence of binary bits such as I = bib2...bi, where b, is the ith bit of I. For instance, a code I = 1101 can be embedded in the encoded message M' = {0, 1, 0, 1, 1, 0, 1, 0, 0, 1} when the Boolean values of the deduced conclusions of sentences s4 through s7 reflect those of the four bits of code I.
[0018] Further, the privileged information stored in the first knowledge base and the privileged information stored in second knowledge base may be identical. In at least some embodiments, the first knowledge base and the second knowledge base are the same knowledge base accessible by both a sending party and a receiving party. In at least some other embodiments, the second knowledge base is a duplicate copy of the first knowledge base. For example, the first knowledge base and the second knowledge base may be separate knowledge bases that are synchronized periodically so that the privileged information stored in the first knowledge base and the privileged information stored in the second knowledge base are identical. In the description herein, the mathematical symbol K is used to represent either the first knowledge base or the second knowledge base.
[0019] Example scheme 100 may include one or more operations, actions, or functions as illustrated by one or more blocks 104, 106, 108, 110, and/or 112, with references to one or more of a message 102, a code 114, a knowledge base 116, and/or a knowledge base 118. Although scheme 100 is illustrated as discrete blocks, various blocks may be divided into additional blocks, combined into fewer blocks, or eliminated, depending on the desired implementation. Processing may begin at block 104.
[0020] Block 104 (Pretreatment) may include pretreating message 102, or M, by preparing message 102 for determination of whether message 102 is suitable to carry code 114 and for subsequent encoding of message 102 to carry code 114 therein if it is determined that message 102 is suitable to carry code 104. For example, a processor or a computing device on the sending side (e.g., operated by a sending party) may pretreat M by segmenting M into a multiple number of individual semantic sentences, sh s2, ... s, .... In succession, the processor may deduce a respective conclusion from each semantic sentence and compare the conclusion to the privileged information in /( to result in a binary bit in sequence R, namely R = r1r2...r„ for which r, is a bit corresponding to a result of comparison of the deduced conclusion and the privileged information in K with respect to semantic sentence s,. The value of r, is 1 if the result of comparison is consistent, and 0 if inconsistent.
[0021] By way of example, suppose a receiving party, e.g., Jack, has one daughter whose name is Agnes. Then, if M includes a sentence s, that states "Jack has a daughter whose name is Jessica", then the result of a comparison of the deduced conclusion (i.e., the name of Jack's daughter is Jessica) and the privilege information in K (i.e., the name of Jack's daughter is Agnes) has a value of 0 since the deduced conclusion is inconsistent with the privileged information in K. This process can be formalized by using Description Logics, which is the logical
foundation of semantic data, namely:
K = { Jack 0 = 1 hasDaughter, hasDaughter(Jack, Agnes)} s,:= hasDaughter(Jack, Jessica)
On the sending side, /C U {s, } =-L .
[0022] Thus, s, as deduced is inconsistent, and is depicted as r, 0 or r, = 0. Processing may proceed from block 104 to decision block 106.
[0023] Decision block 106 (Message Suitable for Coding?) may include determining whether message 102 is suitable to carry code 114, as not all messages may be able to carry code 114 under scheme 100. If message 102 is determined to be suitable to carry code 114, processing under scheme 100 may proceed to block 108; otherwise, processing may end. Under scheme 100, two factors may be considered in determining whether message 102 is suitable to carry code 114, namely: length and semantic richness of message 102. For example, the processor may determine message 102 to be too short if message 102 does not have enough semantic sentences therein to represent the number of bits in code 114. On the other hand, the processor may determine that message 102 has a sufficiently large number of semantic sentences when the number of the semantic sentences in message 102 is greater than the number of bits in code 114. Moreover, if message 102 does not have sufficient semantic richness to support coding or embedding code 114 into message 102, the processor may determine that message 102 is not suitable to carry code 114 even if message 102 is long enough with a large number of semantic sentences.
[0024] In determining whether the length of message 102 is sufficient, example mathematical operations that can be performed are as follows:
1) Sum up the number of semantic sentences in M, denoted as n, for which n = | | .
2) Calculate the number of bits in /, denoted as m, for which m is equal to 4 times the number of characters in /, including space and other invisible symbols.
3) If the relationship between m and n is satisfied with equation (1) below, then the length of message 102 is determined to be sufficiently long: n≥Cr - m + c (1)
Here, Cr is the reduction ratio of compression algorithm which may be adopted in information transition. If no compression algorithm is used, then Cr = 1. c is a redundancy
number.
[0025] The determination of whether the semantic richness of message 102 is sufficient is a rough estimation. Even if the length of message 102 is long enough, low semantic richness can lead to failure in encoding message 102 with code 114. For example, when M has R = 0101111, / = 1000 cannot be coded into M even though the length of M is longer than /. An example pseudo code that tests the semantic richness of M for / is as follows:
Input: Rtemp, R, I, n, m, n≥ m
Output: num, the semantic richness
Start:
Let Rtemp = r!r2...rmi i = 1, num = 0
lf( < n)
{
i + +;
Rtemp left shift one bit and then append rm+l to Rtemp;
lf(match(/?temp, )) num + +;
Output num,;
}
End.
[0026] The function "match(s£/7/7g_!, string2)" is defined to determine how many times string2 matches stringl. Any one of numerous class match algorithms can be used to design this function, such as brute-force (BF), Knuth-Morris-Pratt (KMP), Boyers-Moore (BM) and so on. Once num≥ 1, / can be coded into M. When a gap of semantic richness between M and / is not large (e.g., not exceeding 5% of the number of bits in /), some tautology may be used to compensate the gap, for instance, by adding one or more accessorial sentences into message 102. For example, semantic data sentence such as "1 = 1", which would result in a deduced conclusion of "true" with a Boolean value of 1, or a repetition of one of the sentences of M having a Boolean value of 1 for the deduced conclusion may be used complementarily when there lacks a suitable semantic sentence. If it is determined that message 102 is not suitable to carry code 114, then processing under scheme 100 may end as message 102 cannot be utilized to carry code 114. Processing may return to block 104 for a new message if and when the new message is available as a candidate message to carry code 114.
[0027] Block 108 (Encode the Message) may include tagging or otherwise marking message 102 to embed code 114 in message 102. For example, the processor may select some
of the semantic sentences of message 102 such that the respective binary bit of comparison result of each of the selected semantic sentences represents a corresponding bit of code 114. In at least some embodiments, each of the selected semantic sentences may be appended with a prefix or a suffix to tag the selected semantic sentences. This way, as a decoding process on the receiving side is to be performed on just those semantic sentences in encoded message /7' that are tagged or otherwise marked, considerable time can be saved. An example of tagging a selected semantic sentence is as follows:
Original sentence: Jack has a daughter whose name is Jessica.
Tagged sentence: HJack has a daughter whose name is Jessica.
[0028] Here, "S3" is a label used for tagging to indicate the immediately following sentence is a selected semantic sentence. Processing may proceed from block 108 to block 110.
[0029] Block 110 (Transmit Encoded Message) may include transmitting encoded message M', which carries / therein, from the sending party to the receiving party. For example, the processor on the sending side may cause the encoded message M' to be transmitted to the receiving side (e.g., a computing device operated by a receiving party) via any suitable means, e.g., over a wired medium, wireless medium or a combination thereof. As the encoding of message M to embed code / therein may be performed on the semantic level, no additional channel coding is necessary. Processing may proceed from block 110 to block 112.
[0030] Block 112 (Decode the Encoded Message) may include decoding M' by segmenting M' into a multiple number of individual semantic sentences. To recover the code /, a processor or a computing device on the receiving side (e.g., operated by the receiving party) may deduce a conclusion from each of those semantic sentences that are tagged, and compare the deduced conclusion to the privileged information in second knowledge base 118 with respect to the respective semantic sentence.
EXAMPLE APPLICATIONS
[0031] There are numerous applications in which scheme 100 can be implemented, including but not limited to, for example, data classification, primary rate interface (PRI) management and authentication. As an example of data classification applications, a message may be classified into, for example, 16 classes denoted by binary bits 0000 through 1111. The classes may be used to identify the type of content of the message. For example, class 1 (e.g., 0001 in binary) may be sports, class 2 (e.g., 0010 in binary) may be politics, class 3 (e.g., 0011 in
binary) may be history, class 4 (e.g., 0100 in binary) may be economics, and so on. Accordingly, four semantic sentences may be selected from M to represent the corresponding four bits, with the corresponding bit r, of each of the four selected semantic sentences representing the respective bit of the 4-bit classification. As an illustrative example, M is assumed to be classified as a message of class 8, which is denoted as 1000 in binary, and the four selected semantic sentences are s2, s3, s5 and s12. A comparison of the deduced conclusion of each of s2, s3, s5 and s12 with K yields a consistent result for s2 (i.e., r = 1), an inconsistent result for s3 (i.e., r2 = 0), an inconsistent result for ss (i.e., r3 = 0), and an inconsistent result for s12 (i.e., r4 = 0). Thus, the four semantic sentences s2, s3, s5 and s12 are selected to carry /, in this case classification of M, which is 1000. A special tag is appended as prefix to each of semantic sentences s2, s3, s5 and s15, and the encoded message M' is transmitted to a receiving party. The receiving party of M' compares the deduced conclusion of those semantic sentences that are tagged, namely s2, s3, s5 and s12, with Kto obtain the code /, which is 1000, indicating content of M is classified as class 8.
[0032] As an example of PRI management applications, a message is assigned one of eight PRI levels that are respectively denoted by binary bits 0000 through 0011. Four semantic sentences are selected from M to represent corresponding bits of the PRI level of M. The encoded message, M', is transmitted over a network and each node in the path decodes M' to determine the PRI level of M to process M according to the corresponding PRI procedure.
[0033] As an example of authentication applications, the term "king" is the authenticated term and is divided into four characters, namely "k", "\" , "n" and "g". The corresponding ASIIC code in binary bits are 01101011, 01101001, 01101110 and 01100111, respectively, for a total of thirty-two bits. Accordingly, thirty-two sentences are selected from M to represent the ASIIC binary bits of the authenticated term. On the receiving side, a received message passes the authentication when the message includes semantic sentences that yield comparison results r1r2...r32 that are identical to the ASIIC code of "king" in binary bits.
EXAMPLE PROCESSES
[0034] Fig. 2 shows a processing flow 200 for information coding based on semantic data reasoning, arranged in accordance with at least some embodiments described herein.
[0035] Example processing flow 200 includes one or more operations, actions, or functions as illustrated by one or more of blocks 202, 204 and 206. Although illustrated as discrete blocks, various blocks may be divided into additional blocks, combined into fewer blocks, or eliminated, depending on the desired implementation. Further, processing flow 200 may be
implemented by software, hardware, or a combination of software and hardware in any type of computing device, such as example computing device 500 to be described below. For illustrative purposes, the operations described below are performed by a processor of a computing device. Processing may begin at block 202.
[0036] Block 202 (Pretreat A Textual Message) may include pretreating a textual message that includes a multiple number of semantic sentences used for generating a sequence of binary bits, with each bit of the sequence of binary bits corresponding to a respective one of the semantic sentences. For example, a processor or a computing device on the sending side (e.g., operated by a sending party) may pretreat message 102 in two stages. First, message 102 may be segmented into a multiple number of semantic sentences as M = {s^ s2, ... s,j. Then, the multiple semantic sentences may be analyzed to generate the sequence of binary bits. In at least some embodiments, in analyzing the multiple semantic sentences, the processor may generate a binary 0 when a concept conveyed by a respective one of the semantic sentences is false based on information in a knowledge base, such as knowledge base 116. Conversely, the processor may generate a binary 1 when the concept conveyed by the respective one of the semantic sentences is true based on the information in the knowledge base. In at least some embodiments, the information in the knowledge base is privileged information such as private information that is known to a sending party and a receiving party but not to others. Processing flow 200 may proceed from block 202 to block 204.
[0037] Block 204 (Message Suitable for Coding?) may include determining whether the textual message is suitable to carry a code of a multiple number of bits therein. If message 102 is determined to be suitable to carry code 114, then processing flow 200 may proceed to block 206; otherwise, processing flow 200 may end. For example, the processor may determine that message 102 is suitable to carry code 114, which has a multiple number of bits, when a length of message 102 is suitable to carry code 114 and semantic richness of message 102 is sufficient to carry code 114. In at least some embodiments, the processor may determine that the length of message 102 is suitable to carry code 114 based on a number of factors. Such factors may include, for example: (1) a quantity of the multiple number of semantic sentences in message 102, (2) a quantity of the multiple number of bits in code 114, and (3) that a sum of a redundancy number and a product of the quantity of the multiple number of semantic sentences in message 102 and a reduction ratio of compression algorithm is less than the quantity of the multiple number of bits in code 114. In at least some embodiments, in determining that the semantic richness of message 102 is sufficient to carry code 114, the processor may compare
code 114 to the sequence of binary bits and determine that the multiple number of bits of code 114 can be represented by a corresponding number of binary bits of the sequence of binary bits. Processing flow 200 may proceed from block 204 to block 206.
[0038] Block 206 (Embed the Code in the Textual Message) may include embedding the code in a subset of the multiple semantic sentences in response to determining that the textual message is suitable to carry the code. For example, in embedding code 114 in a subset of the semantic sentences of message 102, the processor may select the subset of the multiple number of semantic sentences to carry code 114 in message 102 such that a pattern of the binary bits corresponding to the subset of the multiple number of semantic sentences match a pattern of the multiple number of bits of code 114. Further, the processor may tag the subset of the multiple semantic sentences such that the binary bit corresponding to a respective one of the tagged semantic sentences indicates a respective one of the bits of code 114. In at least some embodiments, the processor may tag the tagged semantic sentences by prefixing each of the tagged semantic sentences with a label. In at least some other embodiments, the processor may tag the tagged semantic sentences by suffixing each of the tagged semantic sentences with a label. In still some other embodiments, the processor may tag the tagged semantic sentences by highlighting the tagged semantic sentences in a way that is recognizable by the receiving party.
[0039] In at least some embodiments, processing flow 200 may further include transmitting the textual message with the code embedded therein. For example, after encoding message 102 with code 114, the processor may transmit, or cause the associated computing device to transmit, the encoded message to the receiving party.
[0040] Fig. 3 shows a processing flow 300 for information coding based on semantic data reasoning, arranged in accordance with at least some embodiments described herein.
[0041] Example processing flow 300 includes one or more operations, actions, or functions as illustrated by one or more of blocks 302, 304, 306 and 308. Although illustrated as discrete blocks, various blocks may be divided into additional blocks, combined into fewer blocks, or eliminated, depending on the desired implementation. Further, processing flow 300 may be implemented by software, hardware, or a combination of software and hardware in any type of computing device, such as example computing device 300 to be described below. For illustrative purpose, the operations described below are performed by a processor of a computing device. Processing may begin at block 302.
[0042] Block 302 (Segment A Textual Message) may include segmenting a textual
message into a multiple number of semantic sentences. For example, a processor or computing device may segment message 102 into a multiple number of semantic sentences as M = {s^ s2, ... s,j. Processing flow 300 may proceed from block 302 to block 304.
[0043] Block 304 (Analyze Semantic Sentences of the Textual Messages) may include analyzing the multiple semantic sentences to generate a sequence of binary bits, with each bit of the sequence of binary bits corresponding to a respective one of the semantic sentences. In at least some embodiments, in analyzing the multiple semantic sentences of message 102, the processor may generate a binary 0 when a concept conveyed by a respective one of the semantic sentences is false based on information in a knowledge base, such as knowledge base 116. Conversely, when a concept conveyed by the respective one of the semantic sentences is true based on information in the knowledge base, the processor may generate a binary 1. In at least some embodiments, the information in the knowledge base may be privileged information such as private information that is known to a sending party and a receiving party but not to others. Processing flow 300 may proceed from block 304 to block 306.
[0044] Block 306 (Message Suitable for Coding?) may include determining whether the textual message is suitable to carry a code of a multiple number of bits therein. If the textual message is determined to be suitable to carry the code, then processing flow 300 may proceed to block 308; otherwise, processing flow 300 may end. For example, the processor may determine that message 102 is suitable to carry code 114 therein when the processor determines that a length of message 102 is suitable to carry code 114 and that semantic richness of message 102 is sufficient to carry code 114. In at least some embodiments, the processor may determine that the length of message 102 is suitable to carry code 114 based on a number of factors. Such factors may include, for example: (1) a quantity of the multiple number of semantic sentences in message 102, (2) a quantity of the multiple number of bits in code 114, and (3) that a sum of a redundancy number and a product of the quantity of the multiple number of semantic sentences in message 102 and a reduction ratio of compression algorithm is less than the quantity of the multiple number of bits in code 114. In at least some embodiments, the processor may determine that the semantic richness of message 102 is sufficient to carry code 114 by comparing code 114 to the sequence of binary bits and determining that the multiple numbers of bits of code 114 can be represented by a corresponding number of binary bits of the sequence of binary bits. Processing flow 300 may proceed from block 306 to block 308.
[0045] Block 308 (Mark Semantic Sentences to Carry the Code in the Textual
Message) may include marking a subset of the multiple semantic sentences to carry the code in the textual message. For example, the processor may mark the subset of the multiple semantic sentences of message 102 such that the binary bit corresponding to each of the marked semantic sentences indicates a respective one of the bits of code 114. In at least some embodiments, the processor may mark the marked semantic sentences by prefixing each of the marked semantic sentences with a label. In at least some other embodiments, the processor may mark the marked semantic sentences by suffixing each of the marked semantic sentences with a label. In still some other embodiments, the processor may mark the marked semantic sentences by highlighting the marked semantic sentences in a way that is recognizable by the receiving party.
[0046] In at least some embodiments, processing flow 300 may further include transmitting the textual message with the code embedded therein. For example, after encoding message 102 with code 114, the processor transmits, or causes the associated computing device to transmit, the encoded message to the receiving party.
[0047] Fig. 4 shows a system 400 that is configured to perform information coding based on semantic data reasoning, arranged in accordance with at least some embodiments described herein.
[0048] Example system 400 may include one or more components, parts or modules as illustrated by one or more of first component 402, second component 404, third component 406, and fourth component 408. Although illustrated as discrete components, various components may be divided into additional components, combined into fewer components, or eliminated, depending on the desired implementation. Further, system 400 may be implemented by software, hardware, or a combination of software and hardware in any type of computing device, such as example computing device 500 to be described below.
[0049] First component 402 may be configured to segment a textual message into a multiple number of semantic sentences. For example, first component 404 may segment message 102 into a multiple number of semantic sentences as M = {s^ s2, ... s, ...}.
[0050] Second component 404 may be configured to analyze the multiple semantic sentences to generate a sequence of binary bits, with each bit of the sequence of binary bits corresponding to a respective one of the semantic sentences. In at least some embodiments, second component 404 may analyze the multiple semantic sentences and generate a binary 0 when a concept conveyed by a respective one of the semantic sentences is false based on
information in a knowledge base, such as first knowledge base 116. Conversely, second component 404 may generate a binary 1 when the concept conveyed by the respective one of the semantic sentences is true based on the information in the knowledge base.
[0051] Third component 406 may be configured to determine whether the textual message is suitable to carry a code of a multiple number of bits therein. In at least some embodiments, third component 406 may determine that message 102 is suitable to carry code 114 when third component 406 determines that a length of message 102 is suitable to carry code 114 and that semantic richness of message 102 is sufficient to carry code 114. In at least some embodiments, third component 406 may determine that the length of message 102 is suitable to carry code 114 based on a number of factors. Such factors may include, for example: (1) a quantity of the multiple number of semantic sentences in message 102, (2) a quantity of the multiple number of bits in code 114, and (3) that a sum of a redundancy number and a product of the quantity of the multiple number of semantic sentences in message 102 and a reduction ratio of compression algorithm is less than the quantity of the multiple number of bits in code 114. In at least some embodiments, third component 406 may determine that the semantic richness of message 102 is sufficient to carry code 114 by comparing code 114 to the sequence of binary bits and determining that the multiple numbers of bits of code 114 can be represented by a corresponding number of binary bits of the sequence of binary bits.
[0052] Fourth component 408 may be configured to mark a subset of the multiple semantic sentences to carry the code in the textual message in response to a positive determination that the textual message is suitable to carry a code of a multiple number of bits therein. In at least some embodiments, fourth component 408 may mark a subset of the multiple semantic sentences to carry code 114 in message 102 by marking the subset of the multiple semantic sentences such that the binary bit corresponding to each of the marked semantic sentences indicates a respective one of the bits of code 114. In at least some embodiments, fourth component 408 may mark the marked semantic sentences by prefixing each of the marked semantic sentences with a label. In at least some other embodiments, fourth component 408 may mark the marked semantic sentences by suffixing each of the marked semantic sentences with a label. In still some other embodiments, fourth component 408 may mark the marked semantic sentences by highlighting the marked semantic sentences in a way that is recognizable by the receiving party.
[0053] In at least some embodiments, system 400 may further include fifth component 410 that may be configured to transmit the textual message with the subset of the
multiple number of semantic sentences being marked. For example, fifth component 410 may transmit the encoded message to the receiving party that has access to first knowledge base 116 or has second knowledge base 118 which is a duplicate copy of first base 116.
[0054] Embodiments of the proposed technique advantageously provide an additional layer of security as well as efficiency in data communication. Further, the proposed technique offers many applications in a cloud-computing environment such as data classification, authentication and PRI management.
EXAMPLE COMPUTING DEVICE
[0055] Fig. 5 shows an example computing device 500 that is configured to implement operations of one or more embodiments of information coding based on semantic data reasoning, arranged in accordance with at least some embodiments described herein.
[0056] It will be readily appreciated that the techniques disclosed herein may be implemented in other computing devices, systems, and environments. The computing device 500 shown in Fig. 5 is one example of a computing device and not intended to suggest any limitation as to the scope of use or functionality of the computer and network architectures.
[0057] In at least one implementation, computing device 500 may include at least one processing unit 502 and system memory 504. Depending on the exact configuration and type of computing device, system memory 504 may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.) or some combination thereof. System memory 504 may include an operating system 506, one or more program modules 508, and may include program data 510. A basic implementation of the computing device 500 is demarcated by a dashed line 514.
[0058] The program module 508 may include a module 512 configured to implement the technique as described above. For example, the module 512 include a set of computer-executable instructions or program codes that, when executed by the processing unit 502, may cause the processing unit 502 to carry out processing flows 200, 300 and/or 400, and any variations thereof, e.g., the computing device 500 may perform the operations as described above with respect to processing flows 200, 300 and/or 400.
[0059] Computing device 500 may have additional features or functionality. For example, computing device 500 may also include additional data storage devices such as removable storage 516 and non-removable storage 518. In at least some implementations, the removable storage 516 and non-removable storage 518 are an example of computer accessible
media for storing computer-executable instructions or program codes that are executable by the processing unit 502 to perform the various functions described above. Generally, any of the functions described with reference to the figures can be implemented using software, firmware, hardware (e.g., fixed logic circuitry) or a combination of these implementations. Program code may be stored in one or more computer accessible media or other computer-readable storage devices. Thus, the processes and components described herein may be implemented by a computer program product. As mentioned above, computer accessible media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. The terms "computer accessible medium" and "computer accessible media" refer to non-transitory storage devices and include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transitory medium that can be used to store information for access by a computing device, e.g., computing device 500. Any of such computer accessible media may be part of the computing device 500.
[0060] In one implementation, the removable storage 516, which may be a computer accessible medium, has a set of computer-executable instructions 530 stored thereon. When executed by the processing unit 502, the set of computer-executable instructions 530 cause the processing unit 502 to execute operations, tasks, functions and/or methods as described above, including processing flows 200, 300 and/or 400 and any variations thereof.
[0061] Computing device 500 may also include one or more input devices 520 such as keyboard, mouse, pen, voice input device, touch input device, etc. Computing device 500 may additionally include one or more output devices 522 such as a display, speakers, printer, etc.
[0062] Computing device 500 may also include one or more communication connections 524 that allow the computing device 500 to communicate with apparatus 550. For example, computing device 500 may be used by the sending party and apparatus 550 may be used by the receiving party in various examples described above.
[0063] Upon executing the set of computer-executable instructions, whether stored in module 512 of program module 508 or in removable storage 516, processing unit 502 may direct computing device 500 or apparatus 550 to carry out a number of operations to implement the technique as described above, including processing flows 200, 300 and/or 400 and any
variations thereof.
[0064] It is appreciated that the illustrated computing device 500 is one example of a suitable device and is not intended to suggest any limitation as to the scope of use or functionality of the various embodiments described.
ADDITIONAL AND ALTERNATIVE IMPLEMENTATION NOTES
[0065] In the above description of example implementations, for purposes of explanation, specific numbers, materials configurations, and other details are set forth in order to better explain the invention, as claimed. However, it will be apparent to one skilled in the art that the claimed invention may be practiced using different details than the example ones described herein. In other instances, well-known features are omitted or simplified to clarify the description of the example implementations.
[0066] The inventor intends the described example implementations to be primarily examples. The inventor does not intend these example implementations to limit the scope of the appended claims. Rather, the inventor has contemplated that the claimed invention might also be embodied and implemented in other ways, in conjunction with other present or future technologies.
[0067] Moreover, the word "example" is used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as "example" is not necessarily to be construed as preferred or advantageous over other aspects or designs. Rather, use of the word example is intended to present concepts and techniques in a concrete fashion. The term "techniques," for instance, may refer to one or more devices, apparatuses, systems, methods, articles of manufacture, and/or computer-readable instructions as indicated by the context described herein.
[0068] As used in this application, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or." That is, unless specified otherwise or clear from context, "X employs A or B" is intended to mean any of the natural inclusive permutations. That is, if X employs A; X employs B; or X employs both A and B, then "X employs A or B" is satisfied under any of the foregoing instances. In addition, the articles "a" and "an" as used in this application and the appended claims should generally be construed to mean "one or more," unless specified otherwise or clear from context to be directed to a singular form.
[0069] The example processes discussed herein are illustrated as a collection of
blocks in a logical flow graph, which represents a sequence of operations that can be implemented with hardware, software, firmware, or any combination thereof. In the context of software/firmware, the blocks represent instructions stored on one or more processor-readable storage media that, when executed by one or more processors, perform the recited operations. The operations of the example processes may be rendered in virtually any programming language or environment including (by way of example and not limitation): C/C++, Fortran, COBOL, PASCAL, assembly language, markup languages (e.g., HTML, SGML, XML, VoXML), and the like, as well as object-oriented environments such as the Common Object Request Broker Architecture (CORBA), Java™ (including J2ME, Java Beans, etc.), Binary Runtime Environment (BREW), and the like.
[0070] Note that the order in which the processes are described is not intended to be construed as a limitation, and any number of the described process blocks can be combined in any order to implement the processes or an alternate process. Additionally, individual blocks may be deleted from the processes without departing from the spirit and scope of the subject matter described herein.
[0071] The term "processor-readable media" includes processor-storage media. For example, processor-storage media may include, but are not limited to, magnetic storage devices (e.g., hard disk, floppy disk, and magnetic strips), optical disks (e.g., compact disk (CD) and digital versatile disk (DVD)), smart cards, flash memory devices (e.g., thumb drive, stick, key drive, and SD cards), and volatile and non-volatile memory (e.g., random access memory (RAM), read-only memory (ROM)).
[0072] For the purposes of this disclosure and the claims that follow, the terms "coupled" and "connected" may have been used to describe how various elements interface. Such described interfacing of various elements may be either direct or indirect.
Claims
1. A method, comprising:
pretreating a textual message that includes a plurality of semantic sentences used for generating a sequence of binary bits, with each bit of the sequence of binary bits corresponding to a respective one of the semantic sentences;
determining that the textual message is suitable to carry a code of a plurality of bits therein; and
embedding the code in a subset of the plurality of semantic sentences in response to the determining.
2. The method of Claim 1, wherein the pretreating a textual message comprises: segmenting the textual message into the plurality of semantic sentences; and analyzing the plurality of semantic sentences to generate the sequence of binary bits.
3. The method of Claim 2, wherein the analyzing the plurality of semantic sentences to generate a sequence of binary bits comprises:
generating a binary 0 when a concept conveyed by a respective one of the semantic sentences is false based on information in a knowledge base;
generating a binary 1 when the concept conveyed by the respective one of the semantic sentences is true based on the information in the knowledge base.
4. The method of Claim 3, wherein the information in the knowledge base comprises private information.
5. The method of Claim 1, wherein the determining that the textual message is suitable to carry a code of a plurality of bits therein comprises:
determining that a length of the textual message is suitable to carry the code; and determining that semantic richness of the textual message is sufficient to carry the code.
6. The method of Claim 5, wherein the determining that a length of the textual message is suitable to carry the code comprises:
determining a quantity of the plurality of semantic sentences in the textual message;
determining a quantity of the plurality of bits in the code; and
determining that a sum of a redundancy number and a product of the quantity of the plurality of semantic sentences in the textual message and a reduction ratio of compression algorithm is less than the quantity of the plurality of bits in the code.
7. The method of Claim 5, wherein the determining that semantic richness of the textual message is sufficient to carry the code comprises:
comparing the code to the sequence of binary bits; and
determining that the plurality of bits of the code can be represented by a corresponding number of binary bits of the sequence of binary bits.
8. The method of Claim 1, wherein the embedding the code in a subset of the plurality of semantic sentences comprises:
selecting the subset of the plurality of semantic sentences to carry the code in the textual message, a pattern of the binary bits corresponding to the subset of the plurality of semantic sentences matching a pattern of the plurality of bits of the code; and
tagging the subset of the plurality of semantic sentences.
9. The method of Claim 8, wherein the tagging the subset of the plurality of semantic sentences comprises tagging the subset of the plurality of semantic sentences such that the binary bit corresponding to each of the tagged semantic sentences indicates a respective one of the bits of the code.
10. The method of Claim 8, wherein the tagging the subset of the plurality of semantic sentences comprises prefixing each of the subset of the plurality of semantic sentences with a label.
11. The method of Claim 1, further comprising:
transmitting the textual message with the code embedded therein.
12. The method of Claim 11, wherein the pretreating a textual message comprises pretreating the textual message using a knowledge base, and wherein the transmitting the textual message comprises transmitting the textual message to a receiving party having a
duplicate copy of the knowledge base.
13. A computer-readable medium storing instructions that, when executed, cause one or more processor to perform operations comprising:
segmenting a textual message into a plurality of semantic sentences;
analyzing the plurality of semantic sentences to generate a sequence of binary bits, with each bit of the sequence of binary bits corresponding to a respective one of the semantic sentences;
determining that the textual message is suitable to carry a code of a plurality of bits therein; and
marking a subset of the plurality of semantic sentences to carry the code in the textual message.
14. The computer-readable medium of Claim 13, wherein the analyzing the plurality of semantic sentences to generate a sequence of binary bits comprises:
generating a binary 0 when a concept conveyed by a respective one of the semantic sentences is false based on information in a knowledge base;
generating a binary 1 when the concept conveyed by the respective one of the semantic sentences is true based on the information in the knowledge base.
15. The computer-readable medium of Claim 14, wherein the information in the knowledge base comprises private information.
16. The computer-readable medium of Claim 13, wherein the determining that the textual message is suitable to carry a code of a plurality of bits comprises:
determining that a length of the textual message is suitable to carry the code; and determining that semantic richness of the textual message is sufficient to carry the code.
17. The computer-readable medium of Claim 16, wherein the determining that a length of the textual message is suitable to carry the code comprises:
determining a value m, which represents a quantity of the plurality of semantic sentences in the textual message;
determining a value n, which represents a quantity of the plurality of bits in the code;
and
determining that a sum of a redundancy number and a product of m and a reduction ratio of compression algorithm is less than n.
18. The computer-readable medium of Claim 16, wherein the determining that semantic richness of the textual message is sufficient to carry the code comprises:
comparing the code to the sequence of binary bits; and
determining that the plurality of bits of the code can be represented by a corresponding number of binary bits of the sequence of binary bits.
19. The computer-readable medium of Claim 13, wherein the marking a subset of the plurality of semantic sentences to carry the code in the textual message comprises marking the subset of the plurality of semantic sentences such that the binary bit corresponding to each of the marked semantic sentences indicates a respective one of the bits of the code.
20. The computer-readable medium of Claim 13, wherein the marking a subset of the plurality of semantic sentences comprises prefixing each of the subset of the plurality of semantic sentences with a label.
21. The computer-readable medium of Claim 13, wherein the operations further comprise:
transmitting the textual message with the subset of the plurality of semantic sentences being marked.
22. The computer-readable medium of Claim 21, wherein the analyzing the plurality of semantic sentences comprises analyzing the plurality of semantic sentences using a knowledge base, and wherein the transmitting the textual message comprises transmitting the textual message to a receiving party having a duplicate copy of the knowledge base.
23. A system, comprising:
a first component configured to segment a textual message into a plurality of semantic sentences;
a second component configured to analyze the plurality of semantic sentences to
generate a sequence of binary bits, with each bit of the sequence of binary bits corresponding to a respective one of the semantic sentences;
a third component configured to determine that the textual message is suitable to carry a code of a plurality of bits therein; and
a fourth component configured to mark a subset of the plurality of semantic sentences to carry the code in the textual message in response to the determining.
24. The system of Claim 23, wherein the second component is configured to analyze the plurality of semantic sentences to generate a sequence of binary bits by performing operations comprising:
generating a binary 0 when a concept conveyed by a respective one of the semantic sentences is false based on information in a knowledge base;
generating a binary 1 when the concept conveyed by the respective one of the semantic sentences is true based on the information in the knowledge base.
25. The system of Claim 24, wherein the information in the knowledge base comprises private information.
26. The system of Claim 23, wherein the third component is configured to determine that the textual message is suitable to carry a code of a plurality of bits by performing operations comprising:
determining that a length of the textual message is suitable to carry the code; and determining that semantic richness of the textual message is sufficient to carry the code.
27. The system of Claim 26, wherein the third component is configured to determine that a length of the textual message is suitable to carry the code by performing operations comprising:
determining a value m, which represents a quantity of the plurality of semantic sentences in the textual message;
determining a value n, which represents a quantity of the plurality of bits in the code; and
determining that a sum of a redundancy number and a product of m and a reduction ratio of compression algorithm is less than n.
28. The system of Claim 26, wherein the third component is configured to determine that semantic richness of the textual message is sufficient to carry the code by performing operations comprising:
comparing the code to the sequence of binary bits; and
determining that the plurality of bits of the code can be represented by a corresponding number of binary bits of the sequence of binary bits.
29. The system of Claim 23, wherein the fourth component is configured to mark a subset of the plurality of semantic sentences to carry the code in the textual message by marking the subset of the plurality of semantic sentences such that the binary bit corresponding to each of the marked semantic sentences indicates a respective one of the bits of the code.
30. The system of Claim 23, wherein the fourth component is configured to mark a subset of the plurality of semantic sentences by prefixing each of the subset of the plurality of semantic sentences with a label.
31. The system of Claim 23, further comprising:
a fifth component configured to transmit the textual message with the subset of the plurality of semantic sentences being marked.
32. The system of Claim 31, wherein the second component is configured to analyze the plurality of semantic sentences by analyzing the plurality of semantic sentences using a knowledge base, and wherein the fifth component is configured to transmit the textual message by transmitting the textual message to a receiving party having a duplicate copy of the knowledge base.
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201280076743.6A CN104756138B (en) | 2012-10-31 | 2012-10-31 | Information coding method, system and equipment |
| US13/985,761 US9600771B2 (en) | 2012-10-31 | 2012-10-31 | Information coding based on semantic data reasoning |
| PCT/CN2012/083857 WO2014067102A1 (en) | 2012-10-31 | 2012-10-31 | Information coding method, system and computer-readable medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2012/083857 WO2014067102A1 (en) | 2012-10-31 | 2012-10-31 | Information coding method, system and computer-readable medium |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2014067102A1 true WO2014067102A1 (en) | 2014-05-08 |
Family
ID=50548333
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2012/083857 Ceased WO2014067102A1 (en) | 2012-10-31 | 2012-10-31 | Information coding method, system and computer-readable medium |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US9600771B2 (en) |
| CN (1) | CN104756138B (en) |
| WO (1) | WO2014067102A1 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2659650B1 (en) * | 2010-12-29 | 2022-06-22 | Citrix Systems Inc. | Systems and methods for multi-level tagging of encrypted items for additional security and efficient encrypted item determination |
| US9363275B2 (en) * | 2013-12-17 | 2016-06-07 | Cisco Technology, Inc. | Sampled deterministic finite automata for deep packet inspection |
| US10506388B1 (en) | 2018-06-27 | 2019-12-10 | Harris Global Communications, Inc. | Efficient short message compression |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20030062463A (en) * | 2002-01-17 | 2003-07-28 | 주식회사 마크애니 | Method for embedding and extracting watermark into/from a text document, and the apparatus thereof |
| CN1700205A (en) * | 2005-06-24 | 2005-11-23 | 清华大学 | Method for embedding and extracting watermark in English texts |
| CN102194081A (en) * | 2011-05-12 | 2011-09-21 | 西北大学 | Method for hiding natural language information |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4626032B2 (en) * | 2000-08-28 | 2011-02-02 | 株式会社デンソー | Program conversion apparatus, program conversion method, and recording medium |
| US7610192B1 (en) * | 2006-03-22 | 2009-10-27 | Patrick William Jamieson | Process and system for high precision coding of free text documents against a standard lexicon |
| EP2212771A4 (en) * | 2007-10-05 | 2011-06-01 | Aharon Mizrahi | System and method for enabling search of content |
-
2012
- 2012-10-31 WO PCT/CN2012/083857 patent/WO2014067102A1/en not_active Ceased
- 2012-10-31 CN CN201280076743.6A patent/CN104756138B/en not_active Expired - Fee Related
- 2012-10-31 US US13/985,761 patent/US9600771B2/en not_active Expired - Fee Related
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20030062463A (en) * | 2002-01-17 | 2003-07-28 | 주식회사 마크애니 | Method for embedding and extracting watermark into/from a text document, and the apparatus thereof |
| CN1700205A (en) * | 2005-06-24 | 2005-11-23 | 清华大学 | Method for embedding and extracting watermark in English texts |
| CN102194081A (en) * | 2011-05-12 | 2011-09-21 | 西北大学 | Method for hiding natural language information |
Also Published As
| Publication number | Publication date |
|---|---|
| US9600771B2 (en) | 2017-03-21 |
| CN104756138B (en) | 2017-08-11 |
| CN104756138A (en) | 2015-07-01 |
| US20140122408A1 (en) | 2014-05-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Liu et al. | A new steganographic method for data hiding in microsoft word documents by a change tracking technique | |
| CN115146124B (en) | Question-answering system response method and device, equipment, medium and product thereof | |
| JP7344926B2 (en) | Text summary extraction method, device, electronic device, storage medium and computer program | |
| CN115328753B (en) | Fault prediction method and device, electronic equipment and storage medium | |
| CN112052321A (en) | Man-machine conversation method, device, computer equipment and storage medium | |
| CN115688920A (en) | Knowledge extraction method, model training method, device, equipment and medium | |
| CN115796179B (en) | Methods, devices, electronic equipment, and storage media for dynamically modifying questionnaire items | |
| CN117616439A (en) | Systems and methods for detecting and fixing software vulnerabilities | |
| CN116414948A (en) | Abnormal data mining method and software product based on cloud data and artificial intelligence | |
| CN110909174A (en) | Knowledge graph-based method for improving entity link in simple question answering | |
| KR102912689B1 (en) | Method and apparatus of anomaly detection of system logs based on self-supervised learning | |
| CN114610855B (en) | Dialogue reply generation method and device, electronic equipment and storage medium | |
| US9600771B2 (en) | Information coding based on semantic data reasoning | |
| CN117454328A (en) | A hidden multi-trigger multi-modal backdoor attack method | |
| CN113343677A (en) | Intention identification method and device, electronic equipment and storage medium | |
| Safaka et al. | Matryoshka: Hiding secret communication in plain sight | |
| CN112528674A (en) | Text processing method, model training method, device, equipment and storage medium | |
| CN111159394A (en) | Text abstract generation method and device | |
| CN111199746B (en) | Information hiding method and hidden information extracting method | |
| CN120508425A (en) | Context-driven fault resolution suggestion generation method | |
| CN117033560B (en) | Configuration Item Attribute Alignment Method Based on Large Language Model | |
| CN112346737B (en) | Method, device and equipment for training programming language translation model and storage medium | |
| CN112818688B (en) | Text processing method, device, equipment and storage medium | |
| CN115186096B (en) | Recognition method and device for specific type word segmentation, medium and electronic equipment | |
| CN108038230A (en) | Information generating method and device based on artificial intelligence |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WWE | Wipo information: entry into national phase |
Ref document number: 13985761 Country of ref document: US |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12887339 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 12887339 Country of ref document: EP Kind code of ref document: A1 |