Abstract:
Method for text processing executable at a computing device, comprising appreciating a source phrase comprised of source words; appreciating a target phrase comprised of target words; associating a respective source word feature set with each one of the source words; associating a respective target word feature set with each one of the target words; analyzing source word feature sets and target word feature sets; and based on the analysis, generating one or more phrase transformation rules for transforming the source phrase into the target phrase. Also a server and non-transitory computer-readable medium storing program instructions for carrying out the method.

Description:
CROSS-REFERENCE 
       [0001]    The present application claims priority to Russian Patent Application No. 2014135303, filed Aug. 29, 2014, entitled “METHOD FOR TEXT PROCESSING” and is a continuation of PCT/IB2014/066336 filed on Nov. 25, 2014, entitled “METHOD FOR TEXT PROCESSING” the entirety of which are incorporated herein. 
     
    
     FIELD 
       [0002]    The present technology relates to computer-implemented methods for text processing. 
       BACKGROUND 
       [0003]    Text-to-speech conversion technologies take text phrases as input and generate audio phrases—audio data encoding spoken audio representative of the text phrases—which can then be “read aloud” via an audio interface of an electronic device. 
         [0004]    Conventionally, the text phrases to be read aloud in this manner are converted into audio phrases on a word-for-word basis, such that each text word in a text phrase is converted into an audio word, and the audio words are assembled in the same order as their corresponding text words appear in the text phrase. The composition of the audio phrase and the composition of the text phrase therefore match word for word. For example, the text phrase “There are 2000 jelly beans in the jar” may be converted into an audio phrase which would be pronounced “There are two thousand jelly beans in the jar.” 
         [0005]    In some cases, however, the context of a text phrase is such that an audio phrase generated on a word-for-word basis may sound unnatural when read aloud. As a simple example, the text phrase “The Tate Modern opened in 2000” may be converted into an audio phrase which would be pronounced “The Tate Modern opened in two thousand,” when an English speaker would more naturally have said “The Tate Modern opened in the year two thousand.” Thus, in some cases, conventional word-for-word conversion of text phrases results in unnatural-sounding audio phrases, and it may be desirable to modify text phrases in order to facilitate subsequent text-to-speech conversion in some contexts. 
         [0006]    There is therefore a need for improved methods for text processing. 
       SUMMARY 
       [0007]    The present technology provides computer-implemented methods for generating one or more phrase transformation rules which can then be applied to a text phrase to generate a transformed text phrase. The phrase transformation rules may be generated by analyzing features of the words in a source phrase and features of the words in a target phrase to determine a mapping of the words in the source phrase to words in the target phrase. 
         [0008]    One potential application of such methods is to generate phrase transformation rules which preprocess text phrases into transformed text phrases which may then be converted into audio phrases using conventional word-by-word text-to-speech conversion technologies. For example, the one or more phrase transformation rules may be applied to the text phrase “The Tate Modern opened in 2000” to transform it into “The Tate Modern opened in the year two thousand.” Text-to-speech conversion of the transformed phrase may then result in a natural-sounding audio phrase. 
         [0009]    Another potential application of such methods is to generate phrase transformation rules for reducing the length of phrases while retaining their basic essence. For example, such rules may be used on the phrase “The proud eagle sailed high in the sky” to reduce it to “The bird flew in the sky.” By repeating this process on the phrases of a document, a summary of the document may be generated automatically. 
         [0010]    As those skilled in the art will appreciate, the above-described potential applications are just two among many 
         [0011]    Thus, in one aspect, various implementations of the present technology provide a method for text processing, the method being executable at a computing device, the method comprising:
       appreciating a source phrase comprised of source words;   appreciating a target phrase comprised of target words;   associating a respective source word feature set with each one of the source words;   associating a respective target word feature set with each one of the target words;   analyzing the source word feature sets and the target word feature sets to determine a mapping from the source words to the target words; and   based on the mapping, generating one or more phrase transformation rules applicable to the source phrase to transform the source phrase into the target phrase.       
 
         [0018]    In some implementations, analyzing the source word feature sets and the target word feature sets to determine a mapping from the source words to the target words comprises determining a similarity of each one of the source word feature sets to each one of the target word feature sets. 
         [0019]    In some implementations, each one of the source word feature sets includes one or more grammatical features of the source word with which that source word feature set is associated; each one of the target word feature sets includes one or more grammatical features of the target word with which that target word feature set is associated; and determining the similarity of each one of the source word feature sets to each one of the target word feature sets comprises comparing the respective grammatical features of each one of the source words to the respective grammatical features of each one of the target words 
         [0020]    In some implementations, each one of the source word feature sets includes a meaning of the source word with which that source word feature set is associated; each one of the target word feature sets includes a meaning of the target word with which that target word feature set is associated; and determining the similarity of each one of the source word feature sets to each one of the target word feature sets comprises determining a similarity of the respective meaning of each one of the source words to the respective meaning of each one of the target words. 
         [0021]    In some implementations, analyzing the source word feature sets and the target word feature sets to determine a mapping from the source words to the target words further comprises selecting a most similar one of the target word feature sets to one of the source word feature sets; and generating the one or more phrase transformation rules applicable to the source phrase to transform the source phrase into the target phrase comprises generating a first phrase transformation rule applicable to the source phrase to transform a source word associated with the one of the source word feature sets into a target word associated with the most similar one of the target word feature sets. 
         [0022]    In some cases, the transformation rule may transform a form of a word without transforming its root. Thus, in some implementations, the source word associated with the one of the source word feature sets and the target word associated with the most similar one of the target word feature sets share a same root; and the first phrase transformation rule is applicable to the source phrase to modify a form of the source word to a form of the target word. 
         [0023]    In some implementations, generating the one or more phrase transformation rules applicable to the source phrase to transform the source phrase into the target phrase comprises generating a second phrase transformation rule applicable to the source phrase to delete at least one word from the source phrase. 
         [0024]    In some implementations, generating the one or more phrase transformation rules applicable to the source phrase to transform the source phrase into the target phrase comprises generating a third phrase transformation rule applicable to the source phrase to add at least one word to the source phrase. 
         [0025]    In some implementations, the one or more phrase transformation rules having been generated are then also applied to a text phase to generate a transformed text phrase. Thus, in some implementations, the method further comprises appreciating a text phrase; and applying the one or more phrase transformation rules to the text phrase to generate a transformed text phrase. The text phrase may be identical to the source phrase, or it may be different from but sufficiently similar to the source phrase for the phrase transformation rule to be applied. Thus, in some implementations, the text phrase differs from the source phrase, and the method further comprises, before applying the one or more phrase transformation rules to the text phrase, determining that a similarity of the text phrase to the source phrase is greater than a threshold. 
         [0026]    Some implementations of the present technology merely apply one ore more phrase transformation rules having been previously generated (e.g. by another computing device). Thus, in another aspect, various implementations of the present technology provide a method for text processing, the method being executable at a computing device comprising a memory, the memory storing one or more phrase transformation rules having been generated based on an analysis of feature sets including a source word feature set associated with a source word of a source phrase and a target word feature set associated with a target word of a target phrase, the method comprising:
       appreciating a text phrase;   determining that a similarity of the text phrase to the source phrase is greater than a threshold; and   applying the one or more phrase transformation rules to the text phrase to generate a transformed text phrase.       
 
         [0030]    The similarity of the text phrase to the source phrase may be assessed on the basis of a grammatical and/or semantic analysis. Thus, in some implementations of any one of the above aspects, determining that the similarity of the text phrase to the source phrase is greater than the threshold comprises performing at least one of a grammatical analysis and a semantic analysis of the text phrase and the source phrase. 
         [0031]    In another aspect, various implementations of the present technology provide a non-transitory computer-readable medium storing program instructions executable by one or more processors of one or more electronic devices to carry out one or more of the above-recited methods. Thus, various implementations provide a non-transitory computer-readable medium storing program instructions for text processing, the program instructions being executable by a computing device to effect:
       appreciation of a source phrase comprised of source words;   appreciation of a target phrase comprised of target words;   association of a respective source word feature set with each one of the source words;   association of a respective target word feature set with each one of the target words;   analysis of the source word feature sets and the target word feature sets to determine a mapping from the source words to the target words; and   based on the mapping, generation of one or more phrase transformation rules applicable to the source phrase to transform the source phrase into the target phrase.       
 
         [0038]    In another aspect, various implementations of the present technology provide a non-transitory computer-readable medium storing one or more phrase transformation rules and program instructions, the one or more phrase transformation rules having been generated based on an analysis of feature sets including a source word feature set associated with a source word of a source phrase and a target word feature set associated with a target word of a target phrase, the program instructions, the program instructions executable by a computing device to effect:
       appreciation of a text phrase;   determination that a similarity of the text phrase to the source phrase is greater than a threshold; and   application of the one or more phrase transformation rules to the text phrase to generate a transformed text phrase       
 
         [0042]    In the context of the present specification, unless expressly provided otherwise, a “computing device” comprises any hardware and/or software appropriate to the relevant task at hand. Thus, some non-limiting examples of computing devices include computer processors, computer systems (one or more servers, desktops, laptops, netbooks, etc.), smartphones, and tablets, as well as network equipment such as routers, switches, and gateways. 
         [0043]    In the context of the present specification, unless expressly provided otherwise, a first device should be understood to be “in communication with” a second device if each of the devices is capable of sending information to and receiving information from the other device, across any physical medium or combinations of physical media, at any distance, and at any speed. As a non-limiting example, two digital electronic device(s) may communicate over a computer network such as the Internet. As another non-limiting example, the devices may run on the same digital electronic hardware, in which case communication may occur by any means available on such digital electronic hardware, such as inter-process communication. 
         [0044]    In the context of the present specification, unless expressly provided otherwise, the expression “computer-readable medium” is intended to include media of any nature and kind whatsoever, non-limiting examples of which include RAM, ROM, disks (CD-ROMs, DVDs, floppy disks, hard disk drives, etc.), USB keys, flash memory cards, solid state-drives, and tape drives. 
         [0045]    In the context of the present specification, unless expressly provided otherwise, an “indication” of an information element may be the information element itself or a pointer, reference, link, or other indirect mechanism enabling the recipient of the indication to locate a network, memory, database, or other computer-readable medium location from which the information element may be retrieved. For example, an indication of a file could include the file itself (i.e. its contents), or it could be a unique file descriptor identifying the file with respect to a particular filesystem, or some other means of directing the recipient of the indication to a network location, memory address, database table, or other location where the file may be accessed. As one skilled in the art would recognize, the degree of precision required in such an indication depends on the extent of any prior understanding about the interpretation to be given to information being exchanged as between the sender and the recipient of the indication. For example, if it is understood prior to a communication between a sender and a recipient that an indication of an information element will take the form of a database key for an entry in a particular table of a predetermined database containing the information element, then the sending of the database key is all that is required to effectively convey the information element to the recipient, even though the information element itself was not transmitted as between the sender and the recipient of the indication. 
         [0046]    In the context of the present specification, unless expressly provided otherwise, the words “first”, “second”, “third”, etc. have been used as adjectives only for the purpose of allowing for distinction between the nouns that they modify from one another, and not for the purpose of describing any particular relationship between those nouns. Thus, for example, it should be understood that, the use of the terms “first server” and “third server” is not intended to imply any particular order, event type, chronology, hierarchy or ranking (for example) of/between the server, nor is their use (by itself) intended imply that any “second server” must necessarily exist in any given situation. Further, as is discussed herein in other contexts, reference to a “first” element and a “second” element does not preclude the two elements from being the same actual real-world element. Thus, for example, in some instances, a “first” server and a “second” server may be the same software and/or hardware, in other cases they may be different software and/or hardware. 
         [0047]    Implementations of the present technology each have at least one of the above-mentioned object and/or aspects, but do not necessarily have all of them. It should be understood that some aspects of the present technology that have resulted from attempting to attain the above-mentioned object may not satisfy this object and/or may satisfy other objects not specifically recited herein. 
         [0048]    Additional and/or alternative features, aspects and advantages of implementations of the present technology will become apparent from the following description, the accompanying drawings and the appended claims. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0049]    For a better understanding of the present technology, as well as other aspects and further features thereof, reference is made to the following description which is to be used in conjunction with the accompanying drawings, where: 
           [0050]      FIG. 1  is a diagram of a computer system suitable for implementing the present technology and/or being used in conjunction with implementations of the present technology; 
           [0051]      FIG. 2  is a block diagram of an exemplary implementation of the present technology; 
           [0052]      FIGS. 3A and 3B  are diagrams representing a source phrase and a target phrase for use with an exemplary implementation of the present technology; 
           [0053]      FIGS. 4A to 4D  are diagrams representing various words and features sets associated with those words according to an exemplary implementation of the present technology; 
           [0054]      FIG. 5  is a diagram representing a mapping from a source phrase to a target phrase according to an exemplary implementation of the present technology; and 
           [0055]      FIG. 6  is a flowchart illustrating the steps of a method implementation of the present technology. 
       
    
    
       [0056]    It should be noted that, unless otherwise explicitly specified, the drawings are not to scale. 
       DETAILED DESCRIPTION 
       [0057]    The examples and conditional language recited herein are principally intended to aid the reader in understanding the principles of the present technology and not to limit its scope to such specifically recited examples and conditions. It will be appreciated that those skilled in the art may devise various arrangements which, although not explicitly described or shown herein, nonetheless embody the principles of the present technology and are included within its spirit and scope. 
         [0058]    Furthermore, as an aid to understanding, the following description may describe relatively simplified implementations of the present technology. As persons skilled in the art would understand, various implementations of the present technology may be of a greater complexity. 
         [0059]    In some cases, examples of modifications to the present technology may also be set forth. This is done merely as an aid to understanding, and not to define the scope or bounds of the present technology. These modifications are not exhaustive, and a person skilled in the art may make other modifications while nonetheless remaining within the scope of the present technology. Further, where no example modifications of an element have been described, it should not be interpreted that no modifications to that element are possible, nor should it be interpreted that what is described is the sole manner of implementing that element of the present technology. 
         [0060]    Moreover, all statements herein reciting principles, aspects, and implementations of the technology, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof, whether they are currently known or developed in the future. Thus, for example, it will be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative circuitry embodying the principles of the present technology. Similarly, it will be appreciated that any flowcharts, flow diagrams, state transition diagrams, pseudo-code, and the like represent various processes which may be substantially represented in computer-readable media and so executed by a computer or processor, whether or not such computer or processor is explicitly shown. 
         [0061]    The functions of the various elements shown in the figures, including any functional block labeled as a “processor”, may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term “processor” or “controller” should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read-only memory (ROM) for storing software, random access memory (RAM), and non-volatile storage. Other hardware, conventional and/or custom, may also be included. 
         [0062]    Software modules, or simply modules which are implied to be software, may be represented herein as any combination of flowchart elements or other elements indicating performance of process steps and/or textual description. Such modules may be executed by hardware that is expressly or implicitly shown. 
         [0063]    With these fundamentals in place, we will now consider some non-limiting examples to illustrate various implementations of aspects of the present technology. 
         [0064]    Referring to  FIG. 1 , there is shown a computer system  100  suitable for use with some implementations of the present technology, the computer system  100  comprising various hardware components including one or more single or multi-core processors collectively represented by processor  110 , a solid-state drive  120 , a random access memory  130 , a display interface  140 , and an input/output interface  150 . Communication between the various components of the computer system  100  may be enabled by one or more internal and/or external buses  160  (e.g. a PCI bus, universal serial bus, IEEE 1394 “Firewire” bus, SCSI bus, Serial-ATA bus, etc.), to which the various hardware components are electronically coupled. 
         [0065]    The display interface  140  may be coupled to a monitor  142  (e.g. via an HDMI cable  144 ) visible to a user  170 , and the input/output interface  150  may be coupled to a keyboard  151  (e.g. via a USB cable  153 ) and a mouse  152  (e.g. via a USB cable  154 ), each of the keyboard  151  and the mouse  152  being operable by the user  170 . 
         [0066]    According to implementations of the present technology, the solid-state drive  120  stores program instructions suitable for being loaded into the random access memory  130  and executed by the processor  110  for text processing. For example, the program instructions may be part of a library or an application. 
         [0067]      FIG. 2  shows a block diagram of an exemplary implementation of the present technology comprising a word mapping module  230  and a rule generation module  250 . The word mapping module takes a source phrase  210  and a target phrase  220  as inputs and determines a mapping  240  from source words of the source phrase  210  to target words of the target phrase  220 . The rule generation module takes the mapping  240  as input and generates one or more phrase transformation rules  260  as output. 
         [0068]      FIG. 3A  shows an example of a source phrase  210 , “The proud eagle sailed high in the sky,” which is comprised of source words  211  to  218 .  FIG. 3B  shows an example of a target phrase  220 , “The bird flew in the sky,” comprised of target word  221  to  226 . 
         [0069]      FIG. 4A  shows a source word feature set in respect of the source word  213 , “eagle,” from the source phrase  210 , the source word feature set including grammatical features  213 - 1  and a meaning  213 - 2  of the source word  213 . The grammatical features  213 - 1  include a lexical category  213 - 1 A of the source word  213 , with a value of “noun” in this instance. The meaning  213 - 2  comprises one or more values encoding semantic properties of the source word  213 , such as a word vector generated by the well-known word2vec algorithm Similarly,  FIG. 4B  shows a target word feature set in respect of the target word  222 , “bird,” of the target phrase  220 , the target word feature set including grammatical features  222 - 1  and a meaning  222 - 2  of the target word  222 . The grammatical features  222 - 1  include a lexical category  222 - 1 A of the source word  222 , also having a value of “noun.” The meaning  222 - 2  comprises one or more values encoding semantic properties of the source word  222 , such as a word vector generated by the well-known word2vec algorithm In some implementations wherein the meaning  213 - 2  of the source word  213  and the meaning  222 - 2  of the target word  222  are represented as vectors, a distance between those vectors may be measured so as to determine a semantic similarity between the source word  213  and the target word  222 . 
         [0070]    Similarly,  FIG. 4C  shows a source word feature set in respect of the source word  214 , “sailed,” from the source phrase  210 , the source word feature set including grammatical features  214 - 1  and a meaning  214 - 2  of the source word  214 . The grammatical features  214 - 1  include a lexical category  214 - 1 A of the source word  214  (with a value of “verb”) and a verb tense  214 - 1 B (with a value of “past”). As above, the meaning  214 - 2  comprises one or more values encoding semantic properties of the source word  214 .  FIG. 4D  shows a target word feature set in respect of the target word  223 , “flew,” of the target phrase  220 , the target word feature set including grammatical features  223 - 1  and a meaning  223 - 2  of the target word  223 . The grammatical features  223 - 1  include a lexical category  223 - 1 A of the source word  223  (with a value of “verb”) and a verb tense  223 - 1 B (with a value of “past”). As described above, in some implementations, the meanings  214 - 2  and  223 - 2  are represented as vectors and a distance between them may be measured to determine a semantic similarity between the source word  214  and the target word  223 . 
         [0071]    In  FIG. 5 , there is shown a mapping  240  from the source words  211  to  218  of the source phrase  210  to the target words  221  to  226  of the target phrase  220 . The source word  211  (“the”) maps to the target word  221  (“the”), the source word  213  (“eagle”) maps to the target word  222  (“bird”), the source word  214  (“sailed”) maps to the target word  223  (“flew”), the source word  216  (“in”) maps to the target word  224  (“in”), the source word  217  (“the”) maps to the target word  225  (“the”), and the source word  218  (“sky”) maps to the target word  226  (“sky”). Notably, neither the source word  212  (“proud”) nor the source word  215  (“high”) maps to any of the target words  221  to  226 . Instead, the mapping  240  indicates that these source words  212  and  216  are to be discarded. The result is that the target phrase  220  has only six words, two less than the eight words of the source phrase  210 . 
         [0072]    Conversely, in other implementations (not shown), the mapping  240  may indicate that target words are to be added to the source phrase  210  to generate the target phrase  220 . This would be true, for example, in the case described above in the background, wherein the source phrase “The Tate Modern opened in 2000” is mapped to the target phrase “The Tate Modern opened in the year two thousand,” with the words “the year” being added to the source phrase to generate the target phrase. 
         [0073]      FIG. 6  shows a flowchart illustrating the steps of an exemplary method  300  implementing the present technology. The method  300  may be carried out, for example, by the processor  110  of the computer system  100  shown in  FIG. 1 . 
         [0074]    At step  310 , a source phrase  210  comprised of source words  211  to  218  is appreciated. As non-limiting examples, the source phrase  210  may be received from the user  170  of  FIG. 1 , who may type the source phrase  210  using the keyboard  151 , or the source phrase  210  may be received via a network interface of the computer system  100  (not depicted). 
         [0075]    At step  320 , a target phrase  220  comprised of target words  221  to  226  is appreciated. As non-limiting examples, the target phrase  220  may again be received from the user  170  via the keyboard  151  or via a network interface of the computer system  100  (not depicted). 
         [0076]    At step  330 , a respective source word feature set is associated with each one of the source words  211  to  218 . The source word feature set with which each one of the source words  211  to  218  may include one or more grammatical features (e.g.  213 - 1  of  FIG. 4A ) of that source word, a meaning (e.g.  213 - 2  of  FIG. 4A ) of that source word, and/or one or more other features (not depicted) of that source word. 
         [0077]    Step  330  may include determining the grammatical features of the source words  211  to  218  via a grammatical analysis of the source words  211  to  218 , which may further include an analysis of the context within which the source words  211  to  218  are employed (i.e. the source phrase  210  itself and, optionally, any further contextual text appearing before and/or after the source phrase  210  in a larger text, such as a document). 
         [0078]    Step  330  may include determining the meanings of the source words  211  to  218  via a semantic analysis of the source words  211  to  218  (e.g. via a known algorithm such as word2vec). 
         [0079]    At step  340 , a respective target word feature set is associated with each one of the target words  221  to  226 . The target word feature set with which each one of the target words  221  to  226  may include one or more grammatical features (e.g.  222 - 1  of  FIG. 4B ) of that target word, a meaning (e.g.  222 - 2  of  FIG. 4B ) of that target word, and/or one or more other features (not depicted) of that target word. 
         [0080]    Step  340  may include determining the grammatical features of the target words  221  to  226  via a grammatical analysis of the target words  221  to  226 , which may further include an analysis of the context within which the target words  221  to  226  are employed (i.e. the target phrase  210  itself and, optionally, any further contextual text appearing before and/or after the target phrase  210  in a larger text, such as a document). 
         [0081]    Step  340  may include determining the meanings of the target words  221  to  226  via a semantic analysis of the target words  221  to  226  (e.g. via a known algorithm such as word2vec). 
         [0082]    At step  350 , the source word feature sets and the target word features sets are analyzed to determine a mapping  240  from the source words (e.g.  211  to  218 ) of the source phrase  210  to the target words (e.g.  221  to  228 ) of the target phrase  220 . This may include determining a similarity of each one of the source word feature sets to each one of the target word feature sets. In implementations wherein the source word feature sets associated with the one or more of the source words (e.g.  211  to  218 ) include grammatical features of the source words, determining the similarity of the source word feature sets to the target word feature sets may include comparing the respective grammatical features of each one of the source words to the respective grammatical features of each one of the target words. In implementations wherein the source word feature sets associated with the one or more of the source words (e.g.  211  to  218 ) include meanings of the source words, determining the similarity of the source word feature sets to the target word feature sets may include determining a similarity of the respective meaning of each one of the source words to the respective meaning of each one of the target words. 
         [0083]    Step  350  may comprise selecting a most similar one of the target word feature sets associated with the target words (e.g.  221  to  226 ) of the target phrase  220  to one of the source word feature sets associated with a source word (e.g. one of  211  to  218 ) of the source phrase  210 . The most similar one of the target word feature sets may be one having the most similar grammatical features to those of the source word feature set, one having the most similar meaning to that of the source word feature set, one having a most similar other feature to that of the source word feature set, or one having a highest weighted average similarity of various features to those of the source word feature set. 
         [0084]    At step  360 , one or more phrase transformation rules  260  applicable to the source phrase  210  to transform the source phrase  210  into the target phrase  220  are generated based on the mapping  240 . For example, the mapping  240  depicted in  FIG. 5  may be analyzed to determine that, because the source word  212  (“proud”) does not map to any of the target words  221  to  226 , a phrase transformation rule for deleting the second word (e.g.  212 ) of the source phrase  210  should be generated. In other cases, such as the “Tate Modern” example, a phrase transformation rule for adding one or more words (e.g. “the year”) may be generated. 
         [0085]    In other cases (not depicted), one or more of the phrase transformation rules  260  generated may be applicable to transform a source word associated with the one of the source word feature sets into a target word associated with the most similar one of the target word feature sets. In some such cases, the source word and the target word into which the source word is to be transformed share a same root, and the phrase transformation rule merely changes a form of the source word to a form of the target word. For example, the verb tense of a source word “flying” may be changed to the verb tense of a target word “flew”. In some languages, such as Russian, nouns undergo transformations of form depending on the context within which they are employed (e.g. depending whether the noun is the subject or the object of an action). Phrase transformation rules  260  which modify the forms of source words to those of target words may therefore be useful for making structural changes to the source phrase  210  in order to transform it into the target phrase  220 . 
         [0086]    In some implementations, once the one or more phrase transformation rules  260  have been generated, they may be applied to a text phrase, which may or may not be identical to the source phrase  210  based on which the one or more phrase transformation rules  260  were generated. Various further implementations of the method  300  may therefore include steps of appreciating a text phrase (e.g. receiving a text phrase from the user  170  via the keyboard  151  or via a network interface of the computer system  100 ) and then applying the one or more phrase transformation rules  160  to the text phrase to generate a transformed text phrase. 
         [0087]    In such implementations wherein the text phrase is not identical to the source phrase  210 , the method  300  may further comprise determining that a similarity of the text phrase to the source phrase is greater than a threshold. For example, based on a semantic analysis, the phrase “The Tate Modern was opened to the public in 2000” may be deemed sufficiently similar to the source phrase “The Tate Modern opened in 2000” to apply the phrase transformation rule for adding “the year” before “2000” so as to generate the transformed text phrase “The Tate Modern was opened to the public in the year 2000.” 
         [0088]    Modifications and improvements to the above-described implementations of the present technology may become apparent to those skilled in the art. The foregoing description is intended to be exemplary rather than limiting. The scope of the present technology is therefore intended to be limited solely by the scope of the appended claims.