Generating homophonic neologisms6961695Abstract A homophonic neologisms generator can include a dictionary table (10) having one or more entries including an orthography and an associated pronunciation including one or more phonemes; and a weightings table (14) having one or more entries specifying a cluster including one or more letters, a cluster pronunciation including one or more phonemes, and a weighting for the pronunciation of the cluster. A user interface can receive a word for which neologisms can be generated. A clustering mechanism can divide the pronunciation into a plurality of phonemes having one or more orthographic representations. Each orthographic representation can include one or more graphemes. Orthographic representations of the pronunciation can be ordered according to the associated weightings of the cluster graphemes in the weightings table and the dictionary can be searched to check that a generated well-formed orthography does not exist. Claims 1. A homophonic neologisms generator comprising: Description CROSS-REFERENCE TO RELATED APPLICATIONS Referring now to FIG. 1, a dictionary of pronunciations 10 can include a list of words, each with a respective orthography and pronunciation key. The pronunciation key can include one or more phonemes for a word. In a first stage, the dictionary can be read and each word's orthography can be aligned with the corresponding phonemes as described in "Alignment of phonemes with their corresponding orthography", Computer Speech and Language (1986), using a table 12 containing clusters of letters (graphemes) and the sounds used when speaking the letters (phonemes). The table 12 can be constructed so that only strings of letters corresponding to single phonemes are held in the table. Thus, there is an entry for the string "augh" as it can be pronounced as a single phoneme that sounds like "or" as in the word "daughter". It should be noted that some strings of letters may be silent and so are represented by a silent phoneme in the table 12. Each word in the dictionary can be split into clusters of letters using the data contained in the correspondence table 12. All geminate consonant letters in a word can be converted into single letters. For example, the word "letter" is converted to "leter". A word can be scanned from left to right and a table look up can be performed to find the longest string of letters that has an entry in the correspondence table. There are a number of exceptions to this method. For example, in the word "being", the "e" can be separated from the "ing" despite the fact that there are instances of "ei" in the correspondence table. Another exception can be where three vowels appear together. The following vowel groupings can be split so that the first vowel forms a cluster and the last two vowels form a cluster—aoi, eoi, iao, iai, iau, ioi, oau, uia, uau, and uou. A more general example of clustering, however, can be the word "laugh". The word "laugh" can be successfully tested to determine if a grapheme exists in the table for "laugh", "laug", "lau", "la", and finally "l". A grapheme exists for "l" only and the entry for this pronunciation in the weightings table is incremented. "augh" is now tested and a grapheme represented by a single phoneme exists in the correspondence table. Accordingly, the entry for "augh" is incremented in the weightings table. Thus, laugh is broken into two clusters "l" and "augh". Having split the word into clusters, the sounds for each of the clusters can be assigned and a count of the correspondence can be saved in preparing the weightings table 14. The position of the cluster also can be noted. There are three notable positions for the cluster: initial, medial, and final. Thus, taking the grapheme "I", its number of occurrences in the dictionary at the start of a word where it is associated with a given phoneme can be counted and recorded in the weightings table. A similar determination can be performed for each pronunciation of "I" where "I" appears in medial and final clusters. The more often a grapheme is pronounced as a given phoneme, the heavier its weighting will be. FIG. 2 shows data for w, o, and z clusters. The table is arranged so that the clusters are the phonemes for the word "was" and the column of graphemes specifies a variety of letter clusters that can be spoken the same as the letters "w", "a" and "s" in the word "was". In the figure, the following conventions have been observed.
We can see that the phoneme "o" has 10 different letter combinations (graphemes), the most common of these being "o" as in "hot". When the complete dictionary has been read, the weightings table can be modified to add more cluster sounds even though they do not occur in the dictionary as ways in which a cluster can be pronounced. All additions can have reduced weightings as compared to those that occur in the dictionary. The following modifications can be made.
Homophonic Neologisms Generation. Through a front-end user interface, the end user can enter a word for which the user wants neologisms to be generated. The pronunciation for the word can be found in the dictionary and the pronunciation can be split into phonemes, each separated by a possible silent phoneme. In the example the word "was" was entered. The orthographic variants (clusters of graphemes) for each of the phonemes can be extracted from the weightings table and sorted into descending weighting order. A sample of the sorted weightings is shown in FIG. 3. FIG. 3 contains data for the input "woz" which is how the word "was" is spoken. Note that the orthographic variants are those pertaining to the position of the phoneme within the word wherein "w" is initial, "o" is medial, and "z" is final. The most likely new spelling for the word "was" will be the most common orthographic of "w" in an initial position, "o" in a medial position, and "z" in a final position. The next combination to be searched can use the second most common orthographic variant of "o" in the medial position, as the second most common orthographic variant of "w" and "z" in their respective positions are not as common. The ordering continues until the system arrives at the least common spelling of the phonemes in their respective positions. In the sorted extract from the sample weightings table there are 7 orthographic variants of "w", 10 orthographic variants for "o", 3 for "z", and no spellings for any silent phoneme. There are 210 possible new spellings for "was". This is a simple example. The problem to solve is how to generate new spellings so that the most likely ones are presented as the first in the list of generated neologisms and the least likely last, without generating all possible spellings. Using the sorted weightings table the most likely spelling can be constructed by using the first orthographic variant for each phoneme. For "woz" this is "_w_o_s_". The silence can be eliminated leaving a possible new spelling of "wos". A table of silent letters can be maintained so that silent letters can replace the silent phoneme provided the silent letters occur in other words between like sounds. In FIG. 3, in Entry 6, the graphemes "wh" appear yet the "h" is silent. During the data collection processing it was decided to leave "wh" as an orthographic variant for the phoneme "w" rather than have "h" as a silent letter. In the word "graham" the "h" is silent and in the weightings table the silent "h" would appear with a weighting based on how frequently a silent "h" occurs between the sounds of the first and second vowels in "graham". During the generation of neologisms for "graham", the sorted weightings table would have a grapheme of "h" associated with the silent phoneme inserted between the phonemes for the sounds of the two vowels in "graham". One of the neologisms generated from "graham" would be "grayhem". Before a search of the dictionary is made, a check can be made that the new spelling is well-formed, that is, that the new spelling conforms to the rules for syllabification having syllables that might begin with valid clusters of consonants followed by valid clusters of vowels and possibly terminated by a valid cluster of consonants. Exceptions can be made for spellings that can be constructed by substituting the sounds of letters and numbers with the graphemes for the letters and numbers. Thus the word "before" can be spelled "b4". Consonants may be doubled when following a stressed vowel. If an alternative spelling of 'better' is being sought, the pronunciation might be 'beta'. Because the 'e' is stressed, however, the neologism can be spelled 'betta' so as to distinguish it from the pronunciation of the second letter of the Greek alphabet. A search of the dictionary, using the spelling as the key, finds that the spelling "wos" is not in the dictionary. This spelling can be saved in the list of possible neologisms presented to the end user. The sorted extract of the weightings table can be used to find the next most likely spelling. The fifth entry contains "a" for the fourth phoneme. The spelling "was" is in the dictionary, so "was" can be discarded. The sixth entry contains "wh" pronounced as "w". There is no entry in the dictionary for the spelling "whas", so "whas" can be added to the list of neologisms. It will be seen that the homophonic neologism generator according to the invention may be implemented within a computer system in any number of ways. It can operate as a stand alone program wherein a user can input a single word through an entry field such that the invention can obtain a list of neologisms in order of probability within a scroll bar. The invention also can be incorporated into a system that transforms e-mail for presentation on a telephone display using Short Messaging Services or as a brainstorming tool when choosing names for companies and products. Another useful implementation can be a trademark searching tool to search on names which might be confused with the input word. The techniques disclosed herein also can be useful in any language understanding or processing facility where perhaps text abbreviation or expansion is being carried out.
|
Same subclass Same class Consider this |
||||||||||
