LINGUISTICALLY INTELLIGENT TEXT
The present application is a continuation of and claims priority of U.S. patent application Ser. No. 09/770,779, filed Jan. 26, 2001, the content of which is hereby incorporated by reference in its entirety.
BACKGROUND OF THE INVENTION
The present invention deals with messaging on devices with limited display space. More specifically, the present invention deals with compressing text, in a linguistically intelligent manner, such that it can be more easily displayed on small screens.
Messaging is widely available on current computer systems. Messages can be sent through voice mail, electronic mail (email), paging, and from other sources or means. Further, the messages from a variety of sources can be integrated and forwarded to a single device. For example, a user who is currently receiving messages at a computer or computer network through voice mail and electronic mail may forward those messages to a cellular phone equipped to receive such messages. However, the screen of a cellular phone has quite limited display space. This can present significant problems when trying to display messages.
For example, even very short electronic mail messages, or transcribed voice mail messages, can present text which is too voluminous to be viewed on a single screen of a cellular phone. This often requires the user to either decipher an entire message from the first few words of the message (since that is all that can be displayed), or to scroll down through many lines of text in order to read the entire message. Both approaches are cumbersome and can lead to errors.
While text compression has conventionally been used in many different contexts, the purpose of such compression has primarily been to enable efficient data storage of text. Such compression techniques are completely inapplicable to contexts in which the compressed text must be deciphered by humans.
SUMMARY OF THE INVENTION
A text processor processes text in a message. The text processor generates a plurality of compressed forms of components of the message. The processor performs a linguistic analysis on the body of text to obtain a linguistic output indicative of linguistic components of the body of text. The processor then generates the plurality of compressed forms that can be used to compress the body of text. The plurality of compressed forms are generated based on the linguistic output. The invention can be implemented as a method of generating the compressed forms and as an apparatus.
Another aspect of the invention includes a data structure generated based on the linguistic analysis of the text. The data structure includes a plurality of fields that contain attributes indicative of the plurality of compressed forms of portions of the body of text. The data structure can also include a compression type field indicative of a type of compression used to generate at least one of the attributes contained in the fields of the data structure.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of an embodiment in which the present invention may be used.
FIG. 2 is a block diagram of a message handler for performing linguistic analysis in accordance with one embodiment of the present invention.
FIG. 3 is a diagram of a portion of a syntax parse tree for an 5 exemplary sentence.
FIG. 4 is a flow diagram of the overall operation of the system shown in FIG. 2.
FIGS. 5A and 5B are more detailed flow diagrams illustrating the operation of the system shown in FIG. 2 in generic) ating compression options for terminal nodes (or words and punctuation) in a syntactic analysis.
DETAILED DESCRIPTION OF ILLUSTRATIVE
FIG. 1 illustrates an example of a suitable computing system environment 100 on which the invention may be implemented. The computing system environment 100 is only one example of a suitable computing environment and is not
20 intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should the computing environment 100 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment 100.
25 The invention is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to,
30 personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above
35 systems or devices, and the like.
The invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data struc
40 tures, etc. that perform particular tasks or implement particular abstract data types. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing envi
45 ronment, program modules may be located in both local and remote computer storage media including memory storage devices.
With reference to FIG. 1, an exemplary system for implementing the invention includes a general purpose computing
50 device in the form of a computer 110. Components of computer 110 may include, but are not limited to, a processing unit 120, a system memory 130, and a system bus 121 that couples various system components including the system memory to the processing unit 120. The system bus 121 may
55 be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. By way of example, andnot limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Archi
60 tecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus also known as Mezzanine bus.
Computer 110 typically includes a variety of computer
65 readable media. Computer readable media can be any available media that can be accessed by computer 110 and includes both volatile and nonvolatile media, removable and non-re